IP Library Granted Patent US 7,613,792
Granted Patent B2
US 7,613,792 · App. 10/363,550 · Granted Nov 3, 2009

Method for dynamic caching

Assignee: Handmark, Inc.
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 7,613,792
App. No.
10/363,550
Granted
Nov 3, 2009
Kind
B2
Abstract

A method for caching media content on a client includes organizing media subjects in a predefined media package structure, and downloading the structure to the client in order for a user to consume the subjects in the structure. The media structure is arranged to allow a user to request media subjects by navigating from a current subject to adjacent subjects in the structure, and these adjacent subjects are cached at the client in advance, before the user requests them. By downloading the adjacent media subjects, the user will get the impression that the entire media structure is cached, and will not experience any download delays.

Claims (100)

1. A method for caching content retrieved from a server in a memory of a mobile device comprising:

generating a content request at the mobile device in response to an input at the mobile device, the content request identifying a current media subject to download;

retrieving the current media subject and a media package structure associated with the current media subject to the mobile device, the media package structure identifying the current media subject, a plurality of other media subjects, and a navigation path having at least three different directions from the current subject to the plurality of other media subjects;

consuming the current media subject at the mobile device;

downloading at least two of the plurality of other media subjects identified in the media package structure that are adjacent to the current media subject along the navigation path, the at least two of the plurality of other media subjects not being either previously requested or directly referenced by the current media subject, and caching the at least two other media subjects in the memory while the current media subject is being consumed;

determining a download priority for the plurality of other media subjects as a function of a plurality of caching criteria; and

downloading at least another one of the plurality of other media subjects for caching in the memory as function of the determined priority.

2. The method of claim 1 further comprising:

generating a list comprising each of the plurality of other media subjects sorted according to the determined priority; and

downloading the at least one other one of the plurality of other media subjects for caching in the memory based on an order of the at least one other one of the plurality of other media subjects in the generated list.

3. The method of claim 2 further comprising:

determining if an amount of available storage space in the memory is sufficient for storing a next one of the plurality of other media subjects in the generated list; and

only caching the next one of the plurality of other media subjects in the memory if the amount of available storage space is sufficient.

4. The method of claim 1 further comprising:

identifying cached subjects in the memory that are not included in the plurality of other media subjects; and

erasing the identified cached subjects from the memory.

5. The method of claim 4 further comprising automatically enabling restricted movement along the navigation path from the current subject to a next one of the plurality of other media subjects after the current media subject has been consumed.

6. The method of claim 1 wherein the at least three different directions from the current media subject to the plurality of other media subjects are restricted to a predetermined set of directions selected from a group consisting of a forward direction, a backward direction, a downward direction, and an upward direction.

7. The method of claim 1 further comprising generating the input through an input component selected from a group consisting of a plurality of navigation keys and a pointing device.

8. The method of claim 1 wherein determining the download priority comprises:

calculating a plurality of caching factors for each of the plurality of other media subjects; and

weighting each of the plurality of caching factors for each of the plurality of other media subjects to determine the download priority.

9. The method of claim 8 wherein the caching factors for each of the plurality of other media subjects comprise:

an estimated time to consumption for each of the plurality of the other media subjects;

a download time for each of the plurality of the other media subjects;

a probability of direct navigation to each of the plurality of the other media subjects; and

a distance between each of the plurality of the other media subjects and the current media subject.

10. The method of claim 1 further comprising:

determining a navigation mode of the mobile device, the navigation mode being selected from:

a first navigation mode in which the mobile device is responsive to input received through a plurality of navigation keys to enable restricted movement from the current subject to the plurality of other media subjects; and

a second navigation mode in which the mobile device is responsive to input received through a pointing device to enable unrestricted restricted movement from the current subject to the plurality of other media subjects.

11. The method of claim 1 wherein the content comprises at least one member of a media group consisting of audio, video, an image, and text.

12. The method of claim 1 wherein the predefined structure comprises a magazine.

13. The method of claim 1 wherein average consumption time of the current subject is greater than the download time of the plurality of other media subjects.

14. The method of claim 1 wherein the mobile device comprises at least one member of a group consisting of a mobile media playback device, a personal digital assistant, and a phone.

15. A method for caching content in a memory of a first processing device comprising:

generating a content request at the first processing device in response to input received at the first processing device, the content request identifying a current media subject to download from a second processing device;

retrieving the current media subject and a media package structure associated with the current media subject from the second processing device to the first processing device, the media package structure identifying the current media subject, a plurality of other media subjects a plurality of other media subjects, and a navigation path having at least three different directions from the current subject to the plurality of other media subjects;

consuming the current media subject at the first processing device;

downloading at least two of the plurality of other media subjects that are one step away from the current media subject along the navigation path, the at least two of the plurality of other media subjects not being either previously requested or directly referenced by the current media subject, and caching the at least two of the plurality of other media subjects in the memory while the current media subject is being consumed;

determining a download priority for each of the plurality of other media subjects as a function of a plurality of caching criteria;

generating a list comprising each of the plurality of other media subjects sorted according to their corresponding determined priority; and

downloading at least another one of the plurality of other media subjects from the second processing device based on an order of the at least one other one of the plurality of media subjects in the generated list for caching in the memory.

16. The method of claim 15 wherein determining the download priority comprises:

calculating a plurality of caching factors for each of the plurality of other media subjects; and

weighting each of the plurality of caching factors for each of the plurality of other media subjects to determine the download priority.

17. The method of claim 16 wherein the caching factors for each of the plurality of other media subjects comprise:

an estimated time to consumption for each of the plurality of the other media subjects;

a download time for each of the plurality of the other media subjects;

a probability of direct navigation to each of the plurality of the other media subjects; and

a distance between each of the plurality of the other media subjects and the current media subject.

18. The method of claim 15 wherein the at least three different directions from the current media subject to the plurality of media subjects are restricted to a predetermined set of directions selected from a group consisting of a forward direction, a backward direction, a downward direction, and an upward direction.

19. The method of claim 15 further comprising generating the input through an input component selected from a group consisting of a plurality of navigation keys and a pointing device.

20. The method of claim 15 further comprising:

determining a navigation mode of the first processing device, the navigation mode being selected from:

a first navigation mode in which the first processing device is responsive to input received through a plurality of navigation keys to enable restricted movement from the current subject to the plurality of other media subjects; and

a second navigation mode in which the first processing device is responsive to input received through a pointing device to enable unrestricted movement from the current subject to the plurality of other media subjects.

21. A method for caching content retrieved from a server in a cache memory of a mobile device comprising:

generating a content request at the mobile device in response to input received at the mobile device, the content request comprising an identification of a current media subject to download;

downloading, at the mobile device, the current media subject and a predefined structure associated with the current media subject, the predefined structure identifying the current media subject, a plurality of other media subjects, and a navigation path having at least three different directions from the current subject to the plurality of other media subjects;

consuming the current media subject at the mobile device;

determining whether a navigation mode of the mobile device is a first navigation mode or a second navigation mode, the first navigation mode corresponding to restricted movement between the current media subject and the plurality of other media subjects and the second navigation mode corresponding to unrestricted movement between the current media subject and the plurality of other media subjects;

downloading at least two of the plurality of other media subjects identified in the predefined structure that are adjacent to the current media subject, the at least two of the plurality of other media subjects not being either previously requested or directly referenced by the current media subject, and caching the at least two of the plurality of other media subjects in the memory while the current media subject is being consumed;

assigning a download priority to each of the plurality of other media subjects as a function of a plurality of caching criteria and the determined navigation mode;

generating a list comprising each of the plurality of other media subjects sorted according to their assigned priority; and

downloading at least another one of the plurality of other media subjects based on an order of the at least one other one of the plurality of other media subjects in the generated list for caching in the memory.

22. The method of claim 21 wherein determining the navigation mode comprises determining the first navigation mode when the input is received through a plurality of navigation keys on the mobile device, the navigation keys enabling the restricted movement between the current media subject and the plurality of other media subjects, and determining a second navigation mode when the input is received through a pointing device for the mobile device, the pointing device enabling the unrestricted movement between the current media subjects and the plurality of other media subjects.

23. The method of claim 22 further comprising automatically enabling restricted movement along the navigation path from the current subject to a next one of the plurality of other media subjects after the current media subject has been consumed.

24. The method of claim 22 further comprising:

detecting a removal of the pointing device from the mobile device; and

determining the navigation mode to be the second navigation mode when the removal of the pointing device is detected.

25. The method of claim 21 wherein the content comprises at least one member of a media group consisting of audio, video, an image, and text.

26. The method of claim 21 wherein the predefined structure comprises a magazine.

27. The method of claim 21 wherein average consumption time of the current subject is greater than the download time of the plurality of other media subjects.

28. The method of claim 21 wherein the mobile device comprises at least one member of a group consisting of a mobile media playback device, a personal digital assistant, and a phone.

29. The method of claim 21 further comprising:

determining if an amount of available storage space in the memory is sufficient for storing a next one of the plurality of other media subjects in the generated list; and

only caching the next one of the plurality of other media subjects in the memory if the amount of available storage space is determined to be sufficient.

30. The method of claim 21 wherein the at least two of the plurality of other media subjects are each one step away from the current media subject along the navigation path having the at least three navigation paths, and wherein the at least one other one of the plurality of other media subjects is at least two steps away from the current media subject along the navigation path.

31. A method for caching content from a server in a memory of a processing device comprising:

generating a content request at the mobile device in response to an input at the mobile device, the content request identifying a current media subject to download from the server;

retrieving the current media subject and a media package structure associated with the current media subject to the processing device, the media package structure identifying the current media subject, a plurality of other media

subjects and at least four different navigation directions from the current subject to the plurality of other media subjects, the at least four different navigation directions corresponding to a forward direction, a backward direction, an upward direction, and a downward direction;

consuming the current media subject at the processing device; and

downloading at least two of the plurality of other media subjects identified in the media package structure that are adjacent to the current media, the at least two of the plurality of other media subjects not being either previously requested or directly referenced by the current media subject, and caching the at least two of the plurality of other media subjects in the memory while the current media subject is being consumed.

32. The method of claim 31 wherein the forward direction enables movement to a next subject on a same level as the current subject, the backward direction enables movement to a previous subject on the same level, the downward direction enables movement to a more detailed level, and the upward direction enables movement to a more general level.

33. A method for caching content retrieved from a server in a memory of a mobile device comprising:

generating a content request at the mobile device in response to an input received at the mobile device, the content request identifying a current media subject to download from the server;

retrieving the current media subject and a media structure associated with the current media subject from the server, the media package structure identifying the current media subject, a plurality of other media subjects and at least four different navigation directions from the current subject to the plurality of other media subjects, the at least four navigation different directions corresponding to a forward direction, a backward direction, an upward direction, and a downward direction;

consuming the current media subject at the mobile device;

downloading at least two of the plurality of other media subjects identified in the media package structure that are adjacent to the current media subject, the at least two of the plurality of other media subjects not being either previously requested or directly referenced by the current media subject, and caching the at least two of the plurality of other media subjects in the memory while the current media subject is being consumed; and

downloading at least another one of the plurality of other media subjects for caching in the memory as function of a plurality of caching criteria.

34. A method for caching content retrieved from a server in a cache memory of a mobile device comprising:

generating a content request at the mobile device in response to input received at the mobile device, the content request comprising an identification of a current media subject to download;

determining a navigation mode of the mobile device;

downloading, at the mobile device, the current media subject and a predefined structure associated with the current media subject from the server, the predefined structure identifying the current media subject, a plurality of other media subjects and a navigation path having at least three different directions from the current subject to the plurality of other media subjects;

consuming the current media subject at the mobile device;

determining whether a navigation mode of the mobile device is a first navigation mode or a second navigation mode, the first navigation mode corresponding to restricted movement between the current media subject and the plurality of other media subjects and the second navigation mode corresponding to unrestricted movement between the current media subject and the plurality of other media subjects;

downloading at least two of the plurality of other media subjects identified in the predefined structure that are adjacent to the current media subject, the at least two of the plurality of other media subjects not being either previously requested or directly referenced by the current media subject, and caching the at least two of the plurality of other media subjects in the memory while the current media subject is being consumed; and

downloading at least another one of the plurality of other media subjects for caching in the memory based on a plurality of caching criteria and the determined navigation mode.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2022
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: IBSV LLC; LAYER3 TV, LLC; PUSHSPRING, LLC; T-MOBILE CENTRAL LLC; T-MOBILE USA, INC.; ASSURANCE WIRELESS USA, L.P.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; SPRINTCOM LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM LLC
Reel/Frame 062595/0001 →
TERMINATION AND RELEASE OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Apr 3, 2020
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: PINSIGHT MEDIA+, INC.
Reel/Frame 052313/0167 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: T-MOBILE USA, INC.; ISBV LLC; T-MOBILE CENTRAL LLC; LAYER3 TV, INC.; PUSHSPRING, INC.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; CLEARWIRE LEGACY LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM L.P.; ASSURANCE WIRELESS USA, L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 053182/0001 →
GRANT OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Mar 3, 2017
From: PINSIGHT MEDIA+, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 041881/0827 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2008
From: HANDMARK EUROPE AB
To: HANDMARK, INC.
Reel/Frame 020827/0393 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2007
From: ZERVAS, KONSTANTIN; ARONSSON, TOMAS
To: MEDIABRICKS AB
Reel/Frame 019925/0631 →
CHANGE OF NAME Recorded Jan 23, 2007
From: MEDIABRICKS AB
To: HANDMARK EUROPE AB
Reel/Frame 018835/0422 →
Priority Claims (2)
EP 008501488 · Sep 11, 2000 · regional
EP 011125499 · May 23, 2001 · regional
Continuity (1)
Related Publication 20030172134A1 · Sep 11, 2003