Abstract: [0054] A method and system is provided. The method includes receiving at least one of presence information and location information of one or more address book contacts by an Open Mobile Alliance-Converged Address Book (OMA-CAB) server. The method also includes synchronizing an address book of an OMA-CAB client with the presence information and the location information of the one or more address book contacts. The system includes an OMA-CAB server. The OMA-CAB server includes a processor to receive at least one of presence information and location information of one or more address book contacts and to synchronize an address book of an OMA-CAB client with the presence information and the location information of the one or more address book contacts.
METHOD AND SYSTEM FOR DETERMINING PRESENCE AND LOCATION INFORMATION IN OPEN MOBILE ALLIANCE CONVERGED ADDRESS BOOK
DESCRIPTION FIELD
[1] The present invention relates to the field of Open Mobile Alliance-Converged Address Book (OMA-CAB). More particularly, the present invention relates to determining presence and location information in Open Mobile Alliance-Converged Address Book (OMA-CAB).
BACKGROUND
[2] Open Mobile Alliance (OMA) is an international organization developing interoperable specifications for global adoption of data services. Converged Address Book (CAB) is a working group of the OMA. OMA-CAB is an enabler that allows use of a single network-based address book environment by different data services and devices.
[3] The OMA-CAB provides consistent mechanisms to manage address book contact information in both user facing applications and in support of network facing activities. In addition to traditional telecommunication features, the OMA-CAB supports many other features that are not local to user devices, for example network storage, publication and subscription support. The need for interoperable functionality has thus established the need for the OMA-CAB.
[4] Often, it is desired to enhance user experience in the OMA-CAB. In an existing scenario, the OMA-CAB provides a user, updated information of one or more address book contacts. However, there is no information regarding availability of the one or more address book contacts, if the user has a need to establish contact. Further, if the user needs to have knowledge of whereabouts of the one or more address book contacts, there is no provision to do so. Furthermore, there is bandwidth limitation at the OMA- CAB client for receiving updated information of the one or more address book contacts.
[5] In light of the foregoing discussion, there is a need for an efficient technique to solve the above mentioned problems.
SUMMARY
[6] Embodiments of the present invention provide a method and system for determining presence and location information in Open Mobile Alliance-Converged Address Book (OMA-CAB).
[7] In one embodiment, a method includes receiving at least one of presence information and location information of one or more address book contacts to an Open Mobile Alliance-Converged Address Book (OMA-CAB) server. The method also includes synchronizing an address book of an OMA-CAB client with the presence information and the location information of the one or more address book contacts.
[8] In one embodiment, a system includes an Open Mobile Alliance-Converged Address Book (OMA-CAB) server. The OMA-CAB server includes a processor to receive at least one of presence information and location information of one or more address book contacts and to synchronize an address book of an OMA-CAB client with the presence information and the location information of the one or more address book contacts.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of an environment, in accordance with which various embodiments can be implemented;
[10] FIG. 2 is a block diagram of a system for determining presence and location information in Open Mobile Alliance-Converged Address Book (OMA-CAB), in accordance with one embodiment;
[11] FIG. 3 is a block diagram of an Open Mobile Alliance-Converged Address Book (OMA-CAB) architecture, in accordance with one embodiment;
[12] FIG. 4 is a flowchart illustrating a method for determining presence and location information in Open Mobile Alliance-Converged Address Book (OMA-CAB), in accordance with one embodiment; and
[13] FIG. 5 is a flowchart illustrating a method for determining presence and location information in Open Mobile Alliance-Converged Address Book (OMA-CAB), in accordance with another embodiment.
DETAILED DESCRIPTION
[14] Embodiments of the present invention provide a method and system for determining presence and location information in Open Mobile Alliance-Converged Address Book (OMA-CAB).
[15] FIG. 1 is a block diagram of an environment 100, in accordance with which various embodiments can be implemented. The environment 100 includes one or more OMA-CAB clients, for example, an OMA-CAB client 105a, an OMA-CAB client 105b and an OMA-CAB client 105c, connected to an OMA-CAB server 115 through a network 110. Each OMA-CAB client, for example the OMA-CAB client 105a, is included in a portable computing device. Examples of the portable computing device include, but are not limited to, a mobile device, a personal digital assistant and a notebook. The OMA-CAB client 105a includes an address book with information of one or more address book contacts. The OMA-CAB client 105a synchronizes modifications, for example, addition and deletion to the address book with the OMA-CAB server 115.
[16] The OMA-CAB server 115 receives information, for example presence information and location information from a plurality of enablers, for example a presence enabler and a location enabler. The enablers are further defined as management objects designated for a particular purpose. The OMA-CAB server 115 then synchronizes the presence information and the location information with the address book included in the OMA-CAB client 105a A user, for example a CAB user, of the OMA-CAB client 105a can further retrieve the presence information and the location information of the one or more address book contacts from the address book.
[17] Examples of the network 110 include but are not limited to a Local Area Network (LAN), a Wireless Local Area Network (WLAN), a Wide Area Network (WAN), internet, a Small Area Network (SAN) and a Personal Area Network (PAN).
[18] Any updated information of the one or more address book contacts might not be received by the OMA-CAB client 105a due to bandwidth limitations. Such bandwidth limitations can be overcome using the enablers which are explained in conjunction with FIG. 2
[19] FIG. 2 is a block diagram of a system 200 for determining the presence and the location information in the OMA-CAB. The system 200 is a client-server architecture. The system 200 includes the OMA-CAB client 105a, the OMA-CAB server 115, an OMA presence enabler 205, and an OMA location enabler 210.
[20] The OMA-CAB client 105a synchronizes modifications of the address book with the OMA-CAB server 115. The OMA-CAB client 105a and the OMA-CAB server 115 are together referred as an OMA-CAB enabler 220. The OMA-CAB enabler 220 provides information regarding the one or more address book contacts.
[21] The OMA presence enabler 205 provides the presence information of the one or more address book contacts to a processor 215 in the OMA-CAB server 115. The information of the one or more address book contacts are contained in the address book. The OMA location enabler 210 provides the location information of the one or more address book contacts to the processor 215 in OMA-CAB server 115. The processor 215 receives the presence information and the location information of the one or more address book contacts from the OMA presence enabler 205 and the OMA location enabler 210. The processor 215 further synchronizes the address book of the OMA-CAB client 105a with the presence information and the location information of the one or more address book contacts. As a result, the bandwidth limitations are solved at the OMA-CAB server 115 side.
[22] The OMA-CAB server 115 is connected to the OMA-CAB client 105a through the network 110.
[23] FIG. 3 is a block diagram of an OMA-CAB architecture 300, in accordance with an embodiment of the present invention.
[24] The OMA-CAB architecture 300 includes the OMA-CAB client 105a, the OMA presence enabler 205, the OMA location enabler 210, the OMA-CAB server 115, and an Extensible Markup Language Document Management (XDM) enabler 305. The OMA-CAB client 105a and the OMA-CAB server 115 can be included in the OMA- CAB enabler 220. The OMA-CAB client 105a includes a data synchronization (DS) client 310 that synchronizes modifications of the address book with the OMA-CAB server 115. The OMA-CAB client 105a also performs other functions. Examples of the functions include, but are not limited to, sending and receiving address book contact related information, managing personal contact card (PCC) information, searching for available address book contact information, managing user preference information, receiving CAB related notifications, supporting authentication requests and responses.
[25] The OMA-CAB client 105a uses an interface CAB-1 to synchronize the modifications to the address book with the OMA-CAB server 115. The OMA-CAB client 105a also uses an interface XDM-3i to manage the PCC information, the user preference information, and user access permissions extensible markup language (XML) document interactions. The protocol used for the interface XDM-3i is an XML configuration access protocol (XCAP). The OMA-CAB client 105a further uses an interface XDM-5i to perform a search for available address book contact information. The protocol used for the interface XDM-5i is limited XML query (XQuery) language over hyper text transfer protocol (HTTP). The OMA-CAB client 105a uses an interface Session Initiation Protocol (SIP) over Internet Protocol (IP) core 1 (SIC-1) or an interface XDM-non SIP to request change notification for CAB XML documents except the address book. The protocol used for the interface SIC-1 is SIP.
[26] The OMA-CAB client 105a also includes an untrusted XDM client (XDMC) 315. The untrusted XDMC 315 requires authentication by the OMA-CAB server 115. Any information sent from the untrusted XDMC 315 requires the authentication.
[27] The OMA presence enabler 205 and the OMA location enabler 210 provide the presence information and the location information of the one or more address book contacts to the OMA-CAB server 115.
[28] The OMA-CAB server 115 is a network entity and supports one or more functions. The OMA-CAB server 115 includes the processor 215, a DS server 320, a subscription function 330, an interworking function 335, and a share function 340. The processor 215 receives the presence information and the location information of the one or more address book contacts from the OMA presence enabler 205 and the OMA location enabler 210. The processor 215 further synchronizes the address book of the OMA-CAB client 105a with the presence information and the location information of the one or more address book contacts. The DS server 320 in the OMA-CAB server 115 synchronizes the address book contact information stored in the address book of the OMA-CAB client 105a via the interface CAB-1. Supported formats for the synchronization are, for example CAB defined format and legacy format i.e. vCard format. The OMA-CAB server 115 manages, for example retrieves, creates, modifies, and deletes, the address book contact information via a trusted XDMC 325 present in the OMA-CAB server 115. The trusted XDMC 325 requires no authentication for any information transfer. The trusted XDMC 325 acts as a supporting entity to other functions of the OMA-CAB server 115 by supporting interactions with different CAB XDMS on an interface XDM-4i and through an interface SIC-2. The protocol used for the interface XDM-4i is XCAP. The protocol used for the interface SIC-2 is the SIP.
[29] The subscription function 330 in the OMA-CAB server 115 generates subscription either directly or via an XDM enabler subscription proxy (OMA XDM) to the address book contacts of the user, based on the subscription list of the user from the user preference information, and receives notifications of updates from the PCC of the subscribed address book contacts. The subscription function 330 further filters information resulting from the subscription based on information retrieved from a CAB user preference XDM server (XDMS) 345. The subscription function 330 updates, for example retrieves, creates, modifies, and deletes, the changes resulting from the subscription in a CAB address book (AB) XDMS 350 via the trusted XDMC 325 and updates the address book contact status information related to the subscription. The subscription function 330 also subscribes and receives notifications of changes to the CAB user preference XDMS 345 via the trusted XDMC 325.
[30] The interworking function 335 in the OMA-CAB server 115 imports the address book contact information from non-CAB systems into the OMA-CAB, using a request of the user retrieved from the CAB user preference XDMS 345. The interworking function 335 manages, for example retrieves, creates, modifies, and deletes, imported non-CAB address book contact information via the trusted XDMC 325 in the CAB AB XDMS 350. The interworking function performs a search for the available address book contact information from external directories, by acting as an XDMS and translating a CAB standard XML based search request, received via an interface XDM-7i, into external search requests. The protocol used for the interface XDM-7i is limited XQuery over HTTP. The interworking function 335 further formats adaptation between CAB standardized data structure and legacy formats, and subscribes and receives the notifications of changes to the CAB user preference XDMS 345 via the trusted XDMC 325.
[31] The share function 340 in the OMA-CAB server 115 processes the shared address book contact information, for example determines the recipient type, retrieves the AB or PCC information from the CAB AB XDMS 350 or a CAB PCC XDMS 355. The share function 340 assembles and delivers the requests for sharing the address book contact information towards target recipients. If an address book contact is a non-CAB user, the shared data is converted into the legacy format by the interworking function and delivered through a messaging process. The share function 340 further manages the received shared address book contact information in the CAB AB XDMS 350 via the trusted XDMC 325.
[32] The XDM enabler 305 includes the CAB user preference XDMS 345, the CAB AB XDMS 350, the CAB PCC XDMS 355, and a CAB user policy XDMS 360. The CAB AB XDMS 350 is a server entity based on the OMA XDM that is the address book repository present in the network 110 for the AB information. The CAB AB XDMS 350 supports one or more functions, for example performing authorisation of incoming SIP, search and XCAP requests, managing and supporting content of AB XML documents, storing the address book contact status information, notifying subscribers of changes to the AB XML documents stored in the network 110, providing search results, storing the information about the operations performed on the AB XML documents based on the user preferences, and enforcing access permissions for XDM documents stored on the AB XDMS.
[33] The CAB PCC XDMS 355 is a server entity based on the OMA XDM that supports one or more functions, for example storing and providing management operations for PCC XML documents, providing updated PCC information to authorized users, and receiving search requests for the PCC information.
[34] The CAB user preference XDMS 345 is a server entity based on the OMA XDM. The CAB user preference XDMS 345 is used for storing and providing access to the preferences of the user through management operations, performing authorization of incoming request for a CAB user preference XML document, receiving subscription requests and notifying subscribers of changes to CAB user preference XML documents stored in the network 110.
[35] The CAB user policy XDMS 360 in the XDM enabler 305 is a server entity based on the OMA XDM that is used for storing and providing access to the authorization rules of the user through management operations, performing authorization of incoming request for a CAB user access policy XML document, receiving subscription requests and notifying subscribers of changes to CAB user policy XML documents.
[36] FIG. 4 is a flowchart illustrating a method for determining the presence and the location information in the OMA-CAB, in accordance with one embodiment.
[37] The method starts at step 405.
[38] At step 410, at least one of the presence information and the location information of the one or more address book contacts is received by the OMA-CAB server 115.
[39] At step 415, the address book of the OMA-CAB client 105a is synchronized with the presence information and the location information of the one or more address book contacts.
[40] The method stops at step 420.
[41] FIG. 5 is a flowchart illustrating a method for determining the presence and the location information in the OMA-CAB, in accordance with another embodiment.
[42] At step 505, the method starts.
[43] At step 510, at least one of the presence information and the location information of the one or more address book contacts is received by the processor 215 present in the OMA-CAB server 115. For example, if one address book contact is available for talk (online), not available for talk (offline) or is busy, such presence information is received by the OMA-CAB server 115. The presence information is sent by the OMA presence enabler 205. In another example, if the address book contact is available at a particular location, such location information is received by the processor 215 present in the OMA-CAB server 115. The location information is sent by the OMA location enabler 210.
[44] At step 515, the address book of the OMA-CAB client 105a is synchronized with the presence information and the location information of the one or more address book contacts.
[45] At step 520, the user of the OMA-CAB client 105a is authenticated by the OMA-CAB server 115 to retrieve the presence information and the location information.
[46] In some embodiments, if the user needs to know the presence information of any of the one or more address book contacts, the user first enables the OMA-CAB client 105a in the portable computing device and checks the presence information from the address book. If the user is visiting a particular location and has some time to spend with some of the address book contacts, the user can get a list of the address book contacts that are located or visiting the particular location at that point of time by enabling the OMA- CAB client 105a in the portable computing device.
[47] At step 525, the one or more address book contacts are enabled to retrieve the presence information and the location information of the user. The one or more address book contacts use or include the OMA-CAB client 105a.
[48] At step 530, the PCC of the user of the OMA-CAB client 105a is stored. The PCC can be stored in the XDM enabler 305. The PCC of the user can include personal information, for example name, phone numbers, and electronic mail identification.
[49] At step 535, the PCC of the user is retrieved. The PCC can be retrieved by another user of the OMA-CAB client 105a.
[50] In some embodiments, the another user, subscribed to receive the PCC of the user, can be further notified in the event of any modifications to the PCC of the user.
[51] The method stops at step 540.
[52] Various embodiments of the present invention improve user experience by adding the presence information and the location information in the OMA-CAB. Further, the address book contact information is updated and stored at the OMA-CAB server 115 by the OMA presence enabler 205 and the OMA location enabler 210. The OMA-CAB server 115 stores the presence information and the location information and hence is not affected by network traffic between the OMA-CAB client 105a and the OMA-CAB server 115. Moreover, the portable computing device that includes the OMA-CAB client 105a is handy to use.
[0053] In the preceding specification, the present invention and its advantages have been described with reference to specific embodiments. However, it will be apparent to a person of ordinary skill in the art that various modifications and changes can be made, without departing from the scope of the present invention, as set forth in the claims below. Accordingly, the specification and figures are to be regarded as illustrative examples of the present invention, rather than in restrictive sense. All such possible modifications are intended to be included within the scope of the present invention.
CLAIMS
I/We claim:
1. A method comprising:
receiving at least one of presence information and location information of one or more address book contacts by an Open Mobile Alliance-Converged Address Book (OMA-CAB) server; and
synchronizing an address book of an OMA-CAB client with the presence information and the location information of the one or more address book contacts.
2. The method of claim 1 further comprising:
authenticating a user of the OMA-CAB client by the OMA-CAB server to retrieve the presence information and the location information.
3. The method of claim 1 further comprising:
enabling the one or more address book contacts to retrieve the presence information and the location information of a user of the OMA-CAB client.
4. The method of claim 1 further comprising:
storing personal contact card of a user of the OMA-CAB client.
5. The method of claim 4 further comprising: retrieving the personal contact card of the user.
6. A system comprising:
an Open Mobile Alliance-Converged Address Book (OMA-CAB) server comprising: a processor to
receive at least one of presence information and location information of one or more address book contacts, and
synchronize an address book of an OMA-CAB client with the presence information and the location information of the one or more address book contacts.
7. The system of claim 6, wherein the OMA-CAB client synchronizes modifications of the address book with the OMA-CAB server.
8. The system of claim 6, wherein the OMA-CAB client is one or more of a mobile phone, a personal digital assistant and a notebook.
9. The system of claim 6 further comprising:
an OMA presence enabler for providing the presence information of the one or more address book contacts to the OMA-CAB server; and
an OMA location enabler for providing the location information of the one or more address book contacts to the OMA-CAB server.
10. The system of claim 6, wherein the system is a client-server architecture.
11. The system of claim 6, wherein the OMA-CAB client further comprises: an untrusted client requiring authentication by the OMA-CAB server.
12. The system of claim 6, wherein the OMA-CAB server further comprises: a trusted client requiring no authentication.
| # | Name | Date |
|---|---|---|
| 1 | 1901-che-2008 power of attorney 20-03-2009.pdf | 2009-03-20 |
| 1 | 1901-CHE-2008-Form-13-060809.pdf | 2016-11-02 |
| 2 | 1901-che-2008 correspondence others 20-03-2009.pdf | 2009-03-20 |
| 2 | 1901-che-2008 correspondence-others.pdf | 2011-09-03 |
| 3 | 1901-che-2008 description(provisional).pdf | 2011-09-03 |
| 3 | 1901-che-2008 assignment 20-03-2009.pdf | 2009-03-20 |
| 4 | 1901-che-2008 form-5 06-08-2009.pdf | 2009-08-06 |
| 4 | 1901-che-2008 drawings.pdf | 2011-09-03 |
| 5 | 1901-che-2008 form-3 06-08-2009.pdf | 2009-08-06 |
| 5 | 1901-che-2008 form-1.pdf | 2011-09-03 |
| 6 | 1901-che-2008 form-3.pdf | 2011-09-03 |
| 6 | 1901-CHE-2008 FORM-2 06-08-2009.pdf | 2009-08-06 |
| 7 | 1901-che-2008 form-5.pdf | 2011-09-03 |
| 7 | 1901-CHE-2008 FORM-13 06-08-2009.pdf | 2009-08-06 |
| 8 | 1901-che-2008 form-1 06-08-2009.pdf | 2009-08-06 |
| 8 | 1901-che-2008 abstract 06-08-2009.pdf | 2009-08-06 |
| 9 | 1901-che-2008 claims 06-08-2009.pdf | 2009-08-06 |
| 9 | 1901-che-2008 drawings 06-08-2009.pdf | 2009-08-06 |
| 10 | 1901-che-2008 correspondence others 06-08-2009.pdf | 2009-08-06 |
| 10 | 1901-che-2008 description (complete) 06-08-2009.pdf | 2009-08-06 |
| 11 | 1901-che-2008 correspondence others 06-08-2009.pdf | 2009-08-06 |
| 11 | 1901-che-2008 description (complete) 06-08-2009.pdf | 2009-08-06 |
| 12 | 1901-che-2008 claims 06-08-2009.pdf | 2009-08-06 |
| 12 | 1901-che-2008 drawings 06-08-2009.pdf | 2009-08-06 |
| 13 | 1901-che-2008 abstract 06-08-2009.pdf | 2009-08-06 |
| 13 | 1901-che-2008 form-1 06-08-2009.pdf | 2009-08-06 |
| 14 | 1901-CHE-2008 FORM-13 06-08-2009.pdf | 2009-08-06 |
| 14 | 1901-che-2008 form-5.pdf | 2011-09-03 |
| 15 | 1901-CHE-2008 FORM-2 06-08-2009.pdf | 2009-08-06 |
| 15 | 1901-che-2008 form-3.pdf | 2011-09-03 |
| 16 | 1901-che-2008 form-1.pdf | 2011-09-03 |
| 16 | 1901-che-2008 form-3 06-08-2009.pdf | 2009-08-06 |
| 17 | 1901-che-2008 drawings.pdf | 2011-09-03 |
| 17 | 1901-che-2008 form-5 06-08-2009.pdf | 2009-08-06 |
| 18 | 1901-che-2008 description(provisional).pdf | 2011-09-03 |
| 18 | 1901-che-2008 assignment 20-03-2009.pdf | 2009-03-20 |
| 19 | 1901-che-2008 correspondence-others.pdf | 2011-09-03 |
| 19 | 1901-che-2008 correspondence others 20-03-2009.pdf | 2009-03-20 |
| 20 | 1901-CHE-2008-Form-13-060809.pdf | 2016-11-02 |
| 20 | 1901-che-2008 power of attorney 20-03-2009.pdf | 2009-03-20 |