IP Library › Granted Patent US 9,954,720
Granted Patent B2
US 9,954,720 · App. 14/239,472 · Granted Apr 24, 2018

Method and apparatus for determining an event instance

Inventors: Liam Fallon (Athlone, IE); Sajeevan Achuthan (Athlone, IE)
Assignee: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
H04L41/0266H04L41/069H04L41/0686H04L43/06H04L67/2804
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 9,954,720
App. No.
14/239,472
Granted
Apr 24, 2018
Kind
B2
Abstract

A method of determining an event instance in an event driven communications system, the method comprising the steps of: receiving ( 205, 207 ) an event stream, the event stream comprising a plurality of events; retrieving ( 203 ) metadata for each event of the received event stream; instantiating ( 219 ) an event instance for each event of the received event stream based on the retrieved metadata; reading ( 221 ) event data of each event of the received event stream into the instantiated event instance.

Claims (73)

1. A method of determining an event instance in an event driven communications system, the method comprising the steps of:

receiving an event stream, the event stream comprising a plurality of events;

retrieving metadata and an event class name for each event of the received event stream;

instantiating an event instance for each event of the received event stream based on the retrieved metadata and an event class name; and

reading event data of each event of the received event stream into the instantiated event instance, wherein the step of retrieving metadata and an event class name for each event comprises the steps of:

retrieving an identifier of each event of the received event stream;

retrieving metadata from an event metadata library associated with the retrieved identifier of each event of the received event stream; and

retrieving an event class name from an event class library associated with the retrieved identifier of each event of the received event stream.

2. A method according to claim 1 , wherein the step of reading event data of the received event stream into the instantiated event instance comprises:

reading event data of each event into an event base class associated with the retrieved event class name.

3. A method according to claim 1 , wherein the event may comprise different versions of events, and the step of retrieving metadata and an event class name for each event of the received event stream further comprises:

retrieving metadata and an event class name for each event of the received event stream for a version of event.

4. A method according to claim 1 , wherein the method further comprises:

maintaining an event metadata library by:

loading all versions of event metadata)ML files for all event sources and correlations;

extracting metadata from the event metadata XML files; and

updating an event metadata library with the extracted metadata.

5. A method according to claim 4 , wherein the method further comprises:

generating event mappings comprising:

selecting fields from a base event for the event being mapped, the base event comprising all fields of all versions of the event from a source; and

generating the event mapping from the selected fields.

6. A method according to claim 5 , wherein the method further comprises:

generating a base class for each event from each event source and storing the base class in the event class library; and

generating a sub class of the mapped event for every version of the event indicated by the metadata and storing the sub class in the event class library, associated with its corresponding base class.

7. A method according to claim 1 , wherein the method further comprises:

buffering each instantiated event instance; and

publishing a plurality of the buffered instantiated event instances to a distributed event bus.

8. A method according to claim 7 , wherein the method further comprises subscribing to and accessing event instances from the distributed bus.

9. A method according to claim 1 , wherein the method further comprises storing instantiated event instances to a database management system.

10. A method according to claim 1 , wherein the method further comprises forwarding event instances to external systems.

11. A method according to claim 1 , wherein the method further comprises filtering a predetermined type of event from the received event stream prior to the step of retrieving.

12. A method of controlling event-driven communication between a plurality of nodes of a network, the method comprising the steps of:

establishing a session for communication, the session being defined by a plurality of event instances, the event instances being determined by the steps of:

receiving an event stream, the event stream comprising a plurality of events;

retrieving metadata and an event class name for each event of the received event stream;

instantiating an event instance for each event of the received event stream based on the retrieved metadata and event class name; and

reading event data of each event of the received event stream into the instantiated event instance, wherein the step of reading event data of the received event stream into the instantiated event instance comprises:

reading event data of each event into an event base class associated with the retrieved event class name.

13. A method of determining an event instance in an event driven communications system, the method comprising the steps of:

receiving an event stream, the event stream comprising a plurality of events;

retrieving metadata for each event of the received event stream;

instantiating an event instance for each event of the received event stream based on the retrieved metadata;

reading event data of each event of the received event stream into the instantiated event instance, and

correlating at least two of the instantiated events by:

creating correlation rules between the at least two instantiated event instances using the metadata associated with each instantiated event instance; and

generating at least one correlated event instance from the at least two instantiated event instances by applying the created correlation rules.

14. An apparatus for determining an event instance in an event driven communications system, the apparatus comprising:

a receiver configured to receive an event stream, the event stream comprising a plurality of events; and

one or more processors configured to:

retrieve metadata and an event class name from an event metadata library for each event of the received event stream;

instantiate an event instance for each event of the received event stream based on the retrieved metadata;

and read event data of each event of the received event stream into the instantiated event instance,

wherein instantiating an event instance comprises instantiating an event instance for each event of the received event stream based on the retrieved metadata and event class name,

wherein reading event data of the received event stream into the instantiated event instance comprises reading event data of each event into an event base class associated with the retrieved event class name.

15. An apparatus according to claim 14 , wherein the receiver further comprises:

a filter configured to filter a predetermined type of event from the event stream.

16. A communication control module for controlling event-driven communication between a plurality of nodes of a network, the module comprising:

a session control module configured to establish a session for communication between a plurality of nodes, the session being defined by a plurality of event instances;

a receiver configured to receive an event stream, the event stream comprising a plurality of events; and

one or more processors configured to:

retrieve metadata from an event metadata library for each event of the received event stream;

to instantiate said plurality of event instance for each event of the received event stream based on the retrieved metadata; and

read event data of each event of the received event stream into the instantiated event instance.

17. A communication control module according to claim 16 , wherein said one or more processors are further configured to:

correlate at least two of the instantiated events by:

creating correlation rules between the at least two instantiated event instances using the metadata associated with each instantiated event instance; and

generating at least one correlated event instance from the at least two instantiated event instances by applying the created correlation rules.

18. A communication control module according to claim 16 , wherein said one or more processors are further configured to publish a plurality of the instantiated event instances to a distributed event bus.

19. A communication control module according to claim 18 , wherein said one or more processors are further configured to subscribe to and access event instances from the distributed bus.

20. A communication control module according to claim 16 , further comprising:

a buffer configured to store a plurality of the instantiated event instances to a distributed event bus; and wherein the one or more processors are further configured to publish a buffered plurality of instantiated event instances.

21. A communication control module according to claim 16 , wherein said one or more processors are further configured to store instantiated event instances to a database management system.

22. A communication control module according to claim 16 , wherein said one or more processors are further configured to forward event instances to external systems.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2014
From: FALLON, LIAM; ACHUTHAN, SAJEEVAN
To: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
Reel/Frame 033271/0377 →
Continuity (2)
Provisional Application 61524958 · Aug 18, 2011
Related Publication 20140328189A1 · Nov 6, 2014