IP Library › Granted Patent US 11,063,865
Granted Patent B2
US 11,063,865 · App. 16/840,064 · Granted Jul 13, 2021

Decentralized content fabric

Inventors: Michelle Munson (Berkeley, CA); Serban Simu (Berkeley, CA)
Assignee: Eluvio, Inc.
H04L45/64G06F9/4552G06F9/45516G06F21/602G06N20/00G06Q10/10G06Q20/1235G06Q20/3674G06Q20/3825G06Q20/3829G06Q20/401G06Q50/265H04L9/0637H04L9/0643H04L9/083H04L9/0861H04L9/14H04L9/3213H04L9/3234H04L9/3239H04L9/3247H04L41/20H04L45/04H04L45/08H04L45/14H04L45/70H04L45/7453H04L49/1553H04L49/25H04L49/602H04L63/0428H04L63/0478H04L65/4084H04L65/60H04L67/104H04L67/108H04L67/1065H04L67/1076H04L67/1091H04L67/2842H04L69/325G06Q2220/10H04L67/42H04L69/329H04L2209/38H04L2209/56
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,063,865
App. No.
16/840,064
Granted
Jul 13, 2021
Kind
B2
Abstract

Disclosed are examples of systems, apparatus, devices, computer program products, and methods implementing aspects of a decentralized content fabric. In some implementations, one or more processors are configured to execute a software stack to define a fabric node of a plurality of fabric nodes of an overlay network situated in an application layer differentiated from an internet protocol layer. The defined fabric node is configured to: obtain a request for digital content from a client device; obtain, from one or more of the plurality of fabric nodes, a plurality of content object parts of a content object representing, in the overlay network, at least a portion of the digital content; generate consumable media using: raw data stored in the content object parts, metadata stored in the content object parts, and build instructions stored in the content object parts; and provide the consumable media to the client device. In some instances, the consumable media is further generated using a digital contract stored in a blockchain.

Claims (60)

1. A decentralized system for just-in-time (JIT) processing and output of digital content, the system comprising:

a memory device; and

one or more processors in communication with the memory device, the one or more processors configured to execute a software stack to provide a first fabric node of a plurality of fabric nodes of an overlay network implemented in an application layer differentiated from an internet protocol layer, the first fabric node configured to:

obtain, from a client, a client request for digital content from the overlay network,

determine that the digital content is not stored locally at the first fabric node,

search the plurality of fabric nodes for a plurality of source content parts representing the digital content in the overlay network, each source content part of the plurality of source content parts comprising media, metadata and code, the searching of the fabric nodes comprising sending one or more network requests to at least a subset of the fabric nodes in communication with the first fabric node,

obtain, from a second one or more of the subset of fabric nodes, the plurality of source content parts,

process the plurality of source content parts to produce the digital content JIT, the processing of the plurality of source content parts comprising executing the code of each source content part of the plurality of source content parts, and

provide the digital content to the client.

2. The system of claim 1 , the plurality of source content parts defining a higher bit rate version of the digital content.

3. The system of claim 1 , the processing of the plurality of source content parts comprising:

reading, as input, the metadata and/or the media of each source content part.

4. The system of claim 1 , wherein the code is source code stored in and read from one or more content object parts and compiled JIT.

5. The system of claim 1 , wherein the requested digital content is personalized to the client based on the plurality of source content parts.

6. The system of claim 1 , wherein the provided digital content is consumable for one or more of: rendering, playing, streaming, downloading, reading, viewing, packaging, copying or storing the digital content.

7. The system of claim 1 , wherein the digital content comprises digital video.

8. The system of claim 1 , wherein the digital content comprises a live stream, and the plurality of source content parts were published to the overlay network by an origin fabric node of the plurality of fabric nodes while ingressing a live source.

9. The system of claim 1 , wherein the processing comprises transcoding associated with JIT compilation of source code to machine code.

10. The system of claim 9 , wherein the JIT compilation comprises:

compiling the source code, stored in one or more content object parts, to an intermediate representation language, and

compiling the intermediate representation language to the machine code.

11. The system of claim 9 , wherein the JIT compilation comprises cross-platform compilation.

12. A non-transitory computer-readable medium storing program code to be executed by one or more processors, the program code comprising instructions configured to cause:

providing a first fabric node of a plurality of fabric nodes of an overlay network implemented in an application layer differentiated from an internet protocol layer, the first fabric node configured to:

obtain, from a client, a client request for digital content from the overlay network,

determine that the digital content is not stored locally at the first fabric node,

search the plurality of fabric nodes for a plurality of source content parts representing the digital content in the overlay network, each source content part of the plurality of source content parts comprising media, metadata and code, the searching of the fabric nodes comprising sending one or more network requests to at least a subset of the fabric nodes in communication with the first fabric node,

obtain, from a second one or more of the subset of fabric nodes, the plurality of source content parts,

process the plurality of source content parts to produce the digital content JIT, the processing of the plurality of source content parts comprising executing the code of each source content part of the plurality of source content parts, and

provide the digital content to the client.

13. The non-transitory computer-readable medium of claim 12 , the plurality of source content parts defining a higher bit rate version of the digital content.

14. The non-transitory computer-readable medium of claim 12 , the processing of the plurality of source content parts comprising:

reading, as input, the metadata and/or the media of each source content part.

15. The non-transitory computer-readable medium of claim 12 , wherein the code is source code stored in and read from one or more content object parts and compiled JIT.

16. The non-transitory computer-readable medium of claim 12 , wherein the requested digital content is personalized to the client based on the plurality of source content parts.

17. The non-transitory computer-readable medium of claim 12 , wherein the provided digital content is consumable for one or more of: rendering, playing, streaming, downloading, reading, viewing, packaging, copying or storing the digital content.

18. The non-transitory computer-readable medium of claim 12 , wherein the digital content comprises a live stream, and the plurality of source content parts were published to the overlay network by an origin fabric node of the plurality of fabric nodes while ingressing a live source.

19. The non-transitory computer-readable medium of claim 12 , wherein the processing comprises transcoding associated with JIT compilation of source code to machine code.

20. The non-transitory computer-readable medium of claim 19 , wherein the JIT compilation comprises:

compiling the source code, stored in one or more content object parts, to an intermediate representation language, and

compiling the intermediate representation language to the machine code.

21. The non-transitory computer-readable medium of claim 19 , wherein the JIT compilation comprises cross-platform compilation.

22. A method comprising:

obtaining, from a client, at a first fabric node of a plurality of fabric nodes of an overlay network implemented in an application layer differentiated from an internet protocol layer, a client request for digital content from the overlay network;

determining that the digital content is not stored locally at the first fabric node;

searching the plurality of fabric nodes for a plurality of source content parts representing the digital content in the overlay network, each source content part of the plurality of source content parts comprising media, metadata and code, the searching of the fabric nodes comprising sending one or more network requests to at least a subset of the fabric nodes in communication with the first fabric node;

obtaining, from a second one or more of the subset of fabric nodes, the plurality of source content parts;

processing the plurality of source content parts to produce the digital content JIT, the processing of the plurality of source content parts comprising executing the code of each source content part of the plurality of source content parts; and

providing the digital content to the client.

23. The method of claim 22 , the plurality of source content parts defining a higher bit rate version of the digital content.

24. The method of claim 22 , the processing of the plurality of source content parts comprising:

reading, as input, the metadata and/or the media of each source content part.

25. The method of claim 22 , wherein the code is source code stored in and read from one or more content object parts and compiled JIT.

26. The method of claim 22 , wherein the requested digital content is personalized to the client based on the plurality of source content parts.

27. The method of claim 22 , wherein the provided digital content is consumable for one or more of: rendering, playing, streaming, downloading, reading, viewing, packaging, copying or storing the digital content.

28. The method of claim 22 , wherein the digital content comprises a live stream, and the plurality of source content parts were published to the overlay network by an origin fabric node of the plurality of fabric nodes while ingressing a live source.

29. The method of claim 22 , wherein the processing comprises transcoding associated with JIT compilation of source code to machine code.

30. The method of claim 29 , wherein the JIT compilation comprises:

compiling the source code, stored in one or more content object parts, to an intermediate representation language, and

compiling the intermediate representation language to the machine code.

Continuity (3)
Continuation 16655033 · Oct 16, 2019
Provisional Application 62746475 · Oct 16, 2018
Related Publication 20210149696A1 · May 20, 2021
Cited By (2)
US 12,477,028 US 12,706,842