US2016162451A1PendingUtilityA1
Online software execution platform
Est. expiryAug 19, 2031(~5.1 yrs left)· nominal 20-yr term from priority
G06F 8/60G06F 9/445H04L 67/34G06F 8/61G06F 21/53H04L 67/02G06F 8/76G06F 17/2235G06F 17/2247G06F 40/134G06F 40/14
55
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A system and method for a new type of software repository and remote execution solution where any native application can be run from within a web page is disclosed. Users now have a much easier way to launch, run or execute any software directly from within a server or server cloud without the need to manually download and install. The system further allows software to run inside an isolated environment to protect user's local environment.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of converting hyperlinks to download software in the web to hyperlinks to launch applications directly without manual installation comprising the steps of:
Providing a base URL to automatically launch an application from a currently working web URL and automatically download and cache the necessary parts of the application if not already in the local cache; Retrieving a list of web page elements each containing a currently working URL pointing to a download location of an application; For each of the web elements performing the following operation to change the semantic meaning of each web component by:
Changing the destination of said URL of the web component to a new URL composed of said base URL appended with the original destination
Replacing the textual description of the web component from original meaning of “download” to new meaning of “click to run”;
When a user clicking said URL, automatically launching the application directly;
Displaying the newly modified web pages.
2 . The method of claim 1 , wherein retrieving and changing the destination of said URL is achieved by a hooking mechanism that can include from one or more selected from among:
a browser plug-in, a network filter, a browser extension, a browsing helper object, a browser add-on, a protocol handler, an API hooker, a user mode application and a system component that allows web page modification in a browsing application in real-time.
3 . The method of claim 1 , wherein launching the application further comprising:
querying an application portal for a runnable bundle of the application; downloading a software installer from the original software download URL and preparing and create a runnable bundle for the application if the runnable bundle has not been created before; downloading and caching the runnable bundle of the application to the local machine; launching the application directly from the runnable bundle.
4 . The method of claim 1 , Further comprising a step of:
creating a runnable application bundle from a locally installed application and share said application bundle to other users.
5 . The method of claim 1 , wherein the destination of said URL of the web component is filtered by known application types.
6 . The method of claim 5 , wherein the known application types include from one or more selected file types from among: an application installer, a zip package, a MSI installer, an executable, and a compressed archive.
7 . The method of claim 1 , wherein launching the application further comprising:
for device not capable of running the application locally, launching the application in a remote server process and then setup a terminal emulation to communicate with the remote application.
8 . The method of claim 1 , wherein launching the application further comprising:
for application that requires a running environment that includes one or more selected among an emulator, simulator, virtual machine, converter or translator: launching the application inside the running environment.
9 . The method of claim 1 , wherein launching and running the application further comprising:
launching and running the application completely within the local machine without performing any other application program functions over a client server connections except for the downloading and caching the immediately needed parts from the application bundle to the local machine.
10 . A method of hooking from an application API call to a system to dynamically track system changes and provide an isolating layer without changing the original application comprising steps of:
launching the application in suspend mode; inserting a custom module into the address space of said application; for each of API calls that modify system:
intercept the API to a call in the custom module;
process the API call parameter and results with a custom function;
return the API call back to the caller.
11 . The method of claim 10 , wherein the custom module isolates the running application bundle in a virtual safe box environment by intercepting system calls to local file system, registry and other system states and redirecting the changes to a local cache; the local cache is overlapped on top of the existing system on creating the environment for the running application.
12 . The method of claim 10 , wherein the custom module is a user mode application implementing a wrapper layer to launching applications and intercepting system calls from running applications to the local system.
13 . The method of claim 10 , wherein the same custom module can be used both for creating an runnable application bundle and for launching the application in an isolation layer comprising:
On creating a runnable bundle for an application, the module intercepting system calls from an application installer and save changes made to the system to a local cache and later create the runnable application bundle based on the objects in the local cache; On launching a runnable application bundle in an isolation layer, the module intercepting system calls from the running application and saving changes to a local cache rather than to the real system of the local machine.
14 . The method of claim 10 , wherein the hooking system calls further comprising:
providing an overlap file system on top of existing file system to speed up file downloading by: using a stub file in place of the original file and utilize the existing file system apis to manage and query meta information for the file; wherein the stub file can be stored in the local file system and renamed, moved, copied or deleted from the local file system using existing system api; and downloading and caching the full file content only when the full content is needed.
15 . The method of claim 10 , wherein the custom module further comprising:
intercept system calls to launching new applications, UI operations, screen outputs and other system operation to monitor and track user actions; collect statistical usage data of the user and discover user behaviors and interests by aggregation and analysis of the data.
16 . The method of claim 10 , wherein the custom module further comprising:
intercepting system calls on user actions to monitor and collect usage pattern and statistical data of the component of the application; and aggregating the collected data among multiple users to generate an optimized way to reduce network and resource usage and improve user experience during the downloading and launching of the application.
17 . The method of claim 10 , wherein the hooking module further comprising:
intercepting system calls to open a new UI component and automatically create an advertisement component along with the new UI component, ranging from the title bar, bottom, or edge of the newly created UI component to display related advertisements and additional information.
18 . The method of claim 10 , wherein the hook module further comprises:
dynamically loading other modules to provide additional functions to the original application without the need to modify the original application source code.
19 . The method of claim 10 , wherein the hooking module further comprising:
intercepting system calls that changes the system; caching the changes when the local system is offline; syncing the changes to a remote account when the system is online; and re-syncing modified the data back to a second machine when the user switches to another device.
20 . A system of converting software downloading hyperlinks inside a web page to hyperlinks to launch applications directly comprising:
a computing server comprising one or more processors and one or more memories, wherein the one or more memories store computer-readable code executable by the one or more processors, wherein the computer-readable code provides server functions for a base URL to automatically launch an application from a currently working web URL and automatically download and cache the necessary parts of the application if not already in the local cache; a running unit coupled with a client side component to retrieving a list of web page elements each containing a working URL pointing to a downloadable software URL, and: for each of the web elements, performing the following operation to change the semantic meaning of each web component by:
Changing the destination of said URL of the web component to a new URL composed of said base URL appended with the original destination
Replacing the textual description of the web component from original meaning of “download” to new meaning of “click to run”;
When a user clicking said URL, automatically launching the application rather than downloading.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.