Patents by Inventor Dominic B. Giampaolo

Dominic B. Giampaolo 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: 11449389
    Abstract: The embodiments set forth techniques for performing incremental backups of a source file system volume (FSV) managed by a source computing device. According to some embodiments, the source computing device can be configured to generate a current snapshot of the source FSV, where the current snapshot complements a previous snapshot of the source FSV (e.g., established during a previous backup). In some cases, to free up storage space, the data for files belonging to the source FSV can be stripped from the previous snapshot (where metadata for the files remains intact). Next, the source computing device can generate, within a destination storage device, a second snapshot of a destination FSV (that corresponds to the source FSV). In turn, the source computing device identifies changes made to the source FSV based on the current snapshot and the previous snapshot, and reflects the changes within the second snapshot of the destination FSV.
    Type: Grant
    Filed: December 13, 2017
    Date of Patent: September 20, 2022
    Assignee: Apple Inc.
    Inventors: Pavel Cisler, Pavel Sokolov, Dominic B. Giampaolo, Eric A. Weiss, Christopher A. Wolf
  • Patent number: 11269700
    Abstract: Representative embodiments set forth herein disclose techniques for enabling a local file system implemented on a computing device to interact with remote files that have not yet been synchronized to the local file system. According to some embodiments, a method can be implemented at the computing device, and include the steps of (1) receiving a system call directed to an operating system kernel to access a file stored on a remote server device, (2) invoking a fault handler in response to processing the system call, (3) generating a remote procedure call (RPC) associated with the user space application to store the file in a local file system implemented on the computing device, and (4) executing a callback function associated with the RPC when the file is stored in the local file system.
    Type: Grant
    Filed: March 5, 2020
    Date of Patent: March 8, 2022
    Assignee: Apple Inc.
    Inventors: Jean-Gabriel Morard, Florent Bruneau, Dominic B. Giampaolo, Henri Doreau
  • Publication number: 20200341827
    Abstract: Representative embodiments set forth herein disclose techniques for enabling a local file system implemented on a computing device to interact with remote files that have not yet been synchronized to the local file system. According to some embodiments, a method can be implemented at the computing device, and include the steps of (1) receiving a system call directed to an operating system kernel to access a file stored on a remote server device, (2) invoking a fault handler in response to processing the system call, (3) generating a remote procedure call (RPC) associated with the user space application to store the file in a local file system implemented on the computing device, and (4) executing a callback function associated with the RPC when the file is stored in the local file system.
    Type: Application
    Filed: March 5, 2020
    Publication date: October 29, 2020
    Inventors: Jean-Gabriel MORARD, Florent BRUNEAU, Dominic B. GIAMPAOLO, Henri DOREAU
  • Patent number: 10769116
    Abstract: Disclosed herein is a technique for performing an operation on a hierarchy of content. The operation is performed atomically by utilizing a hidden directory in a hidden area of a filesystem namespace. In particular, a number of actions associated with the operation are performed in the hidden area to ensure that the hierarchy of content always appears in a consistent state to users and/or system processes.
    Type: Grant
    Filed: December 21, 2016
    Date of Patent: September 8, 2020
    Assignee: Apple Inc.
    Inventor: Dominic B. Giampaolo
  • Patent number: 10740015
    Abstract: The embodiments set forth a technique for managing file nodes within a storage device. According to some embodiments, the method can include the steps of (1) receiving a transaction request that involves modifying a plurality of file nodes, (2) analyzing the plurality of file nodes against temporal transaction information to identify, among the plurality of file nodes, at least one group of file nodes that were previously modified in conjunction with at least one previously-executed transaction request, (3) modifying each file node in the at least one group of file nodes in accordance with the transaction request to establish a modified group of file nodes, (4) allocating, within the storage device, physical storage space for storing the modified group of file nodes, and (5) contiguously writing the modified group of file nodes into the allocated physical storage space.
    Type: Grant
    Filed: September 29, 2017
    Date of Patent: August 11, 2020
    Assignee: Apple Inc.
    Inventor: Dominic B. Giampaolo
  • Patent number: 10509701
    Abstract: The embodiments set forth a technique for carrying out a backup of data managed at a computing device. According to some embodiments, the technique can include the steps of (1) receiving a request to carry out the backup of the data, (2) in response to the request, generating a current snapshot of the data, (3) identifying, in accordance with the current snapshot of the data, block data of at least one data block to be reflected in the backup of the data, wherein the at least one data block is tagged with an identifier of a file node to which the at least one data block corresponds, and (4) providing information to a storage to cause the block data to be reflected in the backup of the data.
    Type: Grant
    Filed: September 23, 2016
    Date of Patent: December 17, 2019
    Assignee: Apple Inc.
    Inventors: Eric B. Tamura, Dominic B. Giampaolo
  • Patent number: 10454679
    Abstract: This application sets forth a key rolling technique for a file system of a computing device. The key rolling technique allows for files to be transparently re-encrypted in a background process while still allowing applications to access the files being re-encrypted. During re-encryption, at least one file extent of a file is decrypted using a current key for the file extent and re-encrypted using a new key for the file extent. Moreover, the file extent can be relocated to another location in memory during re-encryption to enhance accessibility and crash protection features. Metadata associated with the file can be updated to include information pertaining to both the location of the re-encrypted file extent as well as the new key that can be used to decrypt the re-encrypted file extent. In this manner, the metadata can be used to properly construct a complete file when the file needs to be accessed.
    Type: Grant
    Filed: September 23, 2016
    Date of Patent: October 22, 2019
    Assignee: Apple Inc.
    Inventors: Eric B. Tamura, Dominic B. Giampaolo, Kelly B. Yancey
  • Patent number: 10387132
    Abstract: A cloud computing system can be used to transparently reduce the storage space of an application on a client device. An application can be installed with a minimal set of application resource files. The remaining application resource files can be replaced with application resource file placeholders, which can have the appearance of application resource files but are in fact empty files. When an application requests an application resource file, an application resource file retrieval process installed on the client device can detect the difference between an application resource file and an application resource file placeholder. The application resource file retrieval process can trigger a fault in response to detecting an application resource file placeholder, which causes the client device to obtain the requested application resource file from a remote storage location, such as cloud-based storage. Additionally, installed application resource files can be replaced with application resource file placeholders.
    Type: Grant
    Filed: August 18, 2017
    Date of Patent: August 20, 2019
    Assignee: Apple Inc.
    Inventors: Yan Arrouye, Dominic B. Giampaolo, James Mensch
  • Patent number: 10303652
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for file system management. In one aspect, a method includes receiving a request at a kernel to perform a file operation on a particular file; identifying a flag bit associated with the file; invoking user space file handler to perform particular action when the flag bit is set; determining whether notification that action has been performed by file handler is received; and allowing the file operation on the file when notification is received.
    Type: Grant
    Filed: July 6, 2016
    Date of Patent: May 28, 2019
    Assignee: Apple Inc.
    Inventors: Dominic B. Giampaolo, Pavel Cisler, Eric A. Weiss, Kristen A. McIntyre
  • Patent number: 10198452
    Abstract: Systems and methods are disclosed that track a document within a file system using document identifier (DOCID) that is preserved during safe save operations. The DOCID can be a universally unique identifier (UUID). The DOCID can be generated on a local file system or generated during a synchronization process with a remote synchronization service. Applications can opt in to document tracking. The kernel of the operating system can monitor file system operations on a per-application and per-thread basis and determine when a processing thread is about to perform a safe save. When a sequence of file system operations indicates that a safe save is to be performed, the kernel can generate and store a tombstone record that includes the DOCID and other metadata of the tracked document and pass the DOCID and metadata to the newly saved document.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: February 5, 2019
    Assignee: Apple Inc.
    Inventors: Pierre Habouzit, Dominic B. Giampaolo
  • Publication number: 20180349227
    Abstract: The embodiments set forth techniques for performing incremental backups of a source file system volume (FSV) managed by a source computing device. According to some embodiments, the source computing device can be configured to generate a current snapshot of the source FSV, where the current snapshot complements a previous snapshot of the source FSV (e.g., established during a previous backup). In some cases, to free up storage space, the data for files belonging to the source FSV can be stripped from the previous snapshot (where metadata for the files remains intact). Next, the source computing device can generate, within a destination storage device, a second snapshot of a destination FSV (that corresponds to the source FSV). In turn, the source computing device identifies changes made to the source FSV based on the current snapshot and the previous snapshot, and reflects the changes within the second snapshot of the destination FSV.
    Type: Application
    Filed: December 13, 2017
    Publication date: December 6, 2018
    Inventors: Pavel CISLER, Pavel SOKOLOV, Dominic B. GIAMPAOLO, Eric A. WEISS, Christopher A. WOLF
  • Publication number: 20180293015
    Abstract: The embodiments set forth a technique for managing file nodes within a storage device. According to some embodiments, the method can include the steps of (1) receiving a transaction request that involves modifying a plurality of file nodes, (2) analyzing the plurality of file nodes against temporal transaction information to identify, among the plurality of file nodes, at least one group of file nodes that were previously modified in conjunction with at least one previously-executed transaction request, (3) modifying each file node in the at least one group of file nodes in accordance with the transaction request to establish a modified group of file nodes, (4) allocating, within the storage device, physical storage space for storing the modified group of file nodes, and (5) contiguously writing the modified group of file nodes into the allocated physical storage space.
    Type: Application
    Filed: September 29, 2017
    Publication date: October 11, 2018
    Inventor: Dominic B. GIAMPAOLO
  • Publication number: 20180089033
    Abstract: The embodiments set forth a technique for carrying out a backup of data managed at a computing device. According to some embodiments, the technique can include the steps of (1) receiving a request to carry out the backup of the data, (2) in response to the request, generating a current snapshot of the data, (3) identifying, in accordance with the current snapshot of the data, block data of at least one data block to be reflected in the backup of the data, wherein the at least one data block is tagged with an identifier of a file node to which the at least one data block corresponds, and (4) providing information to a storage to cause the block data to be reflected in the backup of the data.
    Type: Application
    Filed: September 23, 2016
    Publication date: March 29, 2018
    Inventors: Eric B. TAMURA, Dominic B. GIAMPAOLO
  • Publication number: 20180060054
    Abstract: A cloud computing system can be used to transparently reduce the storage space of an application on a client device. An application can be installed with a minimal set of application resource files. The remaining application resource files can be replaced with application resource file placeholders, which can have the appearance of application resource files but are in fact empty files. When an application requests an application resource file, an application resource file retrieval process installed on the client device can detect the difference between an application resource file and an application resource file placeholder. The application resource file retrieval process can trigger a fault in response to detecting an application resource file placeholder, which causes the client device to obtain the requested application resource file from a remote storage location, such as cloud-based storage. Additionally, installed application resource files can be replaced with application resource file placeholders.
    Type: Application
    Filed: August 18, 2017
    Publication date: March 1, 2018
    Inventors: Yan Arrouye, Dominic B. Giampaolo, James Mensch
  • Publication number: 20170359174
    Abstract: This application sets forth a key rolling technique for a file system of a computing device. The key rolling technique allows for files to be transparently re-encrypted in a background process while still allowing applications to access the files being re-encrypted. During re-encryption, at least one file extent of a file is decrypted using a current key for the file extent and re-encrypted using a new key for the file extent. Moreover, the file extent can be relocated to another location in memory during re-encryption to enhance accessibility and crash protection features. Metadata associated with the file can be updated to include information pertaining to both the location of the re-encrypted file extent as well as the new key that can be used to decrypt the re-encrypted file extent. In this manner, the metadata can be used to properly construct a complete file when the file needs to be accessed.
    Type: Application
    Filed: September 23, 2016
    Publication date: December 14, 2017
    Inventors: Eric B. TAMURA, Dominic B. GIAMPAOLO, Kelly B. YANCEY
  • Publication number: 20170357663
    Abstract: Disclosed herein is a technique for performing an operation on a hierarchy of content. The operation is performed atomically by utilizing a hidden directory in a hidden area of a filesystem namespace. In particular, a number of actions associated with the operation are performed in the hidden area to ensure that the hierarchy of content always appears in a consistent state to users and/or system processes.
    Type: Application
    Filed: December 21, 2016
    Publication date: December 14, 2017
    Inventor: Dominic B. GIAMPAOLO
  • Patent number: 9740468
    Abstract: A cloud computing system can be used to transparently reduce the storage space of an application on a client device. An application can be installed with a minimal set of application resource files. The remaining application resource files can be replaced with application resource file placeholders, which can have the appearance of application resource files but are in fact empty files. When an application requests an application resource file, an application resource file retrieval process installed on the client device can detect the difference between an application resource file and an application resource file placeholder. The application resource file retrieval process can trigger a fault in response to detecting an application resource file placeholder, which causes the client device to obtain the requested application resource file from a remote storage location, such as cloud-based storage. Additionally, installed application resource files can be replaced with application resource file placeholders.
    Type: Grant
    Filed: June 15, 2015
    Date of Patent: August 22, 2017
    Assignee: Apple Inc.
    Inventors: Yan Arrouye, Dominic B. Giampaolo, James Mensch
  • Patent number: 9665594
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing data. In one aspect, a method includes detecting at a kernel a plurality of operations, each of a particular type from a plurality of types, to be performed on a respective data item; and generating respective entries in a delta store in response to the detected plurality of operations wherein each entry for a data item includes a marker attribute corresponding to the operation type of the plurality of types.
    Type: Grant
    Filed: January 13, 2012
    Date of Patent: May 30, 2017
    Assignee: Apple Inc.
    Inventors: Dominic B. Giampaolo, Eric Weiss, Pavel Cisler, Kristen A. McIntyre
  • Publication number: 20160314135
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for file system management. In one aspect, a method includes receiving a request at a kernel to perform a file operation on a particular file; identifying a flag bit associated with the file; invoking user space file handler to perform particular action when the flag bit is set; determining whether notification that action has been performed by file handler is received; and allowing the file operation on the file when notification is received.
    Type: Application
    Filed: July 6, 2016
    Publication date: October 27, 2016
    Inventors: Dominic B. GIAMPAOLO, Pavel CISLER, Eric A. WEISS, Kristen A. MCINTYRE
  • Patent number: 9417794
    Abstract: A composite memory device that includes different types of non-volatile memory devices, which have different performance characteristics, is described. This composite memory device may receive requests, a given one of which includes a command, a logical address for at least a block of data associated with the command, and a hint associated with the command. For the given request, the composite memory device executes the command on the block of data at the logical address in at least one of the types of non-volatile memory devices. Furthermore, the composite memory device conditionally executes the hint based on one or more criteria, such as: available memory in the types of non-volatile memory devices, traffic through an interface circuit in the composite memory device, operational states of the types of non-volatile memory devices, a target performance characteristic of the composite memory device, and an environmental condition of the composite memory device.
    Type: Grant
    Filed: July 26, 2011
    Date of Patent: August 16, 2016
    Assignee: Apple Inc.
    Inventors: Cheng P. Tan, Khalu C. Bazzani, Sergio J. Henriques, Christopher J. Sarcone, Joseph Sokol, Jr., Dominic B. Giampaolo