IP Library › Granted Patent US 11,094,118
Granted Patent B2
US 11,094,118 · App. 16/744,138 · Granted Aug 17, 2021

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 11,094,118
App. No.
16/744,138
Granted
Aug 17, 2021
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 (52)

1. A system comprising:

a memory area associated with a computing device housed by a first container, 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 housed within the first container and associated peripheral device instances housed within one or more peripheral containers,

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 associated device instances housed within the first container and the associated peripheral device instances housed within one or more peripheral containers based on the generated device panel objects, wherein an application programming interface (API) queries a kernel manager to obtain the object model,

monitor the associated device instances housed within the first container and the associated peripheral device instances housed within one or more peripheral containers for dynamic changes, and

responsive to detecting a dynamic change, dynamically updates the object model based on the detected dynamic change.

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

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

responsive to the received query, provide the dynamic device properties to the one or more applications based on the dynamically updated object model.

3. The system of claim 2 , wherein the provided dynamic device properties indicate one or more application experiences available to the one or more applications.

4. The system of claim 1 , wherein the object model is cached in an operating system registry.

5. The system of claim 1 , wherein device panels are included as first-class objects of a device platform based on the object model.

6. The system of claim 1 , wherein the object model defines physical relationships of devices of the system.

7. The system of claim 1 , wherein the device panel descriptors comprise cabinet associations.

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

detect an addition of at least another associated peripheral device instance housed within another peripheral container; and

obtain a device schema comprising device panel locations and adjacency relationship information of the at least another associated peripheral device instance housed within another peripheral container via a bus protocol of the at least another associated peripheral device instance.

9. A method for providing dynamic device properties to applications executing on a computing device housed by a first container, the method comprising:

classifying device panel and location descriptors according to associated multiple device instances housed within the first container and associated peripheral device instances housed within one or more peripheral containers;

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 associated multiple device instances housed within the first container and the associated peripheral device instances housed within one or more peripheral containers based on the generated device panel objects, wherein an application programming interface (API) queries a kernel manager to obtain the schema;

storing the populated schema in an operating system registry or data model 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.

10. The method of claim 9 further comprising:

monitoring the associated device instances for dynamic changes; and

updating the populated schema based on the dynamic changes.

11. The method of claim 9 , wherein the device panel descriptors comprise cabinet associations.

12. The method of claim 9 , wherein the provided dynamic device properties indicate one or more application experiences available to one or more of the applications.

13. The method of claim 9 further comprising:

detecting an addition of at least another associated peripheral device instance housed within another peripheral container; and

obtaining a device schema comprising device panel locations and adjacency relationship information of the at least another associated peripheral device instance housed within another peripheral container via a bus protocol of the at least another associated peripheral device instance.

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 descriptors and location descriptors according to associated device instances;

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

populating an object model comprising device panel locations and adjacency relationship information for the computing device based on the generated device panel objects, wherein an application programming interface (API) queries a kernel manager to obtain the object model;

monitoring the associated device instances for dynamic changes; and

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

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:

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

responsive to the received query, providing the dynamic device properties to the one or more applications based on the dynamically updated object model.

16. The one or more computer storage devices of claim 14 , wherein the provided dynamic device properties indicate one or more application experiences available to the one or more applications.

17. 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 object model in an operating system registry.

18. The one or more computer storage devices of claim 14 , wherein the computer is housed by a first container,

wherein the classifying comprises classifying device panel descriptors and location descriptors according to associated device instances housed by the first container and peripheral device instances housed by one or more peripheral containers, and

wherein the populating comprises populating an object model comprising device panel locations and adjacency relationship information for the first container and the one or more peripheral containers based on the generated device panel objects.

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

detecting an addition of at least another associated peripheral device instance housed by another peripheral container; and

obtaining a device schema comprising device panel locations and adjacency relationship information of the at least another associated peripheral device instance housed by another peripheral container via a bus protocol of the at least another associated peripheral device instance.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2020
From: MURCHING, ARVIND M.; CAVALARIS, JAMES G.; LENART, ADAM
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 051528/0798 →
Continuity (3)
Continuation 15987444 · May 23, 2018
Provisional Application 62526227 · Jun 28, 2017
Related Publication 20200265642A1 · Aug 20, 2020