IP Library Patent Application 14298130
Patent Application
App. No. 14/298,130

Allocation of Client Device Memory for Content from Content Sources

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 None
App. No.
14/298,130
Abstract

A client device presents content received from various content sources to a user. Different portions of the client device's memory are allocated for storing content from different content sources. The client device determines a quality score for a content source based on usability of content received from the content source. Based on the quality score for a content source, the client device allocates a portion of its memory for content from the content source. Additionally, if content from a content source is larger than an amount of memory allocated to the content source, the client device stores a portion of the content and requests storage of an additional portion of the content by an additional client device. When the client device has sufficient memory to store the content, the additional portion is retrieved from the additional client device and combined with the portion of the content.

Claims (54)

1 . A method comprising:

receiving a content identifier and a size of the content indicating an amount of memory for storing the content from the content source;

determining an amount of memory allocated to the content source by a client device;

determining whether the size of the content item exceeds the amount of memory allocated to the content source by the client device;

responsive to determining the size of the content item exceeds the amount of memory allocated to the content source by the client device, sending a request from the client device to an additional client device to allocate memory to the content source, the request including the content identifier and an amount of memory based on a difference between the amount of memory allocated to the content source by the client device and the size of the content item;

transmitting a request from the client device to the content source for a portion of the content having a size corresponding to the amount of memory allocated to the content source by the client device; and

receiving a message from the additional client device that the additional client device has received an additional portion of the content form the content source, the additional portion of the content item having a size based on the difference between the amount of memory allocated to the content source by the client device and the size of the content item.

2 . The method of claim 1 , further comprising:

requesting the additional portion of the content from the additional client device;

receiving the additional portion of the content from the additional client device;

generating the content at the client device by combining the portion of the content and the additional portion of the content; and

storing the content in the memory allocated to the content source by the client device.

3 . The method of claim 2 , wherein requesting the additional portion of the content from the additional client device comprises:

requesting the additional portion of the content from the additional client device responsive to the client device determining a modified amount of memory allocated to the content source is at least the size of the content.

4 . The method of claim 2 , wherein receiving the additional portion of the content from the additional client device comprises:

receiving the additional portion of the content and information for combining the additional portion of the content and the portion of the content.

5 . The method of claim 4 , wherein the content comprises a plurality of slots each associated with an identifier and the information for combining the additional portion of the content and the portion of the content includes an identifier associated with one or more slots of the content included in the additional portion of the content.

6 . The method of claim 1 , wherein the amount of memory allocated to the content source by the client device comprises a plurality of slots each associated with an identifier.

7 . The method of claim 6 , wherein the request from the client device to the content source for the portion of the content specifies a number of slots and an identifier of an initial slot of the portion of the content.

8 . A method comprising:

receiving a request from a client device to allocate memory to a content source;

allocating a portion of memory to the content source;

receiving, from the client device, a content identifier associated with content maintained by the content source and information identifying a portion of the content;

transmitting a request for the portion of the content to the content source;

receiving the portion of the content from the content source; and

storing the portion of the content and the content identifier in the portion of the memory allocated to the content source.

9 . The method of claim 8 , further comprising:

receiving a request for the portion of the content from the client device; and

transmitting the portion of the content to the client device.

10 . The method of claim 9 , further comprising:

removing the portion of the content from the memory allocated to the content source.

11 . The method of claim 10 , wherein removing the portion of the content from the memory allocated to the content store is responsive to receiving an acknowledgment of receipt of the portion of the content from the client device.

12 . The method of claim 8 , further comprising:

removing the portion of the content from the memory allocated to the content store after a specified time interval lapses.

13 . The method of claim 8 , wherein the content comprises a plurality of slots, each slot associated with an identifier.

14 . The method of claim 13 , wherein the information identifying the portion of the content comprises an identifier of an initial slot of the portion of the content and a number of slots comprising the portion of the content.

15 . A method comprising:

allocating portions of a memory of a client device to a plurality of content sources, each content source associated with a portion of the memory;

receiving content from the plurality of content sources;

determining a quality score for each content source based on the received content, a quality score associated with a content source based at least in part on a usability of content received from the content source by the client device based on prior user interactions with additional content; and

modifying a size of a portion of the memory allocated to the content source based at least in part on the quality score for the content source.

16 . The method of claim 15 , wherein modifying the size of the portion of the memory allocated to the content source based at least in part on the quality score for the content source comprises:

determining a total quality score from the quality scores for each of the content sources;

determining a ratio of the quality score for the content source to the total quality score; and

modifying the size of the portion of the memory allocated to the content source based on the ratio.

17 . The method of claim 16 , wherein modifying the size of the portion of the memory allocated to the content source based on the ratio comprises:

modifying the portion of the memory allocated to the content source to a percentage of the memory equaling the ratio.

18 . The method of claim 15 , further comprising:

transmitting the quality score to the content source.

19 . The method of claim 15 , wherein determining the quality score for each content source based on the received content, the quality score associated with the content source based at least in part on a usability of content received from the content source by the client device based on prior user interactions with additional content comprises:

identifying one or more attributes of the content received from the content source;

determining prior interactions between the user and additional content having one or more attributes matching an attribute of the content received from the content source; and

determining the quality score for the content source based at least in part on the determined prior interactions.

20 . The method of claim 19 , wherein the quality score for the content source is further based at least in part on one or more characteristics of the client device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034227/0095 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2014
From: DAS, SUJOY; AGRAWAL, JAGADISH K; FORTIN, NATHAN J; HURWICH, JORDAN ANDREW
To: MOTOROLA MOBILITY LLC
Reel/Frame 033048/0619 →