Method and system for executing and operation in a distributed environment
First Claim
1. A method for executing an operation in a distributed system, the method comprising the steps of:
- executing a dispatcher on a first machine;
executing a cartridge execution engine on a second machine, wherein said second machine is different from said first machine;
said dispatcher receiving from a web listener a first message that requests execution of said operation, wherein said first message was sent to said dispatcher in response to said web listener receiving a browser request from a browser;
in response to said first message, said dispatcher sending a second message to the cartridge execution engine over an inter-machine communication mechanism;
in response to said second message, said cartridge execution engine passing a third message, through a standard cartridge interface, to a cartridge that is executing on said second machine, wherein said cartridge is one of a plurality of cartridges that each contain routines that are called through the standard cartridge interface, wherein different cartridges of said plurality of cartridges implement said routines differently thereby causing each of said different cartridges to perform different operations in response to calls received through said standard cartridge interface; and
in response to receiving said third message, said cartridge executing said operation.
3 Assignments
0 Petitions
Accused Products
Abstract
A system, method, and computer readable-medium for performing operations associated with browser requests are provided. The system includes a plurality of dispatchers coupled to a plurality of web listeners. Each of the dispatchers receives from a corresponding web listener browser requests received by the corresponding web listener. The dispatchers are configured to send messages through an inter-machine communication mechanism to cartridge instances. The messages cause the cartridge instances to perform the operations associated with the browser requests. Each cartridge instances includes a cartridge execution engine and a cartridge. The cartridge execution engine handles all inter-machine communication with the dispatchers, and passes the requests to the cartridges by making calls into the application programming interface of the cartridge. Consequently, cartridges are isolated from the complexities of inter-machine communication, and may therefore by used in a highly distributed system without being distribution-aware.
152 Citations
28 Claims
-
1. A method for executing an operation in a distributed system, the method comprising the steps of:
-
executing a dispatcher on a first machine; executing a cartridge execution engine on a second machine, wherein said second machine is different from said first machine; said dispatcher receiving from a web listener a first message that requests execution of said operation, wherein said first message was sent to said dispatcher in response to said web listener receiving a browser request from a browser; in response to said first message, said dispatcher sending a second message to the cartridge execution engine over an inter-machine communication mechanism; in response to said second message, said cartridge execution engine passing a third message, through a standard cartridge interface, to a cartridge that is executing on said second machine, wherein said cartridge is one of a plurality of cartridges that each contain routines that are called through the standard cartridge interface, wherein different cartridges of said plurality of cartridges implement said routines differently thereby causing each of said different cartridges to perform different operations in response to calls received through said standard cartridge interface; and in response to receiving said third message, said cartridge executing said operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable medium carrying one or more sequences of instructions for executing an operation in a distributed system, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
executing a dispatcher on a first machine; executing a cartridge execution engine on a second machine, wherein said second machine is different from said first machine; said dispatcher receiving from a web listener a first message that requests execution of said operation, wherein said first message was sent to said dispatcher in response to said web listener receiving a browser request from a browser; in response to said first message, said dispatcher sending a second message to the cartridge execution engine over an inter-machine communication mechanism; in response to said second message, said cartridge execution engine passing a third message, through a standard cartridge interface, to a cartridge that is executing on said second machine, wherein said cartridge is one of a plurality of cartridges that each contain routines that are called through the standard cartridge interface, wherein different cartridges of said plurality of cartridges implement said routines differently thereby causing each of said different cartridges to perform different operations in response to calls received through said standard cartridge interface; and in response to receiving said third message, said cartridge executing said operation. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A system for performing operations associated with browser requests, the system comprising:
-
a plurality of dispatchers coupled to a plurality of web listeners; an inter-machine communication mechanism; a plurality of cartridges, wherein each of said cartridges contains routines that are called through a standard cartridge interface, wherein different cartridges perform different operations in response to calls received through said standard cartridge interface; a plurality of cartridge execution engines that communicate with said plurality of dispatchers through said inter-machine communication mechanism and communicate with said plurality of cartridges by making calls to said routines in said plurality of cartridges through said standard cartridge interface; wherein each dispatcher of said plurality of dispatchers is configured to send through said inter-machine communication mechanism a first message to a particular cartridge execution engine of said plurality of cartridge execution engines in response to a web listener receiving a browser request that requires a particular cartridge to perform an operation; and wherein said particular cartridge execution engine is configured to respond to said first message by calling through said standard cartridge interface a routine in said particular cartridge that performs said operation. - View Dependent Claims (18, 19)
-
-
20. A method for causing a module of a distributed system to perform operations in a distribution unaware manner, the method comprising the steps of:
-
executing said module on a particular machine; passing through a cartridge execution engine associated with said module requests to said module from other components of said distributed system; passing through said cartridge execution engine associated with said module replies from said module to said other components of said distributed system; wherein said cartridge execution engine and said module are executing on a first machine; and wherein said other components are not executing on said first machine. - View Dependent Claims (21, 22)
-
-
23. A method for performing operations associated with browser requests, the method comprising the steps of:
-
executing a plurality of dispatchers that are coupled to a plurality of web listeners; executing a plurality of cartridges, wherein each of said cartridges contains routines that are called through a standard cartridge interface, wherein different cartridges perform different operations in response to calls received through said standard cartridge interface; executing a plurality of cartridge execution engines that communicate with said plurality of dispatchers through an inter-machine communication mechanism and communicate with said plurality of cartridges by making calls to said routines in said plurality of cartridges through said standard cartridge interface; wherein each dispatcher of said plurality of dispatchers is configured to send through said inter-machine communication mechanism a first message to a particular cartridge execution engine of said plurality of cartridge execution engines in response to a web listener receiving a browser request that requires a particular cartridge to perform an operation; and wherein said particular cartridge execution engine is configured to respond to said first message by calling through said standard cartridge interface a routine in said particular cartridge that performs said operation. - View Dependent Claims (24, 25)
-
-
26. A computer-readable medium carrying one or more sequences of instructions for causing a module of a distributed system to perform operations in a distribution unaware manner, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
executing said module on a particular machine; passing through a cartridge execution engine associated with said module requests to said module from other components of said distributed system; passing through said cartridge execution engine associated with said module replies from said module to said other components of said distributed system; wherein said cartridge execution engine and said module are executing on a first machine; and wherein said other components are not executing on said first machine. - View Dependent Claims (27, 28)
-
Specification