Selectively exposing base class libraries based on application execution context
First Claim
Patent Images
1. In a computing environment, a system for allowing access to APIs based on application context, the system comprising:
- one or more processors;
one or more computer readable media coupled to the one or more processors, wherein the one or more computer readable media comprise computer executable instructions that when executed by at least one processor cause the system to perform the following;
determining a first application context for a first application;
determining a first layer for a single base class library included in a single runtime deployed on a device, the single runtime exposing different subsets of available API surfaces of the single runtime to different applications such that some applications have richer API support when using the single runtime than other applications using the same single runtime, and wherein layers of the base class library are defined by one or more developer defined attributes associated with APIs, the APIs being included in the base class library, wherein the base class library is divided into layers based on the developer defined attributes, the developer defined attributes defining applications to which a given API of the single base class layer is exposed, such that the one or more attributes define which application contexts can access the given API;
determining that the first layer matches the first application context and allowing access by the first application to one or more API in the first layer;
determining a second application context for a second application that is different than the first application;
determining a second layer for the single base class library included in the single runtime deployed on the device; and
determining that the second layer matches the application context and allowing access by the second application to one or more API in the second layer of the single base class library while restricting access to one or more APIs included in the first layer of the single base class library that are not also included in the second layer of the single base class library such that the first application has richer API support than the second application.
2 Assignments
0 Petitions
Accused Products
Abstract
Allowing access to APIs based on application context. A method includes determining an application context for an application. A layer is determined for a base class library. Layers of the base class library are defined by one or more developer defined attributes associated with an API, where the API is included in the base class library. The base class library is divided into layers based on the developer defined attributes. The one or more attributes define which application contexts can access the API. If the layer matches the application context then access by the application to the API is allowed.
14 Citations
20 Claims
-
1. In a computing environment, a system for allowing access to APIs based on application context, the system comprising:
-
one or more processors; one or more computer readable media coupled to the one or more processors, wherein the one or more computer readable media comprise computer executable instructions that when executed by at least one processor cause the system to perform the following; determining a first application context for a first application; determining a first layer for a single base class library included in a single runtime deployed on a device, the single runtime exposing different subsets of available API surfaces of the single runtime to different applications such that some applications have richer API support when using the single runtime than other applications using the same single runtime, and wherein layers of the base class library are defined by one or more developer defined attributes associated with APIs, the APIs being included in the base class library, wherein the base class library is divided into layers based on the developer defined attributes, the developer defined attributes defining applications to which a given API of the single base class layer is exposed, such that the one or more attributes define which application contexts can access the given API; determining that the first layer matches the first application context and allowing access by the first application to one or more API in the first layer; determining a second application context for a second application that is different than the first application; determining a second layer for the single base class library included in the single runtime deployed on the device; and determining that the second layer matches the application context and allowing access by the second application to one or more API in the second layer of the single base class library while restricting access to one or more APIs included in the first layer of the single base class library that are not also included in the second layer of the single base class library such that the first application has richer API support than the second application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In a computing environment, a system for defining allowed access to APIs based on application context, the system comprising:
-
one or more processors; one or more computer readable media coupled to the one or more processors, wherein the one or more computer readable media comprise computer executable instructions that when executed by at least one processor cause the system to perform the following; determining a first application context for a first application; determining one or more first APIs in a single base class library of a single runtime that should be available to the first application; adding the one or more first APIs to a first layer for the base class library, the first layer for the base class library being a layer accessible to the first application, wherein adding the one or more first APIs to the first layer comprises defining one or more developer defined attributes associated with the first APIs, wherein the base class library is divided into layers based on the developer defined attributes, the developer defined attributes defining applications to which the one or more APIs of the single base class layer are exposed such that the one or more attributes define which application contexts can access the one or more APIs determining a second application context for a second application; determining one or more second APIs in the single base class library of the single runtime that should be available to the second application; adding the one or more second APIs to a second layer for the base class library, wherein adding the one or more second APIs to the second layer comprises defining one or more developer defined attributes associated with the second APIs such that the second application can access the one or more API in the second layer of the single base class library but cannot access one or more APIs included in the first layer of the single base class library that are not also included in the second layer of the single base class library such that the first application has richer API support than the second application. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. In a computing environment, a computer readable storage medium coupled to the one or more processors, wherein the one or more computer readable media comprise computer executable instructions that when executed by at least one processor cause the system to perform the following:
-
determining a first application context for a first application;
determining a first layer for a single base class library included in a single runtime deployed on a device, the single runtime exposing different subsets of available API surfaces of the single runtime to different applications such that some applications have richer API support when using the single runtime than other applications using the same single runtime, and wherein layers of the base class library are defined by one or more developer defined attributes associated with APIs, the APIs being included in the base class library, wherein the base class library is divided into layers based on the developer defined attributes, the developer defined attributes defining applications to which a given API of the single base class layer is exposed, such that the one or more attributes define which application contexts can access the given API;determining that the first layer matches the first application context and allowing access by the first application to one or more API in the first layer; determining a second application context for a second application that is different than the first application; determining a second layer for the single base class library included in the single runtime deployed on the device; and determining that the second layer matches the application context and allowing access by the second application to one or more API in the second layer of the single base class library while restricting access to one or more APIs included in the first layer of the single base class library that are not also included in the second layer of the single base class library such that the first application has richer API support than the second application. - View Dependent Claims (20)
-
Specification