IP Library › Granted Patent US 10,586,389
Granted Patent B2
US 10,586,389 · App. 15/987,444 · Granted Mar 10, 2020

Device panel capabilities and spatial relationships

Inventors: Arvind M. Murching (Sammamish, WA); James G. Cavalaris (Kirkland, WA); Adam Lenart (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
G06T19/00G06F1/1615G06F9/451G06T19/20G06F2200/1637G06T2219/004G06T2219/028G06T2219/2004
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 10,586,389
App. No.
15/987,444
Granted
Mar 10, 2020
Kind
B2
Abstract

Aspects of the disclosure provide a system having a memory area associated with a computing device and a processor. The processor executes to classify device panel descriptors and location descriptors according to associated device instances. The processor generates device panel objects using the classified device panel descriptors and location descriptors. A schema comprising device panel locations and adjacency relationship information is populated for the computing device based on the generated device panel objects. The processor provides the populated schema as dynamic device properties to one or more operations executing on the computing device.

Claims (51)

1. A system comprising:

a memory area associated with a computing device, the memory area including an operating system and one or more applications; and

a processor that executes to:

classify device panel descriptors and location descriptors according to associated device instances;

generate device panel objects using the classified device panel descriptors and location descriptors;

populate an object model comprising device panel locations and adjacency relationship information for the computing device based on the generated device panel objects, wherein device panels are included as first-class objects of a device platform based on the object model;

monitor the associated device instances for dynamic changes;

responsive to detecting a dynamic change, dynamically updating the object model based on the detected dynamic change;

receive a query for dynamic device properties from the one or more applications executing on the computing device; and

response to the received query, provide the dynamic device properties to the one or more applications based on the dynamically updated object model, wherein the dynamic device properties are used to determine one or more application experiences available to the one or more applications.

2. The system of claim 1 , wherein the object model is cached in an operating system registry, and wherein the object model further includes the generated device panel objects and device location properties.

3. The system of claim 1 , wherein an application programming interface (API) queries a kernel manager to obtain the object model.

4. The system of claim 1 , wherein the object model defines physical relationships of devices within the system, including spatial relationships.

5. The system of claim 1 , wherein the device panel descriptors comprise panel properties, including cabinet associations, panel dimensions, and relationship data relative to one or more adjacent panels.

6. The system of claim 1 , wherein the processor further executes to:

detect an addition of at least one device dynamically attached to the computing system, and

obtain a device schema associated with the at least one detected device, the device schema comprising device panel locations and adjacency relationship information for the at least one detected device via a bus protocol of the computing device.

7. A method for providing dynamic device properties to applications executing on a computing system, the method comprising:

classifying device panel and location descriptors according to associated device instances;

generating device panel objects using the classified device panel and location descriptors;

populating a schema comprising device panel locations and adjacency relationship information for a computing device based on the generated device panel objects;

storing the populated schema in an operating system registry or data model of the computing device;

detecting an addition of at least one device dynamically attached to the computing system; and

obtaining a device schema associated with the at least one detected device, the device schema comprising device panel locations and adjacency relationship information for the at least one detected device via a bus protocol of the computing device;

receiving a query for dynamic device properties from an application programming interface (API) of an application executing on the computing device; and

providing the dynamic device properties based on the populated schema to inform the API of one or more application experiences compatible with the computing device and the application.

8. The method of claim 7 , wherein the populated schema is cached as an object model, the object model including the device panel objects and device location properties.

9. The method of claim 7 , further comprising:

monitoring the associated device instances for dynamic changes; and

updating the populated schema based on the dynamic changes.

10. The method of claim 7 , wherein device panels are included as first-class objects of a device platform based on the populated schema.

11. The method of claim 7 , wherein the populated schema defines physical relationships of devices within the system, including spatial relationships.

12. The method of claim 7 , wherein the device panel descriptors comprise panel properties, including cabinet associations, panel dimensions, and relationship data relative to one or more adjacent panels.

13. The method of claim 7 , wherein the API queries a kernel manager to obtain the object model.

14. One or more computer storage devices having computer-executable instructions stored thereon for providing dynamic device properties to one or more applications executing on a computer, which, on execution by the computer, cause the computer to perform operations comprising:

classifying device panel and location descriptors according to associated device instances, wherein the device panel descriptors comprise panel properties, including cabinet associations, panel dimensions, and relationship data relative to one or more adjacent panels;

generating device panel objects using the classified device panel and location descriptors;

populating a schema comprising device panel locations and adjacency relationship information for the computing device based on the generated device panel objects;

receiving a query for dynamic device properties from an application programming interface (API) of at least one application executing on the computer; and

providing the dynamic device properties based on the populated schema to inform the API of the at least one application of one or more application experiences compatible with the computer and the at least one application executing on the computer.

15. The one or more computer storage devices of claim 14 , having further computer-executable instructions which cause the computer to perform further operations comprising:

caching the populated schema as an object model in an operating system registry, the object model including the device panel objects and device location properties.

16. The one or more computer storage devices of claim 14 , having further computer-executable instructions which cause the computer to perform further operations comprising:

monitoring the associated device instances for dynamic changes; and

updating the populated schema based on the dynamic changes.

17. The one or more computer storage devices of claim 14 , wherein device panels are included as first-class objects of a device platform based on the populated schema.

18. The one or more computer storage devices of claim 14 , wherein the populated schema defines physical relationships of devices within a system, including spatial relationships.

19. The one or more computer storage devices of claim 14 , having further computer-executable instructions which cause the computer to perform further operations comprising:

detecting an addition of at least one device dynamically associated with the computer; and

obtaining a device schema comprising device panel locations and adjacency relationship information for the at least one detected device via a bus protocol of the at least one detected device.

20. The one or more computer storage devices of claim 14 , wherein the API queries a kernel manager to obtain the object model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2018
From: MURCHING, ARVIND M.; CAVALARIS, JAMES G.; LENART, ADAM
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 045885/0233 →
Continuity (2)
Provisional Application 62526227 · Jun 28, 2017
Related Publication 20190005722A1 · Jan 3, 2019