IP Library Granted Patent US 9,213,742
Granted Patent B2
US 9,213,742 · App. 13/565,636 · Granted Dec 15, 2015

Time aligned transmission of concurrently coded data streams

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 9,213,742
App. No.
13/565,636
Granted
Dec 15, 2015
Kind
B2
Abstract

A method begins by a dispersed storage (DS) processing module receiving a first coded matrix that includes a first plurality of pairs of coded values corresponding to first data segments of a first data stream and a second data stream. The method continues with the DS processing module receiving a second coded matrix that includes a second plurality of pairs of coded values corresponding to first data segments of a third data stream and a fourth data stream. The method continues with the DS processing module generating a new coded matrix to include a plurality of groups of selected coded values. The method continues with the DS processing module outputting the plurality of groups of selected coded values to a requesting entity in a manner to maintain time alignment of the first data segments of the first, second, third, and fourth data streams.

Claims (55)

1. A method comprises:

receiving a first coded matrix that includes a first plurality of pairs of coded values corresponding to first data segments of a first data stream and a second data stream, wherein a pair of coded values of the first plurality of pairs of coded values includes a first coded value corresponding to the first data segment of the first data stream and a second coded value corresponding to the first data segment of the second data stream;

receiving a second coded matrix that includes a second plurality of pairs of coded values corresponding to first data segments of a third data stream and a fourth data stream, wherein a pair of coded values of the second plurality of pairs of coded values includes a third coded value corresponding to the first data segment of the third data stream and a fourth coded value corresponding to the first data segment of the fourth data stream, wherein the first data segments of the first, second, third, and fourth data streams are time aligned;

generating a new coded matrix to include a plurality of groups of selected coded values, wherein one of the plurality of groups of selected coded values includes at least two of the first, second, third, and fourth coded values; and

outputting the plurality of groups of selected coded values to a requesting entity in a manner to maintain the time alignment of the first data segments of the first, second, third, and fourth data streams.

2. The method of claim 1 further comprises:

generating the new coded matrix based on a request from the requesting entity.

3. The method of claim 1 further comprises:

generating the new coded matrix based on capabilities of the requesting entity.

4. The method of claim 1 further comprises:

the first data stream corresponding to a first recording of an environment from a first recording device;

the second data stream corresponding to a second recording of the environment from the first recording device;

the third data stream corresponding to a third recording of the environment from a second recording device; and

the fourth data stream corresponding to a fourth recording of the environment from the second recording device.

5. The method of claim 1 further comprises:

determining the time alignment of the first data segments of the first, second, third, and fourth data streams by at least one of:

interpreting time-stamp information; and

interpreting naming information of the first data segment of the first, second, third, and fourth data streams.

6. The method of claim 1 further comprises:

receiving a request from the requesting entity for one or more additional groups of selected coded values;

generating the one or more additional groups of selected coded values utilizing the first and second coded matrixes; and

outputting the one or more additional groups of selected coded values to the requesting entity.

7. The method of claim 1 further comprises:

the first plurality of pairs of coded values corresponding to the first data segments of the first data stream and the second data stream, wherein the first data segment of the first data stream is divided into a first plurality of data blocks and the first data segment of the second data stream is divided into a second plurality of data blocks, wherein the first and second plurality of data blocks create a first data matrix, and wherein the first coded matrix is generated from the data matrix and an encoding matrix; and

the second plurality of pairs of coded values corresponding to the first data segments of the third data stream and the fourth data stream, wherein the first data segment of the third data stream is divided into a third plurality of data blocks and the first data segment of the fourth data stream is divided into a fourth plurality of data blocks, wherein the third and fourth plurality of data blocks create a second data matrix, and wherein the second coded matrix is generated from the second data matrix and the encoding matrix.

8. A dispersed storage (DS) module comprises:

a first module, when operable within a computing device, causes the computing device to:

receive a first coded matrix that includes a first plurality of pairs of coded values corresponding to first data segments of a first data stream and a second data stream, wherein a pair of coded values of the first plurality of pairs of coded values includes a first coded value corresponding to the first data segment of the first data stream and a second coded value corresponding to the first data segment of the second data stream;

a second module, when operable within the computing device, causes the computing device to:

receive a second coded matrix that includes a second plurality of pairs of coded values corresponding to first data segments of a third data stream and a fourth data stream, wherein a pair of coded values of the second plurality of pairs of coded values includes a third coded value corresponding to the first data segment of the third data stream and a fourth coded value corresponding to the first data segment of the fourth data stream, wherein the first data segments of the first, second, third, and fourth data streams are time aligned;

a third module, when operable within the computing device, causes the computing device to:

generate a new coded matrix to include a plurality of groups of selected coded values, wherein one of the plurality of groups of selected coded values includes at least two of the first, second, third, and fourth coded values; and

a fourth module, when operable within the computing device, causes the computing device to:

output the plurality of groups of selected coded values to a requesting entity in a manner to maintain the time alignment of the first data segments of the first, second, third, and fourth data streams.

9. The DS module of claim 8 further comprises:

the third module functions to generate the new coded matrix based on a request from the requesting entity.

10. The DS module of claim 8 further comprises:

the third module functions to generate the new coded matrix based on capabilities of the requesting entity.

11. The DS module of claim 8 further comprises:

the first data stream corresponding to a first recording of an environment from a first recording device;

the second data stream corresponding to a second recording of the environment from the first recording device;

the third data stream corresponding to a third recording of the environment from a second recording device; and

the fourth data stream corresponding to a fourth recording of the environment from the second recording device.

12. The DS module of claim 8 further comprises:

the fourth module is further operable to determine the time alignment of the first data segments of the first, second, third, and fourth data streams by at least one of:

interpreting time-stamp information; and

interpreting naming information of the first data segment of the first, second, third, and fourth data streams.

13. The DS module of claim 8 further comprises:

the third module is further operable to:

receive a request from the requesting entity for one or more additional groups of selected coded values;

generate the one or more additional groups of selected coded values utilizing the first and second coded matrixes; and

the fourth module is further operable to output the one or more additional groups of selected coded values to the requesting entity.

14. The DS module of claim 8 further comprises:

the first plurality of pairs of coded values corresponding to the first data segments of the first data stream and the second data stream, wherein the first data segment of the first data stream is divided into a first plurality of data blocks and the first data segment of the second data stream is divided into a second plurality of data blocks, wherein the first and second plurality of data blocks create a first data matrix, and wherein the first coded matrix is generated from the data matrix and an encoding matrix; and

the second plurality of pairs of coded values corresponding to the first data segments of the third data stream and the fourth data stream, wherein the first data segment of the third data stream is divided into a third plurality of data blocks and the first data segment of the fourth data stream is divided into a fourth plurality of data blocks, wherein the third and fourth plurality of data blocks create a second data matrix, and wherein the second coded matrix is generated from the second data matrix and the encoding matrix.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2012
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 029413/0688 →