Systems and methods for event routing and correlation

US9807143B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9807143-B2
Application numberUS-201414450771-A
CountryUS
Kind codeB2
Filing dateAug 4, 2014
Priority dateAug 4, 2014
Publication dateOct 31, 2017
Grant dateOct 31, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A collaboration environment provides a generic event distributing framework that can distribute both synchronous and asynchronous events. The distributed events may be pre-defined or dynamically defined. Further, the framework can support multiple data formats for the event payload. The collaboration environment relies on two separate APIs to separate event producers from event consumers.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for providing an event in a collaboration environment, the method comprising: a first application programming interface (API), executed by a processor: receiving a communication from a first device associated with the event from a producer; translating the event from a first language into a general language; sending the event to a collaboration bus; the processor: determining if a first listener has subscribed to the event by identifying a subscription to the event; providing an indication to a second API as to whether the first listener has subscribed to the event; retrieving a list of synchronous listeners, wherein the list includes at least the first listener and a second listener, wherein each listener in the list receives the event in an order provided by the list; if the first listener has subscribed to the event and if the event is synchronous: the second API, executed by the processor: receiving the event from the collaboration bus; receiving the indication from the processor as to whether the first listener has subscribed to the event; if the first listener has subscribed to the event, translating the event from the general language into a second language; sending the event to a second device associated with the first listener; receiving a first response from the first listener, wherein the first response includes a change to the event; incorporating the change into the event; and the processor: sending the event with the incorporated change to the second listener; determining if the event is synchronous; and if a third listener indicates that the third listener wants to receive the event asynchronously, sending the event to the third listener as an asynchronous event. 2. The method as defined in claim 1 , further comprising: receiving an event description for the event; and receiving the subscription to the event. 3. The method as defined in claim 2 , wherein a subscriber services module determines if the first listener has subscribed to the event by identifying the subscription to the event in a database. 4. The method as defined in claim 3 , wherein the processor sends the event with the change to the second listener through a third API. 5. The method as defined in claim 3 , further comprising, if the event is asynchronous, the second API sending the event to a first listener and a second listener substantially simultaneously. 6. The method as defined in claim 5 , wherein the event is communicated with one of a SIP protocol or an HTTP protocol. 7. A collaboration environment comprising: a memory; a processor in communication with the memory, the processor operable to execute: a first application programming interface (API), the first API operable to: receive an event from a producer; translate the event from a first language into a general language; send the event to a collaboration bus; a subscriber services module operable to: determine if a first listener has subscribed to the event by identifying a subscription to the event; provide an indication to the second API as to whether the first listener has subscribed to the event; a second API operable to: retrieve a list of synchronous listeners, wherein the list includes at least the first listener and a second listener, wherein each listener in the list receives the event in an order provided by the list; receive the event from the collaboration bus; receive the indication from the subscriber services module as to whether the first listener has subscribed to the event; if the first listener has subscribed to the event, translate the event from the general language into a second language; send the event to the first listener; receive a first response from the first listener, wherein the first response includes a change to the event; incorporate the change into the event; send the event with the incorporated change to the second listener; determine if the event is synchronous; and if a third listener indicates that the third listener wants to receive the event asynchronously, send the event to the third listener as an asynchronous event. 8. The collaboration environment as defined in claim 7 , wherein the subscriber services module operable to determine if the second listener has subscribed to the event. 9. The collaboration environment as defined in claim 7 , wherein the second API is further operable to: if the event is asynchronous, send the event to a first listener and a second listener substantially simultaneously. 10. A non-transitory computer readable medium having stored thereon processor executable instructions that cause a computing system to execute a method, the instructions comprising: instructions to execute a first application programming interface (API), the first API comprising: instructions to receive an event from a producer; instructions to translate the event from a first language into a general language; instructions to send the event to a collaboration bus; instructions to execute a subscriber services module, the subscriber services module comprising: instructions to receive a subscription to an event from a first listener; instructions to determine if the first listener has subscribed to the event by identifying the subscription to the event; instructions to provide an indication to a second API as to whether the first listener has subscribed to the event; instructions to execute the second API, the second API comprising: instructions to retrieve a list of synchronous listeners, wherein the list includes at least the first listener and a second listener, wherein each listener in the list receives the event in an order provided by the list; instructions to receive the event from the collaboration bus; instructions to receive the indication from the subscriber services module as to whether the first listener has subscribed to the event; if the first listener has subscribed to the event, instructions to translate the event from the general language into a second language; instructions to send the event to the first listener; instructions to receive a first response from the first listener, wherein the first response includes a change to the event; instructions to incorporate the change into the event; instructions to send the event with the incorporated change to the second listener instructions to determine if the event is synchronous; and if a third listener indicates that the third listener wants to receive the event asynchronously, instructions to send the event to the third listener as an asynchronous event. 11. The computer readable medium as defined in claim 10 , further comprising: instructions to determine if the event is synchronous; and if the event is asynchronous, instructions to send the event to a first listener and a second listener substantially simultaneously. 12. The computer readable medium as defined in claim 10 , wherein the event is communicated with one of a SIP protocol or an HTTP protocol. 13. The computer readable medium as defined in claim 10 , further comprising instructions to apply a filter for the first listener or the second listener to determine if the first listener or the second listener needs to receive the event.

Assignees

Inventors

Classifications

  • H04L67/02Primary

    based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • Arrangements for multi-party communication, e.g. for conferences (data switching systems for conference H04L12/18; arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities H04M3/56; television conferencing systems H04N7/15) · CPC title

  • Electricity · mapped topic

  • Office automation; Time management · CPC title

  • Supplementary features, e.g. call forwarding or call holding (systems providing special services or facilities to telephony subscribers H04M3/42) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9807143B2 cover?
A collaboration environment provides a generic event distributing framework that can distribute both synchronous and asynchronous events. The distributed events may be pre-defined or dynamically defined. Further, the framework can support multiple data formats for the event payload. The collaboration environment relies on two separate APIs to separate event producers from event consumers.
Who is the assignee on this patent?
Avaya Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/02. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Oct 31 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).