IP Library Granted Patent US 11,153,413
Granted Patent B2
US 11,153,413 · App. 16/658,424 · Granted Oct 19, 2021

Distributed state recovery in a system having dynamic reconfiguration of participating nodes

Inventor: Dan Leverett Clark (Portland, OR)
Assignee: ARRIS Enterprises LLC
H04L67/42H04L9/0643H04L12/5601H04L43/067H04L63/166H04L63/20H04L67/14H04L2012/5635
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 11,153,413
App. No.
16/658,424
Filed
Oct 21, 2019
Granted
Oct 19, 2021
Kind
B2
Art Unit
2454
USPC
709/203
Abstract

A method for obtaining previously stored session state data for a session between a system having a plurality of nodes and a client device includes obtaining a session identifier specifying the session and hashing the session identifier. A currently valid hash map is searched. The hash map maps a hash of the session identifier to the nodes for a current system configuration. The search is performed to identify a system node on which the session state data for the session is stored. If the session state data is not located using the currently valid hash map, at least one earlier generation hash map that is valid for a previous configuration of the system is searched. Upon identifying the system node on which the session state data is stored, the session state data from the system node is retrieved. The session state data is used to establish the session.

Claims (32)

1. A method for resuming a prior session that has been interrupted between a system having a plurality of nodes and a client device, the prior session having associated session state data, the method comprising:

subsequent to interruption of service in the prior session between a first node and a client device in which the first node delivers a service to the client device, receiving a session resume request from the client device at a second node in the system, the session resume request including information allowing the second node to obtain a session identifier specifying the prior session;

hashing the session identifier;

searching a currently valid hash map that maps a hash of the session identifier to the nodes in the system for a current system configuration, the search being performed to identify a system node on which the session state data for the prior session is stored;

if the session state data is not located using the currently valid hash map, searching at least one earlier generation hash map that is valid for a previous configuration of the system;

upon identifying the system node on which the session state data is stored, retrieving the session state data from the system node; and

using the session state data so that the second node is able to resume delivery of the service to the client device.

2. The method of claim 1 , wherein searching said at least one earlier generation includes sequentially searching earlier generation hash maps from the currently valid hash map back through previous generations of hash maps until the session state data is located.

3. The method of claim 1 , wherein the second node is currently delivering another session to another client device and further comprising storing session state data for said another session using the currently valid hash map.

4. The method of claim 2 , wherein previous generations of the hash map expire and no longer need to searched after expiration of a time-to-live (TTL) for any stored session state data.

5. The method of claim 1 , wherein the session identifier is a universally unique identifier (UUID) that is unique within the system for no more than a specified period of time.

6. The method of claim 1 , wherein the session state data includes sufficient data for the second node to resume the session.

7. The method of claim 1 , wherein the nodes in the system include server resources.

8. The method of claim 1 , wherein the system is a system for delivering ABR streaming content to the client device, each of the nodes of the system including an instance of a manifest manipulator delivering ABR manifests to the client device, wherein the service being delivered to the client device includes delivery of ABR streaming content to the client device.

9. The method of claim 1 , wherein each generation of the hash maps is assigned a generation identifier and a timestamp.

10. The method of claim 1 , wherein the plurality of nodes are grouped into different clusters of nodes and identifying the system node in the system on which the session state data is stored further comprises identifying the second node based in part on a previously established system policy concerning the clusters of nodes.

11. The method of claim 10 , wherein the established system policy dictates that attempts to retrieve stored session state data first attempt to retrieve the stored session state data from a node in a cluster in which the first node is located.

12. The method of claim 1 , wherein the session state data has a shard count greater than 1.

13. The method of claim 12 , wherein identifying the system node includes identifying two or more of the plurality of nodes on each of which a different shard of the session state data is saved and further comprising obtaining each of the different shards of the session state data from the two or more nodes.

14. The method of claim 1 , wherein each of the nodes includes a server resource that deliver services to client devices.

15. A computer-readable storage medium having computer executable instructions for implementing a method for obtaining previously stored session state data for a session between a system having a plurality of nodes and a client device, the method comprising;

obtaining a session identifier specifying the session;

hashing the session identifier;

searching a currently valid hash map that maps a hash of the session identifier to the nodes in the system for a current system configuration, the search being performed to identify a system node on which the session state data for the session is stored;

if the session state data is not located using the currently valid hash map, searching at least one earlier generation hash map that is valid for a previous configuration of the system;

upon identifying the system node on which the session state data is stored, retrieving the session state data from the system node; and

using the session state data to establish the session.

16. The computer-readable medium of claim 15 , wherein the session identifier is obtained and used by a second node in the plurality of nodes in the system.

17. The computer-readable medium of claim 15 , wherein searching said at least one earlier generation includes sequentially searching earlier generation hash maps from the currently valid hash map back through previous generations of hash maps until the session state data is located.

18. The computer-readable medium of claim 16 , wherein the second node is currently delivering another session to another client device and further comprising storing session state data for said another session using the currently valid hash map.

19. The computer-readable medium of claim 15 , wherein previous generations of the hash map expire and no longer need to searched after expiration of a time-to-live (TTL) for any stored session state data.

20. The computer-readable medium of claim 15 , wherein the system is a system for delivering ABR streaming content to the client device, each of the nodes of the system including an instance of a manifest manipulator delivering ABR manifests to the client device, wherein the service being delivered to the client device includes delivery of ABR streaming content to the client device.

Assignments (8)
SECURITY INTEREST Recorded Apr 8, 2026
From: ARRIS ENTERPRISES LLC; RUCKUS IP HOLDINGS LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 075476/0814 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 058843/0712 Recorded Jan 12, 2026
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC; COMMSCOPE NORTH CAROLINA, LLC (F/K/A COMMSCOPE, INC. OF NORTH CAROLINA); COMMSCOPE TECHNOLOGIES LLC
Reel/Frame 074591/0389 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 058875/0449 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC
Reel/Frame 069743/0057 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
ABL SECURITY AGREEMENT Recorded Nov 15, 2021
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058843/0712 →
TERM LOAN SECURITY AGREEMENT Recorded Nov 15, 2021
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058875/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2021
From: CLARK, DAN LEVERETT
To: ARRIS ENTERPRISES LLC
Reel/Frame 055806/0866 →
Continuity (2)
Provisional Application 62747867 · Oct 19, 2018
Related Publication 20200128107A1 · Apr 23, 2020