IP Library Granted Patent US 9,363,201
Granted Patent B2
US 9,363,201 · App. 14/590,349 · Granted Jun 7, 2016

Method and apparatus for allocating client resources to multiple applications

Inventor: Labeeb K. Ismail (San Francisco, CA)
Assignee: TVWorks, LLC
H04L47/827G06F9/5016H04L43/16H04L47/822H04L67/1097H04N5/76H04N7/165H04N21/4147H04N21/42661H04N21/4335H04N21/4424H04N21/6543G06F17/30135G06F17/30147G06F2209/5014
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 9,363,201
App. No.
14/590,349
Granted
Jun 7, 2016
Kind
B2
Abstract

A quota management system for Personal Video Recorders (PVRs) in which the storage space available on connected storage devices is shared between multiple content providers or multiple software programs.

Claims (61)

1. A method comprising:

receiving, by a computing device in communication with a storage device, a request from a software program to reserve an amount of storage space on a logical volume comprising memory space from at least one physical partition on the storage device;

determining, by the computing device, that the software program is allowed to reserve the amount of storage space in accordance with allocation provisioning information defining a maximum amount of space the software program can reserve on the logical volume;

based at least in part on determining that the software program is allowed to reserve the amount of storage space, reserving the amount of storage space on the logical volume for the software program such that the amount of storage space is available to the software program for recording media content;

subsequent to reserving the amount of storage space, monitoring use of the logical volume to determine whether a quota has been violated, the quota specifying a maximum amount of space that can be used for storing media content on the logical volume, and the maximum amount of space that can be used for storing media content on the logical volume being different from the maximum amount of space the software program can reserve on the logical volume; and

responsive to determining that the quota has been violated, deleting at least one item of media content from the logical volume to eliminate the violation.

2. The method of claim 1 , wherein the at least one physical partition comprises a media partition that is dedicated to storing media content and a data partition that is dedicated to storing data other than media content, wherein the logical volume comprises memory space from both the media partition and the data partition.

3. The method of claim 1 , further comprising:

receiving, from the software program, a recording request indicating that the software program intends to schedule or start a recording of media content.

4. The method of claim 3 , further comprising:

subsequent to receiving the recording request, determining whether the quota is violated, resulting in a determination that the quota is not violated; and

subsequent to the determination that the quota is not violated, performing the recording of media content.

5. The method of claim 1 , wherein monitoring use of the logical volume to determine whether the quota has been violated comprises determining whether the maximum amount of space that can be used for storing media content on the logical volume has been exceeded.

6. The method of claim 1 , further comprising:

creating the logical volume; and

subsequent to creating the logical volume, setting the quota on the logical volume.

7. The method of claim 1 , wherein reserving the amount of storage space on the logical volume for the software program creates a reservation specifying the amount of storage space, and wherein the method further comprises:

determining whether the reservation should be changed, wherein determining whether the reservation should be changed is performed according to at least one of a periodic interval or during a boot up of the computing device; and

responsive to determining that the reservation should be changed, changing the reservation.

8. The method of claim 1 , further comprising:

receiving, from the software program, a volume creation request specifying the logical volume;

determining that the software program has permission to create the logical volume; and

responsive to determining that the software program has permission to create the logical volume, creating the logical volume.

9. A method comprising:

receiving, by a computing device in communication with one or more storage devices, a request from a software program to reserve an amount of storage space on a logical volume comprising memory space from two or more physical partitions of the one or more storage devices;

determining, by the computing device, that the software program is allowed to reserve the amount of storage space in accordance with allocation provisioning information defining a maximum amount of space the software program can reserve on the logical volume;

based at least in part on determining that the software program is allowed to reserve the amount of storage space, reserving the amount of storage space on the logical volume for the software program such that the amount of storage space is available to the software program for recording media content;

subsequent to reserving the amount of storage space, monitoring use of the logical volume to determine whether a quota has been violated, the quota specifying a maximum amount of space that can be used for storing media content on the logical volume, and the maximum amount of space that can be used for storing media content on the logical volume being different from the maximum amount of space the software program can reserve on the logical volume; and

responsive to determining that the quota has been violated, deleting at least one item of media content from the logical volume to eliminate the violation.

10. The method of claim 9 , wherein the two or more physical partitions comprises a media partition that is dedicated to storing media content and a data partition that is dedicated to storing data other than media content, wherein the logical volume comprises memory space from both the media partition and the data partition.

11. The method of claim 9 , further comprising:

receiving, from the software program, a recording request indicating that the software program intends to schedule or start a recording of media content;

subsequent to receiving the recording request, determining whether the quota is violated, resulting in a determination that the quota is not violated; and

subsequent to the determination that the quota is not violated, performing the recording of media content.

12. The method of claim 9 , wherein monitoring use of the logical volume to determine whether the quota has been violated comprises determining whether the maximum amount of space that can be used for storing media content on the logical volume has been exceeded.

13. The method of claim 9 , wherein reserving the amount of storage space on the logical volume for the software program creates a reservation specifying the amount of storage space, and wherein the method further comprises:

determining whether the reservation should be changed, wherein determining whether the reservation should be changed is performed according to at least one of a periodic interval or during a boot up of the computing device; and

responsive to determining that the reservation should be changed, changing the reservation.

14. The method of claim 9 , further comprising:

receiving, from the software program, a volume creation request specifying the logical volume;

determining that the software program has permission to create the logical volume; and

responsive to determining that the software program has permission to create the logical volume, creating the logical volume.

15. A method comprising:

receiving, by a personal video recorder (PVR) in communication with one or more storage devices, a request from a software program to reserve an amount of storage space on a logical volume comprising memory space from one or more physical partitions of the one or more storage devices;

determining, by the PVR, that the software program is allowed to reserve the amount of storage space in accordance with allocation provisioning information defining a maximum amount of space the software program can reserve on the logical volume;

based at least in part on determining that the software program is allowed to reserve the amount of storage space, reserving the amount of storage space on the logical volume for the software program such that the amount of storage space is available to the software program for recording media content;

subsequent to reserving the amount of storage space, monitoring use of the logical volume to determine whether a quota has been violated, the quota specifying a maximum amount of space that can be used for storing media content on the logical volume, and the maximum amount of space that can be used for storing media content on the logical volume being different from the maximum amount of space the software program can reserve on the logical volume; and

responsive to determining that the quota has been violated, deleting at least one item of media content from the logical volume to eliminate the violation.

16. The method of claim 15 , wherein the one or more physical partitions comprise a media partition that is dedicated to storing media content and a data partition that is dedicated to storing data other than media content, wherein the logical volume comprises memory space from both the media partition and the data partition.

17. The method of claim 15 , further comprising:

receiving, from the software program, a recording request indicating that the software program intends to schedule or start a recording of media content;

subsequent to receiving the recording request, determining whether the quota is violated, resulting in a determination that the quota is not violated; and

subsequent to the determination that the quota is not violated, performing the recording of media content.

18. The method of claim 15 , wherein monitoring use of the logical volume to determine whether the quota has been violated comprises determining whether the maximum amount of space that can be used for storing media content on the logical volume has been exceeded.

19. The method of claim 15 , wherein reserving the amount of storage space on the logical volume for the software program creates a reservation specifying the amount of storage space, and wherein the method further comprises:

determining whether the reservation should be changed, wherein determining whether the reservation should be changed is performed according to at least one of a periodic interval or during a boot up of the PVR; and

responsive to determining that the reservation should be changed, changing the reservation.

20. The method of claim 15 , further comprising:

receiving, from the software program, a volume creation request specifying the logical volume;

determining that the software program has permission to create the logical volume; and

responsive to determining that the software program has permission to create the logical volume, creating the logical volume.

Assignments (4)
MERGER Recorded Apr 17, 2017
From: TVWORKS, LLC
To: COMCAST CABLE COMMUNICATIONS MANAGEMENT, LLC
Reel/Frame 042269/0069 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2015
From: ISMAIL, LABEEB K.
To: LIBERATE TECHNOLOGIES
Reel/Frame 036937/0396 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2015
From: LIBERATE TECHNOLOGIES
To: DOUBLE C TECHNOLOGIES, LLC
Reel/Frame 036937/0408 →
CHANGE OF NAME Recorded Nov 2, 2015
From: DOUBLE C TECHNOLOGIES, LLC
To: TVWORKS, LLC
Reel/Frame 037031/0399 →
Continuity (2)
Continuation 10788099 · Feb 26, 2004
Related Publication 20150319105A1 · Nov 5, 2015