IP Library Granted Patent US 10,244,038
Granted Patent B2
US 10,244,038 · App. 14/531,775 · Granted Mar 26, 2019

Coordinative datacenter processing in a network-based communication system

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 10,244,038
App. No.
14/531,775
Granted
Mar 26, 2019
Kind
B2
Abstract

The present application details exemplary methods and systems for providing current state information to multiple active datacenters within a network-based communication system. For example, a datacenter can detect an event that occurs within the network-based communication system. Upon detecting the event, the datacenter can update a state table on the datacenter based on state information associated with the event. In addition, the datacenter can send a state information message to other datacenters in the network-based communication system. The state information message can include state information associated with the event. The other datacenters in the network-based communication system can update their respective state tables using the state information in the state information message without needing to individually process the event.

Claims (53)

1. A method comprising:

maintaining, at a first voice over internet protocol (VoIP) datacenter that facilitates setting up communication sessions between VoIP network devices, a first state table comprising a plurality of entries, wherein each entry of the plurality of entries corresponds to a service account and comprises an event type and a data element;

detecting, using at least one processor at the first VoIP datacenter, a first event associated with a first service account and a first event type;

processing, at the first VoIP datacenter, the first event by generating a first data element for the first event type for the first service account;

sending, to a second VoIP datacenter that facilitates setting up communication sessions between VoIP network devices, a first message that comprises the first data element for first event type for the first service account that causes the second VoIP datacenter to update the first service account and the first event type in a second state table at the second VoIP datacenter with the first data element without the second VoIP datacenter processing the first event;

updating, using the at least one processor at the first VoIP datacenter, an entry associated with the first service account and the first event type in the first state table based on the first data element;

receiving, from the second VoIP datacenter based on the second VoIP datacenter generating the second data element by processing a second event associated with the first service account and the first event type, a second message associated with the first service account comprising the first event type and a second data element;

incrementing a message count associated with the second message upon receiving the second message from the VoIP second datacenter;

updating, at the first VoIP datacenter and without processing the second event, the entry associated with the first service account and the first event type in the first state table with the second data element; and

incrementing the message count associated with the second message upon receiving a copy of the second message from a third VoIP datacenter.

2. The method of claim 1 , wherein updating the entry in the first state table for the first service account and the first event type based on the first data element comprises adding the entry associated with the first service account to the first state table, the added entry having the first data element for the first event type.

3. The method of claim 2 , wherein updating the entry in the first state table for the first service account and the first event type based on the second data element comprises removing the entry associated with the first service account and the first event type from the first state table.

4. The method of claim 1 , wherein the first message is configured to update an entry at the second VoIP datacenter associated with the first service account and the first event type within the second state table.

5. The method of claim 1 , wherein the first message is one of an announce message, a replace message, and a withdraw message.

6. The method of claim 1 , further comprising:

sending the second message to a third VoIP datacenter; and

receiving a copy of the second message from the third VoIP datacenter.

7. The method of claim 6 , wherein the second message is sent to the third VoIP datacenter based on the message count associated with the second message being below a threshold count.

8. The method of claim 1 , wherein the second data element comprises a former value and an updated value.

9. The method of claim 8 , further comprising determining whether the former value of the second message matches a current value of the entry associated with the first service account and first event type in the first state table.

10. The method of claim 9 , wherein updating the entry in the first state table for the first service account and the first event type based on the second data element comprises replacing the current value of the entry associated with the first service account and the first event type with the updated value of the second message.

11. A system comprising:

at least one processor; and

at least one non-transitory computer readable storage medium storing instructions thereon that, when executed by the at least one processor, cause the system to:

maintain, at a first voice over internet protocol (VoIP) datacenter that facilitates setting up communication sessions between VoIP network devices, a first state table comprising a plurality of entries, wherein each entry of the plurality of entries corresponds to a service account and comprises an event type and a data element;

detect, at the first VoIP datacenter, a first event associated with a first service account and a first event type;

process, at the first VoIP datacenter, the first event by generating a first data element for the first event type for the first service account;

send, to a second VoIP datacenter that facilitates setting up communication sessions between VoIP network devices, a first message that comprises the first data element for first event type for the first service account that causes the second VoIP datacenter to update the first service account and the first event type in a second state table at the second VoIP datacenter with the first data element without the second VoIP datacenter processing the first event;

update, at the first VoIP datacenter, an entry associated with the first service account and the first event type in the first state table based on the first data element;

receive, from the second VoIP datacenter, a second message associated with the first service account comprising the first event type and a second data element based on the second VoIP datacenter generating the second data element by processing a second event associated with the first service account and the first event type;

increment a message count associated with the second message upon receiving the second message from the VoIP second datacenter;

update, at the first VoIP datacenter and without processing the second event, the entry associated with the first service account and the first event type in the first state table with the second data element; and

increment the message count associated with the second message upon receiving a copy of the second message from a third VoIP datacenter.

12. The system of claim 11 , further comprising instructions that cause the system to:

send the second message to a third VoIP datacenter; and

receive a copy of the second message from the third VoIP datacenter.

13. The system of claim 12 , wherein the second message is sent to the third VoIP datacenter based on the message count associated with the second message being below a threshold count.

14. The system of claim 11 , updating the entry in the first state table for the first service account and the first event type based on the first data element comprises adding the entry associated with the first service account to the first state table, the added entry having the first data element for the first event type.

15. The system of claim 11 , wherein the first message is one of an announce message, a replace message, and a withdraw message.

16. A non-transitory computer readable medium storing instructions that, when executed by at least one processor, cause a computer system to:

maintain, at a first voice over internet protocol (VoIP) datacenter that sets up direct media bridges between VoIP network devices to facilitate communication sessions, a first state table comprising a plurality of entries, wherein each entry of the plurality of entries corresponds to a service account and comprises an event type and a data element;

detect, using at least one processor at the first VoIP datacenter, a first event associated with a first service account and a first event type, wherein the first event occurs outside of the first VoIP datacenter;

process, at the first VoIP datacenter, the first event by generating a first data element for the first event type for the first service account;

send, to a second VoIP datacenter that sets up direct media bridges between VoIP network devices to facilitate communication sessions, a first message that comprises the first data element for first event type for the first service account that causes the second VoIP datacenter to update the first service account and the first event type in a second state table at the second VoIP datacenter with the first data element without the second VoIP datacenter processing the first event;

update, using the at least one processor at a first VoIP datacenter, an entry associated with the first service account and the first event type in the first state table based on the first data element;

receive, from the second VoIP datacenter, a second message associated with the first service account comprising the first event type and a second data element based on the second VoIP datacenter generating the second data element by processing a second event associated with the first service account and the first event type;

increment a message count associated with the second message upon receiving the second message from the VoIP second datacenter;

update, at a first VoIP datacenter and without processing the second event, the entry associated with the first service account and the first event type in the first state table with the second data element; and

increment the message count associated with the second message upon receiving a copy of the second message from a third VoIP datacenter.

17. The non-transitory computer readable medium of claim 16 , wherein updating the entry in the first state table for the first service account and the first event type based on the first data element comprises adding the entry associated with the first service account to the first state table, the added entry having the first data element for the first event type.

18. The non-transitory computer readable medium of claim 17 , wherein updating the entry in the first state table for the first service account and the first event type based on the second data element comprises removing the entry associated with the first service account and the first event type from the first state table.

19. The non-transitory computer readable medium of claim 16 , wherein the first message is configured to update an entry at the second VoIP datacenter associated with the first service account and the first event type within the second state table.

20. The non-transitory computer readable medium method of claim 16 , wherein the first message is one of an announce message, a replace message, and a withdraw message.

Assignments (15)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 053666/0956) Recorded Mar 15, 2024
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: GOTO COMMUNICATIONS, INC. (F/K/A JIVE COMMUNICATIONS, INC.)
Reel/Frame 066800/0104 →
SECURITY INTEREST Recorded Feb 16, 2024
From: GOTO COMMUNICATIONS, INC.; GOTO GROUP, INC.; LASTPASS US LP
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS THE NOTES COLLATERAL AGENT
Reel/Frame 066614/0355 →
SECURITY INTEREST Recorded Feb 16, 2024
From: GOTO COMMUNICATIONS, INC.,; GOTO GROUP, INC., A; LASTPASS US LP,
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS THE NOTES COLLATERAL AGENT
Reel/Frame 066614/0402 →
SECURITY INTEREST Recorded Feb 7, 2024
From: GOTO GROUP, INC.,; GOTO COMMUNICATIONS, INC.; LASTPASS US LP
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 066508/0443 →
CHANGE OF NAME Recorded Apr 15, 2022
From: JIVE COMMUNICATIONS, INC.
To: LOGMEIN COMMUNICATIONS, INC.
Reel/Frame 059723/0173 →
CHANGE OF NAME Recorded Apr 15, 2022
From: LOGMEIN COMMUNICATIONS, INC.
To: GOTO COMMUNICATIONS, INC.
Reel/Frame 059723/0622 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS (SECOND LIEN) Recorded Feb 16, 2021
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: LOGMEIN COMMUNICATIONS, INC.
Reel/Frame 055306/0220 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: JIVE COMMUNICATIONS, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 053666/0956 →
NOTES LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: JIVE COMMUNICATIONS, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 053666/0970 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: JIVE COMMUNICATIONS, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 053667/0009 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 045954/0060 Recorded Aug 31, 2020
From: JPMORGAN CHASE BANK, N.A.
To: JIVE COMMUNICATIONS, INC.
Reel/Frame 053650/0944 →
SECURITY INTEREST Recorded May 31, 2018
From: JIVE COMMUNICATIONS, INC.
To: JPMORGAN CHASE BANK, N.A., ADMINISTRATIVE AGENT
Reel/Frame 045954/0060 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY COLLATERAL AT REEL/FRAME NO. 035759/0382 Recorded May 23, 2018
From: SILICON VALLEY BANK
To: JIVE COMMUNICATIONS, INC.
Reel/Frame 046220/0335 →
SECURITY INTEREST Recorded Jun 2, 2015
From: JIVE COMMUNICATIONS, INC.
To: SILICON VALLEY BANK
Reel/Frame 035759/0382 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2014
From: ZOURZOUVILLYS, THEO PETER
To: JIVE COMMUNICATIONS, INC.
Reel/Frame 034093/0669 →