Transparent distribution and decoupling of modules using asynchronous communication and scopes
US-9513980-B2 · Dec 6, 2016 · US
US9606846B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9606846-B2 |
| Application number | US-19316705-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 29, 2005 |
| Priority date | Jul 29, 2005 |
| Publication date | Mar 28, 2017 |
| Grant date | Mar 28, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system and method are described in which skeletons and/or stubs are manipulated based on deployment information. For example, a method according to one embodiment of the invention comprises: compiling source code to generate program code executable on an application server comprised of a plurality of different virtual machines, the program code containing stubs and/or skeletons; analyzing the program code to identify stubs and/or skeletons generated for objects which are located within the same virtual machine and/or the same physical machine; removing the stubs and/or skeletons for those objects which are located in the same virtual machine and/or same physical machine to generate modified program code; and deploying the modified program code.
Opening claim text (preview).
What is claimed is: 1. A method comprising: identifying whether a method call made by a first object and directed to a second object is a local method call or a remote method call; responsive to an identification that the method call is the local method call: binding the first object directly to the second object; and making the method call directly to the second object; and responsive to an identification that the method call is the remote method call: detecting whether a stub capable of handling the remote method call exists; responsive to an identification that the stub exists, using the stub to handle the remote method call; responsive to an identification that the stub does not exist: generating a dynamic proxy; and using a remote invocation handler of the dynamic proxy to manage the remote method call, the using of the remote invocation handler comprising: receiving the remote method call at the dynamic proxy; finding a reference object that corresponds to the remote method call; and wrapping a remote method in an invocation handler object; detecting whether a skeleton capable of handling the remote method call exists; responsive to a detection that the skeleton exists, using a parameter of the remote method to make the remote method call via the skeleton; and responsive to a detection that the skeleton does not exist, generating a dynamic skeleton, and using a parameter of the remote method to make the remote method call via the dynamic skeleton. 2. The method of claim 1 , wherein the finding of the reference object includes employing a class loader to find the reference object from within a plurality of method reference objects, each one of the plurality of method reference objects encapsulating respective one of a plurality of references to methods of the second object. 3. The method of claim 2 , wherein each of the plurality of method reference objects is a Java reference class. 4. The method of claim 1 , wherein the identifying is accomplished by analyzing the method call at run time. 5. A system comprising: one or more microprocessors; one or more memories coupled to the one or more microprocessors, the one or more memories configuring the one or more microprocessors to perform operations, the operations comprising: identifying whether a method call made by a first object and directed to a second object is a local method call or a remote method call; responsive to an identification that the method call is the local method call: binding the first object directly to the second object; and making the method call directly to the second object; and responsive to an identification that the method call is the remote method call: detecting whether a stub capable of handling the remote method call exists; responsive to an identification that the stub exists, using the stub to handle the remote method call; responsive to an identification that the stub does not exist: generating a dynamic proxy; and using a remote invocation handler of the dynamic proxy to manage the remote method call, the using of the remote invocation handler comprising: receiving the remote method call at the dynamic proxy; finding a reference object that corresponds to the remote method call; and wrapping a remote method in an invocation handler object; detecting whether a skeleton capable of handling the remote method call exists; responsive to a detection that the skeleton exists, using a parameter of the remote method to make the remote method call via the skeleton; and responsive to a detection that the skeleton does not exist, generating a dynamic skeleton, and using a parameter of the remote method to make the remote method call via the dynamic skeleton. 6. The system of claim 5 , wherein the finding of the reference object includes employing a class loader to find the reference object from within a plurality of method reference objects, each one of the plurality of method reference objects encapsulating respective one of a plurality of references to methods of the second object. 7. The system of claim 6 , wherein each of the plurality of reference objects is a Java reference class. 8. The system of claim 5 , wherein the identifying is accomplished by analyzing the method call at run time. 9. A non-transitory machine readable medium embodying a set of instructions that, when executed by a processor, causes the processor to perform a method, the method comprising: identifying whether a method call made by a first object and directed to a second object is a local method call or a remote method call; responsive to an identification that the method call is the local method call: binding the first object directly to the second object; and making the method call directly to the second object; and responsive to an identification that the method call is the remote method call: detecting whether a stub capable of handling the remote method call exists; responsive to an identification that the stub exists, using the stub to handle the remote method call; responsive to an identification that the stub does not exist: generating a dynamic proxy; and using a remote invocation handler of the dynamic proxy to manage the remote method call, the using of the remote invocation handler comprising: receiving the remote method call at the dynamic proxy; finding a reference object that corresponds to the remote method call; and wrapping a remote method in an invocation handler object; detecting whether a skeleton capable of handling the remote method call exists; responsive to a detection that the skeleton exists, using a parameter of the remote method to make the remote method call via the skeleton; and responsive to a detection that the skeleton does not exist, generating a dynamic skeleton, and using a parameter of the remote method to make the remote method call via the dynamic skeleton. 10. The non-transitory machine readable medium of claim 9 , wherein the finding of the reference object includes employing a class loader to find the reference object from within a plurality of method reference objects, each one of the plurality of method reference objects encapsulating respective one of a plurality of references to methods of the second object. 11. The system of claim 10 , wherein each of the plurality of reference objects is a Java reference class.
Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators · CPC title
Object oriented; Remote method invocation [RMI] (non-remote method invocation G06F9/449) · CPC title
Remote procedure calls [RPC]; Web services · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.