Method and apparatus for enforcing software licenses
First Claim
1. A method for controlling a manner in which a software application accesses an application programming interface (API), wherein the software application executes on a computing device and the API is available on the computing device, and the method comprises:
- receiving, from the software application executing on the computing device, a request to access the API;
extracting, from the API, first license information that identifies whether all software applications executing on the computing device are permitted to access the API;
identifying, based on the first license information, that not all software applications executing on the computing device are permitted to access the API; and
in response to identifying;
extracting, from the software application, second license information that identifies whether the software application is permitted to access the API,determining, based on the second license information, that the software application is permitted to access the API, andin response to determining;
granting the software application access to the API.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for enforcing software licenses for resource libraries such as an application program interface (API), a toolkit, a framework, a runtime library, a dynamic link library (DLL), an applet (e.g., a Java or ActiveX applet), or any other reusable resource. The resource library can be used by authorized end user software programs. A “per-program” licensing scheme for a resource library can allow a resource library to be licensed only for use with particular software programs.
10 Citations
20 Claims
-
1. A method for controlling a manner in which a software application accesses an application programming interface (API), wherein the software application executes on a computing device and the API is available on the computing device, and the method comprises:
-
receiving, from the software application executing on the computing device, a request to access the API; extracting, from the API, first license information that identifies whether all software applications executing on the computing device are permitted to access the API; identifying, based on the first license information, that not all software applications executing on the computing device are permitted to access the API; and in response to identifying; extracting, from the software application, second license information that identifies whether the software application is permitted to access the API, determining, based on the second license information, that the software application is permitted to access the API, and in response to determining; granting the software application access to the API. - View Dependent Claims (2, 3, 4, 5, 16, 17)
-
-
6. A non-transitory computer readable storage medium storing instructions that, when executed by a processor included in a computing device, cause the computing device to control a manner in which a software application accesses an application programming interface (API), by carrying out steps that include:
-
receiving, from the software application executing on the computing device, a request to access the API; extracting, from the API, first license information that identifies whether all software applications executing on the computing device are permitted to access the API; identifying, based on the first license information, that not all software applications executing on the computing device are permitted to access the API; and in response to identifying; extracting, from the software application, second license information that identifies whether the software application is permitted to access the API, determining, based on the second license information, that the software application is permitted to access the API, and in response to determining; granting the software application access to the API. - View Dependent Claims (7, 8, 9, 10, 18, 19)
-
-
11. A system, comprising:
-
at least one processor; and a storage device storing instructions that, when executed by the at least one processor, cause the at least one processor to control a manner in which a software application accesses an application programming interface (API), by carrying out steps that include; receiving, from the software application executing on the system, a request to access the API; extracting, from the API, first license information that identifies whether all software applications executing on the system are permitted to access the API; identifying, based on the first license information, that not all software applications executing on the system are permitted to access the API; and in response to identifying; extracting, from the software application, second license information that identifies whether the software application is permitted to access the API, determining, based on the second license information, that the software application is permitted to access the API, and in response to determining; granting the software application access to the API. - View Dependent Claims (12, 13, 14, 15, 20)
-
Specification