System and method for extending the functionality of an application

US10831460B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10831460-B2
Application numberUS-201816166877-A
CountryUS
Kind codeB2
Filing dateOct 22, 2018
Priority dateDec 21, 2012
Publication dateNov 10, 2020
Grant dateNov 10, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of administering a computing system, including a plurality of computing devices. The method includes selecting an application for download to a computing device, prior to downloading the application, decompiling the application, searching for string patterns in the decompiled application, replacing the string patterns in the decompiled application with another string pattern, the another string pattern being configured to intercept at least one of a system event or an Application Programming Interface (API) call, and associating logic with the application. The logic is configured to interact with the application via the at least one system event or API call, the logic is configured to provide additional functions to the application, the logic is configured to be shared between the application and at least one other application, and the logic is stored separate from the application.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: selecting an application having an original application code for download to a computing device from a computing platform or an application datastore; decompiling the selected application; modifying the selected application to enable interaction with code of an application wrapper; compiling an application package including the original application code of the selected application and the application wrapper code, wherein: the application wrapper code includes code to add or modify a functionality of the selected application without requiring changes to the original application code, the functionality residing outside the application package or inside the application package, and the application wrapper code controls interactions between one or more applications and the selected application through an Application Programming Interface (API); and publishing the compiled application package as the selected application for downloading to the computing device, wherein at least some of the functionality resides outside the compiled application package and the functionality residing outside the compiled application package is modifiable without re-compiling the compiled application package. 2. The method of claim 1 , wherein the selected application is selected from a menu of applications. 3. The method of claim 1 , wherein the downloading is performed indirectly via an intermediate server. 4. The method of claim 1 , wherein the application wrapper code is configured to verify that the computing device is authorized to download the application. 5. The method of claim 1 , wherein the application wrapper code is configured to control storage of data associated with the selected application in the computing device. 6. The method of claim 5 , wherein the data is fetched by the selected application. 7. The method of claim 5 , wherein the data is generated by the selected application. 8. The method of claim 5 , wherein the controlling of the storage of data includes prohibiting storage of data associated with the selected application in the computing device. 9. The method of claim 8 , wherein the API is configured to at least one of cut, copy and paste data between or within the one or more applications, and the application wrapper code is configured to interact with the API in order to control one of the cut, copy and paste data between or within the one or more applications. 10. The method of claim 9 , wherein the API is configured to control file sharing between or within the one or more applications, and the application wrapper code is configured to interact with the API in order to control file sharing between or within the one or more applications. 11. A computing system comprising: a processor; and code segments, that when executed by the processor: select an application having an original application code for download to a computing device from a computing platform or an application datastore; decompile the selected application; modify the selected application to enable interaction with code of an application wrapper; compile an application package including the original application code of the selected application and the application wrapper code, wherein: the application wrapper code includes code to add or modify a functionality of the selected application without requiring changes to the original application code, the functionality residing outside the application package or inside the application package, and the application wrapper code controls interactions between one or more applications and the selected application through an Application Programming Interface (API); and publish the compiled application package as the selected application for downloading to the computing device, wherein at least some of the functionality resides outside the compiled application package and the functionality residing outside the compiled application package is modifiable without re-compiling the compiled application package. 12. The system of claim 11 , wherein the selected application is selected from a menu of applications. 13. The system of claim 11 , wherein the downloading is performed indirectly via an intermediate server. 14. The system of claim 11 , wherein the application wrapper code is configured to verify that the computing device is authorized to download the selected application. 15. The system of claim 11 , wherein the application wrapper code is configured to control storage of data associated with the selected application in the computing device. 16. The system of claim 11 , wherein the application wrapper code is configured to prohibit storage of data associated with the selected application in the computing device. 17. The system of claim 11 , wherein the application wrapper code is configured to control access to the API. 18. The system of claim 17 , wherein the API is configured to at least one of cut, copy and paste data between or within the one or more applications, and the application wrapper code is configured to interact with the API in order to control one of the cut, copy and paste data between or within the one or more applications. 19. The system of claim 17 , wherein the API is configured to control file sharing between or within the one or more applications, and the application wrapper code is configured to interact with the API in order to control file sharing between or within the one or more applications. 20. A non-transitory computer-readable storage medium having stored thereon computer executable program code which, when executed on a computer system, causes the computer system to perform steps comprising: selecting an application having an original application code for download to a computing device from a computing platform or an application datastore; decompiling the selected application; modifying the selected application to enable interaction with code of an application wrapper; compiling an application package including the original application code of the selected application and the application wrapper code, wherein the application wrapper code includes code to add or modify a functionality of the selected application without requiring changes to the original application code, the functionality residing outside the application package or inside the application package, and the application wrapper code controls interactions between one or more applications and the selected application through an Application Programming Interface (API); and publishing the compiled application package as the selected application for downloading to the computing device, wherein at least some of the functionality resides outside the compiled application package and the functionality residing outside the compiled application package is modifiable without re-compiling the compiled application package.

Assignees

Inventors

Classifications

  • Installation · CPC title

  • Updates (security arrangements therefor G06F21/57) · CPC title

  • G06F8/60Primary

    Software deployment · CPC title

  • via adapters, e.g. between incompatible applications · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10831460B2 cover?
A method of administering a computing system, including a plurality of computing devices. The method includes selecting an application for download to a computing device, prior to downloading the application, decompiling the application, searching for string patterns in the decompiled application, replacing the string patterns in the decompiled application with another string pattern, the anoth…
Who is the assignee on this patent?
Bmc Software Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/60. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 10 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).