IP Library Granted Patent US 8,825,779
Granted Patent B2
US 8,825,779 · App. 13/364,673 · Granted Sep 2, 2014

Systems and methods of real-time data subscription and reporting for telecommunications systems and devices

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,825,779
App. No.
13/364,673
Granted
Sep 2, 2014
Kind
B2
Abstract

Systems and methods of performing real-time data subscription and reporting for telecommunications systems and devices. The systems and methods employ a real-time data aggregation component that can manage subscription requests for real-time data objects stored on the telecommunications systems and devices from one or more users over a network, dynamically start and stop such subscription requests, cache the requested real-time data objects, and supply the real-time data to the respective users. By employing the real-time data aggregation component to handle such subscription requests for data from one or more users, the systems and methods can supply such data, including real-time data, to the respective users, while reducing the overhead on the telecommunications systems and devices and increasing overall system performance.

Claims (85)

1. A real-time data subscription and reporting system for telecommunications systems and devices, the real-time data subscription and reporting system being communicably coupleable, over at least one network, to at least one first user client and at least one first telecommunications system or device, the real-time data subscription and reporting system comprising:

a real-time data aggregation component including a cache memory, the real-time data aggregation component being operative:

in response to receipt of at least one first request for the real-time data from the first user client, to send at least one subscription start message for the real-time data to the first telecommunications system or device;

to receive, at a first predetermined time interval, the real-time data from the first telecommunications system or device;

to store the real-time data in the cache memory;

in response to receipt, at a second predetermined time interval, of at least one second request for the real-time data from the first user client, to send, substantially immediately in response to the second request for the real-time data, the real-time data from the cache memory to the first user client;

to determine a time of a last request for the real-time data;

to determine a time of a last update to the real-time data;

to determine whether to send at least one subscription stop message for the real-time data to the first telecommunications system or device based at least on a comparison of the time of the last request and the time of the last update; and

in the event it is determined to send at least one subscription stop message for the real-time data, to send the at least one subscription stop message for the real-time data to the first telecommunications system or device.

2. The real-time data subscription and reporting system of claim 1 wherein the real-time data aggregation component is further operative to receive at least one update to the real-time data from the first telecommunications system or device, in response to at least one change in the real-time data.

3. The real-time data subscription and reporting system of claim 1 wherein the real-time data includes first data on a first data object and second data on a second data object, and wherein the real-time data aggregation component is further operative:

to send at least one first subscription start message for the first data object to the first telecommunications system or device; and

to send at least one second subscription start message for the second data object to a second telecommunications system or device.

4. The real-time data subscription and reporting system of claim 3 wherein the real-time data aggregation component is further operative:

to receive the first data on the first data object from the first telecommunications system or device; and

to receive the second data on the second data object from the second telecommunications system or device.

5. The real-time data subscription and reporting system of claim 4 wherein the real-time data aggregation component is further operative to store the first data on the first data object, and the second data on the second data object, in the cache memory.

6. The real-time data subscription and reporting system of claim 1 wherein the real-time data aggregation component is further operative to generate at least one list of user clients that have made at least one request for the real-time data, the list of user clients including the first user client.

7. The real-time data subscription and reporting system of claim 6 wherein the real-time data aggregation component is further operative, after having received no further request for the real-time data for a predetermined period of time, to remove the first user client from the list of user clients.

8. The real-time data subscription and reporting system of claim 7 wherein the real-time data aggregation component is further operative, in the event all user clients have been removed from the list of user clients, to send the subscription stop message to the first telecommunications system or device.

9. The real-time data subscription and reporting system of claim 1 wherein the real-time data aggregation component is further operative:

to receive at least one request for a first portion of data on a first data object from the first user client; and

to receive at least one request for a second portion of data on the first data object from a second user client.

10. The real-time data subscription and reporting system of claim 9 wherein the real-time data aggregation component is further operative:

to consolidate the requests for the first portion of data and the second portion of data on the first data object into a consolidated subscription start message for the first and second portions of data on the first data object; and

to send the consolidated subscription start message to the first telecommunications system or device.

11. The real-time data subscription and reporting system of claim 10 wherein the real-time data aggregation component is further operative to consolidate at least one list of user clients that have made at least one request for the first and second portions of data on the first data object into a consolidated list of user clients, the consolidated list of user clients including the first user client and the second user client.

12. The real-time data subscription and reporting system of claim 11 wherein the real-time data aggregation component is further operative, after having received no further requests for the first and second portions of data on the first data object for a predetermined period of time, to remove one or both of the first user client and the second user client from the consolidated list of user clients.

13. The real-time data subscription and reporting system of claim 12 wherein the real-time data aggregation component is further operative:

in the event all user clients have been removed from the consolidated list of user clients, to consolidate the no further requests for the first and second portions of data on the first data object into a consolidated subscription stop message; and

to send the consolidated subscription stop message for the first and second portions of data on the first data object to the first telecommunications system or device.

14. The real-time data subscription and reporting system of claim 1 wherein the real-time data aggregation component is further operative:

to send the subscription start message for the real-time data to the first telecommunications system or device, the subscription start message including a timeout value for the first telecommunications system or device; and

prior to expiration of the timeout value, to receive the real-time data from the first telecommunications system or device.

15. A real-time data subscription and reporting system for telecommunications systems and devices, the real-time data subscription and reporting system being communicably coupleable, over at least one network, to at least one first user client and at least one first telecommunications system or device, the real-time data subscription and reporting system comprising:

a real-time data aggregation component including a cache memory, the real-time data aggregation component being operative:

in response to receipt of at least one first request for the real-time data from the first user client, to send at least one subscription start message for the real-time data to the first telecommunications system or device;

to receive, at a first predetermined time interval, the real-time data from the first telecommunications system or device;

to store the real-time data in the cache memory;

in response to receipt, at a second predetermined time interval, of at least one second request for the real-time data from the first user client, to send, substantially immediately in response to the second request for the real-time data, the real-time data from the cache memory to the first user client;

to determine a time of a last request for the real-time data;

to determine a time of a last update to the real-time data;

to obtain a difference between the time of the last update to the real-time data, and the time of the last request for the real-time data; and

in the event the difference between the time of the last update to the real-time data and the time of the last request for the real-time data exceeds a predetermined threshold value, to send the subscription stop message to the first telecommunications system or device.

16. A method of providing real-time data subscription and reporting for telecommunications systems and devices, comprising the steps of:

in response to receipt of at least one first request for real-time data from a first user client, sending, by a real-time data aggregation component including a cache memory, at least one subscription start message for the real-time data to a first telecommunications system or device;

receiving, at a first predetermined time interval at the real-time data aggregation component, the real-time data from the first telecommunications system or device;

storing, by the real-time data aggregation component, the real-time data in the cache memory;

in response to receipt, at a second predetermined time interval, of at least one second request for the real-time data from the first user client, sending, by the real-time data aggregation component substantially immediately in response to the second request for the real-time data, the real-time data from the cache memory to the first user client;

determining, by the real-time data aggregation component, a time of a last request for the real-time data;

determining, by the real-time data aggregation component, a time of a last update to the real-time data;

determining, by the real-time data aggregation component, whether to send at least one subscription stop message for the real-time data to the first telecommunications system or device based at least on a comparison of the time of the last request and the time of the last update; and

in the event it is determined to send at least one subscription stop message for the real-time data, sending, by the real-time data aggregation component, the at least one subscription stop message for the real-time data to the first telecommunications system or device.

17. The method of claim 16 further comprising:

generating, by the real-time data aggregation component, at least one list of user clients that have made at least one request for the real-time data, the list of user clients including the first user client.

18. The method of claim 17 further comprising:

after having received no further request for the real-time data for a predetermined period of time, removing, by the real-time data aggregation component, the first user client from the list of user clients.

19. The method of claim 18 further comprising:

in the event all user clients have been removed from the list of user clients, sending, by the real-time data aggregation component, the subscription stop message to the first telecommunications system or device.

20. The method of claim 16 further comprising:

receiving, at the real-time data aggregation component, at least one request for a first portion of data on a first data object from the first user client; and

receiving, at the real-time data aggregation component, at least one request for a second portion of data on the first data object from a second user client.

21. The method of claim 20 further comprising:

consolidating, by the real-time data aggregation component, the requests for the first portion of data and the second portion of data on the first data object into a consolidated subscription start message for the first and second portions of data on the first data object; and

sending, by the real-time data aggregation component, the consolidated subscription start message to the first telecommunications system or device.

22. The method of claim 21 further comprising:

consolidating, by the real-time data aggregation component, at least one list of user clients that have made at least one request for the first and second portions of data on the first data object into a consolidated list of user clients, the consolidated list of user clients including the first user client and the second user client.

23. The method of claim 22 further comprising:

after having received no further requests for the first and second portions of data on the first data object for a predetermined period of time, removing, by the real-time data aggregation component, one or both of the first user client and the second user client from the consolidated list of user clients.

24. The method of claim 23 further comprising:

in the event all user clients have been removed from the consolidated list of user clients, consolidating, by the real-time data aggregation component, the no further requests for the first and second portions of data on the first data object into a consolidated subscription stop message; and

sending, by the real-time data aggregation component, the consolidated subscription stop message for the first and second portions of data on the first data object to the first telecommunications system or device.

25. The method of claim 16 further comprising:

sending, by the real-time data aggregation component, the subscription start message for the real-time data to the first telecommunications system or device, the subscription start message including a timeout value for the first telecommunications system or device; and

prior to expiration of the timeout value, receiving, at the real-time data aggregation component, the real-time data from the first telecommunications system or device.

26. A method of providing real-time data subscription and reporting for telecommunications systems and devices, comprising the steps of:

in response to receipt of at least one first request for real-time data from a first user client, sending, by a real-time data aggregation component including a cache memory, at least one subscription start message for the real-time data to a first telecommunications system or device;

receiving, at a first predetermined time interval at the real-time data aggregation component, the real-time data from the first telecommunications system or device;

storing, by the real-time data aggregation component, the real-time data in the cache memory;

in response to receipt, at a second predetermined time interval, of at least one second request for the real-time data from the first user client, sending, by the real-time data aggregation component substantially immediately in response to the second request for the real-time data, the real-time data from the cache memory to the first user client;

determining, by the real-time data aggregation component, a time of a last request for the real-time data;

determining by the real-time data aggregation component, a time of a last update to the real-time data;

obtaining, by the real-time data aggregation component, a difference between the time of the last update to the real-time data, and the time of the last request for the real-time data; and

in the event the difference between the time of the last update to the real-time data and the time of the last request for the real-time data exceeds a predetermined threshold value, sending, by the real-time data aggregation component, the subscription stop message to the first telecommunications system or device.

Assignments (5)
SECURITY AGREEMENT Recorded Jun 30, 2015
From: DIALOGIC (US) INC.; DIALOGIC INC.; DIALOGIC US HOLDINGS INC.; DIALOGIC DISTRIBUTION LIMITED; DIALOGIC MANUFACTURING LIMITED; DIALOGIC CORPORATION; DIALOGIC GROUP INC.
To: SILICON VALLEY BANK
Reel/Frame 036037/0165 →
RELEASE OF SECURITY INTEREST Recorded Nov 25, 2014
From: OBSIDIAN, LLC
To: DIALOGIC CORPORATION, F/K/A EICON NETWORKS CORPORATION; DIALOGIC INC.; DIALOGIC (US) INC., F/K/A DIALOGIC INC. AND F/K/A EICON NETWORKS INC.; DIALOGIC DISTRIBUTION LIMITED, F/K/A EICON NETWORKS DISTRIBUTION LIMITED; DIALOGIC MANUFACTURING LIMITED, F/K/A EICON NETWORKS MANUFACTURING LIMITED; DIALOGIC US HOLDINGS INC.; DIALOGIC RESEARCH INC., F/K/A EICON NETWORKS RESEARCH INC.; DIALOGIC JAPAN, INC., F/K/A CANTATA JAPAN, INC.; CANTATA TECHNOLOGY, INC.; EAS GROUP, INC.; SHIVA (US) NETWORK CORPORATION; EXCEL SWITCHING CORPORATION; EXCEL SECURITIES CORPORATION; CANTATA TECHNOLOGY INTERNATIONAL, INC.; BROOKTROUT NETWORKS GROUP, INC.; BROOKTROUT TECHNOLOGY, INC.; SNOWSHORE NETWORKS, INC.; BROOKTROUT SECURITIES CORPORATION
Reel/Frame 034468/0654 →
SUPPLEMENTAL PATENT INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 1, 2013
From: DIALOGIC INC.; DIALOGIC CORPORATION; DIALOGIC NETWORKS (ISRAEL) LTD
To: OBSIDIAN, LLC
Reel/Frame 029734/0863 →
SUPPLEMENTAL INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Mar 26, 2012
From: DIALOGIC INC.; DIALOGIC CORPORATION; DIALOGIC NETWORKS (ISRAEL) LTD.
To: OBSIDIAN, LLC, AS COLLATERAL AGENT
Reel/Frame 027931/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2012
From: ZHANG, XINGGUO; KUMAR, NITESH; ZHU, YIMIN; ATLURI, SUDHEERA; DUKKA, PARTHASARATHI
To: DIALOGIC INC.
Reel/Frame 027643/0031 →