Patents by Inventor Deric S. Horn
Deric S. Horn 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).
-
Patent number: 10073851Abstract: In one embodiment, a new file creation cache is reserved on a fast storage device that is part of a composite storage device that also includes a slow storage device; the composite storage device is treated as a single logical volume (or a plurality of logical volumes) by a file system which maintains a mapping table that is used to determine whether the write operation is for a new file. If the write operation is for a new file, the file system attempts to write the new file to the fast storage device. If the write operation is not for a new file, the mapping table specifies which device is used for the write operation.Type: GrantFiled: January 8, 2013Date of Patent: September 11, 2018Assignee: Apple Inc.Inventors: Wenguang Wang, David A. Majnemer, Deric S. Horn
-
Patent number: 9292217Abstract: Space sharing between logical volumes is achieved through a technique that enables available storage space to be flexibly consumed and released by the logical volumes. Each logical volume is associated with an address tree that defines how available storage space is consumed by the logical volume. The technique involves receiving an input/output (I/O) operation that specifies a logical address within an address tree associated with the logical volume, parsing the address tree to identify an entry therein, if any, that is associated with the logical address, where the entry stores physical address information that is associated with the logical address. If it is determined that the entry exists, then one or more translated I/O operations are generated based on the physical address information and forwarded to a physical device manager to carry out the translated one or more I/O operations.Type: GrantFiled: August 5, 2015Date of Patent: March 22, 2016Assignee: Apple Inc.Inventors: Deric S. Horn, David A. Majnemer, Wenguang Wang
-
Publication number: 20150339077Abstract: Space sharing between logical volumes is achieved through a technique that enables available storage space to be flexibly consumed and released by the logical volumes. Each logical volume is associated with an address tree that defines how available storage space is consumed by the logical volume. The technique involves receiving an input/output (I/O) operation that specifies a logical address within an address tree associated with the logical volume, parsing the address tree to identify an entry therein, if any, that is associated with the logical address, where the entry stores physical address information that is associated with the logical address. If it is determined that the entry exists, then one or more translated I/O operations are generated based on the physical address information and forwarded to a physical device manager to carry out the translated one or more I/O operations.Type: ApplicationFiled: August 5, 2015Publication date: November 26, 2015Inventors: Deric S. HORN, David A. MAJNEMER, Wenguang WANG
-
Patent number: 9195666Abstract: Managing data units by converting the data units into data segments and access files describing how to retrieve the data segments using hash values for the data segments. In a data store operation, the data unit is divided into data segments and an access file is generated. The access file includes segmenting scheme information for the data segments, hashing scheme information for the hash values, hash identification information describing the hash values, and location information identifying the locations at which the data segments are available. In a data retrieval operation, data from the data unit is retrieved by accessing the data segments and extracting the data therefrom, where the data segments are retrieved based on the access file for the data unit.Type: GrantFiled: January 17, 2012Date of Patent: November 24, 2015Assignee: Apple Inc.Inventors: Deric S. Horn, Jeffrey D. Chung, Wenguang Wang
-
Patent number: 9134908Abstract: Space sharing between logical volumes is achieved through a technique that enables available storage space to be flexibly consumed and released by the logical volumes. Each logical volume is associated with an address tree that defines how available storage space is consumed by the logical volume. The technique involves receiving an input/output (I/O) operation that specifies a logical address within an address tree associated with the logical volume, parsing the address tree to identify an entry therein, if any, that is associated with the logical address, where the entry stores physical address information that is associated with the logical address. If it is determined that the entry exists, then one or more translated I/O operations are generated based on the physical address information and forwarded to a physical device manager to carry out the translated one or more I/O operations.Type: GrantFiled: January 9, 2013Date of Patent: September 15, 2015Assignee: Apple Inc.Inventors: Deric S. Horn, David A. Majnemer, Wenguang Wang
-
Patent number: 8924739Abstract: Disclosed herein are systems, methods, and non-transitory computer-readable storage media for performing in-place encryption. A system configured to practice the method receives a request from a user to encrypt an unencrypted volume of a computing device and identifies, generates, and/or randomly selects a volume key. Then the system converts the unencrypted volume to an encryptable format divided into portions. The system then encrypts, based on the volume key, the encryptable volume, portion by portion, to enable the user to use the computing device while encrypting. The system can maintain an encryption progress status and display the encryption progress status. The system can monitor disk accesses to the encryptable volume, and, when the disk accesses exceed a first threshold, apply a back-off algorithm to stop encrypting until the disk accesses fall below a second threshold. Thus, the computing device can be used while the encryption occurs in the background.Type: GrantFiled: January 5, 2011Date of Patent: December 30, 2014Assignee: Apple Inc.Inventors: Deric S. Horn, Joseph Sokol, Jr., Owen Joseph Strain, Wenguang Wang
-
Publication number: 20140195571Abstract: In one embodiment, a new file creation cache is reserved on a fast storage device that is part of a composite storage device that also includes a slow storage device; the composite storage device is treated as a single logical volume (or a plurality of logical volumes) by a file system which maintains a mapping table that is used to determine whether the write operation is for a new file. If the write operation is for a new file, the file system attempts to write the new file to the fast storage device. If the write operation is not for a new file, the mapping table specifies which device is used for the write operation.Type: ApplicationFiled: January 8, 2013Publication date: July 10, 2014Applicant: Apple Inc.Inventors: Wenguang Wang, David A. Majnemer, Deric S. Horn
-
Publication number: 20140195761Abstract: Space sharing between logical volumes is achieved through a technique that enables available storage space to be flexibly consumed and released by the logical volumes. Each logical volume is associated with an address tree that defines how available storage space is consumed by the logical volume. The technique involves receiving an input/output (I/O) operation that specifies a logical address within an address tree associated with the logical volume, parsing the address tree to identify an entry therein, if any, that is associated with the logical address, where the entry stores physical address information that is associated with the logical address. If it is determined that the entry exists, then one or more translated I/O operations are generated based on the physical address information and forwarded to a physical device manager to carry out the translated one or more I/O operations.Type: ApplicationFiled: January 9, 2013Publication date: July 10, 2014Applicant: APPLE INC.Inventors: Deric S. HORN, David A. MAJNEMER, Wenguang WANG
-
Publication number: 20130185266Abstract: Managing data units by converting the data units into data segments and access files describing how to retrieve the data segments using hash values for the data segments. In a data store operation, the data unit is divided into data segments and an access file is generated. The access file includes segmenting scheme information for the data segments, hashing scheme information for the hash values, hash identification information describing the hash values, and location information identifying the locations at which the data segments are available. In a data retrieval operation, data from the data unit is retrieved by accessing the data segments and extracting the data therefrom, where the data segments are retrieved based on the access file for the data unit.Type: ApplicationFiled: January 17, 2012Publication date: July 18, 2013Applicant: Apple Inc.Inventors: Deric S. Horn, Jeffrey D. Chung, Wenguang Wang
-
Publication number: 20120179915Abstract: Disclosed herein are systems, methods, and non-transitory computer-readable storage media for authenticating a user logging in to an operating system stored on an encrypted drive. A system configured to practice the method presents a login prompt and receives credentials from a user. The system accesses the operating system on the encrypted drive based on the credentials and starts the operating system. Then the system authenticates the user on the operating system based on the credentials, such as via login forwarding. The system can set up a unified login by receiving a request to encrypt a storage device, and based on received user credentials, generating user data associated with logging in to an operating system on the computing device and user data for encrypting the storage device. The system stores the user data in a manner to enable a unified login boot prompt.Type: ApplicationFiled: January 7, 2011Publication date: July 12, 2012Applicant: Apple Inc.Inventors: Deric S. Horn, Soren Carlson Spies, Bradley David Strand, Russell Dean Reece, Jonathan David Callas
-
Publication number: 20120173882Abstract: Disclosed herein are systems, methods, and non-transitory computer-readable storage media for performing in-place encryption. A system configured to practice the method receives a request from a user to encrypt an unencrypted volume of a computing device and identifies, generates, and/or randomly selects a volume key. Then the system converts the unencrypted volume to an encryptable format divided into portions. The system then encrypts, based on the volume key, the encryptable volume, portion by portion, to enable the user to use the computing device while encrypting. The system can maintain an encryption progress status and display the encryption progress status. The system can monitor disk accesses to the encryptable volume, and, when the disk accesses exceed a first threshold, apply a back-off algorithm to stop encrypting until the disk accesses fall below a second threshold. Thus, the computing device can be used while the encryption occurs in the background.Type: ApplicationFiled: January 5, 2011Publication date: July 5, 2012Applicant: Apple Inc.Inventors: Deric S. Horn, Joseph Sokol, JR., Owen Joseph Strain, Wenguang Wang
-
Patent number: 7991781Abstract: The invention receives a request to store a file having a filename written in a first text encoding, converts the filename into a Unicode filename and stores the Unicode filename and the file into memory. The invention then sets a flag, associated with the memory, indicating that a first text encoding has been used. To retrieve a Unicode filename, the invention receives a request to locate a Unicode filename from memory. Next, the invention uses a predetermined text encoding to convert the filename into Unicode. The invention then searches for the Unicode filename in the memory. If the Unicode filename is not found, the invention uses a next text encoding from the set of text encodings which have been used, to repeat the conversion and searches the memory until the Unicode filename is identified. Lastly, the Unicode file is retrieved.Type: GrantFiled: December 28, 2006Date of Patent: August 2, 2011Assignee: Apple Inc.Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
-
Patent number: 7801906Abstract: The invention receives a request to store a file having a filename written in a first text encoding, converts the filename into a Unicode filename and stores the Unicode filename and the file into memory. The invention then sets a flag, associated with the memory, indicating that a first text encoding has been used. To retrieve a Unicode filename, the invention receives a request to locate a Unicode filename from memory. Next, the invention uses a predetermined text encoding to convert the filename into Unicode. The invention then searches for the Unicode filename in the memory. If the Unicode filename is not found, the invention uses a next text encoding from the set of text encodings which have been used, to repeat the conversion and searches the memory until the Unicode filename is identified. Lastly, the Unicode file is retrieved.Type: GrantFiled: February 22, 2006Date of Patent: September 21, 2010Assignee: Apple Inc.Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
-
Patent number: 7769785Abstract: A system and method for interfacing index based and iterator based file management routines. In general, the disclosed system maintains an iterator cache having multiple iterators. Each active iterator is associated with a most recently used directory entry. Upon receiving an index based request, the iterator closest to the index based request is identified. If the index based request is closer to the top of the directory than it is to the closest active iterator, the directory entries are sequentially examined beginning at the top of the directory with the first entry. Otherwise, the system deternines whether the index based request is located above or below the closest iterator. If the index based request is above the closest iterator, the system steps backward beginning with the directory entry associated with the closest iterator until the directory entry associated with the index based request is located.Type: GrantFiled: June 29, 2005Date of Patent: August 3, 2010Assignee: Apple Inc.Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
-
Patent number: 7013314Abstract: The invention receives a request to store a file having a filename written in a first text encoding, converts the filename into a Unicode filename and stores the Unicode filename and the file into memory. The invention then sets a flag, associated with the memory, indicating that a first text encoding has been used. To retrieve a Unicode filename, the invention receives a request to locate a Unicode filename from memory. Next, the invention uses a predetermined text encoding to convert the filename into Unicode. The invention then searches for the Unicode filename in the memory. If the Unicode filename is not found, the invention uses a next text encoding from the set of text encodings which have been used, to repeat the conversion and searches the memory until the Unicode filename is identified. Lastly, the Unicode file is retrieved.Type: GrantFiled: June 20, 2002Date of Patent: March 14, 2006Assignee: Apple Computer, Inc.Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
-
Patent number: 6922698Abstract: A system and method for interfacing index based and iterator based file management routines. In general, the disclosed system maintains an iterator cache having multiple iterators. Each active iterator is associated with a most recently used directory entry. Upon receiving an index based request, the iterator closest to the index based request is identified. If the index based request is closer to the top of the directory than it is to the closest active iterator, the directory entries are sequentially examined beginning at the top of the directory with the first entry. Otherwise, the system determines whether the index based request is located above or below the closest iterator. If the index based request is above the closest iterator, the system steps backward beginning with the directory entry associated with the closest iterator until the directory entry associated with the index based request is located.Type: GrantFiled: June 17, 2003Date of Patent: July 26, 2005Assignee: Apple Computer, Inc.Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
-
Publication number: 20030220933Abstract: A system and method for interfacing index based and iterator based file management routines. In general, the disclosed system maintains an iterator cache having multiple iterators. Each active iterator is associated with a most recently used directory entry. Upon receiving an index based request, the iterator closest to the index based request is identified. If the index based request is closer to the top of the directory than it is to the closest active iterator, the directory entries are sequentially examined beginning at the top of the directory with the first entry. Otherwise, the system determines whether the index based request is located above or below the closest iterator. If the index based request is above the closest iterator, the system steps backward beginning with the directory entry associated with the closest iterator until the directory entry associated with the index based request is located.Type: ApplicationFiled: June 17, 2003Publication date: November 27, 2003Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
-
Patent number: 6591268Abstract: A system and method for interfacing index based and iterator based file management routines. In general, the disclosed system maintains an iterator cache having multiple iterators. Each active iterator is associated with a most recently used directory entry. Upon receiving an index based request, the iterator closest to the index based request is identified. If the index based request is closer to the top of the directory than it is to the closest active iterator, the directory entries are sequentially examined beginning at the top of the directory with the first entry. Otherwise, the system determines whether the index based request is located above or below the closest iterator. If the index based request is above the closest iterator, the system steps backward beginning with the directory entry associated with the closest iterator until the directory entry associated with the index based request is located.Type: GrantFiled: February 22, 2002Date of Patent: July 8, 2003Assignee: Apple Computer, Inc.Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
-
Publication number: 20030023579Abstract: The invention receives a request to store a file having a filename written in a first text encoding, converts the filename into a Unicode filename and stores the Unicode filename and the file into memory. The invention then sets a flag, associated with the memory, indicating that a first text encoding has been used. To retrieve a Unicode filename, the invention receives a request to locate a Unicode filename from memory. Next, the invention uses a predetermined text encoding to convert the filename into Unicode. The invention then searches for the Unicode filename in the memory. If the Unicode filename is not found, the invention uses a next text encoding from the set of text encodings which have been used, to repeat the conversion and searches the memory until the Unicode filename is identified. Lastly, the Unicode file is retrieved.Type: ApplicationFiled: June 20, 2002Publication date: January 30, 2003Applicant: APPLE COMPUTER, INC.Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
-
Patent number: 6434574Abstract: The invention receives a request to store a file having a filename written in a first text encoding, converts the filename into a Unicode filename and stores the Unicode filename and the file into memory. The invention then sets a flag, associated with the memory, indicating that a first test encoding has been used. To retrieve a Unicode filename, the invention receives a request to locate a Unicode filename from memory. Next, the invention uses a predetermined text encoding to convert the filename in to Unicode. The invention then searches for the Unicode filename in the memory. If the Unicode filename is not found, the invention uses a next text encoding from the set of text encodings which have been used, to repeat the conversion and searches the memory until the Unicode filename is identified. Lastly, the Unicode file is retrieved.Type: GrantFiled: December 17, 1998Date of Patent: August 13, 2002Assignee: Apple Computer, Inc.Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn