DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 107-126 are pending in this application.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on December 2nd, 2025 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Specification
The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed.
Double Patenting
Claims 107-126 of this application is patentably indistinct from claims 107-126 of Application No. 19/012,838. Pursuant to 37 CFR 1.78(f), when two or more applications filed by the same applicant or assignee contain patentably indistinct claims, elimination of such claims from all but one application may be required in the absence of good and sufficient reason for their retention during pendency in more than one application. Applicant is required to either cancel the patentably indistinct claims from all but one application or maintain a clear line of demarcation between the applications. See MPEP § 822.
A rejection based on double patenting of the “same invention” type finds its support in the language of 35 U.S.C. 101 which states that “whoever invents or discovers any new and useful process... may obtain a patent therefor...” (Emphasis added). Thus, the term “same invention,” in this context, means an invention drawn to identical subject matter. See Miller v. Eagle Mfg. Co., 151 U.S. 186 (1894); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Ockert, 245 F.2d 467, 114 USPQ 330 (CCPA 1957).
A statutory type (35 U.S.C. 101) double patenting rejection can be overcome by canceling or amending the claims that are directed to the same invention so they are no longer coextensive in scope. The filing of a terminal disclaimer cannot overcome a double patenting rejection based upon 35 U.S.C. 101.
Instant Application: 19/011,559
Claim 107
U.S Application No. 19/012,838
Claim 107
107. (new) A computer system comprising: at least one computer processor;
memory directly accessible by at least one central processing unit (CPU) and operatively coupled to the at least one computer processor;
an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers; and
non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of: operating a bi-directional dictionary in the memory that maps between file names and identification (ID) numbers;
maintaining all file system metadata exclusively in the memory without caching to disk;
clustering inode entries with similar polymorphisms together to increase access efficiency;
providing both forward and reverse mappings between names and identifiers in the bi-directional dictionary;
and/or performing name-to-identifier and identifier-to-name conversions using the in- memory bi-directional dictionary without accessing disk storage.
107. (new) A computer system comprising: at least one computer processor;
memory directly accessible by at least one central processing unit (CPU) and operatively coupled to the at least one computer processor;
an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers; and
non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of: operating a bi-directional dictionary in the memory that maps between file names and identification (ID) numbers;
maintaining all file system metadata exclusively in the memory without caching to disk;
clustering inode entries with similar polymorphisms together to increase access efficiency;
providing both forward and reverse mappings between names and identifiers in the bi-directional dictionary;
and/or performing name-to-identifier and identifier-to-name conversions using the in- memory bi-directional dictionary without accessing disk storage.
Claim 107 is provisionally rejected under 35 U.S.C. 101 as claiming the same invention as that of claim 107 of co-pending Application No. 19/012,838 (reference application). This is a provisional statutory double patenting rejection since the claims directed to the same invention have not in fact been patented.
Instant Application: 19/011,559
Claim 108
U.S Application No. 19/012,838
Claim 108
108. (new) The system of claim 107, wherein the in-memory data structure is implemented by statically allocating one or more allocation spaces in the memory wherein the inodes and the metadata are not cached on disk.
108. (new) The system of claim 107, wherein the in-memory data structure is implemented by statically allocating one or more allocation spaces in the memory wherein the inodes and the metadata are not cached on disk.
Dependent claim 108 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 108 of 19/012,838. Dependent claim 108 of the Instant application 19/011,559 is identical to dependent Claim 108 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 109
U.S Application No. 19/012,838
Claim 109
109. (new) The system of claim 107, wherein all of the metadata is loaded into the memory at initialization time and/or when the file system is mounted.
109. (new) The system of claim 107, wherein all of the metadata is loaded into the memory at initialization time and/or when the file system is mounted.
Dependent claim 109 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 109 of 19/012,838. Dependent claim 109 of the Instant application 19/011,559 is identical to dependent Claim 109 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 110
U.S Application No. 19/012,838
Claim 110
110. (new) The system of claim 107 wherein more than 50% of the inodes and the metadata associated with the data objects are maintained statically in the memory via: creating the one or more data structures based on the inode type or type of data associated with the inodes to be stored; and mapping the inode IDs and the data objects to the one or more data structures based on the inode type or the type of data associated with the inodes.
110. (new) The system of claim 107 wherein more than 50% of the inodes and the metadata associated with the data objects are maintained statically in the memory via:creating the one or more data structures based on the inode type or type of data associated with the inodes to be stored; and mapping the inode IDs and the data objects to the one or more data structures based on the inode type or the type of data associated with the inodes.
Dependent claim 110 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 110 of 19/012,838. Dependent claim 110 of the Instant application 19/011,559 is identical to dependent Claim 110 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 111
U.S Application No. 19/012,838
Claim 111
111. (new) The system of claim 107, wherein one or both of:some of the inodes are denoted as directories and contain an in-memory, bi-directional dictionary mapping that maps a name ID to an inode ID; and/or wherein, as a function of metadata being stored statically in the memory and organized for retrieval as a function of its associated inode IDs, the metadata is retrieved at random access memory access speed and without need to access any disk directory in reply to metadata queries.
111. (new) The system of claim 107, wherein one or both of:some of the inodes are denoted as directories and contain an in-memory, bi-directional dictionary mapping that maps a name ID to an inode ID; and/or wherein, as a function of metadata being stored statically in the memory and organized for retrieval as a function of its associated inode IDs, the metadata is retrieved at random access memory access speed and without need to access any disk directory in reply to metadata queries.
Dependent claim 111 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 111 of 19/012,838. Dependent claim 111 of the Instant application 19/011,559 is identical to dependent Claim 111 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 112
U.S Application No. 19/012,838
Claim 112
112. (new) The system of claim 107, wherein the lockable in-memory data structure comprises data structures that: reside completely in the memory; map names to identifiers using a lock-free algorithm; and/or maintain reference counts for stored names.
112. (new) The system of claim 107, wherein the lockable in-memory data structure comprises data structures that: reside completely in the memory; map names to identifiers using a lock-free algorithm; and/or maintain reference counts for stored names.
Dependent claim 112 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 112 of 19/012,838. Dependent claim 112 of the Instant application 19/011,559 is identical to dependent Claim 108 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 113
U.S Application No. 19/012,838
Claim 113
113. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to: reserve a first set of identifiers for single-character filenames; reserve a second set of identifiers for two-character filenames; and/or provide direct translation between the reserved identifiers and corresponding filenames.
113. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to: reserve a first set of identifiers for single-character filenames; reserve a second set of identifiers for two-character filenames; and/or provide direct translation between the reserved identifiers and corresponding filenames.
Dependent claim 113 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 113 of 19/012,838. Dependent claim 113 of the Instant application 19/011,559 is identical to dependent Claim 113 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 114
U.S Application No. 19/012,838
Claim 114
114. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to cluster inodes with similar polymorphisms together as a function of the inode organization scheme, such that increased efficiency is achieved.
114. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to cluster inodes with similar polymorphisms together as a function of the inode organization scheme, such that increased efficiency is achieved.
Dependent claim 114 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 114 of 19/012,838. Dependent claim 114 of the Instant application 19/011,559 is identical to dependent Claim 114 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 115
U.S Application No. 19/012,838
Claim 115
115. (new) The system of claim 107, wherein the bi-directional dictionary is implemented utilizing one or more of a TRIE data structure, an extensible hash table, an array, and/or a search tree.
115. (new) The system of claim 107, wherein the bi-directional dictionary is implemented utilizing one or more of a TRIE data structure, an extensible hash table, an array, and/or a search tree.
Dependent claim 115 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 115 of 19/012,838. Dependent claim 115 of the Instant application 19/011,559 is identical to dependent Claim 115 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 116
U.S Application No. 19/012,838
Claim 116
116. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing associated with clustering of inode entries, including one or more of: grouping inodes based on common filename extensions; grouping inodes based on common pathname components; and/or maintaining clustered groups in contiguous memory regions.
116. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing associated with clustering of inode entries, including one or more of: grouping inodes based on common filename extensions; grouping inodes based on common pathname components; and/or maintaining clustered groups in contiguous memory regions.
Dependent claim 116 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 116 of 19/012,838. Dependent claim 116 of the Instant application 19/011,559 is identical to dependent Claim 116 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 117
U.S Application No. 19/012,838
Claim 117
117. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing including one or more of: maintaining a reference count for each stored name; detecting when a reference count reaches zero; and automatically removing names with zero reference counts from the in-memory data structure; and/or optionally reusing the unique identifier after its reference count reaches zero.
117. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing including one or more of: maintaining a reference count for each stored name; detecting when a reference count reaches zero; and automatically removing names with zero reference counts from the in-memory data structure; and/or optionally reusing the unique identifier after its reference count reaches zero.
Dependent claim 117 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 117 of 19/012,838. Dependent claim 117 of the Instant application 19/011,559 is identical to dependent Claim 117 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 118
U.S Application No. 19/012,838
Claim 118
118. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing associated with implementing dynamic identifier assignment, wherein one or more of: single-character names are mapped to identifiers in a first range; two-character names are mapped to identifiers in a second range; and/or N-character names are mapped to identifiers in subsequent ranges.
118. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing associated with implementing dynamic identifier assignment, wherein one or more of: single-character names are mapped to identifiers in a first range; two-character names are mapped to identifiers in a second range; and/or N-character names are mapped to identifiers in subsequent ranges.
Dependent claim 118 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 118 of 19/012,838. Dependent claim 118 of the Instant application 19/011,559 is identical to dependent Claim 118 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 119
U.S Application No. 19/012,838
Claim 119
119. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing including one or more of: storing common filename extensions and prefixes exactly once; and/or sharing the stored extensions and prefixes across multiple filename entries.
119. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing including one or more of: storing common filename extensions and prefixes exactly once; and/or sharing the stored extensions and prefixes across multiple filename entries.
Dependent claim 119 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 119 of 19/012,838. Dependent claim 119 of the Instant application 19/011,559 is identical to dependent Claim 119 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 120
U.S Application No. 19/012,838
Claim 120
120. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing associated with automatically selecting between multiple storage algorithms as a function of one or more of: measured name commonality, prefix and/or suffix patterns, and/or memory usage patterns.
120. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing associated with automatically selecting between multiple storage algorithms as a function of one or more of: measured name commonality, prefix and/or suffix patterns, and/or memory usage patterns.
Dependent claim 120 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 120 of 19/012,838. Dependent claim 120 of the Instant application 19/011,559 is identical to dependent Claim 120 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 121
U.S Application No. 19/012,838
Claim 121
121. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing associated with maintaining separate mapping structures for two or more of, three or more of, or all of regular files, directories, symbolic links, and/or special files.
121. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing associated with maintaining separate mapping structures for two or more of, three or more of, or all of regular files, directories, symbolic links, and/or special files.
Dependent claim 121 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 121 of 19/012,838. Dependent claim 121 of the Instant application 19/011,559 is identical to dependent Claim 121 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 122
U.S Application No. 19/012,838
Claim 122
122. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing associated with providing rename operations, including one or more of: acquiring a lock on affected name entries; updating both forward and reverse mappings; and/or releasing the lock upon completion.
122. (new) The system of claim 107, wherein the computer readable media further include instructions that cause the at least one processor to perform processing associated with providing rename operations, including one or more of: acquiring a lock on affected name entries; updating both forward and reverse mappings; and/or releasing the lock upon completion.
Dependent claim 122 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 122 of 19/012,838. Dependent claim 122 of the Instant application 19/011,559 is identical to dependent Claim 122 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 123
U.S Application No. 19/012,838
Claim 123
123. (new) The system of claim 107, wherein, as a function of implementing the bi-directional dictionary, the system provides: O(1) average memory efficiency for name-to-ID lookups; O(1) average memory efficiency for ID-to-name lookups; and/or lock-free read access to stored mappings.
123. (new) The system of claim 107, wherein, as a function of implementing the bi-directional dictionary, the system provides:O(1) average memory efficiency for name-to-ID lookups;O(1) average memory efficiency for ID-to-name lookups; and/or lock-free read access to stored mappings.
Dependent claim 123 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 123 of 19/012,838. Dependent claim 123 of the Instant application 19/011,559 is identical to dependent Claim 123 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 124
U.S Application No. 19/012,838
Claim 124
124. (new) The system of claim 107, wherein the computer readable media memory further include instructions that cause the at least one processor to perform processing including one or more of: maintaining file extension or suffix statistics; utilizing the suffix statistics to optimize memory allocation for common extensions; and adjusting clustering strategies based on extension patterns of extensions determine or observed.
124. (new) The system of claim 107, wherein the computer readable media memory further include instructions that cause the at least one processor to perform processing including one or more of: maintaining file extension or suffix statistics; utilizing the suffix statistics to optimize memory allocation for common extensions; and adjusting clustering strategies based on extension patterns of extensions determine or observed.
Dependent claim 124 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 124 of 19/012,838. Dependent claim 124 of the Instant application 19/011,559 is identical to dependent Claim 124 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 125
U.S Application No. 19/012,838
Claim 125
125. (new) The system of claim 107, wherein the computer readable media memory further include instructions that cause the at least one processor to perform processing associated with implementing hybrid storage of data, including one or more of: utilizing different storage algorithms based on name characteristics or metadata; automatically switching algorithms based on access patterns; and/or maintaining consistent lookup interfaces across storage algorithms.
125. (new) The system of claim 107, wherein the computer readable media memory further include instructions that cause the at least one processor to perform processing associated with implementing hybrid storage of data, including one or more of: utilizing different storage algorithms based on name characteristics or metadata; automatically switching algorithms based on access patterns; and/or maintaining consistent lookup interfaces across storage algorithms.
Dependent claim 125 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 125 of 19/012,838. Dependent claim 125 of the Instant application 19/011,559 is identical to dependent Claim 125 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Instant Application: 19/011,559
Claim 126
U.S Application No. 19/012,838
Claim 126
126. (new) The system of claim 107, wherein the computer readable media memory further include instructions that cause the at least one processor to perform processing associated with establishing recovery capability of stored information, including one or more of: storing data regarding changes to memory mapping; periodically checkpointing one or more states of the in-memory data storage; and reconstructing the mappings after system restart.
126. (new) The system of claim 107, wherein the computer readable media memory further include instructions that cause the at least one processor to perform processing associated with establishing recovery capability of stored information, including one or more of: storing data regarding changes to memory mapping; periodically checkpointing one or more states of the in-memory data storage; and reconstructing the mappings after system restart.
Dependent claim 126 is rejected based on 35 U.S.C 101 as claiming the same invention as that of dependent claim 126 of 19/012,838. Dependent claim 126 of the Instant application 19/011,559 is identical to dependent Claim 126 of U.S Patent Application 19/012,838. This is provisional statutory double patenting rejection.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 107-109, and 111 are rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo").
Regarding claim 107, Longerbeam teaches teaches a computer system comprising: at least one computer processor (Longerbeam: [0030]; Processor 102 and co-processor 104 are coupled to a plurality of input/output (I/O) devices via I/O bus 110);
memory directly accessible by at least one central processing unit (CPU) and operatively coupled to the at least one computer processor (Longerbeam: [0024]; According to one example, a computing system comprises at least one RAM and a processor. [0030]; Processor 102 and co-processor 104 are coupled to a plurality of input/output (I/O) devices via I/O bus 110. Additionally, other storage medias including flash memory, electrically erasable programmable read-only memory (EEPROM), dynamic random access memory (DRAM), or other like memory medias may be coupled to I/O bus 110);
an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure (Longerbeam: [0033]; RAM 106 can maintain RAM filesystem pages in a write-protected state for a protected RAM filesystem 206. [0036]; Referring to FIG. 2, kernel 204 is configured to manage and handle protected RAM filesystem 206 which can be mounted within RAM 106. Protected RAM filesystem 206 can be a unique filesystem. [0042]-[0043]; Inode table 306 includes Ni inodes, and each inode is 128 bytes long. Thus, in this example inode table 306 is 128*Ni bytes in size. The inode objects within inode table 306 include information about specific files in protected RAM filesystem 206. Such information includes the type of file (e.g., regular file, directory file, device node, socket, etc.), the owner and group ID of files…and last access time, etc regarding files); wherein
the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers (Longerbeam: [0036]; Referring to FIG. 2, kernel 204 is configured to manage and handle protected RAM filesystem 206 which can be mounted within RAM 106. [0052]-[0053]; FIG. 4 illustrates the organization of objects within the protected RAM filesystem 206 of FIG. 2 as a filesystem tree. In one example, the filesystem tree can represent the inode objects in protected RAM filesystem 206. These objects within a directory can be linked together in a doubly-linked list. Root inode 402 can also contain any combination of directory inodes and file inodes. Root inode 402 includes a head pointer (“head ptr”) pointing to its first directory inode (directory1 inode 404) and a tail pointer pointing to its last directory inode (directoryN inode 406). Each directory inode can include a plurality of files having associated file inodes. [0055]; In PRAMFS or protected RAM filesystem 206 a directory inode's do not need to own any data blocks, because all dentry information is contained within the inode's themselves. [0063]; obtain a “spinlock” on protected RAM filesystem 206 to prevent processors 102 or 104 from servicing another process while a write operation into protected RAM filesystem 206 is in progress);
Longerbeam does not explicitly teach non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of: clustering inode entries with similar polymorphisms together to increase access efficiency.
However, Giampaolo teaches a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of (Giampaolo: [0082]; Furthermore, the present invention may take the form of a computer program product on a computer-readable storage medium having computer-readable program codes embodied in the medium): operating a bi-directional dictionary in the memory that maps between file names and identification (ID) numbers; maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency (Giampaolo: [0007]; Many file systems also manage data on block storage media using blocks, or logical blocks…many file system implementations use special or regular blocks on a storage media to store files' metadata. In most modern file systems, a data structure generally called an inode is used to store a file's metadata. For instance, a file's creation time, last access time, and permission settings, and the like. [0063]; In general, any attribute associated with files and directories can be used for clustering purposes. In some embodiments, files belonging to the same cluster in a request are rearranged in a block array so that they are stored together in a nearby physical region of the storage device. [0066]; collaborate with each other to optimize the file allocations in storage media, for example, in order to reduce the average file access times); providing both forward and reverse mappings between names and identifiers in the bi-directional dictionary; and/or performing name-to-identifier and identifier-to-name conversions using the in- memory bi-directional dictionary without accessing disk storage.
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in grouping the set of inodes in the attributes by reducing the set of files to have better access time (Giampaolo: [0057]). In addition, the references (Longerbeam and Giampaolo) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam and Giampaolo are directed to data processing system pertaining to file systems.
Regarding claim 108, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, and Longerbeam further teaches the in-memory data structure is implemented by statically allocating one or more allocation spaces in the memory wherein the inodes and the metadata are not cached on disk (Longerbeam: [0025]; Additionally, the following techniques implement a protected RAM filesystem without using disk caches that avoids page and buffer caching of filesystem. [0038]-[0039]; In this example, protected RAM filesystem 206 is mounted in RAM 106 and is not attached to a block device. Such a filesystem can be mounted using a Linux command such as “mount” with a mount point entry, e.g., a directory or filesystem name, and —options. In this example, protected RAM filesystem 206 includes a superblock (“SB”) 308, inode block pointer table (“Inode table”) 306, block in-use bitmap 304, and data blocks 302. [0042]; In particular, the maximum number of inodes that can be allocated in inode table 306 is Ni, which should remain fixed for protected RAM filesystem 206. [0046]; Like Ni, N is fixed, that is, once the filesystem is created, the maximum number of data blocks that can be allocated is fixed).
Regarding claim 109, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, and Longerbeam further teaches all of the metadata is loaded into the memory at initialization time and/or when the file system is mounted (Longerbeam: [0038]; In this example, protected RAM filesystem 206 is mounted in RAM 106 and is not attached to a block device. Such a filesystem can be mounted using a Linux command such as “mount” with a mount point entry, e.g., a directory or filesystem name, and —options. The filesystem can be accessed via the mount point. Specifically, with a mount command, kernel 204 performs an I/O remap function that creates page table entries for protected RAM filesystem 206 in RAM 106).
Regarding claim 111, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, and Longerbeam further teaches wherein one or both of: some of the inodes are denoted as directories and contain an in-memory, bi-directional dictionary mapping that maps a name ID to an inode ID; and/or wherein, as a function of metadata being stored statically in the memory and organized for retrieval as a function of its associated inode IDs (Longerbeam: [0039]; In this example, protected RAM filesystem 206 includes a superblock (“SB”) 308, inode block pointer table (“Inode table”) 306, block in-use bitmap 304, and data blocks 302. [0042]; Inode table 306 includes Ni inodes, and each inode is 128 bytes long. Thus, in this example inode table 306 is 128*Ni bytes in size. [0045]-[0046]; the inode number of an inode is simply the absolute offset (pram_off_t) of that inode within the protected RAM filesystem 206. Like Ni, N is fixed, that is, once the filesystem is created, the maximum number of data blocks that can be allocated is fixed
[0065];
PNG
media_image1.png
445
475
media_image1.png
Greyscale
), the metadata is retrieved at random access memory access speed and without need to access any disk directory in reply to metadata queries (Longerbeam: [0005]; On RAM-based filesystems, however, there is no performance penalty when randomly seeking data. [0048]; For PRAMFS or protected RAM filesystem 206 however, there is no speed penalty for random access
[0066];
PNG
media_image2.png
140
533
media_image2.png
Greyscale
).
Claim 110 is rejected under 35 U.S.C. 103 as being unpatentable over [U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of U.S Patent 8,171,215 issued to Ikawa et al. (hereinafter as “Ikawa”).
Regarding claim 110, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach more than 50% of the inodes and the metadata associated with the data objects are maintained statically in the memory via: creating the one or more data structures based on the inode type or type of data associated with the inodes to be stored; and mapping the inode IDs and the data objects to the one or more data structures based on the inode type or the type of data associated with the inodes.
Ikawa teaches more than 50% of the inodes and the metadata associated with the data objects are maintained statically in the memory via: creating the one or more data structures based on the inode type or type of data associated with the inodes to be stored (Ikawa: Col 7, lines 30-40; FIG. 5 shows a reference relation between art inode and data blocks. In accordance with information registered on the inode table 303 (described later), data stored on meshed blocks of the data block (i.e. storage location of data) is referred within the access authority. The inode table 303 is a table for storing inodes. FIG. 6 shows an example of data structure of the inode table 303. As shown in FIG. 6, the inode table 303 includes an inode number 601, a possessor 602, an access authority 603, a file size 604, a data block dresses 1, 2, 3 . . . (605 a, 605 b, 605 c . . . ) in group); and
mapping the inode IDs and the data objects to the one or more data structures based on the inode type or the type of data associated with the inodes (Ikawa: Col 15, lines 44-48; In migration of the files, the RAID group name 6003, the file system name 6004, the inode number for the real file system 6005 are, changed and updated on the mapping table 6000, the change of storage locations of the files due to the file migration cannot seen by a user. Col 16, lines 14-19; In FIG. 21, the file “/home/share/z.ppt” belonging to the Group B matches the file-access available time period (thin broken line) of the RAID group associated with the Group A; therefore, the group of said file is migrated from the Group B to the Group A. In accordance with this change the mapping table 6000 is also changed).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Ikawa (teaches creating the one or more data structures based on the inode type or type of data associated with the inodes to be stored; and mapping the inode IDs and the data objects to the one or more data structures based on the inode type or the type of data associated with the inodes). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in organizing inodes in categories to help provide more efficiency to the system (Ikawa: Col 23, lines 24-25). In addition, the references (Longerbeam, Giampaolo, and Ikawa) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Ikawa are directed to data processing system pertaining to file systems.
Claims 112 and 117 are rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of U.S Patent Application Publication 2009/0006494 issued to Hong et al. (hereinafter as “Hong”).
Regarding claim 112, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the lockable in-memory data structure comprises data structures that: reside completely in the memory; map names to identifiers using a lock-free algorithm; and/or maintain reference counts for stored names.
Hong teaches the lockable in-memory data structure comprises data structures that: reside completely in the memory; map names to identifiers using a lock-free algorithm; and/or maintain reference counts for stored names (Hong: [0038]; Rather, entry 714 indicates an extra hard link between a file and a directory in the same container. All files may have at least one link to a directory, but may have additional links to other directories. Each additional link may be tracked via an entry such as entry 714 in table 710. [0046]-[0047]; The corresponding entries in the inode set summary table and entries in the block set summary table may also be read into memory to further validate the inode and block ownership…an ownership grant is protected by a lock. If the block set is owned by another container, the conflict may be noted for subsequent resolution after the other container is checked and verified).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Hong (teaches the lockable in-memory data structure comprises data structures that: reside completely in the memory; map names to identifiers using a lock-free algorithm; and/or maintain reference counts for stored names). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in better verification maintaining set of data to detect any errors (Hong: [0023]). In addition, the references (Longerbeam, Giampaolo, and Hong) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Hong are directed to data processing system pertaining to file systems.
Regarding claim 117, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the computer readable media further include instructions that cause the at least one processor to perform processing including one or more of: maintaining a reference count for each stored name; detecting when a reference count reaches zero; and automatically removing names with zero reference counts from the in-memory data structure; and/or optionally reusing the unique identifier after its reference count reaches zero.
Hong teaches the computer readable media further include instructions that cause the at least one processor to perform processing including one or more of: maintaining a reference count for each stored name (Hong: [0038]; Rather, entry 714 indicates an extra hard link between a file and a directory in the same container. All files may have at least one link to a directory, but may have additional links to other directories. Each additional link may be tracked via an entry such as entry 714 in table 710); detecting when a reference count reaches zero; and automatically removing names with zero reference counts from the in-memory data structure; and/or optionally reusing the unique identifier after its reference count reaches zero.
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Hong (teaches the lockable in-memory data structure comprises data structures that: reside completely in the memory; map names to identifiers using a lock-free algorithm; and/or maintain reference counts for stored names). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in better verification maintaining set of data to detect any errors (Hong: [0023]). In addition, the references (Longerbeam, Giampaolo, and Hong) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Hong are directed to data processing system pertaining to file systems.
Claim 114 is rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of Non-Patent Literature A Co-locating Fast File System for UNIX issued to Constantine Sapuntzakis (hereinafter as “Sapuntzakis”).
Regarding claim 114, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the computer readable media further include instructions that cause the at least one processor to cluster inodes with similar polymorphisms together as a function of the inode organization scheme, such that increased efficiency is achieved.
Sapuntzakis teaches the computer readable media further include instructions that cause the at least one processor to cluster inodes with similar polymorphisms together as a function of the inode organization scheme, such that increased efficiency is achieved (Sapuntzakis: Section: 2.1.2 Inodes in C-FFS, pg. 18: The type of the file (directory, regular file, character or block device, symbolic link, socket, or pipe) is described in the inode. Section 2.1.3 Directories, pg. 18-20: A directory is made up of multiple directory blocks. Each directory block is an independent linked list of variable-length directory entries. Each directory entry contains a name, type, inode number, and usually the inode too. Figure 2-2 summarizes the format. Section 4.3 Conclusions, pg. 42-43: Embedded inodes are a good idea. They significantly increase small file bandwidth on creates by removing the need for synchronous writes. Embedded inodes also increase performance across the board by removing a level of physical indirection between the directory and entry. The placement of all relevant file data in the same track, which is possible with embedded inodes, is critical to the performance difference. Section 2.1.6 External Inode Table, pg. 25 : UNIX C-FFS takes the alternate approach of moving the inode data to an external table when a second name for a file is created. The directory entries, however, continue to reference the inode through the inode number stored in the directory entry. Section 2.3.2 A Keyed Co-location Algorithm, pg. 27: The goal of this algorithm is the ability to group on an arbitrary key. A key in this scheme is a 32-bit integer. Related files share the same integer key. For example, the key could be the parent directory's inode number, the creator's uid, or even the last access time of the file).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Hong (teaches the lockable in-memory data structure comprises data structures that: reside completely in the memory; map names to identifiers using a lock-free algorithm; and/or maintain reference counts for stored names). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in organizing data to improve the performance of the system (Sapuntzakis: Section 1.3 Solutions, pg. 12). In addition, the references (Longerbeam, Giampaolo, and Sapuntzakis) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Sapuntzakis are directed to data processing system pertaining to file systems.
Claim 115 is rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of U.S Patent Application Publication 2010/0328115 issued to Binnig et al (hereinafter as “Binning”).
Regarding claim 115, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the bi-directional dictionary is implemented utilizing one or more of a TRIE data structure, an extensible hash table, an array, and/or a search tree.
Binnig teaches the bi-directional dictionary is implemented utilizing one or more of a TRIE data structure, an extensible hash table (Binnig: [0024]; In an embodiment, the string dictionary is a table T with two attributes: T=(value, code). Table T defines a mapping of variable-length string values (defined by the attribute value) to fixed-length integer codes (defined by the attribute code) and vice versa. The dictionary supports the following operations for encoding and decoding string values and to enable rewrite of the query predicates: 1) encode: values→codes; 2) decode: codes→values; 3) lookup: (value, type)→code; and 4) lookup: prefix→(mincode, maxcode)), an array, and/or a search tree.
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Binnig (teaches the bi-directional dictionary is implemented utilizing one or more of a TRIE data structure, an extensible hash table). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in scalability of the dictionary and improving the performance of the data structure (Binnig: [0048]). In addition, the references (Longerbeam, Giampaolo, and Binnig) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Binnig are directed to software arts pertaining to data structures.
Claim 119 is rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of U.S 6,922,708 issued to Eric Sedlar (hereinafter as "Sedlar").
Regarding claim 119, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the computer readable media further include instructions that cause the at least one processor to perform processing including one or more of: storing common filename extensions and prefixes exactly once; and/or sharing the stored extensions and prefixes across multiple filename entries.
Sedlar teaches the computer readable media further include instructions that cause the at least one processor to perform processing including one or more of: storing common filename extensions and prefixes exactly once (Sedlar: Col 22, lines 48-53; For example, assume that a user desires to create a directory “Documents” that is a child of Word 616, and desires the document directory to contain all files that have the extension .doc. According to one embodiment of the invention, the user designs a query that specifies the selection criteria for the files that are to belong to the directory. Col 23, lines 49-53; the file system only includes two files that satisfy the query associated with the Documents directory 1202. Those two files are both entitled Example.doc. Thus, the two Examples.doc files 618 and 622 are shown as children of the Documents directory 1202. Col 23, lines 65-67 and Col 24, lines 1-4; For example, the appended characters may indicate the path to the directory in which the file is a statically located. Thus, Example.doc 618 may be presented as Example.doc_Windows_Word, while Example.doc 622 is presented as Example.doc_VMS_App4); and/or sharing the stored extensions and prefixes across multiple filename entries.
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Sedlar (teaches storing common filename extensions and prefixes exactly once; and/or sharing the stored extensions and prefixes across multiple filename entries). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in beneficially efficiently retrieve files by finding the appropriate version of the referenced files contained within the other files (Sedlar: Col 31, lines 4-8). In addition, the references (Longerbeam, Giampaolo, and Sedlar) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Sedlar are directed to software arts pertaining to data structures.
Claims 120 and 125 are rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of U.S Patent Application Publication 2007/0143567 issued to Sergey Gorobets (hereinafter as "Gorobets").
Regarding claim 120, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the computer readable media further include instructions that cause the at least one processor to perform processing associated with automatically selecting between multiple storage algorithms as a function of one or more of: measured name commonality, prefix and/or suffix patterns, and/or memory usage patterns.
Gorobets teaches the computer readable media further include instructions that cause the at least one processor to perform processing associated with automatically selecting between multiple storage algorithms as a function of one or more of: measured name commonality, prefix and/or suffix patterns, and/or memory usage patterns (Gorobets: [0255]-[0256]; a scheme for allocating memory locations for a relocation operation, such as for garbage collection or data compaction, is dependent on an estimated access frequency of the file in question. If the file data belonging to a file that is frequently accessed, they are relocated to a block that collect file data with similar file attributes. Likewise, if the file data belonging to a file that is relatively infrequently accessed, they are relocated to a block to collect file data with similar file attributes. STEP 520: Receiving a command for the memory system to perform a memory operation on the file data).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Gorobets (teaches perform processing associated with automatically selecting between multiple storage algorithms as a function of one or more of: measured name commonality, prefix and/or suffix patterns, and/or memory usage patterns). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in allocating data to reduce operations to improve the memory of the system (Gorobets: [0115]). In addition, the references (Longerbeam, Giampaolo, and Gorobets) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Gorobets are directed to software arts pertaining to data structures.
Regarding claim 125, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the computer readable media memory further include instructions that cause the at least one processor to perform processing associated with implementing hybrid storage of data, including one or more of: utilizing different storage algorithms based on name characteristics or metadata; automatically switching algorithms based on access patterns.
Gorobets teaches the computer readable media memory further include instructions that cause the at least one processor to perform processing associated with implementing hybrid storage of data, including one or more of: utilizing different storage algorithms based on name characteristics or metadata; automatically switching algorithms based on access patterns (Gorobets: [0255]-[0256]; a scheme for allocating memory locations for a relocation operation, such as for garbage collection or data compaction, is dependent on an estimated access frequency of the file in question. If the file data belonging to a file that is frequently accessed, they are relocated to a block that collect file data with similar file attributes. Likewise, if the file data belonging to a file that is relatively infrequently accessed, they are relocated to a block to collect file data with similar file attributes. STEP 520: Receiving a command for the memory system to perform a memory operation on the file data); and/or maintaining consistent lookup interfaces across storage algorithms.
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Gorobets (teaches perform processing associated with automatically selecting between multiple storage algorithms as a function of one or more of: measured name commonality, prefix and/or suffix patterns, and/or memory usage patterns). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in allocating data to reduce operations to improve the memory of the system (Gorobets: [0115]). In addition, the references (Longerbeam, Giampaolo, and Gorobets) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Gorobets are directed to software arts pertaining to data structures.
Claim 121 is rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of U.S Patent 9,088,591 issued to Vaghani et al (hereinafter as “Vaghani”).
Regarding claim 121, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the computer readable media further include instructions that cause the at least one processor to perform processing associated with maintaining separate mapping structures for two or more of, three or more of, or all of regular files, directories, symbolic links, and/or special files.
Vaghani teaches the computer readable media further include instructions that cause the at least one processor to perform processing associated with maintaining separate mapping structures for two or more of, three or more of, or all of regular files, directories, symbolic links, and/or special files (Vaghani: Col 6, lines 9-15; An APL table 250 (250-0 and 250-1 through 250-N) that is unique for each data storage unit 230 is stored and maintained for each one of data storage units 230. Each APL table 250 stores a different portion of the entries in APL table 170. Specifically, APL table 250-0 stores the entries of APL table 170 for file objects that are stored on data storage unit 230-0. Col 10, lines 46-48; Create receives a directory OID (dirOID) and filename as inputs and creates a regular file, symlink, or other filesystem object in the directory referenced by dirOID. Col 11, lines 14-18; Each data storage unit 303 stores a unique APL table 305. APL table 305-0 is stored on data storage unit 303-0 and includes entries for one or more file objects (directories or user data) that are stored on data storage unit 303-0).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Vaghani (teaches to perform processing associated with maintaining separate mapping structures for two or more of, three or more of, or all of regular files, directories, symbolic links, and/or special files). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in allocating data in an organized manner to improve the efficiency of the system (Vaghani: Col 13, lines 9-11). In addition, the references (Longerbeam, Giampaolo, and Vaghani) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Vaghani are directed to software arts pertaining to data structures.
Claim 122 is rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of U.S Patent Application Publication 2010/0174690 issued to Scott Thomas Marcotte (hereinafter as "Marcotte").
Regarding claim 122, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the computer readable media further include instructions that cause the at least one processor to perform processing associated with providing rename operations, including one or more of: acquiring a lock on affected name entries; updating both forward and reverse mappings; and/or releasing the lock upon completion.
Marcotte teaches the computer readable media further include instructions that cause the at least one processor to perform processing associated with providing rename operations, including one or more of: acquiring a lock on affected name entries; updating both forward and reverse mappings; and/or releasing the lock upon completion (Marcotte:[0050]; The server 104 first obtains storage to hold a change log (step 401). Note that any directory operation normally results in a simple addition or removal of a name, the exception being the rename operation, which could result in an add/remove/update for two directories (a source and a target directory); The server 104 then unlocks the directory (step 406) and includes the change log in the change log field 306 of the reply packet 302 (FIG. 3) sent back to the client 102 (step 407)).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Marcotte (teaches to perform processing associated with providing rename operations, including one or more of: acquiring a lock on affected name entries; updating both forward and reverse mappings; and/or releasing the lock upon completion). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in monitoring data and determine if the data is correct before providing the release of the data (Marcotte: [0075]). In addition, the references (Longerbeam, Giampaolo, and Marcotte) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Marcotte are directed to software arts pertaining to data structures.
Claim 123 is rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of U.S Patent Application Publication 2007/0198520 issued to McKenney et al. (hereinafter as "McKenney").
Regarding claim 123, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach as a function of implementing the bi-directional dictionary, the system provides:O(1) average memory efficiency for name-to-ID lookups;O(1) average memory efficiency for ID-to-name lookups; and/or lock-free read access to stored mappings.
McKenney teaches as a function of implementing the bi-directional dictionary, the system provides:O(1) average memory efficiency for name-to-ID lookups;O(1) average memory efficiency for ID-to-name lookups; and/or lock-free read access to stored mappings (McKenney: [0026]; The utilization of the temporary, or tombstone, record 112 as a placeholder for the record 106B while the record 106B is being atomically moved enables lock-free look-ups to the data file to which the record 106B corresponds. When look-ups to the data file resolve to the temporary record 112 once the record 112 has been created and linked within the hash chain 102, the record 112 causes the look-ups to wait until the record 106B has been atomically moved and the record 112 removed. For instance, looking up of the record 112 may result in the record 112 returning a “busy” response, indicating to that looking up process that it should try to look up the record 112 at a later point in time).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Marcotte (teaches to perform processing associated with providing rename operations, including one or more of: acquiring a lock on affected name entries; updating both forward and reverse mappings; and/or releasing the lock upon completion). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in better security in releasing data after determining the task of been finish for the certain data (McKenney: [0052]). In addition, the references (Longerbeam, Giampaolo, and McKenney) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and McKenney are directed to software arts pertaining to data structures.
Claim 124 is rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of U.S Patent 6,148,294 issued to Beyda et al. (hereinafter as “Beyda”).
Regarding claim 124, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the computer readable media memory further include instructions that cause the at least one processor to perform processing including one or more of: maintaining file extension or suffix statistics; utilizing the suffix statistics to optimize memory allocation for common extensions; and adjusting clustering strategies based on extension patterns of extensions determine or observed.
Beyda teaches the computer readable media memory further include instructions that cause the at least one processor to perform processing including one or more of: maintaining file extension or suffix statistics (Beyda: Col 5, lines 51-56; The user may select a file type by clicking on any of the given file types listed in the file type select window 602. As illustrated, these can include any of a variety of file types, including but not limited to text (*.txt), hypertext mark-up language (*.html), executable (*.exe), and WordPerfect (*.wpd) files. Col 6, lines 18-22; In addition, files of a particular type 702e and files which have been accessed by a particular application 702f may be selected to have a greater or lesser weighting in the adaptive file directory algorithm. Col 6, lines 65-67; and Col 7, lines 1-4; The access patterns relating to frequencies of access over a particular period of time of the particular files are then recorded (Step 906). Recorded access patterns can include which of the applications has accessed or used a particular file, as well as periods of time over which the files were opened or in use); utilizing the suffix statistics to optimize memory allocation for common extensions; and adjusting clustering strategies based on extension patterns of extensions determine or observed.
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Beyda (teaches to perform processing including one or more of: maintaining file extension or suffix statistics; utilizing the suffix statistics to optimize memory allocation for common extensions; and adjusting clustering strategies based on extension patterns of extensions determine or observed). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in efficiently maintaining data in organized manner to provide better efficient in determining the ordering of data (Beyda: Col 8, lines 6-13). In addition, the references (Longerbeam, Giampaolo, and Beyda) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Beyda are directed to software arts pertaining to data structures.
Claim 126 is rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of U.S Patent Application Publication 2004/0139127 issued to Lech Pofelski (hereinafter as “Pofelski”).
Regarding claim 126, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the computer readable media memory further include instructions that cause the at least one processor to perform processing associated with establishing recovery capability of stored information, including one or more of: storing data regarding changes to memory mapping; periodically checkpointing one or more states of the in-memory data storage; and reconstructing the mappings after system restart.
Pofelski teaches the computer readable media memory further include instructions that cause the at least one processor to perform processing associated with establishing recovery capability of stored information, including one or more of: storing data regarding changes to memory mapping; periodically checkpointing one or more states of the in-memory data storage (Pofelski: [0025]; Since a in-memory database 12 can be on the order of a gigabyte or more, this is necessarily time consuming, for example taking up to an hour or so. Checkpoints are usually made every two to four hours, whilst updates are recorded continually in the transaction logs 19. Each transaction log is closed and a new log opened depending on chosen criteria, for example at predetermined time intervals or the desired size of the log file. During checkpoint generation a proportion of the SEP hosts 11 processing power and communication bandwidth will be taken up with transmission of the contents of the in-memory database 12 to the disk 17); and reconstructing the mappings after system restart .
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Pofelski (teaches to perform processing associated with establishing recovery capability of stored information, including one or more of: storing data regarding changes to memory mapping; periodically checkpointing one or more states of the in-memory data storage). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in providing faster recovery in looking up the checkup section to restore the system (Pofelski: [0035]). In addition, the references (Longerbeam, Giampaolo, and Pofelski) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Pofelski are directed to software arts pertaining to data structures.
Claim 113 is rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of U.S Patent Application Publication 2008/0270461 issued to Gordon et al. (hereinafter as “Gordon”).
Regarding claim 113, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the computer readable media further include instructions that cause the at least one processor to: reserve a first set of identifiers for single-character filenames; reserve a second set of identifiers for two-character filenames; and/or provide direct translation between the reserved identifiers and corresponding filenames.
Gordon teaches the computer readable media further include instructions that cause the at least one processor to: reserve a first set of identifiers for single-character filenames; reserve a second set of identifiers for two-character filenames; and/or provide direct translation between the reserved identifiers and corresponding filenames (Gordon: [0063]; The data object may be created by the library and returned to the application so that the data object can be accessed in the future. Alternatively, the application already knows the identifier of the data object. The containerization layer 41 may receive the object identifier from a container map of the library 503. The container map of the library 503 includes the mappings between filename of the data object, as known by the outside world (e.g., the user or application), and the identifier of the data object. The application may not know the identifier of the object, and the mappings between the object index and its physical location within the particular container (e.g., offset and length of the data object). [0076]; The entries 611(1)-(N) map the filenames 601(1)-(N), as known to the outside world (e.g., user or application), to the identifiers 602(1)-(N) of the data object. The identifier includes at least the container identification (container ID), which indicates within which particular container the object is stored, and the object index, which may include the offset within the particular container and the length of the object within the container).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Gordon (teaches to reserve a first set of identifiers for single-character filenames; reserve a second set of identifiers for two-character filenames; and/or provide direct translation between the reserved identifiers and corresponding filenames). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in determining to access data object within the file system to providing easier retrieval (Gordon: [0031]). In addition, the references (Longerbeam, Giampaolo, and Gordon) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Gordon are directed to software arts pertaining to data structures.
Claim 116 is rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of U.S Patent 8,849,825 issued McHugh et al. (hereinafter as “McHugh”).
Regarding claim 116, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the computer readable media further include instructions that cause the at least one processor to perform processing associated with clustering of inode entries, including one or more of: grouping inodes based on common filename extensions; grouping inodes based on common pathname components; and/or maintaining clustered groups in contiguous memory regions.
McHugh teaches the computer readable media further include instructions that cause the at least one processor to perform processing associated with clustering of inode entries, including one or more of: grouping inodes based on common filename extensions (McHugh: Col 10, lines 64-67; and Col 11, lines 1-9; For example, FIG. 3A illustrates a PUT OBJECT operation in which a new version of an object having the user key “photo.gif” is stored in a versioning-enabled bucket 320 that already contains two objects with the same name (i.e. with the same user key). In this example, the original object (i.e. the object having the version-id value shown as ID=8930287) and another version of the object (i.e. the object having the version-id value shown as ID=4857693) remain in bucket 320 following the PUT OBJECT operation. In response to the PUT OBJECT operation (which does not specify a version-id), the system generates a new version identifier (shown as ID=2121212), and adds the newer version of the object “photo.gif”);
grouping inodes based on common pathname components; and/or maintaining clustered groups in contiguous memory regions.
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of McHugh (teaches instructions that cause the at least one processor to perform processing associated with clustering of inode entries, including one or more of: grouping inodes based on common filename extensions; grouping inodes based on common pathname components; and/or maintaining clustered groups in contiguous memory regions). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in clustering data with similar elements to provide better efficient way for easier retrieval (McHugh: Col 33, lines 45-50). In addition, the references (Longerbeam, Giampaolo, and McHugh) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and McHugh are directed to software arts pertaining to data structures.
Claim 118 is rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent Application Publication 2004/0268084 issued to Longerbeam (hereinafter as "Longerbeam") in view of U.S Patent Application Publication 2011/0196903 issued to Giampaolo (hereinafter as "Giampaolo") in further view of U.S Patent Application Publication 2012/0011340 issued Flynn et al. (hereinafter as “Flynn”).
Regarding claim 118, the modification of Longerbeam and Giampaolo teaches claimed invention substantially as claimed, however the modification of Longerbeam and Giampaolo does not explicitly teach the computer readable media further include instructions that cause the at least one processor to perform processing associated with implementing dynamic identifier assignment, wherein one or more of: single-character names are mapped to identifiers in a first range; two-character names are mapped to identifiers in a second range; and/or N-character names are mapped to identifiers in subsequent ranges.
Flynn teaches the computer readable media further include instructions that cause the at least one processor to perform processing associated with implementing dynamic identifier assignment, wherein one or more of: single-character names are mapped to identifiers in a first range; two-character names are mapped to identifiers in a second range; and/or N-character names are mapped to identifiers in subsequent ranges (Flynn: [0082]; A logical identifier (“LID”) includes data unit identifiers, such as a file name, an object identifier, an inode [0209]; The LIDs in the logical-to-physical map, managed at the data storage device, may include any type of logical address, such as an LBA, an index, a file name, and an inode, and may include objects. [0219]; to satisfy the allocation request, the allocation reply module 406 may include in the reply an affirmative response, a list of LIDs, a range of LIDs, etc. depending upon the nature of the allocation request. [0287]; In one embodiment, the LID allocation module 402 allocates LIDs in a contiguous range. The LID assignment module 528 may also allocate LIDs in a consecutive range).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the teachings of Longerbeam (teaches including an in-memory data structure in the memory that stores all or essentially all inodes and metadata associated with data objects that are processed and/or handled by the in-memory data structure; wherein the in-memory data structure comprises a lockable data structure that maps file names to unique identifiers) with the teachings of Giampaolo (teaches include a non-transitory computer readable media, the non-transitory computer readable media including computer-readable program instructions that, upon execution by the at least one computer processor, cause the at least one processor to perform operations including one or more of maintaining all file system metadata exclusively in the memory without caching to disk; clustering inode entries with similar polymorphisms together to increase access efficiency) to further include the teachings of Flynn (to perform processing associated with implementing dynamic identifier assignment, wherein one or more of: single-character names are mapped to identifiers in a first range; two-character names are mapped to identifiers in a second range; and/or N-character names are mapped to identifiers in subsequent ranges). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in improving performance by data distribution (Flynn: [0174]). In addition, the references (Longerbeam, Giampaolo, and Flynn) teach features that are directed to analogous art and they are directed to the same field of endeavor as Longerbeam, Giampaolo, and Flynn are directed to software arts pertaining to data structures.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
U.S Patent Application Publication 2012/0323971 issued to Kantikiran PASUPULETI (hereinafter as “PASUPULETI”) teaches providing optimizing data storage and access of an in-memory database in a database management system.
U.S Patent Application Publication 2009/0083277 issued to Barsness et al. (hereinafter as “Barsness”) teaches normalizing data stored in an in-memory database on a parallel computer system resulting faster response time when querying data.
U.S Patent Application Publication 2012/0179680 issued to Isaascon et al. (hereinafter as “Isaacson”) teaches providing semantic associated between data and grouping together related files to create association.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANDREW N HO whose telephone number is (571)270-0590. The examiner can normally be reached Tuesday and Thursday 10:00-6:00.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Sherief Badawi can be reached at (571) 272-9782. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
4/1/2026
/ANDREW N HO/Examiner
Art Unit 2169
/SHERIEF BADAWI/Supervisory Patent Examiner, Art Unit 2169