IP Library Granted Patent US 7,155,438
Granted Patent B2
US 7,155,438 · App. 10/293,656 · Granted Dec 26, 2006

High availability for event forwarding

Assignee: BEA Systems, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,155,438
App. No.
10/293,656
Granted
Dec 26, 2006
Kind
B2
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 on 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 the 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.

Claims (54)

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, 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.

2. A system according to claim 1 , further comprising:

a data system adapted to generate an event.

3. A system according to claim 2 , wherein:

said data system is selected from the group consisting of databases, EIS systems, and SAP™ systems.

4. A system according to claim 2 , further comprising:

an event router adapted to receive the event from the data system and forward the event to the cluster of servers.

5. 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.

6. A system according to claim 1 , further comprising:

a listener on each server in the cluster, each listener adapted to listen for the event on each event queue in the cluster.

7. A system according to claim 5 , wherein said listener listens for the event on the event queue using the alias.

8. 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;

creating an alias for 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, wherein the alias abstracts the server location of the determined event queue from a user.

9. A method according to claim 8 , further comprising:

generating the event with a data system.

10. A method according to claim 9 , further comprising:

receiving the event from the data system to an event router and forwarding the event to the cluster of servers.

11. A method according to claim 8 , further comprising:

listening for the event on each event queue in the cluster using a listener on at least one server in the cluster.

12. A method according to claim 8 , further comprising:

listening for the event on each event queue in the cluster using a listener on each server in the cluster.

13. A system, comprising:

means for receiving an event to server in a cluster of servers;

means for determining which server in the cluster contains the event queue with the lightest load;

means for creating an alias for the event queue with the lightest load; and

means for forwarding the event to the event queue with the lightest load and assigning the alias to that event queue, wherein the alias abstracts the server location of the determined event queue from a user.

14. A computer program product for execution by a server computer for high availability event forwarding in an integration system, comprising:

computer code for receiving an event to server in a cluster of servers;

computer code for determining which server in the cluster contains the event queue with the lightest load;

computer code for creating an alias for the event queue with the lightest load; and

computer code for forwarding the event to the event queue with the lightest load and assigning the alias to that event queue, wherein the alias abstracts the server location of the determined event queue from a user.

15. A system for high availability event forwarding in an integration system, comprising:

means for receiving an event to server in a cluster of servers;

means for determining which server in the cluster contains the event queue with the lightest load;

means for creating an alias for the event queue with the lightest load; and

means for forwarding the event to the event queue with the lightest load and assigning the alias to that event queue, wherein the alias abstracts the server location of the determined event queue from a user.

16. A computer system comprising: a processor;

object code executed by said processor, said object code configured to:

receive an event to server in a cluster of servers;

determine which server in the cluster contains the event queue with the lightest load;

create an alias for the event queue with the lightest load; and

forward the event to the event queue with the lightest load and assign the alias to that event queue, wherein the alias abstracts the server location of the determined event queue from a user.

17. A system comprising:

a code segment including instructions to receive an event to server in a cluster of servers;

a code segment including instructions to determine which server in the cluster contains the event queue with the lightest load;

a code segment including instructions to create an alias for the event queue with the lightest load; and

a code segment including instructions to forward the event to the event queue with the lightest load and assign the alias to that event queue, wherein the alias abstracts the server location of the determined event queue from a user.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2010
From: BEA SYSTEMS, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 025192/0244 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2003
From: POTTER, TIM; UPTON, MITCH; GOLDING, CHRISTA
To: BEA SYSTEMS, INC.
Reel/Frame 014180/0093 →
Continuity (2)
Provisional Application 6037696000 · May 1, 2002
Related Publication 20030212834A1 · Nov 13, 2003