Patent classifications
G06F16/1774
Data model API for live applications in a cloud collaboration platform
Disclosed herein are system, method, and computer program product embodiments for providing a data model application programming interface (“API”) to customizable live applications in a cloud collaboration platform. The cloud collaboration platform provides data storage, a data model, and an API to embedded third-party live applications to allow the live applications to securely create, store, and access data within the cloud collaboration platform. The data model allows records stored in the cloud collaboration platform to sync independently, merge intelligently, and function offline.
Virtualized file server user views
In one embodiment, a system for managing a virtualization environment includes a plurality of host machines, wherein each of the host machines comprises a hypervisor and one or more user virtual machines (user VMs), and a virtual machine controller, one or more virtual disks comprising a plurality of storage devices, a virtualized file server (VFS) comprising a plurality of file server virtual machines (FSVMs), wherein each of the FSVMs is running on one of the host machines. The VFS may be configured to receive a request for storage system information from a user and generate and send a response to the request, wherein the response is customized according to configuration information of the VFS that is specific to the user. The storage system information requested may include a total size of storage available to the user, and the user may have an associated storage quota limit.
Avoiding data inconsistency in a file system using 2-level synchronization
A method of synchronously executing input/output operations (IOs) for a plurality of applications using a storage device with a file system includes the steps of: receiving a first write IO including an instruction to write first data at a first address of the file system; determining that, within a first range of the file system comprising the first address, there are no pending unmap IOs for deallocating storage space of the storage device from files of the plurality of applications; after determining that there are no pending unmap IOs within the first range, locking the first range to prevent incoming unmap IOs from deallocating storage space within the first range from the files of the plurality of applications; after locking the first range, writing the first data to the storage device at the first address; and after writing the first data, unlocking the first range.
Shard-level synchronization of cloud-based data store and local file systems
An operations server synchronizes updates to a cloud-based shared versioned file system. The shared versioned file system includes directories and sub-directories that are divided into shards. The operations server coordinates requests from local filer servers, each running a respective local version of the shared versioned file system, to update a shard in the cloud-based shared versioned file system. The operations server can provide a global lock on the shard to a local filer server before it updates the shard in the cloud-based shared versioned file system.
Extending retention lock protection from on-premises to the cloud
Embodiments for retention locking a deduplicated file stored in cloud storage by defining object metadata for each object of the file, and comprising a lock count and a retention time based on an expiry date of the lock, with each object having segments, the object metadata further having a respective expiry date and lock count for each segment, where at least some segments are shared among two or more files. Also updating the lock count and retention time for all segments of the file being locked; and if the object is not already locked, locking the object using a retention lock defining a retention time and updating the object metadata with a new lock count and the retention time, otherwise incrementing the lock count and updating the retention time for the expiry date if expiry date of a previous lock is older than a current expiry date.
Shard-level synchronization of cloud-based data store and local file systems
An operations server synchronizes updates to a cloud-based shared versioned file system. The shared versioned file system includes directories and sub-directories that are divided into shards. The operations server coordinates requests from local filer servers, each running a respective local version of the shared versioned file system, to update a shard in the cloud-based shared versioned file system. The operations server can provide a global lock on the shard to a local filer server before it updates the shard in the cloud-based shared versioned file system.
Distributed metadata servers for cluster file systems using shared low latency persistent key-value metadata store
A cluster file system is provided having a plurality of distributed metadata servers with shared access to one or more shared low latency persistent key-value metadata stores. A metadata server comprises an abstract storage interface comprising a software interface module that communicates with at least one shared persistent key-value metadata store providing a key-value interface for persistent storage of key-value metadata. The software interface module provides the key-value metadata to the at least one shared persistent key-value metadata store in a key-value format. The shared persistent key-value metadata store is accessed by a plurality of metadata servers. A metadata request can be processed by a given metadata server independently of other metadata servers in the cluster file system. A distributed metadata storage environment is also disclosed that comprises a plurality of metadata servers having an abstract storage interface to at least one shared persistent key-value metadata store.
System and method for managing collaborative multiuser document editing via a distributed ledger
An electronic device may include logic to provide a trust credential for linking to a permissioned network over a local network, comprising a plurality of user devices; retrieve a document in an initial status for editing, corresponding to a first state of a distributed ledger, maintained by the permissioned network; generate a first change in the document, wherein the document is in a second status; send, to the permissioned network via the local network, the first change for storage in the distributed ledger, in a second state; retrieve the document in a third status, including a second change, performed subsequently to the first change, the second change being generated by a user device, external to the electronic device, and coupled to the local network; and link to the distributed ledger to retrieve a third state of the distributed ledger, the third state comprising the first change and the second change.
Digital processing systems and methods for dynamically updating documents with data from linked files in collaborative work systems
Systems, methods, and computer-readable media for automatically updating an electronic word processing document based on a change in a linked file and vice versa are disclosed. The systems and methods may involve accessing the electronic word processing document; identifying in the electronic word processing document a variable data element; accessing the external file identified in the link; pulling, from the external file, first replacement data corresponding to the current data; replacing the current data in the electronic word processing document with the first replacement data; identifying a change to the variable data element in the electronic word processing document; upon identification of the change, accessing the external file via the link; and updating the external file to reflect the change to the variable data element in the electronic word processing document.
Synchronization of distributed data files
Examples described herein relate to the synchronization of distributed data files. A host node acquires a lock file including a first nodes-list and a second nodes-list from a central node storing a central copy of data files. A nearest node from the first nodes-list may be identified if the identity of the host node is not indicated in the first nodes-list. The host node obtains an updated portion of a latest version of the data files from the nearest node for synchronizing a local copy. The host node performs modifications on the local copy and updates the lock file by indicating the identity of the host node in the first nodes-list and the second nodes-list. The host node provides a modified portion of the local copy to the central node for synchronizing the central copy with the local copy.