G06F16/178

System and method for content synchronization
11698885 · 2023-07-11 · ·

One embodiment of a system comprises a client device and a remote content management system. The client device comprises a synchronization manager that maintains a remote virtual model that models a synchronization state of a remote peer resource at the content management system and a local virtual model that models a synchronization state of a local peer resource in the local file system. The synchronization manager determines that the remote peer resource and local peer resource are out of sync based on a comparison of the remote virtual model and the local virtual model and synchronizes changes from the local cache to the content management system to update the remote peer resource or synchronizes changes from the content management system to update the local peer resource.

Managing storage systems that are synchronously replicating a dataset

Managing storage systems that are synchronously replicating a dataset, including: detecting a change in membership to the set of storage systems synchronously replicating the dataset; and applying one or more membership protocols to determine a new set of storage systems to synchronously replicate the dataset, wherein the one or more membership protocols include a quorum protocol, an external management protocol, or a racing protocol, and wherein one or more I/O operations directed to the dataset are applied to a new set of storage systems.

Managing storage systems that are synchronously replicating a dataset

Managing storage systems that are synchronously replicating a dataset, including: detecting a change in membership to the set of storage systems synchronously replicating the dataset; and applying one or more membership protocols to determine a new set of storage systems to synchronously replicate the dataset, wherein the one or more membership protocols include a quorum protocol, an external management protocol, or a racing protocol, and wherein one or more I/O operations directed to the dataset are applied to a new set of storage systems.

ROLE REVERSAL OF PRIMARY AND SECONDARY SITES WITH MINIMAL REPLICATION DELAY

Provided are techniques for role reversal of primary and secondary sites with minimal replication delay. During a backup phase, an Input/Output (I/O) operation selected from a group comprising a create operation and a rename operation is received with one or more local attributes of a local file. The I/O operation is processed to generate one or more remote attributes. The one or more local attributes are stored with the one or more remote attributes. During a reversed phase, a write operation for the remote file is processed, and, the write operation is sent to the primary replication system with the one or more local attributes, where the primary replication system uses a local file handle in the one or more local attributes to access the local file for processing the write operation to sync the local file with the remote file.

ROLE REVERSAL OF PRIMARY AND SECONDARY SITES WITH MINIMAL REPLICATION DELAY

Provided are techniques for role reversal of primary and secondary sites with minimal replication delay. During a backup phase, an Input/Output (I/O) operation selected from a group comprising a create operation and a rename operation is received with one or more local attributes of a local file. The I/O operation is processed to generate one or more remote attributes. The one or more local attributes are stored with the one or more remote attributes. During a reversed phase, a write operation for the remote file is processed, and, the write operation is sent to the primary replication system with the one or more local attributes, where the primary replication system uses a local file handle in the one or more local attributes to access the local file for processing the write operation to sync the local file with the remote file.

Database Syncing
20230214362 · 2023-07-06 · ·

A method for database syncing is provided. The method includes receiving database change indicators indicating changes to a database. For each database change indicator, the method also includes determining whether the respective change to the database corresponds to a single change to a single version of the database, one of multiple changes to a common version of the database, or one of multiple changes to different versions of the database. The method further includes generating a change log compaction data structure comprising entries. Each entry includes an exact entry defining a corresponding single change to a corresponding single version of the database, a range entry defining corresponding multiple changes to a corresponding common version of the database, or an interval entry defining corresponding multiple changes to corresponding different versions of the database.

SYSTEMS AND METHODS FOR CONTENT SHARING THROUGH EXTERNAL SYSTEMS

Disclosed are mechanisms for sharing content through content consumption systems. A sharing module publishes content in a share and metadata associated therewith to a content consumption system external to a managed repository. The share represents a folder or directory in the managed repository. The publication can be made through application programming interface (API) calls handled by a first sharing module API, a repository API, a second sharing module API, and a content consumption system API. These APIs together provide a one-to-one mapping of communications protocols used by the managed repository and the external system. The share in the managed repository and the share published to the content consumption system are synced and any conflict between the two is detected and resolved. The shared content can be repatriated back to the managed repository and the shared version deleted from the content consumption system.

Techniques for preserving clone relationships between files

The described embodiments set forth techniques for preserving clone relationships between files at a computing device. In particular, the techniques involve identifying clone relationships between files in conjunction with performing operations on the files where it can be beneficial to preserve the clone relationships. The operations can include, for example, preserving clone relationships between files that are being copied from a source storage device (that supports file cloning) to a destination storage device that supports file cloning. Additionally, the operations can include preserving clone relationships when backing up and restoring files between a source storage device (that supports file cloning) and a destination storage device that does not support file cloning. In this manner, the various benefits afforded by the clone relationships between files can be retained even as the files are propagated to destination storage devices that may or may not support file cloning.

Techniques for preserving clone relationships between files

The described embodiments set forth techniques for preserving clone relationships between files at a computing device. In particular, the techniques involve identifying clone relationships between files in conjunction with performing operations on the files where it can be beneficial to preserve the clone relationships. The operations can include, for example, preserving clone relationships between files that are being copied from a source storage device (that supports file cloning) to a destination storage device that supports file cloning. Additionally, the operations can include preserving clone relationships when backing up and restoring files between a source storage device (that supports file cloning) and a destination storage device that does not support file cloning. In this manner, the various benefits afforded by the clone relationships between files can be retained even as the files are propagated to destination storage devices that may or may not support file cloning.

IMPROVED SYSTEM AND METHOD FOR AUTOMATING BUSINESS ACCOUNTING
20230214893 · 2023-07-06 · ·

A system including a database configured to store data characterizing a plurality of emails, a plurality of projects, a plurality of vendors, and a plurality of invoices. Each invoice of the plurality of invoices includes data characterizing a project of the plurality of projects, a vendor of the plurality of vendors, and a plurality of invoice data. The system also includes a computing system communicatively coupled to the database and including at least one processor. The at least one processor is configured to receive a file in a first format, convert the file into a second format, determine a first project, a first vendor, and a first plurality of invoice data based on data in the file, prepare a new invoice based on the first project, the first vendor, and the first plurality of invoice data determined, and provide the new invoice in a third format.