IP Library › Granted Patent US 10,706,119
Granted Patent B1
US 10,706,119 · App. 16/010,561 · Granted Jul 7, 2020

Content prefetching to user devices based on rendering characteristics

Inventors: Daniel Yellin (Raanana, IL); David Ben Eli (Modiin, IL); Eilon Regev (Givatayim, IL); Shimon Moshavi (Beit Shemesh, IL)
Assignee: TENSERA NETWORKS LTD.
G06F16/9574G06F16/287H04L67/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,706,119
App. No.
16/010,561
Granted
Jul 7, 2020
Kind
B1
Abstract

An apparatus for content delivery includes a network interface and one or more processors. The network interface is configured for communicating over a communication network. The processors are configured to identify rendering characteristics of a plurality of content items that are to be displayed together as a User-Interface (UI) unit on a user device, to assign the content items to (i) a first subset including one or more content items that are to be prefetched, and (ii) a second subset including one or more content items that are not to be prefetched, to prefetch the content items of the first subset irrespective of any request from a user of the user device to access the UI unit, to fetch the content items of the second subset in response to a request from the user to access the UI unit, and to present the UI unit.

Claims (86)

1. An apparatus for content delivery, comprising:

a network interface for communicating over a communication network; and

one or more processors, configured to:

for a plurality of content items that are to be displayed together as a User-Interface (UI) unit on a user device, assess visibility metrics that are indicative of one or more of (i) respective time durations and (ii) respective amounts of user actions, needed to make the content items visible to a user of the user device, wherein the visibility metrics are assessed relative to one or more of (i) absolute locations of the content items in the UI unit, (ii) a portion of the UI unit that is currently displayed on a screen of the user device, (iii) a launcher of the UI unit, (iv) a home screen of the launcher, and (v) a landing page of the UI unit;

assign the visibility metrics to the content items as rendering characteristics;

based on the rendering characteristics, assign the plurality of content items to:

(i) a first subset comprising one or more content items that are to be prefetched to the user device over the communication network; and

(ii) a second subset comprising one or more content items that are not to be prefetched to the user device;

prefetch the content items of the first subset irrespective of any request from a user of the user device to access the UI unit, and fetch the content items of the second subset over the communication network in response to a request from the user to access the UI unit; and

present the UI unit to the user, including both the prefetched first subset and the fetched second subset.

2. The apparatus according to claim 1 , wherein one or more of the visibility metrics are binary, and are indicative of whether or not the amount of the needed user actions is lower than a predefined threshold.

3. The apparatus according to claim 1 , wherein the rendering characteristics further comprise rates at which updates are made to the content items.

4. The apparatus according to claim 1 , wherein the processors are configured to pre-render a portion of the UI unit associated with the content items in the first subset.

5. The apparatus according to claim 1 , wherein the processors are configured to (i) initially present the UI unit to the user without an up-to-date version of at least one content item in the second subset, then (ii) fetch the up-to-date version over the communication network, and then (iii) update the UI unit being presented to include the up-to-date version.

6. The apparatus according to claim 5 , wherein the processors are configured to initially display a dummy placeholder content item in place of the up-to-date version.

7. The apparatus according to claim 1 , wherein the processors are configured to present the UI unit to the user only after the content items of the second subset have been fetched over the communication network.

8. The apparatus according to claim 1 , wherein the processors are configured to prefetch one or more of the content items of the second subset before the user requests to access the UI unit, in response to assessing that the one or more of the content items can be prefetched using less than a predefined amount of a given resource.

9. The apparatus according to claim 1 , wherein the processors are configured to prefetch one or more of the content items of the second subset before the user requests to access the UI unit, in response to assessing that a likelihood of the user requesting to access the UI unit is higher than a predefined threshold.

10. The apparatus according to claim 1 , wherein the processors are configured to:

assign the content items to the first subset by choosing one or more of the content items whose visibility metrics are in a first range;

assign the content items to the second subset by choosing one or more of the content items whose visibility metrics are in a second range, distinct from the second range; and

assign one or more of the content items in the UI unit, whose visibility metrics are in a third range, distinct from the first and second ranges, to a third subset of content items that are to be fetched using a predefined Just-In-Time (JIT) mode.

11. The apparatus according to claim 1 , wherein the processors are configured to:

assign the content items to the first subset by choosing one or more of the content items whose visibility metrics are in a first range;

assign the content items to the second subset by choosing one or more of the content items whose visibility metrics are in a second range, distinct from the second range;

prefetch the content items in the first subset using a guaranteed prefetching mode, and;

assign one or more of the content items in the UI unit, whose visibility metrics are in a third range, distinct from the first and second ranges, to a third subset of content items that are to be prefetched using a best-effort prefetching mode.

12. The apparatus according to claim 1 , wherein the processors are configured to:

assign the content items to the first subset by choosing one or more of the content items whose visibility metrics are in a first range;

assign the content items to the second subset by choosing one or more of the content items whose visibility metrics are in a second range, distinct from the second range; and

assign one or more of the content items in the UI unit, whose visibility metrics are in a third range, distinct from the first and second ranges, to a third subset of content items that are to be prefetched selectively depending on one or more predefined factors.

13. The apparatus according to claim 1 , wherein the processors are configured to:

assign to the first subset one or more content items whose visibility metrics are in a first range, and designate the content items in the first subset to be both (i) prefetched to a cache of the user device, and (ii) made available for immediate display by loading code or content into RAM in the user device, running code in a background in the user device, or pre-rendering in the background in the user device;

assign to the second subset one or more content items whose visibility metrics are in a second range, distinct from the first range, and designate the content items in the first subset to not be prefetched to the cache and not to be made available for immediate display; and

assign to a third subset one or more content items whose visibility metrics are in a third range, distinct from the first and second ranges, and designate the content items in the third subset to be prefetched to the cache, but not to be made available for immediate display.

14. An apparatus for content delivery, comprising:

a network interface for communicating over a communication network; and

one or more processors, configured to:

for a plurality of content items that are to be displayed together as a User-Interface (UI) unit on a user device, assess visibility metrics that are indicative of one or more of (i) respective time durations and (ii) respective amounts of user actions, needed to make the content items visible to a user of the user device, wherein the visibility metrics are assessed relative to one or more of (i) absolute locations of the content items in the UI unit, (ii) a portion of the UI unit that is currently displayed on a screen of the user device, (iii) a launcher of the UI unit, (iv) a home screen of the launcher, and (v) a landing page of the UI unit;

assign the visibility metrics to the content items as rendering characteristics;

based on the rendering characteristics, assign the plurality of content items to:

(i) a first subset comprising one or more content items that are to be preloaded to the user device; and

(ii) a second subset comprising one or more content items that are not to be preloaded to the user device;

preload the content items of the first subset irrespective of any request from a user of the user device to access the UI unit, and load the content items of the second subset in response to a request from the user to access the UI unit; and

present the UI unit to the user, including both the preloaded first subset and the loaded second subset.

15. A method for content delivery, comprising:

for a plurality of content items that are to be displayed together as a User-Interface (UI) unit on a user device, assessing visibility metrics that are indicative of one or more of (i) respective time durations and (ii) respective amounts of user actions, needed to make the content items visible to a user of the user device, including assessing the visibility metrics relative to one or more of (i) absolute locations of the content items in the UI unit, (ii) a portion of the UI unit that is currently displayed on a screen of the user device, (iii) a launcher of the UI unit, (iv) a home screen of the launcher, and (v) a landing page of the UI unit;

assigning the visibility metrics to the content items as rendering characteristics;

based on the rendering characteristics, assigning the plurality of content items to:

(i) a first subset comprising one or more content items that are to be prefetched to the user device over a communication network; and

(ii) a second subset comprising one or more content items that are not to be prefetched to the user device;

prefetching the content items of the first subset irrespective of any request from a user of the user device to access the UI unit, and fetching the content items of the second subset over the communication network in response to a request from the user to access the UI unit; and

presenting the UI unit to the user, including both the prefetched first subset and the fetched second subset.

16. The method according to claim 15 , wherein one or more of the visibility metrics are binary, and are indicative of whether or not the amount of the needed user actions is lower than a predefined threshold.

17. The method according to claim 15 , wherein the rendering characteristics further comprise rates at which updates are made to the content items.

18. The method according to claim 15 , and comprising pre-rendering a portion of the UI unit associated with the content items in the first subset.

19. The method according to claim 15 , wherein presenting the UI unit comprises (i) initially presenting the UI unit to the user without an up-to-date version of at least one content item in the second subset, then (ii) fetching the up-to-date version over the communication network, and then (iii) updating the UI unit being presented to include the up-to-date version.

20. The method according to claim 19 , wherein presenting the UI unit comprises initially displaying a dummy placeholder content item in place of the up-to-date version.

21. The method according to claim 15 , wherein presenting the UI unit is performed only after the content items of the second subset have been fetched over the communication network.

22. The method according to claim 15 , and comprising prefetching one or more of the content items of the second subset before the user requests to access the UI unit, in response to assessing that the one or more of the content items can be prefetched using less than a predefined amount of a given resource.

23. The method according to claim 15 , and comprising prefetching one or more of the content items of the second subset before the user requests to access the UI unit, in response to assessing that a likelihood of the user requesting to access the UI unit is higher than a predefined threshold.

24. The method according to claim 15 ,

wherein assigning the content items to the first subset comprises choosing one or more of the content items whose visibility metrics are in a first range;

wherein assigning the content items to the second subset comprises choosing one or more of the content items whose visibility metrics are in a second range, distinct from the second range;

and comprising assigning one or more of the content items in the UI unit, whose visibility metrics are in a third range, distinct from the first and second ranges, to a third subset of content items that are to be fetched using a predefined Just-In-Time (JIT) mode.

25. The method according to claim 15 ,

wherein assigning the content items to the first subset comprises choosing one or more of the content items whose visibility metrics are in a first range;

wherein assigning the content items to the second subset comprises choosing one or more of the content items whose visibility metrics are in a second range, distinct from the second range;

wherein prefetching the content items in the first subset is performed using a guaranteed prefetching mode,

and comprising assigning one or more of the content items in the UI unit, whose visibility metrics are in a third range, distinct from the first and second ranges, to a third subset of content items that are to be prefetched using a best-effort prefetching mode.

26. The method according to claim 15 ,

wherein assigning the content items to the first subset comprises choosing one or more of the content items whose visibility metrics are in a first range;

wherein assigning the content items to the second subset comprises choosing one or more of the content items whose visibility metrics are in a second range, distinct from the second range;

and comprising assigning one or more of the content items in the UI unit, whose visibility metrics are in a third range, distinct from the first and second ranges, to a third subset of content items that are to be prefetched selectively depending on one or more predefined factors.

27. The method according to claim 15 , wherein assigning the content items comprises:

assigning to the first subset one or more content items whose visibility metrics are in a first range, and designating the content items in the first subset to be both (i) prefetched to a cache of the user device, and (ii) made available for immediate display by loading code or content into RAM in the user device, running code in a background in the user device, or pre-rendering in the background in the user device;

assigning to the second subset one or more content items whose visibility metrics are in a second range, distinct from the first range, and designating the content items in the second subset to not be prefetched to the cache and not to be made available for immediate display; and

assigning to a third subset one or more content items whose visibility metrics are in a third range, distinct from the first and second ranges, and designating the content items in the third subset to be prefetched to the cache, but not to be made available for immediate display.

28. A method for content delivery, comprising:

for a plurality of content items that are to be displayed together as a User-Interface (UI) unit on a user device, assessing visibility metrics that are indicative of one or more of (i) respective time durations and (ii) respective amounts of user actions, needed to make the content items visible to a user of the user device, including assessing the visibility metrics relative to one or more of (i) absolute locations of the content items in the UI unit, (ii) a portion of the UI unit that is currently displayed on a screen of the user device, (iii) a launcher of the UI unit, (iv) a home screen of the launcher, and (v) a landing page of the UI unit;

assigning the visibility metrics to the content items as rendering characteristics;

based on the rendering characteristics, assigning the plurality of content items to:

(i) a first subset comprising one or more content items that are to be preloaded to the user device; and

(ii) a second subset comprising one or more content items that are not to be preloaded to the user device;

preloading the content items of the first subset irrespective of any request from a user of the user device to access the UI unit, and loading the content items of the second subset over the communication network in response to a request from the user to access the UI unit; and

presenting the UI unit to the user, including both the preloaded first subset and the loaded second subset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2018
From: YELLIN, DANIEL; BEN ELI, DAVID; REGEV, EILON; MOSHAVI, SHIMON
To: TENSERA NETWORKS LTD.
Reel/Frame 046114/0703 →
Continuity (13)
Continuation In Part 15613222 · Jun 4, 2017
Continuation In Part 15092638 · Apr 7, 2016
Provisional Application 62154823 · Apr 30, 2015
Provisional Application 62274319 · Jan 3, 2016
Provisional Application 62293343 · Feb 10, 2016
Provisional Application 62383431 · Sep 4, 2016
Provisional Application 62436458 · Dec 20, 2016
Provisional Application 62436459 · Dec 20, 2016
Provisional Application 62436464 · Dec 20, 2016
Provisional Application 62473391 · Mar 19, 2017
Provisional Application 62487497 · Apr 20, 2017
Provisional Application 62521563 · Jun 19, 2017
Provisional Application 62572494 · Oct 15, 2017