Patentable/Patents/US-7325017
US-7325017

Method of implementation of data storage quota

PublishedJanuary 29, 2008
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

The present invention provides a methodology of organization of control over the process of space or other quantitative parameter of resource allocation in computer data storages. More specifically, the present invention organizes areas of quoted space or time. A method and system of the present invention includes an establishment of quotas for an area of a file system that takes into account the belonging of a file to a certain subtree or subtrees of the file system. The quota management of the present invention is established within a usual computer system which includes a hierarchic file system, as well as a set of unique users, that could be united into groups.

Patent Claims
41 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A system for implementing a data storage quota comprising: a plurality of users associated with a computer system, each user having a unique identifier; a hierarchic file system on top of a data storage device, wherein the hierarchic file system comprises a plurality of files and a plurality of directories; the plurality of files and directories stored on the storage device and arranged into a plurality of trees, wherein each file and each directory has at least one unique identifier; a level of consumption associated with a plurality of resources of the hierarchic file system; a second file system mounted inside any available directory of the hierarchic file system such that the computer system uses the second file system as a new tree of the hierarchic file system; a quantitative parameter calculated to correspond to file resource consumption associated with the new tree, wherein the system calculates the quantitative parameter by: defining a quota for a level of consumption of a plurality of resources of the hierarchic file system related to the new tree; analyzing a full access path to one of the files to determine whether the file belongs to the new tree and should be associated with the quota, based on the full access path that includes the new tree; associating a file request for data allocation to the one of the files as being related to the new tree quota; for the new tree, storing the current level of consumption and the quota for the level of consumption of a plurality of resources of the hierarchic file system associated with the unique identifiers; in response to requests for data allocation, providing responses to the requests, including an allowed level of consumption associated with quota for the level of consumption of a plurality of resources of the hierarchic file system, based on the current level and the quota for the level of consumption of a plurality of resources of the hierarchic file system; and based on the responses, determining whether the requests can be fulfilled; and reserving space for user data based on the identifier associated with the user.

2

2. The system of claim 1 , wherein said hierarchic file system can have a hidden root directory that is not visible to said plurality of users.

3

3. The system of claim 1 , wherein at least one identifier acts as an attribute to denote belonging to at least one of said plurality of users and at least one user group.

4

4. The system of claim 1 , wherein said hierarchic file system further comprises a specific data storage space mounted to an available directory area, said specific data storage area comprising a second computer file system.

5

5. The system of claim 4 , wherein said computer system has an opportunity to use said second computer file system as an extension of said hierarchic file system.

6

6. The system of claim 1 , wherein said plurality of directories and said available directory act as a plurality of mounting points of said hierarchic file system, wherein said plurality of mounting points are located inside said hierarchic file system, and wherein said plurality of mounting points are utilized by a plurality of mounting objects.

7

7. The system of claim 6 , wherein said plurality of mounting objects comprise a plurality of file system volumes and a plurality of file system sub-trees.

8

8. The system of claim 1 , wherein said plurality of unique identifiers are within a context of an operating system.

9

9. The system of claim 8 , further comprising a computer network connected with said computer system and wherein said context of said operating system comprises a set of identifiers unique in said computer network.

10

10. The system of claim 8 , wherein said context of said operating system comprises a set of identifiers unique on said computer system.

11

11. The system of claim 8 , wherein said context of said operating system comprises a set of identifiers unique to an allocated area of said computer system.

12

12. The system of claim 11 , wherein said allocated area comprises a chroot environment.

13

13. The system of claim 11 , wherein said allocated area comprises a virtual environment.

14

14. The system of claim 1 , wherein said plurality of parameters of said hierarchic file system comprises at least one of a consumption parameter on a size of at least one of said plurality of data storage devices associated with at least one of said plurality of users and said user group, a consumption parameter on a number of various auxiliary file system structures used to arrange files of at least one of said plurality of users and said user group, a consumption parameter on other parameters of auxiliary operations performed by an operating system to serve at least one of said plurality of users and said user group during a period of time, and a consumption parameter on a time and range of modifications of any of said above consumption parameters that allow a user to modify already defined limitations.

15

15. The system of claim 1 , wherein use of the quota does not require modification of a manner in which data and file metadata are represented in said hierarchic file system, as well as a way of representing file system service data in the data storage device organized below the hierarchic file system.

16

16. A method for implementing a data storage quota comprising: authorizing a plurality of users within a computer system with a plurality of unique identifiers of any context of an operating system; grouping a first set of users of the plurality of users in a user group, each user in the first group having at least one unique identifier; organizing a hierarchic computer file system on top of a data storage device, wherein the hierarchic computer file system comprises a plurality of files, a plurality of parameters and a plurality of directories; arranging the plurality of files into a plurality of trees, wherein each file has at least one unique identifier to denote belonging to at least one user of the first group and to the user group; describing qualitative characteristics of a level of consumption of a plurality of resources of the hierarchic computer file system by at least one user and the user group via the plurality of parameters; mounting a specific data storage area as a second file system inside any available directory of the hierarchic computer file system, wherein, after the mounting, the computer system can use the second file system as an extension of a new tree of the hierarchic computer file system; calculating a used quantitative parameter of file resource consumption associated with the plurality of files; and informing at least one user of a total value of a set of quantitative parameters of file resource consumption using the used quantitative parameter, wherein said calculating step further comprises: defining a calculation area of an occupied space as a sub-tree of said hierarchic computer file system located on a search path below any of said plurality of directories; using an algorithm to analyze a full access path to at least one of said plurality of files and to define belonging of said at least one file to said calculation area, wherein said belonging to said area is defined by a presence of an address of any one of said plurality of directories that starts from a directory root in said full access path; associating at least one of said plurality of files with at least one of said plurality of unique identifiers for identifying at least one of said plurality of users and said user group via a usage of information stored in said hierarchic computer file system as information about file ownership; using one of a special file, a data storage area, a computer operating memory and a special server that stores and updates data comprising one of a current size of an occupied space and a quantitative parameter of file resource consumption that is associated with at least one of said unique identifiers; serving a plurality of operating services via one of a special program of said operating system and a kernel of said operating system, said plurality of operating services comprising a plurality of requests for data allocation in at least one of said storage devices and a plurality of answers of said plurality of requests about sizes of allowed and currently occupied area of said data storage devices by a user associated with at least one of said plurality of unique identifiers; using one of said special file, said data storage area, said computer operating memory and said special network server by at least one of said special program and said operating system kernel; and defining an opportunity to reserve space for user data identified by at least of one of said plurality of identifiers via a usage of one of said special file, said data storage area, said computer operating memory and said special network server by at least one of said operating system services.

17

17. The method of claim 16 , wherein said calculating step further comprises: coupling a set of identifiers from said plurality of unique identifiers to said used quantitative parameter of file resource consumption; and marking said set of quantitative parameters of file resource consumption with said set of identifiers from said plurality of unique identifiers and other quota parameters of said used quantitative parameter of file resource consumption.

18

18. The method of claim 16 , wherein a set of directories within said plurality of directories comprises a plurality of mounting points of said hierarchic computer file system, wherein said plurality of mounting points are located inside said hierarchic computer file system, and wherein a file system volume and a file system sub-tree can each be used as a mounting object for said plurality of mounting points.

19

19. The method of claim 16 , wherein said calculating step further comprises: initializing at least one of said special file, said data storage area, said computer operating memory and said special server for storage and update of information about current size of said used quantitative parameter of file resource consumption that defines initial values for a plurality of usage parameters of a data storage space for at least one of said plurality of unique identifiers associated with an area of said used quantitative parameter of file resource consumption; setting up values of usage limits of data storage space for at least one of said plurality of users and said user group; and tracking of alteration quantitative characteristics of a resource consumption level.

20

20. The method of claim 19 , wherein said serving said plurality of operating services uses a plurality of defined parameters from said plurality of parameters of said hierarchic computer file system and wherein said plurality of defined parameters are used to manage an allocation of a data storage area within said hierarchic computer file system.

21

21. The method of claim 16 , wherein said calculating step further comprises: releasing an allocated area size and a plurality of other data storage parameters; and modifying said allocated area size and said plurality of wherein said releasing and modifying steps are performed by at least one of said special program of said operating system and said operating system kernel.

22

22. The method of claim 16 , wherein said calculating step further comprises: releasing an allocated area size and a plurality of other data storage parameters; and modifying said allocated area size and said plurality of other data storage parameters.

23

23. The method of claim 22 , wherein said releasing and modifying step comprises: for an operation to be performed on a file, identifying the file and which quotas are associated with that file and that operation, wherein the quotas include resource consumption parameters; determining unique identifiers associated with the quotas; determining current resource consumption parameters for the file; for each current resource consumption parameter, identifying a plurality of limitations associated with the current resource consumption parameters based on the quotas associated with at least one user; comparing the identified limitations with a current value of available resources, wherein the resources include any of a storage usage, a current state of the computer system, a current state of the hierarchic computer file system and a requested size for an allocated space and other parameters of data storage; determining whether the operation can be performed, based on the comparing step; executing the operation; and based on the determining step, updating the current resource consumption parameter, wherein the current resource consumption parameter is stored in any of a special file, a data storage area, a computer operating memory, and a server.

24

24. The method of claim 23 , wherein said releasing and modifying steps are performed by at least one of a special program of said operating system and a kernel of said operating system.

25

25. The method of claim 16 , wherein said plurality of parameters of said hierarchic computer file system comprises at least one of a consumption parameter on a size of at least one of said plurality of data storage devices associated with at least one of said plurality of users and said user group, a consumption parameter on a number of various auxiliary file system structures used to arrange files of at least one of said plurality of users and said user group, a consumption parameter on other parameters of auxiliary operations performed by an operating system to serve at least one of said plurality of users and said user group during a period of time, and a consumption parameter on a time and range of modifications of any of said above consumption parameters that allows for use by a user to modify already defined limitations.

26

26. The method of claim 16 , said calculating step can operate on top of said hierarchic computer file system and does not require modification of any manner in which data and file metadata are represented, as well as any way file system service data is represented in said storage device of said hierarchic computer file system.

27

27. The method of claim 16 , wherein the calculating step further comprises: defining a sub-tree of the hierarchic computer file system that includes at least one directory and at least one file; and identifying the file as belonging to the sub-tree by analyzing a full access path to the file, based on a presence of an address of any one of the directories that includes the file and where the full access path includes a directory root.

28

28. The method of claim 27 , wherein the calculating step further comprises associating the file with one of the unique identifiers for identifying one of the users and the user group through file ownership information stored in the hierarchic computer file system.

29

29. The method of claim 28 , wherein the calculating step further comprises using, for the calculating step, a current value of a quantitative parameter of file resource consumption that is associated with the one of the unique identifiers.

30

30. The method of claim 29 , wherein the calculating step further comprises deciding whether the operating system can respond to requests that relate to the file, wherein the deciding step is based on the current value and a value of the quantitative parameter required to respond to the requests.

31

31. The method of claim 30 , wherein the requests affect the quantitative parameter, and wherein the response to the requests includes modifying parameters of the request and parameters of a service process used by the operating system to service the request.

32

32. The method of claim 30 , wherein the deciding step is performed for all requests to the operating system for file access.

33

33. The method of claim 29 , further comprising releasing storage space, based on the quantitative parameter, for user data identified by the one unique identifier.

34

34. The method of claim 29 , further comprising reserving storage space, based on the quantitative parameter, for user data identified by the one unique identifier.

35

35. The method of claim 29 , further comprising modifying an amount of allocated storage space, based on the quantitative parameter, for user data identified by the one unique identifier.

36

36. The method of claim 29 , wherein the calculating step further comprises: initializing the current value of the quantitative parameter to a calculated initial value of the quantitative parameter associated with the unique identifier.

37

37. The method of claim 36 , wherein the calculating step further comprises: setting up values of usage limits for the quantitative parameter for the one unique identifier.

38

38. The method of claim 37 , wherein the calculating step further comprises tracking changes of a resource consumption level due to processing of the requests by the operating system.

39

39. The method of claim 27 , wherein the calculating step further comprises: releasing an allocated area size and a plurality of other data storage parameters, wherein the allocated area size is part of the quantitative parameter; and modifying the allocated area size and the plurality of other data storage parameters wherein the releasing and modifying steps are performed by the operating system.

40

40. The method of claim 16 , wherein the quantitative parameter is stored in any of a special file and a special server.

41

41. A method for implementing a data storage quota comprising: creating a plurality of users within a computer system, each user having a unique identifier; organizing a hierarchic file system on top of a data storage device, wherein the hierarchic file system comprises a plurality of files and a plurality of directories; arranging the plurality of files and directories into a plurality of trees, wherein each file and each directory has at least one unique identifier; describing a level of consumption of a plurality of resources of the hierarchic file system; mounting a second file system inside any available directory of the hierarchic file system such that the computer system uses the second file system as a new tree of the hierarchic file system; calculating a quantitative parameter corresponding to file resource consumption associated with the new tree, wherein the calculating further comprises: defining a quota for a level of consumption of a plurality of resources of the hierarchic file system related to the new tree; analyzing a full access path to one of the files to determine whether the file belongs to the new tree and should be associated with the quota, based on the full access path that includes the new tree; associating a file request for data allocation to the one of the files as being related to the new tree quota; for the new tree, storing the current level of consumption and the quota for the level of consumption of a plurality of resources of the hierarchic file system associated with the unique identifiers; in response to requests for data allocation, providing responses to the requests, including an allowed level of consumption associated with quota for the level of consumption of a plurality of resources of the hierarchic file system, based on the current level and the quota for the level of consumption of a plurality of resources of the hierarchic file system; based on the responses, determining whether the requests can be fulfilled; and reserving space for user data based on the identifier associated with the user.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

September 24, 2003

Publication Date

January 29, 2008

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Method of implementation of data storage quota” (US-7325017). https://patentable.app/patents/US-7325017

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.