Method and apparatus for distributed application acceleration
First Claim
1. A method for distributing at least one application in a communication network, said method comprising the steps of:
- redirecting to one server of a plurality of proxy servers at locations distributed throughout the network, at least one service request received from a client for said at least one application;
determining a set of programs required at said one server to fulfil said request for said at least one application, the determining including parsing the request to determine the programs required to satisfy the request;
retrieving a proxylet-record for said programs;
looking up a field of said proxylet-record for determining the set of programs to be executed at the proxy server;
executing said set of programs; and
providing administrative control of said application with a backend server.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention presents methods and apparatus supporting acceleration of networked applications by means of dynamic distributed execution and maintenance. It also enables management and administration of the distributed components of the networked applications from a responsible point of origination. The method and apparatus deploys a plurality of proxy servers within the network. Clients are directed to one of the proxy servers using wide area load balancing techniques. The proxy servers download programs from backend servers and cache them in a local store. These programs, in conjunction with data stored at cached servers, are used to execute applications at the proxy server, eliminating the need for a client to communicate to a backend server to execute a networked application.
-
Citations
45 Claims
-
1. A method for distributing at least one application in a communication network, said method comprising the steps of:
-
redirecting to one server of a plurality of proxy servers at locations distributed throughout the network, at least one service request received from a client for said at least one application; determining a set of programs required at said one server to fulfil said request for said at least one application, the determining including parsing the request to determine the programs required to satisfy the request; retrieving a proxylet-record for said programs; looking up a field of said proxylet-record for determining the set of programs to be executed at the proxy server; executing said set of programs; and providing administrative control of said application with a backend server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 30)
-
-
22. An apparatus to accelerate a distributed application within a network, the apparatus comprising:
-
a wide area load balancer for distributing at least one request from at least one client to a particular proxy server from among a plurality of proxy servers distributed throughout the network; an application distributor for distributing a set of programs used for said distributed application to at least said particular proxy server necessary to satisfy said at least one request; an information-management recorder for recording connectivity information about the set of programs; an execution device for obtaining parameters specific to said request and for obtaining and executing said set of programs satisfying said at least one request at said particular proxy server, said execution device performing at least one operation to satisfy said request and writing any resulting logging messages; a backend server for providing administrative control of said application, and for receiving said logging messages. - View Dependent Claims (23, 24, 25, 26)
-
-
27. An apparatus for distributing at least one application in a communication network, comprising:
-
a plurality of proxy servers each having; a first set of programs used in said at least one application, a second set of programs retrieved from a back-end server and executed locally to satisfy part of at least one request received from a client; a set of cached data associated with said sets of programs; a set of information-management records for said sets of programs; and a cache manager for maintaining the set of programs, the set of cached data and the set of information-management records in distribution of said at least one application; an execution device for obtaining parameters specific to said request and for obtaining and executing said set of programs satisfying said at least one request, said execution device performing at least one operation to satisfy said request and writing any resulting logging messages; said backend server providing administrative control of said application, and receiving said logging messages.
-
-
28. An apparatus for distributing at least one application in a communication network, said apparatus comprising a backend server having:
-
a first set of programs used for said at least one application, said first set of programs being distributed to a plurality of proxy servers within the network, each proxy server having an execution device for obtaining parameters specific to a request and for obtaining and executing said set of programs satisfying said request, said execution device performing at least one operation to satisfy said request and writing any resulting logging messages; a second set of programs used for said at least one application, said second set of programs being executed locally by the backend server; a third set of programs used for said at least one application, said third set of programs to receive logging and error messages from the execution of said first set of programs; an accessing server to provide access to the first set of programs by any of the proxy servers; said backend server providing administrative control of said application. - View Dependent Claims (29)
-
-
31. A method for distributing at least one application, said method comprising:
-
redirecting one client for said at least one application, to a first proxy server from a plurality of proxy servers distributed throughout a network; evaluating a request for said at least one application to determine a part of said application that is executable at the first proxy server; obtaining values of parameters specific to said request; executing said part at said proxy server; obtaining at least one program used by said at least one application enabling said step of executing; wherein the step of executing includes; performing at least one operation to satisfy said request; and writing any resulting logging messages to a backend server; and providing administrative control of said application with a backend server. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
Specification