US20030217142A1 - Method and system for supporting the communication of presence information regarding one or more telephony devices - Google Patents

Method and system for supporting the communication of presence information regarding one or more telephony devices Download PDF

Info

Publication number
US20030217142A1
US20030217142A1 US10/145,912 US14591202A US2003217142A1 US 20030217142 A1 US20030217142 A1 US 20030217142A1 US 14591202 A US14591202 A US 14591202A US 2003217142 A1 US2003217142 A1 US 2003217142A1
Authority
US
United States
Prior art keywords
user
computing device
information
document
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.)
Abandoned
Application number
US10/145,912
Inventor
Nikhil Bobde
Robert Brown
Jeremy Buch
Vishwajith Kumbalimutt
David Simons
Zachary Taylor
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Priority to US10/145,912 priority Critical patent/US20030217142A1/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BOBDE, NIKHIL, BROWN, ROBERT, BUCH, JEREMY, KUMBALIMUTT, VISHWAJITH, SIMONS, DAVID J., TYLOR, ZACHARY
Publication of US20030217142A1 publication Critical patent/US20030217142A1/en
Priority to US11/332,507 priority patent/US7493390B2/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

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/107Computer-aided management of electronic mailing [e-mailing]
    • 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
    • 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/55Push-based network services

Definitions

  • the invention relates generally to communication between computers over a network, and more particularly, to methods and systems for communicating the presence of one or more devices from over the network.
  • a user having several communication devices can configure each of these devices to identify itself to the network using a single alias or identifier (e.g., username@b.com).
  • a single alias or identifier e.g., username@b.com.
  • the user is not limited to communicating with others via a single device, but instead has the ability to communicate via several different devices. Nonetheless, the ability for a user to have several devices “present” on a computer network creates a need for other users to be able to determine the status or state of the user's many devices.
  • Presence refers to the availability, proximity, activity level or operating state of a user on a network.
  • the ability for users to monitor each other's presence is a feature offered in connection with many applications that support network telephony.
  • instant messaging applications such as MSN or Yahoo have an “available buddy” feature, in which a user of the application can determine whether select users are available for engaging in communication.
  • the data retrieved and returned to the buddy list e.g. “John OFFLINE” or “Susan ACTIVE,” is known as “presence information,” and is generally maintained by a program called a “presence agent.”
  • the presence agent is implemented as a dedicated server.
  • the presence agent supports network telephony protocols such as the session initiation protocol (SIP).
  • SIP session initiation protocol
  • Device users can register their devices with the presence agent (e.g., via a registrar module) in order to have their presence maintained and to allow various programs on the network to facilitate network telephony services.
  • a first device user wishing to detect the presence of a second device user does so by “subscribing” with the presence agent, such as via a SIP SUBSCRIBE message.
  • the presence agent intermediates between the first user, also known as the watcher, and the second user to facilitate the communication of the second device user's presence information to the first device user.
  • a presence agent to accurately determine and maintain presence information for one or more users significantly enhances communication and task completion over the network. For example, a very mobile user may only be on the network at certain times throughout the day, and may be accessing the network from varying locations. By subscribing as a watcher of this mobile user, it becomes possible for another user to detect the presence of the mobile user during the times at which the mobile user's computing device is actually connected to the network. So, when the mobile user is present, the watcher can correspond instantly with the mobile user via a chat session or videoconferencing call, as opposed to resorting to a non-real-time communication such as e-mail messaging. Hence, presence is an especially important factor for facilitating communication between users.
  • Some other presence agents attempt to more accurately present presence information by shortening the subscription periods of watchers.
  • the watcher's subscription time is minimized (e.g., by using a shortened timeout period), and so the watcher must frequently renew the subscription.
  • the watcher receives the most current presence information.
  • this method of presence determination can be effective for detecting subtle changes in presence, the constant updating of subscriptions causes the presence agent to use more bandwidth and increases its overall processing time. Furthermore, this method increases the message load on a server that operates the presence agent resulting in a significant reduction in scalability.
  • the invention presents a method and system for detecting and communicating the presence of one or more users on a computer network. This includes users who employ devices that communicate over a network via the SIP protocol, and other common network protocols.
  • the present invention also relates to a method and system for aggregating the presence information of multiple devices associated with a single user such that more accurate and useful presence information pertaining to the user can be determined.
  • a network device such as a server
  • a presence agent that facilitates the exchange of presence information between a first user and a second user.
  • the first user is referenced by a unique alias, such as user@some_network.com, and has one or more computing devices registered with the network server (e.g., via a registration module or dedicated registrar server).
  • the second device wishes to access presence information pertaining to the first user, the second user employs a computing device to send a subscription request to the network server in order to become a “watcher” of the second device user. Once received, the subscription request is then forwarded to the presence agent operating upon the network device for processing.
  • the network device then generates and submits an acceptance message to the first user's device, followed by a standard NOTIFY message.
  • acceptance of the subscription is sent to the second user regardless of whether or not the second user is actually granted access to the presence information, as determined according to access preferences specified by the first user.
  • the presence agent checks an access control list (ACL) that comprises one or more access rules or preferences.
  • ACL access control list
  • the first user defines these rules in order to affect how its presence information is shared with one or more watchers.
  • the ACL specifies that the second user may access the presence information
  • the NOTIFY message includes a presence document that contains the presence information.
  • the ACL specifies that the watcher is not to access the presence information
  • the NOTIFY message is sent to the watcher without the presence document. Because the network server always sends an acceptance and notification message to the watcher, the subscription process is facilitated without any intervention by the first user, thus minimizing the processing requirements of the presence agent.
  • the presence agent operating upon the network device maintains an offline subscribes data structure for storing information associated with any subscription requests submitted by one or more users wishing to access the first user's presence information.
  • the subscription information is stored into the data structure whether the first user to be watched is or is not present (e.g., inactive, logged off), and includes data such as a URI (uniform resource locator) that uniquely identifies a particular subscriber.
  • URI uniform resource locator
  • the presence agent operating upon the network device accesses the offline subscribes data structure, extracts the data, and forwards a NOTIFY message to the first user's device along with the data.
  • the registered device user updates its presence document, and forwards it to the network device.
  • the network device updates the ACL accordingly, and a NOTIFY message is sent to the subscribing user along with a presence document containing the presence information.
  • the ACL is updated to specify prevention of access by the subscriber, resulting in a NOTIFY message being sent to the subscriber without any presence information.
  • an aggregator component executed by the network device aggregates the presence information of several devices associated with a user into a single presence document.
  • a presence document for each individual device is generated and sent to the presence agent operating upon the network device for processing.
  • the network device executes an aggregator component that performs a computation to determine the presence priority setting of each document.
  • the presence priority setting of a document is a value that is determined according to attributes that include an activity level and an availability level.
  • the activity level indicates what action the first user or corresponding device may be engaged in (e.g., idle, away), giving an indication of the likelihood of calls or messages actually being accepted from over the network.
  • the availability level which indicates whether the user or user's corresponding computing devices may actually receive calls based on various network conditions (e.g., offline, online).
  • a description attribute may optionally be associated with the activity or availability level to provide a functional or plain-language description of the assigned level. By summing up these values, the aggregator component identifies which device has the highest presence priority setting, and merges the presence information of each device into a single, or aggregate, document. The resulting presence information contained within the single document indicates to the watcher which of the user's devices most accurately reflects the presence of the user.
  • FIG. 1 is an example of a computer network
  • FIG. 2 is an example of a computer
  • FIG. 3 is a diagram illustrating a server facilitating a call between a first computing device and a second computing device over the network in accordance with an embodiment of the invention
  • FIG. 4 is a diagram illustrating the mechanism employed by a first computing device of FIG. 3 for setting presence with a server according to an embodiment of the invention
  • FIG. 5 is a diagram illustrating the mechanism employed by a first computing device of FIG. 3 for setting access preferences with a server according to an embodiment of the invention.
  • FIGS. 6 - 8 illustrate the operation of an aggregator component for processing one or more presence documents.
  • the invention relates to a method and system for detecting and communicating the presence of one or more users on a computer network. Also, the invention relates to a method and system for aggregating the presence information of multiple devices associated with a single user such that overall presence information pertaining to that user can be determined.
  • presence information describes any data that specifies the availability, proximity, activity level or operating state of a computing device or corresponding user of the device from over the network. For example, presence information can be provided to a user of a computing first device (a watcher) in the form of a presence document, and analyzed by watcher to determine if a user of another computing device (a registered device user) is online or offline, busy or idle.
  • Presence This determination is dependent on various factors, including the current activity of the user being maintained, the present operating state of the computing device of the user being monitored, etc.
  • this detailed description will use the term “presence” synonymously with the term “presence information” at various times.
  • the terms “presence” or “presence information” should be interpreted as relating to the user, or one or more devices employed by the user.
  • SIP Short Term Evolution
  • H.323 the High Speed Packet Transfer Protocol
  • SCTP Single Computer Telephony Protocol
  • the invention is not limited to any one protocol or messaging implementation, as any means or medium by which two or more devices may communicate to support network telephony applications is suitable.
  • the invention is not limited to any particular network telephony configuration, as any means for exchanging messages between one or more computers via SIP or the like is suitable for use in connection with the invention. This includes network configurations where computing devices such as proxies, redirect servers, registration terminals, presence servers and agents, and one or more clients or “presentities,” are involved in the communication.
  • network telephony relates to any process wherein a network, such as the Internet, is used as a transmission medium for placing telephone calls or facilitating multimedia sessions between two or more computing devices. This can include multimedia sessions where streaming media (e.g., audio and video data) is exchanged over the network, conference calls, virtual meetings, and other telephony sessions.
  • streaming media e.g., audio and video data
  • network telephony is generic, and can therefore describe or pertain to several other communication processes involving the exchange of packetized data. These include, but are not limited to, IP telephony, Voice over the Internet (VOI) and Voice over IP (VoIP).
  • the term “call” (e.g., telephone call) relates to a session in which an exchange of information is commenced or initiated between two or more computing devices over a network, such as with the aide of a telephony application (e.g., MICROSOFT NETMEETING TM).
  • a “call” is synonymous to a “message” being sent between devices, and those terms will be used interchangeably at times to describe the interaction between two or more devices over the network.
  • the example network includes several computers 20 communicating with one another over a network 30 , such as the Internet, as represented by a cloud.
  • Network 30 may include many well-known components, such as routers, gateways, hubs, etc. and may allow the computers 20 to communicate via wired and/or wireless media.
  • the computer 20 typically includes at least one processing unit 42 and memory 44 .
  • the memory 44 may be volatile (such as RAM), non-volatile (such as ROM or flash memory) or some combination of the two.
  • This most basic configuration is illustrated in FIG. 2 by dashed line 46 .
  • the computer may also have other features/functionality.
  • computer 20 may also include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape.
  • Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to stored the desired information and which can be accessed by the computer 20 . Any such computer storage media may be part of computer 20 .
  • Computer 20 may also contain communications connections that allow the device to communicate with other devices.
  • a communication connection is an example of a communication medium.
  • Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
  • the term computer readable media as used herein includes both storage media and communication media.
  • Computer 20 may also have input devices such as a keyboard, mouse, pen, voice input device, touch input device, etc.
  • Output devices such as a display 48 , speakers, a printer, etc. may also be included. All these devices are well known in the art and need not be discussed at length here.
  • a server provides presence information regarding a first computing device, which is registered with the server, to a second computing device which operates as a watcher, as illustrated in FIG. 3.
  • the server, labeled 102 is a computing device that is capable of processing messages conforming to a protocol for supporting telephony (e.g., SIP, H.323).
  • the first computing device, labeled 104 , and the second computing device labeled 106 are devices capable of communicating with one another over a computer network using network telephony.
  • a first user 103 uses the first computing device 104
  • a second user 107 uses the second computing device 106 .
  • the server 102 includes various components, such as a program referred to as a presence agent (PA) 152 , a registration program (R) 154 , and an access control list (ACL) 156 .
  • the presence agent 152 receives requests for presence information from one or more computing devices that act as “watchers,” responds to the requests, and generates notifications of changes in the presence of computing devices being “watched”.
  • the server 102 includes a memory 158 for storing the data.
  • the registration program 154 processes registration request messages (e.g., an SIP REGISTER messages) received from over the network.
  • Registration messages are sent to the registration program 154 by computing devices that are new to the network, and serve to “introduce” such new devices to the presence agent program 152 .
  • Operating in connection with the presence agent 152 and registration program 154 is the access control list 156 .
  • the ACL 156 may be implemented as a data structure, database, or even as a program, and is referenced by the server 102 to allow the server 102 to determine how it is supposed to interact with other devices on the network.
  • the first user 103 operates the first computing device 104 to establish register with the server 102 .
  • the registration program 154 handles this registration process.
  • the registration program 154 is implemented as a dedicated computing device known as a registrar (not shown), which operates in conjunction with a proxy server that handles SIP messages. Any mechanism by which the first user 103 may register one or more devices in order to facilitate network telephony services, and particularly the communication of presence information, is within the scope of the invention.
  • the first computing device 104 executes a program, referred to as a presence user agent (PUA) that generates presence information relating to the first user 103 .
  • PUA presence user agent
  • the PUA may be implemented on hardware/firmware as part of a stand-alone program or operating system. It may also be implemented as part of other software applications such as e-mail utilities, instant messaging software, network monitoring programs, video/audio conferencing programs, etc.
  • the second user 107 interacts with the second computing device 106 to generate a SUBCRIBE message.
  • the second computing device 106 sends the message to the server 102 (event 120 ).
  • the SUBSCRIBE message alerts the server 102 that the second user 107 wants to “subscribe” as a watcher of the first computing device 104 and the corresponding first user 103 .
  • the subscribe message contains an event header that specifies presence as the basis for the subscription request (e.g., event.presence).
  • the event header causes the presence agent 152 to initiate a call to the server 102 to process the message as a presence subscription (as opposed to some other type of network event).
  • the server 102 (acting as a presence agent on behalf of the first computing device 104 ) stores the contents of the request into a data structure 150 , referred to as an offline subscribes data structure.
  • the offline subscribes data structure 150 is implemented as a file, record, table, index or any other scheme or mechanism for organizing data.
  • Subscription information pertaining to each subscriber e.g., URI, network address information of the subscriber
  • URI Uniform Resource Identifier
  • the offline subscribes data structure 150 is implemented as a file, record, table, index or any other scheme or mechanism for organizing data.
  • Subscription information pertaining to each subscriber e.g., URI, network address information of the subscriber
  • URI Uniform Resource Identifier
  • the server 102 After the subscription request is stored into the offline subscribes data structure 150 , the server 102 makes a determination as to whether to accept the subscription request. This determination is made according to rules or conditions defined by the first user 103 , which are maintained in the access control list (ACL) 152 .
  • the ACL 152 includes access preferences that informs the server 102 as to which permissions, or access rights, a particular user or group of users has with respect to a particular resource-in this case, the presence information related to the first computing device 104 and first user 103 .
  • the actual settings of the ACL 152 as defined by the first computing device 104 will be described in a later section of this description.
  • the presence agent 152 When the subscription message is accepted, the presence agent 152 generates an acceptance message, such as a SIP 202 message (event 124 ) and a NOTIFY message (event 126 ), which the server 102 sends to the second computing device 106 .
  • the body of the NOTIFY message contains the presence information of the first computing device 104 and/or of the corresponding first user 103 .
  • the presence agent 152 rejects the request, the presence agent 152 generates an acceptance message (e.g., a SIP 202 message) in the same manner as when the request is accepted.
  • the server 102 does not send presence information to the second computing device 106 , but rather sends a NOTIFY message containing no presence information.
  • the second user 107 is allowed to subscribe as a watcher of the first user 103 , but does not gain access to the presence information.
  • access to presence information pertaining to the first user 103 and/or the corresponding first computing device 104 is limited only to those users specified by the ACL 156 . Since the server 102 accepts all subscription requests, access to the presence information of the first computing device 104 and/or the first user 103 is not dependent upon the first computing device 104 or first user 103 actually being present. In other words, it is possible for the first computing device 104 or first user 103 to not be present upon the network (e.g., logged off, disconnected, or in a busy state) without jeopardizing the ability of another device to subscribe as a watcher.
  • the network e.g., logged off, disconnected, or in a busy state
  • the server 102 overcomes this challenge through the use of the offline subscribes data structure 150 .
  • the first computing device 104 and the first user 103 resume their activity upon the network after having previously not been present upon the network, the first computing device 104 sends a SUBSCRIBE request to the server 102 to obtain any data stored in the offline subscribes data structure 150 (event 128 ).
  • This subscribe request differs from the subscription request transmitted by the second computing device 106 for obtaining presence information (event 120 ).
  • the subscribe message sent by the first computing device 104 indicates to the server 102 that the first computing device 104 wishes to determine which other devices, if any, have attempted to monitor its presence or that of the first user 103 during the offline period.
  • the server 102 accesses the offline subscribes data structure 150 , extracts the data, and forwards an acceptance message to the first computing device 104 followed by a NOTIFY message (events 130 and 132 ).
  • the body of the NOTIFY message contains the data from the offline subscribes data structure, such as a list of the subscribers and their corresponding network address information.
  • the first computing device 104 is able to recognize all of the computing devices and users that subscribed as watchers during the time it was not present on the network.
  • the first computing device 104 and/or the first user 103 determines whether to accept or reject the subscription requests.
  • the first user 103 makes this determination by responding to message prompts generated to a display screen 110 of the first computing device 104 by a presence enabled program (e.g., the PUA).
  • the first user 103 responds using an input device such as a mouse or keyboard.
  • Subscription requests can also be accepted or rejected by the first computing device 104 automatically, without user intervention, according to the preferences or auto-settings of the first computing device 104 .
  • the first computing device 104 When a subscription request is accepted, the first computing device 104 generates an updated presence document, which is a file that contains the presence information, and forwards it to the server 102 (event 134 ).
  • the presence agent 152 operating on the server 102 , processes the contents of the presence document, and stores the presence information obtained from the document into an accessible memory location 158 for subsequent retrieval.
  • the ACL 156 is updated to indicate that the second user 107 has been permitted to act as a watcher of the first computing device 104 and the first user 103 (event 136 ). As such, the second computing device 106 may freely access the presence information of the first computing device 104 and first user 103 .
  • the ACL 156 is updated to indicate that the second user 107 is not to have access to the presence information (event 136 ). No subsequent NOTIFY message is sent to the second computing device 106 in this case, ensuring that the second user 107 is not aware of the presence of the first computing device 104 or first user 103 .
  • the operation of the server 102 for facilitating the communication of presence information is described.
  • the first computing device 104 is able to insert descriptive presence information into any updated presence document and transmit the presence document to the server 104 to the presence agent 152
  • the server 102 recognizes the differences between the updated presence document and previous versions of the presence document to the presence document and based on these differences, more accurately portrayal the presence of the first computing device 104 and/or the first user 103 .
  • the first computing device 104 is able to update the ACL 156 to control the extent to which other devices may access the presence information maintained by the server 102 .
  • the mechanisms employed by the first computing device 104 and server 102 for setting presence and controlling access to the presence information is described. This functionality is presented in FIGS. 4 - 5 .
  • a computer network includes a first computing device 200 that is operated by a first user 200 , a server 201 , and a second computing device 211 having that is operated by a second user 210 .
  • the first computing device 200 is capable of generating presence information and exchanging it in the form of a presence document with the server 201 in accordance with an embodiment of the invention.
  • the presence document 207 contains information pertaining to the presence of the first computing device 200 and first user 202 .
  • the first computing device 200 submits the presence document by sending a SERVICE message 204 to the server 201 (event 300 ).
  • the service message 204 conforms to a standard telephony protocol format such as SIP, and comprises instructions within the message body for initiating the Set Presence remote procedure call.
  • the Set Presence procedure call is a function or method executable on the server 201 , that causes the agent 152 operating on the server 201 to set (update) the presence information for the first user 202 and the first computing device 200 in memory 158 .
  • the service message supports the exchange of complex object types and not just text. Suitable protocols or mechanisms for supporting the transmission of complex objects include, but are not limited to, Internet Inter-ORB Protocol (IIOP), COM/DCOM based protocols, and the Simple Object Access Protocol (SOAP).
  • IIOP Internet Inter-ORB Protocol
  • COM/DCOM based protocols COM/DCOM based protocols
  • SOAP Simple Object Access Protocol
  • the Set Presence procedure call is contained within a SOAP envelope within the message body.
  • SOAP allows remote procedure calls to be embedded within messages (as a SOAP envelope), and invoked by a receiving device.
  • Several Set Presence calls may be indicated within a single SOAP envelope in order to permit several devices to update their presence information simultaneously.
  • the presence document 207 generated by the first computing device 200 is comprised of one or more attributes that relate to the presence of the first computing device 200 or corresponding first user 202 .
  • attributes include an availability level 208 and activity level 209 .
  • the description attribute 210 in association with the availability level 208 and activity level 209 is the description attribute 210 .
  • the description attribute provides a functional or plain-language description of the assigned activity or availability level, and is specified at the discretion of the first computing device 200 .
  • For each presence document generated by a computing device related to the first user 202 one activity level and availability level is specified.
  • the server 102 is able to provide a more accurate indication of the presence for the first computing device 200 or first user 202 to a user 211 that is acting as a watcher.
  • the availability level 208 is an attribute that indicates whether the first computing device 200 or first user 202 may actually receive calls.
  • the first computing device 200 specifies various availability levels, including those shown in TABLE 1 below. Yet, only one availability level need be specified for a single device at a time.
  • TABLE 1 Availability level settings Associated Availability Description of Level Availability Level Explanation 000 Offline The user cannot receive calls. 100 Undetermined The user may be online, but there is no way to know until a call is attempted. 200 Connected The user has a device currently connected that can receive calls. 300 Online The user is in proximity to a device that can receive calls.
  • the availability levels are spread into classes, where each class is a multiple of 100 . This is analogous to the response code numbering system used in communication protocols such as the hypertext transfer protocol (HTTP) and SIP.
  • HTTP hypertext transfer protocol
  • SIP hypertext transfer protocol
  • the first computing device 200 may want to indicate a greater level of availability than “online,” but may not want to show an availability of “always,” and create a new availability value 250 : “likely to take call”. If the second computing device 211 is not familiar with this particular attribute receives such presence information, it can abstract it to a class in which is it familiar (e.g., it can generalized to 200 : “connected”).
  • the activity level 209 provides an indication of the action in which the first computing device 200 or corresponding first user 202 is engaged. Also, the activity level 209 indicates to the second computing device 211 or other devices that are in the role of watchers the likelihood of calls or messages being accepted by the first computing device 200 or first user 202 .
  • Various activity levels may be specified within the presence document 207 , as shown in Table 2 below. TABLE 2 Activity level settings Associated Activity Description of Level Activity Level Explanation 000 No explicit There is no information about the activity activity of the user.
  • the invention is not limited to the set of values or activity classes shown in TABLE 2. Also, it will be recognized by those skilled in the art that specifying the activity level 209 of the 208 first computing device 200 or user 202 in connection with the availability level ensures for more accurate presence. This is in contrast with many existing systems for conveying presence information, in which less useful presence attributes are provided. For example, if a presence document only indicates that the user is “busy,” this is not sufficient information for the watcher 211 to determine if calls can actually be placed with the first computing device 200 . Just because the first user 202 is busy does not mean that calls are not to be received from the second computing device 210 . Various embodiments of the invention account for such intricate distinctions in presence by indicating both the activity level (e.g., busy or active) and availability level (e.g., connected) of a computing device and/or its corresponding user.
  • activity level e.g., busy or active
  • availability level e.g., connected
  • a computing device when a computing device is not present or a network, but later resumes its activities upon the network, it can access a data structure from the network device to determine which users have subscribed to watch it. At this point, the computing device or its corresponding user decides whether to allow the one or more subscribers access to its presence information. The decision is made known to the server that is handling presence administration for the network device by way of an access control list (ACL).
  • ACL access control list
  • a computing device sets its access preferences with a server via a Set ACL procedure call, as illustrated in FIG. 5.
  • the Set ACL procedure call is an executable function or method that specifies the ACL settings for the computing device 300 of the network shown in FIG. 3.
  • the computing device 300 submits a SERVICE message 304 to a server 102 in order to initiate the setting, or updating, of the ACL 156 .
  • the SERVICE message comprises one or more setACL procedure calls 305 , which trigger the presence agent 152 operating on the network device 102 to set (update) the ACL 156 .
  • the setACL procedure call is contained within a SOAP envelope that comprises the body of the SERVICE message. Multiple setACL calls may be contained within a single service message 304 in order to authorize one or more subscribers.
  • the network device 102 receives the SERVICE message, the presence agent 152 processes it, and the access preferences 306 indicated by the service message 304 are stored within the ACL 156 .
  • Timeout “T” User having this level of access can invite another user to communicate, but the user's real-time communica- tion client program will always time- out the call. This is a polite way of blocking the and equates to the phone “ringing off the hook”.
  • Deny “D” User having this level of access cannot invite another user to communicate.
  • PRESENCE Allow “A” A user can query or subscribe to another user's presence and will be notified when status changes occur
  • Prompt “P” A user having this level of access can attempt to subscribe to another user's presence, but the other user will be prompted for permission Block “B”
  • Block “B” A user having this level of access may subscribe to another user's presence, but the other user will always appear to be offline.
  • Deny “D” A user with this level of access can- not even subscribe to the other user
  • identity a user or a group of users will also be referred to herein as an “identity.” There are many possible ways to designate an identity. In an embodiment of the invention, the following types of identities exist. Identity Type Meaning ALL All users and groups. DOMAIN All users in this domain URI Used to specify a particular user.
  • Each access control list has one or more access control entries. Each access control entry confers one or more rights to an identity.
  • the administrator of a network can set a “default” access control list that is applied to all users in a particular group. If an access control entry in the user's personal access control list has the same identity as an access control entry in the default access control list, then the personal access control entry takes precedent over the default access control entry. This merging is done at the server when a user's access control list is retrieved. Client software will only ever see the merged access control list.
  • the administrator may also set a “mandatory” access control list that is applied to all users in a particular group.
  • the invention has been described with respect to the interaction between one or more users that act as watchers, a computing device, and a corresponding user being watched.
  • the user being watched may have more than one device (registered) with the network device at a time.
  • presence information is generated by each of the devices, resulting in several presence documents being generated and exchanged with the server that handles presence administration.
  • a watcher seeking to obtain presence information pertaining to a user of several devices would receive several individual presence documents. Or, in some instances, the watcher would receive a compound document that simply lists the presence of each device, and nothing more.
  • an aggregator component executed by the server that handles presence administration aggregates the presence information of several devices pertaining to a single user into a single presence document. In this way, the watcher is able to obtain a more precise indication of the overall presence of the user. Operation of embodiments of the invention in which this technique is employed is described in the following paragraphs, and with respect to FIGS. 6 - 8 .
  • a user 320 employs several telephony devices, including a desktop computer 322 , laptop computer 324 , and cell phone 326 .
  • Each device is registered with a server 328 , and generates presence information pertaining to itself and/or the corresponding user 320 .
  • the server 328 executes an aggregator module 340 that analyzes each presence document to determine their respective presence priority settings.
  • the presence priority setting is a value calculated using information specified in the presence document for a device, such as from the summation of the availability level 208 and activity level 209 of a presence document 207 , to determine the level of presence of the respective device.
  • a higher presence priority setting for a particular presence document indicates a higher degree of presence with respect to a particular computing device. It should be noted that a higher degree of presence is not strictly based upon numeric values, but rather to the meaning associated with a particular availability or activity level.
  • the presence agent 152 can determine which document most accurately reflects the presence of the user 320 and the user's corresponding computing devices 322 - 326 . In turn, the presence agent 152 conveys this information to the watcher 320 to ensure the watcher 320 has access to the most accurate presence information.
  • the aggregator component 340 operates upon the server 328 to interpret presence documents generated by one or more registered devices, in accordance with an embodiment of the invention.
  • the aggregator component 340 is implemented as an executable module, such as a dynamic link library (DLL) or computer executable application that is capable of processing presence information.
  • Presence information is generated by the registered devices (desktop 322 , laptop 324 and cell phone 326 ), and conveyed as presence documents 350 - 354 .
  • each presence document comprises information such as an availability level, an activity level, description attribute and any other relevant presence information.
  • the presence document 350 generated by the desktop computer 322 for example, which specifies an availability level 356 equal to 300 and an activity level 358 equal to 000 .
  • the activity 358 and availability levels 356 provide an indication of the current state or operation of the desktop computer 322 or user 320 , and correspond to the description attributes “online” 360 and “no explicit activity” 362 respectively.
  • Also included within the presence document 350 is any other information 364 pertaining to the presence of the desktop computer 322 , such as diagnostic data, user profile data, or the like.
  • the laptop computer 324 and cell phone 326 also generate presence documents in a similar fashion.
  • the aggregator component 340 performs a computation to determine which document indicates the highest presence priority setting (event 380 ). More specifically, the aggregator component 340 calculates the presence priority setting for each document such as by comparing the indicated activity level and availability level values and setting the presence priority setting to that of the highest value. For example, the presence priority settings for the desktop computer 322 , laptop computer 324 and cell phone 326 as calculated as shown in TABLE 4 below. TABLE 4 Presence priority settings for the registered devices of FIGS. 6 and 7 Device Availability Activity Description Desktop Computer 322 300 000 online, no explicit activity Laptop computer 324 200 400 connected, active Cell Phone 326 000 000 offline, no explicit activity Aggregate presence 300 400 online, active
  • the laptop computer 404 has a presence activity setting of 400 , the highest of all the computing devices. This setting indicates to the presence agent 152 that the laptop computer 324 is connected to the network for receiving calls, and that the user 320 is actively using the laptop computer 326 . Hence, while the desktop computer 322 and cell phone 326 are registered with the server 328 , their presence priority settings indicate a lesser likelihood of them engaging in a communication session (e.g., the user 320 is not currently using these devices). In contrast, a higher presence priority setting more explicitly and accurately indicates the presence of the computing devices 322 - 326 and user 320 .
  • the aggregator component 340 generates a single presence document that conveys overall presence information related to the single person who owns each of the computing devices 322 - 326 (event 382 ).
  • this single presence document only specifies the highest availability and activity levels of the computing devices, as illustrated in FIG. 8.
  • the highest availability level of the three devices is 300
  • the highest activity level of the three devices is 400
  • the aggregate availability and activity levels are 300 and 400 .
  • the single presence document is generated such that the presence agent can detect which of the user's computing devices 322 - 326 indicates the highest degree of presence upon the network.
  • the single (or aggregate) presence document 400 indicates the availability level 402 , activity level 404 and corresponding description attributes 406 and 408 associated with the desktop computer 322 and the laptop computer 400 , respectively. Additionally, the other presence information 156 related to each computing device is included within the single presence document 400 just as it was indicated in the original presence documents 350 - 354 . This single presence document 400 is then passed to the presence agent 152 operating upon the server 328 (event 386 ), where it is stored in an accessible memory location 158 for subsequent retrieval.
  • the resulting single presence document generated by the aggregator component 340 provides a more accurate indication of presence for users that employ several computing devices.
  • the single presence document indicates the presence information associated with each device (e.g., the other relevant information 526 ), but only reflects the highest availability and activity level of the devices. Consequently, the information that most accurately reflects the presence of the user is what ultimately gets conveyed to any watchers.
  • the presence agent 340 can call upon the aggregator component to generate a new presence document in response to common tasks performed by the server 328 .
  • the presence agent 152 can activate the aggregator component 340 whenever a REGISTER request is received by the server 328 from a computing device being operated by the user 320 , or conversely when a REGISTER request expires.
  • the presence agent 152 in can activate the aggregator component 340 whenever the server 328 receives a new SERVICE message that requires processing. In this way, the most up-to-date presence information for one or more computing devices is continually maintained by the presence agent 152 .

Abstract

A system for detecting and communicating the presence of one or more computing devices is presented. The invention also presents a method and system for aggregating presence information generated by multiple devices associated with a single user. A server acting as a presence agent on behalf of a first user receives and responds to a subscription request generated by a computing device operated by a second user that wishes to be permitted as a watcher of the first user. When the second user corresponds to access preferences specified by the first user, a notify message is sent to the second user's device that includes presence information indicative of an activity level and availability level associated with the first user. When the first user employs multiple computing devices, the server generates an aggregate presence document that is representative of the overall presence of the first user.

Description

    TECHNICAL FIELD
  • The invention relates generally to communication between computers over a network, and more particularly, to methods and systems for communicating the presence of one or more devices from over the network. [0001]
  • BACKGROUND OF THE INVENTION
  • With today's widespread use of the Internet as a primary communication medium, pre-existing communication devices are now being designed so that they are capable of communicating over packet-switched networks. For instance, telephones, pagers, cell phones, handheld computers, and even fax machines can now be accessed and controlled from over the Internet. Communication over a packet-switched network using communication devices that traditionally communicate over a circuit-switched telephone network is generally known as network telephony, or IP telephony when an IP network is involved. [0002]
  • A user having several communication devices (e.g., a cell phone, laptop and handheld PC) can configure each of these devices to identify itself to the network using a single alias or identifier (e.g., username@b.com). In this way, the user is not limited to communicating with others via a single device, but instead has the ability to communicate via several different devices. Nonetheless, the ability for a user to have several devices “present” on a computer network creates a need for other users to be able to determine the status or state of the user's many devices. [0003]
  • “Presence” refers to the availability, proximity, activity level or operating state of a user on a network. The ability for users to monitor each other's presence is a feature offered in connection with many applications that support network telephony. For example, instant messaging applications such as MSN or Yahoo have an “available buddy” feature, in which a user of the application can determine whether select users are available for engaging in communication. The data retrieved and returned to the buddy list, e.g. “John OFFLINE” or “Susan ACTIVE,” is known as “presence information,” and is generally maintained by a program called a “presence agent.” According to most conventional network configurations, the presence agent is implemented as a dedicated server. Typically, the presence agent supports network telephony protocols such as the session initiation protocol (SIP). Device users can register their devices with the presence agent (e.g., via a registrar module) in order to have their presence maintained and to allow various programs on the network to facilitate network telephony services. As such, a first device user wishing to detect the presence of a second device user does so by “subscribing” with the presence agent, such as via a SIP SUBSCRIBE message. The presence agent intermediates between the first user, also known as the watcher, and the second user to facilitate the communication of the second device user's presence information to the first device user. [0004]
  • The ability of a presence agent to accurately determine and maintain presence information for one or more users significantly enhances communication and task completion over the network. For example, a very mobile user may only be on the network at certain times throughout the day, and may be accessing the network from varying locations. By subscribing as a watcher of this mobile user, it becomes possible for another user to detect the presence of the mobile user during the times at which the mobile user's computing device is actually connected to the network. So, when the mobile user is present, the watcher can correspond instantly with the mobile user via a chat session or videoconferencing call, as opposed to resorting to a non-real-time communication such as e-mail messaging. Hence, presence is an especially important factor for facilitating communication between users. Unfortunately, however, conventional presence agents are unable to determine presence with sufficient granularity. As an example, consider a scenario where a second user has subscribed with a presence agent as a watcher of a first user. If the first user is in the second users' available buddy list, and the first user's computing device suddenly goes into sleep mode, the second user's buddy list should still indicate that the first user's device is available for communication rather than indicate that the first user's device is “offline.” An indication of “offline” does not accurately reflect that the first user's device may still be connected to the network and may still be able to receive messages. Yet, many presence agents only provide generalized presence information, such as “offline” or “unavailable,” and do not account for more ambiguous presence conditions. [0005]
  • Some other presence agents attempt to more accurately present presence information by shortening the subscription periods of watchers. According to this mode of operation, when a watcher subscribes with the presence agent, the watcher's subscription time is minimized (e.g., by using a shortened timeout period), and so the watcher must frequently renew the subscription. Each time the watcher renews, the watcher receives the most current presence information. While this method of presence determination can be effective for detecting subtle changes in presence, the constant updating of subscriptions causes the presence agent to use more bandwidth and increases its overall processing time. Furthermore, this method increases the message load on a server that operates the presence agent resulting in a significant reduction in scalability. [0006]
  • Still further, many presence agents are unable to provide accurate presence information for those users who have several devices registered and present upon the network. Current standards for retrieving presence information pertaining to multiple device users simply call for the presence of each individual device to be determined, and then presented to the watcher as a compound document, such as an HTML file. As a result, the watcher that receives the compound document indicating the presence information for each device must “guess” which device's presence information most accurately reflects the presence of the user. However, just because a user's mobile phone, pager, laptop, PDA, and desktop computer are all present on the network does not mean the user is using all of them. Indeed, the presence information of the individual devices says very little about the actual presence (e.g., activity or availability) of the user. [0007]
  • SUMMARY OF THE INVENTION
  • The invention presents a method and system for detecting and communicating the presence of one or more users on a computer network. This includes users who employ devices that communicate over a network via the SIP protocol, and other common network protocols. The present invention also relates to a method and system for aggregating the presence information of multiple devices associated with a single user such that more accurate and useful presence information pertaining to the user can be determined. [0008]
  • In accordance with an embodiment of the invention, a network device, such as a server, is equipped with a presence agent that facilitates the exchange of presence information between a first user and a second user. The first user is referenced by a unique alias, such as user@some_network.com, and has one or more computing devices registered with the network server (e.g., via a registration module or dedicated registrar server). When the second device wishes to access presence information pertaining to the first user, the second user employs a computing device to send a subscription request to the network server in order to become a “watcher” of the second device user. Once received, the subscription request is then forwarded to the presence agent operating upon the network device for processing. The network device then generates and submits an acceptance message to the first user's device, followed by a standard NOTIFY message. As such, acceptance of the subscription is sent to the second user regardless of whether or not the second user is actually granted access to the presence information, as determined according to access preferences specified by the first user. [0009]
  • In order to grant access to the second user, the presence agent checks an access control list (ACL) that comprises one or more access rules or preferences. The first user defines these rules in order to affect how its presence information is shared with one or more watchers. When the ACL specifies that the second user may access the presence information, the NOTIFY message includes a presence document that contains the presence information. In contrast, when the ACL specifies that the watcher is not to access the presence information, the NOTIFY message is sent to the watcher without the presence document. Because the network server always sends an acceptance and notification message to the watcher, the subscription process is facilitated without any intervention by the first user, thus minimizing the processing requirements of the presence agent. [0010]
  • In accordance with another embodiment of the invention, the presence agent operating upon the network device maintains an offline subscribes data structure for storing information associated with any subscription requests submitted by one or more users wishing to access the first user's presence information. The subscription information is stored into the data structure whether the first user to be watched is or is not present (e.g., inactive, logged off), and includes data such as a URI (uniform resource locator) that uniquely identifies a particular subscriber. As such, when resuming upon the network again, the first user's one or more computing devices send a subscribe request to the network device in order obtain any data stored in the offline subscribes data structure. In response to this request, the presence agent operating upon the network device accesses the offline subscribes data structure, extracts the data, and forwards a NOTIFY message to the first user's device along with the data. When the first user authorizes the subscription, the registered device user updates its presence document, and forwards it to the network device. The network device then updates the ACL accordingly, and a NOTIFY message is sent to the subscribing user along with a presence document containing the presence information. On the other hand, when the subscription is not acceptable, the ACL is updated to specify prevention of access by the subscriber, resulting in a NOTIFY message being sent to the subscriber without any presence information. [0011]
  • In yet another embodiment of the invention, an aggregator component executed by the network device aggregates the presence information of several devices associated with a user into a single presence document. For user's that employ several computing devices (e.g., PDA, cell phone, laptop, and pager), a presence document for each individual device is generated and sent to the presence agent operating upon the network device for processing. Upon receiving these documents, the network device executes an aggregator component that performs a computation to determine the presence priority setting of each document. The presence priority setting of a document is a value that is determined according to attributes that include an activity level and an availability level. The activity level indicates what action the first user or corresponding device may be engaged in (e.g., idle, away), giving an indication of the likelihood of calls or messages actually being accepted from over the network. In relation to the activity level is the availability level, which indicates whether the user or user's corresponding computing devices may actually receive calls based on various network conditions (e.g., offline, online). A description attribute may optionally be associated with the activity or availability level to provide a functional or plain-language description of the assigned level. By summing up these values, the aggregator component identifies which device has the highest presence priority setting, and merges the presence information of each device into a single, or aggregate, document. The resulting presence information contained within the single document indicates to the watcher which of the user's devices most accurately reflects the presence of the user. [0012]
  • Additional features and advantages of the invention will be made apparent from the following detailed description of illustrative embodiments that proceeds with reference to the accompanying figures.[0013]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • While the appended claims set forth the features of the present invention with particularity, the invention, together with its objects and advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which: [0014]
  • FIG. 1 is an example of a computer network; [0015]
  • FIG. 2 is an example of a computer; [0016]
  • FIG. 3 is a diagram illustrating a server facilitating a call between a first computing device and a second computing device over the network in accordance with an embodiment of the invention; [0017]
  • FIG. 4 is a diagram illustrating the mechanism employed by a first computing device of FIG. 3 for setting presence with a server according to an embodiment of the invention; [0018]
  • FIG. 5 is a diagram illustrating the mechanism employed by a first computing device of FIG. 3 for setting access preferences with a server according to an embodiment of the invention; and [0019]
  • FIGS. [0020] 6-8 illustrate the operation of an aggregator component for processing one or more presence documents.
  • DETAILED DESCRIPTION OF THE INVENTION
  • The invention relates to a method and system for detecting and communicating the presence of one or more users on a computer network. Also, the invention relates to a method and system for aggregating the presence information of multiple devices associated with a single user such that overall presence information pertaining to that user can be determined. In the context of the invention, presence information describes any data that specifies the availability, proximity, activity level or operating state of a computing device or corresponding user of the device from over the network. For example, presence information can be provided to a user of a computing first device (a watcher) in the form of a presence document, and analyzed by watcher to determine if a user of another computing device (a registered device user) is online or offline, busy or idle. This determination is dependent on various factors, including the current activity of the user being maintained, the present operating state of the computing device of the user being monitored, etc. In an effort to stay consistent with common terminology used in the computing industry, this detailed description will use the term “presence” synonymously with the term “presence information” at various times. Moreover, the terms “presence” or “presence information” should be interpreted as relating to the user, or one or more devices employed by the user. [0021]
  • Also, the invention will be described throughout the course of the description with respect to SIP as a messaging protocol for supporting communication between devices in accordance with the teachings of the invention. Once again, those of skill in the art will recognize that SIP is only one protocol suitable for supporting network telephony and presence, and that other protocols may just as easily be utilized. Other such protocols include the H.323 standard and the Single Computer Telephony Protocol (SCTP). The invention is not limited to any one protocol or messaging implementation, as any means or medium by which two or more devices may communicate to support network telephony applications is suitable. Furthermore, the invention is not limited to any particular network telephony configuration, as any means for exchanging messages between one or more computers via SIP or the like is suitable for use in connection with the invention. This includes network configurations where computing devices such as proxies, redirect servers, registration terminals, presence servers and agents, and one or more clients or “presentities,” are involved in the communication. [0022]
  • As used herein, the term “network telephony” relates to any process wherein a network, such as the Internet, is used as a transmission medium for placing telephone calls or facilitating multimedia sessions between two or more computing devices. This can include multimedia sessions where streaming media (e.g., audio and video data) is exchanged over the network, conference calls, virtual meetings, and other telephony sessions. The term “network telephony” is generic, and can therefore describe or pertain to several other communication processes involving the exchange of packetized data. These include, but are not limited to, IP telephony, Voice over the Internet (VOI) and Voice over IP (VoIP). Also, as used herein, the term “call” (e.g., telephone call) relates to a session in which an exchange of information is commenced or initiated between two or more computing devices over a network, such as with the aide of a telephony application (e.g., MICROSOFT NETMEETING TM). In the context of the present invention, a “call” is synonymous to a “message” being sent between devices, and those terms will be used interchangeably at times to describe the interaction between two or more devices over the network. [0023]
  • An example of a networked environment in which the invention may be used will now be described with reference to FIG. 1. The example network includes [0024] several computers 20 communicating with one another over a network 30, such as the Internet, as represented by a cloud. Network 30 may include many well-known components, such as routers, gateways, hubs, etc. and may allow the computers 20 to communicate via wired and/or wireless media.
  • Referring to FIG. 2, an example of a basic configuration for a computer on which the system described herein may be implemented is shown. In its most basic configuration, the [0025] computer 20 typically includes at least one processing unit 42 and memory 44. Depending on the exact configuration and type of the computer 20, the memory 44 may be volatile (such as RAM), non-volatile (such as ROM or flash memory) or some combination of the two. This most basic configuration is illustrated in FIG. 2 by dashed line 46. Additionally, the computer may also have other features/functionality. For example, computer 20 may also include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to stored the desired information and which can be accessed by the computer 20. Any such computer storage media may be part of computer 20.
  • [0026] Computer 20 may also contain communications connections that allow the device to communicate with other devices. A communication connection is an example of a communication medium. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media.
  • [0027] Computer 20 may also have input devices such as a keyboard, mouse, pen, voice input device, touch input device, etc. Output devices such as a display 48, speakers, a printer, etc. may also be included. All these devices are well known in the art and need not be discussed at length here.
  • In accordance with an embodiment of the invention, a server provides presence information regarding a first computing device, which is registered with the server, to a second computing device which operates as a watcher, as illustrated in FIG. 3. The server, labeled [0028] 102, is a computing device that is capable of processing messages conforming to a protocol for supporting telephony (e.g., SIP, H.323). The first computing device, labeled 104, and the second computing device labeled 106 are devices capable of communicating with one another over a computer network using network telephony. A first user 103 uses the first computing device 104, while a second user 107 uses the second computing device 106. In order to support the communication of presence information, the server 102 includes various components, such as a program referred to as a presence agent (PA) 152, a registration program (R) 154, and an access control list (ACL) 156. The presence agent 152 receives requests for presence information from one or more computing devices that act as “watchers,” responds to the requests, and generates notifications of changes in the presence of computing devices being “watched”. To maintain that presence information, the server 102 includes a memory 158 for storing the data. The registration program 154 processes registration request messages (e.g., an SIP REGISTER messages) received from over the network. Registration messages are sent to the registration program 154 by computing devices that are new to the network, and serve to “introduce” such new devices to the presence agent program 152. Operating in connection with the presence agent 152 and registration program 154 is the access control list 156. The ACL 156 may be implemented as a data structure, database, or even as a program, and is referenced by the server 102 to allow the server 102 to determine how it is supposed to interact with other devices on the network.
  • As shown in FIG. 3, the [0029] first user 103 operates the first computing device 104 to establish register with the server 102. The registration program 154 handles this registration process. In some embodiments, the registration program 154 is implemented as a dedicated computing device known as a registrar (not shown), which operates in conjunction with a proxy server that handles SIP messages. Any mechanism by which the first user 103 may register one or more devices in order to facilitate network telephony services, and particularly the communication of presence information, is within the scope of the invention.
  • The [0030] first computing device 104 executes a program, referred to as a presence user agent (PUA) that generates presence information relating to the first user 103. The PUA may be implemented on hardware/firmware as part of a stand-alone program or operating system. It may also be implemented as part of other software applications such as e-mail utilities, instant messaging software, network monitoring programs, video/audio conferencing programs, etc. When the second user 107 wishes to gain access to the presence information of the first user 103, the second user 107 interacts with the second computing device 106 to generate a SUBCRIBE message. The second computing device 106 sends the message to the server 102 (event 120). The SUBSCRIBE message alerts the server 102 that the second user 107 wants to “subscribe” as a watcher of the first computing device 104 and the corresponding first user 103. In various embodiments of the invention, the subscribe message contains an event header that specifies presence as the basis for the subscription request (e.g., event.presence). The event header causes the presence agent 152 to initiate a call to the server 102 to process the message as a presence subscription (as opposed to some other type of network event). In response to the subscription request, the server 102 (acting as a presence agent on behalf of the first computing device 104) stores the contents of the request into a data structure 150, referred to as an offline subscribes data structure. The offline subscribes data structure 150 is implemented as a file, record, table, index or any other scheme or mechanism for organizing data. Subscription information pertaining to each subscriber (e.g., URI, network address information of the subscriber) is stored in the offline subscribes data structure 150, allowing it to act as a persistent record of the subscription requests. In this way, the subscription information is maintained so as to be readily accessible to the presence agent 152.
  • After the subscription request is stored into the offline subscribes [0031] data structure 150, the server 102 makes a determination as to whether to accept the subscription request. This determination is made according to rules or conditions defined by the first user 103, which are maintained in the access control list (ACL) 152. In general, the ACL 152 includes access preferences that informs the server 102 as to which permissions, or access rights, a particular user or group of users has with respect to a particular resource-in this case, the presence information related to the first computing device 104 and first user 103. The actual settings of the ACL 152 as defined by the first computing device 104 will be described in a later section of this description. When the subscription message is accepted, the presence agent 152 generates an acceptance message, such as a SIP 202 message (event 124) and a NOTIFY message (event 126), which the server 102 sends to the second computing device 106. For standard telephony protocols such as SIP, the body of the NOTIFY message contains the presence information of the first computing device 104 and/or of the corresponding first user 103. If the presence agent 152 rejects the request, the presence agent 152 generates an acceptance message (e.g., a SIP 202 message) in the same manner as when the request is accepted. However, the server 102 does not send presence information to the second computing device 106, but rather sends a NOTIFY message containing no presence information. As a result, the second user 107 is allowed to subscribe as a watcher of the first user 103, but does not gain access to the presence information.
  • According to an embodiment of the invention, access to presence information pertaining to the [0032] first user 103 and/or the corresponding first computing device 104 is limited only to those users specified by the ACL 156. Since the server 102 accepts all subscription requests, access to the presence information of the first computing device 104 and/or the first user 103 is not dependent upon the first computing device 104 or first user 103 actually being present. In other words, it is possible for the first computing device 104 or first user 103 to not be present upon the network (e.g., logged off, disconnected, or in a busy state) without jeopardizing the ability of another device to subscribe as a watcher. In conventional systems, the absence of the first computing device 104 results in all SUBSCRIBE requests received by the server 102 being rejected. Consequently, in such systems the watcher must resubmit the request periodically until the subscription is finally accepted. Obviously, this is not desirable as this phenomenon increases the amount of traffic to be handled by the server 102, and, ultimately reduces its scalability.
  • The [0033] server 102 overcomes this challenge through the use of the offline subscribes data structure 150. When the first computing device 104 and the first user 103 resume their activity upon the network after having previously not been present upon the network, the first computing device 104 sends a SUBSCRIBE request to the server 102 to obtain any data stored in the offline subscribes data structure 150 (event 128). This subscribe request differs from the subscription request transmitted by the second computing device 106 for obtaining presence information (event 120). In that, the subscribe message sent by the first computing device 104 indicates to the server 102 that the first computing device 104 wishes to determine which other devices, if any, have attempted to monitor its presence or that of the first user 103 during the offline period. In response to this request, the server 102 accesses the offline subscribes data structure 150, extracts the data, and forwards an acceptance message to the first computing device 104 followed by a NOTIFY message (events 130 and 132). The body of the NOTIFY message contains the data from the offline subscribes data structure, such as a list of the subscribers and their corresponding network address information. Armed with this information, the first computing device 104 is able to recognize all of the computing devices and users that subscribed as watchers during the time it was not present on the network.
  • Once the first computing device receives the list of subscribers obtained from the offline subscribes data structure, the [0034] first computing device 104 and/or the first user 103 determines whether to accept or reject the subscription requests. The first user 103 makes this determination by responding to message prompts generated to a display screen 110 of the first computing device 104 by a presence enabled program (e.g., the PUA). In this scenario, the first user 103 responds using an input device such as a mouse or keyboard. Subscription requests can also be accepted or rejected by the first computing device 104 automatically, without user intervention, according to the preferences or auto-settings of the first computing device 104. When a subscription request is accepted, the first computing device 104 generates an updated presence document, which is a file that contains the presence information, and forwards it to the server 102 (event 134). The presence agent 152, operating on the server 102, processes the contents of the presence document, and stores the presence information obtained from the document into an accessible memory location 158 for subsequent retrieval. Also, upon receiving the presence information, the ACL 156 is updated to indicate that the second user 107 has been permitted to act as a watcher of the first computing device 104 and the first user 103 (event 136). As such, the second computing device 106 may freely access the presence information of the first computing device 104 and first user 103. On the other hand, if the subscription is not accepted, the ACL 156 is updated to indicate that the second user 107 is not to have access to the presence information (event 136). No subsequent NOTIFY message is sent to the second computing device 106 in this case, ensuring that the second user 107 is not aware of the presence of the first computing device 104 or first user 103.
  • In the foregoing paragraphs, the operation of the [0035] server 102 for facilitating the communication of presence information is described. To ensure the most accurate portrayal of presence information to a watcher, in various embodiments of the invention the first computing device 104 is able to insert descriptive presence information into any updated presence document and transmit the presence document to the server 104 to the presence agent 152 Further, the server 102 recognizes the differences between the updated presence document and previous versions of the presence document to the presence document and based on these differences, more accurately portrayal the presence of the first computing device 104 and/or the first user 103. Also, the first computing device 104 is able to update the ACL 156 to control the extent to which other devices may access the presence information maintained by the server 102. In the following paragraphs, the mechanisms employed by the first computing device 104 and server 102 for setting presence and controlling access to the presence information is described. This functionality is presented in FIGS. 4-5.
  • Setting and Updating Presence Information
  • Referring now to FIG. 4, a computer network includes a [0036] first computing device 200 that is operated by a first user 200, a server 201, and a second computing device 211 having that is operated by a second user 210. Each of these components has much of the same functionality as those of FIG. 3, with additional features described in the following paragraphs. The first computing device 200 is capable of generating presence information and exchanging it in the form of a presence document with the server 201 in accordance with an embodiment of the invention. The presence document 207 contains information pertaining to the presence of the first computing device 200 and first user 202. Specifically, the first computing device 200 submits the presence document by sending a SERVICE message 204 to the server 201 (event 300). The service message 204 conforms to a standard telephony protocol format such as SIP, and comprises instructions within the message body for initiating the Set Presence remote procedure call. The Set Presence procedure call is a function or method executable on the server 201, that causes the agent 152 operating on the server 201 to set (update) the presence information for the first user 202 and the first computing device 200 in memory 158. Preferably, the service message supports the exchange of complex object types and not just text. Suitable protocols or mechanisms for supporting the transmission of complex objects include, but are not limited to, Internet Inter-ORB Protocol (IIOP), COM/DCOM based protocols, and the Simple Object Access Protocol (SOAP). In the illustrated embodiment, the Set Presence procedure call is contained within a SOAP envelope within the message body. SOAP allows remote procedure calls to be embedded within messages (as a SOAP envelope), and invoked by a receiving device. Several Set Presence calls may be indicated within a single SOAP envelope in order to permit several devices to update their presence information simultaneously.
  • In further accordance with an embodiment of the invention, the [0037] presence document 207 generated by the first computing device 200 is comprised of one or more attributes that relate to the presence of the first computing device 200 or corresponding first user 202. Such attributes include an availability level 208 and activity level 209. Also, in association with the availability level 208 and activity level 209 is the description attribute 210. The description attribute provides a functional or plain-language description of the assigned activity or availability level, and is specified at the discretion of the first computing device 200. For each presence document generated by a computing device related to the first user 202, one activity level and availability level is specified. By specifying these attributes within the presence document 207, the server 102 is able to provide a more accurate indication of the presence for the first computing device 200 or first user 202 to a user 211 that is acting as a watcher.
  • The [0038] availability level 208 is an attribute that indicates whether the first computing device 200 or first user 202 may actually receive calls. The first computing device 200, specifies various availability levels, including those shown in TABLE 1 below. Yet, only one availability level need be specified for a single device at a time.
    TABLE 1
    Availability level settings
    Associated
    Availability Description of
    Level Availability Level Explanation
    000 Offline The user cannot receive calls.
    100 Undetermined The user may be online, but there is no
    way to know until a call is attempted.
    200 Connected The user has a device currently
    connected that can receive calls.
    300 Online The user is in proximity to a device that
    can receive calls.
  • The availability levels are spread into classes, where each class is a multiple of [0039] 100. This is analogous to the response code numbering system used in communication protocols such as the hypertext transfer protocol (HTTP) and SIP. Those skilled in the art will recognize, however, that different values or classes may be used to specify the availability level of the first computing device 200, and that the invention is not limited to any specific implementation. For example, the first computing device 200 may want to indicate a greater level of availability than “online,” but may not want to show an availability of “always,” and create a new availability value 250: “likely to take call”. If the second computing device 211 is not familiar with this particular attribute receives such presence information, it can abstract it to a class in which is it familiar (e.g., it can generalized to 200: “connected”).
  • The [0040] activity level 209, provides an indication of the action in which the first computing device 200 or corresponding first user 202 is engaged. Also, the activity level 209 indicates to the second computing device 211 or other devices that are in the role of watchers the likelihood of calls or messages being accepted by the first computing device 200 or first user 202. Various activity levels may be specified within the presence document 207, as shown in Table 2 below.
    TABLE 2
    Activity level settings
    Associated
    Activity Description of
    Level Activity Level Explanation
    000 No explicit There is no information about the activity
    activity of the user.
    100 Away The user is away from the device
    150 At lunch The user is taking a lunch break
    200 Idle No specific activity is currently being
    engaged
    300 Temporarily un- The user is not available at the present time
    available
    400 Active The user is active
    500 In call The user is already participating in a
    communications session.
    600 Busy The user is busy
    700 Do not disturb The user does not want to participate in a
    communication session
    800 Always User will stop whatever they're doing to
    interruptible receive a call.
  • Again, those skilled in the art will recognize that the invention is not limited to the set of values or activity classes shown in TABLE 2. Also, it will be recognized by those skilled in the art that specifying the [0041] activity level 209 of the 208 first computing device 200 or user 202 in connection with the availability level ensures for more accurate presence. This is in contrast with many existing systems for conveying presence information, in which less useful presence attributes are provided. For example, if a presence document only indicates that the user is “busy,” this is not sufficient information for the watcher 211 to determine if calls can actually be placed with the first computing device 200. Just because the first user 202 is busy does not mean that calls are not to be received from the second computing device 210. Various embodiments of the invention account for such intricate distinctions in presence by indicating both the activity level (e.g., busy or active) and availability level (e.g., connected) of a computing device and/or its corresponding user.
  • Setting the Access Control List (ACI)
  • As described earlier with respect to FIG. 3, when a computing device is not present or a network, but later resumes its activities upon the network, it can access a data structure from the network device to determine which users have subscribed to watch it. At this point, the computing device or its corresponding user decides whether to allow the one or more subscribers access to its presence information. The decision is made known to the server that is handling presence administration for the network device by way of an access control list (ACL). In accordance with another embodiment of the invention, a computing device sets its access preferences with a server via a Set ACL procedure call, as illustrated in FIG. 5. [0042]
  • The Set ACL procedure call is an executable function or method that specifies the ACL settings for the [0043] computing device 300 of the network shown in FIG. 3. As shown, the computing device 300 submits a SERVICE message 304 to a server 102 in order to initiate the setting, or updating, of the ACL 156. The SERVICE message comprises one or more setACL procedure calls 305, which trigger the presence agent 152 operating on the network device 102 to set (update) the ACL 156. Similar to the Set Presence call described above, the setACL procedure call is contained within a SOAP envelope that comprises the body of the SERVICE message. Multiple setACL calls may be contained within a single service message 304 in order to authorize one or more subscribers. When the network device 102 receives the SERVICE message, the presence agent 152 processes it, and the access preferences 306 indicated by the service message 304 are stored within the ACL 156.
  • The concept of access control as it applies to this embodiment of the invention will now be discussed in more detail. For each user or group of users of a network, there is a corresponding access control list that specifies what that user or group of users is permitted to do with regard to other users or groups of users. In this embodiment of the invention, there are at least two types of rights: “Incoming” and “Presence.” Incoming rights govern things such as who is permitted to initiate communication with the user. Presence rights govern the ability for a user to monitor whether another user is online. The values to which each of these rights can be set in an embodiment of the invention are as follows: [0044]
    Abbrevi-
    Right Value ation Meaning
    INCOMING Allow “A” User having this level of access can
    invite another user to communicate.
    Timeout “T” User having this level of access can
    invite another user to communicate,
    but the user's real-time communica-
    tion client program will always time-
    out the call. This is a polite way of
    blocking the and equates to the phone
    “ringing off the hook”.
    Deny “D” User having this level of access
    cannot invite another user to
    communicate.
    PRESENCE Allow “A” A user can query or subscribe to
    another user's presence and will be
    notified when status changes occur
    Prompt “P” A user having this level of access can
    attempt to subscribe to another user's
    presence, but the other user will be
    prompted for permission
    Block “B” A user having this level of access
    may subscribe to another user's
    presence, but the other user will
    always appear to be offline.
    Deny “D” A user with this level of access can-
    not even subscribe to the other user
  • Continuing the discussion of access control, a user or a group of users will also be referred to herein as an “identity.” There are many possible ways to designate an identity. In an embodiment of the invention, the following types of identities exist. [0045]
    Identity Type Meaning
    ALL All users and groups.
    DOMAIN All users in this domain
    URI Used to specify a particular user.
  • Each access control list has one or more access control entries. Each access control entry confers one or more rights to an identity. For example, possible access control entries for the user joeb@microsoft.com include: [0046]
    Identity Access Right(s) Meaning
    ALL INCOMING = Anybody can communicate
    Allow with joeb@microsoft.com
    PRESENCE = Nobody can access the
    Prompt joeb's presence without
    joeb being prompted to
    grant permission.
    DOMAIN INCOMING = Anybody at Microsoft can
    “microsoft.com” Allow communicate with Joeb
    PRESENCE = Nobody at Microsoft can
    Prompt access the joeb's presence
    without joeb being promp-
    ted to grant permission.
    URI INCOMING = The user roberbr@micro-
    “roberbr@microsoft.com” Deny soft.com is specifically
    PRESENCE = blocked from any access to
    Deny joeb.
  • According to an embodiment of the invention, the administrator of a network can set a “default” access control list that is applied to all users in a particular group. If an access control entry in the user's personal access control list has the same identity as an access control entry in the default access control list, then the personal access control entry takes precedent over the default access control entry. This merging is done at the server when a user's access control list is retrieved. Client software will only ever see the merged access control list. At install, according to an embodiment of the inventions, the default access control list is set to: [0047]
    Identity Access Right(s) Meaning
    DOMAIN INCOMING = Allow Allow others in the user's domain
    “<insert PRESENCE = Allow full access to the user
    domain
    Name>”
    ALL INCOMING = Allow Defaults the access for all other
    PRESENCE = Prompt users to allow incoming communi-
    cation, but no access to presence
    without the owner explicitly
    granting
  • The administrator may also set a “mandatory” access control list that is applied to all users in a particular group. [0048]
  • Up to this point, the invention has been described with respect to the interaction between one or more users that act as watchers, a computing device, and a corresponding user being watched. However, in many instances the user being watched may have more than one device (registered) with the network device at a time. In such cases, presence information is generated by each of the devices, resulting in several presence documents being generated and exchanged with the server that handles presence administration. For conventional servers, a watcher seeking to obtain presence information pertaining to a user of several devices would receive several individual presence documents. Or, in some instances, the watcher would receive a compound document that simply lists the presence of each device, and nothing more. According to another embodiment of the invention, however, an aggregator component executed by the server that handles presence administration aggregates the presence information of several devices pertaining to a single user into a single presence document. In this way, the watcher is able to obtain a more precise indication of the overall presence of the user. Operation of embodiments of the invention in which this technique is employed is described in the following paragraphs, and with respect to FIGS. [0049] 6-8.
  • Referring now to FIG. 6, a [0050] user 320 employs several telephony devices, including a desktop computer 322, laptop computer 324, and cell phone 326. Each device is registered with a server 328, and generates presence information pertaining to itself and/or the corresponding user 320. To communicate the presence information with watchers 410 (or several watchers), each of the registered devices 322-326 submits a SERVICE message to the server 328 that allows it to invoke the Set Presence procedure call, as described earlier. Upon receiving the SERVICE messages (and corresponding presence documents), the server 328 executes an aggregator module 340 that analyzes each presence document to determine their respective presence priority settings. The presence priority setting is a value calculated using information specified in the presence document for a device, such as from the summation of the availability level 208 and activity level 209 of a presence document 207, to determine the level of presence of the respective device. A higher presence priority setting for a particular presence document indicates a higher degree of presence with respect to a particular computing device. It should be noted that a higher degree of presence is not strictly based upon numeric values, but rather to the meaning associated with a particular availability or activity level. By comparing the presence priority settings of several presence documents, the presence agent 152 can determine which document most accurately reflects the presence of the user 320 and the user's corresponding computing devices 322-326. In turn, the presence agent 152 conveys this information to the watcher 320 to ensure the watcher 320 has access to the most accurate presence information.
  • With respect now to FIG. 7, the [0051] aggregator component 340 operates upon the server 328 to interpret presence documents generated by one or more registered devices, in accordance with an embodiment of the invention. The aggregator component 340 is implemented as an executable module, such as a dynamic link library (DLL) or computer executable application that is capable of processing presence information. Presence information is generated by the registered devices (desktop 322, laptop 324 and cell phone 326), and conveyed as presence documents 350-354. As described previously with respect to the invention, each presence document comprises information such as an availability level, an activity level, description attribute and any other relevant presence information. Consider the presence document 350 generated by the desktop computer 322, for example, which specifies an availability level 356 equal to 300 and an activity level 358 equal to 000. The activity 358 and availability levels 356 provide an indication of the current state or operation of the desktop computer 322 or user 320, and correspond to the description attributes “online” 360 and “no explicit activity” 362 respectively. Also included within the presence document 350 is any other information 364 pertaining to the presence of the desktop computer 322, such as diagnostic data, user profile data, or the like. Like the desktop computer 322, the laptop computer 324 and cell phone 326 also generate presence documents in a similar fashion.
  • Once the [0052] server 328 receives the presence documents 350-354, the aggregator component 340 performs a computation to determine which document indicates the highest presence priority setting (event 380). More specifically, the aggregator component 340 calculates the presence priority setting for each document such as by comparing the indicated activity level and availability level values and setting the presence priority setting to that of the highest value. For example, the presence priority settings for the desktop computer 322, laptop computer 324 and cell phone 326 as calculated as shown in TABLE 4 below.
    TABLE 4
    Presence priority settings for the registered devices of FIGS. 6 and 7
    Device Availability Activity Description
    Desktop Computer
    322 300 000 online, no explicit
    activity
    Laptop computer
    324 200 400 connected, active
    Cell Phone
    326 000 000 offline, no explicit
    activity
    Aggregate presence 300 400 online, active
  • As TABLE 4 shows, the [0053] laptop computer 404 has a presence activity setting of 400, the highest of all the computing devices. This setting indicates to the presence agent 152 that the laptop computer 324 is connected to the network for receiving calls, and that the user 320 is actively using the laptop computer 326. Hence, while the desktop computer 322 and cell phone 326 are registered with the server 328, their presence priority settings indicate a lesser likelihood of them engaging in a communication session (e.g., the user 320 is not currently using these devices). In contrast, a higher presence priority setting more explicitly and accurately indicates the presence of the computing devices 322-326 and user 320.
  • The [0054] aggregator component 340 generates a single presence document that conveys overall presence information related to the single person who owns each of the computing devices 322-326 (event 382). In accordance with yet another embodiment of the invention, this single presence document only specifies the highest availability and activity levels of the computing devices, as illustrated in FIG. 8. Thus, since the highest availability level of the three devices is 300, and the highest activity level of the three devices is 400, the aggregate availability and activity levels are 300 and 400. Hence, the single presence document is generated such that the presence agent can detect which of the user's computing devices 322-326 indicates the highest degree of presence upon the network. In this regard, the single (or aggregate) presence document 400 indicates the availability level 402, activity level 404 and corresponding description attributes 406 and 408 associated with the desktop computer 322 and the laptop computer 400, respectively. Additionally, the other presence information 156 related to each computing device is included within the single presence document 400 just as it was indicated in the original presence documents 350-354. This single presence document 400 is then passed to the presence agent 152 operating upon the server 328 (event 386), where it is stored in an accessible memory location 158 for subsequent retrieval.
  • Those skilled in the art will appreciate that the resulting single presence document generated by the [0055] aggregator component 340, and having an aggregate availability level of 300 and an aggregate activity level of 400, provides a more accurate indication of presence for users that employ several computing devices. Unlike conventional means for conveying the presence information of several computing devices, the single presence document indicates the presence information associated with each device (e.g., the other relevant information 526), but only reflects the highest availability and activity level of the devices. Consequently, the information that most accurately reflects the presence of the user is what ultimately gets conveyed to any watchers. It will also be appreciated by those skilled in the art that because the aggregator component 340 operates in connection with the presence agent 152, the presence agent can call upon the aggregator component to generate a new presence document in response to common tasks performed by the server 328. For example, the presence agent 152 can activate the aggregator component 340 whenever a REGISTER request is received by the server 328 from a computing device being operated by the user 320, or conversely when a REGISTER request expires. Also, the presence agent 152 in can activate the aggregator component 340 whenever the server 328 receives a new SERVICE message that requires processing. In this way, the most up-to-date presence information for one or more computing devices is continually maintained by the presence agent 152.
  • In view of the many possible embodiments to which the principles of this invention may be applied, it should be recognized that the embodiment described herein with respect to the drawing figures is meant to be illustrative only and should not be taken as limiting the scope of invention. For example, those of skill in the art will recognize that the elements of the illustrated embodiment shown in software may be implemented in hardware and vice versa or that the illustrated embodiment can be modified in arrangement and detail without departing from the spirit of the invention. Therefore, the invention as described herein contemplates all such embodiments as may come within the scope of the following claims and equivalents thereof. [0056]

Claims (42)

We claim:
1. A method for enabling the activity and availability of a first computing device on a network to be monitored by a second computing device on the network, the activity representing how active the first computing device is on the network, the availability representing whether or not the first device is available to engage in network telephony with the second device, the method comprising:
receiving from the first computing device one or more access preferences indicating which computing devices are permitted to monitor the first computing device;
receiving from the second computing device a request to monitor the first computing device, the request being acknowledged regardless of the first computing device's availability or activity; and
based on the one or more access preferences, and based on the monitored activity and availability of the first computing device, informing the second computing device of the availability and activity of the first computing device.
2. The method of claim 1 further comprising:
storing information obtained from the request message submitted by the second computing device; and
submitting the stored information to the first computing device in response to a request message from the first computing device to obtain the stored information.
3. The method of claim 2 wherein the first computing device determines whether to grant the second computing device access to the presence information.
4. The method of claim 1 further comprising receiving and processing one or more procedure calls for initiating the transfer of presence information to a server.
5. The method of claim 4 wherein the one or more procedure calls correspond to one or more presence documents indicating the activity and availability of the first computing device.
6. The method of claim 4 wherein the step of processing includes determining at least one of the one or more presence documents that indicates a high presence priority setting, the presence priority setting being indicative of the at least one presence document that best reflects the presence of the first computing device.
7. The method of claim 1 wherein the step of receiving includes processing the one or more procedure calls for initiating the transfer of the one or more access preferences.
8. The method of claim 1 further comprising the step of aggregating one or more presence documents received from the first computing device into a single presence document, the single presence document indicating the activity and availability associated with at least one presence document that indicates a high presence priority setting, the single presence document also including presence data associated with the one or more presence documents.
9. A computer-readable medium having computer-executable instructions for performing the steps recited in claim 1.
10. A system for conveying presence information about a first user to a second user, the first user having a plurality of computing devices that are capable of generating presence information, the second user having a computing device in communication with a computer network, the system comprising:
one or more servers in communication with the computer network and executing programs comprising:
a presence agent;
an aggregator component; and
computer-readable media accessible by the one or more servers and having stored thereon information regarding the second user's desire to monitor the presence of the first user,
wherein the presence agent detects which of the plurality of computing devices indicates the highest degree of presence upon the network,
wherein the aggregator component generates an aggregate document representing the degree to which the plurality of computing devices is present upon the network, and
wherein the one or more servers transmit the aggregate presence document to the second user's computing device based on information stored in the computer readable media.
11. The system of claim 10 wherein the one or more servers execute a registration service for maintaining registration entries associated with the plurality of computing devices.
12. The system of claim 10 wherein the computer readable media has stored thereon an access control list that is accessible by the presence agent to maintain access preferences of the first user regarding the plurality of computing devices.
13. The system of claim 12 wherein the access control list maintains access preferences set by a network administrator, the access preferences of the network administrator having a higher priority than the access preferences of the first user.
14. The system of claim 10 wherein the presence agent processes one or more subscription messages received from the second user's computing device, the messages indicating the second user's desire to monitor the presence of the first user over the computer network.
15. The system of claim 10 wherein the presence agent processes one or more service messages, the service messages specifying one or more procedure calls for updating the presence information maintained by the presence agent regarding the plurality of computing devices.
16. The system of claim 10 wherein the presence agent processes one or more service messages comprising one or more procedure calls for updating the access control list.
17. The system of claim 10 wherein the presence agent transmits an acceptance message and a notify message to the second device in response to the one or more subscription requests submitted by the second device.
18. The system of claim 10 wherein the computer-readable media is accessed by the presence agent in response to a request submitted to the presence agent for the information regarding the second user's desire to monitor the presence of the first user, the request being submitted by at least one of the plurality of computing devices.
19. The system of claim 10 wherein the aggregator component submits the aggregate document to the presence agent in response to one or more service messages received by the presence agent from the plurality of computing devices.
20 A method for generating an aggregate presence document representing the overall presence of a user, the method comprising:
receiving a plurality of presence documents generated by a plurality of computing devices of the user, the presence documents including data representative of an activity level and availability level associated with each of the plurality of computing devices;
analyzing the plurality of presence documents to identify at least one presence document that has a high presence priority setting; and
generating the aggregate presence document based on the activity level and availability level associated with presence document having the high presence priority setting.
21. The method of claim 20 wherein the step of receiving includes processing one or more service messages associated with the plurality of presence documents.
22. The method of claim 21 wherein the service messages specify one or more procedure calls for updating the presence information regarding the plurality of computing devices.
23. The method of claim 20 wherein the step of receiving includes processing one or more messages for initiating or terminating the registration of one or more of the plurality of computing devices.
24. The method of claim 20 wherein the step of analyzing includes summing an availability level and an activity level specified by the at least one presence document, the resulting sum indicating the degree to which the user is present upon the network.
25. The method of claim 20 wherein the step of generating includes creating a plain-language description associated with the availability level and including the plain-language description in the aggregate document.
26. The method of claim 20 wherein the step of generating includes creating a plain-language description in associated with the availability level and including the plain-language description in the aggregate document.
27. The method of claim 20 wherein the user is a first user, the method comprising: transmitting the aggregate presence document to a computing device of a second user in response to changes in the presence information.
28. A computer-readable medium having computer-executable instructions for performing the steps recited in claim 20.
29. A method for generating an aggregate presence document based on presence information generated by one or more computing devices, the aggregate presence document specifying the overall presence of the one or more computing devices, the method comprising:
receiving a service message generated by at least one of the computing devices, the service message including one or more presence documents and one or more procedure calls for initiating the transfer of presence information to the presence agent, the presence information including data representative of an activity level and availability level associated with each of the one or more computing devices;
analyzing the plurality of presence documents to identify at least one of the presence documents that has a highest presence priority; and
generating the aggregate presence document by including data representative of an activity level and availability level associated with the at least one presence document that has the highest presence priority, the aggregate document also including other presence data obtained from the plurality of presence documents.
30. The method of claim 29 wherein the step of analyzing includes summing an availability level and an activity level specified by the at least one presence document, the resulting sum indicating the presence priority of the at least one presence document.
31. The method of claim 29 wherein the step of generating includes specifying a description attribute in association with the availability level, the description attribute providing a functional description of the availability level.
32. The method of claim 29 wherein the step of generating includes specifying a description attribute in association with the activity level, the description attribute providing a functional description of the activity level.
33. The method of claim 29 further including the step of submitting the aggregate presence document to one or more computing devices having access to the presence information associated with the plurality of computing devices in response to changes in the presence information.
34. A computer-readable medium having computer-executable instructions for performing the steps recited in claim 29.
35. A system for communicating presence information related to a first computing device to a second computing device over a network by a presence agent, the presence agent communicating the presence information in response to a request message submitted by the second computing device, the request message requesting access by the second computing device to the presence information, the system comprising:
means for receiving from the first computing device a message having one or more procedure calls for initiating the transfer of presence information to the presence agent;
means for receiving from the first computing device a message having one or more procedure calls for initiating the transfer of access preferences associated with the first computing device to the presence agent;
means for submitting an acceptance message to the second computing device indicating that the second computing device can access the presence information, the acceptance message being submitted regardless of whether the first computing device is present upon the network, and the acceptance message being submitted regardless of the access preferences specified by the first computing device; and
means for submitting a notification message to the second computing device, the notification message including a presence document having data representative of an activity level and availability level associated with the first computing device, the notification message being submitted regardless of whether the first computing device is present upon the network.
36. The system of claim 35 further comprising:
means for storing information obtained from the request message submitted by the second computing device regarding the second user's desire to monitor the presence of the first user,; and
means for submitting the stored information to the first computing device in response to a request message from the first computing device to obtain the stored information.
37. The system of claim 35 further comprising means for aggregating one or more presence documents received from the first computing device into a single presence document, the single presence document having data representative of an activity level and availability level associated with at least one presence document that indicates a high presence priority, the single presence document also including presence data associated with the one or more presence documents.
38. A method for relaying presence information to a subscriber in the absence of a presentity, the presentity operating a presence user agent that generates information indicative of the ability of the presentity to receive calls and indicative of the operating state or tasks in which the presentity is engaged, the method comprising:
storing information obtained from a subscriber request message into an accessible memory location, the stored information including one or more values that uniquely identify the subscriber from amongst a plurality of other devices capable of communicating over the network; and
submitting the subscriber information to the presentity when the presentity is no longer absent, wherein the presentity makes a determination whether to grant the subscriber access to the information generated by the presence user agent.
39. The method of claim 38 further comprising submitting the information generated by the presence user agent to the subscriber when a determination is made to grant the subscriber access to the information.
40. The method of claim 39 wherein the step of determining is made according to access preferences assigned by the presentity.
41. The method of claim 38 wherein the step of submitting includes transmitting a presence document to the subscriber having data indicative of the ability of the presentity to receive calls and indicative of the operating state or tasks in which the presentity is engaged.
42. A computer-readable medium having computer-executable instructions for performing the steps recited in claim 38.
US10/145,912 2002-05-15 2002-05-15 Method and system for supporting the communication of presence information regarding one or more telephony devices Abandoned US20030217142A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/145,912 US20030217142A1 (en) 2002-05-15 2002-05-15 Method and system for supporting the communication of presence information regarding one or more telephony devices
US11/332,507 US7493390B2 (en) 2002-05-15 2006-01-13 Method and system for supporting the communication of presence information regarding one or more telephony devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/145,912 US20030217142A1 (en) 2002-05-15 2002-05-15 Method and system for supporting the communication of presence information regarding one or more telephony devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/332,507 Continuation US7493390B2 (en) 2002-05-15 2006-01-13 Method and system for supporting the communication of presence information regarding one or more telephony devices

Publications (1)

Publication Number Publication Date
US20030217142A1 true US20030217142A1 (en) 2003-11-20

Family

ID=29418701

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/145,912 Abandoned US20030217142A1 (en) 2002-05-15 2002-05-15 Method and system for supporting the communication of presence information regarding one or more telephony devices
US11/332,507 Expired - Lifetime US7493390B2 (en) 2002-05-15 2006-01-13 Method and system for supporting the communication of presence information regarding one or more telephony devices

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/332,507 Expired - Lifetime US7493390B2 (en) 2002-05-15 2006-01-13 Method and system for supporting the communication of presence information regarding one or more telephony devices

Country Status (1)

Country Link
US (2) US20030217142A1 (en)

Cited By (188)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120699A1 (en) * 2001-02-27 2002-08-29 Matsushita Graphic Communication Systems, Inc. Monitoring apparatus and monitoring/notifying method for receiver and sender terminals and for e-mail transmission system of receiver terminal
US20040003037A1 (en) * 2002-06-27 2004-01-01 Fujitsu Limited Presence administration method and device
US20040010573A1 (en) * 2002-07-10 2004-01-15 Philippe Debaty Web presence for physical entities
US20040059781A1 (en) * 2002-09-19 2004-03-25 Nortel Networks Limited Dynamic presence indicators
US20040071150A1 (en) * 2002-07-05 2004-04-15 Anu Honkala Updating presence information
US20040128310A1 (en) * 2002-12-30 2004-07-01 Zmudzinski Krystof C. Method and apparatus for distributing notification among cooperating devices and device channels
US20040133641A1 (en) * 2003-01-03 2004-07-08 Nortel Networks Limited Distributed services based on presence technology
US20040139198A1 (en) * 2003-01-15 2004-07-15 Jose Costa-Requena Method and apparatus for manipulating data with session initiation protocol
US20040153552A1 (en) * 2003-01-29 2004-08-05 Nokia Corporation Access right control using access control alerts
US20040205161A1 (en) * 2003-04-10 2004-10-14 International Business Machines Corporation Authorized access to off-line messaging
US20040215730A1 (en) * 2003-04-10 2004-10-28 International Business Machines Corporation Timing of off-line messaging
US20050004993A1 (en) * 2003-07-01 2005-01-06 Miller David Michael Instant messaging object store
US20050015499A1 (en) * 2003-05-15 2005-01-20 Georg Mayer Method and apparatus for SIP user agent discovery of configuration server
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
US20050156873A1 (en) * 2004-01-20 2005-07-21 Microsoft Corporation Custom emoticons
US20050170861A1 (en) * 2002-06-14 2005-08-04 Aki Niemi Method and system to subscription of events using sip protocol
US20050246369A1 (en) * 2004-05-01 2005-11-03 Microsoft Corporation System and method for a user interface directed to discovering and publishing presence information on a network
US20050246544A1 (en) * 2004-05-01 2005-11-03 Microsoft Corporation System and method for identity confirmation of a contact published on a network
US20050246339A1 (en) * 2004-04-28 2005-11-03 Fujitsu Limited Method and device for data retrieval, and computer product
US20050246396A1 (en) * 2004-05-01 2005-11-03 Microsoft Corporation System and method for synchronizing between a file system and presence of contacts on a network
US20050262198A1 (en) * 2002-10-09 2005-11-24 Nokia Corporation Communication system
US20050289096A1 (en) * 2004-06-23 2005-12-29 Nokia Corporation Method, system and computer program to enable SIP event-based discovery of services and content within a community built on context information
GB2417584A (en) * 2004-08-18 2006-03-01 King S College London A method of discovering contact identifiers for network access devices
US20060047747A1 (en) * 2004-06-24 2006-03-02 Microsoft Corporation System and method for automatic selection of an instant messenger client
US20060047782A1 (en) * 2004-06-29 2006-03-02 Nokia Corporation Presence service
US20060112177A1 (en) * 2004-11-24 2006-05-25 Microsoft Corporation Method and system for controlling access to presence information on a peer-to-peer basis
US20060117050A1 (en) * 2004-11-30 2006-06-01 Ajita John Methods and apparatus for determining a presence of a user
US20060155733A1 (en) * 2004-11-30 2006-07-13 Ajita John Methods and apparatus for determining a proxy presence of a user
US20060190525A1 (en) * 2002-05-15 2006-08-24 Microsoft Corporation Method and system for supporting the communication of presence information regarding one or more telephony devices
US20060195532A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation Client-side presence documentation
US20060230137A1 (en) * 2005-04-12 2006-10-12 Christopher Gare Location or Activity Monitor
US20060234735A1 (en) * 2005-04-19 2006-10-19 Digate Charles J Presence-enabled mobile access
US20060239279A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Contact management in a serverless peer-to-peer system
US20060242639A1 (en) * 2005-04-25 2006-10-26 Microsoft Corporation Collaborative invitation system and method
US20060239275A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Peer-to-peer multicasting using multiple transport protocols
US20060242237A1 (en) * 2005-04-25 2006-10-26 Microsoft Corporation System and method for collaboration with serverless presence
US20060271635A1 (en) * 2005-05-27 2006-11-30 Microsoft Corporation Accepting an invitation sent to multiple computer systems
US20070027702A1 (en) * 2005-07-26 2007-02-01 Microsoft Corporation Organizing presence information into collections of publications
US20070027917A1 (en) * 2005-08-01 2007-02-01 Ido Ariel Linking of personal information management data
US20070033278A1 (en) * 2005-08-08 2007-02-08 Kelley Sean S Method and apparatus for providing a list-based service
US20070067439A1 (en) * 2005-09-21 2007-03-22 Andrew Mason System and method for providing presence age information in a unified communication system
US20070100831A1 (en) * 2005-07-26 2007-05-03 Microsoft Corporation Managing rich presence collections
US20070124158A1 (en) * 2005-11-30 2007-05-31 Fujitsu Limited Presence managing method and apparatus
US20070124469A1 (en) * 2005-11-29 2007-05-31 Aziz Mohammed Common interest community service via presence messaging
WO2007082445A1 (en) 2006-01-21 2007-07-26 Huawei Technologies Co., Ltd. A method, server and system for subscribing presence information
US20070198589A1 (en) * 2006-02-13 2007-08-23 Avshalom Houri Flexibly configured presence server
US20070233875A1 (en) * 2006-03-28 2007-10-04 Microsoft Corporation Aggregating user presence across multiple endpoints
US20070239866A1 (en) * 2006-03-31 2007-10-11 Microsoft Corporation Managing Rich Presence Collections
US20070239869A1 (en) * 2006-03-28 2007-10-11 Microsoft Corporation User interface for user presence aggregated across multiple endpoints
US20070255577A1 (en) * 2006-04-28 2007-11-01 Microsoft Corporation Unified concept of presence
US20070266076A1 (en) * 2006-03-31 2007-11-15 Microsoft Corporation Managing rich presence collections
US7302270B1 (en) * 2004-08-02 2007-11-27 Cisco Technology, Inc. Time interval processing and annotation in presence systems
US20070276937A1 (en) * 2006-05-23 2007-11-29 Microsoft Corporation User presence aggregation at a server
US20070288567A1 (en) * 2006-05-26 2007-12-13 The Pnc Financial Services Network management
US20070288554A1 (en) * 2006-05-26 2007-12-13 The Pnc Financial Services Group, Inc. Network management
US20070288852A1 (en) * 2003-05-20 2007-12-13 Aol Llc Presence and Geographic Location Notification Based on a Setting
US20070291859A1 (en) * 2006-06-15 2007-12-20 Oracle International Corporation Past presence hints
US20080010301A1 (en) * 2004-11-04 2008-01-10 Huawei Technologies Co., Ltd Method and system for notifying presence information
US20080040441A1 (en) * 2006-07-05 2008-02-14 Oracle International Corporation Push e-mail inferred network presence
US20080077696A1 (en) * 2006-09-21 2008-03-27 Bellsouth Intellectual Property Corporation Personal presentity presence subsystem
EP1912394A1 (en) * 2006-10-09 2008-04-16 Hewlett-Packard Development Company, L.P. Management of access to address data
US20080114776A1 (en) * 2005-07-22 2008-05-15 Huawei Technologies Co., Ltd. Method and system for providing presence information, the presence server thereof
US20080133708A1 (en) * 2005-08-01 2008-06-05 Billy Alvarado Context Based Action
US20080184136A1 (en) * 2002-05-21 2008-07-31 At&T Delaware Intellectual Property Inc. Caller Initiated Distinctive Presence Alerting and Auto-Response Messaging
US20080188358A1 (en) * 2007-02-06 2008-08-07 Hai-Pin Kuo Foldable treadmill
US20080209347A1 (en) * 2002-08-19 2008-08-28 At&T Delaware Intellectual Property, Inc., Formerly Known As Bellsouth Intellectual Property Redirection of a Message to an Alternate Address
US20080209051A1 (en) * 2003-07-01 2008-08-28 Microsoft Corporation Transport System for Instant Messaging
WO2008117116A2 (en) * 2007-03-28 2008-10-02 Skype Limited Detection of communication states
EP1995931A2 (en) 2007-05-24 2008-11-26 France Telecom System and method for updating an attendance status of a user on a terminal by aggregation of multi-source information
US20090138564A1 (en) * 2006-03-07 2009-05-28 Simon Alexander Beddus Apparatus for and a method of delivering a message to a user
US20090172077A1 (en) * 2005-11-23 2009-07-02 David Roxburgh Apparatus for and a Method of Delivering a Message to a User
US20090177729A1 (en) * 2008-01-09 2009-07-09 International Business Machines Corporation Managing watcher information in a distributed server environment
US20090265280A1 (en) * 2008-04-18 2009-10-22 Microsoft Corporation Managing real time meeting room status
US20090327494A1 (en) * 2008-06-27 2009-12-31 International Business Machines Corporation Common resource management in a server cluster
US7653191B1 (en) * 2003-06-26 2010-01-26 Microsoft Corporation Voice call routing by dynamic personal profile
US20100115039A1 (en) * 2008-10-31 2010-05-06 Kim Yeo-Jin Communication system, communication server, communication terminal, and communication method for recommending communication tool
US20100205298A1 (en) * 2004-06-07 2010-08-12 Nokia Corporation Method, system and computer program to enable semantic mediation for SIP events through support of dynamically binding to and changing of application semantics of SIP events
US7778402B1 (en) * 2004-12-30 2010-08-17 At&T Intellectual Property Ii, L.P. Method and apparatus for routing incoming calls to active network endpoints
US7814191B2 (en) 2006-05-26 2010-10-12 The Pnc Financial Services Group, Inc. Methods and systems for network management using periodic status messages
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US20110022580A1 (en) * 2009-07-21 2011-01-27 Telefonaktiebolaget Lm Ericsson (Publ) Exchange of service capabilities in communication networks
US20110035443A1 (en) * 2009-08-04 2011-02-10 At&T Intellectual Property I, L.P. Aggregated Presence Over User Federated Devices
US7899879B2 (en) 2002-09-06 2011-03-01 Oracle International Corporation Method and apparatus for a report cache 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
US7917505B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Methods for publishing content
US7936865B2 (en) 2003-01-20 2011-05-03 Avaya Inc. Messaging advise in presence-aware networks
US7941542B2 (en) 2002-09-06 2011-05-10 Oracle International Corporation Methods and apparatus for maintaining application execution over an intermittent network connection
US7941443B1 (en) * 2008-05-21 2011-05-10 Symantec Corporation Extending user account control to groups and multiple computers
US7945846B2 (en) 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
US20110142209A1 (en) * 2006-06-15 2011-06-16 Oracle International Corporation Presence-based message waiting indicator and missed calls
US20110141948A1 (en) * 2006-06-15 2011-06-16 Oracle International Corporation Presence-based caller identification
US20110167152A1 (en) * 2010-01-06 2011-07-07 Adam Boyd Roach Methods, systems and computer readable media for providing session initiation protocol (sip) event watcher entity information in a communications network
US20110167172A1 (en) * 2010-01-06 2011-07-07 Adam Boyd Roach Methods, systems and computer readable media for providing a failover measure using watcher information (winfo) architecture
US7983404B1 (en) * 2005-10-31 2011-07-19 At&T Intellectual Property Ii, L.P. Method and apparatus for providing presence status of multiple communication device types
US7995742B2 (en) 2002-12-04 2011-08-09 Avaya Inc. Outbound dialing decision criteria based
US8001185B2 (en) 2002-09-06 2011-08-16 Oracle International Corporation Method and apparatus for distributed rule evaluation in a near real-time business intelligence system
US8010082B2 (en) 2004-10-20 2011-08-30 Seven Networks, Inc. Flexible billing architecture
US8036140B2 (en) 2005-04-22 2011-10-11 Microsoft Corporation Application programming interface for inviting participants in a serverless peer to peer network
US8064583B1 (en) 2005-04-21 2011-11-22 Seven Networks, Inc. Multiple data store authentication
US8065405B2 (en) 2002-05-15 2011-11-22 Microsoft Corporation Method and system for supporting the communication of presence information among computing devices of a network
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8108516B2 (en) 2002-02-14 2012-01-31 Avaya Inc. Presence tracking and name space interconnection techniques
US8116214B2 (en) 2004-12-03 2012-02-14 Seven Networks, Inc. Provisioning of e-mail settings for a mobile terminal
US8127342B2 (en) 2002-01-08 2012-02-28 Seven Networks, Inc. Secure end-to-end transport through intermediary nodes
US8150003B1 (en) 2007-01-23 2012-04-03 Avaya Inc. Caller initiated undivert from voicemail
US8166164B1 (en) 2010-11-01 2012-04-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
US8165993B2 (en) 2002-09-06 2012-04-24 Oracle International Corporation Business intelligence system with interface that provides for immediate user action
US8190701B2 (en) 2010-11-01 2012-05-29 Seven Networks, Inc. Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US8209709B2 (en) 2005-03-14 2012-06-26 Seven Networks, Inc. Cross-platform event engine
US8229454B1 (en) 2004-03-22 2012-07-24 Avaya Inc. Personal location information management
US8233461B1 (en) 2004-08-19 2012-07-31 Hewlett-Packard Development Company, L.P. Complementing network discovery with physical discovery
US8239452B2 (en) 2004-05-01 2012-08-07 Microsoft Corporation System and method for discovering and publishing of presence information on a network
US8255454B2 (en) 2002-09-06 2012-08-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US8301581B2 (en) 2009-09-24 2012-10-30 Avaya Inc. Group compositing algorithms for presence
US20120278115A1 (en) * 2011-04-27 2012-11-01 International Business Machines Corporation Method and Apparatus for Leveraging Social Media for Pro-Active Customer Notification
US8316098B2 (en) 2011-04-19 2012-11-20 Seven Networks Inc. Social caching for device resource sharing and management
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US8392609B2 (en) 2002-09-17 2013-03-05 Apple Inc. Proximity detection for media proxies
US8402095B2 (en) 2002-09-16 2013-03-19 Oracle International Corporation Apparatus and method for instant messaging collaboration
US8417823B2 (en) 2010-11-22 2013-04-09 Seven Network, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8606909B2 (en) 2002-05-13 2013-12-10 At&T Intellectual Property I, L.P. Real-time notification of presence availability
US8621075B2 (en) 2011-04-27 2013-12-31 Seven Metworks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US20140032483A1 (en) * 2008-11-15 2014-01-30 Adobe Systems Incorporated Asset distribution architecture and timeline history
US8644475B1 (en) 2001-10-16 2014-02-04 Rockstar Consortium Us Lp Telephony usage derived presence information
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8700728B2 (en) 2010-11-01 2014-04-15 Seven Networks, Inc. Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US8761756B2 (en) 2005-06-21 2014-06-24 Seven Networks International Oy Maintaining an IP connection in a mobile network
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US8774844B2 (en) 2007-06-01 2014-07-08 Seven Networks, Inc. Integrated messaging
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8793305B2 (en) 2007-12-13 2014-07-29 Seven Networks, Inc. Content delivery to a mobile device from a content service
US8799410B2 (en) 2008-01-28 2014-08-05 Seven Networks, Inc. System and method of a relay server for managing communications and notification between a mobile device and a web access server
US8805334B2 (en) 2004-11-22 2014-08-12 Seven Networks, Inc. Maintaining mobile terminal information for secure communications
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US8832228B2 (en) 2011-04-27 2014-09-09 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8849902B2 (en) 2008-01-25 2014-09-30 Seven Networks, Inc. System for providing policy based content service in a mobile network
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US8868753B2 (en) 2011-12-06 2014-10-21 Seven Networks, Inc. System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8886176B2 (en) 2010-07-26 2014-11-11 Seven Networks, Inc. Mobile application traffic optimization
US8903820B2 (en) 2004-06-23 2014-12-02 Nokia Corporation Method, system and computer program to enable querying of resources in a certain context by definition of SIP even package
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8909202B2 (en) 2012-01-05 2014-12-09 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
US20150009818A1 (en) * 2012-05-14 2015-01-08 Huawei Technologies Co., Ltd. Method and system for group communication, group server, and group member device
USRE45348E1 (en) 2004-10-20 2015-01-20 Seven Networks, Inc. Method and apparatus for intercepting events in a communication system
US20150024747A1 (en) * 2010-07-28 2015-01-22 At&T Intellectual Property I, L.P. Femtocell access provisioning based on social network, presence, and user preferences
US8984581B2 (en) 2011-07-27 2015-03-17 Seven Networks, Inc. Monitoring mobile application activities for malicious traffic on a mobile device
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9021021B2 (en) 2011-12-14 2015-04-28 Seven Networks, Inc. Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system
US9043731B2 (en) 2010-03-30 2015-05-26 Seven Networks, Inc. 3D mobile user interface with configurable workspace management
US9043433B2 (en) 2010-07-26 2015-05-26 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US9055102B2 (en) 2006-02-27 2015-06-09 Seven Networks, Inc. Location-based operations and messaging
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9077630B2 (en) 2010-07-26 2015-07-07 Seven Networks, Inc. Distributed implementation of dynamic wireless traffic policy
US9118574B1 (en) 2003-11-26 2015-08-25 RPX Clearinghouse, LLC Presence reporting using wireless messaging
EP2223502A4 (en) * 2007-12-18 2015-08-26 Ericsson Telefon Ab L M Method and devices for updating presence information in a communication network
US9158897B2 (en) 2008-11-15 2015-10-13 Adobe Systems Incorporated Methods and systems for distributing right-protected asset
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US9173128B2 (en) 2011-12-07 2015-10-27 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9203864B2 (en) 2012-02-02 2015-12-01 Seven Networks, Llc Dynamic categorization of applications for network access in a mobile network
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US9275163B2 (en) 2010-11-01 2016-03-01 Seven Networks, Llc Request and response characteristics based adaptation of distributed caching in a mobile network
US9307493B2 (en) 2012-12-20 2016-04-05 Seven Networks, Llc Systems and methods for application management of mobile device radio state promotion and demotion
US9325662B2 (en) 2011-01-07 2016-04-26 Seven Networks, Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
US9326189B2 (en) 2012-02-03 2016-04-26 Seven Networks, Llc User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US9398152B2 (en) 2004-02-25 2016-07-19 Avaya Inc. Using business rules for determining presence
US9456007B2 (en) * 2008-11-15 2016-09-27 Adobe Systems Incorporated Session aware notifications
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US10263899B2 (en) 2012-04-10 2019-04-16 Seven Networks, Llc Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network
US11017334B2 (en) * 2019-01-04 2021-05-25 Targus International Llc Workspace management system utilizing smart docking station for monitoring power consumption, occupancy, and usage displayed via heat maps
US11023008B2 (en) 2016-09-09 2021-06-01 Targus International Llc Systems, methods and devices for native and virtualized video in a hybrid docking station
US11039105B2 (en) 2019-08-22 2021-06-15 Targus International Llc Systems and methods for participant-controlled video conferencing
US11231448B2 (en) 2017-07-20 2022-01-25 Targus International Llc Systems, methods and devices for remote power management and discovery
US11360534B2 (en) 2019-01-04 2022-06-14 Targus Internatonal Llc Smart workspace management system
US11614776B2 (en) 2019-09-09 2023-03-28 Targus International Llc Systems and methods for docking stations removably attachable to display apparatuses
US11740657B2 (en) 2018-12-19 2023-08-29 Targus International Llc Display and docking apparatus for a portable electronic device

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360221B1 (en) 1999-09-21 2002-03-19 Neostar, Inc. Method and apparatus for the production, delivery, and receipt of enhanced e-mail
US7840639B1 (en) 1999-09-21 2010-11-23 G&H Nevada-Tek Method and article of manufacture for an automatically executed application program associated with an electronic message
US9092535B1 (en) 1999-09-21 2015-07-28 Google Inc. E-mail embedded textual hyperlink object
US7487152B1 (en) 2000-05-31 2009-02-03 International Business Machines Corporation Method for efficiently locking resources of a global data repository
US7302491B2 (en) * 2003-07-31 2007-11-27 International Business Machines Corporation System and method of reducing data corruption due to recycled IP identification numbers
DE10340386B3 (en) * 2003-08-29 2005-01-27 Siemens Ag Updating method for keeping data on presence current as allocated to a user of a communications service transmits data about the status of a registered user's presence to a server for storage
US7801534B2 (en) * 2003-12-11 2010-09-21 Sprint Spectrum L.P. Method and system for conveying location-granularity preferences with location-based service requests
JP2005196600A (en) * 2004-01-09 2005-07-21 Hitachi Ltd Presence data management method
JP4352959B2 (en) * 2004-03-25 2009-10-28 日本電気株式会社 Group communication system based on presence information and client device
US20060036703A1 (en) * 2004-08-13 2006-02-16 Microsoft Corporation System and method for integrating instant messaging in a multimedia environment
US7843857B2 (en) * 2004-12-11 2010-11-30 Electronics And Telecommunications Research Institute System for providing context-aware service and method thereof
KR100687719B1 (en) * 2004-12-16 2007-02-27 한국전자통신연구원 System form providing electronic businesscard service using open service interface
US9154563B2 (en) 2006-04-24 2015-10-06 Aol Inc. Alerts for monitoring user status
US20070253340A1 (en) * 2006-04-28 2007-11-01 Lucent Technologies Inc. Method and apparatus for selective presence notification
US20070294404A1 (en) * 2006-06-15 2007-12-20 International Business Machines Corporation Method and system for authorization and access control delegation in an on demand grid environment
US8903789B2 (en) * 2006-07-12 2014-12-02 Verizon Patent And Licensing Inc. Derived presence-aware service from associated entities
US8326296B1 (en) 2006-07-12 2012-12-04 At&T Intellectual Property I, L.P. Pico-cell extension for cellular network
US20080133645A1 (en) * 2006-07-13 2008-06-05 Neustar, Inc. System and method for prioritizing presence information for telecommunication
US8055716B2 (en) * 2006-10-19 2011-11-08 International Business Machines Corporation Dynamic creation of mail aliases usable in electronic communications
US8103725B2 (en) * 2006-11-17 2012-01-24 Microsoft Corporation Communication using delegates
JP4314267B2 (en) * 2006-11-30 2009-08-12 キヤノン株式会社 Access control apparatus, access control method, and printing system
US20080146149A1 (en) * 2006-12-14 2008-06-19 Shaul Wisebourt Transmission of a handheld electronic device's status to another electronic device and determining a form of communication between the devices based on the status information
US20080294724A1 (en) * 2007-05-25 2008-11-27 Strong Margaret A Method and tool for community-based physical location awareness
US9241078B2 (en) * 2007-06-28 2016-01-19 Microsoft Technology Licensing, Llc Virtual contact identifier
US7743095B2 (en) * 2007-10-29 2010-06-22 International Business Machines Corporation Device, method and computer program product for providing an alert indication
CA2705961C (en) * 2007-11-21 2016-07-05 Bce Inc. Method and apparatus for enabling a calling party to leave a voice message for a called party
WO2009065208A1 (en) * 2007-11-23 2009-05-28 Bce Inc. Method and apparatus for enabling a calling party to leave a voice message for a called party in response to a command provided by the calling party
CN101453370A (en) * 2007-11-30 2009-06-10 国际商业机器公司 Method, equipment and on-line system for user management in on-line system
CA2710021C (en) * 2007-12-19 2016-05-10 Bce Inc. Method and system for routing calls placed to a telephony identifier associated with a group of identities
WO2009079736A1 (en) * 2007-12-21 2009-07-02 Bce Inc. Method and apparatus for interrupting an active telephony session to deliver information to a subscriber
US20100296425A1 (en) * 2007-12-21 2010-11-25 Jonathan Allan Arsenault Method and system for establishing a connection with a packet-based application server
CA2707020C (en) * 2007-12-27 2015-02-17 Bce Inc. Method and system for modifying routing information associated to a party
US8693652B2 (en) * 2007-12-27 2014-04-08 Bce Inc. Method and system for processing calls in an architecture allowing a telephony identifier to be associated with a group of identities
US20090168778A1 (en) * 2007-12-28 2009-07-02 Zulfiqar Ahmed Extending communication protocols
US8626223B2 (en) 2008-05-07 2014-01-07 At&T Mobility Ii Llc Femto cell signaling gating
US8719420B2 (en) 2008-05-13 2014-05-06 At&T Mobility Ii Llc Administration of access lists for femtocell service
US8179847B2 (en) 2008-05-13 2012-05-15 At&T Mobility Ii Llc Interactive white list prompting to share content and services associated with a femtocell
US8743776B2 (en) 2008-06-12 2014-06-03 At&T Mobility Ii Llc Point of sales and customer support for femtocell service and equipment
US7689650B1 (en) * 2008-09-12 2010-03-30 Yahoo! Inc. Presence indication configuration methodology
US8433805B2 (en) * 2008-09-19 2013-04-30 Apple Inc. Method and system for facilitating contacting people using electronic devices
US20100121954A1 (en) * 2008-11-13 2010-05-13 Zheng Yang Communication Method and System Using User ID-Based Domain Name
CA2647920C (en) * 2008-12-24 2015-11-24 Bce Inc. Method and system for routing telephony communications together with modified calling party identifier information
US8135809B2 (en) 2009-01-21 2012-03-13 Microsoft Corporation Presence capabilities and preferences
US8812451B2 (en) 2009-03-11 2014-08-19 Microsoft Corporation Programming model for synchronizing browser caches across devices and web services
US9680964B2 (en) * 2009-03-11 2017-06-13 Microsoft Technology Licensing, Llc Programming model for installing and distributing occasionally connected applications
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
WO2010145073A1 (en) * 2009-06-17 2010-12-23 上海贝尔股份有限公司 Method and apparatus for controlling presence information of the user terminal in communication network
KR101618036B1 (en) * 2009-06-22 2016-05-18 삼성전자주식회사 Supporting Method for Messenger of Portable Device And Portable Device using the same
US8510801B2 (en) 2009-10-15 2013-08-13 At&T Intellectual Property I, L.P. Management of access to service in an access point
US9205328B2 (en) 2010-02-18 2015-12-08 Activision Publishing, Inc. Videogame system and method that enables characters to earn virtual fans by completing secondary objectives
US9215735B2 (en) * 2010-03-03 2015-12-15 Modena Enterprises, Llc Systems and methods for initiating communications with contacts based on a communication specification
US9682324B2 (en) 2010-05-12 2017-06-20 Activision Publishing, Inc. System and method for enabling players to participate in asynchronous, competitive challenges
US9277502B2 (en) * 2011-02-02 2016-03-01 Facebook, Inc. Hibernate mode for chat service
US9253630B2 (en) 2011-06-02 2016-02-02 Truphone Limited Identity management for mobile devices
US9603006B2 (en) 2011-09-19 2017-03-21 Truphone Limited Managing mobile device identities
US9264504B2 (en) 2012-02-29 2016-02-16 Blackberry Limited System and method for providing access to presence status for mobile devices
US9270772B2 (en) 2012-02-29 2016-02-23 Blackberry Limited System and method for providing access to presence status for mobile devices
US9704146B1 (en) 2013-03-14 2017-07-11 Square, Inc. Generating an online storefront
US9940616B1 (en) 2013-03-14 2018-04-10 Square, Inc. Verifying proximity during payment transactions
US10229414B2 (en) 2013-06-25 2019-03-12 Square, Inc. Mirroring a storefront to a social media site
US9836739B1 (en) 2013-10-22 2017-12-05 Square, Inc. Changing a financial account after initiating a payment using a proxy card
US10417635B1 (en) 2013-10-22 2019-09-17 Square, Inc. Authorizing a purchase transaction using a mobile device
US9922321B2 (en) 2013-10-22 2018-03-20 Square, Inc. Proxy for multiple payment mechanisms
US8892462B1 (en) 2013-10-22 2014-11-18 Square, Inc. Proxy card payment with digital receipt delivery
US10217092B1 (en) 2013-11-08 2019-02-26 Square, Inc. Interactive digital platform
US10810682B2 (en) 2013-12-26 2020-10-20 Square, Inc. Automatic triggering of receipt delivery
US10621563B1 (en) 2013-12-27 2020-04-14 Square, Inc. Apportioning a payment card transaction among multiple payers
US10198731B1 (en) 2014-02-18 2019-02-05 Square, Inc. Performing actions based on the location of mobile device during a card swipe
US9224141B1 (en) 2014-03-05 2015-12-29 Square, Inc. Encoding a magnetic stripe of a card with data of multiple cards
US10692059B1 (en) 2014-03-13 2020-06-23 Square, Inc. Selecting a financial account associated with a proxy object based on fund availability
US9619792B1 (en) 2014-03-25 2017-04-11 Square, Inc. Associating an account with a card based on a photo
US9864986B1 (en) 2014-03-25 2018-01-09 Square, Inc. Associating a monetary value card with a payment object
US9569767B1 (en) 2014-05-06 2017-02-14 Square, Inc. Fraud protection based on presence indication
US20150332223A1 (en) 2014-05-19 2015-11-19 Square, Inc. Transaction information collection for mobile payment experience
US10286326B2 (en) 2014-07-03 2019-05-14 Activision Publishing, Inc. Soft reservation system and method for multiplayer video games
US10118099B2 (en) 2014-12-16 2018-11-06 Activision Publishing, Inc. System and method for transparently styling non-player characters in a multiplayer video game
US9721251B1 (en) 2015-05-01 2017-08-01 Square, Inc. Intelligent capture in mixed fulfillment transactions
US10315113B2 (en) 2015-05-14 2019-06-11 Activision Publishing, Inc. System and method for simulating gameplay of nonplayer characters distributed across networked end user devices
US10026062B1 (en) 2015-06-04 2018-07-17 Square, Inc. Apparatuses, methods, and systems for generating interactive digital receipts
US10471348B2 (en) 2015-07-24 2019-11-12 Activision Publishing, Inc. System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks
US9973306B2 (en) 2015-09-14 2018-05-15 Amazon Technologies, Inc. Freshness-sensitive message delivery
US11068487B2 (en) 2015-09-08 2021-07-20 Amazon Technologies, Inc. Event-stream searching using compiled rule patterns
US10505881B2 (en) * 2015-09-23 2019-12-10 Amazon Technologies, Inc. Generating message envelopes for heterogeneous events
US10636019B1 (en) 2016-03-31 2020-04-28 Square, Inc. Interactive gratuity platform
US10500498B2 (en) 2016-11-29 2019-12-10 Activision Publishing, Inc. System and method for optimizing virtual games
US10515342B1 (en) 2017-06-22 2019-12-24 Square, Inc. Referral candidate identification
US11040286B2 (en) 2017-09-27 2021-06-22 Activision Publishing, Inc. Methods and systems for improved content generation in multiplayer gaming environments
US10561945B2 (en) 2017-09-27 2020-02-18 Activision Publishing, Inc. Methods and systems for incentivizing team cooperation in multiplayer gaming environments
US10974150B2 (en) 2017-09-27 2021-04-13 Activision Publishing, Inc. Methods and systems for improved content customization in multiplayer gaming environments
US10990887B1 (en) 2017-12-13 2021-04-27 Amazon Technologies, Inc. Anything-but matching using finite-state machines
US10765948B2 (en) 2017-12-22 2020-09-08 Activision Publishing, Inc. Video game content aggregation, normalization, and publication systems and methods
US11679330B2 (en) 2018-12-18 2023-06-20 Activision Publishing, Inc. Systems and methods for generating improved non-player characters
US11097193B2 (en) 2019-09-11 2021-08-24 Activision Publishing, Inc. Methods and systems for increasing player engagement in multiplayer gaming environments
US11712627B2 (en) 2019-11-08 2023-08-01 Activision Publishing, Inc. System and method for providing conditional access to virtual gaming items
US11351459B2 (en) 2020-08-18 2022-06-07 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values
US11524234B2 (en) 2020-08-18 2022-12-13 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically modified fields of view

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020065894A1 (en) * 1999-12-03 2002-05-30 Dalal Siddhartha R. Local presence state and user-controlled presence and message forwarding in unified instant messaging
US20030055897A1 (en) * 2001-09-20 2003-03-20 International Business Machines Corporation Specifying monitored user participation in messaging sessions
US6807423B1 (en) * 1999-12-14 2004-10-19 Nortel Networks Limited Communication and presence spanning multiple access 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

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619276B2 (en) 1981-08-17 1994-03-16 工業技術院長 Portable map display device assembly
US5179519A (en) 1990-02-01 1993-01-12 Pioneer Electronic Corporation Navigation system for vehicle
US5220507A (en) 1990-11-08 1993-06-15 Motorola, Inc. Land vehicle multiple navigation route apparatus
US5608635A (en) 1992-04-14 1997-03-04 Zexel Corporation Navigation system for a vehicle with route recalculation between multiple locations
US5812865A (en) 1993-12-03 1998-09-22 Xerox Corporation Specifying and establishing communication data paths between particular media devices in multiple media device computing systems based on context of a user or users
US5555376A (en) 1993-12-03 1996-09-10 Xerox Corporation Method for granting a user request having locational and contextual attributes consistent with user policies for devices having locational attributes consistent with the user request
US5493692A (en) 1993-12-03 1996-02-20 Xerox Corporation Selective delivery of electronic messages in a multiple computer system based on context and environment of a user
US6321158B1 (en) 1994-06-24 2001-11-20 Delorme Publishing Company Integrated routing/mapping information
US5911773A (en) 1995-07-24 1999-06-15 Aisin Aw Co., Ltd. Navigation system for vehicles
US5835881A (en) 1996-01-16 1998-11-10 Philips Electronics North America Corporation Portable system for providing voice driving directions
JP3370555B2 (en) 1996-07-09 2003-01-27 松下電器産業株式会社 Pedestrian information provision system
JP3919855B2 (en) 1996-10-17 2007-05-30 株式会社ザナヴィ・インフォマティクス Navigation device
GB2335492B (en) 1998-03-18 2002-02-27 Nokia Mobile Phones Ltd Local navigation alternatives
US7076737B2 (en) 1998-12-18 2006-07-11 Tangis Corporation Thematic response to a computer user's context, such as by a wearable personal computer
US7055101B2 (en) 1998-12-18 2006-05-30 Tangis Corporation Thematic response to a computer user's context, such as by a wearable personal computer
US6747675B1 (en) 1998-12-18 2004-06-08 Tangis Corporation Mediating conflicts in computer user's context data
US6466232B1 (en) 1998-12-18 2002-10-15 Tangis Corporation Method and system for controlling presentation of information to a user based on the user's condition
US6842877B2 (en) 1998-12-18 2005-01-11 Tangis Corporation Contextual responses based on automated learning techniques
US6791580B1 (en) 1998-12-18 2004-09-14 Tangis Corporation Supplying notifications related to supply and consumption of user context data
US6801223B1 (en) 1998-12-18 2004-10-05 Tangis Corporation Managing interactions between computer users' context models
US6812937B1 (en) 1998-12-18 2004-11-02 Tangis Corporation Supplying enhanced computer user's context data
US7137069B2 (en) 1998-12-18 2006-11-14 Tangis Corporation Thematic response to a computer user's context, such as by a wearable personal computer
US7107539B2 (en) 1998-12-18 2006-09-12 Tangis Corporation Thematic response to a computer user's context, such as by a wearable personal computer
US6513046B1 (en) 1999-12-15 2003-01-28 Tangis Corporation Storing and recalling information to augment human memories
JP3749821B2 (en) 1999-09-30 2006-03-01 株式会社東芝 Pedestrian road guidance system and pedestrian road guidance method
US6853634B1 (en) * 1999-12-14 2005-02-08 Nortel Networks Limited Anonymity in a presence management system
JP3514197B2 (en) 2000-01-12 2004-03-31 日本電気株式会社 Road guidance explanation device and road guidance explanation system
US6353795B1 (en) 2000-02-01 2002-03-05 Infospace, Inc. Method and system for matching an incident to a route
DE10007348C2 (en) 2000-02-18 2003-07-10 Harman Becker Automotive Sys navigation system
US6748225B1 (en) 2000-02-29 2004-06-08 Metro One Telecommunications, Inc. Method and system for the determination of location by retail signage and other readily recognizable landmarks
WO2001075676A2 (en) 2000-04-02 2001-10-11 Tangis Corporation Soliciting information based on a computer user's context
US6694252B2 (en) 2000-07-04 2004-02-17 Mitsubishi Denki Kabushiki Kaisha Method of displaying landmark in navigation device
US20020044152A1 (en) 2000-10-16 2002-04-18 Abbott Kenneth H. Dynamic integration of computer generated and real world images
WO2002033541A2 (en) 2000-10-16 2002-04-25 Tangis Corporation Dynamically determining appropriate computer interfaces
JP2002169914A (en) 2000-11-30 2002-06-14 Toyota Motor Corp Apparatus and method for route guidance
JP4302872B2 (en) 2000-12-12 2009-07-29 パナソニック株式会社 Landmark update system and navigation device
ES2377638T3 (en) 2001-01-24 2012-03-29 Telenav, Inc. Real-time navigation system for mobile environment
US6477460B2 (en) 2001-02-27 2002-11-05 Metro One Telecommunications, Inc. Process and system for the annotation of machine-generated directions with easily recognized landmarks and other relevant information
JP2002260160A (en) 2001-02-28 2002-09-13 Toshiba Corp Method and device for guidance
US20020164998A1 (en) 2001-05-01 2002-11-07 Saed Younis System and method for providing position-based information to a user of a wireless device
US20030041101A1 (en) * 2001-08-24 2003-02-27 Hansche Brian A. Presence watcher proxy
US7007085B1 (en) * 2001-09-28 2006-02-28 Bellsouth Intellectual Property Corporation Message log for wireline, voice mail, email, fax, pager, instant messages and chat
US20030110228A1 (en) * 2001-12-12 2003-06-12 Ziqiang Xu Method and apparatus for monitoring activity and presence to optimize collaborative issue resolution
US6766245B2 (en) 2002-03-14 2004-07-20 Microsoft Corporation Landmark-based location of users
US7035923B1 (en) * 2002-04-10 2006-04-25 Nortel Networks Limited Presence information specifying communication preferences
US7023980B2 (en) * 2002-12-04 2006-04-04 Avaya Technology Corp. Outbound dialing decision criteria based
US8046213B2 (en) 2004-08-06 2011-10-25 Nuance Communications, Inc. On demand TTS vocabulary for a telematics system
US7308360B2 (en) 2005-03-18 2007-12-11 International Business Machines Corporation Technique for audibly providing driving directions using a mobile telephone
US8825370B2 (en) 2005-05-27 2014-09-02 Yahoo! Inc. Interactive map-based travel guide

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020065894A1 (en) * 1999-12-03 2002-05-30 Dalal Siddhartha R. Local presence state and user-controlled presence and message forwarding in unified instant messaging
US6807423B1 (en) * 1999-12-14 2004-10-19 Nortel Networks Limited Communication and presence spanning multiple access 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
US20030055897A1 (en) * 2001-09-20 2003-03-20 International Business Machines Corporation Specifying monitored user participation in messaging sessions

Cited By (331)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120699A1 (en) * 2001-02-27 2002-08-29 Matsushita Graphic Communication Systems, Inc. Monitoring apparatus and monitoring/notifying method for receiver and sender terminals and for e-mail transmission system of receiver terminal
US8644475B1 (en) 2001-10-16 2014-02-04 Rockstar Consortium Us Lp Telephony usage derived presence information
US8811952B2 (en) 2002-01-08 2014-08-19 Seven Networks, Inc. Mobile device power management in data synchronization over a mobile network with or without a trigger notification
US8989728B2 (en) 2002-01-08 2015-03-24 Seven Networks, Inc. Connection architecture for a mobile network
US8549587B2 (en) 2002-01-08 2013-10-01 Seven Networks, Inc. Secure end-to-end transport through intermediary nodes
US8127342B2 (en) 2002-01-08 2012-02-28 Seven Networks, Inc. Secure end-to-end transport through intermediary nodes
US8108516B2 (en) 2002-02-14 2012-01-31 Avaya Inc. Presence tracking and name space interconnection techniques
US8606909B2 (en) 2002-05-13 2013-12-10 At&T Intellectual Property I, L.P. Real-time notification of presence availability
US7653715B2 (en) 2002-05-15 2010-01-26 Microsoft Corporation Method and system for supporting the communication of presence information regarding one or more telephony devices
US20060190525A1 (en) * 2002-05-15 2006-08-24 Microsoft Corporation Method and system for supporting the communication of presence information regarding one or more telephony devices
US8065405B2 (en) 2002-05-15 2011-11-22 Microsoft Corporation Method and system for supporting the communication of presence information among computing devices of a network
US20080184136A1 (en) * 2002-05-21 2008-07-31 At&T Delaware Intellectual Property Inc. Caller Initiated Distinctive Presence Alerting and Auto-Response Messaging
US8707188B2 (en) 2002-05-21 2014-04-22 At&T Intellectual Property I, L.P. Caller initiated distinctive presence alerting and auto-response messaging
US9832145B2 (en) 2002-05-21 2017-11-28 At&T Intellectual Property I, L.P. Caller initiated distinctive presence alerting and auto-response messaging
US20050170861A1 (en) * 2002-06-14 2005-08-04 Aki Niemi Method and system to subscription of events using sip protocol
US8200755B2 (en) * 2002-06-27 2012-06-12 Fujitsu Limited Presence administration method and device
US20040003037A1 (en) * 2002-06-27 2004-01-01 Fujitsu Limited Presence administration method and device
US20040071150A1 (en) * 2002-07-05 2004-04-15 Anu Honkala Updating presence information
US20040010573A1 (en) * 2002-07-10 2004-01-15 Philippe Debaty Web presence for physical entities
US20080209347A1 (en) * 2002-08-19 2008-08-28 At&T Delaware Intellectual Property, Inc., Formerly Known As Bellsouth Intellectual Property Redirection of a Message to an Alternate Address
US8370756B2 (en) 2002-08-19 2013-02-05 At&T Intellectual Property I, L.P. Redirection of a message to an alternate address
US9094258B2 (en) 2002-09-06 2015-07-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US8001185B2 (en) 2002-09-06 2011-08-16 Oracle International Corporation Method and apparatus for distributed rule evaluation in a near real-time business intelligence system
US8255454B2 (en) 2002-09-06 2012-08-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US8577989B2 (en) 2002-09-06 2013-11-05 Oracle International Corporation Method and apparatus for a report cache in a near real-time business intelligence system
US8566693B2 (en) 2002-09-06 2013-10-22 Oracle International Corporation Application-specific personalization for data display
US7941542B2 (en) 2002-09-06 2011-05-10 Oracle International Corporation Methods and apparatus for maintaining application execution over an intermittent network connection
US8165993B2 (en) 2002-09-06 2012-04-24 Oracle International Corporation Business intelligence system with interface that provides for immediate user action
US7899879B2 (en) 2002-09-06 2011-03-01 Oracle International Corporation Method and apparatus for a report cache in a near real-time business intelligence system
US7945846B2 (en) 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
US7912899B2 (en) * 2002-09-06 2011-03-22 Oracle International Corporation Method for selectively sending a notification to an instant messaging device
US8402095B2 (en) 2002-09-16 2013-03-19 Oracle International Corporation Apparatus and method for instant messaging collaboration
US8392609B2 (en) 2002-09-17 2013-03-05 Apple Inc. Proximity detection for media proxies
US9043491B2 (en) 2002-09-17 2015-05-26 Apple Inc. Proximity detection for media proxies
US8694676B2 (en) 2002-09-17 2014-04-08 Apple Inc. Proximity detection for media proxies
US20040059781A1 (en) * 2002-09-19 2004-03-25 Nortel Networks Limited Dynamic presence indicators
US20050262198A1 (en) * 2002-10-09 2005-11-24 Nokia Corporation Communication system
US7995742B2 (en) 2002-12-04 2011-08-09 Avaya Inc. Outbound dialing decision criteria based
US20040128310A1 (en) * 2002-12-30 2004-07-01 Zmudzinski Krystof C. Method and apparatus for distributing notification among cooperating devices and device channels
US7587462B2 (en) * 2002-12-30 2009-09-08 Intel Corporation Method and apparatus for distributing notification among cooperating devices and device channels
US7269629B2 (en) * 2002-12-30 2007-09-11 Intel Corporation Method and apparatus for distributing notification among cooperating devices and device channels
US20070271384A1 (en) * 2002-12-30 2007-11-22 Intel Corporation (A Delaware Corporation) Method and apparatus for distributing notification among cooperating devices and device channels
US7711810B2 (en) * 2003-01-03 2010-05-04 Nortel Networks Limited Distributed services based on presence technology
US20040133641A1 (en) * 2003-01-03 2004-07-08 Nortel Networks Limited Distributed services based on presence technology
US9251193B2 (en) 2003-01-08 2016-02-02 Seven Networks, Llc Extending user relationships
US20040139198A1 (en) * 2003-01-15 2004-07-15 Jose Costa-Requena Method and apparatus for manipulating data with session initiation protocol
US7936865B2 (en) 2003-01-20 2011-05-03 Avaya Inc. Messaging advise in presence-aware networks
US8064574B2 (en) 2003-01-20 2011-11-22 Avaya Inc. Messaging advise in presence-aware networks
US8014497B2 (en) 2003-01-20 2011-09-06 Avaya Inc. Messaging advise in presence-aware networks
US8050388B2 (en) 2003-01-20 2011-11-01 Avaya Inc. Messaging advise in presence-aware networks
US8098799B2 (en) 2003-01-20 2012-01-17 Avaya Inc. Messaging advise in presence-aware networks
US8218735B2 (en) * 2003-01-20 2012-07-10 Avaya Inc. Messaging advise in presence-aware networks
US8107597B2 (en) 2003-01-20 2012-01-31 Avaya Inc. Messaging advise in presence-aware networks
US20110214164A1 (en) * 2003-01-29 2011-09-01 Nokia Corporation Access right control using access control alerts
US20040153552A1 (en) * 2003-01-29 2004-08-05 Nokia Corporation Access right control using access control alerts
US9497279B2 (en) * 2003-01-29 2016-11-15 Nokia Technologies Oy Access right control using access control alerts
US8046476B2 (en) * 2003-01-29 2011-10-25 Nokia Corporation Access right control using access control alerts
US20040205161A1 (en) * 2003-04-10 2004-10-14 International Business Machines Corporation Authorized access to off-line messaging
US20040215730A1 (en) * 2003-04-10 2004-10-28 International Business Machines Corporation Timing of off-line messaging
US7216167B2 (en) * 2003-04-10 2007-05-08 International Business Machines Corporation System allowing user associating user off-line status messages of selectable content with participants on user's authorized access lists
US7231443B2 (en) * 2003-04-10 2007-06-12 International Business Machines Corporation System allowing user associating user off-line status messages of selectable content with participants on user's authorized access lists
US20050015499A1 (en) * 2003-05-15 2005-01-20 Georg Mayer Method and apparatus for SIP user agent discovery of configuration server
US20070288852A1 (en) * 2003-05-20 2007-12-13 Aol Llc Presence and Geographic Location Notification Based on a Setting
US8769419B2 (en) * 2003-05-20 2014-07-01 Facebook, Inc. Presence and geographic location notification based on a setting
US7653191B1 (en) * 2003-06-26 2010-01-26 Microsoft Corporation Voice call routing by dynamic personal profile
US8185635B2 (en) 2003-07-01 2012-05-22 Microsoft Corporation Transport system for instant messaging
US20050004993A1 (en) * 2003-07-01 2005-01-06 Miller David Michael Instant messaging object store
US20080209051A1 (en) * 2003-07-01 2008-08-28 Microsoft Corporation Transport System for Instant Messaging
US7539727B2 (en) 2003-07-01 2009-05-26 Microsoft Corporation Instant messaging object store
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
US9118574B1 (en) 2003-11-26 2015-08-25 RPX Clearinghouse, LLC Presence reporting using wireless messaging
US20050156873A1 (en) * 2004-01-20 2005-07-21 Microsoft Corporation Custom emoticons
US8171084B2 (en) 2004-01-20 2012-05-01 Microsoft Corporation Custom emoticons
US9398152B2 (en) 2004-02-25 2016-07-19 Avaya Inc. Using business rules for determining presence
US8229454B1 (en) 2004-03-22 2012-07-24 Avaya Inc. Personal location information management
US20050246339A1 (en) * 2004-04-28 2005-11-03 Fujitsu Limited Method and device for data retrieval, and computer product
US20050246544A1 (en) * 2004-05-01 2005-11-03 Microsoft Corporation System and method for identity confirmation of a contact published on a network
US20050246396A1 (en) * 2004-05-01 2005-11-03 Microsoft Corporation System and method for synchronizing between a file system and presence of contacts on a network
US20050246369A1 (en) * 2004-05-01 2005-11-03 Microsoft Corporation System and method for a user interface directed to discovering and publishing presence information on a network
US7437566B2 (en) 2004-05-01 2008-10-14 Microsoft Corporation System and method for identity confirmation of a contact published on a network
US7698307B2 (en) 2004-05-01 2010-04-13 Microsoft Corporation System and method for synchronizing between a file system and presence of contacts on a network
US7607096B2 (en) 2004-05-01 2009-10-20 Microsoft Corporation System and method for a user interface directed to discovering and publishing presence information on a network
US8239452B2 (en) 2004-05-01 2012-08-07 Microsoft Corporation System and method for discovering and publishing of presence information on a network
US20100205298A1 (en) * 2004-06-07 2010-08-12 Nokia Corporation Method, system and computer program to enable semantic mediation for SIP events through support of dynamically binding to and changing of application semantics of SIP events
US20050289096A1 (en) * 2004-06-23 2005-12-29 Nokia Corporation Method, system and computer program to enable SIP event-based discovery of services and content within a community built on context information
US8903820B2 (en) 2004-06-23 2014-12-02 Nokia Corporation Method, system and computer program to enable querying of resources in a certain context by definition of SIP even package
US20060047747A1 (en) * 2004-06-24 2006-03-02 Microsoft Corporation System and method for automatic selection of an instant messenger client
US20060047782A1 (en) * 2004-06-29 2006-03-02 Nokia Corporation Presence service
US7302270B1 (en) * 2004-08-02 2007-11-27 Cisco Technology, Inc. Time interval processing and annotation in presence systems
GB2417584A (en) * 2004-08-18 2006-03-01 King S College London A method of discovering contact identifiers for network access devices
US8233461B1 (en) 2004-08-19 2012-07-31 Hewlett-Packard Development Company, L.P. Complementing network discovery with physical discovery
US8831561B2 (en) 2004-10-20 2014-09-09 Seven Networks, Inc System and method for tracking billing events in a mobile wireless network for a network operator
US8010082B2 (en) 2004-10-20 2011-08-30 Seven Networks, Inc. Flexible billing architecture
USRE45348E1 (en) 2004-10-20 2015-01-20 Seven Networks, Inc. Method and apparatus for intercepting events in a communication system
US20080010301A1 (en) * 2004-11-04 2008-01-10 Huawei Technologies Co., Ltd Method and system for notifying presence information
US8805334B2 (en) 2004-11-22 2014-08-12 Seven Networks, Inc. Maintaining mobile terminal information for secure communications
AU2005229647B2 (en) * 2004-11-24 2011-01-27 Microsoft Corporation Method and system for controlling access to presence information on a peer-to-peer basis
US20060112177A1 (en) * 2004-11-24 2006-05-25 Microsoft Corporation Method and system for controlling access to presence information on a peer-to-peer basis
US20060155733A1 (en) * 2004-11-30 2006-07-13 Ajita John Methods and apparatus for determining a proxy presence of a user
US20060117050A1 (en) * 2004-11-30 2006-06-01 Ajita John Methods and apparatus for determining a presence of a user
US8176086B2 (en) * 2004-11-30 2012-05-08 Avaya Inc. Methods and apparatus for determining a presence of a user
US9094508B2 (en) * 2004-11-30 2015-07-28 Avaya Inc. Methods and apparatus for determining a proxy presence of a user
US8873411B2 (en) 2004-12-03 2014-10-28 Seven Networks, Inc. Provisioning of e-mail settings for a mobile terminal
US8116214B2 (en) 2004-12-03 2012-02-14 Seven Networks, Inc. Provisioning of e-mail settings for a mobile terminal
US7778402B1 (en) * 2004-12-30 2010-08-17 At&T Intellectual Property Ii, L.P. Method and apparatus for routing incoming calls to active network endpoints
US20060195532A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation Client-side presence documentation
US8209709B2 (en) 2005-03-14 2012-06-26 Seven Networks, Inc. Cross-platform event engine
US8561086B2 (en) 2005-03-14 2013-10-15 Seven Networks, Inc. System and method for executing commands that are non-native to the native environment of a mobile device
US9047142B2 (en) 2005-03-14 2015-06-02 Seven Networks, Inc. Intelligent rendering of information in a limited display environment
US20060230137A1 (en) * 2005-04-12 2006-10-12 Christopher Gare Location or Activity Monitor
GB2425853A (en) * 2005-04-12 2006-11-08 Christopher Gare Presence information and location monitor
US20060234735A1 (en) * 2005-04-19 2006-10-19 Digate Charles J Presence-enabled mobile access
US8831647B2 (en) * 2005-04-19 2014-09-09 Devereux Research Ab Llc Presence-enabled mobile access
US7529255B2 (en) 2005-04-21 2009-05-05 Microsoft Corporation Peer-to-peer multicasting using multiple transport protocols
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US8839412B1 (en) 2005-04-21 2014-09-16 Seven Networks, Inc. Flexible real-time inbox access
US8064583B1 (en) 2005-04-21 2011-11-22 Seven Networks, Inc. Multiple data store authentication
US20060239275A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Peer-to-peer multicasting using multiple transport protocols
US7814214B2 (en) 2005-04-22 2010-10-12 Microsoft Corporation Contact management in a serverless peer-to-peer system
US20060239279A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Contact management in a serverless peer-to-peer system
US7571228B2 (en) * 2005-04-22 2009-08-04 Microsoft Corporation Contact management in a serverless peer-to-peer system
US8036140B2 (en) 2005-04-22 2011-10-11 Microsoft Corporation Application programming interface for inviting participants in a serverless peer to peer network
US20060242237A1 (en) * 2005-04-25 2006-10-26 Microsoft Corporation System and method for collaboration with serverless presence
US20060242639A1 (en) * 2005-04-25 2006-10-26 Microsoft Corporation Collaborative invitation system and method
US7752253B2 (en) 2005-04-25 2010-07-06 Microsoft Corporation Collaborative invitation system and method
US7617281B2 (en) * 2005-04-25 2009-11-10 Microsoft Corporation System and method for collaboration with serverless presence
US7856470B2 (en) * 2005-05-27 2010-12-21 Microsoft Corporation Accepting an invitation sent to multiple computer systems
US20060271635A1 (en) * 2005-05-27 2006-11-30 Microsoft Corporation Accepting an invitation sent to multiple computer systems
US8761756B2 (en) 2005-06-21 2014-06-24 Seven Networks International Oy Maintaining an IP connection in a mobile network
US20080114776A1 (en) * 2005-07-22 2008-05-15 Huawei Technologies Co., Ltd. Method and system for providing presence information, the presence server thereof
US20070100831A1 (en) * 2005-07-26 2007-05-03 Microsoft Corporation Managing rich presence collections
US7650337B2 (en) 2005-07-26 2010-01-19 Microsoft Corporation Managing rich presence collections
US8356011B2 (en) 2005-07-26 2013-01-15 Microsoft Corporation Organizing presence information into collections of publications
US20070027702A1 (en) * 2005-07-26 2007-02-01 Microsoft Corporation Organizing presence information into collections of publications
US8412675B2 (en) * 2005-08-01 2013-04-02 Seven Networks, Inc. Context aware data presentation
US20080133708A1 (en) * 2005-08-01 2008-06-05 Billy Alvarado Context Based Action
US20070027917A1 (en) * 2005-08-01 2007-02-01 Ido Ariel Linking of personal information management data
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US8069166B2 (en) * 2005-08-01 2011-11-29 Seven Networks, Inc. Managing user-to-user contact with inferred presence information
US8468126B2 (en) * 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7917505B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Methods for publishing content
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US20070033278A1 (en) * 2005-08-08 2007-02-08 Kelley Sean S Method and apparatus for providing a list-based service
US8145717B2 (en) * 2005-09-21 2012-03-27 Siemens Enterprise Communications, Inc. System and method for providing presence age information in a unified communication system
US20070067439A1 (en) * 2005-09-21 2007-03-22 Andrew Mason System and method for providing presence age information in a unified communication system
US7983404B1 (en) * 2005-10-31 2011-07-19 At&T Intellectual Property Ii, L.P. Method and apparatus for providing presence status of multiple communication device types
US20090172077A1 (en) * 2005-11-23 2009-07-02 David Roxburgh Apparatus for and a Method of Delivering a Message to a User
US20070124469A1 (en) * 2005-11-29 2007-05-31 Aziz Mohammed Common interest community service via presence messaging
US8566109B2 (en) * 2005-11-29 2013-10-22 Alcatel Lucent Common interest community service via presence messaging
US20070124158A1 (en) * 2005-11-30 2007-05-31 Fujitsu Limited Presence managing method and apparatus
US8527600B2 (en) * 2005-11-30 2013-09-03 Fujitsu Limited Presence managing method and apparatus
WO2007082445A1 (en) 2006-01-21 2007-07-26 Huawei Technologies Co., Ltd. A method, server and system for subscribing presence information
US20080134259A1 (en) * 2006-01-21 2008-06-05 Huawei Technologies Co., Ltd. Method, server and system for subscribing for presence information
EP1976205A4 (en) * 2006-01-21 2008-10-01 Huawei Tech Co Ltd A method, server and system for subscribing presence information
EP1976205A1 (en) * 2006-01-21 2008-10-01 Huawei Technologies Co., Ltd. A method, server and system for subscribing presence information
US8140692B2 (en) * 2006-02-13 2012-03-20 International Business Machines Corporation Flexibly configured presence server
US20070198589A1 (en) * 2006-02-13 2007-08-23 Avshalom Houri Flexibly configured presence server
US9055102B2 (en) 2006-02-27 2015-06-09 Seven Networks, Inc. Location-based operations and messaging
US20090138564A1 (en) * 2006-03-07 2009-05-28 Simon Alexander Beddus Apparatus for and a method of delivering a message to a user
US20070239869A1 (en) * 2006-03-28 2007-10-11 Microsoft Corporation User interface for user presence aggregated across multiple endpoints
US7945612B2 (en) * 2006-03-28 2011-05-17 Microsoft Corporation Aggregating user presence across multiple endpoints
US20110185006A1 (en) * 2006-03-28 2011-07-28 Microsoft Corporation Aggregating user presence across multiple endpoints
US20070233875A1 (en) * 2006-03-28 2007-10-04 Microsoft Corporation Aggregating user presence across multiple endpoints
US8700690B2 (en) * 2006-03-28 2014-04-15 Microsoft Corporation Aggregating user presence across multiple endpoints
WO2007114883A1 (en) * 2006-03-31 2007-10-11 Microsoft Corporation Managing rich presence collections
US20120131152A1 (en) * 2006-03-31 2012-05-24 Microsoft Corporation Managing rich presence collections in a single request
WO2007114884A1 (en) 2006-03-31 2007-10-11 Microsoft Corporation Managing rich presence collections
US20070239866A1 (en) * 2006-03-31 2007-10-11 Microsoft Corporation Managing Rich Presence Collections
US9275375B2 (en) * 2006-03-31 2016-03-01 Microsoft Technology Licensing, Llc Managing rich presence collections in a single request
US20070266076A1 (en) * 2006-03-31 2007-11-15 Microsoft Corporation Managing rich presence collections
US8234559B2 (en) 2006-03-31 2012-07-31 Microsoft Corporation Managing rich presence collections
EP2013764A4 (en) * 2006-03-31 2013-01-23 Microsoft Corp Managing rich presence collections
EP2013764A1 (en) * 2006-03-31 2009-01-14 Microsoft Corporation Managing rich presence collections
US8108345B2 (en) 2006-03-31 2012-01-31 Microsoft Corporation Managing rich presence collections in a single request
US7614060B2 (en) * 2006-04-28 2009-11-03 Microsoft Corporation Unified concept of presence
US20070255577A1 (en) * 2006-04-28 2007-11-01 Microsoft Corporation Unified concept of presence
US9241038B2 (en) 2006-05-23 2016-01-19 Microsoft Technology Licensing, Llc User presence aggregation at a server
US20180227378A1 (en) * 2006-05-23 2018-08-09 Microsoft Technology Licensing, Llc User presence aggregation at a server
RU2436246C2 (en) * 2006-05-23 2011-12-10 Майкрософт Корпорейшн User presence aggregation at server
US9942338B2 (en) 2006-05-23 2018-04-10 Microsoft Technology Licensing, Llc User presence aggregation at a server
US20070276937A1 (en) * 2006-05-23 2007-11-29 Microsoft Corporation User presence aggregation at a server
US20070276909A1 (en) * 2006-05-23 2007-11-29 Microsoft Corporation Publication of customized presence information
US10686901B2 (en) * 2006-05-23 2020-06-16 Microsoft Technology Licensing, Llc User presence aggregation at a server
US20100274881A1 (en) * 2006-05-26 2010-10-28 Komlenic Todd M Methods and systems for network management using periodic status messages
US8135819B2 (en) 2006-05-26 2012-03-13 The Pnc Financial Services Group, Inc. Methods and systems for network management using periodic status messages in automated teller machines
US7761550B2 (en) * 2006-05-26 2010-07-20 The Pnc Financial Services Group, Inc. Network management for a plurality of agents using periodic status messages
US7814191B2 (en) 2006-05-26 2010-10-12 The Pnc Financial Services Group, Inc. Methods and systems for network management using periodic status messages
US7752306B2 (en) 2006-05-26 2010-07-06 The Pnc Financial Services Group, Inc. Network management for automated teller machines
US20070288567A1 (en) * 2006-05-26 2007-12-13 The Pnc Financial Services Network management
US20070288554A1 (en) * 2006-05-26 2007-12-13 The Pnc Financial Services Group, Inc. Network management
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
US20070291859A1 (en) * 2006-06-15 2007-12-20 Oracle International Corporation Past presence hints
US20110141948A1 (en) * 2006-06-15 2011-06-16 Oracle International Corporation Presence-based caller identification
US20110142209A1 (en) * 2006-06-15 2011-06-16 Oracle International Corporation Presence-based message waiting indicator and missed calls
US9112881B2 (en) 2006-06-15 2015-08-18 Oracle International Corporation Presence-based caller identification
US20080040441A1 (en) * 2006-07-05 2008-02-14 Oracle International Corporation Push e-mail inferred network presence
US8688822B2 (en) 2006-07-05 2014-04-01 Oracle International Corporation Push e-mail inferred network presence
US20080077696A1 (en) * 2006-09-21 2008-03-27 Bellsouth Intellectual Property Corporation Personal presentity presence subsystem
US8316117B2 (en) 2006-09-21 2012-11-20 At&T Intellectual Property I, L.P. Personal presentity presence subsystem
US8533306B2 (en) 2006-09-21 2013-09-10 At&T Intellectual Property I, L.P. Personal presentity presence subsystem
WO2008043675A1 (en) * 2006-10-09 2008-04-17 Hewlett-Packard Development Company, L.P. Management of access to address data
US20120221648A1 (en) * 2006-10-09 2012-08-30 Olivier Bertin Data processing system and method
EP1912394A1 (en) * 2006-10-09 2008-04-16 Hewlett-Packard Development Company, L.P. Management of access to address data
US8150003B1 (en) 2007-01-23 2012-04-03 Avaya Inc. Caller initiated undivert from voicemail
US20080188358A1 (en) * 2007-02-06 2008-08-07 Hai-Pin Kuo Foldable treadmill
WO2008117116A3 (en) * 2007-03-28 2009-03-12 Skype Ltd Detection of communication states
US9380124B2 (en) 2007-03-28 2016-06-28 Skype Detection of communication states
US9032030B2 (en) 2007-03-28 2015-05-12 Skype Detection of communication states
WO2008117116A2 (en) * 2007-03-28 2008-10-02 Skype Limited Detection of communication states
EP1995931A3 (en) * 2007-05-24 2008-12-10 France Telecom System and method for updating an attendance status of a user on a terminal by aggregation of multi-source information
EP1995931A2 (en) 2007-05-24 2008-11-26 France Telecom System and method for updating an attendance status of a user on a terminal by aggregation of multi-source information
US20090006613A1 (en) * 2007-05-24 2009-01-01 France Telecom System and a method for updating a user presence status on a terminal by aggregating multisource information
US8774844B2 (en) 2007-06-01 2014-07-08 Seven Networks, Inc. Integrated messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US8738050B2 (en) 2007-12-10 2014-05-27 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US8793305B2 (en) 2007-12-13 2014-07-29 Seven Networks, Inc. Content delivery to a mobile device from a content service
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
EP2223502A4 (en) * 2007-12-18 2015-08-26 Ericsson Telefon Ab L M Method and devices for updating presence information in a communication network
US20090177729A1 (en) * 2008-01-09 2009-07-09 International Business Machines Corporation Managing watcher information in a distributed server environment
US7814051B2 (en) 2008-01-09 2010-10-12 International Business Machines Corporation Managing watcher information in a distributed server environment
US9712986B2 (en) 2008-01-11 2017-07-18 Seven Networks, Llc Mobile device configured for communicating with another mobile device associated with an associated user
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8914002B2 (en) 2008-01-11 2014-12-16 Seven Networks, Inc. System and method for providing a network service in a distributed fashion to a mobile device
US8909192B2 (en) 2008-01-11 2014-12-09 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US8849902B2 (en) 2008-01-25 2014-09-30 Seven Networks, Inc. System for providing policy based content service in a mobile network
US8799410B2 (en) 2008-01-28 2014-08-05 Seven Networks, Inc. System and method of a relay server for managing communications and notification between a mobile device and a web access server
US8838744B2 (en) 2008-01-28 2014-09-16 Seven Networks, Inc. Web-based access to data objects
US8352296B2 (en) * 2008-04-18 2013-01-08 Microsoft Corporation Managing real time meeting room status
US20090265280A1 (en) * 2008-04-18 2009-10-22 Microsoft Corporation Managing real time meeting room status
US7941443B1 (en) * 2008-05-21 2011-05-10 Symantec Corporation Extending user account control to groups and multiple computers
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8494510B2 (en) 2008-06-26 2013-07-23 Seven Networks, Inc. Provisioning applications for a mobile device
US7836185B2 (en) 2008-06-27 2010-11-16 International Business Machines Corporation Common resource management in a server cluster
US20090327494A1 (en) * 2008-06-27 2009-12-31 International Business Machines Corporation Common resource management in a server cluster
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US20100115039A1 (en) * 2008-10-31 2010-05-06 Kim Yeo-Jin Communication system, communication server, communication terminal, and communication method for recommending communication tool
US9456007B2 (en) * 2008-11-15 2016-09-27 Adobe Systems Incorporated Session aware notifications
US9158897B2 (en) 2008-11-15 2015-10-13 Adobe Systems Incorporated Methods and systems for distributing right-protected asset
US20140032483A1 (en) * 2008-11-15 2014-01-30 Adobe Systems Incorporated Asset distribution architecture and timeline history
US20110022580A1 (en) * 2009-07-21 2011-01-27 Telefonaktiebolaget Lm Ericsson (Publ) Exchange of service capabilities in communication networks
WO2011010276A1 (en) * 2009-07-21 2011-01-27 Telefonaktiebolaget Lm Ericsson (Publ) Exchange of service capabilities in communication networks
US10511552B2 (en) 2009-08-04 2019-12-17 At&T Intellectual Property I, L.P. Aggregated presence over user federated devices
US9258376B2 (en) * 2009-08-04 2016-02-09 At&T Intellectual Property I, L.P. Aggregated presence over user federated devices
US20110035443A1 (en) * 2009-08-04 2011-02-10 At&T Intellectual Property I, L.P. Aggregated Presence Over User Federated Devices
US8301581B2 (en) 2009-09-24 2012-10-30 Avaya Inc. Group compositing algorithms for presence
US8499035B2 (en) * 2010-01-06 2013-07-30 Tekelec, Inc. Methods, systems and computer readable media for providing session initiation protocol (SIP) event watcher entity information in a communications network
US20110167152A1 (en) * 2010-01-06 2011-07-07 Adam Boyd Roach Methods, systems and computer readable media for providing session initiation protocol (sip) event watcher entity information in a communications network
US20110167172A1 (en) * 2010-01-06 2011-07-07 Adam Boyd Roach Methods, systems and computer readable media for providing a failover measure using watcher information (winfo) architecture
US8661077B2 (en) 2010-01-06 2014-02-25 Tekelec, Inc. Methods, systems and computer readable media for providing a failover measure using watcher information (WINFO) architecture
US9043731B2 (en) 2010-03-30 2015-05-26 Seven Networks, Inc. 3D mobile user interface with configurable workspace management
US8886176B2 (en) 2010-07-26 2014-11-11 Seven Networks, Inc. Mobile application traffic optimization
US9077630B2 (en) 2010-07-26 2015-07-07 Seven Networks, Inc. Distributed implementation of dynamic wireless traffic policy
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US9407713B2 (en) 2010-07-26 2016-08-02 Seven Networks, Llc Mobile application traffic optimization
US9049179B2 (en) 2010-07-26 2015-06-02 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US9043433B2 (en) 2010-07-26 2015-05-26 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US10575243B2 (en) * 2010-07-28 2020-02-25 At&T Intellectual Property I, L.P. Femtocell access provisioning based on social network, presence, and user preferences
US20150024747A1 (en) * 2010-07-28 2015-01-22 At&T Intellectual Property I, L.P. Femtocell access provisioning based on social network, presence, and user preferences
US8166164B1 (en) 2010-11-01 2012-04-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
US8966066B2 (en) 2010-11-01 2015-02-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
US8190701B2 (en) 2010-11-01 2012-05-29 Seven Networks, Inc. Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US9275163B2 (en) 2010-11-01 2016-03-01 Seven Networks, Llc Request and response characteristics based adaptation of distributed caching in a mobile network
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8782222B2 (en) 2010-11-01 2014-07-15 Seven Networks Timing of keep-alive messages used in a system for mobile network resource conservation and optimization
US8204953B2 (en) 2010-11-01 2012-06-19 Seven Networks, Inc. Distributed system for cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US8700728B2 (en) 2010-11-01 2014-04-15 Seven Networks, Inc. Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US8291076B2 (en) 2010-11-01 2012-10-16 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
US8417823B2 (en) 2010-11-22 2013-04-09 Seven Network, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
US9100873B2 (en) 2010-11-22 2015-08-04 Seven Networks, Inc. Mobile network background traffic data management
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
US8539040B2 (en) 2010-11-22 2013-09-17 Seven Networks, Inc. Mobile network background traffic data management with optimized polling intervals
US9325662B2 (en) 2011-01-07 2016-04-26 Seven Networks, Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
US9084105B2 (en) 2011-04-19 2015-07-14 Seven Networks, Inc. Device resources sharing for network resource conservation
US8356080B2 (en) 2011-04-19 2013-01-15 Seven Networks, Inc. System and method for a mobile device to use physical storage of another device for caching
US9300719B2 (en) 2011-04-19 2016-03-29 Seven Networks, Inc. System and method for a mobile device to use physical storage of another device for caching
US8316098B2 (en) 2011-04-19 2012-11-20 Seven Networks Inc. Social caching for device resource sharing and management
US8635339B2 (en) 2011-04-27 2014-01-21 Seven Networks, Inc. Cache state management on a mobile device to preserve user experience
US8832228B2 (en) 2011-04-27 2014-09-09 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
US20120278115A1 (en) * 2011-04-27 2012-11-01 International Business Machines Corporation Method and Apparatus for Leveraging Social Media for Pro-Active Customer Notification
US8621075B2 (en) 2011-04-27 2013-12-31 Seven Metworks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US8984581B2 (en) 2011-07-27 2015-03-17 Seven Networks, Inc. Monitoring mobile application activities for malicious traffic on a mobile device
US9239800B2 (en) 2011-07-27 2016-01-19 Seven Networks, Llc Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
US8868753B2 (en) 2011-12-06 2014-10-21 Seven Networks, Inc. System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8977755B2 (en) 2011-12-06 2015-03-10 Seven Networks, Inc. Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
US9173128B2 (en) 2011-12-07 2015-10-27 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9208123B2 (en) 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US9021021B2 (en) 2011-12-14 2015-04-28 Seven Networks, Inc. Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system
US9131397B2 (en) 2012-01-05 2015-09-08 Seven Networks, Inc. Managing cache to prevent overloading of a wireless network due to user activity
US8909202B2 (en) 2012-01-05 2014-12-09 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
US9203864B2 (en) 2012-02-02 2015-12-01 Seven Networks, Llc Dynamic categorization of applications for network access in a mobile network
US9326189B2 (en) 2012-02-03 2016-04-26 Seven Networks, Llc User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US10263899B2 (en) 2012-04-10 2019-04-16 Seven Networks, Llc Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network
US11805441B2 (en) 2012-05-14 2023-10-31 Huawei Cloud Computing Technologies Co., Ltd. Method and system for group communication, group server, and group member device
US11071013B2 (en) 2012-05-14 2021-07-20 Huawei Technologies Co., Ltd. Method and system for group communication, group server, and group member device
US10638362B2 (en) 2012-05-14 2020-04-28 Huawei Technologies Co., Ltd. Method and system for group communication, group server, and group member device
US9924409B2 (en) * 2012-05-14 2018-03-20 Huawei Technologies Co., Ltd. Method and system for group communication, group server, and group member device
US20150009818A1 (en) * 2012-05-14 2015-01-08 Huawei Technologies Co., Ltd. Method and system for group communication, group server, and group member device
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US9307493B2 (en) 2012-12-20 2016-04-05 Seven Networks, Llc Systems and methods for application management of mobile device radio state promotion and demotion
US9271238B2 (en) 2013-01-23 2016-02-23 Seven Networks, Llc Application or context aware fast dormancy
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US11567537B2 (en) 2016-09-09 2023-01-31 Targus International Llc Systems, methods and devices for native and virtualized video in a hybrid docking station
US11023008B2 (en) 2016-09-09 2021-06-01 Targus International Llc Systems, methods and devices for native and virtualized video in a hybrid docking station
US11231448B2 (en) 2017-07-20 2022-01-25 Targus International Llc Systems, methods and devices for remote power management and discovery
US11747375B2 (en) 2017-07-20 2023-09-05 Targus International Llc Systems, methods and devices for remote power management and discovery
US11740657B2 (en) 2018-12-19 2023-08-29 Targus International Llc Display and docking apparatus for a portable electronic device
US11017334B2 (en) * 2019-01-04 2021-05-25 Targus International Llc Workspace management system utilizing smart docking station for monitoring power consumption, occupancy, and usage displayed via heat maps
US11360534B2 (en) 2019-01-04 2022-06-14 Targus Internatonal Llc Smart workspace management system
US11405588B2 (en) 2019-08-22 2022-08-02 Targus International Llc Systems and methods for participant-controlled video conferencing
US11039105B2 (en) 2019-08-22 2021-06-15 Targus International Llc Systems and methods for participant-controlled video conferencing
US11818504B2 (en) 2019-08-22 2023-11-14 Targus International Llc Systems and methods for participant-controlled video conferencing
US11614776B2 (en) 2019-09-09 2023-03-28 Targus International Llc Systems and methods for docking stations removably attachable to display apparatuses

Also Published As

Publication number Publication date
US7493390B2 (en) 2009-02-17
US20060190591A1 (en) 2006-08-24

Similar Documents

Publication Publication Date Title
US7493390B2 (en) Method and system for supporting the communication of presence information regarding one or more telephony devices
US7552204B2 (en) Method and system for supporting the communication of presence information among computing devices of a network
US20030217098A1 (en) Method and system for supporting the communication of presence information regarding one or more telephony devices
EP2013764B1 (en) Managing rich presence collections
US9942338B2 (en) User presence aggregation at a server
US8443092B2 (en) Presentity filtering for user preferences
EP2153627B1 (en) System and method for using presence information
US7953821B2 (en) Presence information providing system, and method and server thereof
US7657605B2 (en) Presence enhanced online processes
US7836088B2 (en) Relationship-based processing
US20030101247A1 (en) Method and system for configuring a computer for real-time communication
US9357026B2 (en) Presentity authorization of buddy subscription in a communication system
US20080240384A1 (en) Methods and apparatus to provide presence information
RU2477014C2 (en) Method of group annunciation in message exchange service based on session initiation protocol &#34;sip&#34;
US20080108332A1 (en) Method and system for subscribing for presence information
US8874753B2 (en) Optimized cooperation between resource list servers and presence servers
EP1594270A1 (en) A communication system for handling subscriber requests
US10637943B2 (en) System and method for composite presence subscriptions
US20100312847A1 (en) Method for authorizing a watcher by providing watcher specific information to the presentity
EP2239920B1 (en) Method, server and computer-readable medium for establishing a presence context within a presence platform
US20130007130A1 (en) Method and system for subscribing presence information, resource list server, and presence server
US20080069331A1 (en) Apparatus and method for intelligent call waiting
EP2218243B1 (en) A method of reducing size of presence messages
US20090098886A1 (en) System and method for providing presence notifications based upon watcher status
US8719906B2 (en) Reactive authorization for publications

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BOBDE, NIKHIL;BROWN, ROBERT;BUCH, JEREMY;AND OTHERS;REEL/FRAME:012902/0374

Effective date: 20020515

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001

Effective date: 20141014