IP Library Granted Patent US 11,412,058
Granted Patent B2
US 11,412,058 · App. 16/821,925 · Granted Aug 9, 2022

Distributed data stream programming and processing

Inventor: Sergey Slovetskiy (Bellevue, WA)
Assignee: T-Mobile USA, Inc.
H04L67/2833G06F9/546H04L67/1004H04L67/125H04W72/005
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,412,058
App. No.
16/821,925
Filed
Mar 17, 2020
Granted
Aug 9, 2022
Kind
B2
Art Unit
2444
USPC
709/224
Abstract

Techniques are described herein for distributed data stream programming and processing. The techniques include sending a request indicating one or more regions of a program code to access a stream in a stream pool and to execute on a processing node in a processing nodes pool. The techniques also include accessing the stream defined in the one or more regions of the program code to service the request. Thereafter, the processing node is selected to use for execution of the one or more regions of the program code and the processing node executes one or more instances of the one or more regions of the program code.

Claims (37)

1. One or more non-transitory computer-readable media storing computer-executable instructions that upon execution cause one or more processors to perform acts comprising:

sending a request indicating one or more regions of program code to access a stream in a stream pool and to execute on a processing node in a processing nodes pool, the processing node corresponding to a stream rank of the stream;

accessing the stream defined in the one or more regions of the program code to service the request;

selecting the processing node to use for execution of the one or more regions of the program code based at least on the stream rank of the stream; and

commanding the processing node to execute one or more instances of the one or more regions of the program code.

2. The one or more non-transitory computer-readable media of claim 1 , wherein the one or more regions of the program code comprises a global descriptor corresponding to rank information of the processing node.

3. The one or more non-transitory computer-readable media of claim 1 , wherein the one or more regions of the program code defines a global descriptor corresponding to the stream rank of the stream.

4. The one or more non-transitory computer-readable media of claim 1 , wherein the stream comprises one or more partitions and the one or more regions of the program code define a global descriptor corresponding to the one or more partitions.

5. The one or more non-transitory computer-readable media of claim 4 , wherein the acts further comprise:

accessing the one or more partitions corresponding to the global descriptor to service the request.

6. The one or more non-transitory computer-readable media of claim 1 , wherein the one or more regions of the program code is marked up with language-specific keywords mapping to an application programming interface (API).

7. The one or more non-transitory computer-readable media of claim 1 , wherein the stream rank maps to a topic rank that is associated with a topic; and

selecting the processing node to use for execution of the one or more regions of the program code based at least on the topic specified by the stream rank.

8. A computer-implemented method, comprising:

sending a request indicating one or more regions of a program code to access a stream in a stream pool and to execute on a processing node in a processing nodes pool, the processing node corresponding to a stream rank of the stream;

accessing the stream defined in the one or more regions of the program code to service the request;

selecting the processing node to use for execution of the one or more regions of the program code based at least on the stream rank of the stream; and

commanding the processing node to execute one or more instances of the one or more regions of the program code.

9. The computer-implemented method of claim 8 , wherein the one or more regions of the program code comprises a global descriptor corresponding to a name of the processing node.

10. The computer-implemented method of claim 8 , wherein the processing node is selected to load balance the request.

11. The computer-implemented method of claim 8 , wherein the one or more regions of the program code defines a global descriptor corresponding to a name of the stream.

12. The computer-implemented method of claim 8 , wherein the stream comprises one or more partitions and the one or more regions of the program code define a global descriptor corresponding to the one or more partitions.

13. The computer-implemented method of claim 12 , further comprising:

accessing the one or more partitions corresponding to the global descriptor to service the request.

14. The computer-implemented method of claim 8 , wherein the one or more regions of the program code is marked up with a language-generic pragma code words.

15. A system, comprising:

one or more non-transitory storage mediums configured to provide stored computer-readable instructions, the one or more non-transitory storage mediums coupled to one or more processors, the one or more processors configured to execute the computer-readable instructions to cause the one or more processors to:

send a request indicating one or more regions of a program code to access a stream in a stream pool and to execute on a processing node in a processing nodes pool, the processing node corresponding to a stream rank of the stream;

access the stream defined in the one or more regions of the program code to service the request;

select the processing node to use for execution of the one or more regions of the program code based at least on the stream rank of the stream; and

command the processing node to execute one or more instances of the one or more regions of the program code.

16. The system of claim 15 , wherein the one or more regions of the program code comprises a global descriptor corresponding to a group of processing nodes comprising the processing node.

17. The system of claim 15 , wherein the one or more regions of the program code defines a global descriptor corresponding to a range of stream ranks of the stream.

18. The system of claim 15 , wherein the stream comprises one or more partitions and the one or more regions of the program code define a global descriptor corresponding to the one or more partitions.

19. The system of claim 18 , wherein the instructions further cause the one or more processors to:

access the one or more partitions corresponding to the global descriptor to service the request.

20. The system of claim 15 , wherein the one or more regions of the program code comprises a global descriptor corresponding to a total number of processing nodes in the processing nodes pool.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2022
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: IBSV LLC; LAYER3 TV, LLC; PUSHSPRING, LLC; T-MOBILE CENTRAL LLC; T-MOBILE USA, INC.; ASSURANCE WIRELESS USA, L.P.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; SPRINTCOM LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM LLC
Reel/Frame 062595/0001 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: T-MOBILE USA, INC.; ISBV LLC; T-MOBILE CENTRAL LLC; LAYER3 TV, INC.; PUSHSPRING, INC.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; CLEARWIRE LEGACY LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM L.P.; ASSURANCE WIRELESS USA, L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 053182/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2020
From: SLOVETSKIY, SERGEY
To: T-MOBILE USA, INC.
Reel/Frame 052143/0435 →
Continuity (1)
Related Publication 20210297499A1 · Sep 23, 2021