Abstract:
Systems and methods for maintaining and updating file system shadows by a synchronization client of a cloud-based platform. In some embodiments, an executor of the synchronization client can execute an action on an item in the local file system which changes the state of the item from an old state to a new state. The synchronization client updates the file system shadows with the new state of the item via an interface to facilitate generation of a synchronization event for the change to the item, that would otherwise go undetected if the change to the item was immediately reversed. In some embodiments, methods for providing shadow consistency and enhancing concurrent access to shadows are implemented by the synchronization client in maintaining and updating the file system shadows.
Abstract:
Techniques for monitoring local and/or remote file systems by a synchronization component (e.g., client/server) of a cloud-based platform are disclosed. In some embodiments, a method of building synchronization events by a synchronization component (e.g., a synchronization server/client) includes obtaining a set of items that have been changed and their new states and retrieving last known states of the set of items that are stored in a reference snapshot inside a filesystem scanner. The method further includes generating differences between the new states and the last known states of the set of items as item changes and utilizing information provided by the item changes to translate the item changes into synchronization events for execution on the opposing file system. A method of handling failed synchronization events by a synchronization component of the cloud-based platform by collapsing a subsequent event with the failed synchronization event is also disclosed.
Abstract:
Enterprise administrators in a cloud-based environment including a cloud-based server and a repository can selectively impose permissions on items (e.g., files and folders) marked for synchronization (“sync items”). The sync items can be synchronized with the client devices of users by downloading the items along with the permission attributes from the cloud-based server. However, the permissions on those sync items means that any unpermitted changes to the local copies of the sync items do not get uploaded to the cloud-based server. A synchronization client on the client devices detects any changes made locally to the sync items that are not consistent with the permission attributes, and repairs those changes so that the sync items are restored to their most recent states. This ensures that any unauthorized changes made to sync items remain local and do not propagate by the synchronization process to other users.
Abstract:
Techniques for monitoring local and/or remote file systems by a synchronization component (e.g., client/server) of a cloud-based platform are disclosed. In some embodiments, a method of building synchronization events by a synchronization component (e.g., a synchronization server/client) includes obtaining a set of items that have been changed and their new states and retrieving last known states of the set of items that are stored in a reference snapshot inside a filesystem scanner. The method further includes generating differences between the new states and the last known states of the set of items as item changes and utilizing information provided by the item changes to translate the item changes into synchronization events for execution on the opposing file system. A method of handling failed synchronization events by a synchronization component of the cloud-based platform by collapsing a subsequent event with the failed synchronization event is also disclosed.
Abstract:
Embodiments of the present disclosure include systems and methods of conflict resolution, retry condition management and/or handling of problem files in the synchronization architecture of the cloud-based platform. One embodiment of the disclosed technology detects conflicts between incompatible changes made on opposite file systems based on file system sync results when executing a sync event on the file system. In one embodiment, the disclosed technology applies self-healing strategies when unexpected failures occur. For example, if a synchronization action fails repeatedly, an external action (e.g., from user, file system, etc.) can return the system back to a consistent state again.
Abstract:
Techniques for monitoring local and/or remote file systems by a synchronization component (e.g., client/server) of a cloud-based platform are disclosed. In some embodiments, a method of building synchronization events by a synchronization component (e.g., a synchronization server/client) includes obtaining a set of items that have been changed and their new states and retrieving last known states of the set of items that are stored in a reference snapshot inside a filesystem scanner. The method further includes generating differences between the new states and the last known states of the set of items as item changes and utilizing information provided by the item changes to translate the item changes into synchronization events for execution on the opposing file system. A method of handling failed synchronization events by a synchronization component of the cloud-based platform by collapsing a subsequent event with the failed synchronization event is also disclosed.
Abstract:
Embodiments of the present disclosure include systems and methods to facilitate top down delete or un-synchronization on delete of a synchronization client to a cloud-based platform. The disclosed technology innovates the mechanism the synchronization client processes local deletes so that instead of synchronizing the delete of each individual item across to the cloud-based platform, it can accumulate the individual item deletes into a top-level folder delete and that top-level folder delete can be what is communicated across to the cloud-based platform. Embodiments of the present disclosure also include systems and methods for depicting item synchronization between a local and cloud based platform/service (e.g. the Box service). In some embodiments the system can identify items that cannot be synchronized between the local and cloud based platform/service (e.g., cloud based collaboration or storage platform/service). The system can further indicate reasons for the inability to synchronize and can offer corrective action.
Abstract:
Enterprise administrators in a cloud-based environment including a cloud-based server and a repository can selectively impose permissions on items (e.g., files and folders) marked for synchronization (“sync items”). The sync items can be synchronized with the client devices of users by downloading the items along with the permission attributes from the cloud-based server. However, the permissions on those sync items means that any unpermitted changes to the local copies of the sync items do not get uploaded to the cloud-based server. A synchronization client on the client devices detects any changes made locally to the sync items that are not consistent with the permission attributes, and repairs those changes so that the sync items are restored to their most recent states. This ensures that any unauthorized changes made to sync items remain local and do not propagate by the synchronization process to other users.
Abstract:
Embodiments of the present disclosure include systems and methods for implementing an Iconizer in a cloud-based platform such as cloud based platform (e.g., cloud-based collaboration platform or cloud-based platform providing collaborative and/or file sharing services). The iconizer can facilitate the display on a graphical user interface (GUI) of certain features of the storage operation and synchronization to a user. Some embodiments contemplate methods for representing Unicode text in the file system operations in either Normal Form Composed (NFC) or Normal Form Decomposed (NFD). Various disclosed embodiments facilitate operations using either or both formats, or a combination of the two.
Abstract:
Techniques for monitoring local and/or remote file systems by a synchronization component (e.g., client/server) of a cloud-based platform are disclosed. In some embodiments, a method of building synchronization events by a synchronization component (e.g., a synchronization server/client) includes obtaining a set of items that have been changed and their new states and retrieving last known states of the set of items that are stored in a reference snapshot inside a filesystem scanner. The method further includes generating differences between the new states and the last known states of the set of items as item changes and utilizing information provided by the item changes to translate the item changes into synchronization events for execution on the opposing file system. A method of handling failed synchronization events by a synchronization component of the cloud-based platform by collapsing a subsequent event with the failed synchronization event is also disclosed.