Object driven software architecture method and apparatus

Electrical computers and digital processing systems: interprogra – Data transfer between operating systems

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06757903

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to the fields of distributed computer systems, object-oriented programming, and distributed object environments, and more specifically to methods and apparatus for implementing and using an object-oriented system architecture and operating environment for digital information appliances, networked computers/devices, and conventional computers.
BACKGROUND OF THE INVENTION
Digital information appliances (DIA) are electronic devices designed to perform a specific function or group of functions more efficiently than would a conventional computer system. Like computer systems, information appliances may be interconnected with a network such as the INTERNET to provide content and functions which would not be available when the appliances operated independently. Preferably, such network connections are transparent to the user so that the complexity of the underlying computer network is masked. In this manner, information appliances provide advantages in simplicity of operation and computing ease of use to their users.
As the proliferation of digital information appliances accelerates, it will become necessary to develop a standard system architecture and operating environment to facilitate their use and interconnection with each other and other networked devices. Such a system architecture may utilize a distributed object model employing object oriented programing methods. Object oriented programming is a programming paradigm (method) wherein a program is organized as a collection of discrete objects that are self-contained collections of data structures and routines that interact with that data. Such objects encapsulate related data and procedures so as to hide that information by allowing access to the data and procedures only through the object's published interface. Hence changes to the data and or procedures of the object are isolated from other objects. This provides an architecture that is more easily maintained since changes to an object's code does not affect other objects.
Likewise, object oriented programming methods provide for inheritance of an object's characteristics into another class of object. Thus, an object may be derived from a first object to form a second object which “inherits” certain properties of its parent object. This allows for both (1) the formation of subclasses of objects having more specialized features and/or capabilities, and (2) the reuse of individual objects in different programs. Thus, libraries of proven objects may be developed which may be used repeatedly in different applications.
In developing a standard appliance system architecture, it is desirable to allow access to objects in a transparent fashion so that objects created in different programming languages and objects residing on different appliances, network servers, or computer systems that are networked together are accessible to the user without extensive modification of the user's programming code. For computer networks, this capability may be provided by object oriented distributed environments such as the common object request broker architecture (CORBA). Such system architectures are based upon a client-server model, in which object servers provide public interfaces to object-clients that make requests of the object servers. Typically in such systems, the servers are objects consisting of data and associated methods. The object clients obtain access to the object servers by sending them messages which are mediated by the distributed system. When the server object receives the message it invokes the appropriate method and transmits the result back to the object client. The object-client and object server communicate through an Object Request Broker (ORB) which is used to locate the various distributed objects and establish communication between the objects and the client. However, such existing distributed object architectures require that all transactions (communications between client objects and server objects) must pass through an ORB. As a result, the ORB becomes a single failure point which could potentially disable such a system. Further, an ORB typically requires a large amount of memory. Thus, architectures such as CORBA would be unsuitable for “thin” (simple) appliances which have a limited amount of memory. The JIM technology from Sun Microsystems is another attempt at addressing the same problem. The architecture and implementation of JIM is similar to that of CORBA in a number of ways: JINI-enabled devices typically communicate with a JINI server, wherein the server acts as a central node in the JINI network. The JINI Server will upload drivers and services to each JINI device as needed. When using a server, JINI has the same fault problems as CORBA. When JINI is operated without a server it provides a very small feature set.
In a distributed environment the architecture has to enable devices with different hardware architecture, software architecture and operating systems to operate together. CORBA addresses this by requiring that CORBA applications use an interface description language (IDL) to communicate with the server. JIM addresses this by specifying communication protocols (i.e. by utilizing JAVA), thereby relying on JAVA resolving most of the architectural differences. In both cases, the architecture imposes a new language on the developer of the devices on the network.
For many types of computing devices it may also be necessary to transparently remote the execution of an object. Remoting execution allows an object to live and move around on the network. That allows for applications where resources and capabilities on the network automatically can be requested and invoked by any one device. CORBA does not have such a capability and JIM/JAVA have no automatic transparent remote capability. In JAVA all remote execution is created and controlled by the application, typically using the RMI environment within the Java language.
Consequently, it would be advantageous to develop an object oriented system which, for example could be employed as a standard appliance system architecture. Such an information appliance transaction system would provide greater fault tolerance than conventional object based architectures, and may be implemented on thin appliances having a limited amount of memory. The system architecture should allow management of transactions performed through the information appliances, transparent use of resources locally or on the network, and allow information appliances to be created in any software programming language.
SUMMARY OF THE INVENTION
The present invention provides an object driven software architecture that allows objects written in any programming language running on any operating system or hardware to communicate with any other object written in any other programming language running on any other operating system or any other hardware including objects executing on the same system or executing on different systems coupled via a network.
In one embodiment of the invention, the object driven software architecture provides the capability to execute transactions, including financial transactions, across a distributed network. The present invention allows for appliance transaction system allows content/service providers to control distribution of the content or services they furnish, and provides novel business process features such as automatic micro-billing of events and instances wherein minuscule requests and tasks of very low value may be billed and monies collected where doing so was otherwise impractical. The distributed object architecture provides dynamic support for multiple simultaneous payment algorithms and for easily modifying or updating the payment algorithms as desired. Further, the present invention provides for automatic offline or online transactions with deferred connections such that payment for a transaction may be secured prior to actually completing the transaction such that the user may obtain the paid for content even without an im

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 driven software architecture method and apparatus 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 driven software architecture method and apparatus, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Object driven software architecture method and apparatus will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3324892

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