FreshPatents.com Logo
stats FreshPatents Stats
n/a views for this patent on FreshPatents.com
Updated: October 01 2014
newTOP 200 Companies filing patents this week


    Free Services  

  • MONITOR KEYWORDS
  • Enter keywords & we'll notify you when a new patent matches your request (weekly update).

  • ORGANIZER
  • Save & organize patents so you can view them later.

  • RSS rss
  • Create custom RSS feeds. Track keywords without receiving email.

  • ARCHIVE
  • View the last few months of your Keyword emails.

  • COMPANY DIRECTORY
  • Patents sorted by company.

Follow us on Twitter
twitter icon@FreshPatents

System and method for discovering and publishing of presence information on a network

last patentdownload pdfdownload imgimage previewnext patent


20120304091 patent thumbnailZoom

System and method for discovering and publishing of presence information on a network


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.

Browse recent Microsoft Corporation patents - Redmond, WA, US
Inventors: Kevin R. Moore, Peyman Oreizy, Sean O. Blagsvedt, Melissa W. Dunn, Arvind Kumar, Marcus S.H. Harvey
USPTO Applicaton #: #20120304091 - Class: 715764 (USPTO) - 11/29/12 - Class 715 
Data Processing: Presentation Processing Of Document, Operator Interface Processing, And Screen Saver Display Processing > Operator Interface (e.g., Graphical User Interface) >On-screen Workspace Or Object

view organizer monitor keywords


The Patent Description & Claims data below is from USPTO Patent Application 20120304091, System and method for discovering and publishing of presence information on a network.

last patentpdficondownload pdfimage previewnext patent

CROSS-REFERENCE TO RELATED APPLICATIONS

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.

BACKGROUND OF THE INVENTION

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.

SUMMARY

OF THE INVENTION

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.

BRIEF DESCRIPTION OF THE DRAWINGS

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.

DETAILED DESCRIPTION

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.

Illustrative Operating Environment

With reference to FIG. 1, 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. In a very basic configuration, computing device 100 typically includes at least one processing unit 102 and system 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 an operating system 105, one or more applications 106, and may include program data 107. In one embodiment, 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. 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 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. 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 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. 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 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.

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. 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.

Illustrative Presence Discovery and Publication System

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 in desktop 300 includes tiles (e.g., 320) that provide a variety of information to the user during a computing session. For example, 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. 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 the user 332, notification of presence of other users 334, and selection to view more detailed 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 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. In one embodiment, the information within window 340 includes presence information along with contact information provided by a contacts application associated with the computing device. For example, 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. 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 (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. 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 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. In the example shown, 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. 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 between PNM sidebar tile 502 and file system 516 to present the PNM information using 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. 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 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.

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.



Download full PDF for full patent description/claims.

Advertise on FreshPatents.com - Rates & Info


You can also Monitor Keywords and Search for tracking patents relating to this System and method for discovering and publishing of presence information on a network patent application.
###
monitor keywords



Keyword Monitor How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like System and method for discovering and publishing of presence information on a network or other areas of interest.
###


Previous Patent Application:
Scheduling events for multiple invitees
Next Patent Application:
Multi-application environment
Industry Class:
Data processing: presentation processing of document
Thank you for viewing the System and method for discovering and publishing of presence information on a network patent info.
- - - Apple patents, Boeing patents, Google patents, IBM patents, Jabil patents, Coca Cola patents, Motorola patents

Results in 0.73328 seconds


Other interesting Freshpatents.com categories:
Qualcomm , Schering-Plough , Schlumberger , Texas Instruments ,

###

Data source: patent applications published in the public domain by the United States Patent and Trademark Office (USPTO). Information published here is for research/educational purposes only. FreshPatents is not affiliated with the USPTO, assignee companies, inventors, law firms or other assignees. Patent applications, documents and images may contain trademarks of the respective companies/authors. FreshPatents is not responsible for the accuracy, validity or otherwise contents of these public document patent application filings. When possible a complete PDF is provided, however, in some cases the presented document/images is an abstract or sampling of the full patent application for display purposes. FreshPatents.com Terms/Support
-g2--0.6442
     SHARE
  
           

FreshNews promo


stats Patent Info
Application #
US 20120304091 A1
Publish Date
11/29/2012
Document #
13567820
File Date
08/06/2012
USPTO Class
715764
Other USPTO Classes
International Class
06F3/048
Drawings
10



Follow us on Twitter
twitter icon@FreshPatents