IP Library Granted Patent US 10,873,753
Granted Patent B1
US 10,873,753 · App. 16/035,675 · Granted Dec 22, 2020

Hardware defined anything in a platform with swappable pods, message interface, sandboxes and memory superposition

Inventors: Jesse D. Beeson (Johns Creek, GA); Jesse B. Yates (Atlanta, GA)
Assignee: CONCURRENT VENTURES
H04N19/40H04L41/0879H04L65/605H04N19/423
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,873,753
App. No.
16/035,675
Granted
Dec 22, 2020
Kind
B1
Abstract

A platform for data flow processing is provided. The platform, which can be a computing device includes one or more swappable pods or cards in one or more chassis, coupled through a module messaging interface network. Each of the one or more swappable pods or cards having one or more hardware modules or one or more software modules and one or more of the plurality of swappable pods or cards having a portion for user-definable hardware modules or user-definable software modules. The plurality of swappable pods or cards being user-configurable to implement data flow processing architectures.

Claims (70)

1. A platform for data flow processing, comprising:

one or more swappable pods or cards in one or more chassis, coupled through a messaging interface network;

each of the one or more swappable pods or cards having one or more hardware modules or one or more software modules;

one or more of the plurality of swappable pods or cards having a portion for user-definable hardware modules or user-definable software modules;

the plurality of swappable pods or cards being user-configurable to implement data flow processing architectures; and

a network coupled to the one or more swappable pods or cards and supporting messaging-based communication using packets each having a header with a chassis identifier, a board identifier, a module identifier, an instance identifier, and a type identifier, so that each type of module, each instance of a type of module, and each module on each board in each chassis can be addressed through the header.

2. The platform of claim 1 , further comprising:

at least a subset of the one or more swappable pods or cards having an option for direct connection to one or more pods, cards or components, bypassing the module messaging interface network.

3. The platform of claim 1 , wherein the one or more swappable pods or cards comprises at least one processor card having a at least one processor allocatable for offloading hardware tasks to software, orchestrating data flows, orchestrating configurations of hardware modules, and executing in cooperation with a sandbox of one of the plurality of swappable pods or cards.

4. The platform of claim 1 , further comprising:

at least one of the one or more swappable pods or cards having a plurality of types of memory and memory superposition with selectable arrangement of the plurality of types of memory as multilevel cache, interleaved memory, swapped memory over a specified address range, and memory allocated to specified address ranges according to parameterized task needs.

5. The platform of claim 1 , wherein the one or more swappable pods or cards are user-configurable, and reconfigurable for update or upgrade, to form a data flow path comprising:

an interface to receive data;

a memory;

a software processing element coupled to the memory through a decoder and a cyclic redundancy check calculator;

a data receiver coupled to the memory, to receive data from the interface and store in the memory at least a portion of the data, and metadata, and forward notifications to the software processing element;

a data transmitter coupled to the memory, to receive instructions from the software processing element, and retrieve and transmit through a transmit interface at least a portion of the data or a modified version thereof from the memory.

6. The platform of claim 1 , wherein the one or more swappable pods or cards are user-configurable, and reconfigurable for update or upgrade, to form a video transcoder for multiple video inputs and multiple video outputs, comprising:

a first subset of the one or more swappable pods or cards, each pod or card of the first subset having a video input for a video data stream or analog video;

a second subset of the one or more swappable pods or cards, each pod or card of the second subset having a transcoder;

at least one of the one or more swappable pods or cards having memory with memory superposition comprising selectable arrangement of a plurality of memory types; and

a third subset of the one or more swappable pods or cards, each pod or card of the third subset having a video output for a video data stream or analog video.

7. A method for data flow processing in a platform, comprising:

configuring a plurality of swappable pods or cards in one or more chassis, coupled through a messaging interface network, to implement a data flow processing architecture;

configuring user-definable hardware modules or user-definable software modules in each of one or more of the plurality of swappable pods or cards;

communicating a data flow in accordance with the implemented data flow processing architecture among one or more hardware modules or one or more software modules in each of the plurality of swappable pods or cards, including the user-definable hardware modules or user-definable software modules; and

selecting a memory superposition in at least one of the plurality of swappable pods or cards having a plurality of types of memory with selectable arrangement of the plurality of types of memory as multilevel cache, interleaved memory, swapped memory over a specified address range, and memory allocated to specified address ranges according to parameterized task needs.

8. The method of claim 7 , wherein the communicating the data flow comprises:

communicating the data flow through the messaging interface network, comprising a network coupled to the plurality of swappable pods or cards and supporting messaging-based communication using packets each having a header with a chassis identifier, a board identifier, a module identifier, an instance identifier, and a type identifier, so that each type of module, each instance of a type of module, and each module on each board in each chassis can be addressed through the header.

9. The method of claim 7 , wherein the communicating the data flow comprises:

bypassing the messaging interface network and communicating through a direct connection among two or more pods, cards or components.

10. The method of claim 7 , further comprising:

allocating at least one processor of a processor card, from among the plurality of swappable pods or cards, to offloading hardware tasks to software, orchestrating data flows, orchestrating configurations of hardware modules, or executing in cooperation with a sandbox of one of the plurality of swappable pods or cards.

11. The method of claim 7 , further comprising:

configuring the plurality of swappable pods or cards to form a data flow path comprising:

an interface to receive data;

a memory;

a software processing element coupled to the memory through a decoder and a cyclic redundancy check calculator;

a data receiver coupled to the memory, to receive data from the interface and store in the memory at least a portion of the data, and metadata, and forward notifications to the software processing element;

a data transmitter coupled to the memory, to receive instructions from the software processing element, and retrieve and transmit through a transmit interface at least a portion of the data or a modified version thereof from the memory.

12. The method of claim 7 , further comprising:

configuring the plurality of swappable pods or cards to form a video transcoder for multiple video inputs and multiple video outputs, comprising:

a first subset of the plurality of swappable pods or cards, each pod or card of the first subset having a video input for a video data stream or analog video;

a second subset of the plurality of swappable pods or cards, each pod or card of the second subset having a transcoder;

at least one of the plurality of swappable pods or cards having memory with memory superposition comprising selectable arrangement of a plurality of memory types; and

a third subset of the plurality of swappable pods or cards, each pod or card of the third subset having a video output for a video data stream or analog video; and

reconfiguring, for update or upgrade of the video transcoder, the plurality of swappable pods or cards.

13. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processor, cause the processor to perform a method comprising:

configuring a plurality of swappable pods or cards in one or more chassis, coupled through a messaging interface network, to implement a data flow processing architecture;

configuring user-definable hardware modules or user-definable software modules in each of one or more of the plurality of swappable pods or cards;

communicating a data flow in accordance with the implemented data flow processing architecture among one or more hardware modules or one or more software modules in each of the plurality of swappable pods or cards, including the user-definable hardware modules or user-definable software modules; and

communicating the data flow through the messaging interface network, comprising a network coupled to the plurality of swappable pods or cards and supporting messaging-based communication using packets each having a header with a chassis identifier, a board identifier, a module identifier, an instance identifier, and a type identifier, so that each type of module, each instance of a type of module, and each module on each board in each chassis can be addressed through the header.

14. The computer-readable media of claim 13 , wherein the method further comprises:

allocating at least one processor of a processor card having a plurality of processors, from among the plurality of swappable pods or cards, to offloading hardware tasks to software, orchestrating data flows, orchestrating configurations of hardware modules, or executing in cooperation with a sandbox of one of the plurality of swappable pods or cards.

15. The computer-readable media of claim 13 , wherein the method further comprises:

selecting a memory superposition in at least one of the plurality of swappable pods or cards having a plurality of types of memory with selectable arrangement of the plurality of types of memory as multilevel cache, interleaved memory, swapped memory over a specified address range, and memory allocated to specified address ranges according to parameterized task needs.

16. The computer-readable media of claim 13 , wherein the method further comprises:

configuring the plurality of swappable pods or cards to form a data flow path comprising:

an interface to receive data;

memory;

a software processing element coupled to the memory through a decoder and a cyclic redundancy check calculator;

a data receiver coupled to the memory, to receive data from the receive interface and store in the memory at least a portion of the data, and metadata, and forward notifications to the software processing element;

a data transmitter coupled to the memory, to receive instructions from the software processing element, and retrieve and transmit through a transmit interface at least a portion of the data or a modified version thereof from the memory.

17. The computer-readable media of claim 13 , wherein the method further comprises:

configuring the plurality of swappable pods or cards to form a video transcoder for multiple video inputs and multiple video outputs, comprising:

a first subset of the plurality of swappable pods or cards, each pod or card of the first subset having a video input for a video data stream or analog video;

a second subset of the plurality of swappable pods or cards, each pod or card of the second subset having a transcoder;

at least one of the plurality of swappable pods or cards having memory with memory superposition comprising selectable arrangement of a plurality of memory types; and

a third subset of the plurality of swappable pods or cards, each pod or card of the third subset having a video output for a video data stream or analog video; and

reconfiguring, for update or upgrade of the video transcoder, the plurality of swappable pods or cards.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2021
From: CONCURRENT VENTURES, LLC
To: XTREAMEDGE, INC.
Reel/Frame 055136/0891 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2020
From: BEESON, JESSE D; YATES, JESSE B
To: CONCURRENT VENTURES LLC
Reel/Frame 053203/0931 →