US20070074066A1 - High availability for event forwarding - Google Patents
High availability for event forwarding Download PDFInfo
- Publication number
- US20070074066A1 US20070074066A1 US11/559,344 US55934406A US2007074066A1 US 20070074066 A1 US20070074066 A1 US 20070074066A1 US 55934406 A US55934406 A US 55934406A US 2007074066 A1 US2007074066 A1 US 2007074066A1
- Authority
- US
- United States
- Prior art keywords
- event
- queue
- cluster
- server
- alias
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1036—Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Definitions
- the present invention relates to the forwarding of events and messages to a cluster or across a network.
- AI application integration
- single points of failure can include deployment or management facilities event forwarding, event topics, remote clients, event subscriptions, response listeners, and response queues.
- event forwarding event topics
- remote clients event subscriptions
- response listeners response queues.
- Each of these features is tied to a singe server within a server cluster. If that single server crashes, the entire AI application can become irreparably damaged and must be rebooted via a server reboot.
- An AI component can generate events, such as through the use of adapters, that a user may wish to consume through a service such as business process management (BPM).
- BPM business process management
- An event forwarding facility of a present AI system forwards events between an application view and a physical BPM event queue. This facility is a single point of failure as well as a performance bottlenecks.
- each server can receive an event from a data source, such as a database or SAPTM system.
- An event queue resides on at least one of the servers in the cluster, which is capable of storing an event.
- An event queue can store an event until, for example, the event is delivered to a user or retrieved for processing.
- An event processor exists on at least one of the sellers in the cluster.
- the event processor can examine the load of each event queue in the cluster and determine which event queue has the lightest load.
- the event processor can generate an alias for the selected queue, such that a user, integration system, or client application, for example, can locate the event by specifying the alias.
- the user does not need to know the identity of the actual physical queue in which the event is stored, but onlv refers to the “distributed queue” or alias used to locate the actual physical queue.
- the event processor selects a physical queue to act as the distributed queue and assigns an alias, the event can be forwarded to that physical queue.
- FIG. 1 is a diagram of a system in accordance with one embodiment of the present invention.
- FIG. 2 is flowchart for a method that can be used with the system of FIG. 1 .
- a system and method in accordance with one embodiment of the present invention overcomes deficiencies in prior ant systems by, changing the way in which events are routed throughout an AI system.
- an event router which can be tightly coupled to an SAPTM system or database, can receive an event out of the SAPTM system or database and send that event into an integration server.
- the integration server propagates the event out to anybody who is interested in the event, such as anyone having registered a listener for events of that type. Events can also be propagated to subscribers of an events topic to which that event belongs. Event forwarding is one mechanism for propagating these messages.
- events are forwarded by an event router to a physical queue, from which interested users or clients can retrieve the events. This physical queue is a single point of failure.
- event forwarding is highly available.
- High availability can be accomplished through the use of distributed queues and/or topics,
- a distributed queue can server as an alias, and is not a physical queue in a specific server.
- a highly-available approach allows a user to send a message to a distributed queue.
- a server in the cluster such as the one receiving the message, can determine which server in the cluster contains the physical queue with the lightest load that is online and working properly.
- the server After determining, which physical queue should receive the message, the server can find that physical queue and put the message on the queue. The user can be unaware of which queue is being used, and may not care. To the user, the message is sent to the alias, or distributed queue.
- This system is similar to a front end, in that it allows a messaging implementation such as JMS to be highly available, without requiring substantial work on the part of a client.
- JMS messaging implementation
- a distributed event queue for event forwarding, it is possible to rely on the unde 1 rving JMS to do a lot of the high availability work.
- Event forwarding in accordance with the present invention can be used with multiple event topics, or with a single distributed event topic.
- An AI system can create a single JMS Topic for each topic subscriber. Events for a given subscriber can be sent to the topic for the subscriber. Event delivery can also be consolidated onto a single JMS Queue, such as EVENT_QUEUE, for example. This queue can be a distributed queue with multiple physical destinations.
- a message driven bean (MDB) which can be referred to as an ‘AI Event Processor’ can listen on the EVENT_QUEUE distributed destination.
- An onMessage implementation for the MDB can deliver a copy of the event into the BPM event processor, such as if BPM is installed and running in the server instance.
- the onMessage implementation can also publish a copy of the event onto an event topic, or “EVENT_TOPIC.”
- An event topic is a distributed JMS topic that handles the delivery of events to remote application view clients .
- An application view class can be modified to create an event context on the event topic.
- the event context class can be modified to filter messages based on the application view name, which can be stored in a “SourceKey” JMS header property.
- the implementation can deliver a copy of the event into an ap 1 plication view Cajun Control event processor, if such a control is being used. Also, any dequening or execution for the implementation can be done transactionally to allow the message to be rolled back onto the queue in the event of a processing failure
- Using a queue and MDB approach allows exactly one copy of each event to be delivered into a system such as BPM and Cajun, while still using distributed destinations.
- the use of topics would yield multiple copies it distributed destinations were used.
- This approach also provides the continued ability to support event delivery to remote application view clients. High availability can be obtained by virtue of the distributed EVENT_QUEUE destination. Multi servers can participate in the processing of messages for this queue, and thus a single server failure can be accommodated.
- This approach also provides for better efficiency, as events can be routed directly to a BPM event processor and application view Cajun Control event processor without requeuing a copy of the message which can have associated persistence and delivery overhead.
- a secondary publish to an EVENT_TOPIC can be somewhat costly, but the BPM event processors can be processing the event before the event is sent to the event topic, allowing more direct processing into BPM.
- FIG. 1 shows a system that can be used for high-availability event processing in an application integration engine.
- an event occurs in an enterprise information system (EIS) 130 .
- the event data is transferred to an event generator 128 in the resource adapter.
- the event generator 128 transforms the EIS-specific event data into an XML document and posts an event object, such as an Event object, to the event router 126 .
- the event router 126 passes the event object to an event context object 124 for each AI server that is interested in the specific event type.
- the event context object 124 encapsulates the event object into a JMS object message and sends it to the event queue 122 , such as a JMS Queue bound at JNDI context com.ai.EVENT_QUEUE using a JMS QueueSender.
- This queue can be a distributed queue, in that the selected queue exists somewhere in the cluster but uses the same alias.
- the event object message is stored in the event queue 122 until it is retrieved for processingo by the AI event processor 120 , which can process events in a first-in-first-out 4 (FIFO) manner. It may not be enough to send a message to a distributed queue and expect the message to be received by a receiver of that distributed queue. There can be a receiver, or “QueueReceiver”, receiver or listening on each physical queue to which an event could be forwarded.
- FIFO first-in-first-out 4
- the event processor 120 can forward the event to all registered event destinations 110 which in the Figure include a BPM event queue 112 , an event topic 114 , and a Cajun event processor 116 .
- Event destinations can be added by posting a message to a notification topic 108 for application integration. For example, when an AI plug-in 100 for BPM is deployed, it can send an “addDestination” message to the notification topic to register the BPM event queue 112 as an event destination.
- the BPM event queue can be a distributed queue.
- a message published on the notification topic can have cluster-wide visibility. Each node in the cluster can have a singleton event destination manager 118 that is a durable subscriber to this topic. Thus, the message can be published to every event destination manager in the cluster.
- the event processor can use a singleton event destination manager 118 to listen for add/remove event destination messages on the notification topic 108 to configure the list of event destinations 110 .
- the event object message can be delivered to all registered event destinations in a single transaction, such as in a single JavaTM Transaction API (JYA) user transaction. If a post to any event destination 110 fails, the event message can be rolled back to the distributed queue 122 . The roll back can use the same alias, but can forward the event to a different physical queue in the cluster. If the event processor 120 receives a message such as one that has “getJMSRedelivered()” true, the post can be tried again. If the retry fails, the message can be sent to an error queue, which can be a distributed queue for failed event and asynchronous service response messages.
- JYA JavaTM Transaction API
- the plug-in can add the BPM event queue 112 as an event destination during startup so that AI events are passed to a BPM workflow 102 for processing. If there are any registered application view event listeners 106 , the event can be sent to an event topic 114 which will use event context 104 to establish a connection with the remote event listener 106 for the application view.
- FIG. 2 shows the steps of a method that can be used with the system of FIG. 1 .
- An event is generated in a data system, such as a database or SAPTM system 200 .
- An event router receives the event from the data system and forwards it to a server in the cluster 202 .
- the server receiving the event determines which server in the cluster contains the event queue with the lightest load 204 .
- the server then creates an alias for the event queue with the lightest load, which will be used to refer to the distributed event queue containing the event 206 .
- the server then forwards the event to the distributed event queue and assigns the alias 208 .
- An event context class is a frame of reference that can be used to generate and/or receive events.
- An event context class can be used by an application view to manage the event delivery mechanics in methods such as postEvent and addEventListener.
- An application view can represent a subset of business functionality that is available, for example, within an EIS. The application view can accept requests for service invocation from a client, and can invoke the proper system functions within the target EIS. An application view can make use of connections provided by a resource adapter to communicate with the EIS.
- a service can be a named business function.
- An application view can manage mapping from the name of the service to the system function in the EIS.
- Services can expose a simple XML-based request and response interface.
- Services can return a document definition object for request and response document types that describe the structure and content required for the document type.
- An application view can utilize metadata that includes information such as a service name and associated system function.
- the metadata care also store at least some of the data needed to successfully invoke the system function.
- the service can require less request data from the client invoking service, as the application view can augment the data passed by the client with the stored metadata. This is a convenient way to hide the complexity of the underlying system function invocation from the client invoking a service.
- an AI application can continue delivering events from adapters running in nodes that are still available. Event generators or routers running in the failed node can restart when the failed node restarts. Users can be notified that in-flight transactions have been cancelled or rolled-back, and should be retried. Wherever possible, the transaction can be retried after reestablishing connections, in order to make use of resources on another live server
- AI reestablishing a connection is the event context as used for sending. events to AI from an event router.
- an AI application can do the tasks listed with respect to the crash of a cluster server.
- the AI application should still be able to boot and reboot successfully using the previous domain and server configuration.
- server clustering allows an AI component, such as an event-forwarding server, event queue, or JMS server, to be used in a scalable and highly available fashion.
- AI component such as an event-forwarding server, event queue, or JMS server
- a highly available component does not have any single points of failure, and can migrate services from failed nodes to live nodes in a cluster. Any service offered by an AI component can be targeted to several nodes in a cluster. In the event of a node failure in the cluster, the services located on the failed node can be migrated to another live node in the cluster.
- the AI application can continue accepting new work.
- the acceptance of new work can include the deploying and undeploying of application views and connection factories, monitoring of old application views and connection factories, delivering events from adapters, and servicing both synchronous and asynchronous, service invocations.
- An AI application can also support the manual migration of services on the failed node to a live node, such as a singleton MDB listening on a physical destination managed by a failed JMS server.
- Application integration can use a singleton MDB, such as if a customer needs ordered event processing.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
Abstract
High availability event forwarding can be obtained utilizing distributed queues in a server cluster. Each server can receive an event from a data system, such as a database or SAP™ system. Event queues exist oil servers in the cluster can store an event until, for example, the event is delivered to a user or retrieved for processing. An event processor examines the load of each event queue and selects tie event queue with the lightest load The event processor generates an alias for the selected queue, such that a user, integration system, or client application does not need to know the identity of the physical queue storing the event, but only needs to refer to the ‘distributed queue’ or alias. After a physical queue is selected and an alias assigned, the event is forwarded to the selected queue. This description is not intended to be a complete description of, or limit the scope of, the invention. Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.
Description
- This application is a continuation of U.S. patent application Ser. No. 10/293,656 filed Nov. 13, 2002, entitled “HIGH AVAILABILITY FOR EVENT FORWARDING” [Atty. Docket No. BEAS-01262US1], which claims priority to U.S. Provisional Patent Application No. 60/376,960, expired, filed May 1, 2002, entitled “HIGH AVAILABILITY FOR EVENT FORWARDINGN” [Atty. Docket No. BEAS-01262US0] which is hereby incorporated herein by reference.
- A portion of the disclosure of this patent documents contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document of the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
- The following applications are cross-referenced and incorporated herein by reference:
- U.S. patent application Ser. No. 10/271,194, now 7,080,092, entitled “Application View Component for System Integration,” by Mitch Upton, filed Oct. 15, 2002.
- U.S. patent application Ser. No. 10/293,059 entitled “High Availability for Asynchronous Requests,” by Tim Potter et al., filed Nov. 13, 2002.
- U.S. patent application Ser. No. 10/293,059 entitled “High Availability Application View Deployment,” by Tim Potter et al., filed Nov. 13, 2002.
- U.S. patent application Ser. No. 10/293,674 entitled “High Availability Event Topic,” by Tim Potter et al., filed Nov. 13, 2002.
- The present invention relates to the forwarding of events and messages to a cluster or across a network.
- In present application integration (AI) systems, there can be several single points of failure. These single points of failure can include deployment or management facilities event forwarding, event topics, remote clients, event subscriptions, response listeners, and response queues. Each of these features is tied to a singe server within a server cluster. If that single server crashes, the entire AI application can become irreparably damaged and must be rebooted via a server reboot.
- An AI component can generate events, such as through the use of adapters, that a user may wish to consume through a service such as business process management (BPM). An event forwarding facility of a present AI system forwards events between an application view and a physical BPM event queue. This facility is a single point of failure as well as a performance bottlenecks.
- Systems and methods in accordance with the present invention can overcome deficiencies in prior art systems by providing for high availability event forwarding. In a server cluster, each server can receive an event from a data source, such as a database or SAP™ system. An event queue resides on at least one of the servers in the cluster, which is capable of storing an event. An event queue can store an event until, for example, the event is delivered to a user or retrieved for processing.
- An event processor exists on at least one of the sellers in the cluster. The event processor can examine the load of each event queue in the cluster and determine which event queue has the lightest load. The event processor can generate an alias for the selected queue, such that a user, integration system, or client application, for example, can locate the event by specifying the alias. The user does not need to know the identity of the actual physical queue in which the event is stored, but onlv refers to the “distributed queue” or alias used to locate the actual physical queue. After the event processor selects a physical queue to act as the distributed queue and assigns an alias, the event can be forwarded to that physical queue.
- Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.
-
FIG. 1 is a diagram of a system in accordance with one embodiment of the present invention. -
FIG. 2 is flowchart for a method that can be used with the system ofFIG. 1 . - A system and method in accordance with one embodiment of the present invention overcomes deficiencies in prior ant systems by, changing the way in which events are routed throughout an AI system. In present messaging systems, an event router which can be tightly coupled to an SAP™ system or database, can receive an event out of the SAP™ system or database and send that event into an integration server. The integration server propagates the event out to anybody who is interested in the event, such as anyone having registered a listener for events of that type. Events can also be propagated to subscribers of an events topic to which that event belongs. Event forwarding is one mechanism for propagating these messages. In present systems, events are forwarded by an event router to a physical queue, from which interested users or clients can retrieve the events. This physical queue is a single point of failure.
- In a system in accordance with one embodiment of the present invention event forwarding is highly available. High availability can be accomplished through the use of distributed queues and/or topics, A distributed queue can server as an alias, and is not a physical queue in a specific server. A highly-available approach allows a user to send a message to a distributed queue. A server in the cluster, such as the one receiving the message, can determine which server in the cluster contains the physical queue with the lightest load that is online and working properly.
- After determining, which physical queue should receive the message, the server can find that physical queue and put the message on the queue. The user can be unaware of which queue is being used, and may not care. To the user, the message is sent to the alias, or distributed queue. This system is similar to a front end, in that it allows a messaging implementation such as JMS to be highly available, without requiring substantial work on the part of a client. When using a distributed event queue for event forwarding, it is possible to rely on the unde1rving JMS to do a lot of the high availability work.
- Event forwarding in accordance with the present invention can be used with multiple event topics, or with a single distributed event topic. An AI system can create a single JMS Topic for each topic subscriber. Events for a given subscriber can be sent to the topic for the subscriber. Event delivery can also be consolidated onto a single JMS Queue, such as EVENT_QUEUE, for example. This queue can be a distributed queue with multiple physical destinations. A message driven bean (MDB), which can be referred to as an ‘AI Event Processor’ can listen on the EVENT_QUEUE distributed destination. An onMessage implementation for the MDB can deliver a copy of the event into the BPM event processor, such as if BPM is installed and running in the server instance.
- The onMessage implementation can also publish a copy of the event onto an event topic, or “EVENT_TOPIC.” An event topic is a distributed JMS topic that handles the delivery of events to remote application view clients . An application view class can be modified to create an event context on the event topic. The event context class can be modified to filter messages based on the application view name, which can be stored in a “SourceKey” JMS header property.
- The implementation can deliver a copy of the event into an ap1plication view Cajun Control event processor, if such a control is being used. Also, any dequening or execution for the implementation can be done transactionally to allow the message to be rolled back onto the queue in the event of a processing failure
- Using a queue and MDB approach allows exactly one copy of each event to be delivered into a system such as BPM and Cajun, while still using distributed destinations. The use of topics would yield multiple copies it distributed destinations were used. This approach also provides the continued ability to support event delivery to remote application view clients. High availability can be obtained by virtue of the distributed EVENT_QUEUE destination. Multi servers can participate in the processing of messages for this queue, and thus a single server failure can be accommodated.
- This approach also provides for better efficiency, as events can be routed directly to a BPM event processor and application view Cajun Control event processor without requeuing a copy of the message which can have associated persistence and delivery overhead. A secondary publish to an EVENT_TOPIC can be somewhat costly, but the BPM event processors can be processing the event before the event is sent to the event topic, allowing more direct processing into BPM.
-
FIG. 1 shows a system that can be used for high-availability event processing in an application integration engine. In an example of event processing, an event occurs in an enterprise information system (EIS) 130. The event data is transferred to anevent generator 128 in the resource adapter. Theevent generator 128 transforms the EIS-specific event data into an XML document and posts an event object, such as an Event object, to theevent router 126. Theevent router 126 passes the event object to anevent context object 124 for each AI server that is interested in the specific event type. Theevent context object 124 encapsulates the event object into a JMS object message and sends it to theevent queue 122, such as a JMS Queue bound at JNDI context com.ai.EVENT_QUEUE using a JMS QueueSender. This queue can be a distributed queue, in that the selected queue exists somewhere in the cluster but uses the same alias. - The event object message is stored in the
event queue 122 until it is retrieved for processingo by theAI event processor 120, which can process events in a first-in-first-out 4(FIFO) manner. It may not be enough to send a message to a distributed queue and expect the message to be received by a receiver of that distributed queue. There can be a receiver, or “QueueReceiver”, receiver or listening on each physical queue to which an event could be forwarded. Thus an AI event processor can be deployed on all nodes in a cluster. Multiple event processor deployment can further prevent single points of failure. - The
event processor 120 can forward the event to all registeredevent destinations 110 which in the Figure include aBPM event queue 112, anevent topic 114, and a Cajun event processor 116. Event destinations can be added by posting a message to anotification topic 108 for application integration. For example, when an AI plug-in 100 for BPM is deployed, it can send an “addDestination” message to the notification topic to register theBPM event queue 112 as an event destination. The BPM event queue can be a distributed queue. A message published on the notification topic can have cluster-wide visibility. Each node in the cluster can have a singletonevent destination manager 118 that is a durable subscriber to this topic. Thus, the message can be published to every event destination manager in the cluster. - The event processor can use a singleton
event destination manager 118 to listen for add/remove event destination messages on thenotification topic 108 to configure the list ofevent destinations 110. The event object message can be delivered to all registered event destinations in a single transaction, such as in a single Java™ Transaction API (JYA) user transaction. If a post to anyevent destination 110 fails, the event message can be rolled back to the distributedqueue 122. The roll back can use the same alias, but can forward the event to a different physical queue in the cluster. If theevent processor 120 receives a message such as one that has “getJMSRedelivered()” true, the post can be tried again. If the retry fails, the message can be sent to an error queue, which can be a distributed queue for failed event and asynchronous service response messages. - If an AI plug-in 100 for BPM is deployed, the plug-in can add the
BPM event queue 112 as an event destination during startup so that AI events are passed to aBPM workflow 102 for processing. If there are any registered applicationview event listeners 106, the event can be sent to anevent topic 114 which will useevent context 104 to establish a connection with theremote event listener 106 for the application view. -
FIG. 2 shows the steps of a method that can be used with the system ofFIG. 1 . An event is generated in a data system, such as a database orSAP™ system 200. An event router receives the event from the data system and forwards it to a server in thecluster 202. The server receiving the event determines which server in the cluster contains the event queue with thelightest load 204. The server then creates an alias for the event queue with the lightest load, which will be used to refer to the distributed event queue containing the event 206. The server then forwards the event to the distributed event queue and assigns thealias 208. - An event context class is a frame of reference that can be used to generate and/or receive events. An event context class can be used by an application view to manage the event delivery mechanics in methods such as postEvent and addEventListener. An application view can represent a subset of business functionality that is available, for example, within an EIS. The application view can accept requests for service invocation from a client, and can invoke the proper system functions within the target EIS. An application view can make use of connections provided by a resource adapter to communicate with the EIS.
- A service can be a named business function. An application view can manage mapping from the name of the service to the system function in the EIS. Services can expose a simple XML-based request and response interface. Services can return a document definition object for request and response document types that describe the structure and content required for the document type.
- An application view can utilize metadata that includes information such as a service name and associated system function. The metadata care also store at least some of the data needed to successfully invoke the system function. As a result, the service can require less request data from the client invoking service, as the application view can augment the data passed by the client with the stored metadata. This is a convenient way to hide the complexity of the underlying system function invocation from the client invoking a service.
- In the event of the crash of a cluster server or managed server, an AI application can continue delivering events from adapters running in nodes that are still available. Event generators or routers running in the failed node can restart when the failed node restarts. Users can be notified that in-flight transactions have been cancelled or rolled-back, and should be retried. Wherever possible, the transaction can be retried after reestablishing connections, in order to make use of resources on another live server One example of AI reestablishing a connection is the event context as used for sending. events to AI from an event router.
- In the event of an admin server failure, an AI application can do the tasks listed with respect to the crash of a cluster server. The AI application should still be able to boot and reboot successfully using the previous domain and server configuration.
- The use of server clustering allows an AI component, such as an event-forwarding server, event queue, or JMS server, to be used in a scalable and highly available fashion. A highly available component does not have any single points of failure, and can migrate services from failed nodes to live nodes in a cluster. Any service offered by an AI component can be targeted to several nodes in a cluster. In the event of a node failure in the cluster, the services located on the failed node can be migrated to another live node in the cluster.
- In the event of a crash of a cluster or managed server, the AI application can continue accepting new work. The acceptance of new work can include the deploying and undeploying of application views and connection factories, monitoring of old application views and connection factories, delivering events from adapters, and servicing both synchronous and asynchronous, service invocations. An AI application can also support the manual migration of services on the failed node to a live node, such as a singleton MDB listening on a physical destination managed by a failed JMS server. Application integration can use a singleton MDB, such as if a customer needs ordered event processing.
- The foregoing description of preferred embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations will be apparent to one of ordinary skill in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention for various embodiments and with various modifications, that are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalence.
Claims (16)
1. A system for high availability event forwarding in an integration system comprising:
a cluster of servers, each server in the cluster adapted to receive an event;
event queues on at least some of the servers in said cluster of servers, the event queues adapted to store the event; and
an event processor on at least one server in said cluster of servers, the event processor adapted to determine the available event queue with the lightest load and forward the event to that event queue
2. A system according to claim 1 , wherein:
the event processor further adapted to generate an alias for the event queue to which the event is forwarded, wherein the alias abstracts the server location of the determined event queue from a user.
3. A system according to claim 1 , further comprising:
a data system adapted to generate an event.
4. A. system according to claim 3 , wherein:
said data system is selected from the group consisting of databases, EIS systems, and SAP™ systems.
5. A system according to claim 3 , further comprising:
an event router adapted to receive the event from the data system and forward the event to the cluster of servers.
6. A system according to claim 1 , further comprising:
a listener on at least one server in the cluster, the listener adapted to listen for the event on each event queue in the cluster.
7. A system according to claim 6 , further comprising:
a listener on each server in the cluster, each listener adapted to listen for tile event on each eve qt queue in the cluster.
8. A system according to claim 6 , wherein said listener listens for the event on the event queue using the alias.
9. A method for high availability event forwarding in an integration system, comprising.:
receiving an event to server in a cluster of servers:
determining which server in the cluster contains the event queue with the lightest load; and
forwarding the event to the event queue with the lightest load and assigning the alias to that event queue
10. A method according to claim 9 , further comprising: creating an alias for the event queue with the lightest load, wherein the alias abstracts the server location of the determined event queue from a user.
11. A method according to claim. 9, further comprising:
generating the event with a data system.
12. A method according to claim 11 further
receiving the event from the data system to an event router and forwarding the event to the cluster of servers.
13. A method according to claim 9 , further comprising:
listening for the event on each event queue in the cluster using a listener on at least one server an the cluster.
14. A method according to claim 9 , further comprising:
listening for the event on each event queue in the cluster using a listener on each server in the cluster.
15. A computer program product for execution by a server computer for high availability event forwarding in an integration system, comprising:
computer code to receive an event to server in a cluster of servers;
computer code to determine which server in the cluster contains the event queue with the lightest load; and
computer code to forward the event to the event queue with the lightest load and assigning the alias to that event queue
16. The computer program product of claim 15 , further comprising:
computer code to create an alias for the event queue with the lightest load, wherein the alias abstracts the server location of the determined event queue from a user.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/559,344 US20070074066A1 (en) | 2002-05-01 | 2006-11-13 | High availability for event forwarding |
US11/683,971 US20070156922A1 (en) | 2002-05-01 | 2007-03-08 | High availability for event forwarding |
US11/685,169 US7840611B2 (en) | 2002-05-01 | 2007-03-12 | High availability for event forwarding |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37696002P | 2002-05-01 | 2002-05-01 | |
US10/293,656 US7155438B2 (en) | 2002-05-01 | 2002-11-13 | High availability for event forwarding |
US11/559,344 US20070074066A1 (en) | 2002-05-01 | 2006-11-13 | High availability for event forwarding |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/293,656 Continuation US7155438B2 (en) | 2002-05-01 | 2002-11-13 | High availability for event forwarding |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/683,971 Continuation US20070156922A1 (en) | 2002-05-01 | 2007-03-08 | High availability for event forwarding |
US11/685,169 Continuation US7840611B2 (en) | 2002-05-01 | 2007-03-12 | High availability for event forwarding |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070074066A1 true US20070074066A1 (en) | 2007-03-29 |
Family
ID=29406509
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/293,656 Expired - Lifetime US7155438B2 (en) | 2002-05-01 | 2002-11-13 | High availability for event forwarding |
US11/559,344 Abandoned US20070074066A1 (en) | 2002-05-01 | 2006-11-13 | High availability for event forwarding |
US11/683,971 Abandoned US20070156922A1 (en) | 2002-05-01 | 2007-03-08 | High availability for event forwarding |
US11/685,169 Expired - Lifetime US7840611B2 (en) | 2002-05-01 | 2007-03-12 | High availability for event forwarding |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/293,656 Expired - Lifetime US7155438B2 (en) | 2002-05-01 | 2002-11-13 | High availability for event forwarding |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/683,971 Abandoned US20070156922A1 (en) | 2002-05-01 | 2007-03-08 | High availability for event forwarding |
US11/685,169 Expired - Lifetime US7840611B2 (en) | 2002-05-01 | 2007-03-12 | High availability for event forwarding |
Country Status (3)
Country | Link |
---|---|
US (4) | US7155438B2 (en) |
AU (1) | AU2003234335A1 (en) |
WO (1) | WO2003094022A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8984119B2 (en) | 2010-11-05 | 2015-03-17 | International Business Machines Corporation | Changing an event identifier of a transient event in an event notification system |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356098B2 (en) | 2001-11-14 | 2008-04-08 | Ipwireless, Inc. | Method, communication system and communication unit for synchronisation for multi-rate communication |
WO2003065240A1 (en) * | 2002-02-01 | 2003-08-07 | John Fairweather | System and method for managing collections of data on a network |
US20040078440A1 (en) * | 2002-05-01 | 2004-04-22 | Tim Potter | High availability event topic |
US7181482B2 (en) * | 2002-08-01 | 2007-02-20 | Oracle International Corporation | Buffered message queue architecture for database management systems |
US7185034B2 (en) * | 2002-08-01 | 2007-02-27 | Oracle International Corporation | Buffered message queue architecture for database management systems with guaranteed at least once delivery |
US7185033B2 (en) * | 2002-08-01 | 2007-02-27 | Oracle International Corporation | Buffered message queue architecture for database management systems with unlimited buffered message queue with limited shared memory |
US8489742B2 (en) | 2002-10-10 | 2013-07-16 | Convergys Information Management Group, Inc. | System and method for work management |
US8577795B2 (en) | 2002-10-10 | 2013-11-05 | Convergys Information Management Group, Inc. | System and method for revenue and authorization management |
US20040088401A1 (en) * | 2002-10-31 | 2004-05-06 | Ashutosh Tripathi | Method and apparatus for providing a highly available distributed event notification mechanism |
US7496574B2 (en) * | 2003-05-01 | 2009-02-24 | International Business Machines Corporation | Managing locks and transactions |
US7937433B1 (en) * | 2003-09-23 | 2011-05-03 | Embarq Holdings Company, Llc | Queuing connector to promote message servicing |
US7668093B1 (en) | 2004-08-05 | 2010-02-23 | Convergys Information Management Group, Inc. | Architecture for balancing workload |
US7590980B1 (en) | 2004-06-14 | 2009-09-15 | Convergys Cmg Utah, Inc. | System and method for a functional extensibility framework |
US7792274B2 (en) | 2004-11-04 | 2010-09-07 | Oracle International Corporation | Techniques for performing multi-media call center functionality in a database management system |
GB0513393D0 (en) * | 2005-06-30 | 2005-08-03 | Ibm | Methods, apparatus and computer programs for differentiating between alias instances of a resource |
US20070156737A1 (en) * | 2005-12-15 | 2007-07-05 | First Data Corporation | Application integration systems and methods |
US9542708B2 (en) * | 2008-05-20 | 2017-01-10 | Oracle International Corporation | Event server using caching |
US7818370B2 (en) * | 2008-05-20 | 2010-10-19 | Bea Systems, Inc. | Event server using clustering |
US9323589B2 (en) | 2012-05-15 | 2016-04-26 | Oracle International Corporation | Self registration of event—consumers/producers and auto discovery |
US9654408B2 (en) | 2013-11-06 | 2017-05-16 | Amazon Technologies, Inc. | Strict queue ordering in a distributed system |
US9894143B1 (en) | 2013-11-06 | 2018-02-13 | Amazon Technologies, Inc. | Pre-processing and processing pipeline for queue client |
US9577961B2 (en) | 2014-06-27 | 2017-02-21 | Amazon Technologies, Inc. | Input/output management in a distributed strict queue |
US9591101B2 (en) | 2014-06-27 | 2017-03-07 | Amazon Technologies, Inc. | Message batching in a distributed strict queue |
US9575820B2 (en) | 2014-06-27 | 2017-02-21 | Amazon Technologies, Inc. | Client control in a distributed strict queue |
US9577878B2 (en) | 2014-06-27 | 2017-02-21 | Amazon Technologies, Inc. | Geographic awareness in a distributed strict queue |
US9843528B2 (en) | 2014-06-27 | 2017-12-12 | Amazon Technologies, Inc. | Client selection in a distributed strict queue |
US9571414B2 (en) | 2014-06-27 | 2017-02-14 | Amazon Technologies, Inc. | Multi-tiered processing using a distributed strict queue |
US9584593B2 (en) | 2014-06-27 | 2017-02-28 | Amazon Technologies, Inc. | Failure management in a distributed strict queue |
US9577972B1 (en) * | 2014-09-09 | 2017-02-21 | Amazon Technologies, Inc. | Message inspection in a distributed strict queue |
US10091215B1 (en) | 2014-09-09 | 2018-10-02 | Amazon Technologies, Inc. | Client isolation in a distributed queue |
US9501228B1 (en) * | 2014-11-26 | 2016-11-22 | Amdoc Software Systems Limited | System, method, and computer program for fetching data from a physical memory queue utilizing an alias queue name |
US10540217B2 (en) | 2016-09-16 | 2020-01-21 | Oracle International Corporation | Message cache sizing |
US10630534B1 (en) * | 2016-12-02 | 2020-04-21 | Worldpay, Llc | Systems and methods for subscribing topics and registering computer server event notifications |
US10812578B2 (en) * | 2018-01-17 | 2020-10-20 | International Business Machines Corporation | Migration of durable clients in a clustered publish/subscribe system |
CN113765864B (en) * | 2020-06-11 | 2023-06-23 | 北京京东振世信息技术有限公司 | Service request processing method and device |
CN115065511A (en) * | 2022-05-30 | 2022-09-16 | 济南浪潮数据技术有限公司 | Method and system for processing cluster abnormal event |
Citations (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283897A (en) * | 1990-04-30 | 1994-02-01 | International Business Machines Corporation | Semi-dynamic load balancer for periodically reassigning new transactions of a transaction type from an overload processor to an under-utilized processor based on the predicted load thereof |
US5469562A (en) * | 1992-06-26 | 1995-11-21 | Digital Equipment Corporation | Durable atomic storage update manager |
US5592664A (en) * | 1991-07-29 | 1997-01-07 | Borland International Inc. | Database server system with methods for alerting clients of occurrence of database server events of interest to the clients |
US5604860A (en) * | 1994-10-27 | 1997-02-18 | Xerox Corporation | Feature library and stored customized control interfaces |
US5630131A (en) * | 1994-11-14 | 1997-05-13 | Object Technology Licensing Corp. | Method and apparatus for importing and exporting archive files for a graphical user interface |
US5721825A (en) * | 1996-03-15 | 1998-02-24 | Netvision, Inc. | System and method for global event notification and delivery in a distributed computing environment |
US5892913A (en) * | 1996-12-02 | 1999-04-06 | International Business Machines Corporation | System and method for datastreams employing shared loop architecture multimedia subsystem clusters |
US5944794A (en) * | 1994-09-30 | 1999-08-31 | Kabushiki Kaisha Toshiba | User identification data management scheme for networking computer systems using wide area network |
US5951694A (en) * | 1995-06-07 | 1999-09-14 | Microsoft Corporation | Method of redirecting a client service session to a second application server without interrupting the session by forwarding service-specific information to the second server |
US5991808A (en) * | 1997-06-02 | 1999-11-23 | Digital Equipment Corporation | Task processing optimization in a multiprocessor system |
US6012083A (en) * | 1996-09-24 | 2000-01-04 | Ricoh Company Ltd. | Method and apparatus for document processing using agents to process transactions created based on document content |
US6016495A (en) * | 1997-09-19 | 2000-01-18 | International Business Machines Corporation | Object-oriented framework mechanism for providing persistent storage |
US6018730A (en) * | 1998-12-22 | 2000-01-25 | Ac Properties B.V. | System, method and article of manufacture for a simulation engine with a help website and processing engine |
US6021443A (en) * | 1996-01-18 | 2000-02-01 | Sun Microsystems, Inc. | Systems, software, and methods for routing events among publishers and subscribers on a computer network |
US6023578A (en) * | 1997-05-09 | 2000-02-08 | International Business Macines Corporation | Systems, methods and computer program products for generating an object oriented application for an object oriented environment |
US6023722A (en) * | 1996-12-07 | 2000-02-08 | International Business Machines Corp. | High-availability WWW computer server system with pull-based load balancing using a messaging and queuing unit in front of back-end servers |
US6067623A (en) * | 1997-11-21 | 2000-05-23 | International Business Machines Corp. | System and method for secure web server gateway access using credential transform |
US6070184A (en) * | 1997-08-28 | 2000-05-30 | International Business Machines Corporation | Server-side asynchronous form management |
US6078943A (en) * | 1997-02-07 | 2000-06-20 | International Business Machines Corporation | Method and apparatus for dynamic interval-based load balancing |
US6119143A (en) * | 1997-05-22 | 2000-09-12 | International Business Machines Corporation | Computer system and method for load balancing with selective control |
US6128279A (en) * | 1997-10-06 | 2000-10-03 | Web Balance, Inc. | System for balancing loads among network servers |
US6141701A (en) * | 1997-03-13 | 2000-10-31 | Whitney; Mark M. | System for, and method of, off-loading network transactions from a mainframe to an intelligent input/output device, including off-loading message queuing facilities |
US6148336A (en) * | 1998-03-13 | 2000-11-14 | Deterministic Networks, Inc. | Ordering of multiple plugin applications using extensible layered service provider with network traffic filtering |
US6185734B1 (en) * | 1998-07-21 | 2001-02-06 | Hewlett-Packard Company | Hierarchical registry structure for managing multiple versions of software components |
US6195680B1 (en) * | 1998-07-23 | 2001-02-27 | International Business Machines Corporation | Client-based dynamic switching of streaming servers for fault-tolerance and load balancing |
US6230309B1 (en) * | 1997-04-25 | 2001-05-08 | Sterling Software, Inc | Method and system for assembling and utilizing components in component object systems |
US6233607B1 (en) * | 1999-04-01 | 2001-05-15 | Diva Systems Corp. | Modular storage server architecture with dynamic data management |
US6237135B1 (en) * | 1998-06-18 | 2001-05-22 | Borland Software Corporation | Development system with visual design tools for creating and maintaining Java Beans components |
US6243737B1 (en) * | 1999-04-09 | 2001-06-05 | Translink Software, Inc. | Method and apparatus for providing direct transaction access to information residing on a host system |
US6253230B1 (en) * | 1998-09-22 | 2001-06-26 | International Business Machines Corporation | Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server |
US6292932B1 (en) * | 1999-05-28 | 2001-09-18 | Unisys Corp. | System and method for converting from one modeling language to another |
US6311327B1 (en) * | 1998-03-02 | 2001-10-30 | Applied Microsystems Corp. | Method and apparatus for analyzing software in a language-independent manner |
US6317786B1 (en) * | 1998-05-29 | 2001-11-13 | Webspective Software, Inc. | Web service |
US6330569B1 (en) * | 1999-06-30 | 2001-12-11 | Unisys Corp. | Method for versioning a UML model in a repository in accordance with an updated XML representation of the UML model |
US6334114B1 (en) * | 1997-10-31 | 2001-12-25 | Oracle Corporation | Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm |
US20020004848A1 (en) * | 2000-03-29 | 2002-01-10 | Krishna Sudarshan | System and method of providing an asynchronous interface between a client system and an enterprise javabeans-enabled server |
US20020010781A1 (en) * | 1999-12-30 | 2002-01-24 | Tuatini Jeffrey Taihana | Shared service messaging models |
US20020010803A1 (en) * | 2000-05-25 | 2002-01-24 | Oberstein Brien M. | Method, system and apparatus for establishing, monitoring, and managing connectivity for communication among heterogeneous systems |
US6343265B1 (en) * | 1998-07-28 | 2002-01-29 | International Business Machines Corporation | System and method for mapping a design model to a common repository with context preservation |
US20020032769A1 (en) * | 2000-04-28 | 2002-03-14 | Sharon Barkai | Network management method and system |
US6360358B1 (en) * | 1999-03-11 | 2002-03-19 | Microsoft Corporation | Maintenance of code knowledge for up-to-date access thereof |
US20020035604A1 (en) * | 1997-07-16 | 2002-03-21 | Cohen Andrew R. | Methods for performing client-hosted application sessions in distributed processing systems |
US6367068B1 (en) * | 1998-11-13 | 2002-04-02 | Microsoft Corporation | Dynamic parsing |
US6374297B1 (en) * | 1999-08-16 | 2002-04-16 | International Business Machines Corporation | Method and apparatus for load balancing of web cluster farms |
US6377939B1 (en) * | 1999-05-04 | 2002-04-23 | Metratech | Pipelined method and apparatus for processing communication metering data |
US20020049788A1 (en) * | 2000-01-14 | 2002-04-25 | Lipkin Daniel S. | Method and apparatus for a web content platform |
US20020073396A1 (en) * | 2000-06-03 | 2002-06-13 | John Crupi | Method and apparatus for developing enterprise applications using design patterns |
US6408311B1 (en) * | 1999-06-30 | 2002-06-18 | Unisys Corp. | Method for identifying UML objects in a repository with objects in XML content |
US6411698B1 (en) * | 1997-07-21 | 2002-06-25 | Mci Communication Corporation | System and method for communication between a telephone data repository and downstream data processing applications |
US20020083075A1 (en) * | 2000-12-22 | 2002-06-27 | Tony Brummel | System and method for a seamless user interface for an integrated electronic health care information system |
US20020099579A1 (en) * | 2001-01-22 | 2002-07-25 | Stowell David P. M. | Stateless, event-monitoring architecture for performance-based supply chain management system and method |
US20020111922A1 (en) * | 2000-11-06 | 2002-08-15 | Terry Bernard Young | Electronic markets business interchange system and method |
US20020116454A1 (en) * | 2000-12-21 | 2002-08-22 | William Dyla | System and method for providing communication among legacy systems using web objects for legacy functions |
US20020120685A1 (en) * | 1999-06-01 | 2002-08-29 | Alok Srivastava | System for dynamically invoking remote network services using service descriptions stored in a service registry |
US6445711B1 (en) * | 1999-04-23 | 2002-09-03 | Sony Corporation | Method of and apparatus for implementing and sending an asynchronous control mechanism packet used to control bridge devices within a network of IEEE STD 1394 serial buses |
US20020143960A1 (en) * | 2000-08-02 | 2002-10-03 | Erez Goren | Virtual network generation system and method |
US20020152106A1 (en) * | 2001-02-13 | 2002-10-17 | Paul Stoxen | Electronic acquisition system and method |
US6470364B1 (en) * | 1998-02-24 | 2002-10-22 | Sun Microsystems, Inc. | Method and apparatus for generating text components |
US20020161826A1 (en) * | 2001-01-25 | 2002-10-31 | Carlos Arteaga | System and method for remote communication transactions |
US20020169644A1 (en) * | 2000-05-22 | 2002-11-14 | Greene William S. | Method and system for implementing a management operations center in a global ecosystem of interrelated services |
US20020174178A1 (en) * | 2000-08-31 | 2002-11-21 | Schneider Automation | Communication system for automation equipment based on the WSDL language |
US20020184610A1 (en) * | 2001-01-22 | 2002-12-05 | Kelvin Chong | System and method for building multi-modal and multi-channel applications |
US20020188486A1 (en) * | 2001-06-08 | 2002-12-12 | World Chain, Inc. | Supply chain management |
US20020194495A1 (en) * | 2001-06-14 | 2002-12-19 | Gladstone Philip J.S. | Stateful distributed event processing and adaptive security |
US20020194244A1 (en) * | 2001-06-01 | 2002-12-19 | Joan Raventos | System and method for enabling transaction-based service utilizing non-transactional resources |
US20020194267A1 (en) * | 2000-06-23 | 2002-12-19 | Daniel Flesner | Portal server that provides modification of user interfaces for access to computer networks |
US20030005181A1 (en) * | 2001-07-02 | 2003-01-02 | David Bau | Annotation based development platform for asynchronous web services |
US20030004746A1 (en) * | 2001-04-24 | 2003-01-02 | Ali Kheirolomoom | Scenario based creation and device agnostic deployment of discrete and networked business services using process-centric assembly and visual configuration of web service components |
US20030014439A1 (en) * | 2001-06-20 | 2003-01-16 | International Business Machines Corporation | Defining a markup language representation for state chart data |
US20030018832A1 (en) * | 2001-06-01 | 2003-01-23 | Venkat Amirisetty | Metadata-aware enterprise application integration framework for application server environment |
US20030018661A1 (en) * | 2001-07-19 | 2003-01-23 | Darugar Parand Tony | XML smart mapping system and method |
US20030018963A1 (en) * | 2001-04-10 | 2003-01-23 | International Business Machines Corporation | Installation of a data processing solution |
US20030023957A1 (en) * | 2001-07-02 | 2003-01-30 | David Bau | Annotation based development platform for stateful web services |
US6516322B1 (en) * | 2000-04-28 | 2003-02-04 | Microsoft Corporation | XML-based representation of mobile process calculi |
US20030028579A1 (en) * | 2001-08-06 | 2003-02-06 | Kulkarni Vinay Vasant | Process for component-based application development |
US20030028364A1 (en) * | 2001-07-10 | 2003-02-06 | Borland Software Corp. | Development assistance for mixed-language sources |
US20030046591A1 (en) * | 2001-08-29 | 2003-03-06 | Nader Asghari-Kamrani | Centralized identification and authentication system and method |
US20030043191A1 (en) * | 2001-08-17 | 2003-03-06 | David Tinsley | Systems and methods for displaying a graphical user interface |
US20030051066A1 (en) * | 2000-09-01 | 2003-03-13 | Pace Charles P. | Method and system for deploying an asset over a multi-tiered network |
US20030055868A1 (en) * | 2001-09-19 | 2003-03-20 | International Business Machines Corporation | Building distributed software services as aggregations of other services |
US20030055878A1 (en) * | 2001-09-19 | 2003-03-20 | International Business Machines Corporation | Programmatic management of software resources in a content framework environment |
US20030074217A1 (en) * | 2001-10-12 | 2003-04-17 | International Business Machines Corporation | Resource adapter and integrated development environment |
US20030079029A1 (en) * | 2001-10-18 | 2003-04-24 | Sandilya Garimella | Single system user identity |
US20030084203A1 (en) * | 2001-10-26 | 2003-05-01 | Jun Yoshida | Program control method, computer system, control program, and storage medium storing the control program |
US6560769B1 (en) * | 2000-09-28 | 2003-05-06 | Unisys Corporation | Computer-implemented method for generating a UML representation from JAVA source code |
US20030105805A1 (en) * | 2001-11-05 | 2003-06-05 | Jorgenson Daniel Scott | System and method for maintaining consistent independent server-side state among collaborating servers |
US20030110446A1 (en) * | 2001-12-10 | 2003-06-12 | Sun Microsystems, Inc. | Object class for facilitating conversion between Java and XML |
US6584454B1 (en) * | 1999-12-31 | 2003-06-24 | Ge Medical Technology Services, Inc. | Method and apparatus for community management in remote system servicing |
US6587959B1 (en) * | 1999-07-28 | 2003-07-01 | Emc Corporation | System and method for addressing scheme for use on clusters |
US20030126136A1 (en) * | 2001-06-22 | 2003-07-03 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
US6594700B1 (en) * | 1999-06-14 | 2003-07-15 | International Business Machines Corporation | System and method for implementing a universal service broker interchange mechanism |
US6594786B1 (en) * | 2000-01-31 | 2003-07-15 | Hewlett-Packard Development Company, Lp | Fault tolerant high availability meter |
US6601113B1 (en) * | 1995-12-08 | 2003-07-29 | Telefonaktiebolaget Lm Ericsson (Publ) | System platform for a communication system |
US20030149791A1 (en) * | 2002-02-05 | 2003-08-07 | International Business Machines Corporation | System and method for routing data by a server |
US6609115B1 (en) * | 1999-12-30 | 2003-08-19 | Ge Medical Systems | Method and apparatus for limited online access to restricted documentation |
US6615258B1 (en) * | 1997-09-26 | 2003-09-02 | Worldcom, Inc. | Integrated customer interface for web based data management |
US6826260B1 (en) * | 2000-03-31 | 2004-11-30 | Alcatel | Method and apparatus for an MLSC state machine |
US6859834B1 (en) * | 1999-08-13 | 2005-02-22 | Sun Microsystems, Inc. | System and method for enabling application server request failover |
US7127507B1 (en) * | 2001-09-27 | 2006-10-24 | Sprint Communications Company L.P. | Method and apparatus for network-level monitoring of queue-based messaging systems |
Family Cites Families (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5966535A (en) * | 1995-12-07 | 1999-10-12 | At&T Corporation | Method and apparatus for generating program code for world wide web service applications |
WO1997035254A1 (en) | 1996-03-19 | 1997-09-25 | Massachusetts Institute Of Technology | Computer system and computer implemented process for representing software system descriptions and for generating executable computer programs and computer system configurations from software system descriptions |
US6754181B1 (en) * | 1996-11-18 | 2004-06-22 | Mci Communications Corporation | System and method for a directory service supporting a hybrid communication system architecture |
CA2202572C (en) * | 1997-04-14 | 2004-02-10 | Ka Lun Eddie Law | A scaleable web server and method of efficiently managing multiple servers |
US6029000A (en) * | 1997-12-22 | 2000-02-22 | Texas Instruments Incorporated | Mobile communication system with cross compiler and cross linker |
FI106831B (en) | 1998-01-14 | 2001-04-12 | Nokia Networks Oy | Access control procedure for a mobile telephone system |
US6850893B2 (en) | 2000-01-14 | 2005-02-01 | Saba Software, Inc. | Method and apparatus for an improved security system mechanism in a business applications management system platform |
US6721740B1 (en) * | 1998-05-29 | 2004-04-13 | Sun Microsystems, Inc. | Method and apparatus of performing active update notification |
WO2000014618A2 (en) | 1998-08-24 | 2000-03-16 | Fujitsu Limited | Workflow system and method |
CA2248634C (en) | 1998-09-24 | 2004-02-24 | Ibm Canada Limited-Ibm Canada Limitee | Common connector framework |
US6212546B1 (en) * | 1998-10-01 | 2001-04-03 | Unisys Corporation | Providing a modular gateway architecture which isolates attributes of the client and server systems into independent components |
US6637020B1 (en) | 1998-12-03 | 2003-10-21 | International Business Machines Corporation | Creating applications within data processing systems by combining program components dynamically |
JP3762867B2 (en) * | 1999-01-29 | 2006-04-05 | 富士通株式会社 | Compiler device, compiling method, and storage medium storing program therefor |
US6789054B1 (en) | 1999-04-25 | 2004-09-07 | Mahmoud A. Makhlouf | Geometric display tools and methods for the visual specification, design automation, and control of adaptive real systems |
US7165041B1 (en) | 1999-05-27 | 2007-01-16 | Accenture, Llp | Web-based architecture sales tool |
US6880126B1 (en) | 1999-08-03 | 2005-04-12 | International Business Machines Corporation | Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data |
US7200563B1 (en) | 1999-08-20 | 2007-04-03 | Acl International Inc. | Ontology-driven information system |
US6662357B1 (en) | 1999-08-31 | 2003-12-09 | Accenture Llp | Managing information in an integrated development architecture framework |
US6643652B2 (en) * | 2000-01-14 | 2003-11-04 | Saba Software, Inc. | Method and apparatus for managing data exchange among systems in a network |
EP1275055A4 (en) | 2000-02-16 | 2003-06-11 | Bea Systems Inc | Open market collaboration system for enterprise wide electronic commerce |
JP2001243366A (en) | 2000-02-25 | 2001-09-07 | Hitachi Ltd | Server having trade job supporting function |
US20040148336A1 (en) | 2000-03-30 | 2004-07-29 | Hubbard Edward A | Massively distributed processing system architecture, scheduling, unique device identification and associated methods |
US7146422B1 (en) * | 2000-05-01 | 2006-12-05 | Intel Corporation | Method and apparatus for validating documents based on a validation template |
EP1292886A1 (en) | 2000-04-21 | 2003-03-19 | Togethersoft Corporation | Methods and systems for supporting and deploying distributed computing components |
US6918084B1 (en) * | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Spawning new repository spaces using information provided in advertisement schema messages |
US6971096B1 (en) * | 2000-05-19 | 2005-11-29 | Sun Microsystems, Inc. | Transaction data structure for process communications among network-distributed applications |
US6832238B1 (en) | 2000-05-24 | 2004-12-14 | Sun Microsystems, Inc. | Local transaction management |
US7089584B1 (en) | 2000-05-24 | 2006-08-08 | Sun Microsystems, Inc. | Security architecture for integration of enterprise information system with J2EE platform |
US6836883B1 (en) * | 2000-06-21 | 2004-12-28 | Microsoft Corporation | Method and system for compiling multiple languages |
US6874143B1 (en) | 2000-06-21 | 2005-03-29 | Microsoft Corporation | Architectures for and methods of providing network-based software extensions |
US6721779B1 (en) | 2000-07-07 | 2004-04-13 | Softwired Ag | Messaging proxy system |
US6910154B1 (en) * | 2000-08-18 | 2005-06-21 | Network Appliance, Inc. | Persistent and reliable delivery of event messages |
US6684388B1 (en) * | 2000-08-22 | 2004-01-27 | International Business Machines Corporation | Method for generating platform independent, language specific computer code |
US6823495B1 (en) | 2000-09-14 | 2004-11-23 | Microsoft Corporation | Mapping tool graphical user interface |
US7069507B1 (en) | 2000-09-29 | 2006-06-27 | Microsoft Corporation | Event routing model for an extensible editor |
IE20010964A1 (en) * | 2000-11-03 | 2002-05-29 | Wilde Technologies Ltd | A software development process |
US7111243B1 (en) | 2001-03-02 | 2006-09-19 | Oracle International Corporation | Customization of tab-order functionality in internet applications |
US7184967B1 (en) * | 2001-03-06 | 2007-02-27 | Microsoft Corporation | System and method utilizing a graphical user interface of a business process workflow scheduling program |
US6983328B2 (en) | 2001-05-18 | 2006-01-03 | Hewlett-Packard Development Company, L.P. | Trusted internet clipboard |
US6687702B2 (en) | 2001-06-15 | 2004-02-03 | Sybass, Inc. | Methodology providing high-speed shared memory access between database middle tier and database server |
US6754884B1 (en) * | 2001-07-02 | 2004-06-22 | Bea Systems, Inc. | Programming language extensions for processing XML objects and related applications |
US6877107B2 (en) * | 2001-07-05 | 2005-04-05 | Softwired Ag | Method for ensuring operation during node failures and network partitions in a clustered message passing server |
US7117504B2 (en) * | 2001-07-10 | 2006-10-03 | Microsoft Corporation | Application program interface that enables communication for a network software platform |
US7062718B2 (en) | 2001-08-14 | 2006-06-13 | National Instruments Corporation | Configuration diagram which graphically displays program relationship |
AU2002343424A1 (en) | 2001-09-28 | 2003-04-14 | Bluesocket, Inc. | Method and system for managing data traffic in wireless networks |
US7546462B2 (en) | 2001-10-18 | 2009-06-09 | Bea Systems, Inc. | Systems and methods for integration adapter security |
US8156471B2 (en) * | 2001-11-09 | 2012-04-10 | Oracle International Corporation | Multi-language execution method |
US7155705B1 (en) * | 2001-11-26 | 2006-12-26 | Cisco Technology, Inc. | Techniques for binding an application with a data exchange format based on tags in comments |
US6950872B2 (en) | 2001-12-19 | 2005-09-27 | Sun Microsystems, Inc. | Methods and systems for facilitating message exchange between networked computing entities |
US7240331B2 (en) * | 2002-01-16 | 2007-07-03 | Xerox Corporation | Bi-valuation of programming statements |
US6922827B2 (en) * | 2002-02-22 | 2005-07-26 | Bea Systems, Inc. | Iterative software development environment with prioritized build rules |
US20040194087A1 (en) * | 2002-04-11 | 2004-09-30 | International Business Machines Corporation | Batch processing of requests in a data processing network |
US7526519B2 (en) | 2002-05-01 | 2009-04-28 | Bea Systems, Inc. | High availability application view deployment |
US20040078440A1 (en) | 2002-05-01 | 2004-04-22 | Tim Potter | High availability event topic |
US7222148B2 (en) | 2002-05-02 | 2007-05-22 | Bea Systems, Inc. | System and method for providing highly available processing of asynchronous service requests |
US7434207B2 (en) | 2002-07-02 | 2008-10-07 | Microsoft Corporation | Floating debugger |
US7043722B2 (en) * | 2002-07-31 | 2006-05-09 | Bea Systems, Inc. | Mixed language expression loading and execution methods and apparatuses |
US20040103406A1 (en) * | 2002-11-21 | 2004-05-27 | International Business Machines Corporation | Method and apparatus for autonomic compiling of a program |
US7448024B2 (en) | 2002-12-12 | 2008-11-04 | Bea Systems, Inc. | System and method for software application development in a portal environment |
US7096422B2 (en) | 2003-02-28 | 2006-08-22 | Microsoft Corporation | Markup language visual mapping |
US7260599B2 (en) * | 2003-03-07 | 2007-08-21 | Hyperspace Communications, Inc. | Supporting the exchange of data by distributed applications |
US7260818B1 (en) | 2003-05-29 | 2007-08-21 | Sun Microsystems, Inc. | System and method for managing software version upgrades in a networked computer system |
US7739223B2 (en) | 2003-08-29 | 2010-06-15 | Microsoft Corporation | Mapping architecture for arbitrary data models |
US6859180B1 (en) * | 2003-09-15 | 2005-02-22 | The United States Of America As Represented By The Secretary Of The Navy | Gravity-actuated submarine antenna |
-
2002
- 2002-11-13 US US10/293,656 patent/US7155438B2/en not_active Expired - Lifetime
-
2003
- 2003-04-30 WO PCT/US2003/013670 patent/WO2003094022A1/en not_active Application Discontinuation
- 2003-04-30 AU AU2003234335A patent/AU2003234335A1/en not_active Abandoned
-
2006
- 2006-11-13 US US11/559,344 patent/US20070074066A1/en not_active Abandoned
-
2007
- 2007-03-08 US US11/683,971 patent/US20070156922A1/en not_active Abandoned
- 2007-03-12 US US11/685,169 patent/US7840611B2/en not_active Expired - Lifetime
Patent Citations (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283897A (en) * | 1990-04-30 | 1994-02-01 | International Business Machines Corporation | Semi-dynamic load balancer for periodically reassigning new transactions of a transaction type from an overload processor to an under-utilized processor based on the predicted load thereof |
US5592664A (en) * | 1991-07-29 | 1997-01-07 | Borland International Inc. | Database server system with methods for alerting clients of occurrence of database server events of interest to the clients |
US5469562A (en) * | 1992-06-26 | 1995-11-21 | Digital Equipment Corporation | Durable atomic storage update manager |
US5944794A (en) * | 1994-09-30 | 1999-08-31 | Kabushiki Kaisha Toshiba | User identification data management scheme for networking computer systems using wide area network |
US5604860A (en) * | 1994-10-27 | 1997-02-18 | Xerox Corporation | Feature library and stored customized control interfaces |
US5630131A (en) * | 1994-11-14 | 1997-05-13 | Object Technology Licensing Corp. | Method and apparatus for importing and exporting archive files for a graphical user interface |
US5951694A (en) * | 1995-06-07 | 1999-09-14 | Microsoft Corporation | Method of redirecting a client service session to a second application server without interrupting the session by forwarding service-specific information to the second server |
US6601113B1 (en) * | 1995-12-08 | 2003-07-29 | Telefonaktiebolaget Lm Ericsson (Publ) | System platform for a communication system |
US6021443A (en) * | 1996-01-18 | 2000-02-01 | Sun Microsystems, Inc. | Systems, software, and methods for routing events among publishers and subscribers on a computer network |
US5721825A (en) * | 1996-03-15 | 1998-02-24 | Netvision, Inc. | System and method for global event notification and delivery in a distributed computing environment |
US6012083A (en) * | 1996-09-24 | 2000-01-04 | Ricoh Company Ltd. | Method and apparatus for document processing using agents to process transactions created based on document content |
US5892913A (en) * | 1996-12-02 | 1999-04-06 | International Business Machines Corporation | System and method for datastreams employing shared loop architecture multimedia subsystem clusters |
US6023722A (en) * | 1996-12-07 | 2000-02-08 | International Business Machines Corp. | High-availability WWW computer server system with pull-based load balancing using a messaging and queuing unit in front of back-end servers |
US6078943A (en) * | 1997-02-07 | 2000-06-20 | International Business Machines Corporation | Method and apparatus for dynamic interval-based load balancing |
US6141701A (en) * | 1997-03-13 | 2000-10-31 | Whitney; Mark M. | System for, and method of, off-loading network transactions from a mainframe to an intelligent input/output device, including off-loading message queuing facilities |
US6230309B1 (en) * | 1997-04-25 | 2001-05-08 | Sterling Software, Inc | Method and system for assembling and utilizing components in component object systems |
US6023578A (en) * | 1997-05-09 | 2000-02-08 | International Business Macines Corporation | Systems, methods and computer program products for generating an object oriented application for an object oriented environment |
US6119143A (en) * | 1997-05-22 | 2000-09-12 | International Business Machines Corporation | Computer system and method for load balancing with selective control |
US5991808A (en) * | 1997-06-02 | 1999-11-23 | Digital Equipment Corporation | Task processing optimization in a multiprocessor system |
US20020035604A1 (en) * | 1997-07-16 | 2002-03-21 | Cohen Andrew R. | Methods for performing client-hosted application sessions in distributed processing systems |
US6411698B1 (en) * | 1997-07-21 | 2002-06-25 | Mci Communication Corporation | System and method for communication between a telephone data repository and downstream data processing applications |
US6070184A (en) * | 1997-08-28 | 2000-05-30 | International Business Machines Corporation | Server-side asynchronous form management |
US6016495A (en) * | 1997-09-19 | 2000-01-18 | International Business Machines Corporation | Object-oriented framework mechanism for providing persistent storage |
US6615258B1 (en) * | 1997-09-26 | 2003-09-02 | Worldcom, Inc. | Integrated customer interface for web based data management |
US6128279A (en) * | 1997-10-06 | 2000-10-03 | Web Balance, Inc. | System for balancing loads among network servers |
US6334114B1 (en) * | 1997-10-31 | 2001-12-25 | Oracle Corporation | Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm |
US6067623A (en) * | 1997-11-21 | 2000-05-23 | International Business Machines Corp. | System and method for secure web server gateway access using credential transform |
US6470364B1 (en) * | 1998-02-24 | 2002-10-22 | Sun Microsystems, Inc. | Method and apparatus for generating text components |
US6311327B1 (en) * | 1998-03-02 | 2001-10-30 | Applied Microsystems Corp. | Method and apparatus for analyzing software in a language-independent manner |
US6148336A (en) * | 1998-03-13 | 2000-11-14 | Deterministic Networks, Inc. | Ordering of multiple plugin applications using extensible layered service provider with network traffic filtering |
US6317786B1 (en) * | 1998-05-29 | 2001-11-13 | Webspective Software, Inc. | Web service |
US6237135B1 (en) * | 1998-06-18 | 2001-05-22 | Borland Software Corporation | Development system with visual design tools for creating and maintaining Java Beans components |
US6185734B1 (en) * | 1998-07-21 | 2001-02-06 | Hewlett-Packard Company | Hierarchical registry structure for managing multiple versions of software components |
US6195680B1 (en) * | 1998-07-23 | 2001-02-27 | International Business Machines Corporation | Client-based dynamic switching of streaming servers for fault-tolerance and load balancing |
US6343265B1 (en) * | 1998-07-28 | 2002-01-29 | International Business Machines Corporation | System and method for mapping a design model to a common repository with context preservation |
US6253230B1 (en) * | 1998-09-22 | 2001-06-26 | International Business Machines Corporation | Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server |
US6367068B1 (en) * | 1998-11-13 | 2002-04-02 | Microsoft Corporation | Dynamic parsing |
US6018730A (en) * | 1998-12-22 | 2000-01-25 | Ac Properties B.V. | System, method and article of manufacture for a simulation engine with a help website and processing engine |
US6360358B1 (en) * | 1999-03-11 | 2002-03-19 | Microsoft Corporation | Maintenance of code knowledge for up-to-date access thereof |
US6233607B1 (en) * | 1999-04-01 | 2001-05-15 | Diva Systems Corp. | Modular storage server architecture with dynamic data management |
US6243737B1 (en) * | 1999-04-09 | 2001-06-05 | Translink Software, Inc. | Method and apparatus for providing direct transaction access to information residing on a host system |
US6445711B1 (en) * | 1999-04-23 | 2002-09-03 | Sony Corporation | Method of and apparatus for implementing and sending an asynchronous control mechanism packet used to control bridge devices within a network of IEEE STD 1394 serial buses |
US6377939B1 (en) * | 1999-05-04 | 2002-04-23 | Metratech | Pipelined method and apparatus for processing communication metering data |
US6292932B1 (en) * | 1999-05-28 | 2001-09-18 | Unisys Corp. | System and method for converting from one modeling language to another |
US20020120685A1 (en) * | 1999-06-01 | 2002-08-29 | Alok Srivastava | System for dynamically invoking remote network services using service descriptions stored in a service registry |
US6594700B1 (en) * | 1999-06-14 | 2003-07-15 | International Business Machines Corporation | System and method for implementing a universal service broker interchange mechanism |
US6408311B1 (en) * | 1999-06-30 | 2002-06-18 | Unisys Corp. | Method for identifying UML objects in a repository with objects in XML content |
US6330569B1 (en) * | 1999-06-30 | 2001-12-11 | Unisys Corp. | Method for versioning a UML model in a repository in accordance with an updated XML representation of the UML model |
US6587959B1 (en) * | 1999-07-28 | 2003-07-01 | Emc Corporation | System and method for addressing scheme for use on clusters |
US6859834B1 (en) * | 1999-08-13 | 2005-02-22 | Sun Microsystems, Inc. | System and method for enabling application server request failover |
US6374297B1 (en) * | 1999-08-16 | 2002-04-16 | International Business Machines Corporation | Method and apparatus for load balancing of web cluster farms |
US6609115B1 (en) * | 1999-12-30 | 2003-08-19 | Ge Medical Systems | Method and apparatus for limited online access to restricted documentation |
US20020010781A1 (en) * | 1999-12-30 | 2002-01-24 | Tuatini Jeffrey Taihana | Shared service messaging models |
US6584454B1 (en) * | 1999-12-31 | 2003-06-24 | Ge Medical Technology Services, Inc. | Method and apparatus for community management in remote system servicing |
US20020049788A1 (en) * | 2000-01-14 | 2002-04-25 | Lipkin Daniel S. | Method and apparatus for a web content platform |
US6594786B1 (en) * | 2000-01-31 | 2003-07-15 | Hewlett-Packard Development Company, Lp | Fault tolerant high availability meter |
US20020004848A1 (en) * | 2000-03-29 | 2002-01-10 | Krishna Sudarshan | System and method of providing an asynchronous interface between a client system and an enterprise javabeans-enabled server |
US6826260B1 (en) * | 2000-03-31 | 2004-11-30 | Alcatel | Method and apparatus for an MLSC state machine |
US20020032769A1 (en) * | 2000-04-28 | 2002-03-14 | Sharon Barkai | Network management method and system |
US6516322B1 (en) * | 2000-04-28 | 2003-02-04 | Microsoft Corporation | XML-based representation of mobile process calculi |
US20020169644A1 (en) * | 2000-05-22 | 2002-11-14 | Greene William S. | Method and system for implementing a management operations center in a global ecosystem of interrelated services |
US20020010803A1 (en) * | 2000-05-25 | 2002-01-24 | Oberstein Brien M. | Method, system and apparatus for establishing, monitoring, and managing connectivity for communication among heterogeneous systems |
US20020073396A1 (en) * | 2000-06-03 | 2002-06-13 | John Crupi | Method and apparatus for developing enterprise applications using design patterns |
US20020194267A1 (en) * | 2000-06-23 | 2002-12-19 | Daniel Flesner | Portal server that provides modification of user interfaces for access to computer networks |
US20020143960A1 (en) * | 2000-08-02 | 2002-10-03 | Erez Goren | Virtual network generation system and method |
US20020174178A1 (en) * | 2000-08-31 | 2002-11-21 | Schneider Automation | Communication system for automation equipment based on the WSDL language |
US20030051066A1 (en) * | 2000-09-01 | 2003-03-13 | Pace Charles P. | Method and system for deploying an asset over a multi-tiered network |
US6560769B1 (en) * | 2000-09-28 | 2003-05-06 | Unisys Corporation | Computer-implemented method for generating a UML representation from JAVA source code |
US20020111922A1 (en) * | 2000-11-06 | 2002-08-15 | Terry Bernard Young | Electronic markets business interchange system and method |
US20020116454A1 (en) * | 2000-12-21 | 2002-08-22 | William Dyla | System and method for providing communication among legacy systems using web objects for legacy functions |
US20020083075A1 (en) * | 2000-12-22 | 2002-06-27 | Tony Brummel | System and method for a seamless user interface for an integrated electronic health care information system |
US20020184610A1 (en) * | 2001-01-22 | 2002-12-05 | Kelvin Chong | System and method for building multi-modal and multi-channel applications |
US20020099579A1 (en) * | 2001-01-22 | 2002-07-25 | Stowell David P. M. | Stateless, event-monitoring architecture for performance-based supply chain management system and method |
US20020161826A1 (en) * | 2001-01-25 | 2002-10-31 | Carlos Arteaga | System and method for remote communication transactions |
US20020152106A1 (en) * | 2001-02-13 | 2002-10-17 | Paul Stoxen | Electronic acquisition system and method |
US20030018963A1 (en) * | 2001-04-10 | 2003-01-23 | International Business Machines Corporation | Installation of a data processing solution |
US20030004746A1 (en) * | 2001-04-24 | 2003-01-02 | Ali Kheirolomoom | Scenario based creation and device agnostic deployment of discrete and networked business services using process-centric assembly and visual configuration of web service components |
US20020194244A1 (en) * | 2001-06-01 | 2002-12-19 | Joan Raventos | System and method for enabling transaction-based service utilizing non-transactional resources |
US20030018832A1 (en) * | 2001-06-01 | 2003-01-23 | Venkat Amirisetty | Metadata-aware enterprise application integration framework for application server environment |
US20020188486A1 (en) * | 2001-06-08 | 2002-12-12 | World Chain, Inc. | Supply chain management |
US20020194495A1 (en) * | 2001-06-14 | 2002-12-19 | Gladstone Philip J.S. | Stateful distributed event processing and adaptive security |
US20030014439A1 (en) * | 2001-06-20 | 2003-01-16 | International Business Machines Corporation | Defining a markup language representation for state chart data |
US20030126136A1 (en) * | 2001-06-22 | 2003-07-03 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
US20030023957A1 (en) * | 2001-07-02 | 2003-01-30 | David Bau | Annotation based development platform for stateful web services |
US20030005181A1 (en) * | 2001-07-02 | 2003-01-02 | David Bau | Annotation based development platform for asynchronous web services |
US20030028364A1 (en) * | 2001-07-10 | 2003-02-06 | Borland Software Corp. | Development assistance for mixed-language sources |
US20030018661A1 (en) * | 2001-07-19 | 2003-01-23 | Darugar Parand Tony | XML smart mapping system and method |
US20030028579A1 (en) * | 2001-08-06 | 2003-02-06 | Kulkarni Vinay Vasant | Process for component-based application development |
US20030043191A1 (en) * | 2001-08-17 | 2003-03-06 | David Tinsley | Systems and methods for displaying a graphical user interface |
US20030046591A1 (en) * | 2001-08-29 | 2003-03-06 | Nader Asghari-Kamrani | Centralized identification and authentication system and method |
US20030055878A1 (en) * | 2001-09-19 | 2003-03-20 | International Business Machines Corporation | Programmatic management of software resources in a content framework environment |
US20030055868A1 (en) * | 2001-09-19 | 2003-03-20 | International Business Machines Corporation | Building distributed software services as aggregations of other services |
US7127507B1 (en) * | 2001-09-27 | 2006-10-24 | Sprint Communications Company L.P. | Method and apparatus for network-level monitoring of queue-based messaging systems |
US20030074217A1 (en) * | 2001-10-12 | 2003-04-17 | International Business Machines Corporation | Resource adapter and integrated development environment |
US20030079029A1 (en) * | 2001-10-18 | 2003-04-24 | Sandilya Garimella | Single system user identity |
US20030084203A1 (en) * | 2001-10-26 | 2003-05-01 | Jun Yoshida | Program control method, computer system, control program, and storage medium storing the control program |
US20030105805A1 (en) * | 2001-11-05 | 2003-06-05 | Jorgenson Daniel Scott | System and method for maintaining consistent independent server-side state among collaborating servers |
US20030110446A1 (en) * | 2001-12-10 | 2003-06-12 | Sun Microsystems, Inc. | Object class for facilitating conversion between Java and XML |
US20030149791A1 (en) * | 2002-02-05 | 2003-08-07 | International Business Machines Corporation | System and method for routing data by a server |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8984119B2 (en) | 2010-11-05 | 2015-03-17 | International Business Machines Corporation | Changing an event identifier of a transient event in an event notification system |
Also Published As
Publication number | Publication date |
---|---|
US20030212834A1 (en) | 2003-11-13 |
US20070156884A1 (en) | 2007-07-05 |
US20070156922A1 (en) | 2007-07-05 |
US7840611B2 (en) | 2010-11-23 |
WO2003094022A1 (en) | 2003-11-13 |
AU2003234335A1 (en) | 2003-11-17 |
US7155438B2 (en) | 2006-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7155438B2 (en) | High availability for event forwarding | |
US20040078440A1 (en) | High availability event topic | |
US7516176B2 (en) | Distributed request and response queues for service processor | |
US7512668B2 (en) | Message-oriented middleware server instance failover | |
US7177917B2 (en) | Scaleable message system | |
US6859834B1 (en) | System and method for enabling application server request failover | |
US7949686B2 (en) | Method and apparatus for scalable transport processing fulfillment system | |
US6879995B1 (en) | Application server message logging | |
EP1212680B1 (en) | Graceful distribution in application server load balancing | |
US6845503B1 (en) | System and method for enabling atomic class loading in an application server environment | |
US8423602B2 (en) | Web service broadcast engine | |
US7526519B2 (en) | High availability application view deployment | |
JPH1027121A (en) | Product related to connection of data base network | |
US7788330B2 (en) | System and method for processing data associated with a transmission in a data communication system | |
JP3860966B2 (en) | Delivery and queuing of certified messages in multipoint publish / subscribe communication | |
EP1952318B1 (en) | Independent message stores and message transport agents | |
Ren et al. | An adaptive algorithm for tolerating value faults and crash failures | |
US20030204775A1 (en) | Method for handling node failures and reloads in a fault tolerant clustered database supporting transaction registration and fault-in logic | |
JP2000200245A (en) | System and method for information utilization | |
CA2597995C (en) | System and method for processing data associated with a transmission in a data communication system | |
Romano et al. | A lightweight and scalable e-Transaction protocol for three-tier systems with centralized back-end database | |
Hough | Persistent Reliable JMS Messaging Integrated Into Voyager's Distributed Application Platform | |
JP2004334723A (en) | Process execution device, process execution managing method, process execution system, and process execution program | |
Munjal | A Highly Available Message Queue | |
JP2007213603A (en) | Process execution management method and process execution program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |