Notification and disposition of multiple concurrent instant messaging sessions involving a single online identity

Notifying a user of multiple concurrent instant messaging sessions includes receiving a first request to establish a first instant messaging session associated with an instant messaging online identity assigned to a user using a first instant messaging controller and establishing the first instant messaging session in response to the first request. A second request is received to establish a second instant messaging session associated with the instant messaging online identity assigned to the user using a second instant messaging controller that differs from the first instant messaging controller. The second instant messaging session is established in response to the second request. A notification is communicated to at least the first instant messaging controller indicating the establishment of the second instant messaging session.

TECHNICAL FIELD

This document relates to techniques for notifying a user of multiple concurrent instant messaging sessions involving a single online identity.

BACKGROUND

Instant messaging is one manner in which people may communicate with other people. A user may be able access an instant messaging online identity multiple times from multiple different devices. For example, the user may log into the user's instant messaging online identity through an instant messaging application on the user's desktop personal computer at home. At the same time, the user may log into the same instant messaging online identity through an instant messaging application on the user's personal digital assistant. An instant message notification scheme is desirable to address those situations when the user is logged into the same instant messaging online identity multiple times, potentially from multiple different devices.

Like reference symbols in the various drawings may indicate like elements.

DETAILED DESCRIPTION

In general, a user may have multiple, simultaneous instant messaging sessions that are associated with a user's single instant messaging account or identity. The user may conduct the multiple, concurrent instant messaging sessions using multiple instant messaging controllers (e.g., software applications). For example, a user may establish an instant messaging session associated with the user's instant messaging online identity using an instant messaging controller on a personal computer. Concurrently, the user may establish another instant messaging session associated with the user's instant messaging online identity using an instant messaging controller on a mobile device. Thus, the user may log in using the same instant messaging online identity multiple times to establish multiple instant messaging sessions using different instant messaging controllers on different devices. With the establishment of each instant messaging session, the user's Buddy List or a portion of the user's Buddy List (e.g., a Buddy group) may be accessed and presented to the user, such that the user receives an indication of which buddies are online. The user may communicate using instant messages with the buddies from each of the different devices.

The user may log in using the same instant messaging online identity multiple times to establish multiple instant messaging sessions using different instant messaging controllers on different devices for different reasons. For example, the user may log in on both a mobile device and a desktop computing device so that the user may continue to communicate using instant messages on the mobile device when the user walks away from the desktop computing device.

In this example, with the establishment of each instant messaging session, a notification is sent to the user. The notification may be sent to and displayed on one or more of the devices where the user has established an instant messaging session. For example, the notification may be sent and displayed on the device where the user established the first instant messaging session. Additionally or alternatively, the notification may be sent and displayed on select devices or all of the devices where the user has established instant messaging sessions. In another exemplary implementation, the notification may be sent to fewer than all of the devices where the user has established an instant messaging session using criteria such as, for example, the state of the instant messaging session, to determine which devices to send the notification. By informing the user of the existence of multiple concurrent instant messaging sessions, the user is aided in guarding against a person establishing an instant messaging session using the user's online identity without the user's knowledge.

In one exemplary implementation, a notification may be sent to the user upon the occurrence of certain events in an instant messaging session. For instance, a periodic notification may be sent to the user that indicates the number and/or locations of the instant messaging sessions that are established for the user. Also, a notification may be sent when an instant messaging session is terminated or upon the occurrence of other triggers.

The notification may be in one or more forms. For example, the notification may be in the form of an instant message. Additionally or alternatively, the notification may be in the form of an alert (e.g., a pop-up window, a flashing icon, a notification within the buddy list interface, or a scrolling alert) or other visible and/or audible or otherwise perceivable indication including any perceivable state change in any user interface visible to the user.

FIG. 1illustrates an exemplary process100for notifying a user when there are multiple, concurrent instant messaging sessions using the same instant messaging online identity. A first request is received to establish a first instant messaging session associated with an instant message online identity assigned to a user using a first instant messaging controller (step110). In response to the first request, the first instant messaging session is established (step120). A second request is received from the user to establish a second instant messaging session associated with the instant messaging online identity assigned to the user using a second instant messaging controller that differs from the first instant messaging controller (step130). In response to the second request, the second instant messaging session is established (step140). A notification is communicated to at least the first instant messaging controller indicating the establishment of the second instant messaging session (step150). In one exemplary implementation, the notification may be communicated only to previously logged in instant messaging controllers. In another exemplary implementation, the notification may be communicated to all of the instant messaging controllers. The notification settings and preferences may be configured by the user.

The user may request to establish an instant messaging session associated with an instant messaging online identity using an instant messaging controller (steps110and130). References to the user request to establish an instant messaging session include user initiated actions on a device having an instant messaging controller and any automated request that an instant messaging controller on a device may initiate to establish an instant messaging session. Thus, the request to establish an instant messaging session does not necessarily require a manually triggered request from the user but instead may be, for example, the automatic launch of an instant messaging controller as part of the start-up sequence for a device or upon the detection of a connection to a communications network, such as the Internet.

Typically, a user is associated with an instant messaging online identity. The instant messaging online identity may be maintained at a remote location by an instant messaging service provider. In one implementation, a user may subscribe to an instant messaging online identity with a commercial instant messaging service provider, such as those provided by America Online, Inc., Yahoo, Inc., Microsoft, Inc., and other instant messaging service providers. In another implementation, a user may be a part of an enterprise instant messaging service and may have an instant messaging online identity as part of the enterprise system, such as a corporate instant messaging service. In some cases, the instant messaging online identity may be part of both a commercially available instant message service provider and an enterprise instant message provider. In yet another implementation, the user may have an instant messaging online identity in a point-to-point (“P2P”) instant messaging system.

The instant messaging online identity may be accessed by the user through the use of the online identity and a password. For example, the online identity may include a set of alphanumeric characters, symbols, tokens, or other types of online identities. In one implementation, a screen name may be used as the online identity. The instant messaging online identity typically includes information related to the user such as a user's profile. The user's profile may include the user's preferences and a user-defined list of other co-users or co-subscribers, which may be called a user's buddy list.

In general, a user's buddy list may be maintained with or accessible as part of a user's profile and may be made accessible using a user interface (UI) that provides the online status and capabilities of certain screen names, i.e., “buddies,” identified by the user. In particular, the instant message service provider may inform the user whether or not identified buddies are online, i.e., currently accessing the instant messaging service provider, enterprise host, or PTP node, as the case may be. The instant message service provider also informs any other user who has identified the user as a buddy that the user is currently online.

An instant messaging session includes a time from when a user requests and establishes the instant messaging session until the user logs off or is otherwise disconnected from the instant messaging session. A single instant messaging session may include one or more separate instant message exchanges with one or more buddies. An instant message may include a text or non-text (e.g., audio, video) instant message.

In one implementation, one aspect of establishing the instant messaging session (steps120and140) includes notifying the user of his buddies that are online and notifying other users, who list the user as a buddy, that the user is online. When the first instant messaging session is established (step120), the other users may be notified that the user is online. When the second instant messaging session is established (step140), the other users may not be re-notified that the user is online because the second instant messaging session is associated with the same instant messaging online identity as the first instant messaging session.

An instant messaging session may be established using an instant messaging controller and a device. An example of a device is a general-purpose computer capable of responding to and executing instructions in a defined manner. Other examples include a special-purpose computer, a personal computer (“PC”), a workstation, a server, a laptop, a cellular communications device, a Web-enabled telephone, a personal digital assistant (“PDA”), a Web-enabled PDA, an interactive television set, a settop box, a video tape recorder (“VTR”), a DVD player, an on-board (i.e., vehicle-mounted) computer, or any other component, machine, tool, equipment, or some combination thereof capable of responding to and executing instructions.

An example of a controller, including an instant messaging controller, is a software application (e.g., operating system, browser application, microbrowser application, server application, proxy application, gateway application, tunneling application, e-mail application, instant messaging client, online service provider client application, interactive television client application, and/or Internet service provider client) loaded on a device to command and direct communications enabled by the device. Other examples include a computer program, a piece of code, an applet, a Java applet, a script, an instruction, another device, or some combination thereof, for independently or collectively instructing the device to interact and operate as desired. The controller may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, storage medium, or propagated signal capable of providing instructions to a device. In particular, the controller (e.g., software application, computer program) may be stored on a storage media or device (e.g., ROM, magnetic diskette, or propagated signal) readable by a general or special purpose programmable computer, such that if the storage media or device is read by a computer system, the functions described herein are performed.

A buddy list may be used to facilitate instant messaging communications between users. For example, a user can activate an instant messaging user interface that is pre-addressed to a buddy simply by selecting the screen name of an online buddy from the buddy list.

Alternatively, by way of example, if a recipient is not a “buddy,” the first user generally initiates instant messaging communications by activating a blank instant messaging user interface and then addressing that interface to the online identity (e.g., screen name) of the intended recipient. When necessary, a user may look up the screen name of an intended recipient using the intended recipient's e-mail address or other means.

In response to receiving a request from the user to establish an instant messaging session (steps110and130), the instant messaging session is established (steps120and140). After the user establishes an instant messaging session (steps120and140), a notification is communicated to at least the first instant messaging controller indicating the establishment of the second instant messaging session (step150). The notification may be made visually and/or audibly perceptible to the user on the device that is running the instant messaging controller.

Referring toFIG. 2A, an exemplary screenshot200is provided to illustrate the notification communicated to and made visually perceptible to the user. In this instance, the user first establishes an instant messaging session using an online identity “User1” from a first instant messaging controller. When the same online identity “User1” establishes a second instant messaging session from a second instant messaging controller, a notification in the form of an instant message210, time stamped at 10:24 am, is sent to the online identity “User1” notifying the user that the online identity has signed in from another location. The message also notifies the user that the online identity is currently signed on at two locations.

When the same online identity “User1” establishes a third instant messaging session from a third instant messaging controller, a second notification in the form of an instant message220, time stamped at 10:58 am, is sent to the online identity “User1” notifying the user that the online identity has signed in from a third location. This example is shown in the tabbed IM form.

In one exemplary implementation, the notification may include more specific information regarding the other instant messaging sessions. For instance, the notification may include the location and/or device225aand225bon which the instant messaging session is established. Other metadata-type information such as the online time and idle time230aand230bof the other instant messaging sessions also may be made perceivable or selectable for perception by a user, as may be the content or history displayed on the screen of the other instant messaging session. The user also may be given an option to close a specific instant messaging session235aand235band/or may be given an option to close all of the other instant messaging sessions240.

In one implementation, instant messaging sessions are established by an instant messaging provider using, for example, an instant messaging server. The instant message server may include a collection of one or more related servers that perform one or more instant messaging functions, including receiving requests to establish instant messaging session, establishing the instant messaging sessions, tracking users who have established one or more instant messaging sessions with their instant messaging online identity, and communicating notification to one or more of the instant messaging controllers indicating the establishment of instant messaging sessions subsequent to the first instant messaging session.

When one of these options235a,235b, or240are selected, a communication may be sent to the instant messaging server to close one or all of the other instant messaging sessions. The instant messaging server may close the selected instant messaging sessions and a notification may be sent to the instant messaging controller that indicates the selected instant messaging sessions was closed.

Referring toFIG. 2B, an exemplary screenshot250is provided to illustrate the notification communicated to and made visually perceptible to the user. Screenshot250includes a notification in the form of an instant message260that notifies the user that their online identity (i.e., screen name) is currently signed on at 2 locations. The notification260also informs the user that to sign off of the other location, the user can reply to the notification with the number 1. Thus, if the user wants to sign off of the instant messaging controller at the other device, the user can reply to the instant message by typing “1” in the text box270and sending the instant message. Upon receipt of the instant message, the instant messaging provider, for example at the instant messaging server, signs the user off of the other instant messaging controller at the other device.

Referring toFIG. 3, an exemplary table300illustrates a relationship that may be maintained to track the established, multiple concurrent instant messaging sessions for an online identity on a per device basis and/or address basis. Table300may be tracked by the intermediary, such as, for example, the instant messaging server described above for each online identity305. An online identity's305established instant messaging sessions may be tracked by device310and/or by an address of the device, such as, the Internet Protocol (IP) address the device used to establish the instant messaging session320. In exemplary table300, the online identity “User1” has established three instant messaging sessions: an instant messaging session on the online identity's home personal computer, designated in the table as “PC-Home”; an instant messaging session on the online identity's laptop computer, designated in the table as “Laptop”; and an instant messaging session on the online identity's cellular phone, designated in the table as “Cellular Phone.” The online identity “User2” has two established instant messaging sessions: an instant messaging session on the online identity's home personal computer, designated in the table as “PC-Home” and an instant messaging session on the online identity's personal digital assistant (PDA), designated in the table as “PDA.” In one exemplary implementation, a token or other identifier that is associated with a particular device or a particular instant messaging controller on a specific device may be used to identify the device from which the instant messaging session is established. The token or other identifier may be associated with the device or instant messaging controller on the device during the installation process. For example, the user may be asked to identify the device and name the device during the installation process. Alternatively, the instant messaging controller may automatically determine the type of device that that controller is being installed on and/or is operating on.

When the instant messaging session is being established, the token or other identifier is communicated to the instant messaging server along with the IP address and the online identity and that information is used to populate table300. Each time that the online identity establishes an instant messaging session the table300may be checked to determine whether the online identity already has an established instant messaging session. If an instant messaging session is already established and it is from a different device and/or IP address, then a notification may be sent to at least the instant messaging controller from which the first instant messaging session was established.

The information contained in Table300may be considered metadata, which may be made perceivable to the user in the notification that is sent to the instant messaging controller. Other information that may be tracked for each online identity may include idle time325and online time330. This other information also may be made perceivable to the user in the notification that is sent to the instant messaging controller.

FIGS. 4 and 5illustrate an exemplary block diagram400and500of a communications system that may be used as part of the implementation of the features described above.

For illustrative purposes,FIGS. 4 and 5show an example of a communications system for implementing techniques for transferring electronic data, including instant messages. For brevity, several elements in the figures described below are represented as monolithic entities. However, as would be understood by one skilled in the art, these elements each may include numerous interconnected computers and components designed to perform a set of specified operations and/or may be dedicated to a particular geographical region.

Referring toFIG. 4, a communications system400is capable of delivering and exchanging data between a user system405and a provider system410through a communications link415. The user system405may include a client system and the provider system410may include a host system. The user system405typically includes one or more user devices420and/or user controllers425, and the provider system410typically includes one or more provider devices435and/or provider controllers440. For example, the user system405or the provider system410may include one or more general-purpose computers (e.g., personal computers), one or more special-purpose computers (e.g., devices specifically programmed to communicate with each other and/or the user system405or the provider system410), or a combination of one or more general-purpose computers and one or more special-purpose computers. The user system405and the provider system410may be arranged to operate within or in concert with one or more other systems, such as, for example, one or more Local Area Networks (“LANs”) and/or one or more Wide Area Networks (“WANs”).

The provider system410may include a communication interface such as an electronic mail gateway. For instance, the provider system410may include a dedicated mailing system that is implemented by specialized hardware or executed by a general purpose processor capable of running various applications, such as electronic mailer programs, and capable of employing various file transfer protocols, such as the Simple Mail Transfer Protocol (“SMTP”). The communications interface of provider system410enables communications between the provider system410and other systems through, for example, communications link415.

The user device420(or the provider device435) is generally capable of executing instructions under the command of a user controller425(or a provider controller440). The user device420(or the provider device435) is connected to the user controller425(or the provider controller440) by a wired or wireless data pathway430or445capable of delivering data.

The user device420, the user controller425, the provider device435, and the provider controller440each typically include one or more hardware components and/or software components. An example of a user device420or a provider device435is a general-purpose computer (e.g., a personal computer) capable of responding to and executing instructions in a defined manner. Other examples include a special-purpose computer, a workstation, a server, a device, a component, other physical or virtual equipment or some combination thereof capable of responding to and executing instructions. The user device420and the provider device435may include devices that are capable of peer-to-peer communications.

An example of a user controller425or a provider controller440is a software application loaded on the user device420or the provider device435for commanding and directing communications enabled by the user device420or the provider device435. Other examples include a program, a piece of code, an instruction, a device, a computer, a computer system, or a combination thereof, for independently or collectively instructing the user device420or the provider device435to interact and operate as described. The user controller425and the provider controller440may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, storage medium, or propagated signal capable of providing instructions to the user device420or the provider device435.

The communications link415typically includes a delivery network460making a direct or indirect communication between the user system405and the provider system410, irrespective of physical separation. Examples of a delivery network460include the Internet, the World Wide Web, WANs, LANs, analog or digital wired and wireless telephone networks (e.g., PSTN, ISDN, and xDSL), radio, television, cable, satellite, and/or any other delivery mechanism for carrying data. The communications link415may include communication pathways450and455that enable communications through the one or more delivery networks460described above. Each of the communication pathways450and455may include, for example, a wired, wireless, cable or satellite communication pathway.

An electronic information store480may be connected to the provider system410, included as a component of the provider system410, and/or connected to the delivery network460. The electronic information store480may be a repository for electronic information that may be in an indexed and/or searchable format. For example, in one implementation, the electronic information store480may be used to store information related to instant messaging online identities.

FIG. 5illustrates a communications system500including a user system505communicating with a provider system510through a communications link515. User system505typically includes one or more user devices520and one or more user controllers525for controlling the user devices520. Provider system510typically includes one or more provider devices535and one or more provider controllers540for controlling the provider devices535. The communications link515may include communication pathways550and555that enable communications through the one or more delivery networks560.

Examples of each element within the communications system ofFIG. 5are broadly described above with respect toFIG. 4. In particular, the provider system510and communications link515typically have attributes comparable to those described with respect to the provider system410and the communications link415ofFIG. 4. Likewise, the user system505ofFIG. 5typically has attributes comparable to and illustrates one possible implementation of the user system405ofFIG. 4.

The user device520typically includes a general-purpose computer570having an internal or external storage572for storing data and programs such as an operating system574(e.g., DOS, Windows™, Windows 95™, Windows 98™, Windows 2000™, Windows Me™, Windows XP™, Windows NTT™, OS/2, or Linux) and one or more application programs. Examples of application programs include authoring applications576(e.g., word processing programs, database programs, spreadsheet programs, or graphics programs) capable of generating documents or other electronic content; client applications578(e.g., stand alone e-mail client or AOL client, CompuServe client, AIM client, AOL TV client, or ISP client, all of which may include a built-in or embedded e-mail or instant messaging client) capable of communicating with other computer users, accessing various computer resources, and viewing, creating, or otherwise manipulating electronic content; and browser applications580(e.g., Netscape's Navigator or Microsoft's Internet Explorer) capable of rendering standard Internet content and also capable of supporting a web-based e-mail client and a web-based instant messaging client.

The general-purpose computer570also includes a central processing unit582(CPU) for executing instructions in response to commands from the user controller525. In one implementation, the user controller525includes one or more of the application programs installed on the internal or external storage572of the general-purpose computer570. In another implementation, the user controller525includes application programs stored in and performed by one or more device(s) external to the general-purpose computer570.

The general-purpose computer also includes a communication device584for sending and receiving data. One example of the communication device584is a modem. Other examples include a transceiver, a set-top box, a communication card, a satellite dish, an antenna, or another network adapter capable of transmitting and receiving data over the communications link515through a wired or wireless data pathway550. The general-purpose computer570also may include a TV tuner586for receiving television programming in the form of broadcast, satellite, and/or cable TV signals. As a result, the user device520can selectively and/or simultaneously display network content received by communications device584and television programming content received by the TV tuner586.

The general-purpose computer570typically includes an input/output interface588for wired or wireless connection to various peripheral devices590. Examples of peripheral devices590include, but are not limited to, a mouse591, a mobile phone592, a personal digital assistant593(PDA), a MP3 player (not shown), a keyboard594, a display monitor595with or without a touch screen input, a TV remote control596for receiving information from and rendering information to subscribers, and an audiovisual input device598.

AlthoughFIG. 5illustrates devices such as a mobile telephone592, a PDA593, and a TV remote control596as being peripheral with respect to the general-purpose computer570, in another implementation, such devices may themselves include the functionality of the general-purpose computer570and operate as the user device520. For example, the mobile phone592or the PDA593may include computing and networking capabilities and function as a user device520by accessing the delivery network560and communicating with the provider system510. Furthermore, the user system505may include one, some or all of the components and devices described above.

It will be understood that various modifications may be made without departing from the spirit and scope of the claims. For example, advantageous results still could be achieved if steps of the disclosed techniques were performed in a different order and/or if components in the disclosed systems were combined in a different manner and/or replaced or supplemented by other components. Accordingly, other implementations are within the scope of the following claims.