IP Library › Granted Patent US 11,294,688
Granted Patent B2
US 11,294,688 · App. 16/622,482 · Granted Apr 5, 2022

Parallel information processing on multi-core computing platforms

Inventors: Amir Krayden (Even Yehuda, IL); Yuval Moshe (Tirat Carmel, IL); Anton Gartsbein (Kiryat Tivon, IL); Gal Zolkover (Haifa, IL); Or Sadeh (Tel Aviv, IL); Ori Zakin (Sde Varburg, IL); Yuval Lev (Gan Yavne, IL)
Assignees: DRIVENETS LTD.; AT&T SERVICES, INC.
G06F9/3885G06F9/3867G06F9/5066
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,294,688
App. No.
16/622,482
Granted
Apr 5, 2022
Kind
B2
Abstract

A parallel-processing computer system is provided for parallel processing of data packets conveyed in a communication network. The system comprises: a memory; a plurality of processing elements; and a program stored at the memory for execution by the plurality of processing elements. The at least one program comprises instructions for: receiving one or more data packets comprising operational instructions from an application; establishing a pipeline element for carrying out a service process, which comprises a plurality of sub-pipelines, each associated with a respective task required for carrying out the service process and wherein each of the plurality of processing elements is operative for carrying out tasks associated with a respective sub-pipeline belonging to the plurality of sub-pipelines; and executing simultaneously by the plurality of processing elements, tasks associated with the plurality of sub-pipelines, wherein the plurality of processing elements is implementing a parallel processing of each data packet.

Claims (13)

1. A parallel-processing computer system for parallel processing of data packets conveyed in a communication network, comprising:

a memory;

a plurality of processing elements; and

at least one program stored at the memory and configured to be executed by the plurality of processing elements, and wherein the at least one program comprises instructions for:

at run-time, while an application is being executed,

receiving one or more data packets comprising operational instructions from the application;

establishing a CPU-based pipeline element for carrying out a service process, wherein said service process is carried out by chaining functions executed by a same processing element, and wherein said CPU-based pipeline element comprises a plurality of sub-pipelines, each associated with a respective task or a part thereof required for carrying out said service process, wherein each of the plurality of processing elements is operative to carry out one or more tasks associated with a respective sub-pipeline belonging to the plurality of sub-pipelines included in said CPU-based pipeline element, and wherein the one or more tasks associated with all sub-pipelines that belong to that plurality of sub-pipelines, are carried out by a single CPU;

executing simultaneously by the plurality of processing elements, tasks that are associated with the plurality of sub-pipelines, wherein said plurality of processing elements is implementing a parallel processing of each data packet, for carrying out the service process, and

wherein said parallel-processing computer system, further comprising a processor configured to determine a flow of objects between queues in accordance with their timers, while a plurality of threads is used to update the objects' last accessed times.

2. The parallel-processing computer system of claim 1 , wherein said processor is configured to divert an object emerging from a timer queue, to a queue which is closest to its expiration timeout.

3. The parallel-processing computer system of claim 1 , wherein each object is provided with access times, determined according to: a) number of its associated data writing means that would allow lockless access, and b) according to a time at which it has entered a queue,

thereby enabling said processor to determine which one or more objects should be removed from their respective queues.

4. The parallel-processing computer system of claim 3 , comprising a single data writer and a plurality of data readers, configured to enable a single managing entity to update data elements in a respective lookup table, and to read that updated lookup table for a plurality of real-time threads.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2022
From: AT&T SERVICES, INC.
To: DRIVENETS LTD.
Reel/Frame 058770/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 1% INTEREST OF ASSIGNMENT PREVIOUSLY RECORDED AT REEL: 51637 FRAME: 522. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMEN. Recorded Sep 17, 2021
From: DRIVENETS LTD.
To: AT&T SERVICES, INC.
Reel/Frame 057576/0875 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2020
From: KRAYDEN, AMIR; MOSHE, YUVAL; GARTSBEIN, ANTON; ZOLKOVER, GAL; SADEH, OR; ZAKIN, ORI; LEV, YUVAL
To: DRIVENETS LTD.
Reel/Frame 051637/0522 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2020
From: DRIVENETS LTD.
To: AT&T SERVICES, INC.
Reel/Frame 051637/0531 →
Continuity (2)
Provisional Application 62520624 · Jun 16, 2017
Related Publication 20200142708A1 · May 7, 2020
Cited By (1)
US 12,652,257