# US 9,519,574 B2 · Dynamic content access window loading and unloading

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,519,574 B2
- Document ID: US9519574B2
- Status: Granted
- Kind: B2
- Application number: 13/687,809
- Filed: 2012-11-28
- Published: 2014-05-29
- Granted: 2016-12-13
- Earliest claimed: 2012-11-28
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Frank R. Morrison, III; Brandon Hunt; Alexander Burba
- Web page: https://patentgrep.com/patent/US9519574B2

## CPC

- G06F 12/02: Addressing or allocation; Relocation (program address sequencing G06F9/00; arrangements for selecting an address in a digital store G11C8/00)
- A63F 9/24: Games using electronic circuits not otherwise provided for
- A63F 13/67: adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0649: {Lifecycle management}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F 12/00: Accessing, addressing or allocating within memory systems or architectures (digital input from, or digital output to record carriers, e.g. to disk storage units, G06F3/06)
- A63F 2300/206: Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
- A63F 2300/6027: using adaptive systems learning from user actions, e.g. for skill level adjustment
- G06F 12/0862: with prefetch
- G06F 2212/6024: History based prefetching
- G06F 2212/6042: Allocation of cache space to multiple users or processors
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR

## Abstract

A computing device includes a primary content storage machine configured to selectively store one or more content portions of a digital content item, such as game portions of a video game. The computing device is configured to determine a size of a dynamically changing content access window including one or more content portions usable to provide an above-threshold user experience, such as uninterrupted game play, based on a current access position of the digital content item or video game and historical user-specific play patterns or game play consumption rates of different users. The computing device is configured to dynamically load the primary content storage machine with the content portions or game portions corresponding to the content access window and dynamically unload the content or game portions outside of the content access window from the primary content storage machine.

## Claims

### Claim 1

A computing device, comprising:
a primary content storage machine, the primary content storage machine configured to selectively store one or more game portions of a video game; and
a logic machine configured to:
determine a size of a dynamically changing content access window including one or more game portions usable to provide an above-threshold user experience based on a current access position of the video game and historical user-specific play patterns such that a relatively larger size of the content access window is determined for users that consume game play relatively faster, and a relatively smaller size of the content window is determined for users that consume game play relatively slower;
dynamically load the primary content storage machine with the one or more game portions of the video game corresponding to the content access window;
determine which previously loaded game portions of the video game are outside of the content access window based on a statistical likelihood that those game portions are less likely to be accessed; and
dynamically unload the game portions of the video game outside of the content access window from the primary content storage machine.

### Claim 2 (depends on 1)

The computing device of claim 1, where the logic machine is further configured to delete the game portions of the video game outside of the content access window from the primary content storage machine.

### Claim 3 (depends on 1)

The computing device of claim 1, further comprising an extended content storage machine, where the logic machine is further configured to load the extended content storage machine with the game portions of the video game outside of the content access window.

### Claim 4 (depends on 3)

The computing device of claim 3, where the logic machine is further configured to specify how much of the extended content storage machine is usable to load the game portions of the video game outside of the content access window.

### Claim 5 (depends on 3)

The computing device of claim 3, where the extended content storage machine includes a plurality of discrete content storage machines, where the logic machine is further configured to selectively load one or more of the discrete content storage machines with the game portions of the video game outside of the content access window.

### Claim 6 (depends on 3)

The computing device of claim 3, where the logic machine is configured to dynamically load the primary content storage machine with the game portions of the video game corresponding to the content access window by acquiring game portions from the extended content storage machine.

### Claim 7 (depends on 1)

The computing device of claim 1, where the primary content storage machine is a non-volatile content storage machine.

### Claim 8 (depends on 1)

The computing device of claim 1, where the content access window includes a minimum set of game portions determined to provide the above-threshold user experience.

### Claim 9 (depends on 1)

The computing device of claim 1, where the content access window corresponds to a particular time period of content access about the current access position.

### Claim 10 (depends on 1)

The computing device of claim 1, where the logic machine is configured to selectively vary a size of the content access window.

### Claim 11

A method for presenting a video game comprising a plurality of game portions, the method comprising:
determining a size of a dynamically changing content access window including one or more game portions usable to provide an above-threshold user experience based on a current access position of the video game and historical user-specific play patterns such that a relatively larger size of the content access window is determined for users that consume game play relatively faster, and a relatively smaller size of the content window is determined for users that consume game play relatively slower;
dynamically loading a primary content storage machine with the one or more game portions of the video game corresponding to the content access window;
determining which previously loaded game portions of the video game are outside of the content access window based on a statistical likelihood that those game portions are less likely to be accessed; and
dynamically unloading the game portions of the video game outside of the content access window from the primary content storage machine.

### Claim 12 (depends on 11)

The method of claim 11, further comprising deleting the game portions of the video game outside of the content access window from the primary content storage machine.

### Claim 13 (depends on 11)

The method of claim 11, further comprising loading an extended content storage machine with the game portions of the video game outside of the content access window.

### Claim 14 (depends on 13)

The method of claim 13, further comprising specifying how much of the extended content storage machine is usable to load the game portions of the video game outside of the content access window.

### Claim 15 (depends on 13)

The method of claim 13, further comprising selectively loading one or more of a plurality of discrete content storage machines of the extended content storage machine with the game portions of the video game outside of the content access window.

### Claim 16 (depends on 13)

The method of claim 13, further comprising dynamically loading the primary content storage machine with the game portions of the video game corresponding to the content access window by acquiring game portions from the extended content storage machine.

### Claim 17 (depends on 11)

The method of claim 11, where the primary content storage machine is a non-volatile content storage machine.

### Claim 18 (depends on 11)

The method of claim 11, where the content access window includes a minimum set of game portions determined to provide the above-threshold user experience.

### Claim 19 (depends on 11)

The method of claim 11, where the content access window corresponds to a particular time period of content access about the current access position.
