# US 11,029,970 B2 · Operating system extension framework

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,029,970 B2
- Document ID: US11029970B2
- Status: Granted
- Kind: B2
- Application number: 16/169,880
- Filed: 2018-10-24
- Published: 2020-04-30
- Granted: 2021-06-08
- Earliest claimed: 2018-10-24
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Tejram Jagannath Sonwane; Dharmesh Rana; Rikesh Subedi
- Web page: https://patentgrep.com/patent/US11029970B2

## CPC

- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 9/44526: {Plug-ins; Add-ons}
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 16/122: {using management policies (point-in-time backing up or restoration of persistent data G06F11/1446; file migration policies for HSM systems G06F16/185)}
- G06F 16/1734: {Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, method, and computer programmable products are described herein for generating application extension frameworks for operating systems. A host application receives data encapsulating a modification to an extension configuration file that defines one or more extensions for use by the host application. The host application includes a plurality of binary files. The host application provides the modified extension configuration file to an extension framework for instantiation of a first extension of the one or more extensions. The extension framework generates an interface for the first extension for communication with the extension framework. A new application encompassing the extension framework, the first extension, and the host application is generated without modification to the plurality of binary files of the host application. The first extension communicates with the extension framework via the interface.

## Claims

### Claim 1

A method for implementation by one or more data processors forming one or more computing devices, the method comprising:
receiving, by a host application, data encapsulating a modification to an extension configuration file that defines one or more extensions for use by the host application, wherein the host application comprises a plurality of binary files;
providing, by the host application, the modified extension configuration file to an extension framework for instantiation of a first extension of the one or more extensions;
generating, by the extension framework, an interface for the first extension for communication with the extension framework; and
building and generating, by the extension framework, a new application encompassing the extension framework, the first extension, and the host application without modification to the plurality of binary files of the host application, wherein the first extension communicates with the extension framework via the interface;
wherein the new application interfaces with an operating system that prevent modification of binary files associated with the one or more extensions and the first extension remains undetectable by the operating system.

### Claim 2 (depends on 1)

The method of claim 1, further comprising executing the new application which incorporates the first extension.

### Claim 3 (depends on 1)

The method of claim 1, wherein the modification to the extension configuration file comprises adding of an external extension not previously defined by the extension configuration file, wherein the external extension is the first extension.

### Claim 4 (depends on 3)

The method of claim 3, wherein the external extension comprises a file manager or a file logger.

### Claim 5 (depends on 1)

The method of claim 1, wherein a software developers kit comprises the host application and the extension framework.

### Claim 6 (depends on 1)

The method of claim 1, wherein the extension framework is a middleware layer between the host application and the first extension.

### Claim 7 (depends on 1)

The method of claim 1, further comprising determining, by the extension framework, whether any one of the one or more extensions are dependent upon another one of the one or more extensions wherein the one or more extensions includes a second extension and instantiation of the second extension is dependent upon instantiation of the first extension.

### Claim 8 (depends on 1)

The method of claim 1, wherein the interface is stored within the first extension and is generated to comply with an interface protocol defined by the extension framework.

### Claim 9

A system comprising:
at least one data processor; and
memory storing instructions, which when executed by at least one data processor, result in operations comprising:
receiving, by a host application, data encapsulating a modification to an extension configuration file that defines one or more extensions for use by the host application, wherein the host application comprises a plurality of binary files;
providing, by the host application, the modified extension configuration file to an extension framework for instantiation of a first extension of the one or more extensions;
generating, by the extension framework, an interface for the first extension for communication with the extension framework; and
building and generating, by the extension framework, a new application encompassing the extension framework, the first extension, and the host application without modification to the plurality of binary files of the host application, wherein the first extension communicates with the extension framework via the interface;
wherein the new application interfaces with an operating system that prevent modification of binary files associated with the one or more extensions and the first extension remains undetectable by the operating system.

### Claim 10 (depends on 9)

The system of claim 9, wherein the operations further comprise executing the new application which incorporates the first extension.

### Claim 11 (depends on 9)

The system of claim 9, wherein the modification to the extension configuration file comprises adding of an external extension not previously defined by the extension configuration file, wherein the external extension is the first extension.

### Claim 12 (depends on 11)

The system of claim 11, wherein the external extension comprises a file manager or a file logger.

### Claim 13 (depends on 9)

The system of claim 9, wherein a software developers kit comprises the host application and the extension framework.

### Claim 14 (depends on 9)

The system of claim 9, wherein the extension framework is a middleware layer between the host application and the first extension.

### Claim 15 (depends on 9)

The system of claim 9, wherein the one or more extensions includes a second extension and instantiation of the second extension is dependent upon instantiation of the first extension.

### Claim 16 (depends on 9)

The system of claim 9, wherein the interface is stored within the first extension and is generated to comply with an interface protocol defined by the extension framework.

### Claim 17

A non-transitory computer programmable product storing instructions which, when executed by at least one data processor forming part of at least one computing device, implement operations comprising:
receiving, by a host application, data encapsulating a modification to an extension configuration file that defines one or more extensions for use by the host application, wherein the host application comprises a plurality of binary files;
providing, by the host application, the modified extension configuration file to an extension framework for instantiation of a first extension of the one or more extensions;
generating, by the extension framework, an interface for the first extension for communication with the extension framework; and
building and generating, by the extension framework, a new application encompassing the extension framework, the first extension, and the host application without modification to the plurality of binary files of the host application, wherein the first extension communicates with the extension framework via the interface;
wherein the new application interfaces with an operating system that prevent modification of binary files associated with the one or more extensions and the first extension remains undetectable by the operating system.

### Claim 18 (depends on 17)

The non-transitory computer programmable product of claim 17, wherein the operations further comprising executing the new application which incorporates the first extension.

### Claim 19 (depends on 17)

The non-transitory computer programmable product of claim 17, wherein the external extension comprises a file manager or a file logger.

### Claim 20 (depends on 17)

The non-transitory computer programmable product of claim 17, wherein a software developers kit comprises the host application and the extension framework and the extension framework is a middleware layer between the host application and the first extension.
