Patents by Inventor Deric Horn

Deric 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: 9575976
    Abstract: Methods and apparatuses that maintain birth time for a file system to optimize file update operations are described. The file system can include a plurality of snapshots or clones of data stored in one or more extents of blocks allocated in a storage device. Each extent may be associated with a time stamp according to the birth time. A request may be received from an executable using the file system to update data in a particular extent associated with a particular time stamp. In response, the current birth time in the file system and the particular time stamp may be compared to determine if the particular extent is not shared by more than one of the snapshots. If the particular time stamp is equal to the current birth time, the particular extent may be updated directly without performing an expensive operation to check whether a reference count of the particular extent is equal to one.
    Type: Grant
    Filed: September 17, 2014
    Date of Patent: February 21, 2017
    Assignee: Apple Inc.
    Inventors: Wenguang Wang, Deric Horn, David Alexander Majnemer, Owen Strain
  • Patent number: 8972690
    Abstract: Methods and apparatuses that maintain an access history of a file allocated with allocation blocks in storage devices are described. In response to receiving a usage request to allocate additional space for the file, an allocation block size may be adjusted or adapted based on the access history. The storage devices may be allocated with one or more allocation blocks using the adapted allocation block size to provide requested space for the file.
    Type: Grant
    Filed: January 5, 2010
    Date of Patent: March 3, 2015
    Inventors: Deric Horn, Donald James Brady, David Alexander Majnemer, Eric Brandon Tamura
  • Publication number: 20150006495
    Abstract: Methods and apparatuses that maintain birth time for a file system to optimize file update operations are described. The file system can include a plurality of snapshots or clones of data stored in one or more extents of blocks allocated in a storage device. Each extent may be associated with a time stamp according to the birth time. A request may be received from an executable using the file system to update data in a particular extent associated with a particular time stamp. In response, the current birth time in the file system and the particular time stamp may be compared to determine if the particular extent is not shared by more than one of the snapshots. If the particular time stamp is equal to the current birth time, the particular extent may be updated directly without performing an expensive operation to check whether a reference count of the particular extent is equal to one.
    Type: Application
    Filed: September 17, 2014
    Publication date: January 1, 2015
    Inventors: Wenguang WANG, Deric HORN, David Alexander MAJNEMER, Owen STRAIN
  • Patent number: 8849876
    Abstract: Methods and apparatuses that maintain birth time for a file system to optimize file update operations are described. The file system can include a plurality of snapshots or clones of data stored in one or more extents of blocks allocated in a storage device. Each extent may be associated with a time stamp according to the birth time. A request may be received from an executable using the file system to update data in a particular extent associated with a particular time stamp. In response, the current birth time in the file system and the particular time stamp may be compared to determine if the particular extent is not shared by more than one of the snapshots. If the particular time stamp is equal to the current birth time, the particular extent may be updated directly without performing an expensive operation to check whether a reference count of the particular extent is equal to one.
    Type: Grant
    Filed: December 28, 2009
    Date of Patent: September 30, 2014
    Inventors: Wenguang Wang, Deric Horn, David Alexander Majnemer, Owen Strain
  • Publication number: 20110167239
    Abstract: Methods and apparatuses that maintain an access history of a file allocated with allocation blocks in storage devices are described. In response to receiving a usage request to allocate additional space for the file, an allocation block size may be adjusted or adapted based on the access history. The storage devices may be allocated with one or more allocation blocks using the adapted allocation block size to provide requested space for the file.
    Type: Application
    Filed: January 5, 2010
    Publication date: July 7, 2011
    Inventors: Deric Horn, Donald James Brady, David Alexander Majnemer, Eric Brandon Tamura
  • Publication number: 20110161381
    Abstract: Methods and apparatuses that maintain birth time for a file system to optimize file update operations are described. The file system can include a plurality of snapshots or clones of data stored in one or more extents of blocks allocated in a storage device. Each extent may be associated with a time stamp according to the birth time. A request may be received from an executable using the file system to update data in a particular extent associated with a particular time stamp. In response, the current birth time in the file system and the particular time stamp may be compared to determine if the particular extent is not shared by more than one of the snapshots. If the particular time stamp is equal to the current birth time, the particular extent may be updated directly without performing an expensive operation to check whether a reference count of the particular extent is equal to one.
    Type: Application
    Filed: December 28, 2009
    Publication date: June 30, 2011
    Inventors: Wenguang Wang, Deric Horn, David Alexander Majnemer, Owen Strain
  • Publication number: 20080040361
    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: December 28, 2006
    Publication date: February 14, 2008
    Inventors: Mark Day, Donald Brady, Deric Horn
  • Publication number: 20060143201
    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: February 22, 2006
    Publication date: June 29, 2006
    Inventors: Mark Day, Donald Brady, Deric Horn
  • Publication number: 20050240716
    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: Application
    Filed: June 29, 2005
    Publication date: October 27, 2005
    Inventors: Mark Day, Donald Brady, Deric Horn