System and method for a user interface directed to discovering and publishing presence information on a network.
Abstract
A system and method is provided for a user interface directed to publication and discovery of the presence of users on a network. A sidebar tile is provided that peripherally and unobtrusively displays the presence information of nearby users on the network. The sidebar tile is also used to notify a local user that their information is also being published on the network. The sidebar tile provides options for selecting to change, enable, or disable the presence discovery service.

Term
Term ended
Expired 29 July 2024, 2.2 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
23 claims: 3 independent, 20 dependent
- 1REIVINDICACIONES 1. - Un método ¡mplementado por computadora para una ¡nterfase de usuario dirigida para descubrir y publicar información de presencia en una red, que comprende:determinar si un usuario local está presente en la red;determinar si un usuario cercano está presente en la red;demostrar una porción de la interfase de usuario para notificación periférica y discreta de la presencia del usuario local y la presencia del usuario cercano en la red;y presentar la presencia del usuario local y la presencia del usuario cercano en la porción de la interfase de usuario ciando se determina que el usuario local está presente en la red.
- 2- El método ¡mplementado por computadora de acuerdo con la reivindicación 1, en donde la porción de la interfase de usuario que es demostrada es un título de nota de recuadro.
- 3- El método ¡mplementado por computadora de acuerdo con la reivindicación 1, en donde la porción de l.a interfase de usuario además incluye una opción de habilitar y deshabilitar el título de nota de recuadro.
- 4- El método ¡mplementado por computadora de acuerdo con la reivindicación 1, en donde la porción de la interfase de usuario además incluye una selección para lanzar una ventana que incluye opciones para cambiar aspectos asociados con por lo menos uno del descubrimiento y la publicación de la información de presencia.
- 55, - El método ¡mplementado por computadora de acuerdo con la reivindicación 4, en donde la ventana es un vuelo.
- 66, - El método ¡mplementado por computadora de acuerdo con la reivindicación 1, en donde la porción de la interfase de usuario además Incluye una cuenta que corresponde a cómo se determinan muchos usuarios cercanos como presentes en la red.
- 77, - El método ¡mplementado por computadora de acuerdo con la reivindicación 1, en donde la porción de la Interfase de usuario además notifica al usuario local cuando no está disponible la red.
- 88, - El método ¡mplementado por computadora de acuerdo con la reivindicación 1, en donde la porción de la Interfase de usuario además incluye contenido rico que corresponde al usuario cercano cuando el contenido rico está disponible.
- 99, - El método ¡mplementado por computadora de acuerdo con la reivindicación 1, en donde la porción de la interfase de usuario además Incluye una selección para lanzar una ventana que Incluye Información detallada con respecto al usuario local y al usuario cercano.
- 1010, - El método ¡mplementado por computadora de acuerdo con la reivindicación 9, en donde la ventana corresponde a una interfase de usuario separada provista por una aplicación de contactos.
- 1111, - El método ¡mplementado por computadora de acuerdo con la reivindicación 9, en donde la información detallada es similar a la información que está localizada en una carpeta de contactos personal.
- 1212, - Un medio legible por computadora que incluye Instrucciones ejecutables por computadora para una ¡nterfase de usuario dirigida para publicar y descubrir información de presencia' en una red, que comprende:determinar si un usuario local está presente en la red;determinar si un usuario cercano está presente en la red;demostrar una porción de la ¡nterfase de usuario para notificación periférica y discreta de la presencia del usuario local y la presencia del usuario cercano en la red;y presentar la presencia del usuario local y la presencia del usuario cercano en la porción de la ¡nterfase de usuario cuando se determina que el usuario local está presente en la red y el usuario local ha seleccionado habilitar la presentación.
- 1313, - El medio legible por computadora de acuerdo con la reivindicación 12, en donde la porción de la ¡nterfase de usuario que es demostrada es un título de nota de recuadro.
- 1414, - El medio legible por computadora de acuerdo con la reivindicación 12, en donde la porción de la interfase de usuario además Incluye una opción de uno de habilitar y deshabilitar el título de nota de recuadro.
- 1515, - El medio legible por computadora de acuerdo con la reivindicación 12, en donde la porción de la ¡nterfase de usuario además Incluye lanzar una ventana que Incluye opciones para cambiar aspectos asociados con por lo menos uno del descubrimiento y la publicación de la Información de presencia.
- 16- El medio legible por computadora de acuerdo con la reivindicación 12, en donde la porción de la interfase de usuario además incluye una cuenta que corresponde a cuantos usuarios cercanos son determinados como presentes en la red. 5
- 1717,- El medio legible por computadora de acuerdo con la reivindicación 12, en donde la porción de la interfase de usuario además notifica al usuario local cuando la red no está disponible.
- 1818, - El medio legible por computadora de acuerdo con la reivindicación 12, en donde la porción de la interfase de usuario 10 además incluye una selección para lanzar una ventana que incluye información detallada con respecto al usuario local y al usuario cercano.
- 1919, - El medio legible por computadora de acuerdo con la reivindicación 18, en donde la ventana es un vuelo. 15 20,- El medio legible por computadora de acuerdo con la reivindicación 18, en donde la ventana corresponde a una interfase de usuario separada provista por una aplicación de contactos. 21,- Un sistema para la presentación de información de presencia descubierta y publicada en una red, que comprende:
- 2020 un dispositivo de cómputo que incluye una aplicación de ¡nterfase de usuario que está configurada para:determinar si un usuario local está presente en la red;determinar si un usuario cercano está presente en la red;demostrar una porción de la interfase de usuario para 25 notificación periférica y discreta de la presencia del usuario local y la presencia del usuario cercano en la red;y presentar la presencia del usuario local y la presencia del usuario cercano en la porción de la ¡nterfase de usuario cuando se determina que el usuario local está presente en la red.
- 2122, - El sistema de acuerdo con la reivindicación 21, en donde la porción de la interfase de usuario que es demostrada, es un título de nota de recuadro.
- 2223, - El sistema de acuerdo con la reivindicación 21, en donde la porción de la interfase de usuario además incluye una selección para lanzar una ventana que incluye opciones para cambiar aspectos asociados con por lo menos uno del descubrimiento y la publicación de la información de presencia.
- 2324, - El sistema de acuerdo con la reivindicación 21, en donde la porción de la ¡nterfase de usuario además incluye una cuenta que corresponde a cuantos usuarios cercanos son determinados como presentes en la red.
Independent claims23
108 paragraphs in 8 sections, as filed
(54) Title: SYSTEM AND METHOD FOR A USER INTERFACE DIRECTED TO DISCOVER AND PUBLISH PRESENCE INFORMATION ON A NETWORK.
(54) Title: SYSTEM AND METHOD FOR A USER INTERFACE DIRECTED TO DISCOVERING AND PUBLISHING PRESENCE INFORMATION ON A NETWORK.
(57) Summary
A system and method are provided for a targeted user interface for publishing and discovering the presence of users on a network. A box note title is provided that peripherally and discreetly presents the presence information of nearby users on the network. The box note title is also used to notify a local user that their information is also being posted online. The box note title provides options to select to change, enable, or disable the presence discovery service.
(57) Abstract
A system and method is provided for a user interface directed to publication and discovery of the presence of users on a network. A sidebar tile is provided that peripherally and unobtrusively displays the presence information of nearby users on the network. The sidebar tile is also used to notify a local user that their information is also being published on the network. The sidebar tile provides options for selecting to change, enable, or disable the presence discovery Service.
(12) INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT) (19) World Intellectual Property Organization International Bureau (43) International Publication Date 24 November 2005 (24.11.2005)
<img file="MXPA05006637A_D0001.tif" />
PCT (10) International Publication Number
WO 2005/111779 A2
ΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΒΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙΙ ^ ™ 6¿uii / sooi ΟΜ (51) International Patent Classification<sup>7</sup>: G06F7 / 00 (21) International Application Number:
PCT / US2004 / 024367 (22) International Filing Date: 29 July 2004 (29.07.2004) (25) Filing Language: English (26) Publication Language: English (30) Priority Data:
10 / 837,349 May 1, 2004 (May 1, 2004) US (71) Applicant (for all designated States except US): MICROSOFT CORPORATION [US / US]; One Microsoft Way, Redmond, WA 98052 (US).
(72) Inventors; and (75) Inventors / Applicants (for US only): OREIZY, Peyman [US / US]; 127 9th Lañe, Kirkiand, WA 98033 (US). MOORE, Kevin, R. [US / US]; 2550 3id Avenue # 419, Seattle, WA 98121 (US). HARVEY, Marcus, S., H.
[GB / US]; 4128 Baker Avenue NW, Seattle, WA 98107 (US). BLAGSVEDT, Sean [US / US]; 330 16th Avenue East, Seattle, WA 98112 (US).
(74) Agent: BRUESS, Steven C .; Merchant & Gould PC, PO Box 2903, Minneapolis, MN 55402-0903 (US).
(81) Designated States (unless otherwise indicated, for every kind of national protection available): AE, AG, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BW, BY, BZ, CA, CH, CN , CO, CR, CU, CZ, DE, DK, DM, DZ, EC, EE, EG, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, IS, JP , KE, KG, KP, KR, KZ, LC, LK, LR, LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, MZ, NA, NI, NO, NZ, OM , PG, PH, PL, PT, RO, RU, SC, SD, SE, SG, SK, SL, SY, TJ, TM, TN, TR, TT, TZ, UA, UG, US, UZ, VC, VN , YU, ZA, ZM, ZW.
(84) Designated States (unless otherwise indicated, for every kind of regional protection available): ARIPO (BW, GH, GM, KE, LS, MW, MZ, NA, SD, SL, SZ, TZ, UG, ZM, ZW ), Eurasian (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), European (AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB , GR, HU, IE, IT, LU, MC, NL, PL, PT, RO, SE, SI, [Continued on next page] (54) Title: SYSTEM AND METHOD FOR A USER INTERFACE DIRECTED TO DISCOVERING AND PUBLISHING PRES- , ENCE INFORMATION ON A NETWORK · ·
<img file="MXPA05006637A_D0002.tif" />
(57) Abstract: A system and method is provided for a user interface directed to publication and discovery of the presence of users on a network. A sidebar tile is provided that peripherally and unobtrusively displays the presence information of nearby users on the network. The sidebar tile is also used to notify a local user that their information is also being published on the network. The sidebar tile provides options for selecting to change, enable, or disable the presence discovery Service.
SYSTEM AND METHOD FOR A USER INTERFACE
AIMED TO DISCOVER AND PUBLISH INFORMATION OF
PRESENCE ON A NETWORK
BACKGROUND OF THE INVENTION
The concept of presence has come enormously to the forefront of real-time communications and network applications. Presence usually refers to the ability to detect if a user is online and available. An example of an application that takes advantage of presence information is an Instant Messenger (IM) program. An IM program provides a method for the user to send messages
Snapshots to other IM users over the Internet or over a network. IM is a type of communications service that allows a user to create a type of private chat room with another individual in order to communicate in real time over the Internet. IM is analogous to a phone conversation, but uses text-based, not voice-based, communication. Typically, the Instant messaging system alerts a user every time someone, on the user's private list, is online. The user can then start 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. The presence of other users outside of the user's listed contacts has been Unreachable. Other applications have discovered which devices are on a network, but not the users. The presence information that has been provided, has been presented by user interfaces either bothersome or intrusive. For example, an IM application is required to be open, running, and in user view in order to present presence information.
SUMMARY OF THE INVENTION
The present invention is generally intended to provide a system and method for a user interface aimed at publishing and discovering Presence Information for users over a network. The user interface provides peripheral, non-intrusive notification of the local user's posting on the network, while providing presence of nearby users on the network. The present invention takes advantage of a box note provided on the local user's desktop that includes various titles. The various titles provide different functionality as selected by the local user. For the present invention, the presence information is provided as one of the titles of the box note. Correspondingly, the presence information is provided peripherally to other applications that run on the user's computing device. When the user has the box note title enabled, the presence information is provided and updated so that it can be constantly viewed by the user. However, the information is provided so that the updates are not intrusive to the local user as they work on their computing device. For example, the title of the box note may merely contain the number of nearby users. The number is updated as people enter and leave the network. Therefore, the local user can take note of the change in the Presence Information provided, without the Presence Information being forcibly pushed to the local user.
Additionally, the title of the box note provides selections to change aspects of the presence discovery service. The local user can enable or disable the Presence Discovery service of the box note title, or even select to undo the same box note title.
In accordance with one aspect of the present invention, there is provided a computer-implemented method for a directed user interface for discovering and publishing presence information on a network. The method determines if a local user is present on the network and if a nearby user is present on the network. A portion of the User Interface is exemplified for peripheral and discrete notification of the presence of the local user and the presence of the nearby user on the network. The presence of the local user and the presence of the nearby user are then displayed at the user interface portion when the local user is determined to be present on the network.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 shows an Illustrative computing device that can be used in accordance with the Illustrative embodiments of the present invention.
Figure 2 shows an alternative operating environment for a mobile device substantially for use herein.
Invention.
Figure 3 shows an Illustrative box note inside a desk.
Figure 4 shows a functional block diagram of a system for discovering and publishing Nearby Presence Information on a network.
Figure 5 shows another functional block diagram of a system for discovering and publishing nearby presence information on a network.
Figure 6 shows Illustrative file structures corresponding to a file system for storing Presence Information.
Figure 7 shows Illustrative inset note titles associated with publishing and discovering the presence of a close user on a network.
Figure 8 shows an Illustrative status table to implement the user interface for publishing and discovering Network Presence Information.
Figure 9 shows an illustrative Identity verification in relation to a notification of presence of a close user, according to the present invention.
DETAILED DESCRIPTION
The present invention will now be more fully described with reference to the accompanying drawings, which form a part thereof, and which show, by way of illustration, specific illustrative embodiments for practicing the invention. However, this invention can be embodied in many different ways and should not be construed as limited to the embodiments set forth herein; rather, these modalities are provided so that this description will be fully complete, and will handle the scope of the Invention to those skilled in the art. Among other things, the present invention can be embodied as methods or devices. Accordingly, the present invention may take the form of a fully hardware embodiment, a fully software embodiment, or an embodiment that combines the software and hardware aspects. The following detailed description, therefore, should not be taken in a limiting sense.
Illustrative Operating Environment
With reference to Figure 1, an Illustrative system for implementing the invention includes a computing device, such as computing device 100. Computing device 100 can be configured as a client, a server, a mobile device, or any other computing device that provides discovery and publication of 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 can 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 person near my application 120. This basic configuration is illustrated in the Figure 1 through those components within the drawn line 108.
The computing device 100 may have additional aspects or functionality. For example, computing device 100 may also include additional data storage devices (removable and / or non-removable) such as, for example, magnetic discs, optical discs, or tape. Said additional storage is illustrated in Figure 1 through removable storage 109 and non-removable storage 110. Computer storage media may include volatile, non-volatile, removable, and non-removable media, implemented in any method or technology for storing Information, such as computer-readable Instructions, data structures, program modules, or other data. System memory 104, storage removed 109 and storage not removed 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 discs (DVD) or other optical storage, magnetic cassettes, magnetic tape, disk storage magnetic or other magnetic storage devices, or any other means that can be used to store the desired Information and which can be accessed by the computing device 100. Any computer storage medium can be part of device 100. Computing device 100 can also have input devices 112 such as a keyboard, mouse, pen, voice input device, touch input device, etc. You can also include output devices 114 such as a presentation, speakers, printer, etc.
The 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 an example of communication means. The media can typically be modulated by computer-readable instructions, data structures, program modules, or other data into a modulated data signal, such as a carrier wave or other transport mechanism, and includes any means of supplying Information. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a way that it encodes the Information in the signal. By way of example, and not limitation, the media includes cable media such as a cable network or direct cable 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.
Figure 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 a wireless telephone.
In this embodiment, mobile device 200 has a processor 260, memory 262, display 228, and a numeric keypad 232. Memory 262 generally includes both volatile memory (eg, RAM) and nonvolatile memory (eg, ROM). , Flash memory, or the like). Mobile device 200 includes an operating system 264, which is resident in memory 262 and runs on processor 260. The 232 keypad may be a push-button number dial pad (such as a typical telephone), a multi-key pad (such as a conventional keypad), or may not be included in the mobile device in consideration of a display screen. touch or stylet. Display 228 can be a liquid crystal display, or any other type of display commonly used in mobile computing devices. Presentation 228 can be touch sensitive, and could also act as an input device.
One or more application programs 266 are loaded into memory 262 and run in operating system 264. Examples of application programs include dial-up programs, email programs, sorting programs, PIM (personal information handling) programs, word processing programs, spreadsheet programs, Internet browser programs, etc. In one modality, 266 application programs include a 280 people near me (PNM) application. Mobile device 200 also includes nonvolatile storage 268 within memory 262. Nonvolatile storage 208 268 can be used to store persistent information, which should not be lost if mobile device 200 is disabled. Applications 266 can use and store information in storage 268, such as email or other messages used by an email application, contact information used by a PIM, appointment information used by a management 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 in a host computer to keep the information stored in storage 268 synchronized with the corresponding information stored in the host computer.
Mobile device 200 has a power supply 270, which can be implemented as one or more batteries. The power supply 270 may further include an external power source, such as an AC adapter or powered platform bracket 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 can be directly coupled to the power supply 270 so that when activated, they stay on for the duration dictated by the notification mechanism even though processor 260 and other components can be turned off to conserve battery power. LED 240 can be programmed to stay on indefinitely until the user TAME action to indicate the device's power status. Audio interface 274 is used to provide audible signals and receive audible signals from the user. For example, audio interface 274 can be coupled to a horn to provide an audible output and to a microphone to receive an 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 mobile device 200 and the external world, through a communications carrier or service provider. Transmissions to and from radio 272 are conducted under the control of operating system 264. In other words, the communications received by radio 272 can be disseminated to application programs 266 through operating system 264, and vice versa.
Radio 272 allows mobile device 200 to communicate with other computing devices, such as over a network. Radio 272 is an example of media. The media can typically be modeled by computer-readable instructions, data structures, program modules, or other data into a modulated data signal, such as a carrier wave or other transport mechanism, and includes any means of supplying information. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a way that it encodes the information in the signal. By way of example, and not limitation, the media includes wired media such as a wired network or direct cable 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 System of Discovery and Publication of Presence
The present invention generally provides a system for a user interface aimed at discovering Presence Information of people close to a user, as well as publishing the presence of a user for those people who are nearby. As used here, the term "fence" means people connected within the network or physical proximity to the user. For example, people whose devices are connected within the same local area network can be considered "close to each other. Also, people whose devices are connected to the same network can be considered as "close". Furthermore, users present in a local link network can be considered as "close". Alternatively, the physical location designation can also be Included in the Presence Information so that the people in the same room are those who are considered “close”. The use of "fence" in this application is not limited to a single level of proximity, or requires immediate proximity between the user and those designated as "close". "Close or close" can be designated for any relationship between users based on either the physical or network location of the person or their associated device (eg, computing device, mobile device, etc.).
Figure 3 illustrates an illustrative box note within a desk in accordance with the present invention. Box note 310 on desktop 300 includes titles (eg 320) that provide a variety of information to the user during a computing session. For example, titles within box note 310 may include media information, email notifications, sort notifications, as well as other information. Each title may include cones and other content that differentiates the titles from each other. Also included in accordance with the present invention is a PNM (people close to me) box note title, which peripherally and discreetly provides presence information to the user.
The illustrative PNM 330 note pad title includes a presence indicator posted by user 332, the presence notification of other users 334, and the selection to view more detailed Presence Information 336. In this example, flag 332 provides the user-selected alias that is published to other users on the network. Claim 334 provides a dynamically updated number of users who are actually considered close to the user (for example, 23 users are close). Selection 336 provides a link to more detailed information regardless of the presence of other users on the network. For example, when a user chooses selection 336, window 340 opens to provide detailed information to the user.
Window 340 provides the user with more detailed information on nearby users on the network. In one embodiment, the information within window 340 includes presence information along with contact information provided by a contact application associated with the computing device. For example, the detailed information in window 340 may include a distinction between those contacts who are offline and those who 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 "flight" or window that is a component of the box note title. In another embodiment, window 340 is produced by a contacts application and PNM information is provided to the contacts application to be included within the contacts ul.
Figure 4 shows a functional block diagram of a system for the discovery and publication of nearby presence information in a network according to the present invention. System 400 includes a PNM 410 inbox note title (people close to me) (see Figure 3), scanner 420, SSDP layer 430 (simple service discovery protocol), file system 440, and network layer 450 Explorer 420 includes a PNM component 422.
The PNM 410 note pad title is a user interface that provides discrete peripheral notification to a user of those deemed close to the user. The title of PNM box note 410 is described in more detail in relation to the discussions in Figures 7 and 8 below.
SSDP layer 430 provides the protocol for discovering and publishing presence information on the network. The SSDP 430 layer is considered as a subgroup protocol of a UPnP protocol (universal plug and play) for device connectivity 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 are developed on top of these to implement the various steps or phases of the UPnP network, such as SSDP. The form of PNM messages transmitted and received according to SSDP layer 430 is described in more detail in relation to Figure 5 below.
The file system 440 provides an extensible storage location for Information regarding the presence of people near the user. In one embodiment, file system 440 is the WlnFS file system created by Microsoft Corporation of Redmond, Washington. The 440 file system is arranged to allow PNM (people close to me) information to be presented through more than one Ul (User Interface) and link PNM Information to other databases for use. For example, file system 440 may include a contact folder, where the user's contacts are stored. PNM information can be used to indicate to the user which of the listed contacts is considered the closest to the user. Other relationships between PNM information and other data can also be formed to provide distribution and use of PNM information across multiple applications.
Network layer 450 Includes controllers and network access for communication of PNM Information. The network can be the Internet or a private network. The user's presence is published through the network layer 450, while the presence information of another is received through the network layer 450. The structure of the network layer 450 can be any structure that allows the discovery and publication of presence information in accordance with the present invention.
The PNM component 422 in browser 420 provides coordination and communication between the PNM 410 note pad title, the SSDP layer 430, and the file system 440. The PNM component 422 receives events through the SSDP layer 430 indicating updates to the presence information on the network. The PNM 422 component also receives user-selected changes without considering the publication of the user's presence and changes to the presentation of the presence information by the PNM 410 note note title. The PNM 422 component provides changes to the data of the Presence within file system 440 in response to changes to PNM box note title 410 and SSDP layer 430.
Figure 5 shows another functional block diagram of a system for the discovery and publication of near presence information in a network according to the present invention. System 500 is similar to system 400 in Figure 4 shown in greater detail regarding the operation of PNM functionality (people close to me). System 500 Includes PNM 502 Box Note Title, PNM 504 Publish Function, PNM 506 Discovery Function, PNM 508 Persistence Function, SSDP Layer 510, Network Layer 512, Contact User Interface 514, Contact System 516 files, and PNM 518 folder.
The PNM 502 box note title is similar to the PNM 410 box note title shown in Figure 4, and is used to allow the user to make changes to PNM functionality and view the Presence Information provided by the PNM system. In the example shown, the PNM 502 box note title queries file system 516 directly for the number of people nearby and the other information presented by the PNM 502 box note title. In another modality, the title of the box note
PNM 502 communicates with a user interface for a contacts application (for example, Contacts Ul 514). The contacts user interface coordinates between the PNM 502 box note title and the 516 file system to present the
PNM information using Ul contact 514.
The PNM 504 publishing function publishes data about the local user of the network. The SSDP 510 layer publishes the data as a live packet indicating that the local user is online, and the data includes Information such as the user's display name. Live packet Indicates that the local user is present on the network and available. Additional information published in the live package includes a share address that resolves to the local user's machine address. In a further embodiment, the live packet may Include identity verification data, such as a public key and / or private key, which allows a user to verify the identity of the user that is present on the network. A procedure for verifying the identity of close people is discussed in more detail in relation to the discussion in Figure 9.
A "goodbye-bye" message is also posted by the SSDP 510 layer in response to the local user selecting to unblock the PNM service. The bye-bye message refers to a notification provided to the network that the presence of the local user on the network is discontinued.
In addition, 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 in which the local user's PNM service is valid. In one instance, maximum lifetime ownership is provided in the event that the PNM service suddenly ends, without a goodbye-bye message being posted. The expiration of the maximum lifetime property notifies other users that a particular user presence on the network has ended, and the user is no longer present. As long as the user maintains the PNM service as enabled, live packets are continually posted on the network that renews maximum lifetime ownership so that indications of the local user's presence on the network are maintained.
Also posted in the SSDP live packet cache control header and the goodbye-bye message is the service id. The service ID uniquely identifies each of the users that are present on the network.
In an alternative mode, the PNM publishing function
504 publishes only a portion of the data that will be provided to the nearby user on the network in the form of a message or package. The remaining data is rather provided to a nearby user using a dedicated port established by the local user in response to a request by the nearby user. Using these communication methods in combination to provide data to nearby users reduces the size of packets and increases their total speed on the network to update presence notifications more quickly.
Various events may also require that a live package be republished. For example, the user can select to change their display name. The live package is republished with the changed display name but with the same service ID. Consequently, users on the network know that the change is not a new PNM presence on the network, but it is the same presence with a new display name.
The PMN 506 discovery function queries for presence information for other nearby users on the network to introduce itself to the local user. The SSDP 510 layer receives live and bye-bye messages from the network and maintains a database of actually close users. In response to events on the network (eg, receipt of the live packet), the SSDP layer 510 sends the message that corresponds to the event of the PNM 506 discover function. In one embodiment, the SSDP layer 510 also follows the maximum lifetime property of each received live packet and notifies the PNM 506 discovery function when the property expires. Discovery PNM 506 sends changes due to events in the network to persistence function PNM 508.
The PNM 508 persistence function provides instructions for changes to the data stored in the file system 516 and the PNM 518 folder. In one mode, the PNM 518 folder includes a list of users who are close to the local user. The PNM 518 folder can be linked to other folders in the 516 file system. Illustrative folder relationships between the PNM 518 folder and other folders in the 516 file system are described in Figure 6 below.
Discussion through specification and claims refers to "posting presence information and" posting contacts. " These phrases and their variations refer to providing recoverable information on the network about a user on the network. The published information may include the live package referenced above, the goodbye-bye message, identity information, general contact information (for example, phone numbers, address, etc.), and any other information related to an entity or device connected to the network.
Figure 6 shows illustrative file structures corresponding to a file system for storing presence information in accordance with the present invention. The file system 600 includes the PNM folder 610, person object 612, and the personal contacts folder 620.
When the SSDP layer sends a live message to the PNM component of the browser (see Figure 4), Person Object 612 is exemplified. The live message data, such as the share address and presentation name, is populated in person object 612. In one embodiment, verification of the data in the live message is performed before the population in the object of 612 person to ensure the authenticity of the data provided. Verification prevents unauthorized browser actions due to bogus addresses and storing bogus entries within contacts of a local user.
In one embodiment, person object 612 is associated with PNM folder 610 as a contact entry. Therefore, a local user can open the PNM 610 folder to see all the contact entries corresponding to other nearby users. Also, a procedure afterward can count the number of entries within the PNM 610 folder to provide a presentation of the number of people near the local user.
In another embodiment, a relationship can be generated between the contact entries in the personal contact folder 620 and the contact entries in the PNM folder 610. The relationship is generated when the received live message has an identity verification associated with it. For example, cryptic public key encryption can be used in conjunction with the live message to verify the identity of the source of the live message. The use of cryptic public key coding with the PNM system is described in more detail with respect to Figure 9 below. When the identity of the user sending the live message is verified as an existing entry in the personal contact folder 620, a link is generated for that entry instead of a new people object. Accordingly, the entry in the PNM folder 610 includes rich content associated with the personal contacts folder 620 (for example, addresses, phone numbers, images, etc.) instead of the simple object of people with the presentation name and address of shared. In addition, the relationship is mobilized with the entry in the personal contact folder 620, so that when the entry is opened in the personal contact folder 620, the Presence Information is displayed (for example, presentation name, online status , shared address, etc.).
In yet another embodiment, a relationship is created between person object 612 and personal contact folder 620. With the relationship, PNM contact entries are reflected within personal contact folder 620, but remain identified as PNM contacts of according to a PNM GUID (PNM Global Unique Identifier). In one Instance, the PNM GUID is Identified according to a PNM stripper that Identifies all PNM entries combined with the service ID (see discussion in Figure 5). Therefore, the PNM GUID identifies a contact entry as a PNM contact, and distinguishes each PNM contact from each other. Then a procedure can count the number of contact entries within the 620 personal contacts that have an associated PNM GUID to present the number of people nearby. In addition, the Unique Identification of PNM entries allows the personal contact folder 620 to remove PNM entries when the local user selects to disable the PNM service. System file 600 is therefore synchronized with the presence of people nearby on the network, as the personal contact folder 620 can be updated as people move on and off the network and the local user enable and disable the PNM service.
Storing PNM contacts as part of the local user's general (i.e. personal) contact list also allows other applications to take advantage of Presence Information for people nearby. For example, you can use a general contact user interface to generally view the local user contact list. By populating the personal contacts folder 620 with the PNM contacts, the PNM contacts are reflected in the general contacts user interface. Other applications (eg contact pickup dialog) that have access to the personal contact folder 620 are also able to take advantage of the Presence Information and present the people who are nearby on the network.
Figure 7 shows Illustrative inset note titles associated with publishing and discovering the presence of close users on a network in accordance with the present invention. Three title scenarios are displayed that provide different box note titles based on user selections and network status. A possible view of the box note (for example, 712) is provided in each scenario along with a possible expanded view (for example, 714). In another embodiment, each expanded view (eg 714) can be a separate window that is generated rather than being within the same box note.
Scenario 710 shows an Illustrative Ul for when the PNM service (people close to me) is still enabled by the user. The reduced PNM box note title 712 provides a selection to enable the service. The expanded PNM box note title 714 provides other options regarding the display name that the local user wants to publish and other options to configure the PNM service.
Scenario 720 shows an Illustrative Ul for when the PNM service (people close to me) has been enabled by the user. The reduced PNM box note title 722 provides an indication of the number of people nearby and also provides a selection for more detailed information regarding people nearby. The expanded PNM box note title 724 provides other options regarding the display name that the local user wants to publish and other options to configure the PNM service and view more detailed presence information.
Scenario 730 shows an illustrative Ul for when the network is not available. The reduced PNM box note title 732 provides a selection to view details of network unavailability. The expanded PNM box note title 734 provides the options to configure the PNM service, while also providing an option to fix network failure flaws.
Figure 8 shows an illustrative state table for implementing the user interface for publishing and discovering network presence information in accordance with the present invention. The finite state machine 800 includes ten states regarding the display of the user interface
PNM (people near me) based on service status
PNM.
Initially, the verification application of a mobile device is in the 801 state, indicating that neither the PNM service nor the PNM box note title is enabled and the box title is not available. When the PNM box note title is enabled, the state machine 800 is moved to an 802 state.
In state 802, the PNM box note title is in a standby mode, waiting for further input from the local user. Crazy user input! It may be to disable the PNM box note title. If the local user undoes the PNM box note title, the state machine 800 moves back to state 801. In one mode, when the box note title
PNM is enabled for the first time (i.e. state 802 is reached from state 801), state machine 800 moves to state 803.
In state 803, an external window is automatically provided for the local user, so that the local user can select Initial options related to the PNM service (for example, a display name). IF the user chooses to cancel without selecting other options, the state machine 800 returns to state 802. However, if the user chooses to select options for the PNM service, the state machine 800 advances to state 804.
In an alternative mode, status 803 is not Included and options are not provided. The local user can then select to enable the PNM service and the state moves directly from state 802 to state 804.
Status 804 is included among states (804, 805, 806, 807) that are within status region 820. Status rule 820 represents when the PNM service is being enabled or has been enabled. In state 804, the PNM service is being enabled. IF the enabling procedure is successful, the state machine 800 moves to state 805, where the PNM service is enabled and close people are introduced to the user. However, if no network is found during the enable procedure, state machine 800 moves to state 806.
In state 806, a wait cycle is entered, where the PNM system waits for the network to return. State 806 can also be reached from state 805 when a network failure occurs, while the PNM service is enabled. When the network is again available, the state machine 800 moves to state 805 where PNM is enabled and presents nearby people.
While the PNM service is being enabled in state 804, a connection to the browser cannot be established (see Figure 4). As previously described, the browser includes code to implement the PNM service. If the browser is not reached after a specific count (for example, 12 seconds), then state machine 800 moves from state 804 to state 807. In state 807, the enabling procedure
--1 waits 5 seconds and then returns to state 804 to retry a connection to the browser.
Under certain circumstances, an error may occur during the enablement procedure that is critical enough to prevent the PNM service from operating properly. When a critical error occurs, the state is moved from state 804 to state 808. In state 808, the local is notified of the critical error and that the PNM service cannot continue. The local user can then select to disable the PNM box note title and the state machine 800 moves back to state 801.
In any of the states within state region 820, the user can select to cancel a current operation. The cancellation of the current operation discontinues the enabling or disabling of the PNM service. With PNM service disabled, state machine 800 moves back to state 802, where the PNM box note title is in a standby mode, awaiting further input from the local user.
In addition, in any of the states within status region 820, the user can select to close the PNM box note title or the same box note. If the user makes a selection to disable either the PNM box note title or the box note, the state machine 800 moves to state 810. In state 810, the effected systems and folders (for example, the contacts folder) are cleaned up and the PNM box note title is disabled, moving the state machine 800 to state
801. In one embodiment, when the system is cleaned, instances of PNM contacts and other PNM data are removed from the file system. Also, the SSDP layer (see Figure 4) is instructed to discontinue publication of the local user's presence and discovery of the presence information of other nearby users on the network.
Figure 9 shows an illustrative identity verification in relation to a notification of presence of a close user, in accordance with the present invention. For identity verification, user 1 has a group of items 910 associated with a presence notification (ie, a live packet). A public key (Pul) 911 and a private key (Pr1) 912 are associated with user 1. Data (D) is sent in the presence notification that includes a presentation name 913, a shared address 914, timestamp 915, and cryptography (Pu 1+ SALT) 916. Data (D) is signed with the private key (Pr1) 911 so that the data (D) has an associated signature S1 (D) 917.
Presentation name 913 and share address 914 are optionally included in the presence notification to allow a local user to publish a name for nearby users who do not know the local user and to notify the nearby user that they have shared information. Timestamp 915 is included to provide a time interval in which the signature S1 (D) is valid. Cryptography (Pu1 + SALT) 916 is also optionally included. Cryptography (Pu1 + SALT) 916 is a cryptographic version of the public key (Pul) 911 along with a number of random data called "salt". Salt is also published in data (D) when salt is included in cryptography. The crypto public key (Pul) 911 ensures that a third party is unable to verify public keys as they are transferred between users. A third party that sees a crypto public key sees only random data that is not consistent as a public key. Adding salt to the crypto public key also allows the public key to be obfuscated and helps prevent tracing of the public key. The public key (Pul) 911 of cryptography also provides narrowing of the identity of the user's publication data (D). Without the crypto public key, it may be necessary to process the public key of each contact to determine who signed the data (D). With the public crypto key published, contacts can first be queried for contacts with a public key that reports to match crypto (Pul + salt) 916. Hence, crypto publishing (Pu1 + salt)
916 Allows results to be narrowed, increasing the speed of the verification procedure. In other embodiments, the public key (Pul) 910 is either not cryptically reported or rather cryptically reported without the salt (eg, a random rearrangement of bits in the public key).
When user 1 generates the private key (Pr1) 912, the public key (Pul) 911 is also generated and associated with the private key (Pr1) 912. User 1 is then able to send the public key (Pul) 911 to the user 2. With the public key disseminated, user 1 is able to sign a group of data (for example, D) with the private key (Pr1) 912, so that the data includes the signature S1 (D) 917. Consequently, only users who have public key (Pul) 911 associated with user 1 (for example, user 2) are able to see the data signed with private key (Pr1) 912 if the data was cryptically encrypted. Regardless of the cryptic encoding used, the S1 (D) signature continues to prove that the (D) data was not falsified with and that (D) data originated from user 1, thus providing the identity of user 1. For example, with public key (Pul) 911, user 2 is able to generate an equivalent crypto of the public key (e.g. crypto (Pu1 + salt) 921) to compare with the original crypto of the public key (for example, crypto (Pu1 + salt) 916). When the crypto match (and the data was cryptically encoded), user 2 knows that the display name 913, the share address 914, and the timestamp 915 actually originated from user 1 instead of a malicious user.
The S1 (D) 917 signature prevents a malicious user from trying to republish the data posted by user 1 on another network by changing the share address 914. An attempted change to the share address 914 breaks the S1 (D) 917 signature, from Thus, a user who receives the malicious re-broadcast is notified that the data is not verified. Also, the malicious user cannot re-sign the data as they do not have the private key (Pr1)
912.
Also, the inclusion of a 915 timestamp makes the S1 (D) 917 signature valid for the specified period of time. When the time period expires, so does the identity verification. The 915 timestamp prevents malicious users from re-broadcasting data unchanged after a particular period of time has passed. Other users who receive this data after the time period has expired simply ignore the data since the 915 time stamp expired.
In one embodiment of the present invention, the transferred data corresponding to the presence of the nearby user 1 in the network is not cryptically encrypted even if a public key infrastructure (PKI) is used. Rather, the use of public and private keys is limited to verifying the identity of a user as the source of the data. The data sent is written in plain text and therefore can be seen, but the cryptic encoding of the public key verifies the identity of the user for whom the data is published.
As previously established in relation to Figure 6 above, once the identity of the user posting the data is verified as an existing contact, a richer group of data can be provided to the user, improving the presentation of PNM information. for 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 that follow.
Contents8
11 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11
22 members in 11 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 83734904 | United States of America | A | |
| 2004024367 | United States of America | W |
Members22
| Document | Office | Kind | |
|---|---|---|---|
| CA2501486A1 | Canada | A1 | |
| US2005246369A1 | United States of America | A1 | |
| AU2004279203A1 | Australia | A1 | |
| WO2005111779A2 | World Intellectual Property Organization (WIPO) | A2 | |
| MXPA05006637AThis record | Mexico | A | |
| MXPA05006637AThis record | Mexico | A | |
| BRPI0406382A | Brazil | A | |
| BRPI0406382A | Brazil | A | |
| RU2005120684A | Russian Federation | A | |
| EP1743237A2 | European Patent Office (EPO) | A2 | |
| KR20070015838A | Republic of Korea | A | |
| WO2005111779A3 | World Intellectual Property Organization (WIPO) | A3 | |
| JP2007535754A | Japan | A | |
| CN101137951A | China | A | |
| US7607096B2 | United States of America | B2 | |
| CN100557551C | China | C | |
| AU2004279203B2 | Australia | B2 | |
| EP1743237A4 | European Patent Office (EPO) | A4 | |
| RU2010133858A | Russian Federation | A | |
| KR101319640B1 | Republic of Korea | B1 | |
| CA2501486C | Canada | C | |
| RU2569804C2 | Russian Federation | C2 |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Grant or registrationFG | FG |
Numbers
- Application
- 5006637
Titles2
- English
- SYSTEM AND METHOD FOR A USER INTERFACE DIRECTED TO DISCOVERING AND PUBLISHING PRESENCE INFORMATION ON A NETWORK.
- Spanish
- SISTEMA Y METODO PARA UNA INTERFASE DE USUARIO DIRIGIDA A DESCUBRIR Y PUBLICAR INFORMACION DE PRESENCIA EN UNA RED.
Classification
- CPC, 4
- G06Q10/10
- G06Q50/10
- H04L51/043
- H04L51/222
- IPC, 7
- G06F13 00
- G06F3 14
- G06F7 00
- G06F17 00
- G06F17 30
- G06F19 00
- H04L12 02