Claims
- 1. Method for executing an application program comprising: caching a cacheable component of the application program received from an original computing device;
receiving a request for executing a component of the application program determining whether or not the request relates to the cacheable application program component that has been cached; directing the request to the cacheable application program component in response to a determination that the request relates to the component that has been cached; and, otherwise, passing the request to another computing device.
- 2.The method of claim 1, wherein the cacheable application program component constitutes the only component of a cacheable application program, such that the cacheable application program is wholly cached by caching the cacheable application program component.
- 3.The method of claim 1, wherein caching the cacheable application program component comprises:
downloading one or more installation files for the cacheable application program component from the original computing device; and, installing the cacheable application program component onto the caching computing device by utilizing the one or more installation files.
- 4.The method of claim 1, wherein the steps of caching, receiving, determining, directing and passing are performed by a caching computing device, and directing the request to the cacheable application program component that has been cached comprises executing the application program component by the caching computing device for a client computing device in lieu of execution by the original computing device for the client computing device.
- 5.The method of claim 4, wherein the request is passed to the original computing device, and the method further comprising:
receiving the request by the original computing device, as has been passed by the caching computing device; and, executing the application program component by the original computing device for the client computing device.
- 6.The method of claim 4, further comprising: tracking client computing device usage of a cacheable application program component to which the application program component request relates; assessing whether the usage is sufficient to justify caching of the cacheable application program component by the caching computing device,; and, caching the application program component at the caching computing device in response to a determination that the usage is sufficient to justify caching.
- 7.The method of claim 6, wherein caching the cacheable application program component at the caching computing device comprises:
downloading one or more installation files for the cacheable application program component by the caching computing device from the original computing device; and, installing the cacheable application program component at the caching computing device by the caching computing device, utilizing the one or more installation files.
- 8.The method of claim 1, wherein the steps of caching, receiving, determining, directing and passing are performed by a client computing device, and directing the application program component request to the cacheable application program component that has been cached comprises executing the application program component by the client computing device for itself.
- 9.The method of claim 8, wherein the request is passed to the original computing device, and the method further comprising:
receiving the request by the original computing device; and, executing the application program component by the original computing device for the client computing device.
- 10.The method of claim 8, wherein the request is passed to a caching computing device, and the method further comprising:
receiving the request by a caching computing device; determining by the caching computing device whether the request relates to a cacheable application program component that has been cached by the caching computing device; directing the application program component request by the caching computing device to the cacheable application program component that has been cached by the caching computing device in response to determining that the request relates to the component that has been cached by the caching computing device; and, otherwise, passing the application program component request by the caching computing device to the original computing device.
- 11.The method of claim 10, wherein directing the application program component request by the caching computing device comprises executing the application program component by the caching computing device for the client computing device in lieu of execution by the original computing device for the client computing device.
- 12.The method of claim 10, further comprising subsequent to passing the application program component request by the caching computing device to the original computing device:
receiving the request by the original computing device, as has been passed by the caching computing device; and, executing the application program component by the original computing device for the client computing device.
- 13.The method of claim 8, further comprising:
tracking client computing device usage of a cacheable application program component to which the application program component request relates; assessing whether the usage is sufficient to justify caching of the cacheable application program component by the client computing device; and, caching the application program component at the client computing device in response to a determination that the usage is sufficient to justify caching.
- 14.The method of claim 13, wherein caching the application program component at the client computing device comprises:
downloading one or more installation files for the component by the client computing device from the original computing device; and, installing the component at the client computing device by the client computing device, utilizing the one or more installation files.
- 15.A machine-readable medium having instructions stored thereon for execution by a processor of a computing device to perform a method comprising:
receiving a request for executing an application program component; determining whether or not the request relates to a cacheable application program component that has been cached from an original computing device; directing the application program component request to the cacheable application program component in response to a determination that the request relates to the component that has been cached; and, otherwise, passing the request to another computing device.
- 16.The medium of claim 15, wherein the cacheable application program component constitutes the only component of a cacheable application program, such that the cacheable application program is wholly cached by caching the cacheable application program component.
- 17.The medium of claim 15, wherein the computing device comprises a client computing device.
- 18.The medium of claim 17, wherein directing the application program component request to the cacheable application component that has been cached comprises executing the application program component by the client computing device for itself in lieu of execution by one of a caching computing device and the original computing device for the client computing device.
- 19.The medium of claim 17, wherein passingthe application program component request to another computing device comprises passing the request to one of a caching computing device and the original computing device.
- 20.The medium of claim 15, wherein the computing device comprises a caching computing device.
- 21.The medium of claim 20, wherein directing the application program request to the cacheable application component that has been cached comprises executing the application program component by the caching computing device for a client computing device in lieu of execution by the original computing device for the client computing device.
- 22.The medium of claim 20, wherein passing the application program component request to another computing device comprises passing the request to the original computing device.
- 23.A machine-readable medium having instructions stored thereon for execution by a processor of a computing device to perform a method comprising:
tracking usage by a client computing device of cacheable application program component of an application program stored on an original computing device relate; assessing whether or not the usage is sufficient to justify caching any of the cacheable application program components from the original computing device; and, caching any of the application program components from the original computing device that the usage of which has been assessed as sufficient to justifying caching.
- 24.The medium of claim 23, wherein the application program consist of one or more cacheable components, such that the entire application program can be cached.
- 25.The medium of claim 23, wherein caching any of the application program components comprises downloading one or more installation files from the original computing device.
- 26.The medium of claim 23, wherein the computing device is a client computing device.
- 27.The medium of claim 23, wherein the computing device is a caching computing device.
- 28.A computing device comprising:
a cacheable application program component of an application program that has been cached from an original computing device; and, a direction component to intercept requests for application program component and direct any of the requests that relate to the application program component that has been cached to the application program component that has been cached.
- 29.The device of claim 28, wherein the cacheable application program component constitutes the only component of a cacheable application program, such that the cacheable application program is wholly cached.
- 30.The device of claim 28, wherein the device is a client computing device.
- 31.The device of claim 28, wherein the device is a caching computing device.
- 32.The device of claim 28, wherein the redirection component is further to otherwise pass the application program component requests that are irrelevant to the application program that has been cached to another computing device.
- 33.The device of claim 28, wherein the direction component comprises:
a first handler to determine whether a request comprises an application program component request for any cacheable application program component that has been cached; a second handler for the application program component that has been cached; and, a third handler to receive the request from the first handler in response to the first handler determining that the request comprises an application program request for any cacheable application program component that has been cached, and to direct the request to the second handler in response to determining that the request relates to the application program component that has been cached.
- 34.The device of claim 28, further comprising a caching component to track usage of application program components.
- 35.The device of claim 34, wherein the caching component is further to assess whether the usage of any of the application program components is sufficient to justify caching.
- 36.The device of claim 35, wherein the caching component is further to cache any of the application program components that the usage of which has been assessed as sufficient to justifying caching.
- 37.The device of claim 36, wherein the caching component is to cache any of the application program components by downloading one or more installation files from the original computing device.
- 38.A computing device comprising:
a cacheable application program component that has been cached from an original computing device; and, a component to execute the application program component in lieu of execution by the original computing device.
- 39.The device of claim 38, wherein the computing device is a client computing device, and the component to execute the application program component executes the application program component for itself in lieu of execution by the original computing device for the client computing device.
- 40.The device of claim 38, wherein the computing device is a caching computing device, and the component to execute the application program component executes the application program component for a client computing device in lieu of execution by the original computing device for the client computing device.
- 41.A system comprising:
a client computing device communicatively connected to a network; and, a caching computing device to cache at least one cacheable application program component from an original computing device and execute the at least one component for the client computing device, the caching computing device also communicatively connected to the network.
- 42.The system of claim 41, wherein any of the at least one application program components cached by the caching computing device constitute the only component of a cacheable application program, such that the cacheable application program is wholly cached by the caching computing device caching the cacheable application program component.
- 43.The system of claim 41, wherein the client computing device is further to cache at least one cacheable application program component from the original computing device and execute the at least one component for itself.
- 44.The system of claim 43, wherein any of the at least one application program components cached by the client computing device constitute an only component of a cacheable application program, such that the cacheable application program is wholly cached by the client computing device caching the cacheable application program component.
- 45.The system of claim 41, wherein the original computing device is also communicatively connected to the network.
- 46.The system of claim 41, wherein the original computing device is communicatively connected to a second network, the caching computing device also communicatively connected to the second network.
- 47.Method for executing a computer application program or a component thereof that is stored at an original computing device for a client computing device through the use of a caching computing device, the method comprising:
receiving and caching, at the caching computing device, the application program or the component thereof from the original computing device; and in response to a request to execute the cached application program or the cached component, executing, at the caching computing device, the application program or the component thereof.
- 48.The method of claim 47 further comprising providing results of executing the application program or the component thereof from the caching computing device to the client computing device.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present application is related to and claims the benefit and priority of the earlier filed provisional patent application entitled “Caching and Distributed Execution of Web Applications”(docket no. 154795.21, filed on Jul. 11, 2000, and assigned Ser. No. 60/217,602.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60217602 |
Jul 2000 |
US |