IP Library Granted Patent US 9,544,358
Granted Patent B2
US 9,544,358 · App. 14/165,157 · Granted Jan 10, 2017

Providing near real-time device representation to applications and services

Inventors: Adrian Chan (Sunnyvale, CA); Chun Qing Liang (Sunnyvale, CA)
Assignee: QUALCOMM Incorporated
H04L67/10H04L63/08H04L67/141H04L67/14
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,544,358
App. No.
14/165,157
Granted
Jan 10, 2017
Kind
B2
Abstract

Systems and methods are described comprising receiving at a platform device data of a client device and storing the device data in a data block allocated to the client device. A control command for the client device is received from a service application, and the control command is accepted at a device controller. The device controller accepts the control command on behalf of the client device. The device controller, in response to the control command, retrieves the device data from the data block instead of receiving the device data directly from the client device, and provides the device data to the service application. Subsequent to provision of the device data to the service application, the device controller relays the control command to the client device, and the client device executes the command.

Claims (57)

1. A method comprising:

enrolling a client device with a platform by:

receiving at the platform an enrollment request from a client application of the client device, wherein the enrollment request comprises a request key and device data of the client device;

storing the device data in a data block allocated to the client device;

generating a device identification, issuing the device identification to the client device, and generating a response to the client device that is a response to the enrollment request and includes the device identification; and

controlling sessions between the client device and the platform using the device identification, wherein the sessions each use an address convention comprising the device identification, a service identification component that represents a logical active session between the client device and the platform, and a service domain identification component, the address convention comprising a form including

device identification@service domain/service identification;

receiving from a service application a control command for the client device;

accepting the control command on behalf of the client device;

in response to the control command, retrieving the device data from the data block instead of receiving the device data directly from the client device, and providing the device data to the service application; and

relaying the control command to the client device for execution by the client device.

2. The method of claim 1 , wherein the device data comprises at least one of a device identification number, a device manufacturer, a manufacturer serial number, a model number, International Mobile Subscriber Identity (IMSI), International Mobile Station Equipment Identity (IMEI), Mobile Subscriber Integrated Services Digital Network-Number (MSISDN), a media access control (MAC) address, carrier data of a carrier corresponding to the client device, and state data of the client device.

3. The method of claim 1 , wherein the platform comprises a plurality of data blocks, wherein the plurality of data blocks correspond to a plurality of client devices, wherein each data block corresponds to a client device, wherein the plurality of data blocks include the data block and the plurality of client devices include the client device.

4. The method of claim 1 , further comprising:

in response to accepting the control command, issuing a command receipt acknowledgement to the service application.

5. The method of claim 1 , further comprising:

receiving at the platform updated device data of the client device, wherein the updated device data is received in an update notification generated periodically or in response to a pre-specified trigger event.

6. The method of claim 1 , wherein the platform is a care service platform, wherein the care service platform comprises a plurality of service applications that provide device management services to a plurality of client devices, wherein the plurality of service applications include the service application.

7. The method of claim 1 , further comprising:

initiating the enrollment request in a client application hosted on the client device, wherein the initiating comprises one of instructing the client application to initiate the enrollment request, and automatically initiating the enrollment request at the client application when the client application self-recognizes a pre-enrollment state.

8. The method of claim 1 , wherein the device identification includes location data of a location from which the device identification is issued.

9. The method of claim 1 , wherein the response to the client device includes an encrypted login credential used for a service request to the service application that provides device management services to the client device.

10. The method of claim 1 , wherein sessions established between the platform and the client device remain connected logically until one of the platform and the client device terminate the session, regardless of connection point location of the client device.

11. A non-transitory computer-readable storage medium storing instructions that, when executed by one of more processors of a platform, cause the platform to perform operations comprising:

enrolling a client device with the platform by:

receiving at the platform an enrollment request from a client application of the client device, wherein the enrollment request comprises a request key and device data of the client device;

storing the device data in a data block allocated to the client device;

generating a device identification, issuing the device identification to the client device, and generating a response to the client device that is a response to the enrollment request and includes the device identification; and

controlling sessions between the client device and the platform using the device identification, wherein the sessions each use an address convention comprising the device identification, a service identification component that represents a logical active session between the client device and the platform, and a service domain identification component, the address convention comprising a form including

device_identification@service_domain/service_identification;

receiving from a service application a control command for the client device;

accepting the control command on behalf of the client device;

in response to the control command, retrieving the device data from the data block instead of receiving the device data directly from the client device, and providing the device data to the service application; and

relaying the control command to the client device for execution by the client device.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the device data comprises at least one of a device identification number, a device manufacturer, a manufacturer serial number, a model number, International Mobile Subscriber Identity (IMSI), International Mobile Station Equipment Identity (IMEI), Mobile Subscriber Integrated Services Digital Network-Number (MSISDN), a media access control (MAC) address, carrier data of a carrier corresponding to the client device, and state data of the client device.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the platform comprises a plurality of data blocks, wherein the plurality of data blocks correspond to a plurality of client devices, wherein each data block corresponds to a client device, wherein the plurality of data blocks include the data block and the plurality of client devices include the client device.

14. The non-transitory computer-readable storage medium of claim 11 , wherein execution of the instructions causes the platform to perform operations further comprising:

in response to accepting the control command, issuing a command receipt acknowledgement to the service application.

15. The non-transitory computer-readable storage medium of claim 11 , wherein execution of the instructions causes the platform to perform operations further comprising:

receiving, in an update notification, updated device data of the client device, the update notification generated periodically or in response to a pre-specified trigger event.

16. The non-transitory computer-readable storage medium of claim 11 , wherein the platform is a care service platform, wherein the care service platform comprises a plurality of service applications that provide device management services to a plurality of client devices, wherein the plurality of service applications include the service application.

17. The non-transitory computer-readable storage medium of claim 11 , wherein the device identification includes location data of a location from which the device identification is issued.

18. The non-transitory computer-readable storage medium of claim 11 , wherein the response to the client device includes an encrypted login credential used for a service request to the service application that provides device management services to the client device.

19. The non-transitory computer-readable storage medium of claim 11 , wherein sessions established between the platform and the client device remain connected logically until one of the platform and the client device terminate the session, regardless of connection point location of the client device.

20. A platform for relaying commands to a client device, the platform comprising:

means for enrolling the client device with the platform by:

receiving at the platform an enrollment request from a client application of the client device, wherein the enrollment request comprises a request key and device data of the client device;

storing the device data in a data block allocated to the client device;

generating a device identification;

issuing the device identification to the client device;

generating a response to the client device that is a response to the enrollment request and includes the device identification; and

controlling sessions between the client device and the platform using the device identification, wherein the sessions each use an address convention comprising the device identification, a service identification component that represents a logical active session between the client device and the platform, and a service domain identification component, the address convention comprising a form including

device_identification@service_domain/service_identification;

means for receiving from a service application a control command for the client device;

means for accepting the control command on behalf of the client device;

means for, in response to the control command, retrieving the device data from the data block instead of receiving the device data directly from the client device, and providing the device data to the service application; and

means for relaying the control command to the client device for execution by the client device.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2016
From: QUALCOMM TECHNOLOGIES, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 039900/0760 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2016
From: INNOPATH SOFTWARE, INC.
To: QUALCOMM TECHNOLOGIES, INC.
Reel/Frame 038943/0852 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INVENTORS NAMES/ASSIGNEES' ADDRESS PREVIOUSLY RECORDED AT REEL: 032751 FRAME: 0273. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 9, 2014
From: CHAN, ADRIAN; LIANG, CHUN QING
To: INNOPATH SOFTWARE, INC.
Reel/Frame 033106/0646 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2014
From: CHAN, ADRIAN; MA, XIANG; LIANG, CHUN QING
To: INNOPATH SOFTWARE, INC.
Reel/Frame 032751/0273 →
Continuity (6)
Provisional Application 61756727 · Jan 25, 2013
Provisional Application 61756748 · Jan 25, 2013
Provisional Application 61756785 · Jan 25, 2013
Provisional Application 61798347 · Mar 15, 2013
Provisional Application 61794977 · Mar 15, 2013
Related Publication 20140244789A1 · Aug 28, 2014