Apple Files Patent for ‘Data Processing File Systems’
On September 27, the US Patent & Trademark Office published Apple’s patent application titled File systems for data processing systems . Apple’s patent relates to data processing systems. More particularly, the present invention pertains to a file system of a computer operating system. The author of this patent is Apple’s Dominic B. Giampaolo who is famous for developing the BeOS File System. Mr. Giampaolo is now a part of the Mac OS X file system and Spotlight groups.
Apple’s Summary
Apple’s patent application provides information pertaining to a system for optimizing a file system performance. A file system manages mass storage devices and, in particular, it stores, organizes, describes, and retrieves data or information stored in storage media of the mass storage devices such as hard disk drives. Much of disk access time is spent in seeking blocks storing the data or the metadata of files or directories in file systems. The present invention relates to a method and an apparatus for optimizing file systems by rearranging file data or metadata in block storage media.
In an embodiment of the present invention, an application or utility program and the file system of an operating system collaborate with each other to optimize the file allocations in storage media, for example, in order to reduce the average file access times. First, the application analyzes file access patterns based on various criteria, and it creates a request to the file system. Then the file system optimizes allocation of files and directories in the storage media based on the request.
According to one aspect of an embodiment of the present invention, an application program creates a list of files based on the user access patterns of files and directories and/or based on other parameters. Each file list may be generated based on the proximity of the files to each other in terms of various attributes associated with files and directories such as last file access times, and it provides information regarding a group of files that form a cluster. The term cluster is used in this context to indicate a group of loosely related files which are likely to be accessed or used together in a given time window. In some embodiments, a user or utility software may define clusters of files based on some additional information. Once one or more such file lists are constructed, they are transmitted to the file system program. In one embodiment, these cluster lists are transmitted one at a time. In another embodiment, these lists are first collected, by going through the whole file hierarchy, and a set of lists is transmitted at the end of each traversal.
According to embodiments of the present invention, the file system optimizes allocation of files in a storage medium based on the transmitted list or set of lists. In some embodiments, this is done by allocating files from the same cluster in the nearby physical region in a storage medium.
At least one embodiment of the present invention utilizes virtual inode tables. A virtual inode table maintains a mapping between inodes and the blocks storing the corresponding inodes in an indirect way. This allows the file system to rearrange physical inode blocks without affecting application programs which rely on the constancy of the inode-block mapping.
Embodiments of the present invention can be used to rearrange files stored in a storage medium so that files which tend to be used together are physically stored closer to each other. This can substantially reduce the average time for accessing related group of files, for example, during the initial launch of an application.
The name listed on this patent is Apple’s Dominic Giampaolo (Mountain View, CA). To learn more about this patent, click here.
NOTICE: MacNN presents only a brief summary of patents with associated graphic(s) for journalistic news purposes as each such patent application and/or grant is revealed by the U.S. Patent & Trade Office. Readers are cautioned that the full text of any patent applications and/or grants should be read in its entirety for further details.
Written and researched by Neo.
Leave a Reply
You must be logged in to post a comment.

