IP Library Granted Patent US 8,307,263
Granted Patent B2
US 8,307,263 · App. 12/814,470 · Granted Nov 6, 2012

Method and apparatus for dispersed storage of streaming multi-media data

Assignee: Cleversafe, Inc.
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 8,307,263
App. No.
12/814,470
Granted
Nov 6, 2012
Kind
B2
Abstract

A method begins by a processing module determining dispersed storage preferences for streaming multi-media data. The method continues with the processing module transcoding the streaming multi-media data into transcoded data when the dispersed storage preferences include transcoding. In addition, the method continues with the processing module encoding the transcoded data in accordance with an error coding dispersed storage function of the dispersed storage preferences to produce pluralities of error coded data slices. In addition, the method continues with the processing module outputting the pluralities of error coded data slices to a plurality of data storage units for storage therein.

Claims (80)

1. A method for dispersed storage of streaming multi-media data, the method comprises:

determining dispersed storage preferences for the streaming multi-media data;

transcoding the streaming multi-media data into transcoded data when the dispersed storage preferences include transcoding;

encoding the transcoded data in accordance with an error coding dispersed storage function of the dispersed storage preferences to produce pluralities of error coded data slices; and

outputting the pluralities of error coded data slices to a plurality of data storage units for storage therein.

2. The method of claim 1 further comprises:

receiving the streaming multi-media data.

3. The method of claim 1 further comprises:

determining whether to partition the streaming multi-media data into a plurality of data streams based on the dispersed storage preferences; and

when the streaming multi-media data is to be partitioned into the plurality of data streams:

transcoding each of the plurality of data streams to produce a plurality of transcoded data streams in accordance with the dispersed storage preferences; and

encoding each of the plurality of transcoded data streams into a plurality of sets of error coded data slices as the pluralities of error coded data slices.

4. The method of claim 1 further comprises:

partitioning the transcoded data into a plurality of transcoded data streams in accordance with the dispersed storage preferences; and

encoding each of the plurality of transcoded data streams in accordance with the error coding dispersed storage function of the dispersed storage preferences to produce a plurality of sets of error coded data slices as the pluralities of error coded data slices.

5. The method of claim 1 further comprises at least one of:

pre-slice data manipulation of at least a portion of the transcoded data; and

post-slice data manipulation of an error coded data slice of the pluralities of error coded data slices.

6. A method for retrieving streaming multi-media data from a dispersed storage system, the method comprises:

determining dispersed storage retrieval preferences for the streaming multi-media data;

accessing a plurality of data storage units to retrieve pluralities of error coded data slices therefrom;

per plurality of the pluralities of error coded data slices, decoding at least a threshold number of the error coded data slices in accordance with an error coding dispersed storage function of the dispersed storage retrieval preferences to produce a decoded data segment;

aggregating the decoded data segments to produce a retrieved multi-media data; and

transcoding the retrieved multi-media data into the streaming multi-media data when the dispersed storage retrieval preferences include transcoding.

7. The method of claim 6 further comprises:

outputting the streaming multi-media data.

8. The method of claim 6 further comprises:

retrieving a plurality of sets of error coded data slices as the pluralities of error coded data slices;

decoding the plurality of sets of error coded data slices into a corresponding plurality of data streams; and

combining the plurality data streams into the retrieved multi-media data.

9. The method of claim 6 further comprises:

retrieving a plurality of sets of error coded data slices as the pluralities of error coded data slices;

decoding the plurality of sets of error coded data slices into a corresponding plurality of data streams;

transcoding the corresponding plurality of data streams into a plurality of transcoded data streams; and

combining the plurality of transcoded data streams into the streaming multi-media data.

10. The method of claim 6 further comprises at least one of:

pre-slice data de-manipulation of the decoded data segment; and

post-slice data de-manipulation of an error coded data slice of the pluralities of error coded data slices.

11. A computer comprises:

an interface; and

a processing module operable to:

determine dispersed storage preferences for streaming multi-media data;

transcode the streaming multi-media data into transcoded data when the dispersed storage preferences include transcoding;

encode the transcoded data in accordance with an error coding dispersed storage function of the dispersed storage preferences to produce pluralities of error coded data slices; and

output, via the interface, the pluralities of error coded data slices to a plurality of data storage units for storage therein.

12. The computer of claim 11 , wherein the processing module further functions to:

receive, via the interface, the streaming multi-media data.

13. The computer of claim 11 , wherein the processing module further functions to:

determine whether to partition the streaming multi-media data into a plurality of data streams based on the dispersed storage preferences; and

when the streaming multi-media data is to be partitioned into the plurality of data streams:

transcode each of the plurality of data streams to produce a plurality of transcoded data streams in accordance with the dispersed storage preferences; and

encode each of the plurality of transcoded data streams into a plurality of sets of error coded data slices as the pluralities of error coded data slices.

14. The computer of claim 11 , wherein the processing module further functions to:

partition the transcoded data into a plurality of transcoded data streams in accordance with the dispersed storage preferences; and

encode each of the plurality of transcoded data streams in accordance with the error coding dispersed storage function of the dispersed storage preferences to produce a plurality of sets of error coded data slices as the pluralities of error coded data slices.

15. The computer of claim 11 , wherein the processing module further functions to perform at least one of:

pre-slice data manipulation of at least a portion of the transcoded data; and

post-slice data manipulation of an error coded data slice of the pluralities of error coded data slices.

16. A computer comprises:

an interface; and

a processing module operable to:

determine dispersed storage retrieval preferences for the streaming multi-media data;

access, via the interface, a plurality of data storage units to retrieve pluralities of error coded data slices therefrom;

per plurality of the pluralities of error coded data slices, decode at least a threshold number of the error coded data slices in accordance with an error coding dispersed storage function of the dispersed storage preferences to produce a decoded data segment;

aggregate the decoded data segments to produce a retrieved multi-media data; and

transcode the retrieved multi-media data into the streaming multi-media data when the dispersed storage retrieval preferences include transcoding.

17. The computer of claim 16 , wherein the processing module further functions to:

output, via the interface, the streaming multi-media data.

18. The computer of claim 16 , wherein the processing module further functions to:

retrieve, via the interface, a plurality of sets of error coded data slices as the pluralities of error coded data slices;

decode the plurality of sets of error coded data slices into a corresponding plurality of data streams; and

combine the plurality data streams into the retrieved multi-media data.

19. The computer of claim 16 , wherein the processing module further functions to:

retrieve, via the interface, a plurality of sets of error coded data slices as the pluralities of error coded data slices;

decode the plurality of sets of error coded data slices into a corresponding plurality of data streams;

transcode the corresponding plurality of data streams into a plurality of transcoded data streams; and

combine the plurality of transcoded data streams into the streaming multi-media data.

20. The computer of claim 16 , wherein the processing module further functions to perform at least one of:

pre-slice data de-manipulation of the decoded data segment; and

post-slice data de-manipulation of an error coded data slice of the pluralities of error coded data slices.

Assignments (8)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
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 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 20, 2013
From: SILICON VALLEY BANK
To: CLEVERSAFE, INC.
Reel/Frame 031058/0255 →
FIRST AMENDMENT TO IPSA Recorded Dec 31, 2012
From: CLEVERSAFE, INC.
To: SILICON VALLEY BANK
Reel/Frame 029555/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2010
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 024538/0316 →
Continuity (2)
Provisional Application 61248548 · Oct 5, 2009
Related Publication 20110083061A1 · Apr 7, 2011