Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing
Reexamination Certificate
1997-11-12
2001-07-10
Pan, Daniel H. (Department: 2183)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
Least weight routing
C709S241000, C709S241000, C709S217000, C709S219000
Reexamination Certificate
active
06260076
ABSTRACT:
COPYRIGHT NOTICE
A portion of the disclosure of this patent contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTION
The present invention relates generally to the area of service tools for remote machines. More specifically, the present invention relates to communication between service application programs in computer systems, and remote devices such as remote machines and external data in files, databases, and programs.
Object Oriented Programming
An understanding of object oriented programming and object-oriented application frameworks will assist in full understanding of the present invention. As is understood to one skilled in the art, an “object” is an abstraction of a real world entity and is implemented as a combination of a data structure (whose fields are called “attributes” or “data members”) and a set of operations (“methods” or “member functions”) that can be performed on it. A “class” is a data type for a set of objects that each have the same data structure and the same operations. An “instance” of a class is an object, the data type of which is the class, as actually embodied in the memory of a running application program.
Classes are grouped into one or more (compile-time) hierarchies based on “inheritance,” which allows the interface (i.e. the names and types of the attributes and methods) of a “subclass” to be specified in terms of its differences from those of one or more “superclasses.” Instances may be grouped in one or more (run-time) hierarchies by “containment”; an object that contains a plurality of other objects is called a “container” or a “collection.” Further information regarding object oriented programming concepts are found in The Annotated C++ Reference Manual by Margaret A. Ellis and Bjarne Stroustrup, Addison Wesley c 1990.
An “object-oriented application framework” consists of a library of classes that are designed to be extended and subclassed by the application programmer, packaged along with several illustrative sample applications that use those classes and which are designed to be modified by the application programmer. The sample applications generally constitute a system that is useful in its own right. In general, the basic concept of a framework is well known to one skilled in the art. Some example frameworks include X Toolkit, Motif Toolkit, Smalltalk Model-View-Controller GUI, and MacApp.
Remote Service Application
An “application” is a program or set of cooperating programs that enable a user of a computer system to accomplish some task or set of tasks.
Remote Service Applications are applications that allow a computer user to communicate with and perform services (operations) upon machines (remote machines) that are separate from the user's computer system, possibly at a remote location, i.e. off-site. Some examples of remote machines include office machines such as copy machines, facsimile machines, and phone systems; and software entities in the memory of some remote computer system such as a file server or database server, etc. The typical actions performed with remote service applications include remotely diagnosing problems of a remote machine, monitoring the usage of the remote machine, enabling/disabling features of the remote machine, retrieving data, changing parameters, etc.
The present invention also supports applications that communicate with and perform operations upon software entities such as files and processes that are contained by the same computer system as the application program; we will use the term “remote machine” with the understanding that it may also include processes and files in the user's machine, but external to the memory and process controlled by the remote service application program.
To access a remote machine, the remote service application uses a “device driver” associated with some interface device such as a modem, and a “protocol driver” that formats the data sent to and received from the remote machine. These drivers may be part of the operating system or may be modules within the application program.
In the past, remote service applications were individually customized for each type of remote machine. For example, a first remote service application communicated only with machines having a particular protocol, whereas a second remote service application communicated only with machines having a different protocol. An advantage of this customized approach is that the remote service applications are efficient because they are tightly coupled to the architecture and parameters of the respective remote machine.
One disadvantage to individually customized remote service applications is that each software system often includes functions and data that are commonly used and duplicated for each system, such as customer databases. Another disadvantage is that each time a new type of remote machine is manufactured, a new software system needs to be created to address the unique capabilities of the new type of remote machine. The problem with this is that the software system is often built from scratch; thus the development cycle time is high. Yet another disadvantage is that individually customized approaches are often inflexible. Typically once a software system is on-line, modifications to the software system are very difficult because of the numerous ramifications to other parts of the software system.
What is needed is a set of software mechanisms by which a remote service application can communicate with and operate on any one of a plurality of remote machines, and a method for developing these remote service applications, that avoid the disadvantages disclosed above.
SUMMARY OF THE INVENTION
The present invention relates generally to the area of service tools for remote machines. More specifically, the present invention relates to communication between service application programs in computer systems, and remote devices such as remote machines and external data in files, databases, and programs.
According to a preferred embodiment of the present invention, a ethod for communicating with a plurality of remote machines, of a plurality of machine types, using a computer system having a memory, includes the steps of constructing within the memory a first plurality of software objects, the first plurality of software objects describing services for one of the plurality of remote machines, establishing communications with the one remote machine, and invoking operations on the one remote machine in response to requests described by services of the first plurality of software objects.
REFERENCES:
patent: 4407016 (1983-09-01), Bayliss et al.
patent: 5168441 (1992-12-01), Onarheim et al.
patent: 5297279 (1994-03-01), Bannon et al.
patent: 5307490 (1994-04-01), Davidson
patent: 5371895 (1994-12-01), Bristol
patent: 5404529 (1995-04-01), Chernikoff et al.
patent: 5421009 (1995-05-01), Platt
patent: 5453933 (1995-09-01), Wright et al.
patent: 5457797 (1995-10-01), Butterworth et al.
patent: 5475845 (1995-12-01), Orton et al.
patent: 5499368 (1996-03-01), Tate et al.
patent: 5511199 (1996-04-01), Anthias et al.
patent: 5548723 (1996-08-01), Pettus
patent: 5548779 (1996-08-01), Andert et al.
patent: 5568639 (1996-10-01), Wilcox et al.
patent: 5583983 (1996-12-01), Schmitter
patent: 5606700 (1997-02-01), Anthias et al.
patent: WO9111766A (1991-08-01), None
patent: WO9517720A (1995-06-01), None
Golding Richard
Hart Peter E.
Jeng Tina L.
Roth Rithy K.
Savitzky Stephen R.
Pan Daniel H.
Ricoh & Company, Ltd.
Townsend and Townsend / and Crew LLP
LandOfFree
Method of using an object-oriented communication system with... 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 of using an object-oriented communication system with..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method of using an object-oriented communication system with... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2469758