IP Library Granted Patent US 12,039,326
Granted Patent B2
US 12,039,326 · App. 17/279,808 · Granted Jul 16, 2024

Cloud-based computer with runtime-mapped software versions

Inventors: Rajeshwari Zala (Sunnyvale, CA); Rajul Harkishan Vora (San Jose, CA)
Assignee: Ruckus IP Holdings LLC
G06F8/71H04L47/2441H04L47/2491H04L61/5014
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 12,039,326
App. No.
17/279,808
Filed
Mar 25, 2021
Granted
Jul 16, 2024
Kind
B2
Examiner
UNG, LANNY N
Art Unit
2191
USPC
717/121
Abstract

A computer that dynamically maps traffic to different versions of software is described. During operation, the computer may receive first traffic from a first tenant and second traffic from a second tenant, where the first traffic and the second traffic are addressed to a common computing environment that supports multiple, different tenants. Then, the computer may identify the first tenant based at least in part on first information included in the first traffic, and may identify the second tenant based at least in part on second information included in the second traffic. Moreover, the computer may dynamically map the first traffic to a first version of software and the second traffic to a second version of the software, where the dynamic mapping occurs at runtime. Note that the computer may concurrently execute the first version of the software and the second version of the software.

Claims (46)

1. A computer, comprising:

an interface circuit configured to communicate with a first electronic device associated with a first tenant and a second electronic device associated with a second tenant;

a processor; and

memory configured to store program instructions, wherein, when executed by the processor, the program instructions cause the computer to perform operations comprising:

receiving first traffic associated with the first electronic device and second traffic associated with the second electronic device, wherein the first traffic and the second traffic are addressed to a common computing environment that supports multiple, different tenants, and wherein the multiple, different tenants are customers of a provider associated with the computer;

identifying the first tenant based at least in part on first information included in the first traffic, and the second tenant based at least in part on second information included in the second traffic;

dynamically mapping the first traffic to a first version of software and the second traffic to a second version of the software, wherein the dynamic mapping occurs at runtime;

receiving, associated with the second electronic device, feedback about the second version of the software; and

based at least in part on the feedback, releasing the second version of the software to the multiple tenants, wherein multiple versions of the software, including the first version of the software and the second version of the software, are concurrently released to different tenants at runtime, and

wherein, when a given tenant in the tenants decides to transition between versions of the software, the dynamic mapping provides a seamless transition in less time than is need for the given tenant to perform a software update to transition between the different versions of the software.

2. The computer of claim 1 , wherein the dynamic mapping comprises injecting, adding or setting a bit or a flag in a header in a given packet or a given frame in the first traffic or the second traffic.

3. The computer of claim 1 , wherein a given tenant comprises one or more customers.

4. The computer of claim 1 , wherein given information in the first information or the second information comprises an identifier associated with a given tenant.

5. The computer of claim 4 , wherein the identifier comprises: a media access control (MAC) address, an Internet Protocol (IP) address, a tenant identifier, or tenant or customer qualifying information.

6. The computer of claim 4 , wherein the given information is included in a header in a given packet or a given frame in the first traffic or the second traffic.

7. The computer of claim 1 , wherein the operations comprise:

receiving, from the first electronic device, additional traffic; and

dynamically mapping the additional traffic to the second version of the software.

8. The computer of claim 1 , wherein the dynamic mapping is based at least in part on predefined preferences or acceptance information of the first tenant and the second tenant.

9. The computer of claim 8 , wherein the predefined preferences or acceptance information comprises the second tenant agreeing or opted-in to using the second version of the software.

10. The computer of claim 1 , wherein the operations comprise running or executing the first version of the software and the second version of the software concurrently.

11. A non-transitory computer-readable storage medium for use in conjunction with a computer, the computer-readable storage medium storing program instructions that, when executed by the computer, cause the computer to perform operations comprising:

receiving first traffic associated with a first tenant and second traffic associated with a second tenant, wherein the first traffic and the second traffic are addressed to a common computing environment that supports multiple, different tenants, and wherein the multiple, different tenants are customers of a provider associated with the computer;

identifying the first tenant based at least in part on first information included in the first traffic, and the second tenant based at least in part on second information included in the second traffic;

dynamically mapping the first traffic to a first version of software and the second traffic to a second version of the software, wherein the dynamic mapping occurs at runtime;

receiving, associated with a second electronic device that is associated with the second tenant, feedback about the second version of the software; and

based at least in part on the feedback, releasing the second version of the software to the multiple tenants, wherein multiple versions of the software, including the first version of the software and the second version of the software, are concurrently released to different tenants at runtime, and

wherein, when a given tenant in the tenants decides to transition between versions of the software, the dynamic mapping provides a seamless transition in less time than is need for the given tenant to perform a software update to transition between the different versions of the software.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the dynamic mapping comprises injecting, adding or setting a bit or a flag in a header in a given packet or a given frame in the first traffic or the second traffic.

13. The non-transitory computer-readable storage medium of claim 11 , wherein given information in the first information or the second information comprises an identifier associated with a given tenant.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the operations comprise:

receiving, from the first tenant, additional traffic; and

dynamically mapping the additional traffic to the second version of the software.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the dynamic mapping is based at least in part on predefined preferences or acceptance information of the first tenant and the second tenant.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the predefined preferences or acceptance information comprises the second tenant agreeing or opted-in to using the second version of the software.

17. The non-transitory computer-readable storage medium of claim 11 , wherein the operations comprise running or executing the first version of the software and the second version of the software concurrently.

18. A method for dynamically mapping traffic to different versions of software, comprising:

by a computer:

receiving first traffic associated with a first tenant and second traffic associated with a second tenant, wherein the first traffic and the second traffic are addressed to a common computing environment that supports multiple, different tenants, and wherein the multiple, different tenants are customers of a provider associated with the computer;

identifying the first tenant based at least in part on first information included in the first traffic, and the second tenant based at least in part on second information included in the second traffic;

dynamically mapping the first traffic to a first version of software and the second traffic to a second version of the software, wherein the dynamic mapping occurs at runtime;

receiving, associated with a second electronic device that is associated with the second tenant, feedback about the second version of the software; and

based at least in part on the feedback, releasing the second version of the software to the multiple tenants, wherein multiple versions of the software, including the first version of the software and the second version of the software, are concurrently released to different tenants at runtime, and

wherein, when a given tenant in the tenants decides to transition between versions of the software, the dynamic mapping provides a seamless transition in less time than is need for the given tenant to perform a software update to transition between the different versions of the software.

19. The method of claim 18 , wherein the dynamic mapping is based at least in part on predefined preferences or acceptance information of the first tenant and the second tenant.

20. The method of claim 19 , wherein the predefined preferences or acceptance information comprises the second tenant agreeing or opted-in to using the second version of the software.

Assignments (10)
PARTIAL TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 2, 2026
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: RUCKUS IP HOLDINGS LLC
Reel/Frame 075892/0107 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2024
From: ARRIS ENTERPRISES LLC
To: RUCKUS IP HOLDINGS LLC
Reel/Frame 066399/0561 →
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 Jul 3, 2021
From: ZALA, RAJESHWARI; VORA, RAJUL HARKISHAN
To: ARRIS ENTERPRISES LLC
Reel/Frame 056749/0031 →
Continuity (2)
Provisional Application 63003018 · Mar 31, 2020
Related Publication 20220308863A1 · Sep 29, 2022