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: 11449389Abstract: 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: GrantFiled: December 13, 2017Date of Patent: September 20, 2022Assignee: Apple Inc.Inventors: Pavel Cisler, Pavel Sokolov, Dominic B. Giampaolo, Eric A. Weiss, Christopher A. Wolf
-
Patent number: 11269700Abstract: 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: GrantFiled: March 5, 2020Date of Patent: March 8, 2022Assignee: Apple Inc.Inventors: Jean-Gabriel Morard, Florent Bruneau, Dominic B. Giampaolo, Henri Doreau
-
Publication number: 20200341827Abstract: 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: ApplicationFiled: March 5, 2020Publication date: October 29, 2020Inventors: Jean-Gabriel MORARD, Florent BRUNEAU, Dominic B. GIAMPAOLO, Henri DOREAU
-
Patent number: 10769116Abstract: 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: GrantFiled: December 21, 2016Date of Patent: September 8, 2020Assignee: Apple Inc.Inventor: Dominic B. Giampaolo
-
Patent number: 10740015Abstract: 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: GrantFiled: September 29, 2017Date of Patent: August 11, 2020Assignee: Apple Inc.Inventor: Dominic B. Giampaolo
-
Patent number: 10509701Abstract: 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: GrantFiled: September 23, 2016Date of Patent: December 17, 2019Assignee: Apple Inc.Inventors: Eric B. Tamura, Dominic B. Giampaolo
-
Patent number: 10454679Abstract: 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: GrantFiled: September 23, 2016Date of Patent: October 22, 2019Assignee: Apple Inc.Inventors: Eric B. Tamura, Dominic B. Giampaolo, Kelly B. Yancey
-
Patent number: 10387132Abstract: 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: GrantFiled: August 18, 2017Date of Patent: August 20, 2019Assignee: Apple Inc.Inventors: Yan Arrouye, Dominic B. Giampaolo, James Mensch
-
Patent number: 10303652Abstract: 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: GrantFiled: July 6, 2016Date of Patent: May 28, 2019Assignee: Apple Inc.Inventors: Dominic B. Giampaolo, Pavel Cisler, Eric A. Weiss, Kristen A. McIntyre
-
Patent number: 10198452Abstract: 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: GrantFiled: September 30, 2014Date of Patent: February 5, 2019Assignee: Apple Inc.Inventors: Pierre Habouzit, Dominic B. Giampaolo
-
Publication number: 20180349227Abstract: 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: ApplicationFiled: December 13, 2017Publication date: December 6, 2018Inventors: Pavel CISLER, Pavel SOKOLOV, Dominic B. GIAMPAOLO, Eric A. WEISS, Christopher A. WOLF
-
Publication number: 20180293015Abstract: 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: ApplicationFiled: September 29, 2017Publication date: October 11, 2018Inventor: Dominic B. GIAMPAOLO
-
Publication number: 20180089033Abstract: 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: ApplicationFiled: September 23, 2016Publication date: March 29, 2018Inventors: Eric B. TAMURA, Dominic B. GIAMPAOLO
-
Publication number: 20180060054Abstract: 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: ApplicationFiled: August 18, 2017Publication date: March 1, 2018Inventors: Yan Arrouye, Dominic B. Giampaolo, James Mensch
-
Publication number: 20170359174Abstract: 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: ApplicationFiled: September 23, 2016Publication date: December 14, 2017Inventors: Eric B. TAMURA, Dominic B. GIAMPAOLO, Kelly B. YANCEY
-
Publication number: 20170357663Abstract: 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: ApplicationFiled: December 21, 2016Publication date: December 14, 2017Inventor: Dominic B. GIAMPAOLO
-
Patent number: 9740468Abstract: 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: GrantFiled: June 15, 2015Date of Patent: August 22, 2017Assignee: Apple Inc.Inventors: Yan Arrouye, Dominic B. Giampaolo, James Mensch
-
Patent number: 9665594Abstract: 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: GrantFiled: January 13, 2012Date of Patent: May 30, 2017Assignee: Apple Inc.Inventors: Dominic B. Giampaolo, Eric Weiss, Pavel Cisler, Kristen A. McIntyre
-
Publication number: 20160314135Abstract: 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: ApplicationFiled: July 6, 2016Publication date: October 27, 2016Inventors: Dominic B. GIAMPAOLO, Pavel CISLER, Eric A. WEISS, Kristen A. MCINTYRE
-
Patent number: 9417794Abstract: 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: GrantFiled: July 26, 2011Date of Patent: August 16, 2016Assignee: Apple Inc.Inventors: Cheng P. Tan, Khalu C. Bazzani, Sergio J. Henriques, Christopher J. Sarcone, Joseph Sokol, Jr., Dominic B. Giampaolo