Object-oriented communication system with support for...

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06438617

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 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 invention, an apparatus for communicating with a plurality of remote machines, of a plurality of machine types, includes a computer system including a processor and memory, a data communication means, coupled to the computer system and to the plurality of remote machines, for communicating with each of the plurality of remote machines, and a first plurality of software objects within the memory for describing services for the plurality of remote machines. A preferred embodiment also includes a plurality of operations within the memory associated with the first plurality of software objects, the plurality of operations for satisfying requests described by the services of the first plurality of software objects.
According to another embodiment of the invention, a system for communicating with a plurality of remote machines of a plurality of machine types includes a computer system including a memory and a mass storage device, a plurality of machine description files within the mass storage device, the plurality of machine description files for describing the plurality of remote machines, and a plurality of application programs within the memory, each of the plurality of application programs for reading representations of a plurality of software objects, and for making and satisfying requests described by services of the plurality of software objects.


REFERENCES:
patent: 4407016 (1983-09-01), Bayliss
patent: 5168441 (1992-12-01), Onarheim
patent: 5297279 (1994-03-01), Bannon et al.
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
patent: 5457797 (1995-10-01), Butterworth et al.
patent: 5475845 (1995-12-01), Orton et al.
patent: 5499368 (1996-03-01), Tate e

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

Object-oriented communication system with support for... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Object-oriented communication system with support for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Object-oriented communication system with support for... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2967958

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