HK1181492A - Electronic message systems and methods - Google Patents
Electronic message systems and methods Download PDFInfo
- Publication number
- HK1181492A HK1181492A HK13108615.3A HK13108615A HK1181492A HK 1181492 A HK1181492 A HK 1181492A HK 13108615 A HK13108615 A HK 13108615A HK 1181492 A HK1181492 A HK 1181492A
- Authority
- HK
- Hong Kong
- Prior art keywords
- electronic message
- recipient
- electronic
- logic
- message
- Prior art date
Links
Description
Background
Businesses and individuals may establish multiple electronic mail (e-mail) accounts with different hosts or service providers.
Some conventional email interface systems may be configured for multiple email accounts. However, for each account, the user typically must enter a variety of information, such as login name, domain, input and output server names, port numbers, and security settings. This is time consuming and prone to error, and can be particularly challenging for less experienced users.
Businesses and individuals may receive a relatively large number of email messages in a given period of time and may find it difficult to efficiently sort the messages.
Conventional email systems provide relatively limited capabilities for pre-sorting email. Examples include a binary junk or spam file manager and tags based on user-specified attributes, such as sender email address or keywords.
While techniques for analyzing limited-feature emails can be found in publications, few, if any, techniques have been successfully implemented in email clients, and none teach a user-friendly email client to automatically discover account settings or organize emails in an intuitive manner based on a rich variety of features with little or no user input.
Disclosure of Invention
Methods and systems for discovering electronic message account settings are disclosed herein.
Also disclosed herein are methods and systems for analyzing and organizing electronic messages based on one or more of a variety of types of information and characteristics.
Drawings
FIG. 1 is a block diagram of an exemplary computer system configured as an electronic messaging client.
Fig. 2 is a block diagram of an electronic messaging environment 200.
Fig. 3 is a flow chart of a method 300 of electronic messaging.
In the drawings, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears.
Detailed Description
For purposes of illustration, features may be disclosed herein with reference to electronic mail (e-mail) messages and/or with respect to electronic mail messaging clients (referred to herein as Arcode electronic mail or Arcode) to organize electronic messages. Given that current email clients present simple message lists, Arcode can be implemented to automatically parse and tag messages and rank messages for relevance to provide richer presentation and search capabilities.
However, the features disclosed herein are not limited to email and/or email clients and may be implemented with respect to other forms of electronic messaging.
One or more features disclosed herein may be implemented separately and/or in various combinations with each other.
Label (R)
The Arcode may process the message similarly to an MP3 music file.
The Arcode may associate one or more tags with each message, and the tags may include and/or provide semantic information related to the message. Com, the shipping confirmation message from amazon may be tagged with a "type: online subscriptions "and" vendors: amazon ″. The Arcode may determine the tags using one or more techniques, which may include statistical machine learning techniques and/or parsers.
Statistical machine learning techniques can be implemented to aggregate similar messages and select representative phrases as tags.
The parser may be targeted to a particular type of machine-generated message, such as a merchant-specific shipping confirmation.
Correlation
The Arcode may estimate how important and/or timely the message is to the user or recipient. Whereas spam filtering is binary (messages are spam or not), the notion of relevance in Arcode implies a continuum. Intuitively, messages may be more or less relevant in the case of not spam.
The Arcode may be configured to examine combinations of features to ascertain message relevance. The combination of features may include one or more of:
sender and other recipients;
relationship(s) between sender and recipient in terms of "implied social graph(s)" that connect sender and/or recipient to parties with whom email was sent and/or received in the past;
other message headers;
the syntactic structure of the message;
the language of the message and/or the characters used in the message;
prior action(s) by the recipient in response to the similar message (e.g., delete, ignore, forward, reply, etc.) immediately; and
prior action(s) by other users in response to similar messages (i.e., crowd-sourced based actions: how one client uses this information may depend on the relationship(s) between users derived from the social graph (see use of implied social graphs below)).
Presenting
The Arcode may include a mix of web browsers and email clients, for example, to allow developers to extend Arcode with any HTML and/or JavaScript page that presents information pulled from tagged messages. For example, the extension may place the tab (tab) in a client User Interface (UI) that shows the user's online subscription history: everything the user has purchased online, and the status of each purchase.
The opcode UI can include a manipulable control. For example, the online order page may include a package tracking button for checking the status via a third party shipping site (e.g., UPS or FedEx website).
As additional examples, the tab presenter may be configured with respect to one or more of:
purchasing on line;
traveling;
inviting;
newsletter;
proposing/promoting;
a meeting to be held;
item XYZ;
billing/online payment;
banking/financial projects;
e-mail requiring response;
"breaking news": highly relevant information messages; and
"urgent": highly correlated messages requiring immediate action.
The presenter may combine the intelligent presentation of information in the user's inbox with collaborative editing of the shared network document. For example, a renderer of the "banquet invitation" may track the invitations in the user's inbox and may further allow the user to create a shared event invitation web page in a "first-class" manner that the Arcode user may manipulate (e.g., accept/decline the invitation). Recipients of emails linked to such collaboration objects using other email clients may receive "degraded" text-only versions to deliver content in a backwards-compatible manner. These users may be prompted to upgrade with the Arcode system.
Tabbed browsing of a renderer
The Arcode UI may include a set of user-selectable tabs, similar to browser tabs used for tabbed browsing. Each tab maintains a different view of the person's inbox. The Arcode UI may include a "classic View" tab for presenting messages as in a traditional email client. The UI may include a classic view tab by default and may allow the user to select one or more other tabs to include in the UI.
The opcode can combine the relatively powerful rendering technology available on public networks with the information present in the user's private message store.
Expandability; local computation
The Arcode may be configured to allow any extension that may be written in Python. This may allow developers and/or end users to write new code, for example, to parse and tag messages, affect relevance estimates, and/or present tagged local content. The Python environment may be hosted within a browser plug-in such that the corresponding computation is performed on the user's machine rather than at a remote server farm.
Use of implied social graphs
An "implied social graph" is a network of connections implied by recursively following links between people implied by sending and receiving emails. This is greater than the "degree of separation" between the sender and the receiver, and may be performed with respect to a relatively complete graph, and may include stored information about each link along the shortest path between the two.
The Arcode may be configured to use the implied social graph in one or more ways.
The implied social graph may be used in determining message relevance. For example, if a lower-degree-of-separation user has sent a mail to a particular person, the relevance of the message from that person may be considered relatively high. Likewise, if a similar message has been sent to a very large number of people tracked by the global graph data structure, the message may be considered to be of relatively low relevance.
The cueing social graph may be used to formalize specific intuitive concepts related to information dissemination. For example, under the assumption that people in close proximity to each other in the graph have more things in common conceptually, information learned from the user about how to tag or evaluate the relevance of the user's messages may be shared with other neighbors in the social graph.
Crowdsourcing message tagging
The Arcode may be configured to implement crowd-sourced tagging. Machine-generated messages (e.g., merchant confirmation messages) typically follow a relatively rigid structure. The Arcode may allow an end user or message recipient to tag portions of these messages with semantic information using a graphical user interface. For example, the user may highlight "$ 150.25" and tag it with "price". The user may then contribute the tags to a central repository for aggregation and sharing with others. Thus, Arcode may improve over time via its user's contribution, similar to Wikipedia. Crowd-sourced tagging may also allow for changes in the Arcode to adapt to messages that may not be accommodated with an existing tagger.
Hand-written label-tagging device
The Arcode may be configured to allow developers to write taggers, for example, in Python code. The tagger may be configured to run arbitrary computations and perform tasks, such as accessing network resources. For example, Amazon tagger may query Amazon web services to determine whether a particular string actually refers to a product sold on Amazon's site in order to help disambiguate the parsing of the message.
Automatic tagging of similar messages
The Arcode may be configured to allow an end user or message recipient to click on a message and select "tag the message automatically as one". The Arcode may also be configured to identify similar messages using machine learning aggregation, to present a list of identified messages using checkboxes, and to allow a user to select similar messages determined by the user. The Arcode may also be configured to allow a user to name or select tags to be applied to these messages. From this point on, Arcode will automatically apply the tag to messages that match the learned filter.
Integration of disparate message sources
Where the opcode is configured to operate under any extension (e.g., Python extension), messages from disparate sources, including different and/or new types of messages, can be incorporated within the UI. For example, an RSS subscription (feed) may be brought into the system and tagged, similar to an email message.
Automatic discovery of message account settings (e.g., Port and transport)
The opcode may include an account setup discovery process that may replace the multi-page communication account setup table with a table that requires relatively little information (e.g., user account ID and password). The user account ID may include, for example, a user email address or a user account login name. The optional form may allow a user with uncommon email settings to provide additional information or prompts. The Arcode setting discovery process uses the user ID and password to discover message settings for the user to send and receive electronic messages (e.g., emails). The information that the user puts into the simple form can also be entered via a program running from the terminal console.
The opcode set discovery process may include one or more of the following processes that may be performed for each account discovered: A) constructing a host list; and B) connecting with each host to determine the user's input and output email provider settings.
Construction of host lists
The base domain may be determined by the decode setup discovery process by parsing the email address entered by the user. For example, bobmail.aol.com is an example email address that can be resolved into a basic user name "bob" and a basic domain mail.aol.com. The base domain may be used to examine a database of known email providers (e.g., Gmail, Hotmail, AOL) indexed by domain schema. The database may be maintained within the Arcode source code. If the base domain matches the domain schema, a host list (and sometimes ports and other email settings) from the database entry may be added to the set of settings. The set of settings may be used to attempt to connect to the user's incoming and outgoing email servers. An example process of attempting a connection is described below.
If the base domain matches an entry in the database of a known email provider and an attempt to connect to the user's incoming and outgoing mail servers is successful, the discovery process may be complete.
Otherwise, the host list may be constructed by taking the base domain and constructing the host names using the super domain of the base domain and also the common prefix list. The list of common prefixes (e.g., imap. For example, if the basic domain is mail. Hostnames, e.g., imap.
Further, a DNS query can be constructed to find any MX records corresponding to the basic domain. The hosts in the MX record can be added to the host list. Any optional host hints specified by the user can be added to the host list. The host list can be shortened by uniting hosts that differ from each other only in number. This may help to reduce the number of connection attempts, which may shorten the discovery process. A DNS query may be performed on each host in the list of hosts.
In order to reduce or minimize the amount of time,
the discovery process may be configured with respect to a maximum number of queries and/or an overall timeout. This may reduce or minimize the amount of time for the discovery process.
Additionally, or alternatively, during the execution of the DNS query, a check may be performed such that each host and each IP is only attempted once.
It may be desirable to use the shortest possible host name. Thus, the list of host names may be sorted by length.
Interfacing with each host to determine user input and output email provider settings
The opcode set discovery process may determine the settings of the user's email provider by attempting to connect to a host name multiple times using a password provided by the user and a combination of different usernames, ports, and transmissions.
The possible usernames may include an email address and/or a base username resolved from the email address. For example, if the email address entered by the user is bobmail. Any optional user-provided username prompt may also be added to the username list. An optional user-provided username prompt may be useful, for example, where the username of the mail server is significantly different from the email address. The username list may be adjusted for email providers in the exception list created by the opcode set discovery process, for example, during design and testing.
The possible ports and transmissions may be constructed using a list compiled from internet Standards (RFCs) and/or other e-mail provider practices, and the possible server settings observed during the arc code setting discovery process design and testing. Any optional user-provided ports and transmissions may be added to the list, which may be assigned a higher priority on the list. When there are user-provided ports and transfers, other ports and transfers may be attempted unless email-specific options are disabled. The secure option may be assigned a higher priority on the list than the non-secure option.
Multiple connection attempts may be used to determine settings in a multi-threaded process. Multithreading may reduce the time required to determine or identify a suitable connection. Some email providers have safeguards that are triggered by parallel connection attempts. To overcome this, all connection attempts for a given host/port combination may be scheduled or assigned to the same thread.
The discovery process may include: a maximum number of simultaneous connection attempts is set. This may help to avoid overloading the remote server and/or trigger countermeasures against spam.
If the connection attempt is successful using a particular combination of username, port, and transport, the connection attempt may be stopped for any remaining combination. This may reduce the amount of time spent during the setup discovery process.
If the connection with the host is successful, additional commands may be attempted based on the connection. If the attach command is successful, the settings for that connection with the user's email provider may be saved for later use. For example, when the user subsequently logs in, the settings may be loaded from saved settings, rather than using setting discovery to load the settings.
The setup discovery process may be implemented for both input and output providers.
Crowd-sourced repository of set discovery results
When the Arcode settings discovery process determines the appropriate settings for the user's email provider, the Arcode client may copy the information and may clean up the data, for example, by removing information in the settings that could potentially identify the user. The cleaned copy of the data may be inserted into a crowd-sourced repository accessible by other Arcode email client systems.
The opcode set discovery process may be omitted if the user's email provider has been successfully discovered from a previous user session. Alternatively, the seed for the setup process may be determined using the results of the previous successful discovery process that were crowd-sourced into the Arcode setup repository. The use of crowd-sourced email settings may speed up the setting discovery process and may use less computing and network resources. The Arcode may be configured such that settings discovery uses a crowd-sourced repository instead of a database of known providers, or both. In the case where no entry is found in the crowd-sourced repository, the normal setup discovery process may be followed. In the case where information from the crowd-sourced repository is used but setup discovery is unsuccessful, normal setup discovery may be followed.
The crowdsourced repository may include a plurality of repositories. For a given user group, one of the crowd-sourced repositories may be designated as the master repository and the other repository may be designated as the replacement repository. This may be useful, for example, where the characteristics of individual user groups (e.g., company, community, country) cause particular crowd-sourced repositories to be more relevant and useful. This may also be useful, for example, to locate a given repository closer to a group of users (e.g., to locate a country-based repository adjacent to a corresponding country), which may reduce processing time, access time, and/or reliability.
The Arcode may be configured to bypass crowdsourcing of the setup discovery process, which may be useful, for example, where Arcode is used in an isolated environment (e.g., on a secure or isolated network).
The Arcode may be configured to allow an email provider to be activated only for specific settings to discover the repository. This may be useful, for example, to provide an administrator with control over email provider settings and/or to allow an administrator to control which email providers may be used. Such a central repository may provide administrators with greater control than if: in this case, the email settings are maintained within the Arcode client or in a file on the user system, for example, to update email provider setting information and/or provide additional enterprise-level security.
Additional optional features to set up discovery repositories
The crowdsourcing settings discovery repository may utilize feedback from unsuccessful results obtained by the opcode settings discovery attempt. For example, if the Arcode settings discovery process attempts to use settings from the Arcode repository but cannot connect, the maintenance process may consider failures and may determine whether to remove the email provider's settings from the crowd-sourced repository. This may be useful, for example, to prevent the Arcode setting discovery process from taking unnecessary time in subsequent attempts using settings from the repository. The determination of whether to remove the data after failure may take into account various factors, such as the number of successful and unsuccessful attempts by the decode setting discovery process, the total number of attempts, and/or the amount of time that has elapsed between successful and/or unsuccessful attempts. This may be useful, for example, to avoid a relatively small number of unsuccessful attempts to remove an email provider setup entry from the repository that has been used successfully for other attempts.
The crowdsourcing settings discover a specialized copy of the repository can be used as a utility for the system administrator. This may be useful, for example, for administrators who have to deal with a relatively large number of email servers. For example, a specialized copy of the repository may be used for compliance purposes, such as in the case where an entity is to be responsible for each email system and the settings of those email servers. In this case, the crowdsourcing repository may be configured with the Arcode to store additional information related to individual users. This may be used to assist in user email management.
Appending optional electronic message system features
The opcode may be configured to provide one or more of the following features:
mail on a converged account (e.g., "meta inbox");
e-mail summary: generating better subject lines or summaries;
"automatically discard messages from the sender and the like";
promoting the public text entity to a controllable HTML in a message view; for example, if we identify an address, a link may be added that maps the address (or indeed the mapping is included in the HTML message display);
delegation/sharing permissions (e.g., an executive assistant can read/write mail on behalf of the executive, spouses can share billing information);
content aware email searches (e.g., via Multipurpose Internet Mail Extensions (MIME) types (video, pdf, word documents, etc.), e.g., Franks phone numbers or addresses, attachments sent by Joe);
in conjunction with other messaging sources (e.g., RSS/Atom subscriptions, instant messaging, Internet relay chat, XMPP, Jabber, Google Wave); and
privacy/confidentiality tools.
The privacy/confidentiality tool may be configured to provide warnings related to poor CCs (e.g., do you really represent CC Walt Mossberg at WSJ or do you office partner Walt Mossberg.
The privacy/confidentiality tool may be configured to provide automatic signing of all outgoing mail (so that the opcode user can be confident of the true identity of the sender).
The privacy/confidentiality tool may be configured to enforce corporate policies via a per-document DRM-like mechanism (e.g., confidential documents cannot be mailed outside the corporation).
The privacy/confidentiality tool may be configured to provide company-wide outgoing mail analysis (e.g., is an employee sending out poor or confidential material.
One or more features disclosed herein may be implemented in hardware, software, firmware, and combinations thereof, including discrete and integrated circuit logic, Application Specific Integrated Circuit (ASIC) logic, and microcontrollers, and may be implemented as part of a domain specific integrated circuit package, or a combination of integrated circuit packages. The term software, as used herein, refers to a computer program product comprising a computer readable medium having computer program logic stored therein for causing a computer system to perform one or more features and/or combinations of features disclosed herein.
FIG. 1 is a block diagram of an example computer system 100 configured as an electronic messaging client.
The computer system 100 includes one or more computer instruction processing units, here illustrated as a processor 102, for executing computer program product logic, also referred to as instructions, code, and software.
The computer system 100 includes one or more of a memory, cache, registers, and storage (memory/storage) 104, which includes a computer-readable medium having stored thereon computer program product logic or instructions 106 for causing the processor 102 to perform one or more functions in response thereto.
The memory/storage 104 also includes data 108 to be used by the processor 102 in executing the instructions 106 and/or generated by the processor 102 in response to execution of the instructions 106.
In fig. 1, logic 106 includes client logic 110 to cause processor 102 to process electronic messages, such as described in one or more examples above.
The logic 110 may include message tagging and relevance estimation logic 112 to cause the processor 102 to tag messages and determine message relevance, such as described in one or more examples above.
Logic 112 may include a handwriting parser to tag messages generated from templates.
Logic 112 may include logic to identify and tag messages that are similar to each other with a common tag.
Logic 112 may include logic to enable client-side crowd-sourced tagging of messages. The servers may include corresponding server-side crowd-sourced tagging logic.
Logic 112 may include aggregation logic to implement one or more aggregation techniques to aggregate messages. The aggregation logic may be configured to provide one or more of syntactic parsing, named entity and acronym recognition, opinion analysis, and semantic role analysis.
Logic 112 may include logic for utilizing a cued social graph, such as described in one or more examples above.
Logic 110 may include User Interface (UI) logic 114 to cause processor 102 to provide an interactive user interface of a web page class based at least in part on the message metadata, such as described in one or more examples above.
Logic 114 may include logic for aggregating sets of UIs in a tab view, such as described above.
Logic 110 may include host logic 116 to cause processor 102 to host a user programmable messaging client. Host logic 116 may include a browser plug-in and/or an application shell (shell) for hosting a messaging client. The host logic 116 may comprise a Python scalable dense client hosting system.
Logic 110 may include propagation logic 118 to cause processor 102 to propagate information between messaging clients using the implied messaging social graph.
Logic 118 may include relevance logic to perform actions with respect to a recipient message based at least in part on actions taken by another recipient of the message (e.g., if user a deletes message M immediately, user B may not be concerned about it even if a is close to B in the social graph).
Logic 118 may include logic to share learned tagging behavior among clients (e.g., if a client of one user already knows how to tag a set of messages, a client of another user may benefit from this). Control for protecting confidential information can be realized.
Logic 110 may include content-aware message search logic 118 to cause processor 102 to search a repository of messages based on content (e.g., by MIME type).
Logic 110 may include auto discovery logic 120 to cause processor 102 to discover email account settings, such as described in one or more examples above.
Logic 110 may include summary logic 122 to cause processor 102 to generate and display more detailed and/or user-related email summaries.
Computer system 100 may include a communication infrastructure 140 for communicating between components of computer system 100.
Computer system 100 may include an input/output controller 142 for communicating with one or more other systems over a communication channel or link, which may include an internet communication link.
One or more of the features illustrated in fig. 1 and/or described with respect to fig. 1 may be implemented separately and/or in various combinations with each other.
Fig. 2 is a block diagram of an electronic messaging environment 200, the electronic messaging environment 200 including a plurality of communication devices 202-218, each configured as an opcode messaging client, such as described in one or more examples above.
The environment 200 may include an Arcode server system 220 for implementing one or more features among the plurality of devices 202 through 218, such as described in one or more examples above.
The devices 202-218 may be configured to send and receive messages between each other and/or between other devices connected through the internet 222.
Fig. 3 is a flow chart of a method 300 of electronic messaging. One or more of the features illustrated in fig. 3 and/or described with respect to fig. 3 may be implemented separately and/or in various combinations with each other. One or more features illustrated in fig. 3 and/or described with respect to fig. 3 may be implemented within a device (e.g., a computer system) and may be implemented in multiple systems, in a distributed fashion.
At 302, account settings are discovered based on the user account ID and password. The user account ID may include an email address, such as described in one or more examples above.
The discovery of account settings may include: at 304, the username and domain are resolved from the user account ID, such as described in one or more examples above.
The discovery of account settings may include: at 306, a list of hosts is constructed from the resolved domain and an attempt is made to access the listed hosts, such as described in one or more examples above.
The discovery of account settings may include: at 308, one or more repositories are used, such as described in one or more examples above.
At 310, the electronic messaging account may be accessed using the account settings discovered at 302.
At 312, the electronic message is analyzed. The analysis may be performed with respect to historical messages and/or dynamically with respect to incoming and/or outgoing electronic messages. The analysis may include one or more of the analysis techniques disclosed herein, some of which are shown in fig. 3 for illustrative purposes.
At 314, one or more recipient-specific tasks may be performed based on the analysis performed at 312. The one or more tasks may include message-specific tasks and/or multiple message-based tasks.
The one or more tasks may include one or more tasks disclosed herein, a portion of which are illustrated in fig. 3 for illustrative purposes.
The one or more tasks may include: tagging at 316, which may be performed based on one or more analyses performed at 312, such as described in one or more examples above.
Tagging at 316 may include crowd sourcing tagging and/or aggregate tagging, such as described in one or more examples above.
The one or more tasks may include: at 318, information is organized in a plurality of recipient-specific organizations; and at 320, displaying a plurality of organizations of information in a tabbed browser format, such as described in one or more examples above.
Methods and systems are disclosed herein with the aid of functional building blocks that illustrate functions, features, and relationships thereof. At least some of the boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed.
While various embodiments are disclosed herein, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the methods and systems disclosed herein. Thus, the breadth and scope of the claims should not be limited by any of the example embodiments disclosed herein.
Claims (81)
1. A computer-implemented method, comprising:
electronic message account settings are discovered based on a user account Identification (ID) and a corresponding user password.
2. The method of claim 1, wherein the user account ID comprises an electronic mail (e-mail) address.
3. The method of claim 1, wherein the user account ID comprises a user login name.
4. The method of claim 1, wherein discovering comprises:
resolving a user name and a domain from the user account ID;
constructing a list of electronic message hosts from the parsed domain;
attempting to establish a connection with one or more of the hosts using one or more combinations of usernames, ports, and transmissions;
when the corresponding attempt to establish a connection is successful, a combination of username, port, and transport is identified.
5. The method of claim 4, wherein attempting to establish a connection comprises:
one or more combinations of ports and transfers from the list of ports and transfers are used.
6. The method of claim 5, further comprising:
the list of ports and transfers is populated with the previously encountered ports and transfers.
7. The method of claim 5, further comprising:
the list of ports and transfers is populated with ports and transfers associated with one or more hosts.
8. The method of claim 4, wherein attempting to establish a connection comprises:
one or more combinations of ports and transmissions of the subscriber identity are used to attempt to establish the connection.
9. The method of claim 4, further comprising:
generating a plurality of potential usernames from one or more of the parsed usernames and additional username-related information associated with the user;
wherein attempting to establish the connection comprises: attempting to establish a connection using one or more combinations of the plurality of potential usernames.
10. The method of claim 4, further comprising:
attempting one or more additional commands to the host when the corresponding attempt to establish the connection is successful; and
when the corresponding attempt to establish the connection and the corresponding one or more additional commands are successful, a combination of the username, port, and transport is associated with the electronic message account.
11. The method of claim 4, further comprising:
discovery is performed in a multi-threaded processing environment, including handling connection attempts to a particular host within one of the threads.
12. The method of claim 11, further comprising:
the simultaneous connection attempts are limited to a predetermined maximum number of simultaneous connection attempts.
13. The method of claim 1, further comprising:
maintaining a repository of electronic message account settings in a repository computer system;
wherein the discovery comprises: when electronic message account settings are available in the repository, electronic message account settings are selected from the repository for each of the plurality of users.
14. The method of claim 13, further comprising:
electronic message account settings discovered on behalf of the user are added to the repository.
15. The method of claim 13, wherein:
maintaining a repository includes maintaining a plurality of repositories of electronic message account settings; and
the discovery includes selecting electronic message account settings from one or more of the repositories for each of the plurality of users when the electronic message account settings are available in one or more of the repositories.
16. The method of claim 15, wherein maintaining a plurality of repositories includes:
designating a first one of the repositories as a master repository for the entity based on one or more repository-specific features; and
designating a second one of the repositories as a replacement repository;
wherein the discovery comprises: selecting electronic message account settings from the master repository when the electronic message account settings are available in the master repository in relation to a user associated with the entity; and selecting electronic message account settings from the alternate repository in relation to the user when electronic message account settings are not available in the master repository.
17. The method of claim 13, further comprising:
the client-side electronic message computer system is configured to connect only with electronic message servers for which electronic message accounts are set available in the repository.
18. The method of claim 13, further comprising:
disabling electronic message account settings is selectively determined in the repository computer system in response to one or more failures with respect to electronic message account settings connecting to a corresponding electronic message server.
19. The method of claim 13, further comprising:
information associated with the user for which the electronic message account settings were determined is stored in a repository computer system.
20. The method of claim 1, further comprising:
analyzing the electronic message with respect to one or more characteristics associated with the electronic message; and
based on the results of the analysis, one or more recipient-specific tasks are performed with respect to the electronic message.
21. An apparatus, comprising:
a system for discovering electronic message account settings based on a user account Identification (ID) and a corresponding user password.
22. A computer program product comprising a computer readable medium having computer program logic stored therein, wherein the computer program logic comprises:
logic for causing a processor to discover electronic message account settings based on a user account Identification (ID) and a corresponding user password.
23. A computer-implemented method, comprising:
analyzing the electronic message with respect to one or more characteristics associated with the electronic message; and
based on the results of the analysis, one or more recipient-specific tasks are performed with respect to the electronic message.
24. The method of claim 23, wherein:
analyzing includes identifying the electronic message as an electronic message corresponding to the parser template; and
execution includes parsing the identified electronic message according to the parser template.
25. The method of claim 24, wherein performing further comprises:
a descriptive tag associated with the resolver is assigned to the identified electronic message.
26. The method of claim 25, wherein performing further comprises:
information parsed from the electronic message is displayed within the tabbed browser.
27. The method of claim 23, wherein performing comprises:
based on the one or more characteristics, a descriptive tag is associated with the electronic message.
28. The method of claim 27, wherein associating descriptive tags comprises:
the descriptive tags are associated based at least in part on a crowd-sourced tagging rule.
29. The method of claim 27, wherein associating descriptive tags comprises:
aggregating the electronic messages based on the one or more characteristics; and
a descriptive tag is associated with the aggregation of electronic messages.
30. The method of claim 29, wherein associating a descriptive tag with an aggregation of electronic messages comprises:
associating the tag of the user identification with the electronic message of the user identification;
identifying characteristics of the electronic message of the user identification; and
the tag of the user identification is associated with other electronic messages having similar characteristics to those of the electronic message of the user identification.
31. The method of claim 23, wherein performing comprises:
a relevance of the electronic message is determined with respect to a recipient of the electronic message.
32. The method of claim 31, wherein determining a correlation comprises:
the electronic message is analyzed with respect to suggesting a social graph.
33. The method of claim 23, wherein analyzing comprises one or more of:
parsing syntactic features associated with the electronic message;
identifying a named entity associated with the electronic message;
identifying an acronym associated with the electronic message;
analyzing opinions expressed within the electronic message;
analyzing semantic effects associated with the electronic message; and
analysis is made with respect to implied social graphs.
34. The method of claim 33, wherein performing comprises one or more of:
associating a descriptive tag with the electronic message based on the results of the analysis; and
a relevance of the electronic message is determined with respect to a recipient of the electronic message.
35. The method of claim 23, wherein performing comprises:
an interactive user interface of the web page class is generated based at least in part on metadata associated with the electronic message.
36. The method of claim 35, wherein performing further comprises:
an interactive user interface for a plurality of classes of web pages is aggregated in a tab view.
37. The method of claim 23, further comprising:
hosting a user-programmable electronic messaging client; and
performing the analysis and the performing within a hosted user-programmable electronic messaging client.
38. The method of claim 37, wherein hosting comprises:
hosting a Python scalable dense client electronic messaging system.
39. The method of claim 37, wherein hosting comprises one or more of:
using a browser plug-in; and
an application shell is used.
40. The method of claim 23, wherein performing comprises:
a recipient-specific task is performed with respect to an electronic message based on a combination of a task performed by another recipient of the electronic message and an implied social graph relationship between the recipient and the other recipient.
41. The method of claim 40, wherein performing further comprises:
performing a task performed by the other recipient when the recipient and the other recipient are relatively close within the implied social graph.
42. The method of claim 23, wherein performing comprises:
the electronic message is searched based at least in part on one or more characteristics associated with the electronic message.
43. The method of claim 42, wherein searching comprises:
the electronic message is searched based on a file name extension type associated with an attachment to the electronic message.
44. The method of claim 42, wherein searching comprises:
the electronic message is searched based on the tagged information within the electronic message.
45. The method of claim 23, further comprising:
electronic message account settings are discovered based on the user electronic message address and the corresponding user password.
46. An apparatus, comprising:
a system for analyzing an electronic message with respect to one or more characteristics associated with the electronic message; and
one or more additional systems for performing one or more recipient-specific tasks with respect to the electronic message based on the results of the analysis.
47. A computer program product comprising a computer readable medium having computer program logic stored therein, wherein the computer program logic comprises:
analyzer logic to cause the one or more processors to analyze the electronic message with respect to one or more characteristics associated with the electronic message; and
one or more additional logic modules to cause the one or more processors to perform one or more recipient-specific tasks with respect to the electronic message based on the results of the analysis.
48. A computer-implemented method, comprising:
identifying a sender and a recipient of a first electronic message; and
determining a relevance of the first electronic message with respect to the recipient according to at least one of:
suggesting a distance between the sender and the recipient within the social interaction;
a syntax structure of the first electronic message;
metadata associated with the first electronic message;
a language used in the first electronic message;
a character set used in the first electronic message;
the quality of the relationship between the sender and the recipient;
an action taken by the recipient with respect to a second electronic message for which one or more characteristics are similar to one or more corresponding characteristics of the first electronic message; and
an action taken by another recipient with respect to a third electronic message for which one or more characteristics are similar to one or more corresponding characteristics of the first electronic message.
49. The method of claim 48, wherein determining a correlation comprises:
determining a correlation based at least in part on the distance.
50. The method of claim 48, wherein determining a correlation comprises:
determining a relevance based at least in part on the syntax structure.
51. The method of claim 48, wherein determining a correlation comprises:
determining a relevance based at least in part on the metadata.
52. The method of claim 48, wherein determining a correlation comprises:
determining a relevance based at least in part on the language.
53. The method of claim 48, wherein determining a correlation comprises:
determining a relevance based at least in part on the set of characters.
54. The method of claim 48, wherein determining a correlation comprises:
determining a relevance based at least in part on a quality of the relationship.
55. The method of claim 48, wherein determining a correlation comprises:
determining a relevance based at least in part on an action taken by the recipient.
56. The method of claim 48, wherein determining a correlation comprises:
determining a relevance based at least in part on an action taken by the other recipient.
57. The method of claim 48, wherein determining a correlation comprises:
determining a correlation based on a combination of:
the distance;
the syntax structure;
the metadata;
the language;
the character set;
the quality of the relationship;
an action taken by the recipient;
an action taken by the other recipient.
58. The method of claim 48, further comprising:
determining similarity between electronic messages based on one or more of:
a distance between a sender and a recipient of the corresponding electronic message;
a syntactic structure of the electronic message;
metadata associated with the electronic message;
a language used in the electronic message;
a character set for use in an electronic message; and
corresponding to the quality of the relationship between the sender and the recipient of the electronic message.
59. An apparatus, comprising:
a system for identifying a sender and a recipient of a first electronic message; and
a system for determining a relevance of a first electronic message with respect to a recipient based on at least one of:
suggesting a distance between the sender and the recipient within the social interaction;
a syntax structure of the first electronic message;
metadata associated with the first electronic message;
a language used in the first electronic message;
a character set used in the first electronic message;
the quality of the relationship between the sender and the recipient;
an action taken by the recipient with respect to a second electronic message for which one or more characteristics are similar to one or more corresponding characteristics of the first electronic message; and
an action taken by another recipient with respect to a third electronic message for which one or more characteristics are similar to one or more corresponding characteristics of the first electronic message.
60. A computer program product comprising a computer readable medium having computer program logic stored therein, wherein the computer program logic comprises:
logic for causing one or more processors to identify a sender and a recipient of a first electronic message; and
logic for causing the one or more processors to determine a relevance of the first electronic message with respect to the recipient based on at least one of:
suggesting a distance between the sender and the recipient within the social interaction;
a syntax structure of the first electronic message;
metadata associated with the first electronic message;
a language used in the first electronic message;
a character set used in the first electronic message;
the quality of the relationship between the sender and the recipient;
an action taken by the recipient with respect to a second electronic message for which one or more characteristics are similar to one or more corresponding characteristics of the first electronic message; and
an action taken by another recipient with respect to a third electronic message for which one or more characteristics are similar to one or more corresponding characteristics of the first electronic message.
61. A computer-implemented method, comprising:
parsing information from a first electronic message directed to a first recipient;
assigning a meaning to the first electronic message based on the parsed information;
identifying a second electronic message directed to and tagged by a second recipient; and
the tag of the first electronic message is defined based on a combination of the meaning of the first electronic message, the tag assigned to the second electronic message, and the relationship between the first and second recipients.
62. The method of claim 61, wherein resolving comprises:
the information is parsed from the body of the electronic message and metadata associated with the electronic message.
63. The method of claim 61, further comprising:
with respect to the implied social graph, a relationship between the first and second recipients is determined.
64. An apparatus, comprising:
a parsing system for parsing information from a first electronic message directed to a first recipient;
a system for assigning a meaning to the first electronic message based on the parsed information;
a system for identifying a second electronic message directed to and tagged by a second recipient; and
a system for defining a tag for a first electronic message based on a combination of a meaning of the first electronic message, a tag assigned to a second electronic message, and a relationship between the first and second recipients.
65. The device of claim 64, wherein the parsing system is configured to parse information from a body of the electronic message and metadata associated with the electronic message.
66. The apparatus of claim 64, further comprising:
a system for determining a relationship between a first and a second recipient with respect to a cued social graph.
67. A computer program product comprising a computer readable medium having computer program logic stored therein, wherein the computer program logic comprises:
parsing logic for causing one or more processors to parse information from a first electronic message directed to a first recipient;
logic for causing the one or more processors to assign a meaning to a first electronic message based on the parsed information;
logic for causing the one or more processors to identify a second electronic message directed to and tagged by a second recipient; and
logic for defining a tag for a first electronic message based on a combination of a meaning of the first electronic message, a tag assigned to a second electronic message, and a relationship between the first and second recipients.
68. The computer program product of claim 67, wherein the parsing logic comprises logic to cause the one or more processors to parse information from a body of an electronic message and metadata associated with the electronic message.
69. The computer program product of claim 67, further comprising:
logic for causing the one or more processors to determine a relationship between the first and second recipients with respect to the implied social graph.
70. A computer-implemented method, comprising:
reading metadata associated with each of a plurality of electronic messages;
organizing the electronic message into a first organization based on the metadata and the content of the message; and
according to a first organization, a first body of information associated with an electronic message is presented via a graphical user interface.
71. The method of claim 70, further comprising:
organizing the electronic message into a second organization based on the metadata and the content of the electronic message; and
according to a second organization, a second body of information associated with the electronic message is presented via the graphical user interface.
72. The method of claim 71, further comprising:
the first and second bodies of information are presented under corresponding first and second tabs of the graphical user interface.
73. A client messaging device, comprising:
a system for reading metadata associated with each of a plurality of electronic messages;
a system for organizing electronic messages into a first organization based on the metadata and the content of the messages; and
a system for presenting, via a graphical user interface, a first body of information associated with an electronic message in accordance with a first organization.
74. The apparatus of claim 73, further comprising:
a system for organizing the electronic message into a second organization based on the metadata and the content of the electronic message; and
a system for presenting, via a graphical user interface, a second body of information associated with an electronic message in accordance with a second organization.
75. The device of claim 74, wherein each of the systems for presenting the first and second bodies of information is configured to: the first and second bodies of information are presented under corresponding first and second tabs of the graphical user interface.
76. A computer program product comprising a computer readable medium having computer program logic stored therein, wherein the computer program logic comprises:
logic for causing one or more processors to read metadata associated with each of a plurality of electronic messages;
logic for causing the one or more processors to organize the electronic message into a first organization based on the metadata and content of the message; and
first display logic to cause the one or more processors to present, via a graphical user interface, a first body of information associated with an electronic message according to a first organization.
77. The computer program product of claim 76, further comprising:
logic for causing the one or more processors to organize the electronic message into a second organization based on the metadata and the content of the electronic message; and
second display logic to cause the one or more processors to present, via the graphical user interface, a second body of information associated with the electronic message according to a second organization.
78. The computer program product of claim 77, wherein each of the first and second display logic comprises: logic for causing the one or more processors to present the first and second bodies of information under corresponding first and second tabs of a graphical user interface.
79. A computer-implemented method, comprising:
reading a plurality of electronic messages, including reading one or more of a message body, metadata, attachments, and previously assigned tags;
applying a query to the plurality of electronic messages, wherein the query includes a literal portion and a reference to an unknown expected portion associated with the literal portion;
identifying a set of electronic messages that include references to the literal portion;
identifying a subset of a set of electronic messages that include the desired portion; and
information is retrieved from a subset of the electronic messages that satisfy the query.
80. An apparatus, comprising:
a system for reading a plurality of electronic messages, reading the plurality of electronic messages comprising: reading one or more of a message body, metadata, an attachment, and a previously assigned tag;
a system for applying a query to the plurality of electronic messages, wherein the query includes a literal portion and a reference to an unknown expected portion associated with the literal portion;
a system for identifying a set of electronic messages that include references to the literal portion;
a system for identifying a subset of a set of electronic messages that include the desired portion; and
a system for retrieving information from a subset of electronic messages that satisfy the query.
81. A computer program product comprising a computer readable medium having computer program logic stored therein, wherein the computer program logic comprises:
logic for causing one or more processors to read a plurality of electronic messages, the reading of the plurality of electronic messages comprising: reading one or more of a message body, metadata, an attachment, and a previously assigned tag;
logic for causing the one or more processors to apply a query to the plurality of electronic messages, wherein the query comprises a literal portion and a reference to an unknown expected portion associated with the literal portion;
logic for causing the one or more processors to identify a set of electronic messages that include a reference to the literal portion;
logic for causing the one or more processors to identify a subset of a set of electronic messages that include the desired portion; and
logic for causing the one or more processors to retrieve information from a subset of electronic messages that satisfy the query.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US61/301188 | 2010-02-03 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1181492A true HK1181492A (en) | 2013-11-08 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9600806B2 (en) | Electronic message systems and methods | |
| US11416676B2 (en) | Using text messages to interact with spreadsheets | |
| JP5208358B2 (en) | Method, system, and apparatus for generating a knowledge exchange profile | |
| CN100530177C (en) | Method, system, and apparatus for receiving and responding to knowledge interchange queries | |
| US8499041B2 (en) | Collaborative browsing and related methods and systems | |
| US9898743B2 (en) | Systems and methods for automatic generation of a relationship management system | |
| US8977698B2 (en) | Tagging content within a networking environment based upon recipients receiving the content | |
| US20130054707A1 (en) | Online monitoring for customer service | |
| US20120215865A1 (en) | Method and system for interconnecting social networks | |
| US9961032B2 (en) | Extended email functionality | |
| US9929996B2 (en) | Common email database for a plurality of users | |
| US7587678B1 (en) | Email-based customer support management system | |
| US9123021B2 (en) | Searching linked content using an external search system | |
| CN109074399B (en) | Personalized content suggestions in computer networks | |
| US8854372B2 (en) | Consolidation and visualization of a set of raw data corresponding to a communication between a person of interest and a correspondent across a plurality of mediums of communication | |
| US20170193051A1 (en) | Systems and methods for automatic archiving, sorting, and/or indexing of secondary message content | |
| US20240129264A1 (en) | Managing digital message transmission via a proxy digital mailbox | |
| US9391942B2 (en) | Symbolic variables within email addresses | |
| HK1181492A (en) | Electronic message systems and methods | |
| US10200324B2 (en) | Dynamically partitioning a mailing list based on a-priori categories and contextual analysis | |
| US20240129269A1 (en) | Digital message management for a shared digital mailbox | |
| WO2024081104A1 (en) | Managing digital message transmission via a proxy digital mailbox | |
| WO2024100437A1 (en) | System and method for collaborative communication | |
| WO2016148814A1 (en) | Extended email functionality |