Method and apparatus for enabling application programs to...

Electrical computers and digital processing systems: multicomput – Remote data accessing – Accessing a remote server

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S230000

Reexamination Certificate

active

06697848

ABSTRACT:

TRADEMARK NOTICE
Sun, Spring, Solaris, Sunsoft, SunOS, Java and HotJava are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the United States of America and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc.
BACKGROUND OF THE INVENTION
The present invention relates generally to distributed object-oriented programming, and more specifically to interoperability of distributed objects between network clients and network servers.
In the present disclosure the term “network server” refers to an apparatus on a network that includes software objects, and the term “network client” refers to an apparatus on a network that refers to software objects. The term “network server machine” refers to a host computer that includes a network server, and the term “network client machine” refers to a host computer that includes a network client. The term “document server” refers to an apparatus that provides downloadable documents, and the term “code server” refers to an apparatus that provides downloadable code.
The CORBA
The interoperability of software objects between object-oriented clients and servers has become a significant issue in distributed computing systems. Typically, since different (object-oriented) client/servers have different object interfaces, objects produced by one client/server cannot be used by another client/server. One present effort for standardizing an interface for objects within (object-oriented) client/servers is known as Common Object Request Broker Architecture (CORBA).
The CORBA specification generally provides interfaces by which a client/server can access software objects from another client/server and also provide access to its own software objects to other client/servers. To enable the accessing of such “distributed objects”, CORBA specifies an “Interface Definition Language” (IDL) to be used by the client/server, more particularly to be used by object request brokers (ORBs) within each client/server. Exemplary client/servers incorporating IDL include SunOS™ and NEO™ from Sun Microsystems, Inc. and DCE and ORBIX from Digital Equipment Corporation.
Further information regarding CORBA can be found in the following references: “The Common Object Request Broker: Architecture and Specification”, Release 2.0, Published by Object Management Group (OMG), Framingham, Mass. July 1995. “The ESSENTIAL CORBA: System Integration Using Distributed Objects” Thomas J. Mowbray, PhD and Ron Zahavi. Published by John Wiley and Object Management Group. 1995.
Although IDL has provided a standardized way of defining object interfaces, CORBA did not specify an “on-the-wire-protocol” for the access of objects across a network. As a result, different vendors have implemented ORBs using different network protocols and different data formats for handling such network objects.
The Java™ Language
With the increasing popularity of the Internet and the World-Wide Web, interoperability of software between completely different computers and operating systems has become an issue. One problem with obtaining software from the Internet is that when a user receives a document from a document server, the user should also obtain an operating system specific driver for the document. With conventional network hypertext mark-up language (HTML) browsers, for example, “helper applications” should be provided, such as movie viewers, sound players, etc. in order to “use” the document. A solution that was developed to overcome this problem is the Java language, developed by Sun Microsystems, Inc.
The Java language is an object-oriented language that can be integrated into conventional HTML browsers and allows a document server to provide the browser with documents as well as executable code. The executable code is automatically loaded from the document server if the HTML browser determines that it does not have the appropriate driver already resident on the user machine. The executable code takes the form of application programs, “applets”, comprising “bytecodes” that are machine independent. These applets are then interpreted by operating system specific applet interpreters (virtual machines). A current Internet/Web browser implementation using the Java language is HotJava™, also developed by Sun Microsystems, Inc.
Further information regarding the Java Language and the HotJava browser can be found in the following references: “The Java/HotJava Programmer's Guide” currently posted at the following Internet site: http://java.sun.com/proGuide/index.html, and “The Java Language Specification” Release 1.0 Alpha3, May 11, 1995 attached as Appendix A.
SUMMARY OF THE INVENTION
The present invention provides methods and apparatus for allowing application programs to invoke objects within network servers that have different network (on-the-wire) protocols. In particular, the present invention allows document servers to down-load ORBs and network protocols to application programs, thus enabling application programs to invoke objects within network servers.
According to a preferred embodiment, a method for enabling an application program to communicate with a network server, includes the steps of downloading a document from a document server to the application program, downloading code from a code server associated with the document server to the application program, the code including a network protocol handler for the network server, and using the network protocol handler to communicate with the network server.
According to another preferred embodiment, a distributed computing system including a network server also includes a document server for storing a plurality of documents, a code server for storing a plurality of code associated with the plurality of documents, the plurality of code including a network protocol handler, and an application program for loading a document from the plurality of documents, for loading code from the plurality of code associated with the document, and for using the network protocol handler within the code to communicate with the network server.
The present invention also provides methods and apparatus for enabling application programs to receive communications from network clients that have different network (on-the-wire) protocols. In particular, the present invention allows document servers to down-load ORBs and network protocols to application programs, thus enabling network clients to invoke objects in application programs.
According to another preferred embodiment, a method for enabling an application program to receive communications from a network client includes the steps of downloading a document from a document server to the application program, downloading code from a code server associated with the document server to the application program, the code including a network protocol handler for the network client, and using the network protocol handler to receive communications from the network client.
According to yet another preferred embodiment a distributed computing system including a network client also includes a document server for storing a plurality of documents, a code server for storing a plurality of code associated with the plurality of documents, the plurality of code including a network protocol handler, and an application program for loading a document from the plurality of documents, for loading code from the plurality of code associated with the document, and for using the network protocol handler within the code to receive communications from the network client.


REFERENCES:
patent: 5475817 (1995-12-01), Waldo et al.
patent: 5481721 (1996-01-01), Serlet et al.
patent: 5511197 (1996-04-01), Hill et al.
patent: 5515508 (1996-05-01), Pettus et al.
patent: 5530852 (1996-06-01), Meske, Jr. et al.
patent: 5546584 (1996-08-01), Lundin et al.
patent: 5577251 (1996-11-01), Hamilton et al.
patent: 5630066 (1997-05-01), Go

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for enabling application programs to... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for enabling application programs to..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for enabling application programs to... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3318123

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.