IP Library › Granted Patent US 10,951,675
Granted Patent B2
US 10,951,675 · App. 17/083,303 · Granted Mar 16, 2021

Methods and systems for blockchain incentivized data streaming and delivery over a decentralized network

Inventors: Jieyi Long (Santa Clara, CA); Mitchell C. Liu (Los Altos, CA)
Assignee: Theta Labs, Inc.
H04L65/4084G06Q20/223G06Q20/36H04L9/0637H04L29/08306H04L63/101H04L67/104H04L67/108H04L67/12G06Q2220/10H04L67/42H04L2209/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 10,951,675
App. No.
17/083,303
Granted
Mar 16, 2021
Kind
B2
Abstract

Methods and systems for incentivizing the delivery of data contents among peer nodes in a decentralized data delivery network are disclosed. The network comprises peer-to-peer (P2P) connections implemented on top of a content delivery network (CDN) having CDN servers that provide data resources to network nodes. Such a hybrid network comprises viewer peer nodes, edge cacher peer nodes, tracker servers, and a payment service module. A micropayment pool is created on a blockchain by the payment service module. A cacher peer node downloads a data resource from a CDN server, and shares portions of the data resource with viewer peer nodes in the hybrid network. In return, the cacher peer node receives from the payment service module, off-chain transactions that encode cumulative payment amounts from the micropayment pool to the cacher peer node. A last off-line transaction is submitted to the blockchain to claim a total payment amount.

Claims (70)

1. A computer-implemented method utilized by a cacher peer node in a decentralized data delivery network for receiving a blockchain-based payment incentive from a payment service module in a payment server node in the decentralized data delivery network, in exchange for sharing a data resource with at least a first viewer peer node and a second viewer peer node in the decentralized data delivery network, the method executable by a processor, the method comprising:

downloading the data resource from at least one content delivery network (CDN) server, wherein the decentralized data delivery network implements a hybrid architecture comprising one or more peer-to-peer (P2P) connections layered over a CDN having the at least one CDN server providing the data resource to the cacher peer node;

receiving a notification, upon creation of a micropayment pool on a blockchain by the payment service module, wherein the micropayment pool is created by submitting, to the blockchain, a funding transaction comprising an incentive deposit for sharing the data resource with the first viewer peer node and the second viewer peer node;

sharing a first portion of the data resource with the first viewer peer node;

receiving a first service receipt signed by the first viewer peer node for the first portion of the data resource;

submitting the first service receipt to the payment service module;

receiving a first off-chain transaction from the payment service module, wherein the first off-chain transaction encodes a first transfer of a first payment incentive amount from the micropayment pool to the cacher peer node, for the first portion of the data resource;

sharing a second portion of the data resource with the second viewer peer node;

receiving a second service receipt signed by the second viewer peer node for the second portion of the data resource;

submitting the second service receipt to the payment service module;

receiving a second off-chain transaction from the payment service module, as an update to the first off-chain transaction, wherein the second off-chain transaction encodes a second transfer of a second payment incentive amount from the micropayment pool to the cacher peer node, for the first portion of the data resource and the second portion of the data resource; and

submitting the second off-chain transaction to the blockchain to claim the second payment incentive amount from the micropayment pool.

2. The computer-implemented method of claim 1 , further comprising:

receiving a caching instruction from a tracker server to download the data resource from the CDN server, wherein the caching instruction has been generated based on a first location of the cacher peer node and a performance specification of the cacher peer node.

3. The computer-implemented method of claim 1 , further comprising:

joining a peer group for sharing the data resource with the first viewer peer node and the second viewer peer node; and

receiving a payment authorization certificate authorizing the sharing of the data resource with the first viewer peer node and the second viewer peer node.

4. The computer-implemented method of claim 3 , further comprising:

submitting the payment authorization certificate to the payment service module.

5. The computer-implemented method of claim 3 , wherein the peer group has been determined by a tracker server based a location of the cacher peer node, a location of the first viewer peer node, a location of the second viewer peer node, and a content type of the data resource.

6. The computer-implemented method of claim 1 ,

wherein the notification comprises a Merkle Proof of the funding transaction after the funding transaction has been included in a new block.

7. The computer-implemented method of claim 1 , wherein the micropayment pool is associated with a resource identification (ID) for the data resource, a time-lock, and a slashable collateral.

8. A cacher peer node system in a decentralized data delivery network for receiving a blockchain-based payment incentive from a payment service module in a payment server node in the decentralized data delivery network, in exchange for sharing a data resource with at least a first viewer peer node and a second viewer peer node in the decentralized data delivery network, comprising:

at least one processor; and

a non-transitory physical medium for storing program code accessible by the at least one processor, wherein the program code when executed by the processor causes the processor to:

download the data resource from at least one content delivery network (CDN) server, wherein the decentralized data delivery network implements a hybrid architecture comprising one or more peer-to-peer (P2P) connections layered over a CDN having the at least one CDN server providing the data resource to the cacher peer node;

receive a notification, upon creation of a micropayment pool on a blockchain by the payment service module, wherein the micropayment pool is created by submitting, to the blockchain, a funding transaction comprising an incentive deposit for sharing the data resource with the first viewer peer node and the second viewer peer node;

share a first portion of the data resource with the first viewer peer node;

receive a first service receipt signed by the first viewer peer node for the first portion of the data resource;

submit the first service receipt to the payment service module;

receive a first off-chain transaction from the payment service module, wherein the first off-chain transaction encodes a first transfer of a first payment incentive amount from the micropayment pool to the cacher peer node, for the first portion of the data resource;

share a second portion of the data resource with the second viewer peer node;

receive a second service receipt signed by the second viewer peer node for the second portion of the data resource;

submit the second service receipt to the payment service module;

receive a second off-chain transaction from the payment service module, as an update to the first off-chain transaction, wherein the second off-chain transaction encodes a second transfer of a second payment incentive amount from the micropayment pool to the cacher peer node, for the first portion of the data resource and the second portion of the data resource; and

submit the second off-chain transaction to the blockchain to claim the second payment incentive amount from the micropayment pool.

9. The cacher peer node system of claim 8 , wherein the program code when executed by the processor further causes the processor to:

receive a caching instruction from a tracker server to download the data resource from the CDN server, wherein the caching instruction has been generated based on a first location of the cacher peer node and a performance specification of the cacher peer node.

10. The cacher peer node system of claim 8 , wherein the program code when executed by the processor further causes the processor to:

join a peer group for sharing the data resource with the first viewer peer node and the second viewer peer node; and

receive a payment authorization certificate authorizing the sharing of the data resource with the first viewer peer node and the second viewer peer node.

11. The cacher peer node system of claim 10 , wherein the program code when executed by the processor further causes the processor to:

submit the payment authorization certificate to the payment service module.

12. The cacher peer node system of claim 10 , wherein the peer group has been determined by a tracker server based a location of the cacher peer node, a location of the first viewer peer node, a location of the second viewer peer node, and a content type of the data resource.

13. The cacher peer node system of claim 8 ,

wherein the notification comprises a Merkle Proof of the funding transaction after the funding transaction has been included in a new block.

14. The cacher peer node system of claim 8 , wherein the micropayment pool is associated with a resource identification (ID) for the data resource, a time-lock, and a slashable collateral.

15. A non-transitory storage medium for storing program code, utilized by a cacher peer node in a decentralized data delivery network, for receiving a blockchain-based payment incentive from a payment service module in a payment server node in the decentralized data delivery network, in exchange for sharing a data resource with at least a first viewer peer node and a second viewer peer node in the decentralized data delivery network, wherein the program code is executable by a processor, and wherein the program code when executed by the processor causes the processor to:

download the data resource from at least one content delivery network (CDN) server, wherein the decentralized data delivery network implements a hybrid architecture comprising one or more peer-to-peer (P2P) connections layered over a CDN having the at least one CDN server providing the data resource to the cacher peer node;

receive a notification, upon creation of a micropayment pool on a blockchain by a payment service module, wherein the micropayment pool is created by submitting, to the blockchain, a funding transaction comprising an incentive deposit for sharing the data resource with the first viewer peer node and the second viewer peer node;

share a first portion of the data resource with the first viewer peer node;

receive a first service receipt signed by the first viewer peer node for the first portion of the data resource;

submit the first service receipt to the payment service module;

receive a first off-chain transaction from the payment service module, wherein the first off-chain transaction encodes a first transfer of a first payment incentive amount from the micropayment pool to the cacher peer node, for the first portion of the data resource;

share a second portion of the data resource with the second viewer peer node;

receive a second service receipt signed by the second viewer peer node for the second portion of the data resource;

submit the second service receipt to the payment service module;

receive a second off-chain transaction from the payment service module, as an update to the first off-chain transaction, wherein the second off-chain transaction encodes a second transfer of a second payment incentive amount from the micropayment pool to the cacher peer node, for the first portion of the data resource and the second portion of the data resource; and

submit the second off-chain transaction to the blockchain to claim the second payment incentive amount from the micropayment pool.

16. The non-transitory storage medium of claim 15 , wherein the program code when executed by the processor further causes the processor to:

receive a caching instruction from a tracker server to download the data resource from the CDN server, wherein the caching instruction has been generated based on a first location of the cacher peer node and a performance specification of the cacher peer node.

17. The non-transitory storage medium of claim 15 , wherein the program code when executed by the processor further causes the processor to:

join a peer group for sharing the data resource with the first viewer peer node and the second viewer peer node; and

receive a payment authorization certificate authorizing the sharing of the data resource with the first viewer peer node and the second viewer peer node.

18. The non-transitory storage medium of claim 16 , wherein the program code when executed by the processor further causes the processor to:

submit the payment authorization certificate to the payment service module.

19. The non-transitory storage medium of claim 15 , wherein the peer group has been determined by a tracker server based a location of the cacher peer node, a location of the first viewer peer node, a location of the second viewer peer node, and a content type of the data resource.

20. The non-transitory storage medium of claim 15 ,

wherein the notification comprises a Merkle Proof of the funding transaction after the funding transaction has been included in a new block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2020
From: LONG, JIEYI; LIU, MITCHELL C.
To: THETA LABS, INC.
Reel/Frame 054202/0484 →
Continuity (5)
Continuation 16948031 · Aug 27, 2020
Division 16751772 · Jan 24, 2020
Provisional Application 62880682 · Jul 31, 2019
Provisional Application 62914176 · Oct 11, 2019
Related Publication 20210044642A1 · Feb 11, 2021
Cited By (2)
US 12,505,431 US 12,731,135