IP Library Granted Patent US 7,590,779
Granted Patent B2
US 7,590,779 · App. 10/977,643 · Granted Sep 15, 2009

Determining latency and persistency of storage devices and presenting a save/read user interface through abstracted storage

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,590,779
App. No.
10/977,643
Granted
Sep 15, 2009
Kind
B2
Abstract

A system and method for enabling users and developers to store data on a number of different types of local and remote devices connected to a multimedia console or a gaming console. The range of available storage devices creates issues that are addressed to avoid apparent inconsistencies in storage performance (e.g. latency). A consistent method of reading and writing data is provided such that end users and developers do not have to be concerned with restrictions and limitations inherent to various devices.

Claims (44)

1. A method for reading/writing data from one of multiple, diverse storage devices communicatively connected to a gaming console, comprising:

determining a latency for each one of the multiple, diverse storage devices and assigning each one of the multiple, diverse storage devices a persistency level, wherein the persistency level for each storage device is assigned by the gaming console,

and wherein

internal hard disk drives of the gaming console are assigned higher persistency levels than the persistency levels of local memory units that can be disconnected from the gaming console,

local memory units that can be disconnected from the gaming console are assigned higher persistency levels than the persistency levels of storage devices from remote networked PCs, and

storage devices from remote networked service servers are assigned higher persistency levels than the persistency levels of storage devices from remote network PCs;

detecting an event requesting to read/write data;

calculating a value for each one of the multiple, diverse storage devices, wherein the value is calculated in accordance with the latency and the persistency level for each storage device;

selecting a default storage device from the multiple, diverse storage devices with a highest value;

presenting a user interface displaying each one of the multiple, diverse storage devices, an estimated time to read/write said data to each one of the multiple, diverse storage devices, and the selected default storage device; and

receiving an input selecting a particular storage device out of the multiple,

diverse storage devices from which said data is to be read/written.

2. The method of claim 1 , further comprising determining said estimated time in accordance with a latency of each storage device.

3. The method of claim 2 , further comprising providing a progress status of a read/write to said particular storage device.

4. The method of claim 2 , further comprising determining said latency by ascertaining a speed of a connection for each storage device to said gaming console.

5. The method of claim 1 , further comprising detecting and enumerating storage devices in response to said event.

6. A computer readable storage medium having stored thereon computer executable instructions for reading/writing data from one of multiple, diverse storage devices communicatively connected to a gaming console, said instructions, when executed by a computer comprises steps for:

determining a latency for each one of multiple, diverse storage devices and assigning each one of the multiple, diverse storage devices a persistency level, wherein the persistency level for each storage device is assigned by the gaming console,

and wherein

internal hard disk drives of the gaming console are assigned higher persistency levels than the persistency levels of local memory units that can be disconnected from the gaming console,

local memory units that can be disconnected from the gaming console are assigned higher persistency levels than the persistency levels of storage devices from remote networked PCs, and

storage devices from remote networked service servers are assigned higher persistency levels than the persistency levels of storage devices from remote network PCs;

detecting an event requesting to read/write data;

calculating a value for each one of the multiple, diverse storage devices, wherein the value is calculated in accordance with the latency and the persistency level for each storage device;

selecting a default storage device from the multiple, diverse storage devices with a highest value;

presenting a user interface displaying each one of the multiple, diverse storage devices, an estimated time to read/write said data to each one of the multiple, diverse storage devices, and the selected default storage device; and

receiving an input selecting a particular storage device out of the multiple, diverse storage devices from which said data is to be read/written.

7. The computer readable storage medium of claim 6 , further comprising instructions to determine said estimated time in accordance with a latency of each storage device.

8. The computer readable storage medium of claim 7 , further comprising instructions for providing a progress status of a read/write to said particular storage device.

9. The computer readable storage medium of claim 7 , further comprising determining said latency by ascertaining a speed of a connection for each storage device to said gaming console.

10. The computer readable storage medium of claim 6 , further comprising instructions for detecting and enumerating storage devices in response to said event.

11. A method for determining latency and persistency of one of multiple diverse storage devices communicatively connected to a gaming console, comprising:

determining, by the console, a connection speed for each one of the multiple, diverse storage devices during a boot process and assigning each one of the multiple, diverse storage devices a persistency level, wherein the persistency level for each storage device is assigned by the gaming console,

and wherein

internal hard disk drives of the gaming console are assigned higher persistency levels than the persistency levels of local memory units that can be disconnected from the gaming console,

local memory units that can be disconnected from the gaming console are assigned higher persistency levels than the persistency levels of storage devices from remote networked PCs, and

storage devices from remote networked service servers are assigned higher persistency levels than the persistency levels of storage devices from remote network PCs;

detecting an event requesting to read/write data from a video game executing on the console;

calculating, by the console, a value for each one of the multiple, diverse storage devices, wherein the value is calculated in accordance with the connection speed and the persistency level for each storage device;

selecting, by the console, a default storage device from the multiple, diverse storage devices with a highest value;

presenting a user interface displaying each one of the multiple, diverse storage devices, an estimated time to read/write said data to each one of the multiple, diverse storage devices determined in accordance with said connection speed, and the selected default storage device; and

receiving an input selecting a particular storage device out of the multiple, diverse storage devices from which said data is to be read/written.

12. The method of claim 11 , further comprising providing a progress status of a read/write to said particular storage device.

13. The method of claim 11 , further comprising: detecting and enumerating storage devices in response to said event; and re-determining said connection speed in response to said event.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →