Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing
Reexamination Certificate
1997-11-18
2003-04-22
Donaghue, Larry D. (Department: 2154)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
Least weight routing
C709S241000
Reexamination Certificate
active
06553428
ABSTRACT:
Appendix I, referenced in this specification, is submitted on a compact disc, the material thereon incorporated herein by reference, file name of the material is patent.pdf, the disc was created on Dec. 17, 2001 with a size of 3,382 kbytes.
This invention relates to the problem of running non-JAVA objects at a server at the request of a JAVA client.
Appendix I, referenced in this specification, is submitted on a compact disc, the material thereon incorporated herein by reference, file name of the material is patent.txt, the disc was created on Jul. 17, 2002 with a size of 87 Kbytes.
BACKGROUND OF THE INVENTION
JAVA is an object-oriented programming language and also a distributed run time environment. It provides a network computing model in which the client can reside on any platform, the server can reside on any platform and communication between the client and server is enabled over a JAVA physical socket. Objects are passed back and forth between client and server over the Java physical socket. For example, in order to perform a requested function, an object or group of objects are instantiated with the data needed and the object or group of objects are transferred over the socket to the server for execution of the method. Once the results are obtained, the object or group of objects are transferred over the socket from the server to the client.
In order to operate in a JAVA framework, objects at the client and server must be implemented in JAVA. The current invention seeks to obtain the advantage of JAVA in that it can run on any platform, thus enabling the client to have complete freedom in choosing a platform, and still be able to run non-JAVA process objects at the server. This is not possible in current JAVA implementations where JAVA objects are passed back and forth from client to server.
SUMMARY OF THE INVENTION
Instantiation of JAVA process objects is provided in this invention at the server. Instance variables for a JAVA process object are serialized and sent over a JAVA physical socket between client and server. At the server the instance variables are provided to instantiate a JAVA process object identical to the client process object. However, a JAVA virtual machine at the server can access non-JAVA code (for example, functions constructed in native C) and load that code into the instantiated JAVA process object. After executing the functions, the result data is passed by the server over the socket to the client. In that manner, the fact that the function was performed by non-JAVA code is transparent to the client and the requirement of re-formulating non-JAVA process objects into JAVA in order to use them in a network environment is rendered unnecessary.
In the invention, the words client and server are interchangeable, that is, the instantiation process is bidirectional. This enables the server to instantiate an object at the client. In that manner data can be transmitted to several clients, for example, notification of an event on a peripheral device. This invention enables an easy bidirectional method invocation.
The invention is advantageous in that only data is transferred over the socket rather than the whole object or group of objects, thus improving performance time. The invention is particularly advantageous in that non-JAVA process objects can be utilized thus avoiding the requirement of re-coding process objects in JAVA.
To implement the invention, a triology of methods, send, receive and execute are provided in both the client process object and the server process object. In that manner, communication between the two process objects by transferring instance variables is enabled.
The above mentioned and other features and objects of this invention and the manner of obtaining them will become more apparent, and the invention itself will best be understood by reference to the following description of embodiments of the invention taken in conjunction with the accompanying drawing, a description of which follows.
REFERENCES:
patent: 5367635 (1994-11-01), Bauer et al.
patent: 5546577 (1996-08-01), Marlin et al.
patent: 5566278 (1996-10-01), Patel et al.
patent: 5737607 (1998-04-01), Hamilton et al.
patent: 5815709 (1998-09-01), Waldo et al.
patent: 5867661 (1999-02-01), Bittinger et al.
patent: 5943496 (1999-08-01), Li et al.
patent: 5944781 (1999-08-01), Murray
patent: 5961582 (1999-10-01), Gaines
patent: 6125382 (2000-09-01), Obst et al.
patent: 6148346 (2000-11-01), Hanson
Wollrath et al. A Distributed Object model for Java System Jun. 1996.*
Kramer The Java Platform May 1996.*
Riggs et al. Pickling State in the Java System Jun. 1996.*
Kessler et al. Remote Objects for Java (presentation slides at JavaOne) May 1996.*
Jacquemot et al. Cool: The Chorus Corba Compliant Framework 1994.*
Michael Potter, “serialize MFC objects across the networks”, Windows Developer's journal v8 n1 p17(7) Jan. 1997.*
David Flananagan, Java in a nutshell: a desktop quick reference, Chapter 9, May 1997.*
Gosling et al, “The Java language environment:a white paper”, 1995.*
Lindholm et al, , The Java virtual machine specification, Chaps. 2, 3, 4 & 7, 1996.*
Author unknown, Java Object Serialization Specification, revision 1.3 Feb. 1997.*
Joe Weber, Special edition using Java 1.1, 3rd ed., Chapter 39, 1997.*
Joe Weber,Special Edition using Java, 2nd edition, Chapter 40, 1996.*
Cliff Berg, “How do I print in Java?”, Dr. Dobb's Journal v22 n11 p110(5) Nov. 1997.*
Stubs &Carver, “IPCC++:A C++ Exension for InterProcess Communication with Objects,”IEEE, 0730-3157/95, 1995, pp. 205-210.
Boldt Gerald D.
Carlock James R.
Heiney Ronald L.
Knudson Raymond L.
Ruehle Thomas M.
Donaghue Larry D.
International Business Machines - Corporation
Rohrer Charles E.
LandOfFree
Distributed object instantiation of native objects in java does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Distributed object instantiation of native objects in java, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Distributed object instantiation of native objects in java will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3071661