Corresponding reference characters indicate corresponding parts throughout the drawings.
Referring first to
For example, a contact entry is a type of communication objects 110 different from an e-mail message, because the user 108 operates the contact entry by inserting contact information of an individual, such as name, e-mail address, home phone number, or the like. In the same token, an electronic appointment request is a different type of communication objects from a task item, because the user 108 handles the appointment request by accepting or rejecting the request when his or her appointment schedule permits such appointment at the requested time and date. On the other hand, the user 108 operates or handles the task item by accepting or declining the task when he or she is able to perform the task before the deadline.
In another example, the communication objects 110 may include an attached file associated with the e-mail received or sent by the user 108. Furthermore, an activity in a workflow may also be a type of communication objects 110. In another embodiment, communication application 106 may include application programming interfaces (APIs) such that other software, application, application components may handle the communication objects 110 and/or files or data associated with the communication objects 110 (such as file attachments) in conjunction with the communication application 106.
Still referring to
For example, computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store the desired information and that may be accessed by the computing device 102. Communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media. Those skilled in the art are familiar with the modulated data signal, which has one or more of its characteristics set or changed in such a manner as to encode information in the signal. Wired media, such as a wired network or direct-wired connection, and wireless media, such as acoustic, RF, infrared, and other wireless media, are examples of communication media. Combinations of any of the above are also included within the scope of computer readable media.
As known to those who are familiar with operating files or communication objects in a computer or a computing device, one of the challenges is to locate and organize these files or objects. Previous practices require users to create folders or directories to organize objects by associating one or more characteristics related to the objects. For example, in an operating system environment, a user may create a folder named “Applications” to include all applications or software used by the user. The user may further create a hierarchical structure of folders to further refine file organization or classification. For example, under the “Applications” folder, the user may have one or more folders each having files associated with a particular software or application.
In this setting, each of the folders may include a variety of file types, ranging from a text file, a media file, an executable file, or the like. Each folder would include only an instance of the file. In other words, one file may only be referenced by one identifier. For example, a file “File_A” stored in the folder “Applications” is identified by its path: “Applications\File_A” and it may not substantially simultaneously exist in another folder such as “Applications\Word_Processor”.
Applying the same practice to the communication application 106, existing scheme of organizing communication objects 110 inside the communication application 106 follows this one-to-one relational classification. For example, suppose an e-mail message is organized in a “co-worker” folder, another instance of the same message cannot be stored in a folder called “project_A”. Another disadvantage of the existing organization scheme is that various types of the communication objects 110 cannot be organized within one folder. For example, the communication application 106 could not store or organize an e-mail message and a contact entry within the same folder. While the communication application 106 can convert all types of communication objects as a form of message, the communication application 106 nevertheless cannot store or organize the types of communication objects separately based on their types.
For example, the communication application 106 typically includes a folder called “SENT ITEM” or “SENT FOLDER” or “INBOX”. While this “SENT ITEM” or “INBOX” folder appears to store all types of communication objects 110, the user 108 could not operate or handle the various types of communication objects 110. In other words, the objects in this folder are representations of messages carrying the various types of communication objects 110 to the respective destination or recipients. The folder does not store the various types of communication objects 110. Once the user 108 processes (i.e., receives the message and accepts the task item or agrees to participate in an appointment) the communication objects 110 in the folder, different types of the communication objects 110, for example, would be automatically removed from the “INBOX” folder.
Embodiments of the invention overcome such limitations and shortcomings by enabling the user 108 to assign tags to communication objects 110. These tags enable the user 108 to associate various types of communication objects 110 based on the tags such that a multi-relational classification is created. For example, the user 108 may create more than one tag referencing one e-mail message, such as an e-mail message may include a tag “co-work” and another tag “project A” at the same time. Alternative embodiments of the invention enable a plurality of users sharing or associating individually created tags in a distributed network environment. Based on the assigned tags, a subset of the collected communication objects 110 is created. In addition, through the assigned tags, one communication object is referenced in more than one subset.
For example, as the communication application 106 receives one or more communication objects 110, the communication application 106 presents the communication objects 110 to the user 108 via a user interface (UI) 114 (e.g., a display, or a graphical user interface (GUI)). Upon receiving the communication objects 110, the user 108 interacts (e.g., visually or audibly) with the communication objects 110 via one or more input means or devices. The user 108 may then assign a tag 116 to one of the communication objects 110 based on the content of the communication objects 110 or other personal preference. In one embodiment, the tag 116 may be metadata describing one or more characteristics of the communication objects 110. Other types of representation of the tag 116 (e.g., hypertext links, hypertext, dynamic scripts, etc.) may be used without departing from the scope of the invention. In an alternative embodiment, the tag 116 is more than a file extension associated with a file because a file cannot simultaneously have more than one file extension.
Referring now to
The data structure 200 further includes a second data field 204 including data or metadata identifying the owner/user of the communication object. A third data field 206 includes data or metadata identifying a tag (e.g., using a tag identification (ID)) associated with the communication object. Using the example above, the “project 101” and “my best co-workers” tags may each include a unique tag ID identifying the tags such that the communication application 106 may uniquely identify the tags and use the tags among different users (to be discussed further in detail in
The data structure 200 also includes a fourth data field 208 including data or metadata identifying the communication object 110 using a message ID. A fifth data field 210 includes data or metadata identifying one or more user associated with the owner/user of the communication object 110. For example, suppose USER_A sends an e-mail message to two recipients, USER_B and USER_C. The fifth data field 210 would include data (e.g., name and/or e-mail address) of USER_B and USER_C. Alternative embodiments may make recommendation of the assigned tag to users identified in the fifth data field 210 (e.g., USER_B and USER_C). As such, USER_B and USER_C may learn about USER_A's tag when they receive the e-mail message from USER_A and may assign the recommended or suggested tag in their computing environment.
In another example, the fifth data field 210 includes data relating to the one or more other users as a function of the parameters of the communication object 110. In this example, parameters of the communication object 110 may include recipients of an e-mail message, an assignee of a task, an invitee to or a participant of a meeting, or an individual of a contact entry.
In another alternative embodiment, the data structure 200 further includes a sixth data field 212 including data or metadata identifying tag association data, and the tag association data is determined as a function of at least the content of the communication object 110 and the first data field 204. For example, suppose a user receives an e-mail message from a sender and subsequently assigns a tag “project A” to the message. When the user responds to the message, the tag “project_A” would automatically be assigned to the response because the sixth data field 212 associates the tag “project_A” with the response as a function of at least the content of the communication object 110 and the user.
In
Referring now to
In
Referring now to
In another embodiment, category tags may be recommended to the user 108 based on one or more of the following factors to determine a measure of “closeness”: frequency of contacts between the user 108 and intended recipients, the nature of association between the user 108 and the intended recipients, and the basis of relationship between the user 108 and the intended recipients. In an alternative embodiment, the measure of “closeness” may be measured by a frequency of e-mail exchange: 1. frequent responses; 2. sporadic responses; 3. no response (i.e., never replied); 4. Sender/recipient not on the contact list (i.e., strangers), 5. timing of the response, or the like.
For example, suppose the user 108 maintains one or more contact lists, and each contact list includes contact information associated with individuals. For example, the user 108 may include a contact list “Engineers” for co-workers in her group, while the user 108 may have a list titled “Boss” for her superiors, a list titled “Family” for her family members, a list titled “Pals” for her close friends, or the like.
As the user 108 communicates with individuals in each contact list, embodiments of the invention monitor a frequency of communications between the user 108 and the individuals. In another embodiment, a recommendation component 406 (to be described further below in
As such, based on this measure of “closeness” proximity or a measure of community scope, embodiments of the invention dynamically recommend appropriate tags to communication objects based on, for example, frequency of communication between the user 108 and recipient(s). As such, although similar communication objects include the same tag “Hawaii” assigned by the sender, different recommendations may be given to the user 108 based on their affiliation to the contact list and/or frequency of communication or exchange.
Referring now to
In an alternative embodiment, a recommendation component 406 recommends or suggests an appropriate tag to the user 108. For example, the recommendation component 406 has access to the tag database 404, and makes a recommendation or suggestion to the server computers 402 as a function of the tag content, the content of the communication objects 110, the type of the communication objects 110, the owner of the tag/communication objects, or the like. In yet another embodiment, the tag database 404 may also include a history of tags or tagging activities such that the recommendation component 406 may extract information for recommending tags to the server computers 402. Alternatively, a cache (not shown) may be used to store frequently used, accessed, applied, or assigned tags to optimize the recommendation or tagging process. Once such recommendation process is completed, the social category tags 116 are applied to the communication objects 110 to be presented to the intended recipients. In yet an alternative embodiment, the tag database 404 may be coupled with other database 412 which includes data or metadata associated with the recipient or the sender of a communication object (e.g., e-mail contact list) or the like. For example, the other database 412 may include information such as e-mail contact list, group affiliation list, frequency of correspondence between the user and other contacts, or other quantitative measures of interactions between the user and other contacts available to the user.
In another embodiment, the system 400 includes a privacy policy module (not shown) for ensuring the user's right to privacy is respected. For example, the system 400 may provide a notification to the user 108 to grant the right for the system 400 for sharing tags with other users. Once granted, the communication objects 110 with respective tag or tags are dispatched or forwarded to one or more clients 410 (e.g., communication application 106).
Alternatively, embodiments of the invention include an individualistic component 512 and a social component 514 for automatically recommending or applying pre-defined tags or assigned tags to the communication objects 110 at 510. For example, the individualistic component 512 may associate a subset of communication objects 110 by extracting information or data from the communication objects 110. For example, the individualistic component 512 may extract names of individuals (e.g., e-mail message recipients), the title or subject of the communication object 110, the time or date associated with the communication object 110, the content of the communication object 110 or the like. For example, suppose a user receives an e-mail message with the content disclosing a vacation to Hawaii. The individualistic component 512 may automatically recommend or apply tags such as “vacation”, “travel”, or the like to the user, who can either approve such tag or reject the recommendation/suggestion and assign a different one, such as “Honeymoon plan A: Hawaii.”
At the same time, the social component 514 may also extract data associated with the communication object 110 to recommend, assign, or apply tags to the communication objects 110. In one example, the social component 514 determines the association by extracting the content of the communication objects 110 and also the data associated with the context relating to the communication objects 110. For example, suppose the same Hawaii e-mail message is sent to the user from his or her supervisor. Instead of assigning the tag “vacation” or “travel”, the social component 514 may recommend or suggest “seminar”, “trade expo”, “out-of-state meeting” or the like. At 508, the associated subset of communication objects 110 is presented to the user 108 and the subset includes more than one type of the communication objects 110.
In another embodiment, the social component 514 assigns category tags to communication objects 110 as a function of the content of the communication objects 110, the membership of the sender or recipients of the communication objects 110, distribution list, and/or the category tags 110 that were already assigned. In yet another alternative embodiment, the social component 514 may make category tag recommendations for a given communication objects 110 based on how others have categorized (tagged) the communication object.
For example, suppose a user receives a communication object (e.g., an e-mail message) which includes category tags assigned by other co-workers in a “Security Team”. The social component 110 may automatically recommend a “Security” tag to the user. In a similar example, the social component 514 may recommend “HR” tag to e-mail messages received from a sender who is in a human resource contact list and whose members frequently use the “HR” tag. As such, the social component 514 may automatically assign or automatically recommend category tags based on a relationship between the sender and the recipient.
The order of execution or performance of the operations in embodiments of the invention illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and embodiments of the invention may include additional or fewer operations than those disclosed herein. For example, it is contemplated that executing or performing a particular operation before, contemporaneously with, or after another operation is within the scope of aspects of the invention.
Embodiments of the invention may be implemented with computer-executable instructions. The computer-executable instructions may be organized into one or more computer-executable components or modules. Aspects of the invention may be implemented with any number and organization of such components or modules. For example, aspects of the invention are not limited to the specific computer-executable instructions or the specific components or modules illustrated in the figures and described herein. Other embodiments of the invention may include different computer-executable instructions or components having more or less functionality than illustrated and described herein.
When introducing elements of aspects of the invention or the embodiments thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
Having described aspects of the invention in detail, it will be apparent that modifications and variations are possible without departing from the scope of aspects of the invention as defined in the appended claims. As various changes could be made in the above constructions, products, and methods without departing from the scope of aspects of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.