IP Library › Granted Patent US 11,218,374
Granted Patent B2
US 11,218,374 · App. 16/575,914 · Granted Jan 4, 2022

Discovery and resolution of network connected devices

Inventors: Madhavan Kesavan (Redmond, WA); Zhenyu Guo (Bellevue, WA); Kun Cong (Sammamish, WA); Tanmay Dileep Bhagwat (Bellevue, WA); Ravi Kumar Reddy Yellasiri (Sammamish, WA); Harini Avula (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L41/12G06F9/542G06F9/547
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 11,218,374
App. No.
16/575,914
Granted
Jan 4, 2022
Kind
B2
Abstract

One disclosed example provides, enacted on a computing system, a method of resolving a device capability model (DCM) for a network connected device, the method comprising receiving, from the network connected device, an identifier of the DCM, based on the identifier received, determining whether the DCM is stored on the computing system, when the DCM is stored on the computing system, then retrieving the DCM from the computing system, when the DCM is not stored on the computing system, then retrieving the DCM from one or more of the network connected device and a DCM repository and storing the DCM on the computing system, receiving, from a software solution, an application programming interface (API) call to retrieve the DCM from the computing system, and in response to receiving the API call, returning the DCM to the software solution.

Claims (38)

1. Enacted on a computing system, a method of resolving a device capability model (DCM) for a network connected device, the method comprising:

receiving, from the network connected device, an identifier of the DCM;

based on the identifier received, determining whether the DCM is stored on the computing system;

when the DCM is not stored on the computing system, then searching via the computing system different sources for the DCM according to a policy specifying an order in which to search the different sources for the DCM, retrieving the DCM from one or more of the network connected device and a DCM repository according to the policy specifying the order in which to search the different sources for the DCM based on the identifier received from the network connected device, and storing the DCM on the computing system;

receiving, from a software solution, an application programming interface (API) call to retrieve the DCM from the computing system; and in response to receiving the API call, returning the DCM to the software solution.

2. The method of claim 1 , wherein the API comprises a first API, the method further comprising:

receiving, from the software solution via a second API, a call to change the DCM stored for the network connected device.

3. The method of claim 2 , wherein the call to change the DCM comprises an alternate DCM for the network connected device, the method further comprising storing the alternate DCM for the network connected device.

4. The method of claim 1 , wherein retrieving the DCM from one or more of the network connected device and the DCM repository comprises retrieving the DCM from a global DCM repository.

5. The method of claim 1 , further comprising, after retrieving the DCM,

sending, to the software solution, a notification regarding availability of the DCM in storage of the computing system.

6. The method of claim 1 , wherein receiving the identifier of the DCM comprises receiving the identifier of the DCM via a device registration process.

7. The method of claim 1 , wherein retrieving the DCM from one or more of the network connected device and the DCM repository comprises

sending a command to the network connected device requesting that the network connected device provide the DCM, and

receiving, from the network connected device, a command response comprising the DCM.

8. The method of claim 1 , wherein retrieving the DCM from one or more of the network connected device and the DCM repository comprises sending an error message to the network connected device, the error message being configured to instruct the network connected device to retry registration and send the DCM in a registration message.

9. Enacted on a computing system, a method for obtaining a device capability model (DCM) from a network connected device, the method comprising:

determining whether the DCM for the network connected device is stored at the computing system;

when the DCM for the network connected device is not stored at the computing system, searching via the computing system different sources for the DCM according to a policy specifying an order in which to search the different sources for the DCM, and requesting the network connected device to provide the DCM according to the policy specifying the order in which to search the different sources for the DCM based on an identifier of the DCM from the network connected device; and receiving, from the network connected device, the DCM for the network connected device.

10. The method of claim 9 , wherein requesting the network connected device to provide the DCM comprises performing a remote procedure call (RPC).

11. The method of claim 9 , further comprising receiving, from the network connected device, information indicating that the network connected device is self-describing.

12. The method of claim 11 , wherein receiving the information indicating that the network connected device is self-describing comprises receiving information regarding a model definition discovery interface implemented by the network connected device.

13. A computing system, comprising:

a logic subsystem; and

a storage subsystem storing instructions executable by the logic subsystem to implement one or more software interfaces and to:

receive, from a network connected device, an identifier of a device capability model (DCM) for the network connected device;

based on the identifier received, determine whether the DCM is stored on the computing system;

when the DCM is not stored on the computing system, then search the cloud computing system different sources for the DCM according to a policy specifying an order in which to search the different sources for the DCM, retrieve the DCM from one or more of the network connected device and a DCM repository according to the policy specifying the order in which to search the different sources for the DCM based on the identifier of the DCM received from the network connected device, and store the DCM on the computing system;

receive, from a software solution via an application programming interface (API), a call to retrieve the DCM from the computing system; and

in response to receiving the call to retrieve the DCM, returning the DCM to the software solution.

14. The computing system of claim 13 , wherein the API comprises a first API, and wherein the instructions are further executable to receive, from the software solution via a second API, a call to change the DCM stored for the network connected device.

15. The computing system of claim 13 , wherein the instructions are executable to retrieve the DCM from one or more of the network connected device and the DCM repository by retrieving the DCM from a global DCM repository.

16. The computing system of claim 13 , wherein the instructions are further executable to, after retrieving the DCM,

send, to one or more software solutions, a notification regarding availability of the DCM in storage of the computing system.

17. The computing system of claim 13 , wherein the instructions are executable to retrieve the DCM from one or more of the network connected device and the DCM repository by

sending a command to the network connected device requesting that the network connected device provide the DCM, and

receiving, from the network connected device, a command response comprising the DCM.

18. The computing system of claim 13 , wherein the instructions are executable to retrieve the DCM from one or more of the network connected device and the DCM repository by sending an error message to the network connected device, the error message being configured to instruct the network connected device to retry registration and send the DCM in a registration message.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2019
From: KESAVAN, MADHAVAN; GUO, ZHENYU; CONG, KUN; BHAGWAT, TANMAY DILEEP; YELLASIRI, RAVI KUMAR REDDY; AVULA, HARINI
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 050431/0961 →
Continuity (2)
Provisional Application 62880586 · Jul 30, 2019
Related Publication 20210036929A1 · Feb 4, 2021