# Patent

## Title
Alerts for monitoring user status

## Abstract

A method of monitoring a user of a communication system includes enabling a first user to initiate monitoring of a second user, automatically monitoring status of activity by the second user on the communication system, and delivering to the first user, one or more of an indication that the second user has added or changed a profile or away message, received a new or updated profile or away message comment, visited an Internet location, engaged in communication device activity, or has generated audio or visual input.

## Background
This application is a continuation of and claims the benefit of priority of U.S. patent application Ser. No. 11/553.768, filed Oct. 27, 2006, (now allowed), which claims the benefit of U.S. Provisional Application No. 60/794,126, filed Apr. 24, 2006. The disclosures of the above-referenced applications are expressly incorporated herein by reference in their entireties.


TECHNICAL FIELD
This application relates to monitoring a user of a computer system.
BACKGROUND
Individuals may wish to monitor characteristics of other individuals using electronic devices.
SUMMARY
A method of monitoring a user of a communication system includes enabling a first user to initiate monitoring of a second user, automatically monitoring status of activity by the second user on the communication system, and delivering to the first user, one or more of an indication that the second user has added or changed a profile or away message, received a new or updated profile or away message comment, visited an Internet location, engaged in communication device activity, or has generated audio or visual input.
The method may include other features. For example, the status of activity by the second user may be monitored on multiple communications devices, such as a wireless phone or personal digital assistant.
Delivering an indication to the first user may include delivering an instant message, delivering an email, or delivering a short message service message. Delivering an indication to the first user may also include delivering user history statistics associated with the second user.
The method may include enabling the first user to specify a form in which the indication is delivered. The form may be based on the monitored activity by the second user. The first user may specify that multiple forms of indications be sent based on one monitored activity.
Delivering an indication to the first user may also include delivering an indication that the second user has engaged in a telephone call, delivering an indication which includes at least a summary or partial content of a second user's away message or profile, delivering an indication which includes a comment made about the second user's away message or profile, delivering an internet protocol address or a media access control address, delivering an indication that the second user has generated input using a microphone, or delivering an indication that the second user has generated input using a camera.
The method may also include enabling the first user to respond to the monitoring indication by sending a reply to the second user. The first user may specify the form of the reply sent to the second user.
The details of one or more implementations are set forth below. Other features and advantages will be apparent from the description and drawings, and from the claims,



DESCRIPTION OF DRAWINGS
FIG. 1 illustrates an exemplary block diagram of a system to provide indications of a user status.
FIG. 2 illustrates an exemplary flow chart of a process to grant or deny access to indications of user status.
FIG. 3 illustrates an exemplary flow chart of a process to provide indications of a user status.
FIG. 4 illustrates an exemplary flow chart of a process to trigger monitoring indications from user actions.
FIG. 5 is an exemplary graphic user interface of an instant message based monitoring indication.
FIG. 6 is an exemplary graphic user interface of an email based monitoring indication.
FIG. 7 is an exemplary graphic user interface of a short message service message based monitoring indication.



Like reference symbols in the various drawings indicate like elements.
DETAILED DESCRIPTION
Referring to FIG. 1, a system 100 is configured to permit the status of a user of a first client 110 to be monitored by a user of a second client 150. The system 100 includes the first client 110, a first network 120, a host 130, a second network 140, and the second client 150.
Each of the first client 110, the host 130, and the second client 150 may be implemented by for example, a general-purpose computer capable of responding to and executing instructions in a defined manner, a personal computer, a special-purpose computer, a workstation, a server, a device, a component, other equipment or some combination thereof capable of responding to and executing instructions. The first client 110, the host 130, and the second client 150 may be configured to receive instructions from, for example, a software application, a program, a piece of code, a device, a computer, a computer system, or a combination thereof, which independently or collectively direct operations, as described herein. The instructions may be embodied permanently or temporarily in any type of machine, component, equipment, storage medium, or propagated signal that is capable of being delivered to the first client 110, the host 130, and the second client 150.
The first client 110 and the second client 150 may include one or more devices capable of accessing content on the host 130. The host 130 may include a general-purpose computer (e.g., a personal computer (PC)) capable of responding to and executing instructions in a defined manner, a workstation, a notebook computer, a PDA (“Personal Digital Assistant”), a wireless phone, a component, other equipment, or some combination of these items that is capable of responding to and executing instructions.
In one implementation, each of the first client 110 and the second client 150 includes one or more information retrieval software applications (e.g., a browser, a mail application, an instant messaging client, an Internet service provider client, or a media player) capable of receiving one or more data units. The information retrieval applications may run on a general-purpose operating system and a hardware platform that includes a general-purpose processor and specialized hardware for graphics, communications and/or other capabilities. In another implementation, the first client 110 and the second client 150 may include a wireless telephone running a micro-browser application on a reduced operating system with general purpose and specialized hardware capable of operating in mobile environments.
More particularly, the first client 110 may be configured to receive indications of a user status for a user of the first client 110. The indications may detail status changes, profile changes, or user activities. The indications may be delivered in the form of an instant message (IM), email, short message service (SMS) message, or other text-based, graphical, or audio message. The second client 150 may be configured to provide information associated with the status indications to another client (e.g. the first client 110) or the host 130.
The first network 120 and second network 140 include hardware and/or software capable of enabling direct or indirect communications between the first client 110 or the second client 150 and the host 130. As such, the networks 120 and 140 may include a direct link between the first client 110 or the second client 150 and the host 130, or they may include one or more networks or sub networks between them (not shown). Each network or sub network may include, for example, a wired or wireless data pathway capable of carrying and receiving data. Examples of the delivery network include the Internet, the World Wide Web, a WAN (“Wide Area Network”), a LAN (“Local Area Network”), analog or digital wired and wireless telephone networks, radio, television, cable, satellite, and/or any other delivery mechanism for carrying data. Optionally, the network 120 linked to the first client 110 may be the same network as the network 140 linked to the second client 150.
The host 130 may include a general-purpose computer having a central processor unit (CPU), and memory/storage devices that store data and various programs such as an operating system and one or more application programs. Other examples of a host 130 includes a workstation, a server, a special purpose device or component, a broadcast system, other equipment, or some combination thereof capable of responding to and executing instructions in a defined manner. The host 130 also may include an input/output (I/O) device (e.g., video and audio input and conversion capability), and peripheral equipment such as a communications card or device (e.g., a modem or a network adapter) for exchanging data with the networks 120 and 140.
The host 130 is generally capable of executing instructions under the command of a controller. The host 130 may be used to exchange content with the first client 110 and the second client 150. The controller may be implemented by a software application loaded on the host 130 for commanding and directing communications exchanged with the first client 110 and the second client 150. Other examples of the controller 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 client 110 or the host 130 to interact and operate as described. The host 130 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.
The host 130 may be configured to receive information associated with the status of users of the clients 110 and 150, and other clients. The host 130 may determine whether the information is to be delivered as an indication to a user. The indication may be delivered in the form of an IM, email, SMS message, or other text-based, graphical, or audio message that may be received by the user.
Referring to FIG. 2, a process 200 may be used to grant or deny request decision for a request to monitor a user status. The process 200 is optional, as some implementations may not include a grant or deny request. The process 200 may be implemented on the system 100 of FIG. 1, or another system.
The process 200 begins when a first user sends a request to monitor the second user (210). In one implementation, the request is sent to a host. In another implementation, the request is sent to the second user. The request may contain monitoring options. The monitoring options may detail types of events for which the first user wishes to receive indications, such as profile updates or activity level. The monitoring options may also include the preferred method of indication delivery, such as IM or SMS message.
The second user receives the request to monitor the second user and grants or denies the request (220). The second user may select whether to specifically grant or deny the first user's request, or the decision may be automatically determined. For example, in one implementation, all requests from users on a list (e,g., a “buddy list”) are automatically granted, and all requests from users not on the list are denied.
If the second user denies the request, the first user receives an indication of the request denial (230). If the second user grants the request, the second user may optionally select specific monitoring options for the first user (240). The monitoring options may include the same options as included in the first user's request (210), or may include different options. For example, a second user may select to allow the first user to receive indications directed to the second user's profile updates, but not allow indications directed to status changes.
The first user receives an indication of the request acceptance which may include selected options (250). The first user receives monitoring indications of the second user (260). The indications may be delivered in the form of an IM, email, short message service (SMS) message, or other text based message that may be received by the first user.
The previous description is an example implementation of the grant or deny request decision for a request to monitor a user status process. Other implementations may be organized differently and may include different steps. For example, the first user's request to monitor the second user may be initiated automatically by including the second user on a list (e.g. a “buddy list”). Further, the request to monitor the second user may be directed to a user other than the second user.
Referring to FIG. 3, a process 300 is shown to provide indications of a user status. The process 300 may occur after the grant or deny request decision for a request to monitor a user status process 200 is executed, or may occur independently. The process 300 may be implemented on the system 100 of FIG. 1, or another system.
The process 300 begins when the second user's behavior results in a monitoring indication (310). The behavior resulting in a monitoring indication may include being online, offline, away, present, idle, active, or adding or changing an away message or profile that may be stored on the host, client, or elsewhere. The behavior may also including executing applications on various platforms, surfing the web, and average activity times for instant messaging, email, chat, or running the client. For example, in one implementation, indications are delivered at specific intervals independent of the second user's status.
The host determines content and method for indication delivery (320). The content may include text describing the behavior, a summary of text associated with the behavior, or a quote of the text associated with the behavior.
For example, in one implementation, if the indication is directed towards an away status change, the indication states “second user is now away.” If the indication is directed towards an away message, the indication states “second user's away message is [followed by the complete contents of the away message].” If the indication is directed towards an updated profile, the indication states “second user's updated profile is [followed by a summary or excerpt of the update].”
The method for indication delivery may include an IM, email, SMS message, or other text-based, graphical, or audio message that may be received by the first user. The host may have a predetermined method for indication delivery for the first user, or may employ a set of rules to determine the method for indication delivery.
For example, in one implementation, the host has a stored order of preferred methods stating that if the first user is online, the host delivers the indication via IM. If the user is not online, the host delivers the indication via email. If the email fails or is “bounced,” the host delivers the indication via SMS. If all methods of indication delivery fail, a message detailing the failures may be presented to the second user.
If the IM method is determined, the first user receives an IM detailing the indication (330). Optionally, if the first user replies to the IM, the reply is sent to the second user as (340), for example, an IM.
If the email method is determined, the first user receives an email detailing the indication (350). Optionally, if the first user replies to the email, the reply is sent to the second user as (360), for example, an IM.
If the SMS method is determined, the first user receives an SMS detailing the indication (370). Optionally, if the first user replies to the SMS, the reply is sent to the second user as (380), for example, an IM.
The previous description is an example implementation of the provide indications of a user status process. Other implementations may be organized differently and may include different steps. For example, when determining message content, the host may take the method for indication delivery into account. If the method is email, a longer content may be chosen than if the method is IM or SMS. Also, multiple or all methods of indication delivery may be selected for a single monitoring indication.
Also, in various implementations, a monitoring indication may include user activity history. For example, user activity history may include user history statistics such as average IMs sent during hours of the day, most common usage time, or other activity statistics.
Further, in various implementations, computer input hardware may trigger a monitoring indication. For example, a microphone or webcam may trigger an indication when a sudden change of input is observed. The indications may include input from the computer input hardware. For example, if a webcam senses a user, an indication may be generated which includes a picture taken by the webcam.
Referring to FIG. 4, a process 400 is used to trigger monitoring indications from user actions. The process 400 may occur after the decision to want or deny a request to monitor a user status process 200 is executed, or may occur independently. The process 400 may be implemented on the system 100 of FIG. 1 or another system. The process 400 includes various triggers that may result in a monitoring indication. The triggers include a user status change 410, adding or updating a profile or away message 430, third-party Internet activity 450, or device-monitored activity 470.
A user status change 410 may result when the user changes status within an instant messaging program. The changed status 410 may include states such as online, offline, away, present, idle, active, or other states. In one implementation, the user may manually set a status change 410. In other implementations, the status change 410 is triggered automatically by a user's actions or behaviors. The status change 410 triggers a monitoring indication to a recipient in the form of an instant message 420 that specifies the new status of the user. The monitoring indication 420 may be sent as the status change occurs, periodically, or when requested by a recipient.
Another trigger results when the user adds or updates a profile or away message 430 within the instant messaging program. The added or updated profile or away message 430 may include the introduction, change, deletion, or receipt of comments for a profile or away message within the program. The added or updated profile or away message 430 triggers a monitoring indication to the recipient in the form of an instant message 440 detailing the added or updated profile or away message. In one implementation, when the user receives a comment directed to the user's away message, the recipient may receive a monitoring indication detailing the comment. For example, the user may receive the comment “great away message” in response to an active away message created by the user. The comment triggers a monitoring indication which is sent as an instant message to a recipient who is monitoring the user.
Another trigger results when the user engages in third-party Internet activity 450. The third-party Internet activity may include visiting a webpage, running file-sharing or instant messaging programs, running games, or other activities. The third-party Internet activity triggers a monitoring indication in the form on email specifying the monitored Internet activity 460. The email may include details of the user activity. For example, a user may run a second instant messaging program triggering a monitoring indication in the form of an email specifying the activity and when it occurred. In one implementation, the monitoring indication may be in the form of an instant message.
A trigger also may occur in response to user activity 470 monitored by a user device. The user device may be a wireless phone, a microphone, a webcam, a mouse, or another device associated with the user. The activity triggers a monitoring indication in the form of a SMS message 480 specifying the monitored activity. For example, a user may place a phone call on a wireless phone which triggers a monitoring indication in the form of a SMS message detailing that a phone call has been made. Other implementations may result in different monitoring indications. For example, in one implementation, when a user's webcam monitors an abrupt visual change, a picture is taken and emailed or instant messaged to a recipient.
The previous description is an example implementation of the process for triggering monitoring indications from user actions. Other implementations may be organized differently and may include different steps. For example, in one implementation, a recipient may request a mass monitoring indication which triggers an on-demand monitoring indication for a group of users to be detailed in an instant message to the recipient.
FIG. 5 is an exemplary graphic user interface (GUI) 500 of an instant message-based monitoring indication. The GUI 500 may be used to implement a process such as the process of FIG. 3.
The GUI includes an indication title 510, an indication description 520, an IM reply option 530, an email reply option 540, a profile comment option 550, a view monitoring indication settings option 560, and a text entry box 570. The indication title 510 introduces the indication and may include the username to which the indication is directed. The indication description 520 summarizes the monitoring indication and the trigger associated with the monitoring indication. The IM reply option 530 gives the option of replying to the indication by sending an IM to the monitored user. The email reply option 540 gives the option of replying to the indication by sending an email to the monitored user. The profile comment option 550 gives the option of replying to the indication by sending a comment to the profile of the monitored user. The view monitoring indication settings option 530 enables access to view, change, or request a change of the monitoring indication settings. The text entry box 570 enables input to be entered for delivery as an IM, email, or SMS message.
The IM monitoring indication may be sent and received in a variety of ways. For example, the GUI may be sent as an IM directed from the host, as an IM from an IM-bot, as am IM from the monitored user, or by another method.
FIG. 6 is an exemplary GUI 600 of an email based monitoring indication. The GUI 600 may be used to implement a process such as the process of FIG. 3.
The GUI includes an indication title 610, an indication description 620, an indication body 630, and an email reply option 640. The indication title 610 introduces the indication and may include the username to which the indication is directed. The indication description 620 summarizes the monitoring indication and the trigger associated with the monitoring indication. The indication body 630 presents a copy of the new away message that triggered the indication. The email reply option 640 gives the option of replying to the indication by sending an email to the monitored user.
The email monitoring indication may be sent and received in a variety of ways. For example, the email may be sent as an email directed from the host, as an email from the monitored user, or by another method.
FIG. 7 is an exemplary GUI 700 of a SMS-based-monitoring indication. The GUI 700 may be used to implement a process such as the process of FIG, 3.
The GUI includes an indication title 710, an indication description 720, and reply instructions 730. The indication title 710 introduces the indication and may include the username to which the indication is directed. The indication description 720 summarizes the monitoring indication and the trigger associated with the monitoring indication. The reply instructions 730 include instructions detailing reply options to the SMS message.
The SMS message monitoring indication may be sent and received in a variety of ways. For example, the SMS message monitoring may be sent as an email directed from the host, as an email from the monitored user, or by another method.
Other implementations are within the scope of the following claims.

## Claims

1. A method for maintaining profile information of a plurality of users of a communication system that electronically communicates user-submitted content, the method comprising the following operations performed by at least one processor:
on behalf of a first user of the communication system, monitoring profile information of a second user of the communication system;
determining that the second user has updated its profile associated with the communication system or received a comment related to its profile associated with the communication system;
determining one or more monitoring options selected by the second user; and
providing, to the first user, an indication that the second user has updated its profile associated with the communication system or received a comment related to its profile associated with the communication system, if allowed based on the one or more determined monitoring options,
wherein providing the indication to the first user comprises providing the indication using a medium for delivery determined according to one or more rules based on the first user's present connection with the communication system, and
wherein the medium for delivery includes an email message or a short message service message when the first user is not connected with the communication system.

2. The method of claim 1, wherein the at least one processor is part of a host system of the communication system and is configured to direct communications exchanged between the first user and the second user.

3. The method of claim 2, wherein the monitoring profile information of the second user of the communication system is performed in response to receiving a request from the first user to monitor the profile information of the second user.

4. The method of claim 3, wherein the request from the first user is received based on the first user including the second user on a communication list.

5. The method of claim 3, further comprising:
forwarding the request to the second user, wherein the request includes the one or more selectable monitoring options.

6. The method of claim 5, further comprising:
receiving, from the second user, notice of a selection of the one or more selectable monitoring options.

7. The method of claim 3, wherein the request from the first user includes identification of a requested medium for delivery of the indication, and further wherein the method comprises providing, to the first user, the indication according to the requested medium for delivery.

8. The method of claim 7, wherein the request from the first user includes identification of multiple requested mediums for delivery of the indication.

9. The method of claim 1, further comprising:
determining message content to be provided with the indication, the message content based in part on the determined medium for delivery of the indication.

10. The method of claim 1, wherein the medium for delivery includes a communication system message when the first user is connected with the communication system.

11. The method of claim 1, further comprising:
determining that new user-submitted content regarding the second user has been generated by a third user; and
providing, to the first user, an indication of the new user-submitted content, if allowed based on the one or more determined monitoring options.

12. The method of claim 1, wherein the indication provided to the first user enables the first user to respond to the indication by sending a reply to the second user.

13. A communication system that electronically communicates user-submitted content, the system comprising:
at least one non-transitory storage medium storing instructions; and
at least one processor that executes the instructions to perform operations comprising:
monitoring, in response to a monitoring request received from a first user of the communication system, profile information of a second user of the communication system;
determining that the second user has updated its profile associated with the communication system or received a comment related to its profile associated with the communication system;
determining one or more monitoring options selected by the second user;
providing, to the first user, an indication that the second user has updated its profile associated with the communication system or received a comment related to its profile associated with the communication system, if allowed based on the one or more determined monitoring options;
determining that new user-submitted content regarding the second user has been generated by a third user; and
providing, to the first user, an indication of the new user-submitted content, if allowed based on the one or more determined monitoring options.

14. The communication system of claim 13, wherein the request from the first user is received based on the first user including the second user on a communication list.

15. The communication system of claim 13, wherein the request from the first user includes identification of a requested medium for delivery of the indication, the operations further comprising providing, to the first user, the indication according to the requested medium for delivery.

16. A non-transitory computer-readable storage medium containing instructions, which, when executed by at least one processor, cause the at least one processor to:
monitor, on behalf of a first user of a communication system, profile information of a second user of the communication system;
determine that the second user has updated its profile associated with the communication system or received a comment related to its profile associated with the communication system;
determining one or more monitoring options selected by the second user; and
provide, to the first user, an indication that the second user has updated its profile associated with the communication system or received a comment related to its profile associated with the communication system, if allowed based on the one or more determined monitoring options,
wherein to provide the indication to the first user the at least one processor uses a medium for delivery determined according to one or more rules based on the first user's present connection with the communication system, and
wherein the medium for delivery includes an email message or a short message service message when the first user is not connected with the communication system.

17. A method for maintaining profile information of a plurality of users of a communication system that electronically communicates user-submitted content, the method comprising the following operations performed by at least one processor:
on behalf of a first user of the communication system, monitoring profile information of a second user of the communication system;
determining that the second user has updated its profile associated with the communication system or received a comment related to its profile associated with the communication system;
determining one or more monitoring options selected by the second user; and
providing, to the first user, an indication that the second user has updated its profile associated with the communication system or received a comment related to its profile associated with the communication system, if allowed based on the one or more determined monitoring options,
wherein the monitoring profile information of the second user of the communication system is performed in response to receiving a request from the first user to monitor the profile information of the second user, and
wherein determining one or more monitoring options comprises receiving, from the second user, notice of a selection of one or more selectable monitoring options.