US20120304091A1 - System and method for discovering and publishing of presence information on a network - Google Patents
System and method for discovering and publishing of presence information on a network Download PDFInfo
- Publication number
- US20120304091A1 US20120304091A1 US13/567,820 US201213567820A US2012304091A1 US 20120304091 A1 US20120304091 A1 US 20120304091A1 US 201213567820 A US201213567820 A US 201213567820A US 2012304091 A1 US2012304091 A1 US 2012304091A1
- Authority
- US
- United States
- Prior art keywords
- network
- users
- user interface
- graphical user
- nearby
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
Definitions
- Presence has increasingly come to the foreground of networking applications and real-time communications. Presence often refers to the ability to detect whether a user is online and available.
- An application that takes advantage of presence information is an Instant Messenger (IM) program.
- IM is a type of communications service that enables a user to create a kind of private chat room with another individual in order to communicate in real time over the Internet.
- IM is analogous to a telephone conversation, but uses text-based, not voice-based, communication.
- the instant messaging system alerts a user whenever somebody on the user's private list is online. The user may then initiate a chat session with that particular individual.
- Presence for IM and other similar applications has been limited to presence information that is directly associated with a contact already established by the user. Presence of other users outside of the user's listed contacts has been unobtainable. Other applications have allowed for discovery of what devices are on a network, but not of the users.
- the present invention is generally directed towards providing a system and method for publishing and discovery of presence information for nearby users on a network.
- a local user enables a PNM (people near me) system on their computing device
- the local user's presence is published on the network.
- Other users with a similar PNM system enabled that are nearby to the local user are able to discover the local user's presence on the network as it is published.
- the local user is also able to discover the other users on the network that have their PNM system enabled.
- the discovered presence information for nearby users is displayed such that the local user may monitor the presence of others nearby on the network.
- the PNM system provides a method for moving beyond mere discovery of devices to discovery of people on the network.
- the present invention provides a method of interaction with the members of the group without the necessity of pre-generating the contacts to establish a relationship among the project group.
- a computer-implemented method for publishing and discovering presence information on a network is provided.
- a contact is published that represents a local user on the network.
- the network is also monitored for presence of a contact representing a nearby user on the network.
- An output notifying of the presence of the nearby user on the network is produced.
- FIG. 1 illustrates an exemplary computing device that may be used according to exemplary embodiments of the present invention.
- FIG. 2 shows an alternative operating environment for a mobile device substantially for use in the present invention.
- FIG. 3 illustrates an exemplary sidebar within a desktop
- FIG. 4 illustrates a functional block diagram of a system for discovery and publication of nearby presence information on a network
- FIG. 5 illustrates another functional block diagram of a system for discovery and publication of nearby presence information on a network
- FIG. 6 illustrates exemplary file structures corresponding to a file system for storing presence information
- FIG. 7 illustrates exemplary sidebar tiles associated with publication and discovery of presence of nearby user's on a network
- FIG. 8 illustrates an exemplary state table for implementing the user interface for the publication and discovery of presence information on the network
- FIG. 9 illustrates exemplary identity verification with relation to a presence notification of a nearby user, in accordance with the present invention.
- one exemplary system for implementing the invention includes a computing device, such as computing device 100 .
- Computing device 100 may be configured as a client, a server, mobile device, or any other computing device that provides for discovering and publishing presence information.
- computing device 100 typically includes at least one processing unit 102 and system memory 104 .
- system memory 104 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two.
- System memory 104 typically includes an operating system 105 , one or more applications 106 , and may include program data 107 .
- application 106 includes a people near me application 120 . This basic configuration is illustrated in FIG. 1 by those components within dashed line 108 .
- Computing device 100 may have additional features or functionality.
- computing device 100 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape.
- additional storage is illustrated in FIG. 1 by removable storage 109 and non-removable storage 110 .
- Computer storage media may include volatile and nonvolatile, 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.
- System memory 104 , removable storage 109 and non-removable storage 110 are all examples of computer storage media.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (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 store the desired information and which can be accessed by computing device 100 . Any such computer storage media may be part of device 100 .
- Computing device 100 may also have input device(s) 112 such as keyboard, mouse, pen, voice input device, touch input device, etc.
- Output device(s) 114 such as a display, speakers, printer, etc. may also be included.
- Computing device 100 also contains communication connections 116 that allow the device to communicate with other computing devices 118 , such as over a network.
- Communication connection 116 is one example of communication media.
- Communication media may typically be embodied by 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.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- 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.
- FIG. 2 shows an alternative operating environment for a mobile device substantially for use in the present invention.
- mobile device 200 is integrated as a computing device, such as an integrated personal digital assistant (PDA) and wireless phone.
- PDA personal digital assistant
- mobile device 200 has a processor 260 , a memory 262 , a display 228 , and a keypad 232 .
- Memory 262 generally includes both volatile memory (e.g., RAM) and non-volatile memory (e.g., ROM, Flash Memory, or the like).
- Mobile device 200 includes an operating system 264 , which is resident in memory 262 and executes on processor 260 .
- Keypad 232 may be a push button numeric dialing pad (such as on a typical telephone), a multi-key keyboard (such as a conventional keyboard), or may not be included in the mobile device in deference to a touch screen or stylus.
- Display 228 may be a liquid crystal display, or any other type of display commonly used in mobile computing devices. Display 228 may be touch-sensitive, and would then also act as an input device.
- One or more application programs 266 are loaded into memory 262 and run on operating system 264 .
- application programs include phone dialer programs, e-mail programs, scheduling programs, PIM (personal information management) programs, word processing programs, spreadsheet programs, Internet browser programs, and so forth.
- application programs 266 include a people near me (PNM) application 280 .
- Mobile device 200 also includes non-volatile storage 268 within the memory 262 . Non-volatile storage 268 may be used to store persistent information which should not be lost if mobile device 200 is powered down.
- the applications 266 may use and store information in storage 268 , such as e-mail or other messages used by an e-mail application, contact information used by a PIM, appointment information used by a scheduling program, documents used by a word processing application, and the like.
- a synchronization application also resides on the mobile device and is programmed to interact with a corresponding synchronization application resident on a host computer to keep the information stored in the storage 268 synchronized with corresponding information stored at the host computer.
- Mobile device 200 has a power supply 270 , which may be implemented as one or more batteries.
- Power supply 270 might further include an external power source, such as an AC adapter or a powered docking cradle that supplements or recharges the batteries.
- Mobile device 200 is also shown with two types of external notification mechanisms: an LED 240 and an audio interface 274 . These devices may be directly coupled to power supply 270 so that when activated, they remain on for a duration dictated by the notification mechanism even though processor 260 and other components might shut down to conserve battery power. LED 240 may be programmed to remain on indefinitely until the user takes action to indicate the powered-on status of the device. Audio interface 274 is used to provide audible signals to and receive audible signals from the user. For example, audio interface 274 may be coupled to a speaker for providing audible output and to a microphone for receiving audible input, such as to facilitate a telephone conversation.
- an LED 240 may be directly coupled to power supply 270 so that when activated, they remain on for a duration dictated by the notification mechanism even though processor 260 and other components might shut down to conserve battery power.
- LED 240 may be programmed to remain on indefinitely until the user takes action to indicate the powered-on status of the device.
- Audio interface 274 is used
- Mobile device 200 also includes a radio 272 that performs the function of transmitting and receiving radio frequency communications.
- Radio 272 facilitates wireless connectivity between the mobile device 200 and the outside world, via a communications carrier or service provider. Transmissions to and from the radio 272 are conducted under control of the operating system 264 . In other words, communications received by the radio 272 may be disseminated to application programs 266 via the operating system 264 , and vice versa.
- the radio 272 allows the mobile device 200 to communicate with other computing devices, such as over a network.
- the radio 272 is one example of communication media.
- Communication media may typically be embodied by 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.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- 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.
- the present invention generally provides a system for discovering presence information of people nearby to a user, as well as publishing the user's presence to those people nearby.
- the term “nearby” means people connected within either network or physical proximity to the user. For example, people who's devices are connected within the same local area network may be considered “nearby” to one another. Also, people who's devices are connected to the same network may be considered “nearby”. Additionally, the users present on a link-local network may be considered “nearby”. Alternatively, designation of physical location may also be included in the presence information such that people in the same room are those that are considered “nearby”.
- Nearby in the present application is not limited to a single level of proximity, or require immediate closeness between the user and those people designated as “nearby”. “Nearby” may be designated for any relationship between users based upon either physical or network location of the person or their associated device (e.g., computing device, mobile device, etc.).
- FIG. 3 illustrates an exemplary sidebar within a desktop in accordance with the present invention.
- Sidebar 310 in desktop 300 includes tiles (e.g., 320 ) that provide a variety of information to the user during a computing session.
- tiles within sidebar 310 may include media information, e-mail notifications, schedule notifications, as well as other information.
- Each tile may include icons and other content that differentiates the tiles from one another.
- PNM people near me
- sidebar tile 330 that peripherally and unobtrusively provides presence information to the user.
- the exemplary PNM sidebar tile 330 includes an indicator of presence published by the user 332 , notification of presence of other users 334 , and selection to view more detailed presence information 336 .
- indicator 332 provides the alias selected by the user that is published to other users on the network.
- Notification 334 provides a dynamically updated number of the users that are currently considered nearby to the user (e.g., 23 users are nearby).
- Selection 336 provides a link to more detailed information regarding the presence of other users on the network. For example, when a user selects selection 336 , window 340 is opened to provide the user with the detailed information.
- Window 340 provides the user with more detailed information of users nearby on the network.
- the information within window 340 includes presence information along with contact information provided by a contacts application associated with the computing device.
- detailed information in window 340 may include a differentiation of those contacts that are offline and those that are online.
- Other details of the users and contacts present on the network may also be provided through window 340 .
- window 340 is a “flyout” or window that is a component of the sidebar tile.
- window 340 is produced by a contacts application and the PNM information is provided to the contacts application for inclusion within the contacts UI.
- FIG. 4 illustrates a functional block diagram of a system for discovery and publication of nearby presence information on a network in accordance with the present invention.
- System 400 includes a PNM (people near me) sidebar tile 410 (see FIG. 3 ), a rover 420 , SSDP (simple service discovery protocol) layer 430 , file system 440 , and networking layer 450 .
- Rover 420 includes PNM component 422 .
- PNM sidebar tile 410 is a user interface that provides peripheral and unobtrusive notification to a user of those people considered nearby to the user. PNM sidebar tile 410 is described in greater detail with relation to the discussions of FIGS. 7 and 8 below.
- SSDP layer 430 provides the protocol for discovering and publishing the presence information on the network.
- SSDP layer 430 is considered a subset protocol of a UPnP (universal plug and play) protocol for connectivity of devices on a network.
- UPnP is built on existing protocols and technologies. For example, UPnP uses TCP/IP, UDP/IP, and HTTP protocols as a base. In addition to these base protocols, several other protocols build on top of these to implement the various steps or phases of UPnP networking, such as SSDP.
- the form of the PNM messages transmitted and received according to SSDP layer 430 are described in greater detail with relation to FIG. 5 below.
- File system 440 provides an extensible storage location for the information regarding the presence of people nearby to the user.
- file system 440 is the WinFS file system created by Microsoft Corporation of Redmond, Wash.
- File system 440 is arranged to allow the PNM (people near me) information to be presented through more than one UI (user interface) and link the PNM information to other databases for their use.
- file system 440 may include a contacts folder, where the user's contacts are stored.
- the PNM information may be used to indicate to the user which of the contacts listed is considered nearby to the user.
- Other relationships between the PNM information and other data may also be formed to provide distribution and use of the PNM information across multiple applications.
- Networking layer 450 includes the drivers and access to the network for communication of the PNM information.
- the network may be the Internet or a private network.
- the user's presence is published via networking layer 450 while presence information of other is received through networking layer 450 .
- the structure of networking layer 450 may be any structure that allows discovery and publication of presence information in accordance with the present invention.
- PNM component 422 in rover 420 provides for coordination and communication between PNM sidebar tile 410 , SSDP layer 430 , and file system 440 .
- PNM component 422 receives events through SSDP layer 430 indicating updates to the presence information on the network.
- PNM component 422 also receives changes selected by the user regarding publication of the user's presence and changes to the display of the presence information by PNM sidebar tile 410 .
- PNM component 422 provides changes to the presence data within file system 440 in response to the changes from the PNM side bar tile 410 and SSDP layer 430 .
- FIG. 5 illustrates another functional block diagram of a system for discovery and publication of nearby presence information on a network in accordance with the present invention.
- System 500 is similar to system 400 of FIG. 4 with greater detail shown with regard to the operation of the PNM (people near me) functionality.
- System 500 includes PNM sidebar tile 502 , PNM publishing function 504 , PNM discovery function 506 , PNM persist function 508 , SSDP layer 510 , networking layer 512 , contacts user interface 514 , files system 516 , and PNM folder 518 .
- PNM sidebar tile 502 is similar to PNM sidebar tile 410 shown in FIG. 4 , and is used to allow the user to make changes to the PNM functionality and view the presence information provided by the PNM system.
- PNM sidebar tile 502 queries directly to file system 516 for the number of people nearby and the other information presented by PNM sidebar tile 502 .
- PNM sidebar tile 502 communicates with a user interface for a contacts application (e.g., contacts UI 514 ). The contacts user interface coordinates between PNM sidebar tile 502 and file system 516 to present the PNM information using contacts UI 514 .
- a contacts application e.g., contacts UI 514
- PNM publishing function 504 publishes the data about the local user on the network.
- SSDP layer 510 publishes the data as an alive packet that indicates that the local user is online, and the data includes information such as the user's display name.
- the alive packet indicates that the local user is present on the network and available. Additional information published in the alive packet includes a sharing address that resolves to the local user's machine address.
- the alive packet may include identity verification data, such as a public key and/or private key, that allows a user to verify the identity of the user that is present on the network. A process for identity verification of people nearby is discussed in greater detail below with relation to the discussion of FIG. 9 .
- a “bye-bye” message is also published by SSDP layer 510 in response to the local user selecting to disable the PNM service.
- the bye-bye message refers to a notification provided to the network that the local user's presence on the network is discontinuing.
- the maximum lifetime property is included in the cache control header of the SSDP message and refers to the number of seconds that the PNM service of the local user is valid. In one instance, the maximum lifetime property is provided in case the PNM service ends suddenly, without a bye-bye message being published. The expiration of the maximum lifetime property notifies other users that a particular user's presence on the network has timed out, and the user is no longer present. A long as the local user maintains the PNM service as enabled, alive packets are continually published on the network that renew the maximum lifetime property such that indications of the local user's presence on the network is maintained.
- the service ID uniquely identifies each of the users that are present on the network.
- PNM publishing function 504 publishes only a portion of the data that is to be provided to nearby user's on the network in message or packet form. The remaining data is instead provided to a nearby user using a dedicated port established by the local user in response to a request by nearby user. Using these methods of communication in combination to provide data to nearby users reduces the size of the packets and increases their throughput speed on the network to update presence notifications more quickly.
- Various events may also require that an alive packet be republished.
- the user may select to change their display name.
- the alive packet is republished with the changed display name but the same service ID. Accordingly, users on the network know that the change is not a new PNM presence on the network, but the same presence with a new display name.
- PNM discovery function 506 queries for the presence information related to other users nearby on the network for display to the local user.
- SSDP layer 510 receives the alive and bye-bye messages from the network and maintains a database of the users currently nearby. In response to events on the network (e.g., receipt of alive packet), SSDP layer 510 forwards the message corresponding to the event to PNM discovery function 506 .
- SSDP layer 510 also tracks the maximum lifetime property of each alive packet received and sends a notification to PNM discovery function 506 when the property expires. PNM discovery 506 forwards changes due to the events on the network to PNM persist function 508 .
- PNM persist function 508 provides instructions for changes to the data stored in file system 516 and PNM folder 518 .
- PNM folder 518 includes a list of the users that are nearby to the local user.
- PNM folder 518 may be linked with other folders in file system 516 . Exemplary folder relationships between PNM folder 518 and other folders in file system 516 are described in FIG. 6 below.
- the discussion throughout the specification and claims refers to “publishing presence information” and “publishing contacts”. These phrases and their variances refer to providing retrievable information on the network about a user on the network.
- the published information may include the alive packet referred to above, the bye-bye message, identity information, general contacts information (e.g., phone numbers, address, etc.), and any other information related to an entity or device connected to the network.
- FIG. 6 illustrates exemplary file structures corresponding to a file system for storing presence information in accordance with the present invention.
- File system 600 includes PNM folder 610 , person object 612 , and personal contacts folder 620 .
- person object 612 When the SSDP layer forwards an alive message to the PNM component of the rover (see FIG. 4 ), person object 612 is instantiated. Data from the alive message, such as the share address and display name, is populated into person object 612 . In one embodiment, verification of the data in alive message is done before population into person object 612 to ensure authenticity of the data provided. Verification prevents unauthorized browser actions due to false addresses and storage of false entries within a local user's contacts.
- person object 612 is associated with PNM folder 610 as a contact entry.
- a local user may therefore open PNM folder 610 to view all the contact entries corresponding to other users nearby.
- a process may then count the number of entries within PNM folder 610 to provide a display of the number of people nearby to the local user.
- a relationship may be generated between the contact entries in personal contacts folder 620 and the contact entries in PNM folder 610 .
- the relationship is generated when the alive message received has an associated identity verification.
- public key encryption may have been used in conjunction with the alive message to verify the identity of the source of the alive message.
- the use of public key encryption with the PNM system is described in greater detail with respect to FIG. 9 below.
- the identity of the user sending the alive message is verified as an existing entry in personal contacts folder 620 , a link is generated to that entry rather than a new person object.
- the entry in PNM folder 610 includes rich content associated with personal contacts folder 620 (e.g., addresses, phone numbers, pictures, etc.) rather than the simple person object with the display name and sharing address.
- the relationship is reciprocated with the entry in personal contacts folder 620 , such that when the entry is opened in personal contacts folder 620 the presence information is shown (e.g., display name, online status, sharing address, etc.).
- a relationship is created between the person object 612 and personal contacts folder 620 .
- the PNM contact entries are reflected within personal contacts folder 620 , but remain identified as PNM contacts according to a PNM GUID (PNM global unique identifier).
- PNM GUID PNM global unique identifier
- the PNM GUID is identified according to a PNM designator that identifies all PNM entries combined with the service ID (see discussion of FIG. 5 ). Accordingly, the PNM GUID identifies a contact entry as a PNM contact, and distinguishes each PNM contact from one another.
- a process may then count the number of contact entries within personal contacts 620 that have an associated PNM GUID to display the number of people nearby.
- Storing the PNM contacts as part of the local user's general (i.e., personal) contacts list also allows other applications to take advantage of the presence information for people nearby.
- a general contacts user interface may be used to generally view the local user's list of contacts.
- the PNM contacts are reflected in the general contacts user interface.
- Other applications e.g., contact picker dialogue
- that access personal contacts folder 620 are also able to take advantage of the presence information and display people that are nearby on the network.
- FIG. 7 illustrates exemplary sidebar tiles associated with publication and discovery of presence of nearby users on a network in accordance with the present invention.
- Three tile scenarios are shown that provide for different sidebar tiles based upon the user selections and the state of the network.
- a possible reduced view of the sidebar tile is provided (e.g., 712 ) along with a possible expanded view (e.g., 714 ).
- each expanded view e.g., 714
- Scenario 710 illustrates exemplary UI for when the PNM (people near me) service has yet to be enabled by the user.
- Reduced PNM sidebar tile 712 provides a selection to enable the service.
- Expanded PNM sidebar tile 714 provides further options regarding the display name the local user wants published and other options for configuring the PNM service.
- Scenario 720 illustrates exemplary UI for when the PNM (people near me) service has been enabled by the user.
- Reduced PNM sidebar tile 722 provides an indication of the number of people nearby and also provides a selection to view more detailed information regarding the people nearby.
- Expanded PNM sidebar tile 724 provides further options regarding the display name the local user wants published and other options for configuring the PNM service and viewing more detailed presence information.
- Scenario 730 illustrates exemplary UI for when the network is unavailable.
- Reduced PNM sidebar tile 732 provides a selection to view details of the network unavailability.
- Expanded PNM sidebar tile 734 provides the options for configuring the PNM service while also providing an option to troubleshoot the network failure.
- FIG. 8 illustrates an exemplary state table for implementing the user interface for the publication and discovery of presence information on the network in accordance with the present invention.
- Finite state machine 800 includes ten states regarding the presentation of the PNM (people near me) user interface based upon the state of the PNM service.
- the monitoring application of a mobile device is at a state 801 , indicating that neither the PNM service nor the PNM sidebar tile are enabled and the bar tile is not visible.
- state machine 800 moves to a state 802 .
- the PNM sidebar tile is in a standby mode awaiting further input from the local user.
- the input of the local user may be to disable the PNM sidebar tile. If the local user disables the PNM sidebar tile, state machine 800 moves back to state 801 . In one embodiment, when the PNM sidebar tile is enabled for the first time (i.e., state 802 is reached from state 801 ), state machine 800 moves to state 803 .
- a flyout or other external window is provided to the local user automatically, so that the local user may select initial options related to the PNM service (e.g., a display name). If the user chooses to cancel without selecting further options, state machine 800 reverts to state 802 . However, if the user chooses to select options for the PNM service, state machine 800 advances to state 804 .
- state 803 is not included and the options are not provided. The local user may then select to enable the PNM service and the state moves directly from state 802 to state 804 .
- State 804 is included among the states ( 804 , 805 , 806 , 807 ) that are within state region 820 .
- State region 820 represents when the PNM service is being enabled or has been enabled.
- the PNM service is being enabled. If the enabling process is successful, state machine 800 moves to state 805 where the PNM service is enabled and the people nearby are displayed to the user. However, if no network is found during the enabling process, state machine 800 moves to state 806 .
- a waiting cycle is entered where the PNM system waits for the network to return.
- State 806 may also be reached from state 805 when a network failure occurs while the PNM service is enabled.
- state machine 800 moves to state 805 where the PNM is enabled and displaying the people nearby.
- a connection to the rover may not be established.
- the rover includes code for implementing the PNM service. If the rover is not reached after a specified count (e.g., 12 seconds), then state machine 800 moves from state 804 to state 807 . At state 807 , the enabling process waits 5 seconds and then returns to state 804 to retry a connection to the rover.
- an error may occur during the enabling process that is critical enough to prevent the PNM service from operating correctly.
- the state moves from state 804 to state 808 .
- the local is notified of the critical error and that the PNM service cannot proceed. The local user may then select to disable the PNM sidebar tile and state machine 800 moves back to state 801 .
- state machine 800 moves back to state 802 where the PNM sidebar tile is in a standby mode awaiting further input from the local user.
- state machine 800 moves to state 810 .
- the effected systems and folders e.g., contacts folder
- the PNM sidebar tile is disabled, moving state machine 800 back to state 801 .
- the SSDP layer is instructed to discontinue publishing the local user's presence and discovering the presence information of other nearby user's on the network.
- FIG. 9 illustrates exemplary identity verification with relation to a presence notification of a nearby user, in accordance with the present invention.
- user 1 has a set of elements 910 associated with a presence notification (i.e., alive packet).
- a public key (Pu 1 ) 911 and private key (Pr 1 ) 912 are associated with user 1 .
- Data (D) is sent in the presence notification that includes display name 913 , sharing address 914 , timestamp 915 , and hash(Pu 1 +salt) 916 .
- Data (D) is signed with the private key (Pr 1 ) 911 so that data (D) has an associated signature S 1 (D) 917 .
- Display Name 913 and sharing address 914 are optionally included in the presence notification to allow a local user to publish a name to nearby users that do not know the local user and to notify nearby user that the local user has shared information.
- Timestamp 915 is included to provide a interval of time that the signature S 1 (D) is valid.
- Hash(Pu 1 +salt) 916 is also optionally included.
- Hash(Pu 1 +salt) 916 is a hashed version of public key (Pu 1 ) 911 along with an amount of random data referred to as “salt”. The salt is also published in data (D) when salt is included in the hash.
- Hashing public key (Pu 1 ) 911 ensures that a third party is not able to monitor the public keys as they are transferred between users.
- a third party viewing a hashed public key sees only random data that is not coherent as a public key.
- the addition of salt to hashed public key allows the public key to be further obfuscated and assists in preventing tracking of the public key.
- Hashing public key (Pu 1 ) 911 also provides for narrowing down the identity of the user publishing data (D). Without the hashed public key, it may be necessary to try the public key of each contact to determine who signed data (D). With the published hashed public key, the contacts may first be queried for the contacts with a public key that hashes to match Hash(Pu 1 +salt) 916 . Publishing Hash(Pu 1 +salt) 916 therefore allows the results to be narrowed, increasing the speed of the verification process.
- public key (Pu 1 ) 910 is not hashed or instead hashed without the salt (e.g., a random reordering of the public key bits).
- public key (Pu 1 ) 911 is also generated and associated with private key (Pr 1 ) 912 .
- User 1 is then able to send public key (Pu 1 ) 911 to user 2 .
- user 1 With the disseminated public key, user 1 is able to sign a set of data (e.g., D) with private key (Pr 1 ) 912 , such data includes signature S 1 (D) 917 . Accordingly, only users that have public key (Pu 1 ) 911 associated with user 1 (e.g., user 2 ) are able to view the data signed with private key (Pr 1 ) 912 if the data was encrypted.
- signature S 1 (D) still proves that data (D) was not tampered with and that data (D) originated from user 1 , thereby proving the identity of user 1 .
- public key (Pu 1 ) 911 user 2 is able generate an equivalent hash of the public key (e.g., Hash(Pu 1 +salt) 921 ) to compare with the original hash of the public key (e.g., Hash(Pu 1 +salt) 916 ).
- Hash(Pu 1 +salt) 921 the original hash of the public key
- Signature S 1 (D) 917 prevents a malicious user from attempting to republish the data published by user 1 on another network by changing sharing address 914 .
- An attempted change to sharing address 914 breaks signature S 1 (D) 917 so that a user receiving the malicious rebroadcast is notified that data is not verified. Furthermore, the malicious user is prevented from resigning the data since they do not have private key (Pr 1 ) 912 .
- Timestamp 915 causes signature S 1 (D) 917 to be valid for specified period of time. When the period of time expires, so does the identity verification. Timestamp 915 prevents malicious users from rebroadcasting the data without changes once a particular period of time has passed. Other users receiving this data once the period of time has expired simply ignore the data since timestamp 915 has expired.
- the data transferred corresponding to the presence of user 1 nearby on the network is not encrypted even though public key infrastructure (PK 1 ) is used. Instead, the use of public and private keys is limited to verification of the identity of a user as the source of the data. The data sent is written in plain text and therefore viewable, but the public key encryption verifies the identity of the user for which that data is published.
- PK 1 public key infrastructure
- a richer data set may be provided to the user, improving the display of the PNM information to the user.
Abstract
A system and method is provided for publication and discovery of the presence of nearby users on a network. When the system is enabled, the presence of the local user is published on the network. Nearby users that also have a similar system enabled can discover the local user's presence on the network. Furthermore, the local user may discovery the presence of the other nearby users that are currently publishing their presence on the network.
Description
- This application is a continuation of and claims priority to application Ser. No. 10/836,566, filed May 1, 2004, entitled SYSTEMS AND METHOD FOR DISCOVERY AND PUBLISHING OF PRESENCE INFORMATION ON A NETWORK, indicated to be granted as U.S. Pat. No. 8,239,452, on Aug. 7, 2012, which is hereby incorporated in its entirety by reference.
- The concept of presence has increasingly come to the foreground of networking applications and real-time communications. Presence often refers to the ability to detect whether a user is online and available. One example of an application that takes advantage of presence information is an Instant Messenger (IM) program. An IM program provides a method for a user to send instant messages to other IM users on the Internet or on a network. IM is a type of communications service that enables a user to create a kind of private chat room with another individual in order to communicate in real time over the Internet. IM is analogous to a telephone conversation, but uses text-based, not voice-based, communication. Typically, the instant messaging system alerts a user whenever somebody on the user's private list is online. The user may then initiate a chat session with that particular individual.
- However, presence for IM and other similar applications has been limited to presence information that is directly associated with a contact already established by the user. Presence of other users outside of the user's listed contacts has been unobtainable. Other applications have allowed for discovery of what devices are on a network, but not of the users.
- The present invention is generally directed towards providing a system and method for publishing and discovery of presence information for nearby users on a network. In accordance with the present invention when a local user enables a PNM (people near me) system on their computing device, the local user's presence is published on the network. Other users with a similar PNM system enabled that are nearby to the local user are able to discover the local user's presence on the network as it is published. Furthermore, the local user is also able to discover the other users on the network that have their PNM system enabled. The discovered presence information for nearby users is displayed such that the local user may monitor the presence of others nearby on the network. The PNM system provides a method for moving beyond mere discovery of devices to discovery of people on the network. For businesses that usually have a project group working together in close proximity to each other, the present invention provides a method of interaction with the members of the group without the necessity of pre-generating the contacts to establish a relationship among the project group.
- In accordance with one aspect of the present invention, a computer-implemented method for publishing and discovering presence information on a network is provided. A contact is published that represents a local user on the network. The network is also monitored for presence of a contact representing a nearby user on the network. An output notifying of the presence of the nearby user on the network is produced.
-
FIG. 1 illustrates an exemplary computing device that may be used according to exemplary embodiments of the present invention. -
FIG. 2 shows an alternative operating environment for a mobile device substantially for use in the present invention. -
FIG. 3 illustrates an exemplary sidebar within a desktop; -
FIG. 4 illustrates a functional block diagram of a system for discovery and publication of nearby presence information on a network; -
FIG. 5 illustrates another functional block diagram of a system for discovery and publication of nearby presence information on a network; -
FIG. 6 illustrates exemplary file structures corresponding to a file system for storing presence information; -
FIG. 7 illustrates exemplary sidebar tiles associated with publication and discovery of presence of nearby user's on a network; -
FIG. 8 illustrates an exemplary state table for implementing the user interface for the publication and discovery of presence information on the network; and -
FIG. 9 illustrates exemplary identity verification with relation to a presence notification of a nearby user, in accordance with the present invention. - The present invention now will be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific exemplary embodiments for practicing the invention. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Among other things, the present invention may be embodied as methods or devices. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. The following detailed description is, therefore, not to be taken in a limiting sense.
- With reference to
FIG. 1 , one exemplary system for implementing the invention includes a computing device, such ascomputing device 100.Computing device 100 may be configured as a client, a server, mobile device, or any other computing device that provides for discovering and publishing presence information. In a very basic configuration,computing device 100 typically includes at least oneprocessing unit 102 andsystem memory 104. Depending on the exact configuration and type of computing device,system memory 104 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two.System memory 104 typically includes anoperating system 105, one ormore applications 106, and may includeprogram data 107. In one embodiment,application 106 includes a people near meapplication 120. This basic configuration is illustrated inFIG. 1 by those components withindashed line 108. -
Computing device 100 may have additional features or functionality. For example,computing device 100 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated inFIG. 1 byremovable storage 109 andnon-removable storage 110. Computer storage media may include volatile and nonvolatile, 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.System memory 104,removable storage 109 andnon-removable storage 110 are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (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 store the desired information and which can be accessed bycomputing device 100. Any such computer storage media may be part ofdevice 100.Computing device 100 may also have input device(s) 112 such as keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 114 such as a display, speakers, printer, etc. may also be included. -
Computing device 100 also containscommunication connections 116 that allow the device to communicate withother computing devices 118, such as over a network.Communication connection 116 is one example of communication media. Communication media may typically be embodied by 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. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. 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. -
FIG. 2 shows an alternative operating environment for a mobile device substantially for use in the present invention. In one embodiment of the present invention,mobile device 200 is integrated as a computing device, such as an integrated personal digital assistant (PDA) and wireless phone. - In this embodiment,
mobile device 200 has aprocessor 260, amemory 262, adisplay 228, and akeypad 232.Memory 262 generally includes both volatile memory (e.g., RAM) and non-volatile memory (e.g., ROM, Flash Memory, or the like).Mobile device 200 includes anoperating system 264, which is resident inmemory 262 and executes onprocessor 260.Keypad 232 may be a push button numeric dialing pad (such as on a typical telephone), a multi-key keyboard (such as a conventional keyboard), or may not be included in the mobile device in deference to a touch screen or stylus.Display 228 may be a liquid crystal display, or any other type of display commonly used in mobile computing devices.Display 228 may be touch-sensitive, and would then also act as an input device. - One or
more application programs 266 are loaded intomemory 262 and run onoperating system 264. Examples of application programs include phone dialer programs, e-mail programs, scheduling programs, PIM (personal information management) programs, word processing programs, spreadsheet programs, Internet browser programs, and so forth. In one embodiment,application programs 266 include a people near me (PNM)application 280.Mobile device 200 also includesnon-volatile storage 268 within thememory 262.Non-volatile storage 268 may be used to store persistent information which should not be lost ifmobile device 200 is powered down. Theapplications 266 may use and store information instorage 268, such as e-mail or other messages used by an e-mail application, contact information used by a PIM, appointment information used by a scheduling program, documents used by a word processing application, and the like. A synchronization application also resides on the mobile device and is programmed to interact with a corresponding synchronization application resident on a host computer to keep the information stored in thestorage 268 synchronized with corresponding information stored at the host computer. -
Mobile device 200 has apower supply 270, which may be implemented as one or more batteries.Power supply 270 might further include an external power source, such as an AC adapter or a powered docking cradle that supplements or recharges the batteries. -
Mobile device 200 is also shown with two types of external notification mechanisms: anLED 240 and anaudio interface 274. These devices may be directly coupled topower supply 270 so that when activated, they remain on for a duration dictated by the notification mechanism even thoughprocessor 260 and other components might shut down to conserve battery power.LED 240 may be programmed to remain on indefinitely until the user takes action to indicate the powered-on status of the device.Audio interface 274 is used to provide audible signals to and receive audible signals from the user. For example,audio interface 274 may be coupled to a speaker for providing audible output and to a microphone for receiving audible input, such as to facilitate a telephone conversation. -
Mobile device 200 also includes aradio 272 that performs the function of transmitting and receiving radio frequency communications.Radio 272 facilitates wireless connectivity between themobile device 200 and the outside world, via a communications carrier or service provider. Transmissions to and from theradio 272 are conducted under control of theoperating system 264. In other words, communications received by theradio 272 may be disseminated toapplication programs 266 via theoperating system 264, and vice versa. - The
radio 272 allows themobile device 200 to communicate with other computing devices, such as over a network. Theradio 272 is one example of communication media. Communication media may typically be embodied by 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. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. 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. - The present invention generally provides a system for discovering presence information of people nearby to a user, as well as publishing the user's presence to those people nearby. As used herein, the term “nearby” means people connected within either network or physical proximity to the user. For example, people who's devices are connected within the same local area network may be considered “nearby” to one another. Also, people who's devices are connected to the same network may be considered “nearby”. Additionally, the users present on a link-local network may be considered “nearby”. Alternatively, designation of physical location may also be included in the presence information such that people in the same room are those that are considered “nearby”. The use of “nearby” in the present application is not limited to a single level of proximity, or require immediate closeness between the user and those people designated as “nearby”. “Nearby” may be designated for any relationship between users based upon either physical or network location of the person or their associated device (e.g., computing device, mobile device, etc.).
-
FIG. 3 illustrates an exemplary sidebar within a desktop in accordance with the present invention.Sidebar 310 indesktop 300 includes tiles (e.g., 320) that provide a variety of information to the user during a computing session. For example, tiles withinsidebar 310 may include media information, e-mail notifications, schedule notifications, as well as other information. Each tile may include icons and other content that differentiates the tiles from one another. Also included in accordance with the present invention, is PNM (people near me)sidebar tile 330, that peripherally and unobtrusively provides presence information to the user. - The exemplary
PNM sidebar tile 330 includes an indicator of presence published by theuser 332, notification of presence ofother users 334, and selection to view moredetailed presence information 336. In this example,indicator 332 provides the alias selected by the user that is published to other users on the network.Notification 334 provides a dynamically updated number of the users that are currently considered nearby to the user (e.g., 23 users are nearby).Selection 336 provides a link to more detailed information regarding the presence of other users on the network. For example, when a user selectsselection 336,window 340 is opened to provide the user with the detailed information. -
Window 340 provides the user with more detailed information of users nearby on the network. In one embodiment, the information withinwindow 340 includes presence information along with contact information provided by a contacts application associated with the computing device. For example, detailed information inwindow 340 may include a differentiation of those contacts that are offline and those that are online. Other details of the users and contacts present on the network may also be provided throughwindow 340. In one embodiment,window 340 is a “flyout” or window that is a component of the sidebar tile. In another embodiment,window 340 is produced by a contacts application and the PNM information is provided to the contacts application for inclusion within the contacts UI. -
FIG. 4 illustrates a functional block diagram of a system for discovery and publication of nearby presence information on a network in accordance with the present invention.System 400 includes a PNM (people near me) sidebar tile 410 (seeFIG. 3 ), arover 420, SSDP (simple service discovery protocol)layer 430,file system 440, andnetworking layer 450.Rover 420 includesPNM component 422. -
PNM sidebar tile 410 is a user interface that provides peripheral and unobtrusive notification to a user of those people considered nearby to the user.PNM sidebar tile 410 is described in greater detail with relation to the discussions ofFIGS. 7 and 8 below. -
SSDP layer 430 provides the protocol for discovering and publishing the presence information on the network.SSDP layer 430 is considered a subset protocol of a UPnP (universal plug and play) protocol for connectivity of devices on a network. UPnP is built on existing protocols and technologies. For example, UPnP uses TCP/IP, UDP/IP, and HTTP protocols as a base. In addition to these base protocols, several other protocols build on top of these to implement the various steps or phases of UPnP networking, such as SSDP. The form of the PNM messages transmitted and received according toSSDP layer 430 are described in greater detail with relation toFIG. 5 below. -
File system 440 provides an extensible storage location for the information regarding the presence of people nearby to the user. In one embodiment,file system 440 is the WinFS file system created by Microsoft Corporation of Redmond, Wash.File system 440 is arranged to allow the PNM (people near me) information to be presented through more than one UI (user interface) and link the PNM information to other databases for their use. For example,file system 440 may include a contacts folder, where the user's contacts are stored. The PNM information may be used to indicate to the user which of the contacts listed is considered nearby to the user. Other relationships between the PNM information and other data may also be formed to provide distribution and use of the PNM information across multiple applications. -
Networking layer 450 includes the drivers and access to the network for communication of the PNM information. The network may be the Internet or a private network. The user's presence is published vianetworking layer 450 while presence information of other is received throughnetworking layer 450. The structure ofnetworking layer 450 may be any structure that allows discovery and publication of presence information in accordance with the present invention. -
PNM component 422 inrover 420 provides for coordination and communication betweenPNM sidebar tile 410,SSDP layer 430, andfile system 440.PNM component 422 receives events throughSSDP layer 430 indicating updates to the presence information on the network.PNM component 422 also receives changes selected by the user regarding publication of the user's presence and changes to the display of the presence information byPNM sidebar tile 410.PNM component 422 provides changes to the presence data withinfile system 440 in response to the changes from the PNMside bar tile 410 andSSDP layer 430. -
FIG. 5 illustrates another functional block diagram of a system for discovery and publication of nearby presence information on a network in accordance with the present invention.System 500 is similar tosystem 400 ofFIG. 4 with greater detail shown with regard to the operation of the PNM (people near me) functionality.System 500 includesPNM sidebar tile 502,PNM publishing function 504,PNM discovery function 506, PNM persistfunction 508,SSDP layer 510,networking layer 512,contacts user interface 514,files system 516, andPNM folder 518. -
PNM sidebar tile 502 is similar toPNM sidebar tile 410 shown inFIG. 4 , and is used to allow the user to make changes to the PNM functionality and view the presence information provided by the PNM system. In the example shown,PNM sidebar tile 502 queries directly tofile system 516 for the number of people nearby and the other information presented byPNM sidebar tile 502. In another embodiment,PNM sidebar tile 502 communicates with a user interface for a contacts application (e.g., contacts UI 514). The contacts user interface coordinates betweenPNM sidebar tile 502 andfile system 516 to present the PNM information usingcontacts UI 514. -
PNM publishing function 504 publishes the data about the local user on the network.SSDP layer 510 publishes the data as an alive packet that indicates that the local user is online, and the data includes information such as the user's display name. The alive packet indicates that the local user is present on the network and available. Additional information published in the alive packet includes a sharing address that resolves to the local user's machine address. In an additional embodiment, the alive packet may include identity verification data, such as a public key and/or private key, that allows a user to verify the identity of the user that is present on the network. A process for identity verification of people nearby is discussed in greater detail below with relation to the discussion ofFIG. 9 . - A “bye-bye” message is also published by
SSDP layer 510 in response to the local user selecting to disable the PNM service. The bye-bye message refers to a notification provided to the network that the local user's presence on the network is discontinuing. - Additionally, other information related to the SSDP protocol is also published, such as a maximum lifetime property. The maximum lifetime property is included in the cache control header of the SSDP message and refers to the number of seconds that the PNM service of the local user is valid. In one instance, the maximum lifetime property is provided in case the PNM service ends suddenly, without a bye-bye message being published. The expiration of the maximum lifetime property notifies other users that a particular user's presence on the network has timed out, and the user is no longer present. A long as the local user maintains the PNM service as enabled, alive packets are continually published on the network that renew the maximum lifetime property such that indications of the local user's presence on the network is maintained.
- Also published in the cache control header of the SSDP alive packet and bye-bye message is a service ID. The service ID uniquely identifies each of the users that are present on the network.
- In an alternative embodiment,
PNM publishing function 504 publishes only a portion of the data that is to be provided to nearby user's on the network in message or packet form. The remaining data is instead provided to a nearby user using a dedicated port established by the local user in response to a request by nearby user. Using these methods of communication in combination to provide data to nearby users reduces the size of the packets and increases their throughput speed on the network to update presence notifications more quickly. - Various events may also require that an alive packet be republished. For example, the user may select to change their display name. The alive packet is republished with the changed display name but the same service ID. Accordingly, users on the network know that the change is not a new PNM presence on the network, but the same presence with a new display name.
-
PNM discovery function 506 queries for the presence information related to other users nearby on the network for display to the local user.SSDP layer 510 receives the alive and bye-bye messages from the network and maintains a database of the users currently nearby. In response to events on the network (e.g., receipt of alive packet),SSDP layer 510 forwards the message corresponding to the event toPNM discovery function 506. In one embodiment,SSDP layer 510 also tracks the maximum lifetime property of each alive packet received and sends a notification toPNM discovery function 506 when the property expires.PNM discovery 506 forwards changes due to the events on the network to PNM persistfunction 508. - PNM persist
function 508 provides instructions for changes to the data stored infile system 516 andPNM folder 518. In one embodiment,PNM folder 518 includes a list of the users that are nearby to the local user.PNM folder 518 may be linked with other folders infile system 516. Exemplary folder relationships betweenPNM folder 518 and other folders infile system 516 are described inFIG. 6 below. - The discussion throughout the specification and claims refers to “publishing presence information” and “publishing contacts”. These phrases and their variances refer to providing retrievable information on the network about a user on the network. The published information may include the alive packet referred to above, the bye-bye message, identity information, general contacts information (e.g., phone numbers, address, etc.), and any other information related to an entity or device connected to the network.
-
FIG. 6 illustrates exemplary file structures corresponding to a file system for storing presence information in accordance with the present invention.File system 600 includesPNM folder 610,person object 612, andpersonal contacts folder 620. - When the SSDP layer forwards an alive message to the PNM component of the rover (see
FIG. 4 ), person object 612 is instantiated. Data from the alive message, such as the share address and display name, is populated intoperson object 612. In one embodiment, verification of the data in alive message is done before population intoperson object 612 to ensure authenticity of the data provided. Verification prevents unauthorized browser actions due to false addresses and storage of false entries within a local user's contacts. - In one embodiment, person object 612 is associated with
PNM folder 610 as a contact entry. A local user may therefore openPNM folder 610 to view all the contact entries corresponding to other users nearby. Furthermore, a process may then count the number of entries withinPNM folder 610 to provide a display of the number of people nearby to the local user. - In another embodiment, a relationship may be generated between the contact entries in
personal contacts folder 620 and the contact entries inPNM folder 610. The relationship is generated when the alive message received has an associated identity verification. For example, public key encryption may have been used in conjunction with the alive message to verify the identity of the source of the alive message. The use of public key encryption with the PNM system is described in greater detail with respect toFIG. 9 below. When the identity of the user sending the alive message is verified as an existing entry inpersonal contacts folder 620, a link is generated to that entry rather than a new person object. Accordingly, the entry inPNM folder 610 includes rich content associated with personal contacts folder 620 (e.g., addresses, phone numbers, pictures, etc.) rather than the simple person object with the display name and sharing address. Additionally, the relationship is reciprocated with the entry inpersonal contacts folder 620, such that when the entry is opened inpersonal contacts folder 620 the presence information is shown (e.g., display name, online status, sharing address, etc.). - In yet another embodiment, a relationship is created between the
person object 612 andpersonal contacts folder 620. With the relationship, the PNM contact entries are reflected withinpersonal contacts folder 620, but remain identified as PNM contacts according to a PNM GUID (PNM global unique identifier). In one instance, the PNM GUID is identified according to a PNM designator that identifies all PNM entries combined with the service ID (see discussion ofFIG. 5 ). Accordingly, the PNM GUID identifies a contact entry as a PNM contact, and distinguishes each PNM contact from one another. A process may then count the number of contact entries withinpersonal contacts 620 that have an associated PNM GUID to display the number of people nearby. Furthermore, uniquely identifying the PNM entries allowspersonal contacts folder 620 to remove the PNM entries when the local user selects to disable the PNM service.File system 600 is therefore synchronizes with the presence of people nearby on the network, sincepersonal contacts folder 620 may be updated as people move on and off the network and the local user enables and disables the PNM service. - Storing the PNM contacts as part of the local user's general (i.e., personal) contacts list also allows other applications to take advantage of the presence information for people nearby. For example, a general contacts user interface may be used to generally view the local user's list of contacts. By populating
personal contacts folder 620 with the PNM contacts, the PNM contacts are reflected in the general contacts user interface. Other applications (e.g., contact picker dialogue) that accesspersonal contacts folder 620 are also able to take advantage of the presence information and display people that are nearby on the network. -
FIG. 7 illustrates exemplary sidebar tiles associated with publication and discovery of presence of nearby users on a network in accordance with the present invention. Three tile scenarios are shown that provide for different sidebar tiles based upon the user selections and the state of the network. In each scenario a possible reduced view of the sidebar tile is provided (e.g., 712) along with a possible expanded view (e.g., 714). In another embodiment, each expanded view (e.g., 714) may be a flyout or separate window that is generated rather than within the sidebar itself. -
Scenario 710 illustrates exemplary UI for when the PNM (people near me) service has yet to be enabled by the user. ReducedPNM sidebar tile 712 provides a selection to enable the service. ExpandedPNM sidebar tile 714 provides further options regarding the display name the local user wants published and other options for configuring the PNM service. -
Scenario 720 illustrates exemplary UI for when the PNM (people near me) service has been enabled by the user. ReducedPNM sidebar tile 722 provides an indication of the number of people nearby and also provides a selection to view more detailed information regarding the people nearby. ExpandedPNM sidebar tile 724 provides further options regarding the display name the local user wants published and other options for configuring the PNM service and viewing more detailed presence information. -
Scenario 730 illustrates exemplary UI for when the network is unavailable. ReducedPNM sidebar tile 732 provides a selection to view details of the network unavailability. ExpandedPNM sidebar tile 734 provides the options for configuring the PNM service while also providing an option to troubleshoot the network failure. -
FIG. 8 illustrates an exemplary state table for implementing the user interface for the publication and discovery of presence information on the network in accordance with the present invention.Finite state machine 800 includes ten states regarding the presentation of the PNM (people near me) user interface based upon the state of the PNM service. - Initially, the monitoring application of a mobile device is at a
state 801, indicating that neither the PNM service nor the PNM sidebar tile are enabled and the bar tile is not visible. When the PNM sidebar tile is enabled,state machine 800 moves to astate 802. - At
state 802, the PNM sidebar tile is in a standby mode awaiting further input from the local user. The input of the local user may be to disable the PNM sidebar tile. If the local user disables the PNM sidebar tile,state machine 800 moves back tostate 801. In one embodiment, when the PNM sidebar tile is enabled for the first time (i.e.,state 802 is reached from state 801),state machine 800 moves tostate 803. - At
state 803, a flyout or other external window is provided to the local user automatically, so that the local user may select initial options related to the PNM service (e.g., a display name). If the user chooses to cancel without selecting further options,state machine 800 reverts tostate 802. However, if the user chooses to select options for the PNM service,state machine 800 advances tostate 804. - In an alternative embodiment,
state 803 is not included and the options are not provided. The local user may then select to enable the PNM service and the state moves directly fromstate 802 tostate 804. -
State 804 is included among the states (804, 805, 806, 807) that are withinstate region 820.State region 820 represents when the PNM service is being enabled or has been enabled. Atstate 804, the PNM service is being enabled. If the enabling process is successful,state machine 800 moves tostate 805 where the PNM service is enabled and the people nearby are displayed to the user. However, if no network is found during the enabling process,state machine 800 moves tostate 806. - At
state 806, a waiting cycle is entered where the PNM system waits for the network to return.State 806 may also be reached fromstate 805 when a network failure occurs while the PNM service is enabled. When the network is again available,state machine 800 moves tostate 805 where the PNM is enabled and displaying the people nearby. - While the PNM service is being enabled at
state 804, a connection to the rover (seeFIG. 4 ) may not be established. As previously described, the rover includes code for implementing the PNM service. If the rover is not reached after a specified count (e.g., 12 seconds), thenstate machine 800 moves fromstate 804 tostate 807. Atstate 807, the enabling process waits 5 seconds and then returns tostate 804 to retry a connection to the rover. - In certain circumstances, an error may occur during the enabling process that is critical enough to prevent the PNM service from operating correctly. When a critical error occurs, the state moves from
state 804 tostate 808. Atstate 808, the local is notified of the critical error and that the PNM service cannot proceed. The local user may then select to disable the PNM sidebar tile andstate machine 800 moves back tostate 801. - At any one of the states within
state region 820, the user may select to cancel a current operation. Canceling the current operation, discontinues the enablement or disables the PNM service. With the PNM service disabled,state machine 800 moves back tostate 802 where the PNM sidebar tile is in a standby mode awaiting further input from the local user. - Additionally, at any one of the states within
state region 820, the user may select to close the PNM sidebar tile or the sidebar itself. If the user makes a selection to disable the PNM sidebar tile or the sidebar,state machine 800 moves tostate 810. Atstate 810, the effected systems and folders (e.g., contacts folder) are cleaned up and the PNM sidebar tile is disabled, movingstate machine 800 back tostate 801. In one embodiment, when the system is cleaned up, the instances of PNM contacts and other PNM data are removed from the file system. Also, the SSDP layer (seeFIG. 4 ) is instructed to discontinue publishing the local user's presence and discovering the presence information of other nearby user's on the network. -
FIG. 9 illustrates exemplary identity verification with relation to a presence notification of a nearby user, in accordance with the present invention. For identity verification, user 1 has a set ofelements 910 associated with a presence notification (i.e., alive packet). A public key (Pu1) 911 and private key (Pr1) 912 are associated with user 1. Data (D) is sent in the presence notification that includesdisplay name 913, sharingaddress 914,timestamp 915, and hash(Pu1+salt) 916. Data (D) is signed with the private key (Pr1) 911 so that data (D) has an associated signature S1(D) 917. -
Display Name 913 and sharingaddress 914 are optionally included in the presence notification to allow a local user to publish a name to nearby users that do not know the local user and to notify nearby user that the local user has shared information.Timestamp 915 is included to provide a interval of time that the signature S1(D) is valid. Hash(Pu1+salt) 916 is also optionally included. Hash(Pu1+salt) 916 is a hashed version of public key (Pu1) 911 along with an amount of random data referred to as “salt”. The salt is also published in data (D) when salt is included in the hash. Hashing public key (Pu1) 911 ensures that a third party is not able to monitor the public keys as they are transferred between users. A third party viewing a hashed public key sees only random data that is not coherent as a public key. The addition of salt to hashed public key allows the public key to be further obfuscated and assists in preventing tracking of the public key. Hashing public key (Pu1) 911 also provides for narrowing down the identity of the user publishing data (D). Without the hashed public key, it may be necessary to try the public key of each contact to determine who signed data (D). With the published hashed public key, the contacts may first be queried for the contacts with a public key that hashes to match Hash(Pu1+salt) 916. Publishing Hash(Pu1+salt) 916 therefore allows the results to be narrowed, increasing the speed of the verification process. In other embodiments, public key (Pu1) 910 is not hashed or instead hashed without the salt (e.g., a random reordering of the public key bits). - When user 1 generates private key (Pr1) 912, public key (Pu1) 911 is also generated and associated with private key (Pr1) 912. User 1 is then able to send public key (Pu1) 911 to
user 2. With the disseminated public key, user 1 is able to sign a set of data (e.g., D) with private key (Pr1) 912, such data includes signature S1(D) 917. Accordingly, only users that have public key (Pu1) 911 associated with user 1 (e.g., user 2) are able to view the data signed with private key (Pr1) 912 if the data was encrypted. Regardless of the encryption used, signature S1(D) still proves that data (D) was not tampered with and that data (D) originated from user 1, thereby proving the identity of user 1. For example, with public key (Pu1) 911,user 2 is able generate an equivalent hash of the public key (e.g., Hash(Pu1+salt) 921) to compare with the original hash of the public key (e.g., Hash(Pu1+salt) 916). When the hashes match (and the data was encrypted),user 2 knows thatdisplay name 913, sharingaddress 914, andtimestamp 915 indeed originated from user 1 rather than a malicious user. - Signature S1(D) 917 prevents a malicious user from attempting to republish the data published by user 1 on another network by changing
sharing address 914. An attempted change to sharingaddress 914 breaks signature S1(D) 917 so that a user receiving the malicious rebroadcast is notified that data is not verified. Furthermore, the malicious user is prevented from resigning the data since they do not have private key (Pr1) 912. - Additionally, the inclusion of
timestamp 915 causes signature S1(D) 917 to be valid for specified period of time. When the period of time expires, so does the identity verification.Timestamp 915 prevents malicious users from rebroadcasting the data without changes once a particular period of time has passed. Other users receiving this data once the period of time has expired simply ignore the data sincetimestamp 915 has expired. - In one embodiment of the present invention, the data transferred corresponding to the presence of user 1 nearby on the network is not encrypted even though public key infrastructure (PK1) is used. Instead, the use of public and private keys is limited to verification of the identity of a user as the source of the data. The data sent is written in plain text and therefore viewable, but the public key encryption verifies the identity of the user for which that data is published.
- As stated previously with relation to
FIG. 6 above, once the identity of the user publishing the data is verified as an existing contact, a richer data set may be provided to the user, improving the display of the PNM information to the user. - The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
Claims (20)
1. A method for displaying presence information, comprising:
displaying a graphical user interface that displays presence information on a display of a computing device;
presenting an option within the graphical user interface to input an alias that is published to other users on a network;
populating the graphical user interface with a number of nearby users on the network as determined by monitoring for presence of contacts representing the nearby users on the network that are within a determined proximity to a local user; and
when determined, displaying more detailed information relating to the number of users nearby that comprises presence information along with contact information provided by a contacts application associated with the computing device.
2. The method of claim 1 , wherein presenting the option within the graphical user interface to input the alias that is published to other users on a network comprises in response to receiving an entry of the alias within the graphical user interface publishing the alias to the other users on the network.
3. The method of claim 1 , further comprising displaying a selection within the graphical user interface that when selected displays the more detailed information relating to the number of users.
4. The method of claim 1 , wherein populating the graphical user interface with the number of nearby users on the network comprises dynamically updating the number of nearby users.
5. The method of claim 1 , wherein displaying more detailed information relating to the number of users comprises displaying the more detailed information in a different window from the display of the number of nearby users.
6. The method of claim 1 , wherein populating the graphical user interface with the number of nearby users on the network as determined by monitoring for presence of contacts representing the nearby users on the network that are within a determined proximity to a local user occurs in response to a selection of a start selection.
7. The method of claim 1 , further comprising displaying an indication of when the network is unavailable and an option to troubleshoot the network within the graphical user interface.
8. The method of claim 1 , further comprising associating a lifetime property that indicates a predetermined period of time of how long the alias of is published to the other users on the network.
9. The method of claim 1 , wherein monitoring for presence of contacts representing the nearby users on the network that are within the determined proximity comprises monitoring for alive messages sent from other computing devices.
10. A computer-readable storage medium that includes computer-executable instructions for displaying presence information, comprising:
displaying a graphical user interface that displays presence information;
populating the graphical user interface with a number of nearby users on the network as determined by monitoring for presence of contacts representing the nearby users on the network that are within a determined proximity to a local user;
presenting an option within the graphical user interface to input an alias that is published to other users on a network when determined; and
when determined, displaying more detailed information relating to the number of users nearby that comprises presence information along with contact information provided by a contacts application associated with the computing device.
11. The computer-readable storage medium of claim 10 , wherein presenting the option within the graphical user interface to input an alias that is published to other users on the network when determined comprises receiving an entry of the alias within the graphical user interface and in response to receiving the entry of the alias publishing the alias to the other users on the network.
12. The computer-readable storage medium of claim 10 , further comprising displaying a selection within the graphical user interface that when selected displays the more detailed information relating to the number of users.
13. The computer-readable storage medium of claim 10 , wherein populating the graphical user interface with the number of nearby users on the network comprises dynamically updating the number of nearby users.
14. The computer-readable storage medium of claim 10 , wherein displaying more detailed information relating to the number of users comprises displaying the more detailed information in a different window from the display of the number of nearby users.
15. The computer-readable storage medium of claim 10 , further comprising displaying an indication of when the network is unavailable and an option to troubleshoot the network within the graphical user interface.
16. An apparatus for displaying presence information, comprising:
a processor;
a display;
an application configured to perform operations, comprising:
displaying a graphical user interface on the display that displays presence information;
populating the graphical user interface with a number of nearby users on the network as determined by monitoring for presence of contacts representing the nearby users on the network that are within a determined proximity to a local user;
presenting an option within the graphical user interface to input an alias that is published to other users on a network; and
in response to receiving a selection to display more detailed information, displaying more detailed information relating to the number of users nearby that comprises presence information along with contact information provided by a contacts application.
17. The apparatus of claim 16 , wherein presenting the option within the graphical user interface to input an alias that is published to other users on the network when determined comprises receiving an entry of the alias within the graphical user interface and in response to receiving the entry of the alias publishing the alias to the other users on the network.
18. The apparatus of claim 16 , further comprising displaying a selection within the graphical user interface that when selected displays the more detailed information relating to the number of users.
19. The apparatus medium of claim 16 , wherein populating the graphical user interface with the number of nearby users on the network comprises dynamically updating the number of nearby users.
20. The apparatus of claim 16 , wherein displaying more detailed information relating to the number of users comprises displaying the more detailed information in a different window from the display of the number of nearby users.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/567,820 US20120304091A1 (en) | 2004-05-01 | 2012-08-06 | System and method for discovering and publishing of presence information on a network |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/836,566 US8239452B2 (en) | 2004-05-01 | 2004-05-01 | System and method for discovering and publishing of presence information on a network |
US13/567,820 US20120304091A1 (en) | 2004-05-01 | 2012-08-06 | System and method for discovering and publishing of presence information on a network |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/836,566 Continuation US8239452B2 (en) | 2004-05-01 | 2004-05-01 | System and method for discovering and publishing of presence information on a network |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120304091A1 true US20120304091A1 (en) | 2012-11-29 |
Family
ID=35188369
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/836,566 Expired - Fee Related US8239452B2 (en) | 2004-05-01 | 2004-05-01 | System and method for discovering and publishing of presence information on a network |
US13/567,820 Abandoned US20120304091A1 (en) | 2004-05-01 | 2012-08-06 | System and method for discovering and publishing of presence information on a network |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/836,566 Expired - Fee Related US8239452B2 (en) | 2004-05-01 | 2004-05-01 | System and method for discovering and publishing of presence information on a network |
Country Status (1)
Country | Link |
---|---|
US (2) | US8239452B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230185433A1 (en) * | 2013-06-09 | 2023-06-15 | Apple Inc. | Device, Method, and Graphical User Interface for Sharing Content from a Respective Application |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8234395B2 (en) | 2003-07-28 | 2012-07-31 | Sonos, Inc. | System and method for synchronizing operations among a plurality of independently clocked digital data processing devices |
US8290603B1 (en) | 2004-06-05 | 2012-10-16 | Sonos, Inc. | User interfaces for controlling and manipulating groupings in a multi-zone media system |
US10613817B2 (en) | 2003-07-28 | 2020-04-07 | Sonos, Inc. | Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group |
US11294618B2 (en) | 2003-07-28 | 2022-04-05 | Sonos, Inc. | Media player system |
US11106424B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US11650784B2 (en) | 2003-07-28 | 2023-05-16 | Sonos, Inc. | Adjusting volume levels |
US11106425B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US9977561B2 (en) | 2004-04-01 | 2018-05-22 | Sonos, Inc. | Systems, methods, apparatus, and articles of manufacture to provide guest access |
US8239452B2 (en) * | 2004-05-01 | 2012-08-07 | Microsoft Corporation | System and method for discovering and publishing of presence information on a network |
US8868698B2 (en) * | 2004-06-05 | 2014-10-21 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US8326951B1 (en) | 2004-06-05 | 2012-12-04 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US8176086B2 (en) * | 2004-11-30 | 2012-05-08 | Avaya Inc. | Methods and apparatus for determining a presence of a user |
JP2007058443A (en) * | 2005-08-23 | 2007-03-08 | Fuji Xerox Co Ltd | Personal connection network analysis device and method |
US8117302B2 (en) * | 2006-11-03 | 2012-02-14 | International Business Machines Corporation | Buddy list pruning for instant messaging system performance enhancement |
US20080285542A1 (en) * | 2007-05-18 | 2008-11-20 | Alcatel Lucent | Location based presence groups |
US8635248B2 (en) | 2008-06-23 | 2014-01-21 | Microsoft Corporation | Providing localized individually customized updates from a social network site to a desktop application |
US7984102B1 (en) * | 2008-07-22 | 2011-07-19 | Zscaler, Inc. | Selective presence notification |
US9037648B2 (en) * | 2008-08-19 | 2015-05-19 | John Ogilvie | Anonymity-preserving reciprocal vetting from a system perspective |
US9558195B2 (en) * | 2009-02-27 | 2017-01-31 | Red Hat, Inc. | Depopulation of user data from network |
CA2798430A1 (en) * | 2010-05-05 | 2011-11-10 | Research In Motion Limited | Method and system for monitoring of aspects for use by a trigger |
US9117197B1 (en) * | 2012-10-19 | 2015-08-25 | Google Inc. | Alert system for social network users |
US9014634B2 (en) * | 2013-05-14 | 2015-04-21 | International Business Machines Corporation | Social network based Wi-Fi connectivity |
US10705566B2 (en) | 2016-09-09 | 2020-07-07 | 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 |
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 |
CA3148974A1 (en) | 2019-08-22 | 2021-02-25 | Targus International Llc | Systems and methods for participant-controlled video conferencing |
CA3153964A1 (en) | 2019-09-09 | 2021-03-18 | Targus International Llc | Systems and methods for docking stations removably attachable to display apparatuses and docking stand assemblies |
Citations (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5659596A (en) * | 1995-04-12 | 1997-08-19 | International Business Machines Corporation | System for location of communication end users |
US20010048449A1 (en) * | 2000-02-29 | 2001-12-06 | Baker Benjamin D. | Intelligence driven paging process for a chat room |
US20020055967A1 (en) * | 2000-11-08 | 2002-05-09 | Coussement Stefaan Valere Albert | System for reporting client status information to communications-center agents |
US20020120720A1 (en) * | 2000-09-01 | 2002-08-29 | Ian Moir | Method and system to pre-compile configuration information for a data communications device |
US20030037110A1 (en) * | 2001-08-14 | 2003-02-20 | Fujitsu Limited | Method for providing area chat rooms, method for processing area chats on terminal side, computer-readable medium for recording processing program to provide area chat rooms, apparatus for providing area chat rooms, and terminal-side apparatus for use in a system to provide area chat rooms |
US20030041141A1 (en) * | 2001-01-22 | 2003-02-27 | Abdelaziz Mohamed M. | Peer-to-peer presence detection |
US20030055892A1 (en) * | 2001-09-19 | 2003-03-20 | Microsoft Corporation | Peer-to-peer group management and method for maintaining peer-to-peer graphs |
US20030065721A1 (en) * | 2001-09-28 | 2003-04-03 | Roskind James A. | Passive personalization of buddy lists |
US20030126245A1 (en) * | 2000-11-22 | 2003-07-03 | Eric Feltin | Computer network architecture and associated method and system |
US6608817B1 (en) * | 1999-12-28 | 2003-08-19 | Networks Associates Technology, Inc. | Method and apparatus for connection-oriented multiplexing and switching network analysis, management, and troubleshooting |
US20030177205A1 (en) * | 2002-03-15 | 2003-09-18 | Geng-Chen Liang | Method and apparatus for system lineup and testing |
US20030182428A1 (en) * | 2002-03-19 | 2003-09-25 | Jiang Li | Peer-to-peer (P2P) communication system |
US20040015548A1 (en) * | 2002-07-17 | 2004-01-22 | Lee Jin Woo | Method and system for displaying group chat sessions on wireless mobile terminals |
US20040015553A1 (en) * | 2002-07-17 | 2004-01-22 | Griffin Chris Michael | Voice and text group chat display management techniques for wireless mobile terminals |
US20040019912A1 (en) * | 2000-12-29 | 2004-01-29 | Jens Staack | Presence and session handling information |
US20040044647A1 (en) * | 2002-06-20 | 2004-03-04 | Nokia Corporation | Method and a device for activity-based presence information |
US20040098464A1 (en) * | 2002-11-15 | 2004-05-20 | Microsoft Corporation | System and method for providing dynamic location information |
US20040111623A1 (en) * | 2002-06-10 | 2004-06-10 | Akonix Systems, Inc. | Systems and methods for detecting user presence |
US20040122810A1 (en) * | 2000-06-22 | 2004-06-24 | Yaron Mayer | System and method for searching, finding and contacting dates on the Internet in instant messaging networks and/or in other methods that enable immediate finding and creating immediate contact |
US20040174392A1 (en) * | 2003-03-03 | 2004-09-09 | Christian Bjoernsen | Collaboration launchpad |
US20040186887A1 (en) * | 2003-03-19 | 2004-09-23 | International Business Machines Corporation | Reflective buddy list |
US20040203902A1 (en) * | 2002-06-14 | 2004-10-14 | Brian Wilson | Data structures and methods for location-based services within a wireless network |
US20040223485A1 (en) * | 2003-05-06 | 2004-11-11 | Sbc Knowledge Ventures, L.P. | Adaptive notification delivery in a multi-device environment |
US20040249953A1 (en) * | 2003-05-14 | 2004-12-09 | Microsoft Corporation | Peer-to-peer instant messaging |
US20040260762A1 (en) * | 2003-05-20 | 2004-12-23 | Fish Edmund J. | Presence and geographic location notification based on a delegation model |
US20050044144A1 (en) * | 2002-04-29 | 2005-02-24 | Dale Malik | Instant messaging architecture and system for interoperability and presence management |
US20050047577A1 (en) * | 2003-08-29 | 2005-03-03 | Timmins Timothy A. | Technique for updating a private directory at an information/call center |
US20050085239A1 (en) * | 2003-10-21 | 2005-04-21 | Openwave Systems Inc. | System and method for mobile-based location information |
US20050091272A1 (en) * | 2003-10-23 | 2005-04-28 | Smith Walter R. | Contact management |
US6898631B1 (en) * | 2000-10-12 | 2005-05-24 | International Business Machines Corporation | Platform for internet based real-time communication content selection |
US20050114500A1 (en) * | 2003-11-24 | 2005-05-26 | Monk John M. | Graphical user interface for adding measurements to existing distributed network troubleshooting system |
US20050165920A1 (en) * | 2004-01-22 | 2005-07-28 | Kerr Bernard J. | Method and system for providing detail information about computer system users for which on-line status and instant messaging capabilities are available |
US20050197995A1 (en) * | 2004-02-20 | 2005-09-08 | Badt Sig Jr. | System and method for provisioning presence application services |
US20050213537A1 (en) * | 2004-02-27 | 2005-09-29 | Ingimundarson Jon I | Interworking gateway and method |
US20050246421A1 (en) * | 2004-05-01 | 2005-11-03 | Microsoft Corporation | System and method for discovering and publishing of presence information 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 |
US20050246334A1 (en) * | 2004-04-30 | 2005-11-03 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Location determination and location tracking in wireless networks |
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 |
US20050246544A1 (en) * | 2004-05-01 | 2005-11-03 | Microsoft Corporation | System and method for identity confirmation of a contact published on a network |
US20050268330A1 (en) * | 1999-05-10 | 2005-12-01 | Di Rienzo Andrew L | Authentication |
US7056217B1 (en) * | 2000-05-31 | 2006-06-06 | Nintendo Co., Ltd. | Messaging service for video game systems with buddy list that displays game being played |
US7152244B2 (en) * | 2002-12-31 | 2006-12-19 | American Online, Inc. | Techniques for detecting and preventing unintentional disclosures of sensitive data |
US7216144B1 (en) * | 1999-08-04 | 2007-05-08 | Aol Llc | Facilitating negotiations between users of a computer network through messaging communications enabling user interaction |
US7222158B2 (en) * | 2003-12-31 | 2007-05-22 | Aol Llc | Third party provided transactional white-listing for filtering electronic communications |
US20070136480A1 (en) * | 2000-04-11 | 2007-06-14 | Science Applications International Corporation | System and method for projecting content beyond firewalls |
US20070142029A1 (en) * | 2003-02-27 | 2007-06-21 | Stefan Willehadson | Message management |
US20070168863A1 (en) * | 2003-03-03 | 2007-07-19 | Aol Llc | Interacting avatars in an instant messaging communication session |
US20070192412A1 (en) * | 2003-05-13 | 2007-08-16 | Microsoft Corporation | Reliable Delivery of Multi-Cast Conferencing Data |
US7266776B2 (en) * | 2002-11-25 | 2007-09-04 | Aol Llc | Facilitating communications between computer users across a network |
US7269655B2 (en) * | 2003-02-15 | 2007-09-11 | Samsung Electronics Co., Ltd. | Method and system for providing an instant messaging service in a mobile communication network |
US20070271607A1 (en) * | 2002-12-31 | 2007-11-22 | Aol Llc | Implicit Population of Access Control Lists |
US7334021B1 (en) * | 2003-04-30 | 2008-02-19 | Aol Llc | Personalized away messages |
US20080049723A1 (en) * | 2001-04-30 | 2008-02-28 | Aol Llc | Generating multiple data streams from a single data source |
US20080059607A1 (en) * | 1999-09-01 | 2008-03-06 | Eric Schneider | Method, product, and apparatus for processing a data request |
US20080065723A1 (en) * | 2000-04-27 | 2008-03-13 | Aol Llc, A Delaware Limited Liability Company (Formerly Known As America Online, Inc.) | Multi-Windowed Online Application Environment |
US20080092063A1 (en) * | 2002-04-30 | 2008-04-17 | Aol Llc, A Delaware Limited Liability Company (Formerly Known As America Online, Inc.) | IM Conversation Counter and Indicator |
US7363345B2 (en) * | 2002-08-27 | 2008-04-22 | Aol Llc, A Delaware Limited Liability Company | Electronic notification delivery mechanism selection based on recipient presence information and notification content |
US7460653B2 (en) * | 2003-03-07 | 2008-12-02 | Callwave, Inc. | Apparatus and methods for telecommunication authentication |
US7469279B1 (en) * | 2003-08-05 | 2008-12-23 | Cisco Technology, Inc. | Automatic re-provisioning of network elements to adapt to failures |
US7475109B1 (en) * | 2003-04-30 | 2009-01-06 | Aol Llc | Personalized auto-reply messages based on categories |
US7499974B2 (en) * | 2003-09-30 | 2009-03-03 | International Business Machines Corporation | Instant message user management |
US7979802B1 (en) * | 2000-05-04 | 2011-07-12 | Aol Inc. | Providing supplemental contact information corresponding to a referenced individual |
US8977284B2 (en) * | 2001-10-04 | 2015-03-10 | Traxcell Technologies, LLC | Machine for providing a dynamic data base of geographic location information for a plurality of wireless devices and process for making same |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2829159B2 (en) * | 1991-09-10 | 1998-11-25 | パイオニア株式会社 | Notification information communication method in CATV system |
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 |
US5793365A (en) | 1996-01-02 | 1998-08-11 | Sun Microsystems, Inc. | System and method providing a computer user interface enabling access to distributed workgroup members |
US6750881B1 (en) * | 1997-02-24 | 2004-06-15 | America Online, Inc. | User definable on-line co-user lists |
US5956644A (en) * | 1997-07-28 | 1999-09-21 | Motorola, Inc. | Multiple-user communication unit and method for operating in a satellite communication system |
US6148328A (en) | 1998-01-29 | 2000-11-14 | International Business Machines Corp. | Method and system for signaling presence of users in a networked environment |
DE19829797A1 (en) * | 1998-07-03 | 2000-01-05 | Viag Interkom Gmbh & Co | Communication system and a suitable method for operating the communication system |
US6564261B1 (en) * | 1999-05-10 | 2003-05-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Distributed system to intelligently establish sessions between anonymous users over various networks |
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 |
US6697840B1 (en) * | 2000-02-29 | 2004-02-24 | Lucent Technologies Inc. | Presence awareness in collaborative systems |
US6760580B2 (en) * | 2000-03-06 | 2004-07-06 | America Online, Incorporated | Facilitating instant messaging outside of user-defined buddy group in a wireless and non-wireless environment |
US6791583B2 (en) * | 2000-03-09 | 2004-09-14 | Sun Microsystems, Inc. | System and method for providing spatially distributed device interaction |
US20020019829A1 (en) * | 2000-03-21 | 2002-02-14 | Ehud Shapiro | Community co-presence system and method having virtual groups |
US6920478B2 (en) * | 2000-05-11 | 2005-07-19 | Chikka Pte Ltd. | Method and system for tracking the online status of active users of an internet-based instant messaging system |
ATE350857T1 (en) | 2000-05-17 | 2007-01-15 | Ibm | SYSTEM AND METHOD FOR DETECTING THE STAY OR AVAILABILITY OF A TELEPHONE USER AND PUBLISHING THE TELEPHONE NUMBER ON THE INTERNET |
US6845507B2 (en) * | 2000-05-18 | 2005-01-18 | Ss & C Technologies, Inc. | Method and system for straight through processing |
US6539232B2 (en) * | 2000-06-10 | 2003-03-25 | Telcontar | Method and system for connecting mobile users based on degree of separation |
US6542750B2 (en) * | 2000-06-10 | 2003-04-01 | Telcontar | Method and system for selectively connecting mobile users based on physical proximity |
US6699125B2 (en) * | 2000-07-03 | 2004-03-02 | Yahoo! Inc. | Game server for use in connection with a messenger server |
US6757365B1 (en) * | 2000-10-16 | 2004-06-29 | Tellme Networks, Inc. | Instant messaging via telephone interfaces |
US6714519B2 (en) * | 2000-11-03 | 2004-03-30 | Vocaltec Communications Limited | Communications availability |
US6433735B1 (en) * | 2000-12-26 | 2002-08-13 | Telefonaktiebolaget (Lme) | Mobile terminal and system and method for determining the geographic location of a mobile terminal |
US20020116336A1 (en) * | 2001-02-05 | 2002-08-22 | Athanassios Diacakis | Method and device for displaying contact information in a presence and availability management system |
US20030018704A1 (en) * | 2001-03-08 | 2003-01-23 | Vasilis Polychronidis | Network presence and location agent |
AU2002241198A1 (en) * | 2001-03-14 | 2002-09-24 | Nokia Corporation | Separation of instant messaging user and client identities |
US6981223B2 (en) * | 2001-03-19 | 2005-12-27 | Ecrio, Inc. | Method, apparatus and computer readable medium for multiple messaging session management with a graphical user interface |
US6778498B2 (en) * | 2001-03-20 | 2004-08-17 | Mci, Inc. | Virtual private network (VPN)-aware customer premises equipment (CPE) edge router |
US6990180B2 (en) * | 2001-04-05 | 2006-01-24 | Nokia Mobile Phones Limited | Short voice message (SVM) service method, apparatus and system |
ATE293871T1 (en) * | 2001-05-11 | 2005-05-15 | Nokia Corp | MOBILE INSTANT MESSAGING AND PRESENCE SERVICE |
US20020186257A1 (en) | 2001-06-08 | 2002-12-12 | Cadiz Jonathan J. | System and process for providing dynamic communication access and information awareness in an interactive peripheral display |
US7844055B2 (en) * | 2001-06-26 | 2010-11-30 | Link Us All, Llc | Detecting and transporting dynamic presence information over a wireless and wireline communications network |
US7028074B2 (en) * | 2001-07-03 | 2006-04-11 | International Business Machines Corporation | Automatically determining the awareness settings among people in distributed working environment |
US20030041101A1 (en) * | 2001-08-24 | 2003-02-27 | Hansche Brian A. | Presence watcher proxy |
US6938213B2 (en) | 2001-09-20 | 2005-08-30 | International Business Machines Corporation | Tracking user availability for participation in messaging sessions |
WO2003028386A2 (en) * | 2001-09-25 | 2003-04-03 | Wildseed, Ltd. | Wireless mobile image messaging |
US20030060215A1 (en) * | 2001-09-27 | 2003-03-27 | Graham Tyrol R. | System and method for displaying subscriber locations on mobile stations |
EP1435167A1 (en) * | 2001-10-10 | 2004-07-07 | Hotsip AB | A method and a system for providing a user with a presence service |
US6677976B2 (en) * | 2001-10-16 | 2004-01-13 | Sprint Communications Company, LP | Integration of video telephony with chat and instant messaging environments |
US7353247B2 (en) * | 2001-10-19 | 2008-04-01 | Microsoft Corporation | Querying applications using online messenger service |
US6735287B2 (en) * | 2001-11-16 | 2004-05-11 | Sbc Technology Resources, Inc. | Method and system for multimodal presence detection |
US20030135624A1 (en) * | 2001-12-27 | 2003-07-17 | Mckinnon Steve J. | Dynamic presence management |
GB0202370D0 (en) * | 2002-02-01 | 2002-03-20 | Symbian Ltd | Pinging |
JP2005518114A (en) * | 2002-02-14 | 2005-06-16 | アバイア テクノロジー コーポレーション | Presence tracking and namespace interconnect technology |
US6771991B1 (en) * | 2002-03-28 | 2004-08-03 | Motorola, Inc. | Graphics and variable presence architectures in wireless communication networks, mobile handsets and methods therefor |
US7035923B1 (en) * | 2002-04-10 | 2006-04-25 | Nortel Networks Limited | Presence information specifying communication preferences |
US7127685B2 (en) * | 2002-04-30 | 2006-10-24 | America Online, Inc. | Instant messaging interface having a tear-off element |
US20030217142A1 (en) | 2002-05-15 | 2003-11-20 | Microsoft Corporation | Method and system for supporting the communication of presence information regarding one or more telephony devices |
US7096255B2 (en) * | 2002-05-21 | 2006-08-22 | Bellsouth Intellectual Property Corp. | System and method for providing a roster list of temporary contacts having expiration periods designated by a user in an instant messaging environment |
US7640300B2 (en) | 2002-06-10 | 2009-12-29 | Microsoft Corporation | Presence and notification system for maintaining and communicating information |
US7234117B2 (en) * | 2002-08-28 | 2007-06-19 | Microsoft Corporation | System and method for shared integrated online social interaction |
US20040061720A1 (en) * | 2002-09-26 | 2004-04-01 | Matt Weber | Multi-function browser toolbar with method for online institutional administrative browser control |
US20040107250A1 (en) * | 2002-10-21 | 2004-06-03 | Guillermo Marciano | Methods and systems for integrating communication resources using the internet |
US20040098491A1 (en) * | 2002-11-14 | 2004-05-20 | Jose Costa-Requena | Accessing presence information |
US20040122901A1 (en) * | 2002-12-20 | 2004-06-24 | Nortel Networks Limited | Providing computer presence information to an integrated presence system |
EP1786173B1 (en) * | 2003-01-22 | 2013-06-26 | NEC Corporation | Dynamic buddy list generation method |
US6990353B2 (en) * | 2003-02-19 | 2006-01-24 | Lucent Technologies Inc. | Communication to one mobile station of update of call participation availability status of another mobile station |
WO2004107631A2 (en) * | 2003-05-27 | 2004-12-09 | Geodesic Information System Ltd. | Universal presence indicator and instant messaging system |
US20050050301A1 (en) * | 2003-08-29 | 2005-03-03 | Yahoo!, Inc. | Extensible user interface |
US20050188174A1 (en) * | 2003-10-12 | 2005-08-25 | Microsoft Corporation | Extensible creation and editing of collections of objects |
US7035618B2 (en) * | 2003-10-30 | 2006-04-25 | Research In Motion Limited | System and method of wireless proximity awareness |
US7310534B2 (en) * | 2003-12-16 | 2007-12-18 | Sony Ericsson Mobile Communications Ab | Location status indicator for mobile phones |
US7443283B2 (en) * | 2004-02-19 | 2008-10-28 | Massachusetts Institute Of Technology | Methods and apparatus for connecting an intimate group by exchanging awareness cues and text, voice instant messages, and two-way voice communications |
US20060031367A1 (en) * | 2004-06-04 | 2006-02-09 | John Buford | Instant messaging and presence using virtual devices |
US7836126B2 (en) * | 2004-08-04 | 2010-11-16 | Sap Ag | Business presence system and method |
US20060047761A1 (en) * | 2004-08-30 | 2006-03-02 | Matsushita Electric Industrial Co., Ltd. | Mechanism to support transparent roaming between IMP service providers in wireless networks |
US20060072721A1 (en) * | 2004-09-21 | 2006-04-06 | Netomat, Inc. | Mobile messaging system and method |
-
2004
- 2004-05-01 US US10/836,566 patent/US8239452B2/en not_active Expired - Fee Related
-
2012
- 2012-08-06 US US13/567,820 patent/US20120304091A1/en not_active Abandoned
Patent Citations (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5659596A (en) * | 1995-04-12 | 1997-08-19 | International Business Machines Corporation | System for location of communication end users |
US20050268330A1 (en) * | 1999-05-10 | 2005-12-01 | Di Rienzo Andrew L | Authentication |
US7216144B1 (en) * | 1999-08-04 | 2007-05-08 | Aol Llc | Facilitating negotiations between users of a computer network through messaging communications enabling user interaction |
US20070208865A1 (en) * | 1999-08-04 | 2007-09-06 | Aol Llc, A Delaware Limited Liability Company | Facilitating negotiations between users of a computer network through messaging communications enabling user interaction |
US20080059607A1 (en) * | 1999-09-01 | 2008-03-06 | Eric Schneider | Method, product, and apparatus for processing a data request |
US6608817B1 (en) * | 1999-12-28 | 2003-08-19 | Networks Associates Technology, Inc. | Method and apparatus for connection-oriented multiplexing and switching network analysis, management, and troubleshooting |
US20010048449A1 (en) * | 2000-02-29 | 2001-12-06 | Baker Benjamin D. | Intelligence driven paging process for a chat room |
US20070136480A1 (en) * | 2000-04-11 | 2007-06-14 | Science Applications International Corporation | System and method for projecting content beyond firewalls |
US20080065723A1 (en) * | 2000-04-27 | 2008-03-13 | Aol Llc, A Delaware Limited Liability Company (Formerly Known As America Online, Inc.) | Multi-Windowed Online Application Environment |
US7979802B1 (en) * | 2000-05-04 | 2011-07-12 | Aol Inc. | Providing supplemental contact information corresponding to a referenced individual |
US7056217B1 (en) * | 2000-05-31 | 2006-06-06 | Nintendo Co., Ltd. | Messaging service for video game systems with buddy list that displays game being played |
US20040122810A1 (en) * | 2000-06-22 | 2004-06-24 | Yaron Mayer | System and method for searching, finding and contacting dates on the Internet in instant messaging networks and/or in other methods that enable immediate finding and creating immediate contact |
US20020120720A1 (en) * | 2000-09-01 | 2002-08-29 | Ian Moir | Method and system to pre-compile configuration information for a data communications device |
US6898631B1 (en) * | 2000-10-12 | 2005-05-24 | International Business Machines Corporation | Platform for internet based real-time communication content selection |
US20020055967A1 (en) * | 2000-11-08 | 2002-05-09 | Coussement Stefaan Valere Albert | System for reporting client status information to communications-center agents |
US20030126245A1 (en) * | 2000-11-22 | 2003-07-03 | Eric Feltin | Computer network architecture and associated method and system |
US20040019912A1 (en) * | 2000-12-29 | 2004-01-29 | Jens Staack | Presence and session handling information |
US20030041141A1 (en) * | 2001-01-22 | 2003-02-27 | Abdelaziz Mohamed M. | Peer-to-peer presence detection |
US20080049723A1 (en) * | 2001-04-30 | 2008-02-28 | Aol Llc | Generating multiple data streams from a single data source |
US20030037110A1 (en) * | 2001-08-14 | 2003-02-20 | Fujitsu Limited | Method for providing area chat rooms, method for processing area chats on terminal side, computer-readable medium for recording processing program to provide area chat rooms, apparatus for providing area chat rooms, and terminal-side apparatus for use in a system to provide area chat rooms |
US7493363B2 (en) * | 2001-09-19 | 2009-02-17 | Microsoft Corporation | Peer-to-peer group management and method for maintaining peer-to-peer graphs |
US20030055892A1 (en) * | 2001-09-19 | 2003-03-20 | Microsoft Corporation | Peer-to-peer group management and method for maintaining peer-to-peer graphs |
US20030065721A1 (en) * | 2001-09-28 | 2003-04-03 | Roskind James A. | Passive personalization of buddy lists |
US8977284B2 (en) * | 2001-10-04 | 2015-03-10 | Traxcell Technologies, LLC | Machine for providing a dynamic data base of geographic location information for a plurality of wireless devices and process for making same |
US20030177205A1 (en) * | 2002-03-15 | 2003-09-18 | Geng-Chen Liang | Method and apparatus for system lineup and testing |
US20030182428A1 (en) * | 2002-03-19 | 2003-09-25 | Jiang Li | Peer-to-peer (P2P) communication system |
US20050044144A1 (en) * | 2002-04-29 | 2005-02-24 | Dale Malik | Instant messaging architecture and system for interoperability and presence management |
US20080092063A1 (en) * | 2002-04-30 | 2008-04-17 | Aol Llc, A Delaware Limited Liability Company (Formerly Known As America Online, Inc.) | IM Conversation Counter and Indicator |
US20040111623A1 (en) * | 2002-06-10 | 2004-06-10 | Akonix Systems, Inc. | Systems and methods for detecting user presence |
US20040203902A1 (en) * | 2002-06-14 | 2004-10-14 | Brian Wilson | Data structures and methods for location-based services within a wireless network |
US20040044647A1 (en) * | 2002-06-20 | 2004-03-04 | Nokia Corporation | Method and a device for activity-based presence information |
US20040015553A1 (en) * | 2002-07-17 | 2004-01-22 | Griffin Chris Michael | Voice and text group chat display management techniques for wireless mobile terminals |
US20040015548A1 (en) * | 2002-07-17 | 2004-01-22 | Lee Jin Woo | Method and system for displaying group chat sessions on wireless mobile terminals |
US7111044B2 (en) * | 2002-07-17 | 2006-09-19 | Fastmobile, Inc. | Method and system for displaying group chat sessions on wireless mobile terminals |
US7363345B2 (en) * | 2002-08-27 | 2008-04-22 | Aol Llc, A Delaware Limited Liability Company | Electronic notification delivery mechanism selection based on recipient presence information and notification content |
US20040098464A1 (en) * | 2002-11-15 | 2004-05-20 | Microsoft Corporation | System and method for providing dynamic location information |
US7266776B2 (en) * | 2002-11-25 | 2007-09-04 | Aol Llc | Facilitating communications between computer users across a network |
US20080016453A1 (en) * | 2002-11-25 | 2008-01-17 | Aol Llc | Facilitating communications between computer users across a network |
US20070271607A1 (en) * | 2002-12-31 | 2007-11-22 | Aol Llc | Implicit Population of Access Control Lists |
US7152244B2 (en) * | 2002-12-31 | 2006-12-19 | American Online, Inc. | Techniques for detecting and preventing unintentional disclosures of sensitive data |
US7269655B2 (en) * | 2003-02-15 | 2007-09-11 | Samsung Electronics Co., Ltd. | Method and system for providing an instant messaging service in a mobile communication network |
US20070142029A1 (en) * | 2003-02-27 | 2007-06-21 | Stefan Willehadson | Message management |
US20040174392A1 (en) * | 2003-03-03 | 2004-09-09 | Christian Bjoernsen | Collaboration launchpad |
US20070168863A1 (en) * | 2003-03-03 | 2007-07-19 | Aol Llc | Interacting avatars in an instant messaging communication session |
US7460653B2 (en) * | 2003-03-07 | 2008-12-02 | Callwave, Inc. | Apparatus and methods for telecommunication authentication |
US20040186887A1 (en) * | 2003-03-19 | 2004-09-23 | International Business Machines Corporation | Reflective buddy list |
US7475109B1 (en) * | 2003-04-30 | 2009-01-06 | Aol Llc | Personalized auto-reply messages based on categories |
US7334021B1 (en) * | 2003-04-30 | 2008-02-19 | Aol Llc | Personalized away messages |
US20040223485A1 (en) * | 2003-05-06 | 2004-11-11 | Sbc Knowledge Ventures, L.P. | Adaptive notification delivery in a multi-device environment |
US20070198737A1 (en) * | 2003-05-13 | 2007-08-23 | Microsoft Corporation | Reliable Delivery of Multi-Cast Conferencing Data |
US20070192412A1 (en) * | 2003-05-13 | 2007-08-16 | Microsoft Corporation | Reliable Delivery of Multi-Cast Conferencing Data |
US20040249953A1 (en) * | 2003-05-14 | 2004-12-09 | Microsoft Corporation | Peer-to-peer instant messaging |
US7237201B2 (en) * | 2003-05-20 | 2007-06-26 | Aol Llc | Geographic location notification based on identity linking |
US7219303B2 (en) * | 2003-05-20 | 2007-05-15 | Aol Llc | Presence and geographic location notification based on a setting |
US20070288852A1 (en) * | 2003-05-20 | 2007-12-13 | Aol Llc | Presence and Geographic Location Notification Based on a Setting |
US20040260762A1 (en) * | 2003-05-20 | 2004-12-23 | Fish Edmund J. | Presence and geographic location notification based on a delegation model |
US7469279B1 (en) * | 2003-08-05 | 2008-12-23 | Cisco Technology, Inc. | Automatic re-provisioning of network elements to adapt to failures |
US20050047577A1 (en) * | 2003-08-29 | 2005-03-03 | Timmins Timothy A. | Technique for updating a private directory at an information/call center |
US7499974B2 (en) * | 2003-09-30 | 2009-03-03 | International Business Machines Corporation | Instant message user management |
US20050085239A1 (en) * | 2003-10-21 | 2005-04-21 | Openwave Systems Inc. | System and method for mobile-based location information |
US20050091272A1 (en) * | 2003-10-23 | 2005-04-28 | Smith Walter R. | Contact management |
US20050114500A1 (en) * | 2003-11-24 | 2005-05-26 | Monk John M. | Graphical user interface for adding measurements to existing distributed network troubleshooting system |
US7222158B2 (en) * | 2003-12-31 | 2007-05-22 | Aol Llc | Third party provided transactional white-listing for filtering electronic communications |
US20050165920A1 (en) * | 2004-01-22 | 2005-07-28 | Kerr Bernard J. | Method and system for providing detail information about computer system users for which on-line status and instant messaging capabilities are available |
US20050197995A1 (en) * | 2004-02-20 | 2005-09-08 | Badt Sig Jr. | System and method for provisioning presence application services |
US20050213537A1 (en) * | 2004-02-27 | 2005-09-29 | Ingimundarson Jon I | Interworking gateway and method |
US20050246334A1 (en) * | 2004-04-30 | 2005-11-03 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Location determination and location tracking in wireless networks |
US20050246421A1 (en) * | 2004-05-01 | 2005-11-03 | Microsoft Corporation | System and method for discovering and publishing of 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 |
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 |
US8239452B2 (en) * | 2004-05-01 | 2012-08-07 | Microsoft Corporation | System and method for discovering and publishing of presence information 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 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230185433A1 (en) * | 2013-06-09 | 2023-06-15 | Apple Inc. | Device, Method, and Graphical User Interface for Sharing Content from a Respective Application |
US11928317B2 (en) * | 2013-06-09 | 2024-03-12 | Apple Inc. | Device, method, and graphical user interface for sharing content from a respective application |
Also Published As
Publication number | Publication date |
---|---|
US8239452B2 (en) | 2012-08-07 |
US20050246421A1 (en) | 2005-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7607096B2 (en) | System and method for a user interface directed to discovering and publishing presence information on a network | |
US8239452B2 (en) | System and method for discovering and publishing of presence information on a network | |
US7698307B2 (en) | System and method for synchronizing between a file system and presence of contacts on a network | |
US7437566B2 (en) | System and method for identity confirmation of a contact published on a network | |
US9473427B2 (en) | Method and system for delivering reminder information | |
KR100899911B1 (en) | Unified contact list | |
US7317928B2 (en) | System and method for exposing instant messenger presence information on a mobile device | |
US7562104B2 (en) | Method and system for collecting contact information from contact sources and tracking contact sources | |
EP1696635A2 (en) | Method and system for aggregating contact information from multiple contact sources | |
EP1696377A1 (en) | Method and system for locating contact information collected from contact sources | |
JP2004030371A (en) | Presence management method and device | |
EP2599271B1 (en) | Instant messaging using multiple instances of a client | |
US20060069727A1 (en) | System and method for synchronizing between an instant messenger client and a central contact store | |
JP2004054340A (en) | Apparatus, system and method for instant messaging, program, and recording medium | |
JP4288410B2 (en) | Presence system, presence server and program | |
JP2009044310A (en) | Key telephone system, call state notification method of virtual extension number, and computer program | |
KR20070071599A (en) | Method for performing data synchronization among client terminals using sms message |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034544/0541 Effective date: 20141014 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |