IP Library Granted Patent US 10,567,546
Granted Patent B2
US 10,567,546 · App. 14/986,115 · Granted Feb 18, 2020

Network content communication

Inventors: Omer Luzzatti (Palo Alto, CA); Lev Korostyshevsky (Ramat Gan, IL); Michael Kravchenko (Ashdod, IL); Elad Rainshmidt (Ganei Tikva, IL)
Assignee: Oath Inc.
H04L67/32H04L43/08H04L67/1097H04L67/2847
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,567,546
App. No.
14/986,115
Granted
Feb 18, 2020
Kind
B2
Abstract

Briefly, embodiments of systems and/or method of communicating digital content via a network, such as a computing and/or communications network, are described.

Claims (60)

1. A method, comprising:

receiving a first request for a first block of digital content from a remote device, the first request being made according to a first network protocol;

ascertaining a quantity of slices to generate for transmission of the first block of digital content, wherein ascertaining a quantity of slices comprises:

determining a first quantity of slices associated with at least one of constructing or reconstructing the first block of digital content;

estimating at least one of a potential digital content delay or a potential digital content loss associated with the first block of digital content based, at least in part, on communications transmitted in relation to prior requests for blocks of content;

determining a compensation value based, at least in part, on the estimation; and

determining the quantity of slices to generate for transmission of the first block of digital content based, at least in part, on a combination of the first quantity of slices and the compensation value;

generating a plurality of vectors according to the quantity, each vector of the plurality of vectors including a plurality of binary values;

generating a plurality of slices of the first block of digital content according to the plurality of vectors such that one or more slices of the plurality of slices contain partially redundant content of the first block of digital content, each slice of the plurality of slices of the first block of digital content corresponding to at least one vector of the plurality of vectors; and

transmitting the plurality of slices of the first block of digital content using a second network protocol.

2. The method of claim 1 , wherein transmitting the plurality of slices comprises:

transmitting a plurality of signal packets formatted according to the second network protocol.

3. The method of claim 2 , wherein each signal packet of the plurality of signal packets includes at least one slice of the plurality of slices.

4. The method of claim 1 , wherein the first block of digital content comprises digital video content.

5. The method of claim 1 , comprising receiving a second request for a second block of digital content from the remote device.

6. The method of claim 5 , comprising:

receiving an indication that one or more slices of the second block of digital content were not received by the remote device.

7. The method of claim 6 , comprising:

providing the one or more slices of the second block of digital content that were not received using the second network protocol.

8. The method of claim 1 , each binary value of the plurality of binary values corresponding to at least one byte of a plurality of bytes of the first block of digital content.

9. The method of claim 1 , each byte of a plurality of bytes of the first block of digital content being transmitted in two or more slices of the plurality of slices.

10. The method of claim 1 , wherein a first vector of the plurality of vectors is different than a second vector of the plurality of vectors.

11. The method of claim 1 , wherein transmitting the plurality of slices comprises:

transmitting a plurality of packets using the second network protocol, each packet of the plurality of packets identifying the first block of digital content.

12. The method of claim 1 , comprising:

establishing a network connection with the remote device using the first network protocol.

13. The method of claim 1 , wherein transmitting the plurality of slices comprises:

encoding, for each slice of two or more slices of the plurality of slices, a corresponding slice vector that indicates one or more bytes of the first block of digital content that are not being transmitted in the corresponding slice and that indicates values of two or more bytes of the first block of digital content that are being transmitted in the corresponding slice.

14. The method of claim 1 , wherein the plurality of slices are generated based, at least in part, by applying vectors on a matrix representing the first block of digital content.

15. An apparatus comprising:

at least one computing device configured to:

receive a first request for a first block of digital content from a remote device, the first request being made according to a first network protocol;

ascertain a quantity of slices to generate for transmission of the first block of digital content, wherein ascertaining a quantity of slices comprises:

determining a first quantity of slices associated with at least one of constructing or reconstructing the first block of digital content;

estimating at least one of a potential digital content delay or a potential digital content loss associated with the first block of digital content based, at least in part, on communications transmitted in relation to prior requests for blocks of content;

determining a compensation value based, at least in part, on the estimation; and

determining the quantity of slices to generate for transmission of the first block of digital content based, at least in part, on a combination of the first quantity of slices and the compensation value;

generate a plurality of vectors according to the quantity, each vector of the plurality of vectors including a plurality of binary values;

generate a plurality of slices of the first block of digital content according to the plurality of vectors such that one or more slices of the plurality of slices contain partially redundant content of the first block of digital content, each slice of the plurality of slices of the first block of digital content corresponding to at least one vector of the plurality of vectors; and

transmit the plurality of slices of the first block of digital content using a second network protocol.

16. The apparatus of claim 15 , wherein the quantity of slices is ascertained based, at least in part, on at least one of a potential digital content delay or an estimated potential digital content loss.

17. The apparatus of claim 15 , wherein the at least one computing device is configured to:

receive a second request for a second block of digital content from the remote device;

receive an indication that one or more slices of the second block of digital content were not received by the remote device; and

provide the one or more slices of the second block of digital content that were not received using the second network protocol.

18. A storage medium having stored thereon computer instructions executable by at least one computing device, the at least one computing device including at least one processor and at least one memory, the computer instructions to be fetched from the at least one memory for execution on the at least one processor, the computer instructions configured to cause the at least one computing device to:

receive a first request for a first block of digital content from a remote device, the first request being made according to a first network protocol;

ascertain a quantity of slices to generate for transmission of the first block of digital content, wherein ascertaining a quantity of slices comprises:

determining a first quantity of slices associated with at least one of constructing or reconstructing the first block of digital content;

estimating at least one of a potential digital content delay or a potential digital content loss associated with the first block of digital content based, at least in part, on communications transmitted in relation to prior requests for blocks of content;

determining a compensation value based, at least in part, on the estimation; and

determining the quantity of slices to generate for transmission of the first block of digital content based, at least in part, on a combination of the first quantity of slices and the compensation value;

generate a plurality of vectors according to the quantity, each vector of the plurality of vectors including a plurality of binary values;

generate a plurality of slices of the first block of digital content according to the plurality of vectors such that one or more slices of the plurality of slices contain partially redundant content of the first block of digital content, each slice of the plurality of slices of the first block of digital content corresponding to at least one vector of the plurality of vectors; and

transmit the plurality of slices of the first block of digital content using a second network protocol.

19. The storage medium of claim 18 , wherein the quantity of slices is ascertained based, at least in part, on an estimated potential digital content loss.

20. The storage medium of claim 18 , wherein the computer instructions are configured to cause the at least one computing device to:

receive a second request for a second block of digital content from the remote device;

process an indication that one or more slices of the second block of digital content were not received by the remote device; and

provide the one or more slices of the second block of digital content that were not received using the second network protocol.

Assignments (6)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2016
From: LUZZATTI, OMER; KOROSTYSHEVSKY, LEV; KRAVCHENKO, MICHAEL; RAINSHMIDT, ELAD
To: YAHOO! INC.
Reel/Frame 038050/0001 →