IP Library Granted Patent US 10,977,095
Granted Patent B2
US 10,977,095 · App. 16/206,368 · Granted Apr 13, 2021

Side-by-side execution of same-type subsystems having a shared base operating system

Inventors: Dragos C. Sambotin (Sammamish, WA); Philippe Alain Joubert (Kirkland, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F9/541G06F8/64G06F9/3867G06F9/4406G06F9/4806G06F9/545
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,977,095
App. No.
16/206,368
Granted
Apr 13, 2021
Kind
B2
Abstract

A method for executing includes loading multiple application programming interface (API) set schemas into memory. A first one of the API set schemas resolves an API set contract to a first host binary and a second one of the API set schemas resolves the API set contract to a different host binary. The method further includes executing elements of the first host binary responsive to receipt of an API call identified by the API set contract that is received within a first runtime context and executing elements of the second host binary responsive to receipt of the API call within a second runtime context.

Claims (32)

1. A method comprising:

loading into memory a first application programming interface (API) set schema resolving an API set contract to a first host binary;

loading into the memory a second API set schema resolving the API set contract to a second different host binary;

receiving an API call including a request to resolve the API set contract to an associated host binary file, the API set contract defining a set of APIs called by an application;

evaluating a runtime context of the API call to determine a call context identifier associated with the request, the call context identifier including a session identifier for a container in which the application is loaded;

using information external to the API call to select one of first API set schema and the second API set schema, the external information including the call context identifier;

executing elements of the first host binary instead of the second host binary responsive to selecting the first API set schema; and

executing elements of the second different host binary instead of the first host binary responsive to selecting the second API set schema.

2. The method of claim 1 , wherein the first host binary and the second different host binary are executables of same-type subsystems that share a base operating system in a computing device.

3. The method of claim 1 , wherein the first host binary and the second different host binary are graphics subsystems.

4. The method of claim 2 , wherein the base operating system includes a unified service table for interfacing between kernel-side elements in a graphics pipeline and each of the same-type subsystems.

5. A system comprising:

memory storing a first application programming interface (API) set schema resolving an API set contract to a first host binary and a second API set schema resolving the API set contract to a second different host binary; and

an operating system adapted to:

receive an API call including a request to resolve the API set contract to an associated host binary file;

evaluate a runtime context of the request to determine a call context identifier associated with the request, the call context identifier including a session identifier for a container in which an associated application was loaded at a time that the associated application initiated the request to resolve the API set contract to the associated host binary file;

use information external to the API call to select one of first API set schema and the second API set schema, the information external to the API call including the call context identifier;

use the first API set schema to resolve the API call responsive to selecting the first API set schema;

use the second API set schema to resolve the API call responsive to selecting the second API set schema.

6. The system of claim 5 , wherein the first host binary and the second different host binary are executables of same-type subsystems that share a base operating system in a computing device.

7. The system of claim 6 , wherein the base operating system includes a unified service table for interfacing between kernel-side elements in a graphics pipeline and each of the same-type subsystems.

8. The system of claim 5 , wherein the first host binary and the second different host binary are graphics subsystems.

9. One or more memory devices encoding processor-executable instructions for executing a computer process, the computer process comprising:

loading into memory a first application programming interface (API) set schema resolving an API set contract to a first host binary;

loading into the memory a second API set schema resolving the API set contract to a second different host binary;

receiving an API call including a request to resolve the API set contract to an associated host binary file, the API set contract defining a set of APIs called by an application;

evaluating a runtime context of the API call to determine a call context identifier associated with the request, the call context identifier including a session identifier for a container in which the application is loaded;

using information external to the API call select one of first API set schema and the second API set schema, the information external to the API call including the call context identifier;

executing elements of the first host binary instead of the second host binary responsive to selecting the first API set schema; and

executing elements of the second different host binary instead of the first host binary responsive to selecting the second API set schema.

10. The one or more memory devices of claim 9 , wherein the first host binary and the second different host binary are executables of same-type subsystems that share a base operating system in a computing device.

11. The one or more memory devices of claim 9 , wherein the first host binary and the second different host binary are graphics subsystems.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2018
From: SAMBOTIN, DRAGOS C.; JOUBERT, PHILIPPE ALAIN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 047643/0189 →
Continuity (1)
Related Publication 20200174850A1 · Jun 4, 2020