Unified messaging methods and systems for communication and...

Electrical computers and digital processing systems: multicomput – Distributed data processing – Processing agent

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S206000

Reexamination Certificate

active

06691151

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention is related to distributed computing environments and the completion of tasks within such environments. In particular, the present invention teaches a variety of software-based architectures for communication and cooperation among distributed electronic agents to provide a high degree of integration across multiple applications in a personal computer environment.
Context and Motivation for Distributed Software Systems
The evolution of models for the design and construction of distributed software systems is being driven forward by several closely interrelated trends: the adoption of a networked computing model, rapidly rising expectations for smarter, longer-lived, more autonomous software applications and an ever increasing demand for more accessible and intuitive user interfaces.
Prior Art
FIG. 1
illustrates a networked computing model
100
having a plurality of client and server computer systems
120
and
122
coupled together over a physical transport mechanism
140
.The adoption of the networked computing model
100
has lead to a greatly increased reliance on distributed sites for both data and processing resources. Systems such as the networked computing model
100
are based upon at least one physical transport mechanism
140
coupling the multiple computer systems
120
and
122
to support the transfer of information between these computers. Some of these computers basically support using the network and are known as client computers (clients). Some of these computers provide resources to other computers and are known as server computers (servers). The servers
122
can vary greatly in the resources they possess, access they provide and services made available to other computers across a network. Servers may service other servers as well as clients.
The Internet is a computing system based upon this network computing model. The Internet is continually growing, stimulating a paradigm shift for computing away from requiring all relevant data and programs to reside on the user's desktop machine. The data now routinely accessed from computers spread around the world has become increasingly rich in format, comprising multimedia documents, and audio and video streams. With the popularization of programming languages such as JAVA, data transported between local and remote machines may also include programs that can be downloaded and executed on the local machine. There is an ever increasing reliance on networked computing, necessitating software design approaches that allow for flexible composition of distributed processing elements in a dynamically changing and relatively unstable environment.
In an increasing variety of domains, application designers and users are coming to expect the deployment of smarter, longer-lived, more autonomous, software applications. Push technology, persistent monitoring of information sources, and the maintenance of user models, allowing for personalized responses and sharing of preferences, are examples of the simplest manifestations of this trend. Commercial enterprises are introducing significantly more advanced approaches, in many cases employing recent research results from artificial intelligence, data mining, machine learning, and other fields.
More than ever before, the increasing complexity of systems, the development of new technologies, and the availability of multimedia material and environments are creating a demand for more accessible and intuitive user interfaces. Autonomous, distributed, multi-component systems providing sophisticated services will no longer lend themselves to the familiar “direct manipulation” model of interaction, in which an individual user masters a fixed selection of commands provided by a single application. Ubiquitous computing,in networked environments, has brought about a situation in which the typical user of many software services is likely to be a non-expert, who may access a given service infrequently or only a few times. Accommodating such usage patterns calls for new approaches. Fortunately, input modalities now becoming widely available, such as speech recognition and pen-based handwriting/gesture recognition, and the ability to manage the presentation of systems' responses by using multiple media provide an opportunity to fashion a style of human-computer interaction that draws much more heavily on our experience with human-human interactions.
2. Prior Related Art
Existing approaches and technologies for distributed computing include distributed objects, mobile objects, blackboard-style architectures, and agent-based software engineering.
The Distributed Object Approach
Object-oriented languages, such as C++ or JAVA, provide significant advances over standard procedural languages with respect to the reusability and modularity of code: encapsulation, inheritance and polymorhpism. Encapsulation encourages the creation of library interfaces that minimize dependencies on underlying algorithms or data structures. Changes to programming internals can be made at a later date with requiring modifications to the code that uses the library. Inheritance permits the extension and modification of a library of routines and data without requiring source code to the original library. Polymorphism allows one body of code to work on an arbitrary number of data types. For the sake of simplicity traditional objects may be seen to contain both methods and data. Methods provide the mechanisms by which the internal state of an object may be modified or by which communication may occur with another object or by which the instantiation or removal of objects may be directed.
With reference to
FIG. 2
, a distributed object technology based around an Object Request Broker will now be described. Whereas “standard” object-oriented programming (OOP) languages can be used to build monolithic programs out of many object building blocks, distributed object technologies (DOOP) allow the creation of programs whose components may be spread across multiple machines. As shown in
FIG. 2
, an object system
200
includes client objects
210
and server objects
220
. To implement a client-server relationship between objects, the distributed object system
200
uses a registry mechanism (CORBA's registry is called an Object Request Broker, or ORB)
230
to store the interface descriptions of available objects. Through the services of the ORB
230
, a client can transparently invoke a method on a remote server object. The ORB
230
is then responsible for finding the object
220
that can implement the request, passing it the parameters, invoking its method, and returning the results. In the most sophisticated systems, the client
210
does not have to be aware of where the object is located, its programming language, its operating system, or any other system aspects that are not part of the server object's interface.
Although distributed objects offer a powerful paradigm for creating networked applications, certain aspects of the approach are not perfectly tailored to the constantly changing environment of the Internet. A major restriction of the DOOP approach is that the interactions among objects are fixed through explicitly coded instructions by the application developer. It is often difficult to reuse an object in a new application without bringing along all its inherent dependencies on other objects (embedded interface definitions and explicit method calls). Another restriction of the DOOP approach is the result of its reliance on a remote procedure call (RPC) style of communication. Although easy to debug,this single thread of execution model does not facilitate programming to exploit the potential for parallel computation that one would expect in a distributed environment. In addition, RPC uses a blocking (synchronous) scheme that does not scale well for high-volume transactions.
Mobile Objects
Mobile objects, sometimes called mobile agents, are bits of code that can move to another execution site (presumably on a diff

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

Unified messaging methods and systems for communication and... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Unified messaging methods and systems for communication and..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Unified messaging methods and systems for communication and... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3316238

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