EP1875363A2 - System and method for utilizing a presence service to advertise activity availability - Google Patents

System and method for utilizing a presence service to advertise activity availability

Info

Publication number
EP1875363A2
EP1875363A2 EP06740822A EP06740822A EP1875363A2 EP 1875363 A2 EP1875363 A2 EP 1875363A2 EP 06740822 A EP06740822 A EP 06740822A EP 06740822 A EP06740822 A EP 06740822A EP 1875363 A2 EP1875363 A2 EP 1875363A2
Authority
EP
European Patent Office
Prior art keywords
activity
client
service
inviting
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP06740822A
Other languages
German (de)
French (fr)
Other versions
EP1875363A4 (en
Inventor
Robert Paul Morris
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Swift Creek Systems LLC
Original Assignee
Swift Creek Systems LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Swift Creek Systems LLC filed Critical Swift Creek Systems LLC
Publication of EP1875363A2 publication Critical patent/EP1875363A2/en
Publication of EP1875363A4 publication Critical patent/EP1875363A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users

Definitions

  • the present invention relates to a presence service and more particularly to a method and system for utilizing a presence service to advertise availability to engage in an activity.
  • IM services provide a well known mechanism for allowing computer users to communicate online, for example, by sending a message or chatting with another user.
  • Such services are typically provided by AOL, MSN, Yahoo, and other similar service providers.
  • Certain data associated with users of such IM services is known as presence information.
  • Presence information typically consists of one or more presence tuples, which represent the status, an optional activity address, and other information relating to each user.
  • the status of the user can simply be open or closed, when the computer system will or will not accept instant messages for the user.
  • Other examples of the status of the user can include "online", “away from my desk", “stepped out", or "on the phone”. Based on the status of a user, other users may decide whether to initiate activities with the user.
  • Presence tuples may also include contact information.
  • Contact information includes contact addresses at which a user can be reached.
  • the contact addresses can include MMS, email, postal addresses, ftp addresses, phone number(s), facsimile numbers and other mechanisms available for reaching a particular user, as well as contact priorities.
  • Contact priorities indicate the best or preferred (highest priority) mechanism for reaching a user. For example, in certain instances, a user's email account may have a higher contact priority than his cell phone, and vice versa.
  • IM is one type of application which may be built which makes use of a presence service. More information on IM, presence services, and presence information can be found at the jabber.org/jeps site. For example document jep-0119.html is of interest.
  • the ietf.org site contains internet related documents related to presence information and IM. Such documents include draft-ietf-impp-cpim-pidf-08.txt in the internet-drafts section of the ietf.org site, as well as rfc2778.txt and rfc2779.txt in the RFC section of the ietf.org site.
  • a conventional friends list is often, supported.
  • Such a conventional friends list provides a user with information from the presence tuples of other users (e.g. other users of the IM service) who are associated with the user. More specifically, status information for the "friends" is provided in the friends list. For example, while a user is online, the conventional friends list is typically displayed in a window on the user's display. Using the friend's list, a user can determine whether to send a message to an entity on the friends list. For example, if a particular friend's status is "busy" or "away from my desk," the user may opt not to attempt to start a chat session with that particular friend.
  • a user is represented to the presence service through a presence client.
  • the presence client sends status information reflecting the user's status to the presence service via a presentity.
  • a presentity interacts with a presence service to provide presence information to the service concerning the presence client it represents.
  • the presentity may be a component of the presence client or an external service.
  • a PUA may be a component of the client or an external service.
  • the PUA is simply the interface with which the user interacts to change his/her status.
  • the presence client uses a watcher to retrieve presence information, such as friends list data, from a presence service.
  • a watcher interacts with the presence service to receive presence information concerning other users, for example.
  • Watchers come in several varieties. Two common varieties are fetchers which request presence information as needed and subscribers which subscribe to events related to presence tuple additions, deletions, updates, and other alterations.
  • the presence client displays presence data, e.g., the user's friends list, through a watcher user agent (WUA).
  • WUA watcher user agent
  • watchers and WUAs may be part of the presence client or may be external services used by or acting on behalf of the presence client.
  • presence tuples typically include information relating to a user's current status only. No information relating to the user's availability to participate in future or concurrent activities is provided. This can be problematic if the user is willing and available to participate in a concurrent or future activity.
  • a user For instance, a user is engaged in a business conference call and wants to have dinner with friends in an hour, but cannot contact his friends because of the conference call. While the presence information of the user indicates that he is "on the phone,” it does not indicate that the user would like to have dinner with his friends in an hour. Thus, the user's friends might make alternative plans for the evening.
  • the present invention provides a method and system for advertising over a network an invitation to engage in at least one activity.
  • a presence service on the network receives from an inviting presence client activity information related to at least one activity the inviting presence client is interested in participating.
  • the presence service then updates a tuple associated with the inviting presence client to include the information related to the activity, and sends the invitation to engage in the activity to at least one other presence client on the network.
  • FIG. 1 is a block diagram of a system according to one embodiment of the present invention.
  • FIG. 2 is a block diagram of an exemplary device according to one embodiment of the present invention.
  • FIG. 3 is an illustration of an exemplary user interface according to one embodiment of the present invention.
  • FIG. 4 is an exemplary presence tuple according to one embodiment of the present invention.
  • FIG. 5 is a high-level flowchart of a method for advertising an invitation to engage in an activity according to one embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a process for responding to an invitation to engage in an activity according to a preferred embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a method of automatically scheduling an activity according to one embodiment of the present invention.
  • the present invention relates to a presence service and more particularly to a method and system for utilizing a presence service to advertise a presence client's availability to engage in an activity.
  • the following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiments and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein.
  • Notify Allowing a presence service to provide information from a presence tuple to a WUA/watcher. Notifications may be point-to-point or broadcast; and
  • Probe Allowing a presence service to get information associated with a presence entity. This is equivalent to a Notify except that the presence service requests the data rather than having the presence client send the data unsolicited; and • Directed Publish/Notification: Allowing a client to issue a publish which results in a Notification to a specific presence client.
  • Request Roster Allowing a client to request a specific or default roster
  • Privacy lists can be described as rosters having a specific purpose of identifying presence clients that are to be blocked from interacting with the owner of the privacy list.
  • a method and system allows a user to utilize a presence service to advertise to selected invitees the user's availability to engage in an activity presently or in the future.
  • the method and system allows an invitee to select which, if any, of the activities offered the invitee is interested in, and if necessary, facilitates the scheduling of a mutually convenient time and place for the activity.
  • the method and system of the present invention is based on an instant messaging service framework.
  • Instant messaging is a well known mechanism for allowing real time communication between a first device and a second device over a network. Unlike other conventional methods of communication between client devices, e.g., electronic mail, IM provides a direct communication pipeline between the first and second devices so that a message is received and displayed in real time, i.e., as it is being entered in by a first user of the first client device. In addition to exchanging real time text messages, IM also permits real time sharing of other types of data, such as for example, static files and active content on a user's device.
  • a presence service is used to facilitate events and activities between presence clients.
  • FIG. 1 is a schematic block diagram of a system according to one embodiment of the present invention.
  • Client devices 100a, 100b, 100c collectively referred to as devices 100, communicate with one another through a network 200, such as the Internet.
  • a user 112 of a device e.g., the personal computer 100b, utilizes any of a plurality of presence clients 114 in the device 100b to communicate with other presence clients 114 in the other client devices 100a, 100c.
  • the user 112 is typically a human entity, the user 112 can also include services and applications (not shown) residing in the device 100 that use the presence clients 114 to indicate their respective presence information to other interested entities.
  • the system 10 includes a presence application server 300 that is accessible by the devices 100 through the network 200.
  • the presence application server 300 includes the presence service 310, an account service 320 and a proxy service 325.
  • the presence service 310 manages, e.g., receives, stores, updates and provides, global presence information for the presence service clients 114, user(s) 112, devices 100, and other components.
  • presence information typically includes the presence client's status and other information relating to each client.
  • the status of a client e.g., a user
  • Other examples of the client's status can include “online”, “away from my desk”, “stepped out”, or "on the phone.”
  • the presence information for a presence client 114 can also include contact information, which includes contact addresses at which the client can b ⁇ reached.
  • the contact addresses can include MMS, email, postal addresses, ftp addresses, phone number(s), facsimile numbers and other mechanisms available for reaching a particular client, as well as contact priorities.
  • the presence information is preferably stored in a presence data storage structure 330, such as a database, that is in communication with the presence application server 300.
  • the presence information can be in the form of a tuple for each presence service client.
  • the tuple associated with each presence service client can be a presence tuple.
  • the presence tuple is a structured format that fully describes and defines the presence information associated with the presence client 114.
  • the presence tuple can be part of a structured document using XML.
  • the presence data storage structure 330 is depicted as having a particular location remote from the devices 100, nothing prevents the storage structure 330 from being stored in another location.
  • all or a portion of the presence information may be stored in a memory structure (not shown) on the devices 100 or on another memory structure (not shown).
  • the account service 320 in the presence application server 300 manages client accounts and information related to presence clients other than presence information.
  • client related information can include a user- defined list of preferred contacts that can include friends, relatives, co-workers, etc., commonly referred to as a "friends list," and authentication information and authorization data for each contact on the list.
  • the client related information is preferably stored in a friends data storage structure 332, such as a database, that is in communication with the presence application server 300.
  • a friends data storage structure 332 can be located elsewhere.
  • all or a portion of the client related information may be stored in a memory structure (not shown) on the devices 100 or on another memory structure (not shown).
  • the friends data storage structure 332 is shown separately from the presence information data storage structure 330 for the sake of clarity. Those with ordinary skilled in the art would readily appreciate that the presence information and client related information can be stored separately or in the same data structure.
  • the proxy service 325 associated with the presence application server 300 serves as a proxy among the devices 100 in the network 200.
  • the proxy service 325 permits the devices 100 to communicate with one another through a firewall 250 in a known manner.
  • the proxy service 325 while shown in the presence application server 300 can reside in a separate server (not shown) or with the presence service 310.
  • FIG. 2 is a block diagram of an exemplary device, e.g., 100b, according to one embodiment of the present invention.
  • the client device 100b is a personal computer includes a plurality of presence clients 114a-114e through which a user 112 of the device 100b can be represented to the presence service 310 (FIG. 1).
  • the device 100b can include a user client 114a, an IM/Chat client 114b, a phone client 114c, an email client 114d and an MMS client 114e.
  • the device 100b includes at least one presentity 120.
  • the presentity 120 sends presence information and service presence information reflecting the status of each presence client 114a-114e, to the presence service 310 via the network 200 (FIG. 1).
  • the presentity 120 can be an independent module (as shown) or it can be a module integrated in each presence client 114a-114e, or a combination of both.
  • Each presence client 114a-114e has access to a presence user agent (PUA) 122 that serves as an interface between the client 114 and the presentity 120.
  • PUA presence user agent
  • a user of the device 100b can enter presence information concerning him/herself through the PUA 122 in the user client 114a.
  • the PUA 122 can be an external service used by or acting on behalf of a client 114.
  • the PUA 122 can be customized for a presence client, or it can be a standardized module that can handle several presence clients.
  • the device 100b includes at least one watcher 130 that is in communication with the plurality of clients 114a-114e.
  • the watcher(s) 130 receive presence information from the presence service 310.
  • the presence information received typically is associated with other presence clients in other devices 100 and/or users in the network 200, such as contacts on the user's friends list.
  • the presence information received by the watcher 130 is interpreted by a watcher user agent 132 (WUA), which provides an interface to display the presence information for each client 114a-114e.
  • WUA watcher user agent
  • watchers 130 and WUAs 132 may be integrated with each client 114a-114e or may be an external service used by or acting on behalf of the clients 114a-114e.
  • the WUA 132 like the PUA 122, can be customized for a client 114a, or it can be a standardized module that can handle several clients 114a-114e.
  • the device includes 100b an activity service 142 that is in communication with the WUA 132 and PUA 122.
  • the activity service 142 provides an extension that allows a presence client, e.g., the user client 114a, to designate information pertaining to activities the user 112 is interested in participating in now or in the near or distant future. Such information is referred to as "activity information.”
  • the presence client 114a in addition to providing basic status and contact information, i.e., that the presence client 114a is "open" and at home, the presence client 114a, i.e., the user 112, can also indicate that he or she is interested in seeing a movie and/or having dinner.
  • the activity service 142 can provide an activity pull-down menu in the PUA 122 that lists several activities from which the user 112 can select a desired activity.
  • the activity service 142 can also allow the user 112 to specify a date and time for each activity and also allow the user 112 to select to which friend(s) the activity information should be directed.
  • the user 112 can be presented with a calendar from which the user 112 can select a proposed time and date for the activity.
  • the user 112 can also include the calendar in the activity information in order to facilitate scheduling with the selected friends.
  • the activity service 142 integrates the activity information with the presence client's 114a presence information, e.g., status and contact information, which is then sent to the presence service 310 via the presentity 120.
  • the presence service 310 receives the presence information from the presence client 114a, updates the presence tuple associated with the presence client 114a, and sends the presence information to other presence clients 114 associated with the selected friends. Note that the invitation(s) are delivered in real-time to those friends who are logged on.
  • the activity service 142 is capable of interpreting activity information pertaining to other presence clients 114, i.e., friends, that is received by the watcher 130. Such activity information can be displayed to the presence client 114a via the WUA 132.
  • FIG. 3 is an illustration of an exemplary user interface provided by the WUA 132 according to one embodiment of the present invention.
  • the display 350 includes a friends list 352 associated with the user 112 of the user client 114a.
  • the friends list 352 provides the name of each contact on the list, the status and contact information of the friend, and activities to which the user 112 is invited to participate.
  • the user 112 can select an activity he or she is also interested in, e.g., the movie, and automatically send a confirmation message to the inviting party accepting the invitation.
  • the user 112 can add a message to the confirmation designating, for example, a particular movie or theater.
  • the extension provided by the activity service 142 is compatible with the standard IM platform.
  • a presence tuple associated with the presence client 114a is extended to include a new status field representing the activity information.
  • FIG. 4 is an exemplary presence tuple according to one embodiment of the present invention.
  • the presence tuple 400 is a structured document that includes a plurality of fields or elements.
  • the presence tuple 400 typically includes a status element 410, which indicates the presence client's status information, and a communication address element 420, which indicates the presence client's contact information.
  • the status element 410 typically includes a basic status subelement 412, which indicates the presence client's basic status, e.g., "open,” “closed,” etc., and a local status subelement 414, which indicates the presence client's location, e.g., "home.”
  • the status element 410 is extended to include an activity subelement 416, which indicates one or more activities the presence client 114 is interested in participating in now and/or in the future.
  • the activity subelement 416 can itself include one or more subelements (not shown) that indicate, for each activity, details related to the activity, e.g., date, time, place, selected friends. For example,
  • ⁇ activity details> "Swamp Thing">movie ⁇ /activity details> ⁇ timeframe>2005.04.17-20 Evenings ⁇ /timeframe> ⁇ location>Twin Cinemas, Bijou ⁇ /location> ⁇ friends>joe284, rpsmith, juli18 ⁇ /friends> ⁇ /activity> indicates that the presence client 114a is interested in seeing the movie, Swamp Thing, on certain evenings, at a certain movie theater, and with particular friends.
  • the activity subelement 416 is an extension of the status element 410.
  • the activity subelement 416 can be an extension of the presence tuple 400 itself.
  • other subelements can be defined and used to replace or supplement the activity subelement 416, as would be appreciated by those with ordinary skill in the art. Because the present invention is compatible with the standard IM platform, little or no modification to the presence service 310, PUA 122, presently 120, WUA 132 and watcher 130 is required.
  • the tuple (or presence tuple) can include an activity link element corresponding to each activity.
  • Each activity link element can be associated with an activity element included in a database.
  • each activity link element can include a reference to a record location in a database that includes the activity element.
  • the tuple (or presence tuple) including the activity link element and the record location in the database including the activity element can together be considered a tuple associated with the presence client 114a.
  • FIG. 5 is a high-level flowchart of a method for advertising an invitation to engage in an activity according to one embodiment of the present invention.
  • the process begins when the presence service 310 receives the invitation from an inviting presence client 114 in a device, e.g., the computer 100b (step 500).
  • the invitation comprises activity information.
  • the activity information is preferably integrated with the presence information associated with the inviting presence client 114, and includes information related to the activity the inviting presence client 114 is interested in participating in now and/or in the future.
  • the activity information can include the type of activity, a time, a place and a cost.
  • the presence service 310 updates the presence tuple 400 (FIG. 4) associated with the presence client 114 to include the information related to the activity (step 502).
  • the activity element 416 can be updated to specify the activity type.
  • a timeframe sub-element, a location sub-element, and a friends sub-element can also be updated to specify the proposed time and place for the activity and to who the invitation should be directed, respectively.
  • the presence service 310 sends the presence information, which includes the invitation, to other presence clients 114 in other devices, e.g., the camera 100a and the phone 100c, associated with the invited friends (step 504).
  • FIG. 6 is a flowchart illustrating a process for responding to an invitation to engage in an activity according to a preferred embodiment of the present invention.
  • the process begins when a presence client 114 associated with an invited friend receives and displays the presence information, which includes the invitation to engage in an activity, associated with the inviting presence client 114 (step 600). If the friend is interested in the activity, the friend can submit a response to the invitation (step 602). In one embodiment, the response can be an instant message sent directly to the inviting presence client 114. In another version, the WUA 132 (FIG. 2) can display to the friend one or more automated replies and the friend can select an appropriate automated reply that is then sent to the inviting presence client 114.
  • the friend can simply respond in any reasonable manner, such as by calling the inviting user directly. While the friend is typically the user of the device 100a, nothing prevents the friend from being the device itself 100a, a component (not shown) in the device 100a, or another service or application running on the device 100a.
  • the friend and the user 112 of the inviting presence client 100b can schedule the activity (step 604). Scheduling the activity typically involves determining a mutually convenient time and place. This process is simple if both parties are able to communicate directly with one another in real time either through an IM service, phone call, or other suitable manner.
  • a scheduler service 340 is associated with the presence service 310 (FIG. 1) to facilitate scheduling an activity between two or more presence clients 114.
  • the scheduler service 340 receives calendars associated with each of the presence clients 114 and stores the calendars in the friends data structure 332 along with the other client related information.
  • the scheduler service 340 uses the calendars of the parties to schedule proposed non-conflicting times for the activity. In this manner, the scheduling process between two or more parties can be simplified and automated.
  • FIG. 7 is a flowchart illustrating a method of automatically scheduling an activity according to one embodiment of the present invention.
  • the process begins when the presence service 310 receives a positive response to an invitation to engage in an activity from a presence client 114 associated with an invited friend (step 700).
  • the response can include a proposed day and time for the activity.
  • the day and time is specified by the invitation.
  • neither the response nor the invitation specifies the day and/or time.
  • the scheduler service 340 retrieves from the friends data structure 332 the appropriate calendar associated with either the inviting user 112 (referred to as a "host"), the invited friend, or both (step 702).
  • the scheduler service 340 checks for conflicts in proposed days and/or times (if such are included in the response or in the invitation) and if a conflict exists (step 704), the scheduler service 340 sends messages to the host 112 and to the friend informing them of the conflict (step 705).
  • the conflict message can include a request to propose a different day and/or time, and in such circumstances, the presence service 310 receives updated responses from the host and/or invited friends (step 707), and steps 702 through 707 are repeated until the conflict is resolved.
  • step 704 If a conflict does not exist (step 704) or a conflict is resolved, the scheduler service 340 schedules the activity (step 706), updates the calendars (step 708) and sends confirmation messages to the host and to the invited friend (step 710).
  • the scheduler service 340 can automatically facilitate the scheduling of a group of friends to engage in an activity.
  • a presence client can advertise its availability to engage in specified activities to other presence clients on a friends list by utilizing a presence service.
  • the inviting presence client can specify details of the activity in the invitation. Such details can include a timeframe and a place for each activity, as well as which friends on the friends list will receive an invitation.
  • the presence service updates the presence tuple associated with the inviting presence client and sends the invitation to the invited friends.
  • An invited friend can submit a response to the invitation directly or indirectly to the host.
  • a scheduler service 340 integrated with the presence service 310 automatically coordinates the scheduling process between two or more parties for an activity.
  • a user can invite one or more friends to an activity informally and without the stress associated with a possible rejection of a direct invitation.
  • the invitation can be sent to several friends simultaneously and the scheduling can be automated by the scheduler service.
  • the scheduling can be automated by the scheduler service.
  • the present invention is directed to a method and system for advertising over a network an invitation to engage in at least one activity.
  • the present invention has been described in accordance with the embodiments shown, and one of ordinary skill in the art will readily recognize that there could be variations to the embodiments, and any variations would be within the spirit and scope of the present invention.
  • Software written according to the present invention is to be stored in some form of computer-readable medium, such as memory, CD-ROM or transmitted over a network, and executed by a processor. Consequently, a computer-readable medium is intended to include a computer readable signal which, for example, may be transmitted over a network. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.

Abstract

A system and method for advertising over a network (fig. 1,200) an invitation to engage in at least one activity is described. In one embodiment, a presence service (310) on the network receives from an inviting presence client (114 a-e) activity information related to at least one activity the inviting presence client is interested in participating. The presence service then updates a tuple associated with the inviting presence client to include the information related to the activity, and sends the invitation to engage in the activity to at leas one other presence client on the network.

Description

SYSTEM AND METHOD FOR UTILIZING A PRESENCE SERVICE TO ADVERTISE ACTIVITY AVAILABILITY
FIELD OF THE INVENTION
[001] The present invention relates to a presence service and more particularly to a method and system for utilizing a presence service to advertise availability to engage in an activity.
BACKGROUND OF THE INVENTION
[002] Instant messaging (IM) services provide a well known mechanism for allowing computer users to communicate online, for example, by sending a message or chatting with another user. Such services are typically provided by AOL, MSN, Yahoo, and other similar service providers. Certain data associated with users of such IM services is known as presence information. Presence information typically consists of one or more presence tuples, which represent the status, an optional activity address, and other information relating to each user. The status of the user can simply be open or closed, when the computer system will or will not accept instant messages for the user. Other examples of the status of the user can include "online", "away from my desk", "stepped out", or "on the phone". Based on the status of a user, other users may decide whether to initiate activities with the user.
[003] Presence tuples may also include contact information. Contact information includes contact addresses at which a user can be reached. The contact addresses can include MMS, email, postal addresses, ftp addresses, phone number(s), facsimile numbers and other mechanisms available for reaching a particular user, as well as contact priorities. Contact priorities indicate the best or preferred (highest priority) mechanism for reaching a user. For example, in certain instances, a user's email account may have a higher contact priority than his cell phone, and vice versa.
[004] Systems which store and provide presence information are known as presence services. IM is one type of application which may be built which makes use of a presence service. More information on IM, presence services, and presence information can be found at the jabber.org/jeps site. For example document jep-0119.html is of interest. In addition, the ietf.org site contains internet related documents related to presence information and IM. Such documents include draft-ietf-impp-cpim-pidf-08.txt in the internet-drafts section of the ietf.org site, as well as rfc2778.txt and rfc2779.txt in the RFC section of the ietf.org site.
[005] As part of IM services and other services that utilize a presence service, a conventional friends list is often, supported. Such a conventional friends list provides a user with information from the presence tuples of other users (e.g. other users of the IM service) who are associated with the user. More specifically, status information for the "friends" is provided in the friends list. For example, while a user is online, the conventional friends list is typically displayed in a window on the user's display. Using the friend's list, a user can determine whether to send a message to an entity on the friends list. For example, if a particular friend's status is "busy" or "away from my desk," the user may opt not to attempt to start a chat session with that particular friend.
[006] A user is represented to the presence service through a presence client. The presence client sends status information reflecting the user's status to the presence service via a presentity. A presentity interacts with a presence service to provide presence information to the service concerning the presence client it represents. The presentity may be a component of the presence client or an external service.
[007] The user provides presence information concerning him/herself by interacting with the presence client through a presence user agent (PUA). A PUA may be a component of the client or an external service. For example, in a typical IM client, the PUA is simply the interface with which the user interacts to change his/her status.
[008] The presence client uses a watcher to retrieve presence information, such as friends list data, from a presence service. A watcher interacts with the presence service to receive presence information concerning other users, for example. Watchers come in several varieties. Two common varieties are fetchers which request presence information as needed and subscribers which subscribe to events related to presence tuple additions, deletions, updates, and other alterations.
[009] The presence client displays presence data, e.g., the user's friends list, through a watcher user agent (WUA). As with presentities and PUAs, watchers and WUAs may be part of the presence client or may be external services used by or acting on behalf of the presence client.
[010] Although conventional presence services and conventional friends lists are useful, one of ordinary skill in the art will readily recognize that there are significant limitations associated with the current methods of utilizing presence information. In particular, presence tuples typically include information relating to a user's current status only. No information relating to the user's availability to participate in future or concurrent activities is provided. This can be problematic if the user is willing and available to participate in a concurrent or future activity.
[011] For instance, a user is engaged in a business conference call and wants to have dinner with friends in an hour, but cannot contact his friends because of the conference call. While the presence information of the user indicates that he is "on the phone," it does not indicate that the user would like to have dinner with his friends in an hour. Thus, the user's friends might make alternative plans for the evening.
[012] Accordingly, what is needed is a method and system for extending presence services to enable a presence client to advertise its availability to engage in present or future activities. The method and system should allow the presence client to determine to which friends the advertisement will be directed. The present invention addresses such a need. SUMMARY OF THE INVENTION
[013] The present invention provides a method and system for advertising over a network an invitation to engage in at least one activity. In one embodiment, a presence service on the network receives from an inviting presence client activity information related to at least one activity the inviting presence client is interested in participating. The presence service then updates a tuple associated with the inviting presence client to include the information related to the activity, and sends the invitation to engage in the activity to at least one other presence client on the network.
DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS
[014] FIG. 1 is a block diagram of a system according to one embodiment of the present invention.
[015] FIG. 2 is a block diagram of an exemplary device according to one embodiment of the present invention.
[016] FIG. 3 is an illustration of an exemplary user interface according to one embodiment of the present invention.
[017] FIG. 4 is an exemplary presence tuple according to one embodiment of the present invention.
[018] FIG. 5 is a high-level flowchart of a method for advertising an invitation to engage in an activity according to one embodiment of the present invention. [019] FIG. 6 is a flowchart illustrating a process for responding to an invitation to engage in an activity according to a preferred embodiment of the present invention.
[020] FIG. 7 is a flowchart illustrating a method of automatically scheduling an activity according to one embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[021] The present invention relates to a presence service and more particularly to a method and system for utilizing a presence service to advertise a presence client's availability to engage in an activity. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiments and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein.
[022] This document uses terms described in RFC2778 and RFC2779 when discussing the architecture and protocols associated with presence services. While the various presence service and presence protocol embodiments used today have differences, all of these embodiments use presence architectures and protocols that are consistent with the architecture and protocols described in RFC2778 and RFC2779 in terms of features and function. Accordingly, the terms used here should not be limited to any one of the presence services and/or protocol embodiments in use today.
[023] For example, today's presence protocols each support a common set of commands from a functional standpoint (See RFC2779). These function commands include:
• Publish: Allowing a presence entity (through a PUA/presentity) to update/provide its own presence tuple information (e.g. its status or contact information);
• Notify: Allowing a presence service to provide information from a presence tuple to a WUA/watcher. Notifications may be point-to-point or broadcast; and
• Subscribe, Subscribed, Unsubscribe, Unsubscribed: Allowing a WUA/watcher to subscribe and unsubscribe to notifications related to specific tuple data.
[024] Several optional functionally equivalent commands also exist. These equivalent commands include:
• Probe: Allowing a presence service to get information associated with a presence entity. This is equivalent to a Notify except that the presence service requests the data rather than having the presence client send the data unsolicited; and • Directed Publish/Notification: Allowing a client to issue a publish which results in a Notification to a specific presence client.
[025] There are also a functional equivalent set of commands for managing a "friends list" which will be referred to as a "roster" to match the RFC documents related to presence services. This set of commands includes:
• Request Roster: Allowing a client to request a specific or default roster;
• Add: Allowing a client to add an item for a presence entity to a roster;
• Update: Allowing a client to update a roster item; and
• Delete: Allowing a client to delete an item from a roster.
[026] Related to rosters are privacy lists. Privacy lists can be described as rosters having a specific purpose of identifying presence clients that are to be blocked from interacting with the owner of the privacy list.
[027] According to one embodiment of the present invention, a method and system is provided that allows a user to utilize a presence service to advertise to selected invitees the user's availability to engage in an activity presently or in the future. The method and system allows an invitee to select which, if any, of the activities offered the invitee is interested in, and if necessary, facilitates the scheduling of a mutually convenient time and place for the activity.
[028] In one embodiment, the method and system of the present invention is based on an instant messaging service framework. Instant messaging (IM) is a well known mechanism for allowing real time communication between a first device and a second device over a network. Unlike other conventional methods of communication between client devices, e.g., electronic mail, IM provides a direct communication pipeline between the first and second devices so that a message is received and displayed in real time, i.e., as it is being entered in by a first user of the first client device. In addition to exchanging real time text messages, IM also permits real time sharing of other types of data, such as for example, static files and active content on a user's device. According to one embodiment of the present invention, a presence service is used to facilitate events and activities between presence clients.
[029] FIG. 1 is a schematic block diagram of a system according to one embodiment of the present invention. Client devices 100a, 100b, 100c, collectively referred to as devices 100, communicate with one another through a network 200, such as the Internet. According to one embodiment of the present invention, a user 112 of a device, e.g., the personal computer 100b, utilizes any of a plurality of presence clients 114 in the device 100b to communicate with other presence clients 114 in the other client devices 100a, 100c. Note that although the user 112 is typically a human entity, the user 112 can also include services and applications (not shown) residing in the device 100 that use the presence clients 114 to indicate their respective presence information to other interested entities.
[030] The system 10 includes a presence application server 300 that is accessible by the devices 100 through the network 200. The presence application server 300 includes the presence service 310, an account service 320 and a proxy service 325. In a preferred embodiment, the presence service 310 manages, e.g., receives, stores, updates and provides, global presence information for the presence service clients 114, user(s) 112, devices 100, and other components.
[031] As stated above, presence information typically includes the presence client's status and other information relating to each client. For example, the status of a client, e.g., a user, can simply be "open" or "closed," indicating whether the user is available. Other examples of the client's status can include "online", "away from my desk", "stepped out", or "on the phone." The presence information for a presence client 114 can also include contact information, which includes contact addresses at which the client can bθ reached. The contact addresses can include MMS, email, postal addresses, ftp addresses, phone number(s), facsimile numbers and other mechanisms available for reaching a particular client, as well as contact priorities.
[032] The presence information is preferably stored in a presence data storage structure 330, such as a database, that is in communication with the presence application server 300. The presence information can be in the form of a tuple for each presence service client. According to an exemplary embodiment, the tuple associated with each presence service client can be a presence tuple. Typically, the presence tuple is a structured format that fully describes and defines the presence information associated with the presence client 114. For example, the presence tuple can be part of a structured document using XML. Although the presence data storage structure 330 is depicted as having a particular location remote from the devices 100, nothing prevents the storage structure 330 from being stored in another location. For example, all or a portion of the presence information may be stored in a memory structure (not shown) on the devices 100 or on another memory structure (not shown).
[033] The account service 320 in the presence application server 300 manages client accounts and information related to presence clients other than presence information. For example, such client related information can include a user- defined list of preferred contacts that can include friends, relatives, co-workers, etc., commonly referred to as a "friends list," and authentication information and authorization data for each contact on the list.
[034] The client related information is preferably stored in a friends data storage structure 332, such as a database, that is in communication with the presence application server 300. Alternatively, the storage structure 332 can be located elsewhere. For example, all or a portion of the client related information may be stored in a memory structure (not shown) on the devices 100 or on another memory structure (not shown).
[035] The friends data storage structure 332 is shown separately from the presence information data storage structure 330 for the sake of clarity. Those with ordinary skilled in the art would readily appreciate that the presence information and client related information can be stored separately or in the same data structure.
[036] The proxy service 325 associated with the presence application server 300 serves as a proxy among the devices 100 in the network 200. The proxy service 325 permits the devices 100 to communicate with one another through a firewall 250 in a known manner. The proxy service 325, while shown in the presence application server 300 can reside in a separate server (not shown) or with the presence service 310.
[037] FIG. 2 is a block diagram of an exemplary device, e.g., 100b, according to one embodiment of the present invention. In this example, the client device 100b is a personal computer includes a plurality of presence clients 114a-114e through which a user 112 of the device 100b can be represented to the presence service 310 (FIG. 1). For example, the device 100b can include a user client 114a, an IM/Chat client 114b, a phone client 114c, an email client 114d and an MMS client 114e.
[038] The device 100b includes at least one presentity 120. The presentity 120 sends presence information and service presence information reflecting the status of each presence client 114a-114e, to the presence service 310 via the network 200 (FIG. 1). The presentity 120 can be an independent module (as shown) or it can be a module integrated in each presence client 114a-114e, or a combination of both. [039] Each presence client 114a-114e has access to a presence user agent (PUA) 122 that serves as an interface between the client 114 and the presentity 120. For example, a user of the device 100b can enter presence information concerning him/herself through the PUA 122 in the user client 114a. In another version, the PUA 122 can be an external service used by or acting on behalf of a client 114. The PUA 122 can be customized for a presence client, or it can be a standardized module that can handle several presence clients.
[040] The device 100b includes at least one watcher 130 that is in communication with the plurality of clients 114a-114e. The watcher(s) 130 receive presence information from the presence service 310. The presence information received typically is associated with other presence clients in other devices 100 and/or users in the network 200, such as contacts on the user's friends list.
[041] The presence information received by the watcher 130 is interpreted by a watcher user agent 132 (WUA), which provides an interface to display the presence information for each client 114a-114e. As with presentities 120 and PUAs 122, watchers 130 and WUAs 132 may be integrated with each client 114a-114e or may be an external service used by or acting on behalf of the clients 114a-114e. The WUA 132, like the PUA 122, can be customized for a client 114a, or it can be a standardized module that can handle several clients 114a-114e. [042] According to a preferred embodiment of the present invention, the device includes 100b an activity service 142 that is in communication with the WUA 132 and PUA 122. The activity service 142 provides an extension that allows a presence client, e.g., the user client 114a, to designate information pertaining to activities the user 112 is interested in participating in now or in the near or distant future. Such information is referred to as "activity information."
[043] For example, in addition to providing basic status and contact information, i.e., that the presence client 114a is "open" and at home, the presence client 114a, i.e., the user 112, can also indicate that he or she is interested in seeing a movie and/or having dinner. In one embodiment, the activity service 142 can provide an activity pull-down menu in the PUA 122 that lists several activities from which the user 112 can select a desired activity.
[044] The activity service 142 can also allow the user 112 to specify a date and time for each activity and also allow the user 112 to select to which friend(s) the activity information should be directed. In one embodiment, the user 112 can be presented with a calendar from which the user 112 can select a proposed time and date for the activity. The user 112 can also include the calendar in the activity information in order to facilitate scheduling with the selected friends.
[045] In this manner, the user 112 can easily invite one or several friends to participate in one or more activities. The activity service 142 integrates the activity information with the presence client's 114a presence information, e.g., status and contact information, which is then sent to the presence service 310 via the presentity 120.
[046] The presence service 310 receives the presence information from the presence client 114a, updates the presence tuple associated with the presence client 114a, and sends the presence information to other presence clients 114 associated with the selected friends. Note that the invitation(s) are delivered in real-time to those friends who are logged on.
[047] Similarly, the activity service 142 is capable of interpreting activity information pertaining to other presence clients 114, i.e., friends, that is received by the watcher 130. Such activity information can be displayed to the presence client 114a via the WUA 132.
[048] FIG. 3 is an illustration of an exemplary user interface provided by the WUA 132 according to one embodiment of the present invention. The display 350 includes a friends list 352 associated with the user 112 of the user client 114a. In this version, the friends list 352 provides the name of each contact on the list, the status and contact information of the friend, and activities to which the user 112 is invited to participate. In a preferred embodiment, the user 112 can select an activity he or she is also interested in, e.g., the movie, and automatically send a confirmation message to the inviting party accepting the invitation. Optionally, the user 112 can add a message to the confirmation designating, for example, a particular movie or theater. [049] In a preferred embodiment, the extension provided by the activity service 142 is compatible with the standard IM platform. For example, in one embodiment, a presence tuple associated with the presence client 114a is extended to include a new status field representing the activity information.
[050] FIG. 4 is an exemplary presence tuple according to one embodiment of the present invention. As is shown, the presence tuple 400 is a structured document that includes a plurality of fields or elements. The presence tuple 400 typically includes a status element 410, which indicates the presence client's status information, and a communication address element 420, which indicates the presence client's contact information. The status element 410 typically includes a basic status subelement 412, which indicates the presence client's basic status, e.g., "open," "closed," etc., and a local status subelement 414, which indicates the presence client's location, e.g., "home."
[051] According to a preferred version of the present invention, the status element 410 is extended to include an activity subelement 416, which indicates one or more activities the presence client 114 is interested in participating in now and/or in the future. In one embodiment, the activity subelement 416 can itself include one or more subelements (not shown) that indicate, for each activity, details related to the activity, e.g., date, time, place, selected friends. For example,
<activity>
<activity details>="Swamp Thing">movie</activity details> <timeframe>2005.04.17-20 Evenings</timeframe> <location>Twin Cinemas, Bijou</location> <friends>joe284, rpsmith, juli18</friends> </activity> indicates that the presence client 114a is interested in seeing the movie, Swamp Thing, on certain evenings, at a certain movie theater, and with particular friends.
[052] In the above example, the activity subelement 416 is an extension of the status element 410. In another version, the activity subelement 416 can be an extension of the presence tuple 400 itself. Also, other subelements can be defined and used to replace or supplement the activity subelement 416, as would be appreciated by those with ordinary skill in the art. Because the present invention is compatible with the standard IM platform, little or no modification to the presence service 310, PUA 122, presently 120, WUA 132 and watcher 130 is required.
[053] According to another exemplary embodiment, the tuple (or presence tuple) can include an activity link element corresponding to each activity. Each activity link element can be associated with an activity element included in a database. For example, each activity link element can include a reference to a record location in a database that includes the activity element. In this arrangement, the tuple (or presence tuple) including the activity link element and the record location in the database including the activity element can together be considered a tuple associated with the presence client 114a.
[054] FIG. 5 is a high-level flowchart of a method for advertising an invitation to engage in an activity according to one embodiment of the present invention. Referring to FIG. 1 and FIG. 5, the process begins when the presence service 310 receives the invitation from an inviting presence client 114 in a device, e.g., the computer 100b (step 500). In a preferred embodiment, the invitation comprises activity information. As stated above, the activity information is preferably integrated with the presence information associated with the inviting presence client 114, and includes information related to the activity the inviting presence client 114 is interested in participating in now and/or in the future. For example, the activity information can include the type of activity, a time, a place and a cost.
[055] After the presence service 310 receives the invitation, the presence service 310 updates the presence tuple 400 (FIG. 4) associated with the presence client 114 to include the information related to the activity (step 502). For example, referring to FIG. 4, the activity element 416 can be updated to specify the activity type. In one embodiment, a timeframe sub-element, a location sub-element, and a friends sub-element can also be updated to specify the proposed time and place for the activity and to who the invitation should be directed, respectively. Referring again to FIG. 5, once the presence tuple 400 is updated, the presence service 310 sends the presence information, which includes the invitation, to other presence clients 114 in other devices, e.g., the camera 100a and the phone 100c, associated with the invited friends (step 504).
[056] FIG. 6 is a flowchart illustrating a process for responding to an invitation to engage in an activity according to a preferred embodiment of the present invention. The process begins when a presence client 114 associated with an invited friend receives and displays the presence information, which includes the invitation to engage in an activity, associated with the inviting presence client 114 (step 600). If the friend is interested in the activity, the friend can submit a response to the invitation (step 602). In one embodiment, the response can be an instant message sent directly to the inviting presence client 114. In another version, the WUA 132 (FIG. 2) can display to the friend one or more automated replies and the friend can select an appropriate automated reply that is then sent to the inviting presence client 114. In another version, the friend can simply respond in any reasonable manner, such as by calling the inviting user directly. While the friend is typically the user of the device 100a, nothing prevents the friend from being the device itself 100a, a component (not shown) in the device 100a, or another service or application running on the device 100a.
[057] Once the friend has submitted the response to the invitation (step 602), the friend and the user 112 of the inviting presence client 100b can schedule the activity (step 604). Scheduling the activity typically involves determining a mutually convenient time and place. This process is simple if both parties are able to communicate directly with one another in real time either through an IM service, phone call, or other suitable manner.
[058] Scheduling, however, becomes complicated if the parties cannot communicate directly in real time because the inviting user is not online, i.e., the inviting presence client 114 has logged off the presence service 310, or the inviting user is on another phone call and cannot talk to the friend, or otherwise unavailable. In this situation, the friend must resort to leaving a message and waiting for a reply. In the meantime, the friend can log off, leave the office or house, or go into a meeting. Typically, the parties can end up playing "message tag" with each other. Moreover, scheduling can become complicated and tedious if the activity requires several parties to agree on a time and place.
[059] In a preferred embodiment, a scheduler service 340 is associated with the presence service 310 (FIG. 1) to facilitate scheduling an activity between two or more presence clients 114. The scheduler service 340 receives calendars associated with each of the presence clients 114 and stores the calendars in the friends data structure 332 along with the other client related information. The scheduler service 340 then uses the calendars of the parties to schedule proposed non-conflicting times for the activity. In this manner, the scheduling process between two or more parties can be simplified and automated.
[060] FIG. 7 is a flowchart illustrating a method of automatically scheduling an activity according to one embodiment of the present invention. Referring to FIG. 1 and FIG. 7, the process begins when the presence service 310 receives a positive response to an invitation to engage in an activity from a presence client 114 associated with an invited friend (step 700). In one embodiment, the response can include a proposed day and time for the activity. In another version, the day and time is specified by the invitation. In yet another version, neither the response nor the invitation specifies the day and/or time. In any case, the scheduler service 340 retrieves from the friends data structure 332 the appropriate calendar associated with either the inviting user 112 (referred to as a "host"), the invited friend, or both (step 702).
[061] The scheduler service 340 checks for conflicts in proposed days and/or times (if such are included in the response or in the invitation) and if a conflict exists (step 704), the scheduler service 340 sends messages to the host 112 and to the friend informing them of the conflict (step 705). In one embodiment, the conflict message can include a request to propose a different day and/or time, and in such circumstances, the presence service 310 receives updated responses from the host and/or invited friends (step 707), and steps 702 through 707 are repeated until the conflict is resolved.
[062] If a conflict does not exist (step 704) or a conflict is resolved, the scheduler service 340 schedules the activity (step 706), updates the calendars (step 708) and sends confirmation messages to the host and to the invited friend (step 710). Although the process illustrated in FIG. 7 involves only two parties, it can be applied to a plurality of parties. Accordingly, the scheduler service 340 can automatically facilitate the scheduling of a group of friends to engage in an activity.
[063] According to aspects of the present invention, a presence client can advertise its availability to engage in specified activities to other presence clients on a friends list by utilizing a presence service. The inviting presence client can specify details of the activity in the invitation. Such details can include a timeframe and a place for each activity, as well as which friends on the friends list will receive an invitation. The presence service updates the presence tuple associated with the inviting presence client and sends the invitation to the invited friends. An invited friend can submit a response to the invitation directly or indirectly to the host. In one embodiment, a scheduler service 340 integrated with the presence service 310 automatically coordinates the scheduling process between two or more parties for an activity.
[064] According to aspects of the present invention, a user can invite one or more friends to an activity informally and without the stress associated with a possible rejection of a direct invitation. The invitation can be sent to several friends simultaneously and the scheduling can be automated by the scheduler service. Thus, coordinating an activity is simplified.
[065] The present invention is directed to a method and system for advertising over a network an invitation to engage in at least one activity. The present invention has been described in accordance with the embodiments shown, and one of ordinary skill in the art will readily recognize that there could be variations to the embodiments, and any variations would be within the spirit and scope of the present invention. Software written according to the present invention is to be stored in some form of computer-readable medium, such as memory, CD-ROM or transmitted over a network, and executed by a processor. Consequently, a computer-readable medium is intended to include a computer readable signal which, for example, may be transmitted over a network. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.

Claims

CLAIMS We Claim:
1. A method of advertising over a network an invitation to engage in at least one activity, the method comprising: receiving by a presence service on the network activity information related to the at least one activity via an inviting presence client; updating a tuple associated with the inviting presence client to include the information related to the at least one activity; and sending the invitation to engage in the at least one activity from the presence service to at least one other presence client on the network.
2. A method according to claim 1 further including: receiving a response to the invitation from the at least one other presence client on the network, wherein the at least one other presence client is a friend on a friends list associated with the inviting presence client thereby enabling the scheduling of the activity.
3. A method according to claim 2, wherein receiving the response includes: relaying a message over the network from a device associated with the other presence client to a device associated with the inviting presence client.
4. A method according to claim 2, wherein scheduling includes: providing a scheduler service associated with the presence service to automatically schedule a day or time in which to engage in the at least one activity.
5. A method according to claim 4 wherein scheduling further includes: retrieving a calendar associated with at least one of the inviting presence client and the friend; and using the calendar to determine a mutually agreeable day and time for the activity.
6. A method according to claim 1 further comprising: providing for the at least one activity to bθ specified in the inviting presence client; and for each of the at least one activity specified, allowing at least one friend from a friends list to which an invitation will be directed to be selected.
7. A method according to claim 6, wherein the activity information received by the presence service includes the at least one activity and, for each activity, at least one friend associated with the activity, wherein the at least one friend is associated with a presence client registered with the presence service.
8. A method according to claim 1 wherein updating the tuple includes: modifying an activity element in the tuple corresponding to each activity.
9. A method according to claim 8 wherein modifying the activity element includes: updating a timeframe sub-element and a location sub-element for each activity element.
10. The method according to claim 1 wherein the tuple includes an activity link element corresponding to each activity, each activity link element being associated with an activity element included in a database, wherein updating the tuple includes: modifying the activity element in the database corresponding to each activity.
11. The method of according to claim 1 , wherein the tuple is a presence tuple.
12. A computer readable medium having computer program instructions for advertising over a network an invitation to engage in at least one activity, the program instructions for: receiving by a presence service on the network activity information related to the at least one activity via an inviting presence client; updating a tuple associated with the inviting presence client to include the information related to the at least one activity; and sending the invitation to engage in the at least one activity from the presence service to at least one other presence client on the network.
13. A computer readable medium according to claim 12 further including program instructions for: receiving a response to the invitation from the at least one other presence client on the network, wherein the at least one other presence client is a friend on a friends list associated with the inviting presence client thereby enabling the scheduling of the activity.
14. A computer readable medium according to claim 13 wherein receiving the response includes: relaying a message over the network from a device associated with the other presence client to a device associated with the inviting presence client.
15. A computer readable medium according to claim 13 wherein scheduling includes: providing a scheduler service associated with the presence service to automatically schedule a day or time in which to engage in the at least one activity.
16. A computer readable medium according to claim 15 wherein scheduling further includes: retrieving a calendar associated with at least one of the inviting presence client and the friend; and using the calendar to determine a mutually agreeable day and time for the activity.
17. A computer readable medium according to claim 12 further comprising program instructions for: specifying in the inviting presence client the at least one activities; and for each of the at least one activity specified, allowing at least one friend from a friends list to which an invitation will be directed to be selected.
18. A computer readable medium according to claim 17 wherein the activity information received by the presence service includes the at least one activity and, for each activity, at least one friend associated with the activity, wherein the at least one friend is associated with a presence client registered with the presence service.
19. A computer readable medium according to claim 12 wherein updating the tuple includes: modifying an activity element in the tuple corresponding to each activity.
20. A computer readable medium according to claim 19 wherein modifying the activity element includes: updating a timeframe sub-element and a location sub-element for each activity element.
21. A computer readable medium according to claim 12 wherein the tuple includes an activity link element corresponding to each activity, each activity link element being associated with an activity element included in a database, wherein updating the tuple includes: modifying the activity element in the database corresponding to each activity.
22. A computer readable medium according to claim 12 wherein the tuple is a presence tuple.
23. A system for advertising over a network an invitation to engage in at least one activity, the system comprising: an inviting presence client in a device coupled to the network for creating and sending activity information related to the at least one activity; a presence service on the network that receives the activity information related to the at least one activity from the inviting presence client, updates a tuple associated with the inviting presence client to include the information related to the at least one activity, and sends the invitation; and at least one other presence client in another device on the network that receives the invitation to engage in the at least one activity from the presence service.
24. A system according to claim 23 wherein the activity information specifies an activity type, a day, time and place for the activity, and one or more friends from a friends list associated with the inviting presence client and the presence service sends the invitation to the specified one or more friends.
25. A system according to claim 24 further comprising a scheduler service that automatically schedules a day or time in which to engage in the at least one activity, wherein the scheduler retrieves a calendar associated with at least one of the inviting presence client and the friend, and uses the calendar to determine a mutually agreeable day and time for the activity.
26. A method of advertising over a network an invitation to engage in at least one activity, the method comprising: receiving by a service on the network a publish request comprising activity information related to the at least one activity via an inviting client; updating a record associated with the inviting client to include the information related to the at least one activity; and sending a notify command comprising the invitation to engage in the at least one activity from the service to a subscribed client on the network.
EP06740822A 2005-04-29 2006-04-11 System and method for utilizing a presence service to advertise activity availability Withdrawn EP1875363A4 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/118,882 US20060248185A1 (en) 2005-04-29 2005-04-29 System and method for utilizing a presence service to advertise activity availability
PCT/US2006/013349 WO2006118753A2 (en) 2005-04-29 2006-04-11 System and method for utilizing a presence service to advertise activity availability

Publications (2)

Publication Number Publication Date
EP1875363A2 true EP1875363A2 (en) 2008-01-09
EP1875363A4 EP1875363A4 (en) 2010-06-16

Family

ID=37235733

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06740822A Withdrawn EP1875363A4 (en) 2005-04-29 2006-04-11 System and method for utilizing a presence service to advertise activity availability

Country Status (5)

Country Link
US (1) US20060248185A1 (en)
EP (1) EP1875363A4 (en)
JP (1) JP2008539511A (en)
CN (1) CN101171580A (en)
WO (1) WO2006118753A2 (en)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593984B2 (en) 2004-07-30 2009-09-22 Swift Creek Systems, Llc System and method for harmonizing changes in user activities, device capabilities and presence information
US20070198725A1 (en) * 2004-10-06 2007-08-23 Morris Robert P System and method for utilizing contact information, presence information and device activity
US20070198696A1 (en) * 2004-10-06 2007-08-23 Morris Robert P System and method for utilizing contact information, presence information and device activity
US20060224688A1 (en) * 2005-03-31 2006-10-05 Morris Robert P System and method for utilizing a presence service to facilitate access to a service or application over a network
US20070150441A1 (en) * 2005-12-23 2007-06-28 Morris Robert P Methods, systems, and computer program products for associating policies with tuples using a pub/sub protocol
US7614060B2 (en) * 2006-04-28 2009-11-03 Microsoft Corporation Unified concept of presence
US9112881B2 (en) * 2006-06-15 2015-08-18 Oracle International Corporation Presence-based caller identification
US8964955B2 (en) * 2006-06-15 2015-02-24 Oracle International Corporation Presence-based message waiting indicator and missed calls
US8804573B2 (en) * 2006-06-15 2014-08-12 Oracle International Corporation Method and system for inferring presence of a principal based on past presence information
US9781071B2 (en) * 2006-06-28 2017-10-03 Nokia Technologies Oy Method, apparatus and computer program product for providing automatic delivery of information to a terminal
US8688822B2 (en) * 2006-07-05 2014-04-01 Oracle International Corporation Push e-mail inferred network presence
US9330190B2 (en) 2006-12-11 2016-05-03 Swift Creek Systems, Llc Method and system for providing data handling information for use by a publish/subscribe client
US20080183816A1 (en) * 2007-01-31 2008-07-31 Morris Robert P Method and system for associating a tag with a status value of a principal associated with a presence client
US8032622B2 (en) * 2007-03-20 2011-10-04 Siemens Enterprise Communications, Inc. System and method for social-networking based presence
US20080313323A1 (en) * 2007-06-15 2008-12-18 Morris Robert P Methods, Systems, And Computer Program Products For Monitoring Transaction Status With A Presence Tuple
CN101809605B (en) * 2007-08-14 2014-04-09 三星电子株式会社 Method and system for SIP based dynamic advertisement of presence information
US10963818B2 (en) * 2008-02-25 2021-03-30 Tixtrack, Inc. Sports and concert event ticket pricing and visualization system
WO2009134259A1 (en) * 2008-04-30 2009-11-05 Hewlett-Packard Development Company, L.P. Communication between scheduled and in progress event attendees
US20110093590A1 (en) * 2008-04-30 2011-04-21 Ted Beers Event Management System
CN102016816A (en) * 2008-04-30 2011-04-13 惠普开发有限公司 Messaging between events
BRPI0822788A2 (en) * 2008-09-26 2015-06-30 Hewlett Packard Development Co Method performed by an event management system, collaboration event system, and program product
US20100091687A1 (en) * 2008-10-15 2010-04-15 Ted Beers Status of events
US20100223228A1 (en) * 2009-02-27 2010-09-02 Research In Motion Limited Method and mobile electronic device for updating a local database from a remote database over a wireless network
US8214434B2 (en) * 2009-04-09 2012-07-03 Research In Motion Limited System and method for conflict resolution during the consolidation of information relating to a data service
CN102638420A (en) * 2012-05-08 2012-08-15 上海量明科技发展有限公司 Method, client and system for setting subject bulletin board in instant messaging
US10027775B1 (en) * 2014-06-20 2018-07-17 Path Mobile Inc Pte. Ltd. Presentation of status information in a messaging environment
DK201870353A1 (en) * 2018-05-07 2019-12-04 Apple Inc. User interfaces for recommending and consuming content on an electronic device
CN114730580A (en) 2019-11-11 2022-07-08 苹果公司 User interface for time period based cull playlist

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960406A (en) * 1998-01-22 1999-09-28 Ecal, Corp. Scheduling system for use between users on the web
US20030065788A1 (en) * 2001-05-11 2003-04-03 Nokia Corporation Mobile instant messaging and presence service
US20040128181A1 (en) * 2002-12-31 2004-07-01 Zurko Mary Ellen Instance messaging auto-scheduling
US20050027805A1 (en) * 2003-07-15 2005-02-03 Aoki Norihiro Edwin Instant messaging and enhanced scheduling

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491626A (en) * 1993-06-16 1996-02-13 International Business Machines Corporation Method and apparatus for profile transposition to calendar events
EP0733967B1 (en) * 1995-03-24 2005-02-09 Hewlett-Packard Company, A Delaware Corporation Methods and apparatus for monitoring events and implementing corrective action in a multi-entity computer system
KR100239719B1 (en) * 1997-01-07 2000-01-15 김영환 Method for etching organic layer for manufacturing semiconductor device
US6085166A (en) * 1998-06-19 2000-07-04 International Business Machines Electronic calendar with group scheduling and asynchronous fan out method
WO2000016209A1 (en) * 1998-09-15 2000-03-23 Local2Me.Com, Inc. Dynamic matchingtm of users for group communication
US6400381B1 (en) * 1999-06-11 2002-06-04 International Business Machines Corporation Web places
US6301609B1 (en) * 1999-07-07 2001-10-09 Lucent Technologies Inc. Assignable associate priorities for user-definable instant messaging buddy groups
US6853634B1 (en) * 1999-12-14 2005-02-08 Nortel Networks Limited Anonymity in a presence management system
US6799196B1 (en) * 2000-01-21 2004-09-28 Gateway, Inc. On-demand data streaming parceling
US6668167B2 (en) * 2000-01-26 2003-12-23 Mcdowell Mark Method and apparatus for sharing mobile user event information between wireless networks and fixed IP networks
US6839735B2 (en) * 2000-02-29 2005-01-04 Microsoft Corporation Methods and systems for controlling access to presence information according to a variety of different access permission types
US6353660B1 (en) * 2000-03-02 2002-03-05 Ss8 Networks, Inc. Voice call processing methods
JP3926963B2 (en) * 2000-03-03 2007-06-06 富士通株式会社 State setting system and method
US6961765B2 (en) * 2000-04-06 2005-11-01 Bbx Technologies, Inc. System and method for real time monitoring and control of networked computers
US6839737B1 (en) * 2000-07-19 2005-01-04 Neoplanet, Inc. Messaging system for indicating status of a sender of electronic mail and method and computer program product therefor
US6895444B1 (en) * 2000-09-15 2005-05-17 Motorola, Inc. Service framework with local proxy for representing remote services
GB2368225B (en) * 2000-10-17 2003-12-10 Hewlett Packard Co Inviting assistant entity into a network communication session
US20030009530A1 (en) * 2000-11-08 2003-01-09 Laurent Philonenko Instant message presence protocol for facilitating communication center activity
US20020116336A1 (en) * 2001-02-05 2002-08-22 Athanassios Diacakis Method and device for displaying contact information in a presence and availability management system
US6981223B2 (en) * 2001-03-19 2005-12-27 Ecrio, Inc. Method, apparatus and computer readable medium for multiple messaging session management with a graphical user interface
US20030055983A1 (en) * 2001-03-19 2003-03-20 Jeff Callegari Methods for providing a virtual journal
AUPR459901A0 (en) * 2001-04-27 2001-05-24 Sharinga Networks Inc. Instant messaging
US8868659B2 (en) * 2001-05-15 2014-10-21 Avaya Inc. Method and apparatus for automatic notification and response
US8311887B2 (en) * 2001-05-29 2012-11-13 Fujitsu Limited Methods, devices and systems for real-time instant presence with advertisement (RIPA)
CN1393823A (en) * 2001-07-02 2003-01-29 国际商业机器公司 Apparatus and method for auxiliary recognizing of human biological character
US7346658B2 (en) * 2001-08-08 2008-03-18 At&T Delaware Intellectual Property, Inc. System and method for notifying an offline global computer network user of an online interaction
US20030043190A1 (en) * 2001-08-31 2003-03-06 Eastman Kodak Company Website chat room having images displayed simultaneously with interactive chatting
US20030119540A1 (en) * 2001-12-21 2003-06-26 Mathis James Earl Contact list-based group call
US20030135569A1 (en) * 2002-01-15 2003-07-17 Khakoo Shabbir A. Method and apparatus for delivering messages based on user presence, preference or location
JP2005518114A (en) * 2002-02-14 2005-06-16 アバイア テクノロジー コーポレーション Presence tracking and namespace interconnect technology
US7028075B2 (en) * 2002-04-23 2006-04-11 Flashpoint Technology, Inc. Method and system for sharing digital images over a network
US20030217098A1 (en) * 2002-05-15 2003-11-20 Microsoft Corporation Method and system for supporting the communication of presence information regarding one or more telephony devices
US20040109197A1 (en) * 2002-06-05 2004-06-10 Isabelle Gardaz Apparatus and method for sharing digital content of an image across a communications network
US7640300B2 (en) * 2002-06-10 2009-12-29 Microsoft Corporation Presence and notification system for maintaining and communicating information
US20030236830A1 (en) * 2002-06-19 2003-12-25 Eastman Kodak Company Method and system for sharing images over a communication network among a plurality of users
US7139554B2 (en) * 2002-06-24 2006-11-21 Thomson Licensing User-selectable status indication for cellular communications devices
US20040003090A1 (en) * 2002-06-28 2004-01-01 Douglas Deeds Peer-to-peer media sharing
US6757722B2 (en) * 2002-07-16 2004-06-29 Nokia Corporation System and method for providing partial presence notifications
US7111044B2 (en) * 2002-07-17 2006-09-19 Fastmobile, Inc. Method and system for displaying group chat sessions on wireless mobile terminals
US8150922B2 (en) * 2002-07-17 2012-04-03 Research In Motion Limited Voice and text group chat display management techniques for wireless mobile terminals
GB0218711D0 (en) * 2002-08-12 2002-09-18 Mitel Knowledge Corp System and method for facilitating communication using presence and communication services
US7412481B2 (en) * 2002-09-16 2008-08-12 Oracle International Corporation Method and apparatus for distributed rule evaluation in a near real-time business intelligence system
US7912899B2 (en) * 2002-09-06 2011-03-22 Oracle International Corporation Method for selectively sending a notification to an instant messaging device
US20040059781A1 (en) * 2002-09-19 2004-03-25 Nortel Networks Limited Dynamic presence indicators
DE10245642A1 (en) * 2002-09-30 2004-04-15 Siemens Ag Procedure for providing absence information
US20040098491A1 (en) * 2002-11-14 2004-05-20 Jose Costa-Requena Accessing presence information
JP4093850B2 (en) * 2002-12-03 2008-06-04 シャープ株式会社 Optical object identification apparatus, printing apparatus using the same, and object type classification apparatus
US7184524B2 (en) * 2003-02-14 2007-02-27 Convoq, Inc. Rules based real-time communication system
US7263545B2 (en) * 2003-02-14 2007-08-28 Convoq, Inc. System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US8204938B2 (en) * 2003-02-14 2012-06-19 Devereux Research Ab Llc System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US20040179039A1 (en) * 2003-03-03 2004-09-16 Blattner Patrick D. Using avatars to communicate
US7930350B2 (en) * 2003-03-05 2011-04-19 Canon U.S.A., Inc. Digital image sharing enabled chat application
US20040201668A1 (en) * 2003-04-11 2004-10-14 Hitachi, Ltd. Method and apparatus for presence indication
US7334021B1 (en) * 2003-04-30 2008-02-19 Aol Llc Personalized away messages
CA2525939C (en) * 2003-05-16 2015-09-22 Picasa, Inc. Networked chat and media sharing systems and methods
EP1629457B1 (en) * 2003-05-20 2011-11-23 America Online, Inc. Presence and geographic location notification
EP1492307A1 (en) * 2003-06-27 2004-12-29 Hewlett-Packard Development Company, L.P. Method and apparatus for automatically determining a presence status
US20040267887A1 (en) * 2003-06-30 2004-12-30 Berger Kelly D. System and method for dynamically managing presence and contact information
US8001187B2 (en) * 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing
US20050055412A1 (en) * 2003-09-04 2005-03-10 International Business Machines Corporation Policy-based management of instant message windows
US7912903B2 (en) * 2003-09-25 2011-03-22 Oracle America, Inc. Method and system for processing instant messenger operations dependent upon presence state information in an instant messaging system
US8688786B2 (en) * 2003-09-25 2014-04-01 Oracle America, Inc. Method and system for busy presence state detection in an instant messaging system
US20050071428A1 (en) * 2003-09-26 2005-03-31 Khakoo Shabbir A. Method and apparatus for delivering an electronic mail message with an indication of the presence of the sender
US8443092B2 (en) * 2003-12-23 2013-05-14 Alcatel Lucent Presentity filtering for user preferences
US20050213609A1 (en) * 2004-03-25 2005-09-29 Alec Brusilovsky Providing internet users with presence information about telephone lines in the public switched telephone network
US20060004921A1 (en) * 2004-06-30 2006-01-05 Suess Carol S Systems and methods for establishing communication between users
US20060036712A1 (en) * 2004-07-28 2006-02-16 Morris Robert P System and method for providing and utilizing presence information
US7593984B2 (en) * 2004-07-30 2009-09-22 Swift Creek Systems, Llc System and method for harmonizing changes in user activities, device capabilities and presence information
US20060224688A1 (en) * 2005-03-31 2006-10-05 Morris Robert P System and method for utilizing a presence service to facilitate access to a service or application over a network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960406A (en) * 1998-01-22 1999-09-28 Ecal, Corp. Scheduling system for use between users on the web
US20030065788A1 (en) * 2001-05-11 2003-04-03 Nokia Corporation Mobile instant messaging and presence service
US20040128181A1 (en) * 2002-12-31 2004-07-01 Zurko Mary Ellen Instance messaging auto-scheduling
US20050027805A1 (en) * 2003-07-15 2005-02-03 Aoki Norihiro Edwin Instant messaging and enhanced scheduling

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO2006118753A2 *

Also Published As

Publication number Publication date
JP2008539511A (en) 2008-11-13
WO2006118753A3 (en) 2007-10-11
EP1875363A4 (en) 2010-06-16
WO2006118753A2 (en) 2006-11-09
US20060248185A1 (en) 2006-11-02
CN101171580A (en) 2008-04-30

Similar Documents

Publication Publication Date Title
US20060248185A1 (en) System and method for utilizing a presence service to advertise activity availability
US7844667B2 (en) Presence system and information processing equipment, dynamic buddy list generation method in presence system, and presence notification destination controlling method and its program for use with presence system
US7836126B2 (en) Business presence system and method
US8487770B2 (en) Programmable presence proxy for determining a presence status of a user
US20060230137A1 (en) Location or Activity Monitor
JP5389953B2 (en) Method and system for managing multiple criteria for presence notification
US20080005294A1 (en) Method and system for exchanging messages using a presence service
US20060210034A1 (en) Enabling a user to store a messaging session entry for delivery when an intended recipient is next available
US9438434B2 (en) Collaborative arbitration of polling results in a collaborative computing environment
US20080091782A1 (en) Method and system for delegating and managing tasks over instant messenger
EP2287790A2 (en) Unified greetings for social media
JP2008546356A (en) Method, system, and data structure for providing a general request / response messaging protocol using presence protocol
JP2003517777A (en) Anonymity in presence management systems
JP2003517776A (en) Presence management system
US20080126475A1 (en) Method And System For Providing Supplemental Information In A Presence Client-Based Service Message
TW200920059A (en) Active profile selection
US10116597B2 (en) System and method for creating relationships among users of an instant messaging service
US20080208982A1 (en) Method and system for providing status information relating to a relation between a plurality of participants
US20080270546A1 (en) Methods And Systems For Communicating Task Information
US20060004736A1 (en) System and method for mailing list mediation
JP2003517771A (en) Presence management system using background information
US20220245597A1 (en) System and method for managing event data
US20110161415A1 (en) Presence Information Management

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20071011

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK YU

DAX Request for extension of the european patent (deleted)
RBV Designated contracting states (corrected)

Designated state(s): DE FR GB

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB

A4 Supplementary search report drawn up and despatched

Effective date: 20100517

RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 12/58 20060101ALI20100507BHEP

Ipc: H04L 29/08 20060101ALI20100507BHEP

Ipc: G06Q 10/00 20060101AFI20100507BHEP

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20101102