IP Library Granted Patent US 9,148,489
Granted Patent B2
US 9,148,489 · App. 13/794,511 · Granted Sep 29, 2015

Exchanging a contact profile between client devices during a communication session

Inventors: Nikhil Jain (San Diego, CA); Ram Krishnan (San Diego, CA); Jose R Menendez (Encinitas, CA); Gerald P Joyce, III (San Diego, CA); Manoj M Deshpande (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04L67/306H04L65/1069H04L65/1083H04W8/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,148,489
App. No.
13/794,511
Granted
Sep 29, 2015
Kind
B2
Abstract

In an embodiment, a client device (CD) maintains a contact profile for a user of the CD, the contact profile including a universal identifier (UID) for the user and a list of devices and addresses at which the user of the CD can be contacted. The CD establishes a communication session with a remote CD (RCD) via a given contact address from the set of contact addresses for the RCD. The CD shares, in response to the communication session establishment, at least a portion of the contact profile to the RCD. The RCD generates and/or updates a given contact profile for the user of the CD that is maintained on the RCD based on the shared contact profile. The RCD can also share its profile with the CD in response to the communication session establishment, causing the CD to generate and/or update a contact profile for the RCD.

Claims (84)

1. A method of operating a client device, comprising:

maintaining a contact profile for a user of the client device, the contact profile including a universal identifier (UID) for the user and a list of devices through which to contact the user of the client device, each device in the list of devices being maintained in association with a device identifier, a device location descriptor and a set of contact addresses through which to contact the device;

establishing a communication session with a remote client device via a given contact address from the set of contact addresses for the remote client device; and

in response to the communication session establishment, sending at least a portion of the contact profile to the remote client device.

2. The method of claim 1 , wherein the UID corresponds to a cellular phone number associated with a cellular phone from the list of devices.

3. The method of claim 1 , wherein the device location descriptor includes home, work or mobile.

4. The method of claim 1 , wherein the maintaining includes:

registering a phone number as the UID for the contact profile of the user;

receiving, for a new device to be added to the contact profile, an indication of the UID and new device information that includes a given device identifier of the new device, a given device location descriptor of the new device and a given set of contact addresses through which to contact the new device; and

updating the contact profile of the user to include the new device information in response to the new device information being received in association with the UID.

5. The method of claim 1 , wherein the maintaining includes:

registering a phone number as the UID for the contact profile of the user;

receiving, for a new contact address to be added to the contact profile for an existing device that is already listed in the list of devices, an indication of the UID and new contact address information that includes a given device identifier of the existing device, wherein the new contact address corresponds to a given type of contact mechanism that is different from the registered phone number; and

updating the contact profile of the user to include the new contact address for the existing device in response to the new contact address being received in association with the UID.

6. The method of claim 1 , wherein the portion of the contact profile that is sent to the remote client device includes each of the set of contact addresses for each of the list of devices of the user.

7. The method of claim 1 , wherein the portion of the contact profile that is sent to the remote client device includes less than all contact addresses from the set of contact addresses for one or more of the list of devices of the user.

8. The method of claim 1 , wherein the portion of the contact profile is specified by the user in response to a user prompt.

9. The method of claim 1 , wherein the portion of the contact profile is determined by the client device based upon one or more privacy rules associated with the user.

10. The method of claim 1 , further comprising:

retrieving data messages associated with two or more different contact addresses from the contact profile, the two or more different contact addresses associated with different communication services; and

presenting an aggregated version of the retrieved data messages associated with the two or more different contact addresses via a unified interface.

11. The method of claim 10 ,

wherein the retrieved data messages include a set of cellular phone voicemail messages and a set of Voice over Internet Protocol (VoIP) voicemail messages, and

wherein the two or more different contact addresses include a cellular phone number and a VoIP identifier.

12. The method of claim 10 ,

wherein the retrieved data messages include a set of text or simple message service (SMS) messages and a set of non-SMS text-related messages, and

wherein the two or more different contact addresses include a cellular phone number associated with the set of text or SMS messages and a non-SMS identifier associated with the set of non-SMS text-related messages.

13. The method of claim 1 , wherein one or more contact addresses in the portion of the contact profile that is sent to the remote client device are masked so that the one or more contact addresses (i) can be recognized by software residing on the remote client device for communication session initiation attempts to the one or more contact addresses by the remote client device, and (ii) cannot be recognized by a given user of the remote client device.

14. The method of claim 1 , wherein, for each device in the list of devices, the set of contact addresses includes either (i) a single contact address through which to contact the device, or (ii) multiple contact addresses through which to contact the device.

15. A method of operating a client device, comprising:

establishing a communication session with a remote client device via a given contact address associated with the remote client device;

in response to the communication session establishment, receiving a contact profile for a user of the remote client device, the contact profile including a universal identifier (UID) for the user and a list of devices through which to contact the user of the client device, each device in the list of devices being maintained in association with a device identifier, a device location descriptor and a set of contact addresses through which to contact the device; and

generating and/or updating a given contact profile for the user of the remote client device that is maintained on the client device based on the received contact profile.

16. The method of claim 15 , wherein the UID corresponds to a cellular phone number associated with a cellular phone from the list of devices.

17. The method of claim 15 , wherein the device location descriptor includes home, work or mobile.

18. The method of claim 15 , wherein the set of contact addresses corresponds to each of the set of contact addresses for each of the list of devices of the user as maintained in a remote contact profile by the remote client device.

19. The method of claim 15 , wherein the set of contact addresses corresponds to less than all of the set of contact addresses for each of the list of devices of the user as maintained in a remote contact profile by the remote client device.

20. The method of claim 15 , further comprising:

retrieving data messages associated with two or more different contact addresses of the user of the client device, the two or more different contact addresses associated with different communication services; and

presenting an aggregated version of the retrieved data messages associated with the two or more different contact addresses via a unified interface.

21. The method of claim 20 ,

wherein the retrieved data messages include a set of cellular phone voicemail messages and a set of Voice over Internet Protocol (VoIP) voicemail messages, and

wherein the two or more different contact addresses include a cellular phone number and a VoIP identifier.

22. The method of claim 20 ,

wherein the retrieved data messages include a set of text or simple message service (SMS) messages and a set of non-SMS text-related messages, and

wherein the two or more different contact addresses include a cellular phone number associated with the set of text or SMS messages and a non-SMS identifier associated with the set of non-SMS text-related messages.

23. The method of claim 15 , wherein one or more contact addresses in the set of contact addresses of the given contact profile are masked so that the one or more contact addresses (i) can be recognized by software residing on the client device for communication session initiation attempts to the one or more contact addresses by the client device, and (ii) cannot be recognized by a given user of the client device.

24. The method of claim 23 , further comprising:

receiving a request from the given user of the client device to present at least one contact address from the one or more contact addresses;

generating a masked version of the at least one contact address; and

presenting the masked version of the at least one contact address to the given user of the client device in response to the request.

25. The method of claim 15 ,

wherein no contact profile is maintained on the client device for the user before the establishing step, and

wherein the generating and/or updating step generates the given contact profile based on the received contact profile.

26. The method of claim 15 ,

wherein the given contact profile is maintained on the client device for the user before the establishing step, and

wherein the generating and/or updating step updates the given contact profile by adding information from the received contact profile.

27. The method of claim 15 , wherein, for each device in the list of devices, the set of contact addresses includes either (i) a single contact address through which to contact the device, or (ii) multiple contact addresses through which to contact the device.

28. A client device, comprising:

means for maintaining a contact profile for a user of the client device, the contact profile including a universal identifier (UID) for the user and a list of devices through which to contact the user of the client device, each device in the list of devices being maintained in association with a device identifier, a device location descriptor and a set of contact addresses through which to contact the device;

means for establishing a communication session with a remote client device via a given contact address from the set of contact addresses for the remote client device; and

means for sending, in response to the communication session establishment, at least a portion of the contact profile to the remote client device.

29. A client device, comprising:

means for establishing a communication session with a remote client device via a given contact address associated with the remote client device;

means for receiving, in response to the communication session establishment, a contact profile for a user of the remote client device, the contact profile including a universal identifier (UID) for the user and a list of devices through which to contact the user of the client device, each device in the list of devices being maintained in association with a device identifier, a device location descriptor and a set of contact addresses through which to contact the device; and

means for generating and/or updating a given contact profile for the user of the remote client device that is maintained on the client device based on the received contact profile.

30. A client device, comprising:

a processor configured with processor-executable instructions to:

maintain a contact profile for a user of the client device, the contact profile including a universal identifier (UID) for the user and a list of devices through which to contact the user of the client device, each device in the list of devices being maintained in association with a device identifier, a device location descriptor and a set of contact addresses through which to contact the device;

establish a communication session with a remote client device via a given contact address from the set of contact addresses for the remote client device; and

send, in response to the communication session establishment, at least a portion of the contact profile to the remote client device.

31. A client device, comprising:

a processor configured with processor-executable instructions to:

establish a communication session with a remote client device via a given contact address associated with the remote client device;

receive, in response to the communication session establishment, a contact profile for a user of the remote client device, the contact profile including a universal identifier (UID) for the user and a list of devices through which to contact the user of the client device, each device in the list of devices being maintained in association with a device identifier, a device location descriptor and a set of contact addresses through which to contact the device; and

generate and/or update a given contact profile for the user of the remote client device that is maintained on the client device based on the received contact profile.

32. A non-transitory computer-readable medium containing instructions stored thereon, which, when executed by a client device, cause the client device to perform operations, the instructions comprising:

at least one instruction to cause the client device to maintain a contact profile for a user of the client device, the contact profile including a universal identifier (UID) for the user and a list of devices through which to contact the user of the client device, each device in the list of devices being maintained in association with a device identifier, a device location descriptor and a set of contact addresses by through which to contact the device;

at least one instruction to cause the client device to establish a communication session with a remote client device via a given contact address from the set of contact addresses for the remote client device; and

at least one instruction to cause the client device to send, in response to the communication session establishment, at least a portion of the contact profile to the remote client device.

33. A non-transitory computer-readable medium containing instructions stored thereon, which, when executed by a client device, cause the client device to perform operations, the instructions comprising:

at least one instruction to cause the client device to establish a communication session with a remote client device via a given contact address associated with the remote client device;

at least one instruction to cause the client device to receive, in response to the communication session establishment, a contact profile for a user of the remote client device, the contact profile including a universal identifier (UID) for the user and a list of devices through which to contact the user of the remote client device, each device in the list of devices being maintained in association with a device identifier, a device location descriptor and a set of contact addresses through which to contact the device; and

at least one instruction to cause the client device to generate and/or update a given contact profile for the user of the remote client device that is maintained on the client device based on the received contact profile.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2013
From: JAIN, NIKHIL; KRISHNAN, RAM; MENENDEZ, JOSE R; JOYCE, GERALD P, III; DESHPANDE, MANOJ M
To: QUALCOMM INCORPORATED
Reel/Frame 030368/0291 →
Continuity (1)
Related Publication 20140254434A1 · Sep 11, 2014