Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
1997-10-16
2001-07-03
Powell, Mark (Department: 2122)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C709S202000, C709S241000
Reexamination Certificate
active
06256771
ABSTRACT:
FIELD OF THE INVENTION
The invention relates to the composition of software based services. More particularly, the invention relates to a method and apparatus for providing a dynamic service composition software architecture.
BACKGROUND OF THE INVENTION
Traditional software architecture uses static service composition to create a software based service
10
, as shown in
FIG. 1A. A
number of applications
20
are selected at the time the service
10
is designed. An application is a program designed to perform a specific function and, if required, communicate or interact with other applications. The interactions
30
between the applications
20
are also selected at the time the service
10
is composed. The applications
20
and interactions
30
are selected by a service software designer to achieve the functionality of the desired service
10
.
For example, to construct a stock quote service, a service software designer could select three applications A1-A3. The first application (A1) might receive a stock quote feed from a source such as the Internet. The second application (A2) might review the stock quote feed looking for a specific stock at a particular price and the third application (A3) might send an E-mail message to a user when the stock reached that price. The application A1 would interact with the application A2 by periodically sending stock quotes. The application A2 would interact with the application A3 by announcing when the stock has reached the desired price.
There are several problems, however, with using static service composition to create a software based service. Because the selected applications
20
and interactions
30
are fixed at the time the service
10
is designed, they cannot be changed dynamically when the service
10
is executed. As used herein, the words “dynamic” and “dynamically” refer to events occurring at the general time a software service is executed or run, as opposed to a “static” composition which is fixed at the time a software service is created. The resulting software based service is typically built as a monolithic application that is difficult to enhance or modify. This makes changing the functionality of a software based service a very time consuming and expensive task. If a user wanted the stock quote service to send a message to a pager, instead of sending an E-mail message, the major parts of the service would have to be recomposed, retested and reinstalled. With complicated software based services, this process can take well over a year to complete and requires the efforts of specially trained software designers and programers.
Also, because traditional software architecture dictates that applications
20
and interactions
30
cannot be changed dynamically, only a very limited flexibility can be offered to a user. There is no way, for example, that a user can reconfigure the service
10
to perform an entirely new function, such as creating a graph of a stock price over the past month. Similarly, a user cannot take advantage of an upgraded version of an application without recomposing the entire service
10
.
Moreover, because services are created and customized by service software designers, the interactions
30
among the applications
20
are not standardized, nor is the mechanism used to select and to configure the applications
20
. The “state” of each application, or set of variables that define the information in the application, is also saved and restored in an ad-hoc manner. These factors contribute to making static service composition a slow, expensive and error-prone operation.
Finally, because the service
10
is composed at design time, and not at run time, it is difficult to take full advantage of the benefits of a distributed network. One advantage of a distributed network is that components can execute on different computers to balance software loads in the network. A static service software designer has no way of knowing, for example, if the applications A1, A2 and A3 can be more efficiently run on different computers. This ultimately results in higher operating expenses because it is necessary to statically assign software to particular machines.
In view of the foregoing, it can be appreciated that a substantial need exists for a method and apparatus for providing a dynamic service composition software architecture that lets a software based service be easily modified.
SUMMARY OF THE INVENTION
The disadvantages of the art are alleviated to a great extent by the method and apparatus for providing a dynamic service composition software architecture. First, a plurality of software components are selected at about the time the service will be executed. Each software component is capable of receiving an event causing the component to perform a function, or generating an event as a result of performing a function. The selected components are then configured, also at about the time the service will be executed, by determining which of the selected components will send or receive events from which other of the selected components. As a result, the software based service is dynamically composed.
With these and other advantages and features of the invention that will become hereinafter apparent, the nature of the invention may be more clearly understood by reference to the following detailed description of the invention, the appended claims and to the several drawings attached herein.
REFERENCES:
patent: 4799156 (1989-01-01), Shavit et al.
patent: 5390281 (1995-02-01), Luciw et al.
patent: 5434777 (1995-07-01), Luciw
patent: 5477447 (1995-12-01), Luciw et al.
patent: 5499364 (1996-03-01), Klein et al.
patent: 5522073 (1996-05-01), Courant et al.
patent: 5603031 (1997-02-01), White et al.
patent: 5619615 (1997-04-01), Pitchaikani et al.
patent: 5638494 (1997-06-01), Pinard et al.
patent: 5740368 (1998-04-01), Villalpando
patent: 5745754 (1998-04-01), Lagarde et al.
patent: 5761663 (1998-06-01), Lagarde et al.
patent: 5765142 (1998-06-01), Allred et al.
patent: 5790789 (1998-08-01), Suarez
patent: 5850517 (1998-12-01), Verkler et al.
patent: 5887171 (1999-03-01), Tada et al.
patent: 5905983 (1999-05-01), Inomata et al.
patent: 5958016 (1999-09-01), Chang et al.
patent: 5983200 (1999-11-01), Slotznick
patent: 6009456 (1999-12-01), Frew et al.
patent: 6055562 (2000-04-01), Devarakonda et al.
Virdbagriswaran et al.; “Standardizing Agent Technology”. ACM Digital Library[online]. vol. 3, No. 3 pp. 96-101, Sep. 1995.*
Domel et al.; “Mobile Telescript Agents and the Web”. IEEE/IEE Electronic Library[online]. ‘Technologies for the Information Superhighway’ Digest of Compcon 1996, Feb. 1996.*
Wong et al.; “Concordia: An Infrastructure for Collaborating Mobile Agents”. First International Workshop on Mobile Agents 97. [online] Accessed on Sep. 28, 1999, Apr. 1997.*
Sommers, B.; “Agents: Not just for Bond anymore”. Javaworld [online]. Accessed on Sep. 27, 1999. Retrieved from the Internet: http://www.javaworld.com, Apr. 1997.*
Venners, B.; “Under the Hood: Solve real problems with aglets, a type of mobile agent”. Javaworld [online]. Accessed on Sep. 21, 1999. Retrieved from the Internet: http://www.javaworld.com, May 1997.*
Kotz et al..; “Agent TCL: Targeting the needs of mobile computers”. IEEE/IEE Electronic Library[online]. IEEE Internet Computing, vol. 1, Iss. 4, pp. 58-67, Jul. 1997.*
Kiniry et al.; “A hands-on look at Java mobile agents”. IEEE/IEE Electronic Library [online]. IEEE Internet Computing, vol. 1, Iss. 4, pp. 21-30, Jul. 1997.*
Hagimont et al; “A protection scheme for mobile agents on Java”. ACM Digital Library [online]. Proceedings of the third annual ACM/IEEE conference on mobile computing and networking, Sep. 1997.*
Sundaresan et al.; “Java paradigms for mobile agent facilities”. ACM Digital Library [online]. Conference on Object-oriented programming, systems, languages, and applications, Sep. 1995.*
O'Shea et al.; “The revolution continues”. Telephony, vol. 232, No. 16, pp. 42-48, Apr. 1997.
O'Neil Joseph Thomas
Sibal Sandeep
AT&T Corp.
Booker Kelvin
Kenyon & Kenyon
Powell Mark
LandOfFree
Method and apparatus for providing a dynamic service... 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 providing a dynamic service..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for providing a dynamic service... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2466572