Method and system for capturing instant messages

Information

  • Patent Grant
  • 7653693
  • Patent Number
    7,653,693
  • Date Filed
    Friday, April 16, 2004
    20 years ago
  • Date Issued
    Tuesday, January 26, 2010
    14 years ago
Abstract
Managing instant messages may include receiving instant messages created by or on behalf of one or more message sources for delivery to an intended recipient. From among the received instant messages, qualifying instant messages may be identified that satisfy a capture rule, and two or more of the qualifying instant messages may be captured. The intended recipient may be informed of the captured instant messages unobtrusively, and also may be enabled to manage the captured instant messages.
Description
TECHNICAL FIELD

This disclosure generally relates to managing instant messages.


BACKGROUND

Instant messages are conversational in nature. To maintain their conversational character, instant messages typically are communicated in real time to a user based on an indication that the user presently is online. Nevertheless, the conversational nature of instant messaging may subject a user who is visible online to undesired real-time advances or interruptions from other online entities. For example, a user who enters an online chat room may be subjected in real-time to instant messages from other individuals, known or unknown to the user, as well as from commercial entities, some of whom may purvey undesirable spam. Having entered an instant messaging conversation with a friend, the user may find the conversation overwhelmed in a cacophony of competing instant messaging voices, each demanding the user's immediate attention. Although the user may use a knock-knock (e.g., a pop-up window that provide the user the option to accept or reject an individual instant message based, for example, on an identification of the sender) to screen instant messages from entities not on a contact list of the user, a knock-knock, like the instant message that it represents, is obtrusive and steals the focus of the user from other tasks or conversations that are at hand.


SUMMARY

In one general aspect, managing instant messages may include receiving instant messages created by or on behalf of one or more message sources for delivery to an intended recipient. From among the received instant messages, qualifying instant messages are identified that satisfy a capture rule, and two or more of the qualifying instant messages are captured. The intended recipient is informed of the captured instant messages unobtrusively and the intended recipient is enabled to manage the captured instant messages.


Implementations may include one or more of the following features. For example, identifying qualifying instant messages that satisfy a capture rule may include identifying received instant messages for which a message source does not correspond to a contact of the intended recipient. A received instant message also may be identified as a qualified instant message based on a degree of separation between the intended recipient and the message source. Unsolicited marketing messages may be identified as qualified instant messages based, for example, on a heuristic and/or a Bayesian method. When the intended recipient is away or prefers not to be disturbed, for example, all received instant messages may be identified as qualified instant messages.


The intended recipient may be informed unobtrusively of captured instant messages without stealing focus from another interface for each instant message that is captured. The intended recipient also may be informed when at least one instant message is captured using an unobtrusive audible or visible cue.


Enabling management of the captured instant messages may include enabling the intended recipient to respond to at least one of the captured instant messages and/or to access information related to a message source associated with the captured instant messages. The intended recipient may be enabled to delete, ignore or block a captured instant message and/or a source of a captured instant message. Further, subsequent instant messages related to a previously deleted, ignored or blocked message or message source, in turn, may be deleted, ignored or blocked without being presented to the intended recipient. In sum, the capture rule may be modified (e.g., automatically or by the intended recipient) based on instant messages previously qualified or captured, for example, to capture or to pass-through subsequent instant messages from the source of a previously captured instant message.


The captured instant messages may be organized and/or presented to the intended recipient according to a plurality of predetermined categories. The predetermined categories may include, for example, categories for known, unknown, trusted and/or un-trusted messages or messages sources. The organization and presentation of the captured instant messaged may be configured by the intended recipient and/or automatically by a computer. These general and specific aspects may be implemented using a method, a system, or a computer program, or any combination of systems, methods, and computer programs.


Other features will be apparent from the description, the drawings, and the claims.





DESCRIPTION OF DRAWINGS


FIGS. 1-6 illustrate graphical user interfaces (GUIs) that may be used to manage instant messages directed to a user based on the user's online presence.



FIG. 7 is a schematic diagram of a communication system capable of managing instant messages directed to a user based on the user's online presence.



FIG. 8 is a flow diagram of a process implementable by the communication system of FIG. 7.



FIG. 9 is a schematic diagram of an instant messaging system that manages instant messages directed to a user based on the user's online presence.



FIG. 10 illustrates a relationship between a user and an instant message source having two degrees of separation.



FIG. 11 is a flow diagram illustrating an exemplary process implementable by the system of FIG. 9.





Like reference symbols in the various drawings indicate like elements.


DETAILED DESCRIPTION

Instant messaging is powerful in its ability to interject itself into the recipient's online experience in order to initiate or further a real-time online conversation. The capabilities of instant messaging may enhance collaboration, networking, and the social value of users' online experiences. Nonetheless, absent the ability to manage receipt of instant messages, a user may find the potential benefits of instant messaging lost in an unrequited babble of insignificant or objectionable instant message voices.



FIG. 1 illustrates a graphical user interface 100 (capture interface) that may be used to manage instant messages received by a user based on the user's online presence (e.g., the user's presence within a chat room or other online forum, and/or the user's present connection to the internet, using, for example, an internet service provider). Using button 105 (the “Away Message” button), the user has indicated to the capture interface 100 that the user presently is unavailable to receive instant messages. The capture interface 100, therefore, captures and organizes all of the instant messages 110 directed to the user while the user is away, and thereby provides the user with an effective and efficient way to handle the instant messages 110 upon returning.


The capture interface 100 is displayed initially when a first instant message is captured. When displayed initially, the capture interface 100 may pop to the front of all open windows or otherwise steal focus to alert the user of its activation. The capture interface 100 typically, however, will not steal focus upon receiving subsequent instant messages. To minimize distraction to the user, instant messages captured to the capture interface 100 do not generate a knock-knock when they are received and do not steal focus from other tasks or demand individualized attention of the user. Consequently, instant messages captured by the capture interface 100 may be deemed less intrusive by the user than instant messages presented to the user immediately or by using a knock-knock. The capture interface 100 may indicate the capture of additional instant messages using a subtle visible or audible cue, such as, for example, by playing a sound or by flashing an icon.


To assist the user in handling the instant messages 110, the instant messages 110 are categorized according to whether the message sender is known 115 or unknown 120 to the user. Furthermore, the instant messages within each category may be organized according to their time of receipt (as shown), or according to some other metric, such as, for example, a metric of anticipated importance or relevance. For each instant message 110 captured and categorized, the user is informed of an identity of the sender (e.g., a screen name) and the time at which the instant message was captured. Based on the information presented, the capture interface 100 enables the user to select a desired instant message, for example, instant message 117 from DJ Emma Pea Three.


Once an instant message is selected, the user may use a single click of a button to accept and open the instant message (using the “Open IM” button 125), to obtain more information regarding the message sender (using the “Buddy Info” button 130), to block all further instant messages from the sender of the instant message (using the “Block” button 135) or to ignore further instant messages from the sender of the instant message for the duration of the user's present online session (using the “Ignore” button 140). The user also may determine to ignore future instant message from all of the captured instant message senders for the duration of the user's online session (using the “Ignore All” button 145). The user may perform screening functions for a selected instant message without generating feedback or otherwise informing the sender of the user's attention to the instant message. Captured instant messages not handled expressly by the user, for example, may be deleted or ignored at the end of the user's online session or when the user closes the capture interface.


Referring to FIG. 2, the “Open IM” button 125 of the capture interface causes the selected instant message 117 to be presented to the user in a separate message interface 200. The message interface 200 includes a first pane 205 used to display the selected instant message 117 and a second pane 210 by which the user may compose and send an instant message reply. The message interface 200 includes tabs 215 to organize more than one active instant messaging conversation. The message interface 200 also may include controls (e.g., buttons 220) to access relevant instant messaging functionality, typically using only a single click.



FIG. 3 illustrates a buddy info interface 300 invoked by activating the “Buddy Info” button 130 of the capture interface 100. The buddy info interface 300 provides additional information 305 regarding the sender, DJ Emma Pea Three, of instant message 117. For example, the buddy info interface 300 indicates that DJ Emma Pea Thee presently is online in the Town Square Friends Chat room. The buddy info interface also indicates hobbies and interests 310 of DJ Emma Pea Three as well as interests 315 that DJ Emma Pea Three shares with the user. Button 320 provides access to additional information regarding DJ Emma Pea Three, such as, for example, a phone number, an address, an email address, an age, a gender, family information, educational information, career information, and/or an expertise. Buttons 325 are provided to enable the user to access with one click basic instant messaging options related to DJ Emma Pea Three, such as, for example, to send or block instant messages to or from DJ Emma Pea Three or to add DJ Emma Pea Three to a contact list of the user. The user may use the information provided by the buddy info interface 300 to judge, for example, whether an unknown sender is a person (for whom additional information likely is available) or a software bot (for which additional information likely is not available).



FIGS. 4A through 4C illustrate interfaces 400, 430 and 460 that are used, respectively, to confirm that the user desires to execute the screening function of the “Block” button 135, the “Ignore” button 140, or the “Ignore All” button 145 of the capture interface 100.



FIG. 5 illustrates the capture interface 100 in which the user is indicated to be present rather than away. The interface 100 is configured to capture only instant messages of unknown senders 120 when the user is present and to allow known senders to approach and interact freely with the user. Nevertheless, referring now to configuration interface 600 of FIG. 6, the user may use configuration settings 605 to configure the capture interface 100 to capture all instant messages, whether from known or unknown senders or whether the user is present or away. Additional configurations also may be provided, for example, to capture instant messages only of particular senders or to capture instant messages only at particular times or during particular contexts (e.g., when the user is engaged actively in a different instant message exchange that it would be perceived as rude to interrupt).



FIG. 7 shows a generalized system 700 for communicating instant messages to a user 705. System 700 includes an instant messaging system 710 that manages instant messages provided to the user 705 in real time by an instant message source 750 based on an online presence 707 of the user. Instant messaging system 710 may be implemented, for example, as a client system, as a host system, or as some combination of these or other systems. The instant messaging system 710 includes a capture engine 715, a rule engine 720, and a capture interface 725. The instant messaging system 710 may include or be included in a general-purpose or a special-purpose computer (e.g., a personal computer, a PDA, a mobile telephone, or a device specifically programmed to perform certain tasks), a database, a local area network, and/or a wide area network. The instant messaging system 710 may include any appropriate architecture or combination of architectures, such as for example, a client architecture and/or a host architecture.


The capture engine 715 is configured to capture one or more instant messages directed to the user 705 by the instant message source 750 based on interaction with the rule engine 720. The rule engine 720 compares incoming instant messages to a capture rule, and informs the capture engine 715 if the capture rule is satisfied. If the instant message satisfies the capture rule, the capture engine 715 captures the instant message to manage the instant message for the user 705. The capture interface 725 informs the user 705 of the captured instant messages in an organized fashion and without disrupting the user's other online activities. The capture interface 725 also enables the user 705 to respond to or to otherwise manage the captured instant messages.


The capture engine 715 captures the instant messages based on input from the rule engine 720 that the instant message satisfies a capture rule. The capture engine 715 may include a database to hold captured instant messages and may communicate information descriptive of the captured instant messages to the capture interface 725. The information descriptive of the captured instant messages may include, for example, an identifier of the message source, a time stamp of the instant message, a portion or summary of the instant message contents, and/or a pointer to the instant messages. In addition, or in the alternative, the capture engine 715 may tag or otherwise identify the instant messages as captured and may provide the captured instant message to the capture interface 725 for handling, storage and/or management.


The rule engine 720 enables the system or an administrator of the system to generate a capture rule. Alternatively, or in addition, the rule engine 720 may enable the user 705 or a supervisor of an online account of the user 705 to define one or more aspects of the capture rule. The capture rule may describe, in whole or in part, one or more conditions to be satisfied for an instant message to be captured. For example, the capture rule may base capture upon an identify of the message source 750, an attribute of the message, a preference or context (e.g., the user is away) of the user 705, or some combination of these or other factors. In any event, the rule engine 720 analyzes incoming instant message for satisfaction of the capture rule.


The capture interface 725 may be used to manage the instant messages directed to the user 705 while the user 705 is online. The capture interface 725 itself may receive and store the instant message or may reference and access instant messages captured and stored by another service, system or device (e.g., the capture engine 715). In any event, the capture interface 725 enables the user 705, for example, to organize, treat, respond to, block, or ignore the captured instant messages. The capture interface 725 also may enable the user 705 to modify the capture rule of the rule engine 720. For example, the capture interface 725 may enable the user to modify the capture rule directly, or may modify the capture rule automatically based upon treatment by the user 705 of one or more captured instant messages. Generally, the capture interface 725 may function similarly to capture interface 100 described with respect to FIGS. 1-6.


The instant message source 750 typically may include any source of an instant message. The instant message source 750 may employ one or more protocols to transfer information internally or to communicate the instant message to the user 705.


Both the instant messaging system 710 and the message source 750 further may include various mechanisms for delivering data. The various mechanisms may include, for example, any applications, protocols, devices, or networks used to facilitate communication of electronic data. Both the instant messaging system 710 and the message source 750 also may include or be included in a general-purpose or a special-purpose computer, a local area network, and/or a wide area network. The response to and execution of instructions received by the instant messaging system 710, the message source 750, or any of their components (collectively the system services), may be controlled by, for example, a program, a piece of code, an instruction, a device, a computer system, or a combination thereof, for independently or collectively instructing the system services to interact and operate as described herein.



FIG. 8 illustrates a flow diagram of a process 800 implementable by, for example, the system 700 of FIG. 7 to manage instant messages directed to the user 705. The instant message source 750 communicates instant messages directed to the user 705 to the instant messaging system 710 (step 805). The capture engine 715 uses the rule engine 720 to determine whether the instant messages satisfy a capture rule (step 810). If an instant message fails to satisfy the capture rule, that instant message is not captured and, instead, is passed through to the user (step 815). Otherwise, when an instant message satisfies the capture rule, the capture engine 715 captures the instant message (step 820). To inform the user 705 of the captured instant messages, the capture engine 715 communicates the captured instant messages and/or information indicative of those messages to the capture interface 710 (step 825). The capture interface 725 enables the user 705 to handle the captured instant messages individually or as groups, and otherwise to respond to or to manage the instant messages as desired (step 825).


Referring to FIG. 9, a generalized communication system 900 communicates instant messages generated by one or more instant message sources 950 to a user 905 having an online presence 907. The online presence 907 may include, for example, activity of the user 905 in browsing the internet, participating in an active instant messaging session, using an internet enabled television or game console, using a networked radio, or participating in a chat room discussion. The online presence 907 also may include an online presence of the user 905 at a particular device. Exemplary components of the communication system 900 are described in greater detail below.


The communication system 900 includes one or more message sources 950. The message sources 950 typically include different individuals, services, or other sources of instant messages, such as, for example, friends or family of the user 905, persons not known by the user 905, commercial entities, and/or one or more software bots that automatically direct messages to the user 905. The instant messages may include, for example, a personal message, a promotional advertisement, an account balance, a portfolio status, a credit status, an online status, information that an order and/or a service is complete, or a message regarding confirmation, cancellation, and/or rescheduling of an appointment. Other examples include, but are not limited to, a weather forecast and/or adverse weather conditions of a particular geographic region; an online status of another user; or entertainment programming and/or ticket information. As a practical matter, the message sources 950 may provide many instant message to the user 905 that are unsolicited and/or undesired.


The message sources 950 may employ one or more protocols (i.e., standards, formats, conventions, rules, and structures) to transfer information internally or to communicate instant messages to the user. Protocols employed by the message sources 950 may include, for example, the Internet protocol (IP), the transfer connection protocol (TCP), the hypertext transfer protocol (HTTP), the file transfer protocol (FTP), the user datagram protocol (UDP), the layer two tunneling protocol (L2TP), the simple mail transfer protocol (SMTP), the short message service (SMS), the enhanced message service (EMS), and/or the multimedia message service (MMS).


The communication system 900 includes an instant messaging system 910 that manages instant messages provided to the user 905 by the instant message sources 950 based on the online presence 907 of the user. The instant messaging system 910 includes a capture engine 915, a rule engine 920 having a rule store 922, a capture interface 925, and a message interface 930 (the system components). The instant messaging system 910 may include or be included in a general-purpose or a special-purpose computer (e.g., a personal computer, a PDA, a mobile telephone, or a device specifically programmed to perform certain tasks), a database, a local area network, and/or a wide area network. The instant messaging system 910 may include any appropriate architecture or combination of architectures, such as for example, a client architecture and/or a host architecture.


The instant messaging system 910 typically allows direct or indirect communication between the various system components, the user 905 and the instant message sources 950, irrespective of physical or logical separation. The instant message system 910 may include, for example, various mechanisms for communicating data, such as, for example, the short message service (SMS), the enhanced message service (EMS), the multimedia message service (MMS), the wireless application protocol (WAP), the transport connection protocol (TCP), the Internet protocol (IP), the World Wide Web, one or more local area networks, and/or one or more wide area networks. The instant messaging system 910 also may include analog or digital wired and wireless telephone networks, such as, for example, public switched telephone networks (PSTN), integrated services digital networks (ISDN), various types of digital subscriber lines (xDSL), advance mobile telephone service (AMPS), global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), radio, cable, satellite, and/or other delivery mechanisms for carrying data. The communications of the instant message system 910 may employ secured and/or unsecured communication systems.


Components of the instant messaging system 910 are described in greater detail below.


The capture engine 915 corresponds generally to the capture engine 715 of FIG. 7. Capture engine 915 is configured to capture an instant message based on an indication by the rule engine 920 that a capture rule is satisfied. If the capture rule is not satisfied, then the capture engine 915 is configured to pass the instant message through to the message interface 930 for immediate display to the user 905. The capture engine 915 may or may not store the instant messages that are captured. For example, in one implementation, the capture engine 915 stores the captured instant messages and forwards information indicative of the instant messages to the capture interface. In another implementation, the capture engine 915 merely forwards to the capture interface 925 those instant messages identified for capture and the capture interface provides or obtains any required storage.


The rule engine 920 is configured to compare the instant messages to a capture rule of the rule store 922 and/or to analyze the instant message in view of the capture rule. The rule engine 920 may perform, for example, Bayesian or heuristic analysis of the instant messages based on the capture rule. The rule engine 920 is configured to inform the capture engine 915 when an instant message satisfies the capture rule.


Generally, the capture rule may define, in whole or in part, one or more conditions to be satisfied by the source, content, and/or timing of an instant message before capture of the instant message. The capture rule may be generated by the system or by an administrator of the system. The capture rule also may be based on preferences of the user, whether provided by the user or determined automatically by the system in view of user behavior. In short, the capture rule may enable the user 905 flexibly to manage which instant messages are received directly, which instant messages are blocked completely, and which instant message are captured to be screened by the user 905.


The capture rule may include a white list defining approved instant message sources 950 (e.g., family, friends, or co-workers) and/or a black list defining objectionable instant message sources 950 (e.g., known purveyors of offensive spam) that are to be blocked. The white list and/or black list may be based on input of a rating authority or by a community of raters. Although the white list or the black list may be provided initially as a default, the user may be enabled to modify or replace either the white list or the black list to better fit the user's preferences.


Message source categories (e.g., individual, business, or business:gambling) also may be used to control communication with instant message sources 950 that include an associated category label. For example, a message source 950 may be identified as an online casino by an associated category label of “business:gambling” and may be restricted based on that label. Generally, to communicate an instant message to the user 905, a message source may be required to provide meaningful and trustworthy information by which the message source may be identified and/or classified.


The capture rule also may control capture, filtering, or ranking of an instant message based on a degree of separation between the user 905 and the message source 950 under a rationale, for example, that the user is more inclined to receive an instant message from a friend of a friend than from an individual not connected to the user. More specifically, the degree of separation between the user 905 and the message source 950 describes a number of intermediary relationships needed to link the user and the message source. Typically, user contact lists (e.g., address book, buddy list, and/or white list) are evaluated to determine the number of degrees (or relationships) needed to link two users.


Referring briefly to FIG. 10, for example, the user 905 may link to the instant message source 950 through two degrees of separation based on contact lists of the user, “The Olive Boy,” and of “Lucky Eddie.” More specifically, the user has a contact list 1005 that lists “The Olive Boy.” The contact list 1010 of “The Olive Boy,” in turn, lists “Lucky Eddie,” whose contact list 1015 lists the instant message source 950—and establishes the connection between the user 905 and the message source 950. Here, the user 905 is linked to the message source 950 by two degrees of separation (the relationship between “The Olive Boy” and “Lucky Eddie” providing the first degree, and the relationship between “Lucky Eddie” and the instant messaging source 950 providing the second degree). Stated differently, the user 905 is related to “Lucky Eddy” by one degree of separation (i.e., their common relationship to “The Olive Boy”), and “The Olive Boy” is separated from the instant message service 950 by one degree of separation (i.e., their common relationship to “Lucky Eddie”). Similarly, the user 905 and “The Olive Boy,” “The Olive Boy” and “Lucky Eddie,” and “Lucky Eddie” and the instant message source 950 each respectively are separated by zero degrees of separation.


In short, the capture rule may control capturing, filtering, or ranking of an instant message based on: (1) whether the user 905 and the messages source 950 are discernibly linked; and (2) if they are linked, the number of degrees of separation (e.g., relationships or intermediaries) needed to complete the link.


Referring back to FIG. 9, the capture rule also may include other rule information, such as, for example, key words and/or parameters useful for analyzing natural language. The capture rule may enable the rule engine 920 to restrict instant messages based upon textual analysis of their content. More specifically, the capture rule may enable the rules engine 920 to analyze the language of an instant message to determine whether the instant message includes offensive language or subject matter, or whether the language used is indicative of an unsolicited spam message. The user may be enabled to select or modify the information or algorithms used to screen the online content based on the textual analysis. For example, the capture rule may include user defined dictionaries of terms that may cause an instant message to be delivered immediately, blocked, or passed through when included in the instant message.


The capture rule may enable the user to specify times during which instant messages may or may not be received. For example, the user may restrict receipt of instant messages between the hours of 8:30 am and 5 pm during the work week, but may allow instant messages to be received with less restriction during the evenings and on the weekends while the user is not at work. More specifically, the user may use the capture rule to specify that, during working hours, instant messages of co-workers or clients are to be received, spam messages are to be blocked, and messages from friends or family are to be captured. On the other hand, when not at work, instant messages from co-workers and clients may be captured while messages from friends and family are received immediately.


Additional rule information also may be included, such as, for example, logging or reporting rules. The logging or reporting rules, for example, may indicate provision of a message log 940 to record all of the instant messages directed to the user 905 whether in the present or a past online session. The message log 940 may record whether the instant message was captured and what, if any, activity the user took with respect to the instant message.


The rule store 922 generally receives, stores and administers rule information used to supervise instant messaging by the instant messaging system 910. The rule store 922 may include one or more databases that may reside at any appropriate location (e.g., local location, remote location, or third party location), and also may reside on any appropriate storage medium, such as, for example, a magnetic disc array, or an optical disk array. These databases may be included in a single physical or logical structure, or they may be physically or logically distinct. The rule store 922 generally includes a data structure that enables the rule information and/or other information to be organized and accessed quickly and efficiently. For example, the rule store 922 may organize rule information using fields, records, or files. The rule store 922 may include database management systems that organize data based on relational, network, flat, or hierarchical architectures. The rule store 922 also may include a hypertext database to link data objects such as text, images, or video to other data objects. The rule store 922 may store the rule information locally, remotely, or in a distributed fashion. In any event, the rule store 922 organizes the rule information for effective access and use by the rule engine 920.


Capture interface 925 may function similarly to capture interface 100 described with respect to FIGS. 1-6. The capture interface 925 receives captured instant messages or information indicative of those messages from the capture engine 915 for display to the user 905. The capture interface, alone or in conjunction with other services, may perform sorting, prioritizing, or other types of organizational processing on the captured instant messages to enable the user 905 to manage the instant messages. For example, the capture interface 925 may prioritize captured instant messages based on a predicted relevance or likelihood of interest. The predicted relevance or likelihood of interest may be related to the subject matter and/or source of an instant message. For example, the capture interface 925 may give a higher priority to an instant message from an individual not known to the user but who is indicated to share a common interest than is given to an instant message from a software bot that presents a marketing invitation having objectionable content.


The capture interface 925 also may enable the user 905 to modify the capture rule of the rule engine 920. For example, the capture interface 925 may enable the user to modify the capture rule directly, or may modify the capture rule automatically based upon treatment by the user 905 of one or more captured instant messages. The capture interface 925 may display to the user 905 a source of an instant message, a time stamp, a count of the number of instant messages sent and/or received, a summary of instant message content, and/or the captured instant messages themselves. The capture interface 925 may enable the user to approve, block or ignore one or more instant messages or instant message sources. Generally, the capture interface 925 enables the user 905 to organize, respond to, block, ignore, or otherwise manage instant messages in a manner similar to that which was described with respect to the interfaces of FIGS. 1-6.


The capture interface 925 may include or operate in conjunction with one or more of the fixed or mobile communication devices 935, whether wired or wireless. The fixed or mobile communication devices 935 may include any device, system, and/or piece of code that relies on another service to perform an operation. For example, the communication devices 935 may include a device such as a television 935a, a pen-enabled computer 935b, a personal digital assistant (PDA) or mobile telephone 935c, a notebook computer 935d, and/or a desktop computer 935e. The communication devices 935 also or alternatively may include, for example, a Web browser, an instant messaging (IM) client, a synchronization client (e.g., a calendar synchronization client or a task list synchronization client), a short message service (SMS) client, a business productivity application (e.g., a word processing program or a spreadsheet program), and/or an operating system or operating system kernel residing on a device. The communication devices 935 may be arranged to operate within or in concert with one or more other systems, such as, for example, the Internet, the World Wide Web, a WAN (wide area network), a LAN (local area network), analog or digital wired and wireless telephone networks (e.g., PSTN, ISDN, or XDSL), radio, television, cable, satellite, and/or any other delivery mechanism for carrying data. In any event, the capture interface 925 enables the user 905, for example, to organize, treat, respond to, block, or ignore the captured instant messages.


One or more other services may be included in the components of communication system 900 and/or these components (hereinafter the system services) may be included as part of one or more other services. For example, the system services may include or be included in a general-purpose or a special-purpose computer (e.g., a personal computer, a PDA, or a device specifically programmed to perform certain tasks), a database, a local area network, and/or a wide area network. In any event, the response to and execution of instructions received by any or all of the system services may be controlled by, for example, a program, a piece of code, an instruction, a device, a computer system, or a combination thereof, for independently or collectively instructing the services to interact and operate as described herein.



FIG. 11 illustrates a flow diagram of a process 1100 implementable by, for example, the system 900 of FIG. 9 to manage instant messages directed to the user 905. An instant message initially is received from a message source 950 by the capture engine 915 (step 1105). The rule engine 920 is used to determine whether the instant message satisfies a capture rule (step 1110). If a capture rule is not satisfied (step 1115), the instant message is communicated to the user 905 using the message interface to grab the user's immediate attention (step 1120). The system then waits for receipt of the next instant message directed to the user 905 (step 1105).


If a capture rule is satisfied (step 1115), the instant message is captured by the capture engine 915 (step 1125). The capture interface 925 may be configured to be activated automatically when a first instant message is captured during an online session. In addition, or in the alternative, the capture interface 925 may be configured to be activates based on an input or a request of the user 905. If the capture interface 925 is not activated already (step 1130), then the instant messaging system 910 activates the capture interface 925 (step 1135). In any event, once the capture interface is activated (step 1135) or is determined already to be active (step 1130), the instant message and/or information indicative of the instant message is communicated to the capture interface 925 to inform the user 905 of the instant message and to enable the user to manage the instant message and any other instant messages that have been captured (step 1140). The system then waits for receipt of the next instant message directed to the user 905 (step 1105).


Other implementations are within the scope of the following claims.

Claims
  • 1. A system to manage instant messages, the system comprising: at least one processing device;a storage storing instructions, which when implemented, cause the processing device to implement: an input interface configured to receive instant messages created by or on behalf of one or more message sources for delivery to an intended recipient;a degree of separation component configured to determine a degree of separation between the intended recipient and the message source, wherein the degree of separation indicates a number of intermediary relationships linking the intended recipient and the message source;a screening component configured to:identify, from among the received instant messages, qualifying instant messages that satisfy a capture rule, wherein the capture rule indicates that an instant message qualifies for capture if the degree of separation between the intended recipient and the message source exceeds a pre-determined threshold, andcapture as captured instant messages two or more of the qualifying instant messages; andan output interface configured to inform the intended recipient unobtrusively of the captured instant messages and to enable the intended recipient to manage the captured instant messages.
  • 2. The system of claim 1 wherein the output interface enables the intended recipient to modify the capture rule based on at least one of the captured instant messages.
  • 3. The system of claim 2 wherein the output interface further enables the intended recipient to indicate that future instant messages from the source or sources of the at least one of the captured instant messages are to be blocked.
  • 4. The system of claim 3 further comprising instructions that cause the processing device to implement a blocking component that captures and deletes the future instant messages without presenting the future instant messages to the intended recipient.
  • 5. The system of claim 2 wherein the output interface further enables the intended recipient to indicate that future instant messages from the source or sources of the at least one of the captured instant messages are not to be captured.
  • 6. The system of claim 1 wherein the output interface enables the intended recipient to organize the captured instant messages according to a plurality of predetermined categories.
  • 7. The system of claim 6 wherein the output interface is configured to inform the intended recipient of the captured instant messages according to the plurality of predetermined categories.
  • 8. The system of claim 6 wherein the predetermined categories include a category for captured instant messages received from message sources known to the intended recipient.
  • 9. The system of claim 6 wherein the predetermined categories include a category for captured instant messages received from message sources not known to the intended recipient.
  • 10. The system of claim 6 wherein the predetermined categories include a category for captured instant messages received from message sources trusted by the intended recipient.
  • 11. The system of claim 6 wherein the predetermined categories include a category for captured instant messages received from message sources not trusted by the intended recipient.
  • 12. The system of claim 1 wherein the capture rule indicates that an instant message qualifies for capture if the instant message is identifiable as an unsolicited marketing message.
  • 13. The system of claim 12 wherein the screening component is configured to determine whether the instant message comprises an unsolicited marketing message based on a heuristic method.
  • 14. The system of claim 12 wherein the screening component is configured to determine whether the instant message comprises an unsolicited marketing message based on a Bayesian method.
  • 15. The system of claim 1 further comprising instructions that cause the processing device to implement a contact list of the intended recipient, wherein the capture rule indicates that an instant message qualifies for capture if the message source of the instant message does not correspond to a contact of the contact list.
  • 16. The system of claim 1 wherein the capture rule indicates that an instant message qualifies for capture if the intended recipient is indicated to be away.
  • 17. The system of claim 1 wherein the capture rules indicates that all received instant messages are to be captured, ignored, or blocked.
  • 18. The system of claim 1 wherein the output interface enables the intended recipient to respond to at least one of the captured instant messages.
  • 19. The system of claim 1 wherein the output interface enables the intended recipient to delete at least one of the captured instant messages.
  • 20. The system of claim 1 wherein the output interface enables the intended recipient to ignore or block at least one of the captured instant messages.
  • 21. The system of claim 1 wherein the output interface enables the intended recipient for at least one of the captured instant messages to access information related to a message source associated with the captured instant message.
  • 22. The system of claim 1 wherein the output interface is configured to inform the intended recipient of the captured instant messages without stealing focus from another interface for each qualifying instant message that is captured.
  • 23. The system of claim 1 wherein the output interface is configured to generate an unobtrusive audible or visible cue when at least one of the qualifying instant messages is captured.
  • 24. The system of claim 1 wherein the screening component comprises: a rule engine configured to identify from among the received instant messages qualifying instant messages that satisfy the capture rule; anda capture engine configured to capture as captured instant message the two or more of the qualifying instant messages.
  • 25. A computer readable storage medium storing a computer program, the computer program comprising: a receiving code segment that causes a computer to receive instant messages created by or on behalf of one or more message sources for delivery to a user;a degree of separation code segment that causes a computer to determine a degree of separation between the user and the message source, wherein the degree of separation indicates a number of intermediary relationships linking the user and the message source;a screening code segment that causes a computer to identify, from among instant messages intended for the user, qualifying instant messages that satisfy a capture rule, and to capture as captured instant messages two or more of the qualifying instant messages, wherein the capture rule indicates that an instant message qualifies for capture if the degree of separation between the user and the message source exceeds a pre-determined threshold; andan interface code segment that causes the computer to inform the user unobtrusively of the captured instant messages and to enable the user to manage the captured instant messages.
  • 26. The computer medium of claim 25 wherein the interface code segment further comprises an organization code segment that causes the computer to organize the captured instant messages according to a plurality of predetermined categories.
  • 27. The computer medium of claim 26 wherein the predetermined categories include a category for captured instant messages of message sources trusted by the user.
  • 28. The computer medium of claim 26 wherein the predetermined categories include a category for captured instant messages of message sources not trusted by the user.
  • 29. The computer medium of claim 25 wherein the interface code segment further comprises a learning code segment that causes the computer to modify the capture rule based on at least one of the captured instant messages.
  • 30. The computer medium of claim 29 wherein the learning code segment further causes the computer to modify the capture rule based on a source of at least one of the captured instant messages.
  • 31. The computer medium of claim 25 further comprising a contacts code segment that causes the computer to access a contact list of the user, wherein the capture rule comprises a contacts parameter requiring capture if at least one source of an instant message does not correspond to a contact of the contact list.
  • 32. The computer medium of claim 25 wherein the capture rule comprises a SPAM parameter to control capture of an instant message identifiable as an unsolicited marketing message.
  • 33. The computer medium of claim 25 wherein the capture rules comprises a do-not-disturb parameter to control whether all instant messages are to be captured, ignored, or blocked.
  • 34. The computer medium of claim 25 wherein the interface code segment further comprises a response code segment that causes the computer to enable the user to respond to at least one of the captured instant messages.
  • 35. The computer medium of claim 25 wherein the interface code segment further comprises a housekeeping code segment that causes the computer to enable the user to delete, ignore or block at least one of the captured instant messages.
  • 36. The computer medium of claim 25 wherein the interface code segment further comprises a query code segment that causes the computer to access information related to a message source of a captured instant message.
  • 37. The computer medium of claim 25 wherein the interface code segment further includes a focus preservation code segment that causes the computer to inform the user of the captured instant messages without stealing focus from another interface for each qualifying instant message that is captured.
  • 38. The computer medium of claim 25 wherein the interface code segment further comprises an alert code segment that causes the computer to generate an unobtrusive audible or visible cue when at least one of the qualifying instant messages is captured.
  • 39. A computer-implemented method of managing instant messages, the method comprising: receiving instant messages created by or on behalf of one or more message sources for delivery to a user;determining a degree of separation between the user and the message source, wherein the degree of separation indicates a number of intermediary relationships linking the user and the message source;identifying, from among the received instant messages, qualifying instant messages that satisfy a capture rule, wherein the capture rule indicates that an instant message qualifies for capture if the degree of separation between the user and the message source exceeds a pre-determined threshold;capturing two or more of the qualifying instant messages; andinforming the user unobtrusively of the captured instant messages and enabling the user to manage the captured instant messages.
  • 40. The method of claim 39 wherein enabling the user to manage the captured instant messages includes enabling the user to modify the capture rule based on at least one of the captured instant messages.
  • 41. The method of claim 40 wherein enabling the user to manage the captured instant messages includes enabling the user to modify the capture rule based on a source of at least one of the captured instant messages.
  • 42. The method of claim 39 wherein identifying qualifying instant messages that satisfy the capture rule includes identifying as qualifying instant messages those messages in which at least one message source does not correspond to a designated contact of the user.
  • 43. The method of claim 39 wherein identifying qualifying instant messages that satisfy the capture rule includes identifying unsolicited marketing messages as qualifying instant messages.
  • 44. The method of claim 39 wherein identifying qualifying instant messages that satisfy the capture rule includes identifying all the received instant messages.
  • 45. The method of claim 39 wherein informing the user unobtrusively of the captured instant messages includes informing the user of the captured instant messages without stealing focus from another interface for each qualifying instant message that is captured.
  • 46. The method of claim 39 wherein informing the user unobtrusively of the captured instant messages includes generating an unobtrusive audible or visible cue when at least one of the qualifying instant messages is captured.
  • 47. The method of claim 39 wherein enabling the user to manage the captured instant messages includes enabling the user to respond to at least one of the captured instant messages.
  • 48. The method of claim 39 wherein enabling the user to manage the captured instant messages includes enabling the user to delete, ignore or block at least one of the captured instant messages.
  • 49. The method of claim 39 wherein enabling the user to manage the captured instant messages includes enabling the user to access information related to a message source of one of the captured instant message.
  • 50. The method of claim 39 wherein enabling the user to manage the captured instant messages includes enabling the user to organize the captured instant messages according to a plurality of predetermined categories.
  • 51. A system to manage instant messages, the system comprising: at least one processing device;a storage storing instructions, which when implemented, cause the processing device to implement: an input interface configured to receive instant messages created by or on behalf of one or more message sources for delivery to an intended recipient that is logged into the instant messaging system;a screening component configured to: identify, from among the received instant messages while the intended recipient is logged into the instant messaging system, qualifying instant messages that satisfy a capture rule, wherein the capture rule indicates that an instant message qualifies for capture based on an online status of the intended recipient, andcapture as captured instant messages two or more of the qualifying instant messages; andan output interface configured to inform the intended recipient unobtrusively of the captured instant messages and to enable the intended recipient to manage the captured instant messages.
  • 52. A computer-implemented method of managing instant messages, the method comprising: receiving instant messages created by or on behalf of one or more message sources for delivery to a user;identifying, from among the received instant messages, qualifying instant messages that satisfy a capture rule;capturing two or more of the qualifying instant messages; andpresenting the user with a captured message interface that enables the user to: view a list of all captured instant messages; andselect one instant message from the list of captured instant messages and respond to the selected captured instant message in a new instant messaging window.
CLAIM OF PRIORITY

This application claims priority under 35 USC §119(e) to U.S. Provisional Application Ser. No. 60/531,988, filed on Dec. 24, 2003 and U.S. Provisional Application Ser. No. 60/500,369, filed Sep. 5, 2003, the entire contents of each application is hereby incorporated by reference.

US Referenced Citations (140)
Number Name Date Kind
5086394 Shapira Feb 1992 A
5101424 Clayto et al. Mar 1992 A
5276905 Hurst Jan 1994 A
5548637 Heller Aug 1996 A
5619648 Canale et al. Apr 1997 A
5694616 Johnson Dec 1997 A
5793365 Tang Aug 1998 A
5796948 Cohen Aug 1998 A
5802470 Gaulke Sep 1998 A
5835722 Bradshaw et al. Nov 1998 A
5867162 O'Leary Feb 1999 A
5940488 DeGrazia Aug 1999 A
5987113 James Nov 1999 A
5999932 Paul Dec 1999 A
6065047 Carpenter May 2000 A
6065056 Bradshaw et al. May 2000 A
6073138 de l'Etraz et al. Jun 2000 A
6076100 Cottrille et al. Jun 2000 A
6088435 Barber Jul 2000 A
6112181 Shear Aug 2000 A
6128739 Fleming, III Oct 2000 A
6161130 Horvitz et al. Dec 2000 A
6175831 Weinreich et al. Jan 2001 B1
6199103 Sakaguchi et al. Mar 2001 B1
6247043 Bates Jun 2001 B1
6269369 Robertson Jul 2001 B1
6301609 Aravamudan et al. Oct 2001 B1
6311211 Shaw Oct 2001 B1
6324541 de l'Etraz Nov 2001 B1
6330590 Cotten Dec 2001 B1
6347332 Malet Feb 2002 B1
6374246 Matsuo Apr 2002 B1
6374290 Scharber et al. Apr 2002 B1
6389372 Glance et al. May 2002 B1
6393464 Dieterman May 2002 B1
6415318 Aggarwal Jul 2002 B1
6421439 Liffick Jul 2002 B1
6421675 Ryan Jul 2002 B1
6421709 McCormick et al. Jul 2002 B1
6430604 Ogle Aug 2002 B1
6449634 Capiel Sep 2002 B1
6480885 Olivier Nov 2002 B1
6507866 Barchi Jan 2003 B1
6519639 Glasser et al. Feb 2003 B1
6549937 Auerbach Apr 2003 B1
6571234 Knight May 2003 B1
6615241 Miller et al. Sep 2003 B1
6640218 Golding Oct 2003 B1
6647383 August Nov 2003 B1
6677968 Appelman Jan 2004 B1
6678719 Stimmel Jan 2004 B1
6697807 McGeachie Feb 2004 B2
6731308 Tang May 2004 B1
6732155 Meek May 2004 B2
6750881 Appelman Jun 2004 B1
6772188 Cloutier Aug 2004 B1
6788769 Waites Sep 2004 B1
6800031 Di Cesare Oct 2004 B2
6832245 Isaacs Dec 2004 B1
6901559 Blum May 2005 B1
6912563 Parker Jun 2005 B1
6917965 Gupta Jul 2005 B2
7039639 Brezin May 2006 B2
7117254 Lunt et al. Oct 2006 B2
7177880 Ruvoio Feb 2007 B2
7181498 Zhu et al. Feb 2007 B2
7188153 Lunt et al. Mar 2007 B2
7269590 Hull et al. Sep 2007 B2
7313760 Grossman Dec 2007 B2
20010005861 Mousseau Jun 2001 A1
20020042830 Bose et al. Apr 2002 A1
20020049806 Gatz et al. Apr 2002 A1
20020065856 Kisiel May 2002 A1
20020065894 Dalal May 2002 A1
20020083136 Whitten, II Jun 2002 A1
20020091667 Jaipuria et al. Jul 2002 A1
20020103801 Lyons Aug 2002 A1
20020112181 Smith Aug 2002 A1
20020116463 Hart Aug 2002 A1
20020116641 Mastrianni Aug 2002 A1
20020133369 Johnson Sep 2002 A1
20020175953 Lin Nov 2002 A1
20020178161 Brezin Nov 2002 A1
20020181703 Logan et al. Dec 2002 A1
20020184089 Tsou Dec 2002 A1
20020199095 Bandini et al. Dec 2002 A1
20030004855 Dutta Jan 2003 A1
20030004872 Gardi Jan 2003 A1
20030023684 Brown et al. Jan 2003 A1
20030023875 Hursey Jan 2003 A1
20030028524 Keskar Feb 2003 A1
20030028595 Vogt et al. Feb 2003 A1
20030037112 Fitzpatrick Feb 2003 A1
20030050916 Ortega Mar 2003 A1
20030055831 Ryan Mar 2003 A1
20030065721 Roskind Apr 2003 A1
20030088554 Ryan May 2003 A1
20030101226 Quine May 2003 A1
20030105822 Gusler Jun 2003 A1
20030131061 Newton Jul 2003 A1
20030167324 Farnham et al. Sep 2003 A1
20030172349 Katayama Sep 2003 A1
20030187813 Goldman Oct 2003 A1
20040019650 Auvenshine Jan 2004 A1
20040054736 Daniell Mar 2004 A1
20040056901 March Mar 2004 A1
20040117443 Barsness Jun 2004 A1
20040122681 Ruvolo Jun 2004 A1
20040122810 Mayer Jun 2004 A1
20040122855 Ruvolo Jun 2004 A1
20040154022 Boss et al. Aug 2004 A1
20040186738 Reisman Sep 2004 A1
20040201624 Crawford Oct 2004 A1
20040210844 Pettinati Oct 2004 A1
20040215648 Marshall Oct 2004 A1
20040215721 Szeto Oct 2004 A1
20040215793 Ryan et al. Oct 2004 A1
20040221309 Zaner Nov 2004 A1
20050015432 Cohen Jan 2005 A1
20050021750 Abrams Jan 2005 A1
20050027382 Kirmse Feb 2005 A1
20050038856 Krishnasamy Feb 2005 A1
20050050143 Gusler Mar 2005 A1
20050055416 Heikes Mar 2005 A1
20050076240 Appleman Apr 2005 A1
20050076241 Appelman Apr 2005 A1
20050114229 Ackley May 2005 A1
20050177486 Yeager Aug 2005 A1
20050197846 Pezaris Sep 2005 A1
20050198131 Appelman Sep 2005 A1
20050198172 Appelman Sep 2005 A1
20050198268 Chandra Sep 2005 A1
20050216300 Appelman et al. Sep 2005 A1
20050246420 Little Nov 2005 A1
20060031772 Valeski Feb 2006 A1
20060129678 Morita Jun 2006 A1
20070250566 Appelman Oct 2007 A1
20080255989 Altberg et al. Oct 2008 A1
20090043844 Zimmet et al. Feb 2009 A1
20090070306 Stroe Mar 2009 A1
Foreign Referenced Citations (9)
Number Date Country
2357932 Jul 2001 GB
2368747 May 2002 GB
WO 0079396 Dec 2000 WO
WO 0106748 Jan 2001 WO
WO 0167787 Sep 2001 WO
WO 0203216 Jan 2002 WO
WO 2005086723 Sep 2005 WO
WO 2005089286 Sep 2005 WO
WO 2006068955 Jun 2006 WO
Related Publications (1)
Number Date Country
20050055416 A1 Mar 2005 US
Provisional Applications (2)
Number Date Country
60531988 Dec 2003 US
60500369 Sep 2003 US