# US 8,788,580 B2 · Event broker for an improved application server platform for telecom-based applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,788,580 B2
- Document ID: US8788580B2
- Status: Granted
- Kind: B2
- Application number: 13/339,287
- Filed: 2011-12-28
- Published: 2012-07-05
- Granted: 2014-07-22
- Earliest claimed: 2010-12-29
- Assignees: Oracle International Corporation
- Applicants: Boris Selitser; Jean Bovet; Eugene Ponomarenko
- Inventors: Boris Selitser; Jean Bovet; Eugene Ponomarenko
- Web page: https://patentgrep.com/patent/US8788580B2

## CPC

- H04L 67/562: Brokering proxy services
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In accordance with various embodiments, a set of features are described for enabling an application server platform for telecom based applications. A system for providing an application server for telecom-based applications can include an application server that includes an event broker distributed across a cluster. The event broker can provide a distributed publish-subscribe mechanism that is a generic interface to all server nodes in the cluster. The event broker filters events with event attributes by way of matching criteria. Additionally, the event broker is used to dispatch events to specific listeners based on certain criteria.

## Claims

### Claim 1

A system for providing an application server for telecom-based applications, said system comprising:
at least one computer, including a computer readable medium and processor;
a plurality of application servers, executing on the at least one computer, organized in a cluster;
a first application server that includes an event broker distributed across the cluster, said event broker providing a distributed publish-subscribe mechanism that is a generic interface to the plurality of application servers in the cluster;
wherein the event broker filters events with event attributes by way of matching criteria;
wherein the event broker is used to dispatch events to specific listeners based on the criteria; and
wherein each application server provides distributed class loading with an OSGi-type of class loading framework, wherein marshalling and un-marshalling classes are sent from one virtual machine (VM) instance with a specific class loader graph to another VM instance with a different class loader graph.

### Claim 2 (depends on 1)

The system of claim 1, wherein the event broker maps protocol-specific communications exposed by a plurality of protocol adapters into asynchronous events to be consumed by application components.

### Claim 3 (depends on 1)

The system of claim 1, wherein the application server provides a set of functionally specific domains which are communicating through the cluster; and
wherein the application server can automatically switch the domain a particular machine is hosting; and
wherein the application server provides a domain image (DI) and the initial provisioning for the domain.

### Claim 4 (depends on 1)

The system of claim 1, wherein each application server in the cluster includes an instance of the event broker.

### Claim 5 (depends on 1)

The system of claim 1, wherein when an event handler registers with the event broker, the event handler stores the event handler and an associated criteria in a criteria table and wherein an event associated with the event handler and a key associated with the criteria table are added to a matching table.

### Claim 6 (depends on 5)

The system of claim 5, wherein when an application publishes an event, the event broker receives the event and matches the event to an event handler using the matching table, and wherein the event broker notifies the event handler of the event.

### Claim 7 (depends on 5)

The system of claim 5, wherein when an application server fails, the event broker is notified that the application server has left the cluster and the event broker removes entries from the criteria table associated with the application server.

### Claim 8

A method for providing an application server for telecom-based applications, comprising:
providing at least one computer, including a computer readable medium and processor;
organizing a plurality of application servers, executing on the at least one computer, in a cluster, wherein the plurality of application servers includes a first application server that includes an event broker distributed across the cluster, said event broker providing a distributed publish-subscribe mechanism that is a generic interface to the plurality of application servers in the cluster;
filtering events, by the event broker, with event attributes by way of matching criteria;
dispatching events, by the event broker, to specific listeners based on the criteria; and
providing distributed class loading with an OSGi-type of class loading framework, wherein marshalling and un-marshalling classes are sent from one virtual machine (VM) instance with a specific class loader graph to another VM instance with a different class loader graph.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
mapping protocol-specific communications exposed by a plurality of protocol adapters into asynchronous events to be consumed by application components.

### Claim 10 (depends on 8)

The method of claim 8, further comprising:
providing a set of functionally specific domains which are communicating through the cluster;
automatically switching the domain a particular machine is hosting; and
wherein the application server provides a domain image (DI) and the initial provisioning for the domain.

### Claim 11 (depends on 8)

The method of claim 8, wherein each application server in the cluster includes an instance of the event broker.

### Claim 12 (depends on 8)

The method of claim 8, wherein when an event handler registers with the event broker, the event handler stores the event handler and an associated criteria in a criteria table and wherein an event associated with the event handler and a key associated with the criteria table are added to a matching table.

### Claim 13 (depends on 12)

The method of claim 12, wherein when an application publishes an event, the event broker receives the event and matches the event to an event handler using the matching table, and wherein the event broker notifies the event handler of the event.

### Claim 14 (depends on 12)

The method of claim 12, wherein when an application server fails, the event broker is notified that the application server has left the cluster and the event broker removes entries from the criteria table associated with the application server.

### Claim 15

A non-transitory computer readable storage medium including instructions stored thereon which, when executed by a computer, cause the computer to perform the steps of:
providing at least one computer, including a computer readable medium and processor;
organizing a plurality of application servers, executing on the at least one computer, in a cluster, wherein the plurality of application servers includes a first application server that includes an event broker distributed across the cluster, said event broker providing a distributed publish-subscribe mechanism that is a generic interface to the plurality of application servers in the cluster;
filtering events, by the event broker, with event attributes by way of matching criteria; and
dispatching events, by the event broker, to specific listeners based on the criteria
providing distributed class loading with an OSGi-type of class loading framework, wherein marshalling and un-marshalling classes are sent from one virtual machine (VM) instance with a specific class loader graph to another VM instance with a different class loader graph.

### Claim 16 (depends on 15)

The non-transitory computer readable storage medium of claim 15, including instructions stored thereon which, when executed by a computer, cause the computer to perform steps further comprising:
mapping protocol-specific communications exposed by a plurality of protocol adapters into asynchronous events to be consumed by application components.

### Claim 17 (depends on 15)

The non-transitory computer readable storage medium of claim 15, including instructions stored thereon which, when executed by a computer, cause the computer to perform steps further comprising:
providing a set of functionally specific domains which are communicating through the cluster;
automatically switching the domain a particular machine is hosting; and
wherein the application server provides a domain image (DI) and the initial provisioning for the domain.

### Claim 18 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein when an event handler registers with the event broker, the event handler stores the event handler and an associated criteria in a criteria table and wherein an event associated with the event handler and a key associated with the criteria table are added to a matching table.

### Claim 19 (depends on 18)

The non-transitory computer readable storage medium of claim 18, wherein when an application publishes an event, the event broker receives the event and matches the event to an event handler using the matching table, and wherein the event broker notifies the event handler of the event.

### Claim 20 (depends on 18)

The non-transitory computer readable storage medium of claim 18, wherein when an application server fails, the event broker is notified that the application server has left the cluster and the event broker removes entries from the criteria table associated with the application server.
