Patents by Inventor Mark Maybee
Mark Maybee has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20180196816Abstract: Techniques described herein relate to systems and methods of data storage, and more particularly to providing layering of file system functionality on an object interface. In certain embodiments, file system functionality may be layered on cloud object interfaces to provide cloud-based storage while allowing for functionality expected from a legacy applications. For instance, POSIX interfaces and semantics may be layered on cloud-based storage, while providing access to data in a manner consistent with file-based access with data organization in name hierarchies. Various embodiments also may provide for memory mapping of data so that memory map changes are reflected in persistent storage while ensuring consistency between memory map changes and writes. For example, by transforming a ZFS file system disk-based storage into ZFS cloud-based storage, the ZFS file system gains the elastic nature of cloud storage.Type: ApplicationFiled: May 31, 2017Publication date: July 12, 2018Applicant: Oracle International CorporationInventors: Mark Maybee, James Kremer, Gavin Gibson
-
Patent number: 9934231Abstract: Implementations described and claimed herein provide a system and methods for prioritizing data in a cache. In one implementation, a priority level, such as critical, high, and normal, is assigned to cached data. The priority level dictates how long the data is cached and consequently, the order in which the data is evicted from the cache memory. Data assigned a priority level of critical will be resident in cache memory unless heavy memory pressure causes the system to reclaim memory and all data assigned a priority state of high or normal has been evicted. High priority data is cached longer than normal priority data, with normal priority data being evicted first. Accordingly, important data assigned a priority level of critical, such as a deduplication table, is kept resident in cache memory at the expense of other data, regardless of the frequency or recency of use of the data.Type: GrantFiled: December 22, 2014Date of Patent: April 3, 2018Assignee: Oracle International CorporationInventors: Mark Maybee, Lisa Week
-
Patent number: 9805048Abstract: Implementations described and claimed herein provide systems and methods for allocating and managing resources for a deduplication table. In one implementation, an upper limit to an amount of memory allocated to a deduplication table is established. The deduplication table has one or more checksum entries, and each checksum entry is associates a checksum with unique data. A new checksum entry corresponding to new unique data is prevented from being added to the deduplication table where adding the new checksum entry will cause the deduplication table to exceed a size limit. The new unique data has a checksum that is different from the checksums in the one or more checksum entries in the deduplication table.Type: GrantFiled: October 18, 2012Date of Patent: October 31, 2017Assignee: Oracle International CorporationInventors: Lisa Week, Mark Maybee
-
Patent number: 9779027Abstract: Aspects of the present disclosure disclose systems and methods for managing a level-two persistent cache. In various aspects, a solid-state drive is employed as a level-two cache to expand the capacity of existing caches. In particular, any data that is scheduled to be evicted or otherwise removed from a level-one cache is stored in the level-two cache with corresponding metadata in a manner that is quickly retrievable. The data contained within the level-two cache is managing using a cache list that manages and/or maintains data chunk entries added to the level-two cache based on a temporal access of the data chunk.Type: GrantFiled: October 18, 2012Date of Patent: October 3, 2017Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Mark Maybee, Mark J. Musante, Victor Latushkin
-
Patent number: 9772949Abstract: Aspects of the present disclosure involve a level two persistent cache. In various aspects, a solid-state drive is employed as a level-two cache to expand the capacity of existing caches. In particular, any data that is scheduled to be evicted or otherwise removed from a level-one cache is stored in the level-two cache with corresponding metadata in a manner that is quickly retrievable.Type: GrantFiled: October 18, 2012Date of Patent: September 26, 2017Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Mark Maybee, Mark J. Musante, Victor Latushkin
-
Patent number: 9612766Abstract: Implementations described and claimed herein provide systems and methods for estimating migration progress. In one implementation, a target file system is initialized to which to migrate existing data from a source file system. An initial amount of data to be migrated to the target file system is estimated based on an examination of in-use space at a root of the source file system. Any mount points for nested file systems in the source file system are identified. An amount of data for each of the nested file systems is estimated based on an examination of in-use space at the mount point for the nested file system. An estimated total amount of data to be migrated from the source file system to the target file system is determined based on the initial amount of data to be migrated and the amount of data for each of the nested file systems.Type: GrantFiled: December 19, 2014Date of Patent: April 4, 2017Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Timothy Haley, Mark Maybee, Priya Krishnan
-
Publication number: 20170031828Abstract: Implementations described and claimed herein provide a coordination of interdependent asynchronous reads. In one implementation, an input/output request for a target data block stored on a block device at a virtual address is received. A highest level indirect block from which the target data block depends in a hierarchical data structure pointing to the virtual address of the target data block is identified. The highest level indirect block is uncached. A context item is recorded to an input/output structure for the highest level indirect block. The context item indicates that an ultimate objective of a read request for the highest level indirect block is to retrieve the target data block. The input/output request is asynchronously reissued for the target data block upon receipt of the read request for the highest level indirect block.Type: ApplicationFiled: July 28, 2016Publication date: February 2, 2017Applicant: Oracle International CorporationInventors: Peter Dunlap, Mark Maybee
-
Patent number: 9424314Abstract: Implementations of the present disclosure involve a system and/or method for joining read requests for the same data block sent to a storage appliance. The system and method is configured to receive the first read request for the data block at an I/O layer of the storage appliance. The I/O layer is configured to manage obtaining data blocks from one or more storage devices on the storage appliance. The system and method may then receive a second read request for the data block at the I/O layer of the storage appliance. The first and second read request may then be joined at I/O layer and only a single copy of the data block is returned to a cache in response to the first and second read requests.Type: GrantFiled: October 19, 2012Date of Patent: August 23, 2016Assignee: Oracle International CorporationInventors: Mark Maybee, Mark J. Musante
-
Publication number: 20160179435Abstract: Implementations described and claimed herein provide systems and methods for estimating migration progress. In one implementation, a target file system is initialized to which to migrate existing data from a source file system. An initial amount of data to be migrated to the target file system is estimated based on an examination of in-use space at a root of the source file system. Any mount points for nested file systems in the source file system are identified. An amount of data for each of the nested file systems is estimated based on an examination of in-use space at the mount point for the nested file system. An estimated total amount of data to be migrated from the source file system to the target file system is determined based on the initial amount of data to be migrated and the amount of data for each of the nested file systems.Type: ApplicationFiled: December 19, 2014Publication date: June 23, 2016Applicant: Oracle International CorporationInventors: Timothy Haley, Mark Maybee, Priya Krishnan
-
Publication number: 20150154216Abstract: Implementations described and claimed herein provide a system and methods for prioritizing data in a cache. In one implementation, a priority level, such as critical, high, and normal, is assigned to cached data. The priority level dictates how long the data is cached and consequently, the order in which the data is evicted from the cache memory. Data assigned a priority level of critical will be resident in cache memory unless heavy memory pressure causes the system to reclaim memory and all data assigned a priority state of high or normal has been evicted. High priority data is cached longer than normal priority data, with normal priority data being evicted first. Accordingly, important data assigned a priority level of critical, such as a deduplication table, is kept resident in cache memory at the expense of other data, regardless of the frequency or recency of use of the data.Type: ApplicationFiled: December 22, 2014Publication date: June 4, 2015Applicant: Oracle International CorporationInventors: Mark Maybee, Lisa Week
-
Patent number: 8935481Abstract: Aspects of the present disclosure disclose systems and methods for managing a level-two persistent cache. In various aspects, a solid-state drive is employed as a level-two cache to expand the capacity of existing caches. Any data stored in the level-two cache may be stored in a particular version or format of data known as “raw” data, in contrast to storing the data in a “cooked” version, as is typically stored in a level-one cache.Type: GrantFiled: October 19, 2012Date of Patent: January 13, 2015Assignee: Oracle International CorporationInventors: Mark Maybee, Mark J. Musante, Victor Latushkin
-
Publication number: 20140344222Abstract: Implementations of the present disclosure involve a system and/or method for replication size estimation and progress monitoring for a file system residing on a computing system. The replication progress monitoring system obtains a first snapshot of a file system for a first point in time and a second snapshot of the file system for a second point in time. The system may then calculate the difference between the first snapshot size from the second snapshot size and add to the difference the size a released data size. The released data size includes the size of any blocks of data included in the first snapshot and released before the second snapshot was taken. The replication transfer size may then be estimated by adding the snapshot size difference with the released size estimate.Type: ApplicationFiled: May 16, 2013Publication date: November 20, 2014Applicant: Oracle International CorporationInventors: Richard J. Morris, Waikwan Hui, Mark Maybee
-
Publication number: 20140115260Abstract: Implementations described and claimed herein provide a system and methods for prioritizing data in a cache. In one implementation, a priority level, such as critical, high, and normal, is assigned to cached data. The priority level dictates how long the data is cached and consequently, the order in which the data is evicted from the cache memory. Data assigned a priority level of critical will be resident in cache memory unless heavy memory pressure causes the system to reclaim memory and all data assigned a priority state of high or normal has been evicted. High priority data is cached longer than normal priority data, with normal priority data being evicted first. Accordingly, important data assigned a priority level of critical, such as a deduplication table, is kept resident in cache memory at the expense of other data, regardless of the frequency or recency of use of the data.Type: ApplicationFiled: October 18, 2012Publication date: April 24, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Mark Maybee, Lisa Week
-
Publication number: 20140115245Abstract: Aspects of the present disclosure disclose systems and methods for managing a level-two persistent cache. In various aspects, a solid-state drive is employed as a level-two cache to expand the capacity of existing caches. Any data stored in the level-two cache may be stored in a particular version or format of data known as “raw” data, in contrast to storing the data in a “cooked” version, as is typically stored in a level-one cache.Type: ApplicationFiled: October 19, 2012Publication date: April 24, 2014Applicant: Oracle International CorporationInventors: Mark Maybee, Mark J. Musante, Victor Latushkin
-
Publication number: 20140115258Abstract: Implementations described and claimed herein provide systems and methods for allocating and managing resources for a deduplication table. In one implementation, an upper limit to an amount of memory allocated to a deduplication table is established. The deduplication table has one or more checksum entries, and each checksum entry is associates a checksum with unique data. A new checksum entry corresponding to new unique data is prevented from being added to the deduplication table where adding the new checksum entry will cause the deduplication table to exceed a size limit. The new unique data has a checksum that is different from the checksums in the one or more checksum entries in the deduplication table.Type: ApplicationFiled: October 18, 2012Publication date: April 24, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Lisa Week, Mark Maybee
-
Publication number: 20140115244Abstract: Aspects of the present disclosure disclose systems and methods for providing a level-two persistent cache. In various aspects, a solid-state drive is employed as a level-two cache to expand the capacity of existing caches. In particular, any data that is scheduled to be evicted or otherwise removed from a level-one cache is stored in the level-two cache with corresponding metadata in a manner that is quickly retrievable.Type: ApplicationFiled: October 18, 2012Publication date: April 24, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Mark Maybee, Mark J. Musante, Victor Latushkin
-
Publication number: 20140115246Abstract: Aspects of the present disclosure disclose systems and methods for recognizing multiple and distinct references within a cache that identify or otherwise provide access to empty blocks of data. Multiple references identifying empty blocks of data are associated with a single block of empty data permanently stored in the cache. Subsequently, each time an empty block of data is added to the cache, a reference corresponding to the empty block is mapped to a generic empty block of data stored in the cache. When a reference is removed or deleted from the cache, only the reference is deleted; the single generic block of empty data continues to reside in the cache.Type: ApplicationFiled: October 19, 2012Publication date: April 24, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventor: Mark Maybee
-
Publication number: 20140115261Abstract: Aspects of the present disclosure disclose systems and methods for managing a level-two persistent cache. In various aspects, a solid-state drive is employed as a level-two cache to expand the capacity of existing caches. In particular, any data that is scheduled to be evicted or otherwise removed from a level-one cache is stored in the level-two cache with corresponding metadata in a manner that is quickly retrievable. The data contained within the level-two cache is managing using a cache list that manages and/or maintains data chunk entries added to the level-two cache based on a temporal access of the data chunk.Type: ApplicationFiled: October 18, 2012Publication date: April 24, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Mark Maybee, Mark J. Musante, Victor Latushkin
-
Publication number: 20140115089Abstract: Implementations of the present disclosure involve a system and/or method for joining read requests for the same data block sent to a storage appliance. The system and method is configured to receive the first read request for the data block at an I/O layer of the storage appliance. The I/O layer is configured to manage obtaining data blocks from one or more storage devices on the storage appliance. The system and method may then receive a second read request for the data block at the I/O layer of the storage appliance. The first and second read request may then be joined at I/O layer and only a single copy of the data block is returned to a cache in response to the first and second read requests.Type: ApplicationFiled: October 19, 2012Publication date: April 24, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Mark Maybee, Mark J. Musante
-
Publication number: 20070118578Abstract: In general, embodiments of the invention relate to a disk, which includes a plurality of files and rectory associated with the plurality of files comprising a plurality of directory entries. Further, each of the plurality of directory entries is associated one of the plurality of files and each of the plurality of directory entries is associated with a collision differentiator (CD). In one aspect of the invention, a hash value calculated for each of the plurality of directory entries is used to determine the CD associated with each of the plurality of directory entries.Type: ApplicationFiled: May 11, 2006Publication date: May 24, 2007Applicant: Sun Microsystems, Inc.Inventors: Matthew Ahrens, Mark Maybee