WO1999003053A1 - Automated processing of business entities distributed over a network - Google Patents

Automated processing of business entities distributed over a network Download PDF

Info

Publication number
WO1999003053A1
WO1999003053A1 PCT/US1998/013585 US9813585W WO9903053A1 WO 1999003053 A1 WO1999003053 A1 WO 1999003053A1 US 9813585 W US9813585 W US 9813585W WO 9903053 A1 WO9903053 A1 WO 9903053A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
business entity
copy
network
host
Prior art date
Application number
PCT/US1998/013585
Other languages
French (fr)
Inventor
Jens U. Horstmann
Frank M. Spies
Original Assignee
Emsemble Solutions, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Emsemble Solutions, Inc. filed Critical Emsemble Solutions, Inc.
Priority to AU83789/98A priority Critical patent/AU8378998A/en
Publication of WO1999003053A1 publication Critical patent/WO1999003053A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Definitions

  • the present invention is related generally to a computer system and, in particular, to a method and apparatus for processing business entities distributed over a network.
  • a travel agency trying to sell vacation packages on the Internet typically maintains a web page that provides information about the services offered to customers by the agency.
  • the web page may include one or more links to other web pages.
  • links to web pages maintained by individual travel service providers e.g., airlines, hotels and car rental companies
  • Customers of the travel agency can thus book vacation packages either through the agency's web page or by following links to individual airlines, hotels and car rental companies' web pages.
  • ClubMed system is described on pages 541-607 of "Client Server Programming with JAVATM and CORBA” by Robert Orfali and Dan Harkey (John Wiley and Sons : New York, NY, 1997).
  • the structure of the ClubMed system is shown in Fig. 1.
  • Fig. 1 several clients 100 communicate with a server 110 via a network 120. Objects are distributed between the server 110 and the clients 100 via CORBA/IIOP modules 140. Information extracted from database 130 is organized in several objects 150 stored on server 110. The objects 150, in turn, are distributed to clients 100 via CORBA IIOP modules 140 over the network 120. Finally, applets 160 are executed by clients 100 to display the information of objects 150.
  • a user of client 100 can access a ClubMed web page from server 110, check on prices and availability of resorts during different seasons and make or cancel reservations, directly from client 100. While the ClubMed system represents an improvement over the simple web page reservation system described above, the ClubMed system still employs a client-server model.
  • the request is sent to server 110 which processes the request and returns a confirmation number back to the client 100 and the user.
  • server 110 processes the request and returns a confirmation number back to the client 100 and the user.
  • the ClubMed system is disabled.
  • the user of client 100 may experience lengthy time delays in making or canceling the reservation.
  • a method and a system are provided for processing business entities over a computer network.
  • the system is not disabled by a disruption of communications over the computer network and the system's performance is not significantly affected by heavy network traffic conditions on the computer network.
  • the method and system of the present invention allow for extensive collaboration among distributed business entities and even for automatic modification of the functionality of distributed business entities.
  • the method initially creates multiple copies of a business entity on a host computer connected to the network.
  • One of the copies of the business entity is then stored on the host computer, while the others are transmitted to remote computers over the network.
  • an operation e.g., making a reservation
  • the remaining copies of the business entity are automatically updated. Since business entities have both business attributes and business rules, the functionality of all copies of the business entity can be altered as a result of an operation performed on a single copy of the business entity.
  • the system is not disabled by a disruption of communications over the computer network (or by heavy traffic conditions on the computer network) after the copies of the business entity have been distributed, since each copy of the business entity can be operated upon independently.
  • the remaining copies of the business entity can then be updated to maintain consistency when the network connection is reestablished.
  • a user of the system does not have to wait for a response from a server before completing the operation, as required by prior art systems.
  • business entities can operate in an event-driven fashion (i.e., responding to a change in the business attributes or the business rules of one or more copies of a business entity).
  • the functionality of all copies of a business entity can be modified by a change in the business attributes of a single copy of the business entity.
  • business entities may collaborate to perform a task, the operation of a business entity may also be driven by a change in a copy of a different business entity.
  • distributed copies of a business entity may be further distributed to additional computers.
  • FIG. 1 illustrates a prior art electronic commerce system using distributed objects.
  • Fig. 2 illustrates a business entity processing system according to one embodiment of the present invention.
  • Fig. 3 is a diagram of the business entity classes of a travel reservation system, according to one embodiment of the invention.
  • Fig. 4A illustrates a copy of business entity A on computer 210 of Fig. 2.
  • Fig. 4B illustrates a copy of business entity A on computer 240 of Fig. 2.
  • Fig. 5 is a flow diagram of an automated update of business entities operation, according to one embodiment of the invention.
  • Fig. 6 is a flow diagram of a data caching operation, according to one embodiment of the invention.
  • Fig. 7 is a block diagram of a computer system according to one embodiment of the invention.
  • Fig. 8A is a block diagram of a security system, according to one embodiment of the invention.
  • Fig. 8B shows a firewall, according to one embodiment of the invention.
  • FIG. 2 A system for automated processing of business entities, according to one embodiment of the invention, is shown in Fig. 2.
  • the system has several computers 210, 220, 230, 240 and 250 connected to a computer network 200.
  • Each of computers 210, 220, 230, 240 and 250 has an adapter (not shown in the drawing) that allows the computer to process business entities distributed to other computers over the network.
  • the adapter is implemented as a computer program that handles transfers of business entities among computers connected to the network, as well as providing additional services such as data caching and automated synchronization of business entities.
  • Data caching is a process by which portions of data stored on a host computer connected to a network are transmitted to and stored on a remote computer to allow faster access to the data by the remote computer.
  • Automated synchronization is a process by which portions of the data stored on more than one computer connected to the network (e.g., for data caching purposes) are updated to ensure data consistency across different computers. As those skilled in the art are familiar with these processes, they are not further described herein.
  • computers 210, 220 and 230 have databases, 215, 225 and 235.
  • Legacy gateways 217, 227 and 237 are used to interface between computers 210, 220 and 230 and databases 215, 225 and 235.
  • Legacy gateways 217, 227 and 237 translate data formatted for processing by legacy applications to and from a format used in processing business entities.
  • Computers 210, 220 and 230 have copies of business entities A, B and C, respectively. Copies of business entities A, B and C can be transferred between computers 210, 220, 230, 240 and 250 via computer network 200.
  • data stored in databases 215, 225 and 235 can be converted into copies of business entities A, B and C and transferred between computers connected to the network.
  • Copies of business entities A, B and C can then be processed independently on each of the computers to which they are transferred. Once a copy of a business entity is modified on one of the computers, the other copies of the business entity are automatically updated to ensure data consistency.
  • the embodiments of the invention allow for updates to be performed asynchronously, after the operation modifying the business entity is completed. As a result, the functioning of a system according to an embodiment of the invention is not interrupted by a disruption of communications over the network nor is it significantly impacted by heavy traffic conditions over the network.
  • the ClubMed system used in describing the prior art can be implemented using an automated business processing system, according to an embodiment of the invention, in the following manner.
  • a number of business entities are created to model a reservation system of a vacation resort.
  • Each business entity includes both business attributes and business rules.
  • Business attributes are data structures for storing information concerning the item represented by the business attribute.
  • a data structure is a set of data elements (variables, pointers, data fields, links, images, etc.) having a relationship defined by the data structure.
  • Business rules are operations that can be performed on business attributes.
  • Business rules can be either functions (i.e., segments of computer code that can be invoked through an API) or rules (i.e., segments of computer code that are automatically invoked when certain data elements are updated).
  • business rules are tied to business attributes since each business rule is designed to operate on certain business attributes.
  • business entities are organized in classes arranged in a hierarchical order, so that common properties of business entities may be shared among different classes by inheritance.
  • business attributes data structures
  • business rules code
  • Fig. 3 illustrates business entity classes that could be used to implement a reservation system similar to the ClubMed example described with respect to prior art systems.
  • Each of the business entity classes of Fig. 3 is represented by a bubble containing the name of the business entity class in bold on the top line, followed by two columns of text listed side by side under the name.
  • the left column lists the business attributes of the business entity class, while the right column lists the business rules of the business entity.
  • the relative horizontal position of the bubbles represents the hierarchical relationship of the business entity classes.
  • ReservationEntity class 330 is shown below TravelEntity class 310 and above Car class 380 with solid lines connecting their respective bubbles. This spatial arrangement indicates that ReservationEntity class 330 is a child of TravelEntity Class 310 and a parent of Car class 380.
  • ReservationEntity class 330 inherits all properties of TravelEntity class 310 including all business attributes and business rules definitions.
  • Car class 380 inherits all properties of ReservationEntity class 330, including all properties of Travel Entity Class 310.
  • Business rules and business attributes of a business entity which are inherited from a different business entity are shown in italics in Fig. 3.
  • RemoteObject entity class 300 is a class of a distributed object system which handles communications over the network, as well as data caching and synchronization of distributed objects.
  • the RemoteObject entity class is an object-oriented wrapper around an RPC library.
  • the RemoteObject entity class is described for clarity, any other distributed object system known in the art may be used in place of the RemoteObject entity class and the invention is not limited to any specific distributed object system.
  • TravelEntity class 310 is a business entity class which defines the core functions of all business entity classes of Fig. 3, as the remaining business entity classes of Fig. 3 inherit the properties of TravelEntity class 310. TravelEntity class 310 has three business attributes: mode, server and id.
  • the id attribute stores a unique identification string for each instance of TravelEntity class 310, while the server attribute stores the identification string of a server distributed object.
  • the mode field is used to keep track of the mode of operation of each instance of TravelEntity class 310, as shown in Figs. 4 A and 4B.
  • mode attribute 400 of business entity A which is an instance of TravelEntity class 310 (Fig. 3) indicates that business entity A operates in client mode.
  • mode attribute 400 of business entity A which is an instance of TravelEntity class 310 (Fig. 3) indicates that business entity A operates in server mode.
  • Other modes of operations in addition to server and client modes, can also be used. For example, in the travel reservation example of Fig. 3, five modes of operation are described in the program of Appendix A: client, server, physical, associate and identifier. Different modes are required since in a distributed object environment, multiple copies of a business entity exist on different computers connected to the network.
  • a business entity class is instantiated to create a copy of a business entity on a computer to represent a physical object, such as an hotel or a car. That copy of the business entity is thus in physical mode.
  • the business entity is then distributed by creating a remote copy of the business entity (in associate mode) and transmitting the remote copy to a different computer connected to the computer network.
  • the copy of the business entity on the host computer switches from physical mode to server mode to indicate that the business entity has been distributed.
  • the remote copy of the business entity needs to access the host copy of the business entity, a connection is established over the computer network and the remote copy of the business entity switches from associate mode to client mode for the duration of the connection. While during certain operations one copy of the business entity acts as a server and another copy of the business entity acts as a client, each copy of the business entity operates in different modes. For example, a copy of a business entity may itself generate a new copy of the business entity and distribute the new copy over the network. In such case the old copy (remote) of the business entity serves as a server and the new copy (network) serves as a client.
  • the model of communication among copies of a business entity is more properly characterized as peer-to-peer rather than as client-server.
  • TravelEntity class 310 In addition to business attributes, TravelEntity class 310 also has a number of business rules such as check(), getServiceId(), getType() and getName(). Business rules are also inherited by business entity classes descending from TravelEntity class 310.
  • ReservationEntity class 330 provides the functionality common to all business entity classes that can be reserved using the travel reservation system. For example, business rules make() and cancel() are defined in ReservationEntity class 330.
  • Other business entity classes which inherit the properties of TravelEntity class 310 are Flight 320, Warehouse 340, Hotel 350 and Airline 360.
  • Each of these business entity classes defines a set of business attributes and business rules needed to provide functionality to the business entity they represent. For example, business attributes for Flight class 320 include flight, origin, destination and seats, business attributes for Hotel class 350 include name, chain, location and rooms, and business attributes for Airline class 360 include name flights, origins and destinations.
  • ReservationEntity class 330 Business entity classes which inherit the properties of ReservationEntity class 330 include Room class 370, Car class 380 and Seat class 390.
  • Room class 370 has business attributes name, category and price.
  • Car class 380 has business attributes license and category.
  • Seat class 390 has business attributes category, price and name.
  • Business rules that provide access to the information contained on each business entity are defined at various levels of the hierarchy of Fig. 3.
  • the business entity classes of Fig. 3 are further described by the computer program of Appendix A.
  • the program of Appendix A is executed on a Sun Workstation II or a SparcStation 10 computer, running under the SunOS v.4.1.3 operating system, all available from Sun Microsystems Inc. of Mountain View, Calif.
  • information on various travel services are maintained by different travel service providers, each utilizing unique data formats.
  • information stored on each merchant's computer system (for example, in a legacy database) is translated into a set of business entities using the adapter, as shown in Fig. 2.
  • the business entities are then distributed and processed over the computer network, as shown in Figs. 5 and 6.
  • Fig. 5 multiple copies of the business entities are first created on a host computer in stage 510.
  • the host computer can be either the same computer system on which the source data resides or a different computer connected to the computer on which the source data resides.
  • a copy of the business entity is then stored on the host computer in stage 520.
  • the mode attribute of TravelEntity 310 (Fig.
  • the copy stored on the host computer represents the actual travel service such as a room in an hotel or a rental car.
  • the remaining copies of the business entity are then distributed to remote computers over the computer network in stage 530.
  • the computer network can be the Internet or any other very large area computer network known in the art.
  • the invention is not limited to global or very large area networks, but also includes any computer network such as an intranet, a wide area network or a local area network.
  • Stage 540 determines whether the business entity has been deactivated, in which case the operation terminates; otherwise the operation proceeds to stage 550.
  • the copies of the business entities are then processed on either the host computer or one of the remote computers.
  • the remote computers can either process the copies of the business entities directly or translate them back into a specific format (e.g., a legacy database), process them in such a format and translate them back into business entities format through the adapter. Since each copy of a business entity is self-contained, processing of a business entity does not require communication with the host copy of the business entity.
  • business entities representing a block of rooms in an hotel have been distributed to a travel agency web site and accessed by a potential customer though a web page maintained by the travel agency, the business entities are able to quote a price and make or cancel a reservation without the need to contact the central reservation system for the hotel chain. Rather, after processing of the copy of the business entity is completed, a connection is established with the host computer and the host copy of the business entity is updated to ensure data consistency in stage 560. Stages 540-560 are then repeated until the business entity is deactivated. This scheme works well if only one copy of a business entity is distributed for each travel service available (e.g. for each hotel room).
  • time window can be defined in terms of a number of operations, a time period or both.
  • distributed business entities contain references to other business entities or to data in formats other than business entities that for efficiency reasons are not distributed along with the copies of the business entities. Processing of business entities under these circumstances is described in Fig. 6.
  • First multiple remote copies of a business entity are created on the host computer in stage 610. These copies contain references to data that is not distributed as part of the business entity, but not copies of the actual data.
  • the host copy of the business entity is then stored on the host computer in stage 620.
  • the remote copies of the business entity are distributed to remote computers over the network in stage 630.
  • Stage 640 determines whether a remote copy of a business entity contains a reference to data that is required for processing.
  • the business entity is processed in stage 650 as described in stages 540-550 of Fig. 5. Otherwise, the data is retrieved from the host computer over the network in stage 660 and is stored on the remote computer in stage 670.
  • a distributed business entity can in turn distribute additional (network) copies of the business entity to other (network) computers.
  • computer 240 may process business entities A, B and C and determine that business entity B needs to be further processed by computer 250.
  • the remote copy of business entity B can then generate a network copy of business entity B and distribute it to computer 250 over network 200 for further processing.
  • a business entity representing an hotel room may first be distributed to travel agencies over the Internet. However, if after a certain period of time the room has not been booked, a copy of the business entity is generated and sent to a liquidator agency to be sold at discount prices.
  • a reservation is made either through the travel agency or through the liquidator agency, the copy of the business entity stored on the host computer is updated as described with respect to Fig. 5.
  • remote copies of a business entity are further distributed to network computers the operation of Figs. 5 and 6 take place between the remote computer and the network computer, rather than between the host computer and the remote computer.
  • copies of different business entities may interact to perform a certain task. For example, using business entities the travel agency web page described with respect to the prior art would be able to include all the functionality of the web pages maintained by individual travel service providers. In fact, all of the functionality of the individual web pages would be available to the travel agency's computer in the form of business entities. The travel agency's computer could therefore display an integrated web page eliminating the need for a user to follow any links to additional web pages.
  • Fig. 7 illustrates the structure of a computer system in accordance to one embodiment of the present invention.
  • a number of legacy applications exchange data with business entities through a legacy interface.
  • the business entities access the lower layers of the system through an adapter including a commerce platform and facilities.
  • the adapter and the business entity class definitions can be embodied in any computer-readable storage medium, such as a magnetic, a CD-ROM or a carrier wave transmitted over a computer network.
  • the adapter interfaces to other computer systems connected to the network via a series of commercially available interfaces such as CORBA, EDI, MIME and HTML/JAVA. Under these interfaces, sit various communication protocols such as HOP, SMTP and HTTP.
  • the communication protocols communicate with a TCP/IP layer which is to carries out the actual communications between computers connected to the network.
  • business entities can be accessed using any of the underlying interfaces.
  • a same business entity can be accessed as an HTML web page over the Internet, as a CORBA object over an intranet or as a business entity on the computer on which it is stored.
  • the distributed business entity system further provides four levels of system security, as shown in Figs. 8A and 8B.
  • a computer 810 is connected over a communication link 830 to a computer 820.
  • Each of computers 810 and 820 has an adapter (Fig. 7).
  • Four types of security checks can be performed on data transmitted back and forth between computers 810 and 820.
  • each computer system performs a second authentication of the message based on an RSA key.
  • access control lists are used to provide control as to which users can access the information transferred over the network.
  • content-based authentication is performed on each individual message.
  • Fig. 8B shows a firewall implemented using the distributed business entity system.
  • a third adapter 840 (either on a separate computer or on either one of computers 810 and 820) is inserted between computers 810 and 820.
  • a message transmitted from computer 810 and 820 is thus first transferred over link 850 to adapter 840 which performs authentication as described with respect to Fig. 8A. If the message satisfies all security checks performed by adapter 840, the message is then forwarded to computer 820 over link 860, otherwise the message is discarded.
  • adapter 840 provides a firewall 870 between computers 810 and 820.
  • Embodiments described above illustrate but do not limit the invention. In particular, the invention is not limited to any particular distributed object system.
  • the invention is not limited to any type or number of computers or networks.
  • the invention can be applied to an arbitrary number of computers connected to an arbitrary number of networks. Therefore, not all computers need to be connected to the same network.
  • Other embodiments and variations are within the scope of the invention, as defined by the following claims.

Abstract

A method and a system are provided for processing business entities over a computer network. The system is not disabled by a disruption of communications or by heavy network traffic conditions on the computer network. The method and system of the present invention allow for extensive collaboration among distributed business entities and even for automatic modification of the functionality of distributed business entities. The method initially creates multiple copies of a business entity on a host computer connected to the network. One of the copies of the business entity is then stored on the host compouter, while the others are transmitted to remote computers over the network. When an operation (e.g., making a reservation) is performed on a copy of the business entity (regardless of which computer the copy of the business entity is stored on), the remaining copies of the business entity are automatically updated. Business entities can operate in an event-driven fashion (i.e., responding to a change in the business attributes or the business rules of one or more copies of a business entity). Thus, the functionality of all copies of a business entity can be modified by a change of a single copy of the business entity. Since business entities may collaborate to perform a task, the operation of a business entity may also be driven by a change in a copy of a different business entity. Finally, distributed copies of a business entity may be further distributed to additional computers.

Description

AUTOMATED PROCESSING OF BUSINESS ENTITIES DISTRIBUTED OVER A NETWORK
BACKGROUND OF THE INVENTION Field of the Invention The present invention is related generally to a computer system and, in particular, to a method and apparatus for processing business entities distributed over a network.
Related Art Current systems for conducting electronic commerce over a computer network (e.g., the Internet) typically employ a client-server model for requesting and obtaining information using computers connected to the network. For example, a travel agency trying to sell vacation packages on the Internet typically maintains a web page that provides information about the services offered to customers by the agency. The web page may include one or more links to other web pages. For example, links to web pages maintained by individual travel service providers (e.g., airlines, hotels and car rental companies) are typically included in travel agencies' web pages. Customers of the travel agency can thus book vacation packages either through the agency's web page or by following links to individual airlines, hotels and car rental companies' web pages.
In addition, some prior art electronic commerce systems use distributed objects, in addition to web pages, to provide more extended functionality on the client side. One such system [hereinafter the "ClubMed system"] is described on pages 541-607 of "Client Server Programming with JAVA™ and CORBA" by Robert Orfali and Dan Harkey (John Wiley and Sons : New York, NY, 1997). The structure of the ClubMed system is shown in Fig. 1.
In Fig. 1, several clients 100 communicate with a server 110 via a network 120. Objects are distributed between the server 110 and the clients 100 via CORBA/IIOP modules 140. Information extracted from database 130 is organized in several objects 150 stored on server 110. The objects 150, in turn, are distributed to clients 100 via CORBA IIOP modules 140 over the network 120. Finally, applets 160 are executed by clients 100 to display the information of objects 150. A user of client 100 can access a ClubMed web page from server 110, check on prices and availability of resorts during different seasons and make or cancel reservations, directly from client 100. While the ClubMed system represents an improvement over the simple web page reservation system described above, the ClubMed system still employs a client-server model. For example, when the user of client 100 requests a reservation, the request is sent to server 110 which processes the request and returns a confirmation number back to the client 100 and the user. Thus, if either the network connection between client 100 and server 110 is disrupted or server 110 is unavailable, the ClubMed system is disabled. Furthermore, during periods of heavy network traffic on network 120, the user of client 100 may experience lengthy time delays in making or canceling the reservation.
As a result, there is a need for a method and a system to process business entities over a network that is not disabled by the interruption of a network connection between computers connected to the network and whose performance is not disrupted by periods of heavy network traffic over the network.
SUMMARY OF THE INVENTION
Accordingly, a method and a system are provided for processing business entities over a computer network. The system is not disabled by a disruption of communications over the computer network and the system's performance is not significantly affected by heavy network traffic conditions on the computer network. The method and system of the present invention allow for extensive collaboration among distributed business entities and even for automatic modification of the functionality of distributed business entities.
The method initially creates multiple copies of a business entity on a host computer connected to the network. One of the copies of the business entity is then stored on the host computer, while the others are transmitted to remote computers over the network. When an operation (e.g., making a reservation) is performed on a copy of the business entity (regardless of which computer the copy of the business entity is stored on), the remaining copies of the business entity are automatically updated. Since business entities have both business attributes and business rules, the functionality of all copies of the business entity can be altered as a result of an operation performed on a single copy of the business entity. The system is not disabled by a disruption of communications over the computer network (or by heavy traffic conditions on the computer network) after the copies of the business entity have been distributed, since each copy of the business entity can be operated upon independently. The remaining copies of the business entity can then be updated to maintain consistency when the network connection is reestablished. As a result, a user of the system does not have to wait for a response from a server before completing the operation, as required by prior art systems.
Furthermore, business entities can operate in an event-driven fashion (i.e., responding to a change in the business attributes or the business rules of one or more copies of a business entity). Thus, the functionality of all copies of a business entity can be modified by a change in the business attributes of a single copy of the business entity. Since business entities may collaborate to perform a task, the operation of a business entity may also be driven by a change in a copy of a different business entity. Finally, distributed copies of a business entity may be further distributed to additional computers.
BRIEF DESCRIPTION OF THE DRAWING Fig. 1 illustrates a prior art electronic commerce system using distributed objects.
Fig. 2 illustrates a business entity processing system according to one embodiment of the present invention.
Fig. 3 is a diagram of the business entity classes of a travel reservation system, according to one embodiment of the invention.
Fig. 4A illustrates a copy of business entity A on computer 210 of Fig. 2. Fig. 4B illustrates a copy of business entity A on computer 240 of Fig. 2. Fig. 5 is a flow diagram of an automated update of business entities operation, according to one embodiment of the invention. Fig. 6 is a flow diagram of a data caching operation, according to one embodiment of the invention.
Fig. 7 is a block diagram of a computer system according to one embodiment of the invention.
Fig. 8A is a block diagram of a security system, according to one embodiment of the invention.
Fig. 8B shows a firewall, according to one embodiment of the invention.
DETAILED DESCRIPTION OF THE INVENTION
A system for automated processing of business entities, according to one embodiment of the invention, is shown in Fig. 2. The system has several computers 210, 220, 230, 240 and 250 connected to a computer network 200. Each of computers 210, 220, 230, 240 and 250 has an adapter (not shown in the drawing) that allows the computer to process business entities distributed to other computers over the network. The adapter is implemented as a computer program that handles transfers of business entities among computers connected to the network, as well as providing additional services such as data caching and automated synchronization of business entities. Data caching is a process by which portions of data stored on a host computer connected to a network are transmitted to and stored on a remote computer to allow faster access to the data by the remote computer. Automated synchronization is a process by which portions of the data stored on more than one computer connected to the network (e.g., for data caching purposes) are updated to ensure data consistency across different computers. As those skilled in the art are familiar with these processes, they are not further described herein.
In addition, computers 210, 220 and 230 have databases, 215, 225 and 235. Legacy gateways 217, 227 and 237 are used to interface between computers 210, 220 and 230 and databases 215, 225 and 235. Legacy gateways 217, 227 and 237 translate data formatted for processing by legacy applications to and from a format used in processing business entities. Computers 210, 220 and 230 have copies of business entities A, B and C, respectively. Copies of business entities A, B and C can be transferred between computers 210, 220, 230, 240 and 250 via computer network 200. Thus data stored in databases 215, 225 and 235 can be converted into copies of business entities A, B and C and transferred between computers connected to the network. Copies of business entities A, B and C can then be processed independently on each of the computers to which they are transferred. Once a copy of a business entity is modified on one of the computers, the other copies of the business entity are automatically updated to ensure data consistency. However, unlike in prior art systems where data was updated synchronously as part of the operation modifying the data, the embodiments of the invention allow for updates to be performed asynchronously, after the operation modifying the business entity is completed. As a result, the functioning of a system according to an embodiment of the invention is not interrupted by a disruption of communications over the network nor is it significantly impacted by heavy traffic conditions over the network.
This is accomplished by incorporating both business attributes and business rules into business entities so that business entities transmitted from a host computer to a remote computer over the network are able to perform on the remote computer any operations which could be performed on the host computer without the need for further communications with the host computer. For example, the ClubMed system used in describing the prior art can be implemented using an automated business processing system, according to an embodiment of the invention, in the following manner. First, a number of business entities are created to model a reservation system of a vacation resort. Each business entity includes both business attributes and business rules. Business attributes are data structures for storing information concerning the item represented by the business attribute. A data structure is a set of data elements (variables, pointers, data fields, links, images, etc.) having a relationship defined by the data structure. Examples of data structures are vector arrays, constructs, linked lists, records, etc. Business rules are operations that can be performed on business attributes. Business rules can be either functions (i.e., segments of computer code that can be invoked through an API) or rules (i.e., segments of computer code that are automatically invoked when certain data elements are updated). Finally, business rules are tied to business attributes since each business rule is designed to operate on certain business attributes.
According to the object oriented programming paradigm, business entities are organized in classes arranged in a hierarchical order, so that common properties of business entities may be shared among different classes by inheritance. Thus, both business attributes (data structures) and business rules (code) can be shared via inheritance among business entities.
Fig. 3 illustrates business entity classes that could be used to implement a reservation system similar to the ClubMed example described with respect to prior art systems. Each of the business entity classes of Fig. 3 is represented by a bubble containing the name of the business entity class in bold on the top line, followed by two columns of text listed side by side under the name. The left column lists the business attributes of the business entity class, while the right column lists the business rules of the business entity. The relative horizontal position of the bubbles represents the hierarchical relationship of the business entity classes. For example, ReservationEntity class 330 is shown below TravelEntity class 310 and above Car class 380 with solid lines connecting their respective bubbles. This spatial arrangement indicates that ReservationEntity class 330 is a child of TravelEntity Class 310 and a parent of Car class 380. Thus, ReservationEntity class 330 inherits all properties of TravelEntity class 310 including all business attributes and business rules definitions. Car class 380, in turn, inherits all properties of ReservationEntity class 330, including all properties of Travel Entity Class 310. Business rules and business attributes of a business entity which are inherited from a different business entity are shown in italics in Fig. 3.
In Fig. 3, RemoteObject entity class 300 is a class of a distributed object system which handles communications over the network, as well as data caching and synchronization of distributed objects. In one embodiment, the RemoteObject entity class is an object-oriented wrapper around an RPC library. However, while the RemoteObject entity class is described for clarity, any other distributed object system known in the art may be used in place of the RemoteObject entity class and the invention is not limited to any specific distributed object system. TravelEntity class 310 is a business entity class which defines the core functions of all business entity classes of Fig. 3, as the remaining business entity classes of Fig. 3 inherit the properties of TravelEntity class 310. TravelEntity class 310 has three business attributes: mode, server and id. The id attribute stores a unique identification string for each instance of TravelEntity class 310, while the server attribute stores the identification string of a server distributed object. The mode field, on the other hand, is used to keep track of the mode of operation of each instance of TravelEntity class 310, as shown in Figs. 4 A and 4B.
In Fig. 4A, mode attribute 400 of business entity A, which is an instance of TravelEntity class 310 (Fig. 3), indicates that business entity A operates in client mode. Alternatively, in Fig. 4B mode attribute 400 of business entity A, which is an instance of TravelEntity class 310 (Fig. 3), indicates that business entity A operates in server mode. Other modes of operations, in addition to server and client modes, can also be used. For example, in the travel reservation example of Fig. 3, five modes of operation are described in the program of Appendix A: client, server, physical, associate and identifier. Different modes are required since in a distributed object environment, multiple copies of a business entity exist on different computers connected to the network. Modes regulate the role of each of the different copies of the business entity with respect to the other copies of the business entity. Initially, a business entity class is instantiated to create a copy of a business entity on a computer to represent a physical object, such as an hotel or a car. That copy of the business entity is thus in physical mode. The business entity is then distributed by creating a remote copy of the business entity (in associate mode) and transmitting the remote copy to a different computer connected to the computer network. The copy of the business entity on the host computer switches from physical mode to server mode to indicate that the business entity has been distributed. If the remote copy of the business entity needs to access the host copy of the business entity, a connection is established over the computer network and the remote copy of the business entity switches from associate mode to client mode for the duration of the connection. While during certain operations one copy of the business entity acts as a server and another copy of the business entity acts as a client, each copy of the business entity operates in different modes. For example, a copy of a business entity may itself generate a new copy of the business entity and distribute the new copy over the network. In such case the old copy (remote) of the business entity serves as a server and the new copy (network) serves as a client. Thus, the model of communication among copies of a business entity is more properly characterized as peer-to-peer rather than as client-server.
In addition to business attributes, TravelEntity class 310 also has a number of business rules such as check(), getServiceId(), getType() and getName(). Business rules are also inherited by business entity classes descending from TravelEntity class 310.
ReservationEntity class 330, in turn, provides the functionality common to all business entity classes that can be reserved using the travel reservation system. For example, business rules make() and cancel() are defined in ReservationEntity class 330. Other business entity classes which inherit the properties of TravelEntity class 310 are Flight 320, Warehouse 340, Hotel 350 and Airline 360. Each of these business entity classes defines a set of business attributes and business rules needed to provide functionality to the business entity they represent. For example, business attributes for Flight class 320 include flight, origin, destination and seats, business attributes for Hotel class 350 include name, chain, location and rooms, and business attributes for Airline class 360 include name flights, origins and destinations.
Business entity classes which inherit the properties of ReservationEntity class 330 include Room class 370, Car class 380 and Seat class 390. Room class 370 has business attributes name, category and price. Car class 380 has business attributes license and category. Seat class 390 has business attributes category, price and name. Business rules that provide access to the information contained on each business entity (which is an instance of a business entity class) are defined at various levels of the hierarchy of Fig. 3.
The business entity classes of Fig. 3 are further described by the computer program of Appendix A. In one embodiment, the program of Appendix A is executed on a Sun Workstation II or a SparcStation 10 computer, running under the SunOS v.4.1.3 operating system, all available from Sun Microsystems Inc. of Mountain View, Calif.
Typically, information on various travel services are maintained by different travel service providers, each utilizing unique data formats. According to some embodiments of the invention, information stored on each merchant's computer system (for example, in a legacy database) is translated into a set of business entities using the adapter, as shown in Fig. 2. The business entities are then distributed and processed over the computer network, as shown in Figs. 5 and 6. In Fig. 5, multiple copies of the business entities are first created on a host computer in stage 510. The host computer can be either the same computer system on which the source data resides or a different computer connected to the computer on which the source data resides. A copy of the business entity is then stored on the host computer in stage 520. As explained with respect to the mode attribute of TravelEntity 310 (Fig. 3), the copy stored on the host computer represents the actual travel service such as a room in an hotel or a rental car. The remaining copies of the business entity are then distributed to remote computers over the computer network in stage 530. The computer network can be the Internet or any other very large area computer network known in the art. However, the invention is not limited to global or very large area networks, but also includes any computer network such as an intranet, a wide area network or a local area network.
Stage 540 then determines whether the business entity has been deactivated, in which case the operation terminates; otherwise the operation proceeds to stage 550. In stage 550, the copies of the business entities are then processed on either the host computer or one of the remote computers. The remote computers can either process the copies of the business entities directly or translate them back into a specific format (e.g., a legacy database), process them in such a format and translate them back into business entities format through the adapter. Since each copy of a business entity is self-contained, processing of a business entity does not require communication with the host copy of the business entity. For example, if business entities representing a block of rooms in an hotel have been distributed to a travel agency web site and accessed by a potential customer though a web page maintained by the travel agency, the business entities are able to quote a price and make or cancel a reservation without the need to contact the central reservation system for the hotel chain. Rather, after processing of the copy of the business entity is completed, a connection is established with the host computer and the host copy of the business entity is updated to ensure data consistency in stage 560. Stages 540-560 are then repeated until the business entity is deactivated. This scheme works well if only one copy of a business entity is distributed for each travel service available (e.g. for each hotel room). However, in some situations it may be desirable to distribute multiple copies of a business entity to increase the likelihood of selling the travel service. In these situations, remote copies of the business entities still operate independently (and thus no client-server interaction is required to complete a given operation) but are required to update the other (both host and remote) copies of the business entity within a time window. The time window can be defined in terms of a number of operations, a time period or both.
In some embodiments, distributed business entities contain references to other business entities or to data in formats other than business entities that for efficiency reasons are not distributed along with the copies of the business entities. Processing of business entities under these circumstances is described in Fig. 6. First multiple remote copies of a business entity are created on the host computer in stage 610. These copies contain references to data that is not distributed as part of the business entity, but not copies of the actual data. The host copy of the business entity is then stored on the host computer in stage 620. The remote copies of the business entity are distributed to remote computers over the network in stage 630. Stage 640 then determines whether a remote copy of a business entity contains a reference to data that is required for processing. If the business entity does not contain such a reference, the business entity is processed in stage 650 as described in stages 540-550 of Fig. 5. Otherwise, the data is retrieved from the host computer over the network in stage 660 and is stored on the remote computer in stage 670.
Furthermore, in some embodiments a distributed business entity can in turn distribute additional (network) copies of the business entity to other (network) computers. For example, in Fig. 2, computer 240 may process business entities A, B and C and determine that business entity B needs to be further processed by computer 250. The remote copy of business entity B can then generate a network copy of business entity B and distribute it to computer 250 over network 200 for further processing. For example, a business entity representing an hotel room may first be distributed to travel agencies over the Internet. However, if after a certain period of time the room has not been booked, a copy of the business entity is generated and sent to a liquidator agency to be sold at discount prices. If a reservation is made either through the travel agency or through the liquidator agency, the copy of the business entity stored on the host computer is updated as described with respect to Fig. 5. When remote copies of a business entity are further distributed to network computers the operation of Figs. 5 and 6 take place between the remote computer and the network computer, rather than between the host computer and the remote computer. Furthermore, copies of different business entities may interact to perform a certain task. For example, using business entities the travel agency web page described with respect to the prior art would be able to include all the functionality of the web pages maintained by individual travel service providers. In fact, all of the functionality of the individual web pages would be available to the travel agency's computer in the form of business entities. The travel agency's computer could therefore display an integrated web page eliminating the need for a user to follow any links to additional web pages.
Fig. 7 illustrates the structure of a computer system in accordance to one embodiment of the present invention. In Fig. 7, a number of legacy applications exchange data with business entities through a legacy interface. The business entities, in turn, access the lower layers of the system through an adapter including a commerce platform and facilities. The adapter and the business entity class definitions can be embodied in any computer-readable storage medium, such as a magnetic, a CD-ROM or a carrier wave transmitted over a computer network. The adapter interfaces to other computer systems connected to the network via a series of commercially available interfaces such as CORBA, EDI, MIME and HTML/JAVA. Under these interfaces, sit various communication protocols such as HOP, SMTP and HTTP. The communication protocols, in turn, communicate with a TCP/IP layer which is to carries out the actual communications between computers connected to the network. Thus, business entities can be accessed using any of the underlying interfaces. For example, a same business entity can be accessed as an HTML web page over the Internet, as a CORBA object over an intranet or as a business entity on the computer on which it is stored. The distributed business entity system further provides four levels of system security, as shown in Figs. 8A and 8B. In Fig. 8A, a computer 810 is connected over a communication link 830 to a computer 820. Each of computers 810 and 820 has an adapter (Fig. 7). Four types of security checks can be performed on data transmitted back and forth between computers 810 and 820. First, at the network-level encoding and decoding is performed using an SSL library and an RSA key. Second, each computer system performs a second authentication of the message based on an RSA key. Third, at the user-level, access control lists are used to provide control as to which users can access the information transferred over the network. Finally, content-based authentication is performed on each individual message.
Fig. 8B shows a firewall implemented using the distributed business entity system. A third adapter 840 (either on a separate computer or on either one of computers 810 and 820) is inserted between computers 810 and 820. A message transmitted from computer 810 and 820 is thus first transferred over link 850 to adapter 840 which performs authentication as described with respect to Fig. 8A. If the message satisfies all security checks performed by adapter 840, the message is then forwarded to computer 820 over link 860, otherwise the message is discarded. As a result, adapter 840 provides a firewall 870 between computers 810 and 820. Embodiments described above illustrate but do not limit the invention. In particular, the invention is not limited to any particular distributed object system. Furthermore, the invention is not limited to any type or number of computers or networks. In fact, the invention can be applied to an arbitrary number of computers connected to an arbitrary number of networks. Therefore, not all computers need to be connected to the same network. Other embodiments and variations are within the scope of the invention, as defined by the following claims.

Claims

CLAIMSWe claim:
1. A method of processing business entities over a computer network, wherein each business entity comprises one or more data structures and one or more computer instructions for operating on the data structures, the method comprising: creating a host copy and a remote copy of a business entity on a host computer connected to the computer network; storing the host copy of the business entity on the host computer; transmitting the remote copy of the business entity to a remote computer over the computer network; performing an operation on the remote copy of the business entity on the remote computer; and automatically updating the host copy of the business entity in response to the operation on the remote copy of the business entity.
2. The method of Claim 1 , further comprising: performing an operation on the host copy of the business entity on the host computer; and automatically updating the remote copy of the business entity in response to the operation on the host copy of the business entity.
3. The method of Claim 1 , wherein automatically updating a copy of a business entity further comprises: detecting a disruption of communications between the host and the remote computers over the computer network; suspending processing of the update until the communications are restored; and completing the processing of the update once the communications are re-established.
4. The method of Claim 1, wherein each business entity further comprises one or more business attributes, wherein each business attribute includes at least one data structure.
5. The method of Claim 4, wherein updating a copy of a business entity further comprises updating one or more business attributes of the business entity.
6. The method of Claim 1, wherein each business entity further comprises one or more business rules and each business rule includes at least one computer instruction for operating on a data structure.
7. The method of Claim 6, wherein updating a copy of a business entity further comprises updating one or more business rules of the business entity.
8. The method of Claim 1 , wherein creating a copy of a business entity further comprises creating an instance of a business entity class.
9. The method of Claim 1 , further comprising: creating a network copy of the business entity on the remote computer connected to the computer network; transmitting the network copy of the business entity to a network computer over the computer network; performing an operation on the network copy of the business entity on the network computer; and automatically updating the remote copy of the business entity in response to the operation on the network copy of the business entity.
10. The method of Claim 9, further comprising: automatically updating the host copy of the business entity in response to the operation on the network copy of the business entity.
11. The method of Claim 9, further comprising: performing an operation on the host copy of the business entity on the host computer; and automatically updating the network copy of the business entity in response to the operation on the host copy of the business entity.
12. A method of processing business entities over a computer network, wherein each business entity comprises one or more data structures and one or more computer instructions for operating on the data structures, the method comprising: creating a host copy and a remote copy of a business entity on a host computer connected to the computer network; storing the host copy of the business entity on the host computer; transmitting the remote copy of the business entity to a remote computer over the computer network; determining on the remote computer that the remote copy of the business entity contains a reference to data stored on the host computer; transferring the data from the host computer to the remote computer over the computer network; and storing the data on the remote computer.
13. A system for processing business entities over a computer network, wherein each business entity comprises one or more data structures and one or more computer instructions for operating on the data structures, the system comprising: a computer network; a host computer and a remote computer connected to the computer network; a host computer program stored on the host computer; and a remote computer program stored on the remote computer; wherein the host computer and the remote computer programs comprise instructions for: creating a host copy and a remote copy of a business entity on the host computer; storing the host copy of the business entity on the host computer; transmitting the remote copy of the business entity to the remote computer over the computer network; determining on the remote computer that the remote copy of the business entity contains a reference to data stored on the host computer; transferring the data from the host computer to the remote computer over the computer network; and storing the data on the remote computer.
14. A system for processing business entities over a computer network, wherein each business entity comprises one or more data structures and one or more computer instructions for operating on the data structures, the system comprising: a computer network; a host computer and a remote computer connected to the computer network; a host computer program stored on the host computer; and a remote computer program stored on the remote computer; wherein the host computer and the remote computer programs comprise instructions for: creating a host copy and a remote copy of a business entity on the host computer; storing the host copy of the business entity on the host computer; transmitting the remote copy of the business entity to the remote computer over the computer network; performing an operation on the remote copy of the business entity on the remote computer; and automatically updating the host copy of the business entity in response to the operation on the remote copy of the business entity.
15. The system of Claim 14, wherein automatically updating the host copy of the business entity further comprises: detecting a disruption of communications between the host computer and the remote computers over the computer network; suspending processing of the update until the communications are restored; and completing the processing of the update once the communications are re-established.
16. The system of Claim 14, wherein each entity comprises one or more business entities and each business entity includes at least one data structure.
17. The system of Claim 14, wherein each business entity comprises one or more business rules and each business rule comprises at least one computer instruction for operating on a data structure.
18. The system of Claim 14, wherein the host computer and the remote computer programs further comprise instructions for: performing an operation on the host copy of the business entity on the host computer; and automatically updating the remote copy of the business entity in response to the operation on the host copy of the business entity.
19. The system of Claim 14, wherein the instructions for creating a copy of a business entity further comprise instructions for creating an instance of a business entity.
20. The system of Claim 14, further comprising a network computer program stored on a network computer connected to the computer network, wherein the remote computer and the network computer programs further comprise instructions for: creating a network copy of the business entity on the remote computer; transmitting the network copy of the business entity to the network computer over the computer network; performing an operation on the network copy of the business entity on the network computer; and automatically updating the remote copy of the business entity in response to the operation on the network copy of the business entity.
21. The system of Claim 20, wherein the network computer program further comprises instructions for: automatically updating the host copy of the business entity in response to the operation on the network copy of the business entity.
22. A computer-readable storage medium comprising instructions for: creating a host copy and a remote copy of a business entity on a host computer connected to a computer network; storing the host copy of the business entity on the host computer; transmitting the remote copy of the business entity to a remote computer over the computer network; performing an operation on the remote copy of the business entity on the remote computer; and automatically updating the host copy of the business entity in response to the operation on the remote copy of the business entity; wherein each business entity comprises one or more data structures and one or more computer instructions for operating on the data structures.
23. The computer-readable storage medium of Claim 22, further comprising instructions for: performing an operation on the host copy of the business entity on the host computer; and automatically updating the remote copy of the business entity in response to the operation on the host copy of the business entity.
24. The computer-readable storage medium of Claim 22, further comprising instructions for creating an instance of a business entity.
25. The computer-readable storage medium of Claim 22, further comprising instructions for: creating a network copy of the business entity on the remote computer; transmitting the network copy of the business entity to a network computer over the computer network; performing an operation on the network copy of the business entity on the network computer; and automatically updating the remote copy of the business entity in response to the operation on the network copy of the business entity.
26. The computer-readable storage medium of Claim 22, further comprising instructions for: automatically updating the host copy of the business entity in response to the operation on the network copy of the business entity.
PCT/US1998/013585 1997-07-10 1998-07-07 Automated processing of business entities distributed over a network WO1999003053A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU83789/98A AU8378998A (en) 1997-07-10 1998-07-07 Automated processing of business entities distributed over network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US89112997A 1997-07-10 1997-07-10
US08/891,129 1997-07-10

Publications (1)

Publication Number Publication Date
WO1999003053A1 true WO1999003053A1 (en) 1999-01-21

Family

ID=25397668

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/013585 WO1999003053A1 (en) 1997-07-10 1998-07-07 Automated processing of business entities distributed over a network

Country Status (2)

Country Link
AU (1) AU8378998A (en)
WO (1) WO1999003053A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2356719A (en) * 1999-07-30 2001-05-30 Ibm Automating dependent entity actions in response to information change
EP1208672A1 (en) * 1999-08-30 2002-05-29 Firedrop, Inc. Method and system for process interaction among a group
EP1208673A1 (en) * 1999-08-30 2002-05-29 Zaplet, Inc. System for communicating information among a group of participants
US6721743B1 (en) * 2000-03-24 2004-04-13 Ad. Ken Corporation Value points exchanging managing method among first and second business entities where value points available to on-line customer obtaining goods or services
US7343406B1 (en) 2001-01-18 2008-03-11 Cisco Technology, Inc. Proactive call and contact center system
US7499972B1 (en) 2001-04-20 2009-03-03 Cisco Technology Inc. B2B service center communications using locate collaborate transact methodology
US8548861B2 (en) 2000-11-30 2013-10-01 Cisco Technology, Inc. Multimedia B2B opportunity and error detection and resolution engine
US8612379B2 (en) 2004-04-20 2013-12-17 International Business Machines Corporation Deploying multiple e-commerce systems in a single computing platform

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4769772A (en) * 1985-02-28 1988-09-06 Honeywell Bull, Inc. Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases
US4788643A (en) * 1983-08-29 1988-11-29 Trippe Kenneth A B Cruise information and booking data processing system
US5107421A (en) * 1987-05-22 1992-04-21 Hitachi, Ltd. Computer system in which work stations support the basic electronic data process
US5245553A (en) * 1989-12-14 1993-09-14 Options Unlimited Research Full-duplex video communication and document generation system
WO1997027556A1 (en) * 1996-01-23 1997-07-31 Electronic Data Systems Corporation Automated travel service management information system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4788643A (en) * 1983-08-29 1988-11-29 Trippe Kenneth A B Cruise information and booking data processing system
US4769772A (en) * 1985-02-28 1988-09-06 Honeywell Bull, Inc. Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases
US5107421A (en) * 1987-05-22 1992-04-21 Hitachi, Ltd. Computer system in which work stations support the basic electronic data process
US5245553A (en) * 1989-12-14 1993-09-14 Options Unlimited Research Full-duplex video communication and document generation system
WO1997027556A1 (en) * 1996-01-23 1997-07-31 Electronic Data Systems Corporation Automated travel service management information system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GIFFORD D ET AL: "THE TWA RESERVATION SYSTEM", COMMUNICATIONS OF THE ASSOCIATION FOR COMPUTING MACHINERY, vol. 27, no. 7, 1 July 1984 (1984-07-01), pages 650 - 665, XP000563325 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2356719A (en) * 1999-07-30 2001-05-30 Ibm Automating dependent entity actions in response to information change
US6591259B1 (en) 1999-07-30 2003-07-08 International Business Machines Corporation Method and system for automating dependent entity actions in response to information change
EP1208672A1 (en) * 1999-08-30 2002-05-29 Firedrop, Inc. Method and system for process interaction among a group
EP1208673A1 (en) * 1999-08-30 2002-05-29 Zaplet, Inc. System for communicating information among a group of participants
EP1208673A4 (en) * 1999-08-30 2005-08-31 Zaplet Inc System for communicating information among a group of participants
EP1208672A4 (en) * 1999-08-30 2005-08-31 Zaplet Inc Method and system for process interaction among a group
US6721743B1 (en) * 2000-03-24 2004-04-13 Ad. Ken Corporation Value points exchanging managing method among first and second business entities where value points available to on-line customer obtaining goods or services
US8548861B2 (en) 2000-11-30 2013-10-01 Cisco Technology, Inc. Multimedia B2B opportunity and error detection and resolution engine
US7343406B1 (en) 2001-01-18 2008-03-11 Cisco Technology, Inc. Proactive call and contact center system
US7499972B1 (en) 2001-04-20 2009-03-03 Cisco Technology Inc. B2B service center communications using locate collaborate transact methodology
US8612379B2 (en) 2004-04-20 2013-12-17 International Business Machines Corporation Deploying multiple e-commerce systems in a single computing platform

Also Published As

Publication number Publication date
AU8378998A (en) 1999-02-08

Similar Documents

Publication Publication Date Title
O'Sullivan et al. What's in a Service?
EP1456772B1 (en) Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration
Subrahmanian Heterogeneous agent systems
US6574607B1 (en) Performing computer-based on-line commerce using an intelligent agent to put together a package of related items
US10521853B2 (en) Electronic sales system
US8700506B2 (en) Distributed commerce system
US20080120432A1 (en) Electronic commerce infrastructure system
EP0806731A2 (en) Database network
EP0845748A2 (en) A method and apparatus for performing computer-based on-line commerce using an intelligent agent
AU2002340375B2 (en) Methods, systems, and articles of manufacture for providing product availability information
US20070299701A1 (en) Event driven airport
US10187266B2 (en) System and method for facilitating communication of data among entities in an electronic trading network
US20020072937A1 (en) Travel fares packaging system and method
CA2278279A1 (en) Method and system for customizing marketing services on networks communicating with hypertext tagging conventions
EP3745277A1 (en) Aggregating and updating heterogeneous data objects
AU2002340375A1 (en) Methods, systems, and articles of manufacture for providing product availability information
US7406467B1 (en) Network-based management of airline customer data
Bishop et al. A survey of middleware
EP0438020B1 (en) Method and system for automatically controlling the distribution of data objects
WO1999003053A1 (en) Automated processing of business entities distributed over a network
US20020173996A1 (en) Method and system for asynchronously booking travel inventory
EP2056248A1 (en) Electronic commerce system
Evans et al. Strategies for content migration on the World Wide Web
WO2000057331A9 (en) Offline system and method for determining non-obvious savings in the purchase of goods and services
McBride Viewing messages as objects

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM GW HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: KR

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA