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: 10073851
    Abstract: 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: Grant
    Filed: January 8, 2013
    Date of Patent: September 11, 2018
    Assignee: Apple Inc.
    Inventors: Wenguang Wang, David A. Majnemer, Deric S. Horn
  • Patent number: 9292217
    Abstract: 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: Grant
    Filed: August 5, 2015
    Date of Patent: March 22, 2016
    Assignee: Apple Inc.
    Inventors: Deric S. Horn, David A. Majnemer, Wenguang Wang
  • Publication number: 20150339077
    Abstract: 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: Application
    Filed: August 5, 2015
    Publication date: November 26, 2015
    Inventors: Deric S. HORN, David A. MAJNEMER, Wenguang WANG
  • Patent number: 9195666
    Abstract: 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: Grant
    Filed: January 17, 2012
    Date of Patent: November 24, 2015
    Assignee: Apple Inc.
    Inventors: Deric S. Horn, Jeffrey D. Chung, Wenguang Wang
  • Patent number: 9134908
    Abstract: 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: Grant
    Filed: January 9, 2013
    Date of Patent: September 15, 2015
    Assignee: Apple Inc.
    Inventors: Deric S. Horn, David A. Majnemer, Wenguang Wang
  • Patent number: 8924739
    Abstract: 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: Grant
    Filed: January 5, 2011
    Date of Patent: December 30, 2014
    Assignee: Apple Inc.
    Inventors: Deric S. Horn, Joseph Sokol, Jr., Owen Joseph Strain, Wenguang Wang
  • Publication number: 20140195571
    Abstract: 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: Application
    Filed: January 8, 2013
    Publication date: July 10, 2014
    Applicant: Apple Inc.
    Inventors: Wenguang Wang, David A. Majnemer, Deric S. Horn
  • Publication number: 20140195761
    Abstract: 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: Application
    Filed: January 9, 2013
    Publication date: July 10, 2014
    Applicant: APPLE INC.
    Inventors: Deric S. HORN, David A. MAJNEMER, Wenguang WANG
  • Publication number: 20130185266
    Abstract: 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: Application
    Filed: January 17, 2012
    Publication date: July 18, 2013
    Applicant: Apple Inc.
    Inventors: Deric S. Horn, Jeffrey D. Chung, Wenguang Wang
  • Publication number: 20120179915
    Abstract: 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: Application
    Filed: January 7, 2011
    Publication date: July 12, 2012
    Applicant: Apple Inc.
    Inventors: Deric S. Horn, Soren Carlson Spies, Bradley David Strand, Russell Dean Reece, Jonathan David Callas
  • Publication number: 20120173882
    Abstract: 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: Application
    Filed: January 5, 2011
    Publication date: July 5, 2012
    Applicant: Apple Inc.
    Inventors: Deric S. Horn, Joseph Sokol, JR., Owen Joseph Strain, Wenguang Wang
  • Patent number: 7991781
    Abstract: 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: Grant
    Filed: December 28, 2006
    Date of Patent: August 2, 2011
    Assignee: Apple Inc.
    Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
  • Patent number: 7801906
    Abstract: 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: Grant
    Filed: February 22, 2006
    Date of Patent: September 21, 2010
    Assignee: Apple Inc.
    Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
  • Patent number: 7769785
    Abstract: 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: Grant
    Filed: June 29, 2005
    Date of Patent: August 3, 2010
    Assignee: Apple Inc.
    Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
  • Patent number: 7013314
    Abstract: 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: Grant
    Filed: June 20, 2002
    Date of Patent: March 14, 2006
    Assignee: Apple Computer, Inc.
    Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
  • Patent number: 6922698
    Abstract: 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: Grant
    Filed: June 17, 2003
    Date of Patent: July 26, 2005
    Assignee: Apple Computer, Inc.
    Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
  • Publication number: 20030220933
    Abstract: 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: Application
    Filed: June 17, 2003
    Publication date: November 27, 2003
    Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
  • Patent number: 6591268
    Abstract: 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: Grant
    Filed: February 22, 2002
    Date of Patent: July 8, 2003
    Assignee: Apple Computer, Inc.
    Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
  • Publication number: 20030023579
    Abstract: 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: Application
    Filed: June 20, 2002
    Publication date: January 30, 2003
    Applicant: APPLE COMPUTER, INC.
    Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn
  • Patent number: 6434574
    Abstract: 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: Grant
    Filed: December 17, 1998
    Date of Patent: August 13, 2002
    Assignee: Apple Computer, Inc.
    Inventors: Mark S. Day, Donald J. Brady, Deric S. Horn