IP Library Granted Patent US 8,914,809
Granted Patent B1
US 8,914,809 · App. 13/454,492 · Granted Dec 16, 2014

Message broker system and method

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 8,914,809
App. No.
13/454,492
Granted
Dec 16, 2014
Kind
B1
Abstract

A message broker system can include a message broker. The message broker can be configured to receive the message instances output as input message instances, store the input message instances in a message store, alter the structure or content of the input message instances according to a message brokering model to generate output message instances and provide output message instances to one or more downstream processors. According to one embodiment, input message stream processing can be decoupled from output message stream processing by the message broker.

Claims (50)

1. A system of altering message instances comprising:

an input port;

an output port;

a memory;

a processor; and

a non-transitory computer readable medium storing a set of computer instructions executable by the processor to provide:

an input connector to receive input data streams an input data stream;

an output connector to provide an output data stream;

an event agent configured to identify events in the input data stream streams and output message instances containing data corresponding to the events from the input data streams according to a message model;

a message broker configured to:

access a message broker model;

receive the message instances;

store the input message instances in a message store;

generating output message instances according to the message broker model, said generating output message instances comprising performing a message alteration task on a set of input message instances to generate a corresponding output message instance, the message alteration task comprising editing content data from at least one of the set of input message instances, mapping content data of a first message instance having a first input message structure to an output message structure for the corresponding output message instance and concatenating content data from input message instances created from a first data stream and a second data stream;

a thread job manager configured to receive message instances from the event agent and pass the message instances to the message broker;

a process engine configured to execute a process configured for the output message structure on the output message instances to generate the output data stream.

2. The system of claim 1 , further comprising input pipelines for content ingest and output pipelines for content delivery, wherein the second data stream comprises a data stream received prior to the first data stream.

3. The system of claim 1 , wherein the message broker is further configured to concatenate the content data from input message instances created from a first data stream and the second data stream with external data to generate an output message instance.

4. The system of claim 1 , wherein the message broker input message instances have a first tree structure comprising blocks and fields and the output message instances have a second tree structure different than the first tree structure.

5. The system of claim 1 , wherein the message broker is further configured to generate, in the context of a job, the output message instances, wherein the second data input stream was received prior to initiation of the job.

6. The system of claim 1 , further comprising a user interface to allow a user to define the message brokering model.

7. The system of claim 6 , wherein the user interface allows a user to select portions of the first input message structure and portions of a second input message structure to combine into a third message structure.

8. The system of claim 7 , wherein the first input message structure is defined by a first message model and the second input message structure is defined by a second message model.

9. The system of claim 7 , wherein the third message structure is the output message structure.

10. The system of claim 1 , further comprising a scheduler configured to start a new thread to invoke the message alteration task.

11. The system of claim 1 , wherein the thread job manager comprises a thread job manager for a first input thread to manage processing of the first input data stream and a thread job manager for a second input thread to manage a second thread for processing the second input data stream.

12. The system of claim 11 , wherein the message broker performs the alteration task in the context of a third thread.

13. The system of claim 1 , wherein the order of concatenating, editing and mapping is configurable in the message broker model.

14. A method for transforming an input data stream in a first data format to an output data stream of a second format, the method comprising:

providing a message brokering model;

receiving a first input data stream;

receiving a second input data stream;

in a first job thread:

identifying events in the first input data stream and generating a first set of message instances comprising data corresponding to the events from the first input data stream;

providing the first set of message instances to a message broker; in a second job thread:

identifying events in the second input data stream and generating a second set of message instances comprising data corresponding to the events from the second input data stream;

providing the second set of message instance to the message broker; initiating a third thread based on a trigger;

in the third thread:

performing, by the message broker, a message alteration on the first set of message instances and second set of message instances message to generate output message instances by editing content of at least one message instance, mapping content from at least one input message instance from a first input message structure associated with a first type of event to an output message structure for the output message instances and concatenating content from first set of message instances with content from the second set of message instances such that the output message instances comprise content from events identified in the first input data stream and content from events identified in the second input data stream;

generating the output data stream using the output message instances.

15. The method of claim 14 , further comprising:

generating the output data stream through stream processing in a third thread running asynchronously to the first thread.

16. The method of claim 15 , performing the message alteration further comprises concatenating at least one input message instance with external data to generate an output message instance.

17. The method of claim 15 , wherein the first set of input message instances have a first tree structure comprising blocks and fields and the output message instances have a second tree structure different than the first tree structure.

18. The method of claim 15 , further comprising generating, in the context of a job, the output message instances, wherein the second input data stream is received prior to the first input data stream.

19. The method of claim 14 , further invoking the third thread according to a schedule.

20. The method of claim 14 , further comprising:

providing a user interface for defining the message broker model, the user interface representing the first input message structure defined by a first message model and a second input message structure defined by a second message model; and

receiving inputs from a user based on interaction with the user interface, the inputs specifying a portion of the first input message structure and a portion of the second input message structure to combine into a third message structure to define concatenating the content data from input message instances created from a first data stream and a second data stream.

21. The method of claim 20 , wherein the third message structure is the output message structure.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 063559/0628) Recorded Jun 21, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT SA ULC
Reel/Frame 067807/0053 →
SECURITY INTEREST Recorded Aug 30, 2023
From: OPEN TEXT SA ULC
To: THE BANK OF NEW YORK MELLON
Reel/Frame 064761/0256 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT SA ULC
To: BARCLAYS BANK PLC
Reel/Frame 063559/0628 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT SA ULC
To: BARCLAYS BANK PLC
Reel/Frame 063559/0647 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT SA ULC
To: BARCLAYS BANK PLC
Reel/Frame 063559/0758 →
CERTIFICATE OF AMALGAMATION Recorded Aug 30, 2016
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 039872/0662 →
IP BUSINESS SALE AGREEMENT Recorded Aug 30, 2016
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 039872/0605 →
CERTIFICATE OF CONTINUANCE Recorded Aug 30, 2016
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 039986/0689 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2012
From: COHEN, STEFAN DANIEL SANDBERG
To: OPEN TEXT S.A.
Reel/Frame 028160/0950 →