A versioned file system comprising network accessible storage is provided. Aspects of the system include globally locking files or groups of files so as to better control the stored files in the file system and to avoid problems associated with simultaneous remote access or conflicting multiple access requests for the same files. A method for operating, creating and using the global locks is also disclosed. A multiprotocol global lock can be provided for filing nodes that have multiple network protocols for generating local lock requests.
A cloud-native global file system to provide primary file storage for enterprise data is augmented to provide “direct-to-cloud” (D2C) migration of a data set. In addition to providing a filer, the service provider configures a direct-to-cloud migration tool executed in association with the hardware of the enterprise filesystem whose data set is being migrated. The migration tool reads the existing filesystem, transforms the data into a format consistent with that done by a filer, and pushes the result directly to an object store in the cloud. In a first pass, typically a large bulk of the data is moved and, depending on how the migration tool is configured, one or more additional passes may then be carried out. When migration is complete (or substantially complete), the filer then is activated to complete the migration (if need be) and take over the go-forward operations.
A cloud-native global file system, in which one or more filers are associated with a volume of a versioned files system in a private, public or hybrid cloud object store, is augmented to include a rapid ransomware recovery service. Upon detecting a ransomware attack associated with one or more files or directories of the volume, read and write access to the volume is restricted. A recovery filer is then activated or designated in the cloud. A restore operation is then initiated at the recovery filter. Following completion of the restore operation, a new clean (healthy) snapshot of the volume is then created using the recovery filer For any filer other than the recovery filer, a determination is made whether the filer has completed a merge operation with respect to the new clean snapshot. If so, read and write access to the volume is re-enabled from that filer.
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
4.
Cloud-native global file system with data exporter
A cloud-native global file system is augmented to include a file exporter (or, more generally, a file export tool) that facilitates an enterprise customer's use of a cloud-native tool that would otherwise be unable to operate against the global file system's underlying file system representation. In a typical use case, the file exporter is configured to extract in a native object format and to an unencrypted target all or a portion of a volume's data from the underlying file system representation. In this manner, the exporter creates a copy of the data set that the enterprise user can then leverage against the desired cloud-native tool or other cloud services that are not under the management or control of the global file system service provider.
H04L 67/1097 - Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
H04L 67/53 - Network services using third party service providers
H04L 67/565 - Conversion or adaptation of application format or content
5.
Cloud-native global file system with data exporter
A cloud-native global file system is augmented to include a file exporter (or, more generally, a file export tool) that facilitates an enterprise customer's use of a cloud-native tool that would otherwise be unable to operate against the global file system's underlying file system representation. In a typical use case, the file exporter is configured to extract in a native object format and to an unencrypted target (e.g., an S3 bucket, an Azure storage account, and the like) all or a portion of a volume's data from the underlying file system representation. In this manner, the exporter creates a copy of the data set that the enterprise user can then leverage against the desired cloud-native tool or other cloud services that are not under the management or control of the global file system service provider.
H04L 67/1097 - Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
H04L 67/53 - Network services using third party service providers
H04L 67/565 - Conversion or adaptation of application format or content
6.
Versioned file system using structured data representations
A versioned file system comprises a set of structured data representations. At a first time, an interface creates and exports to a cloud data store a first structured data representation corresponding to a first version of the local file system. The first structured data representation is an XML tree having a root element, one or more directory elements associated with the root element, and one or more file elements associated with a given directory element. Upon a change within the file system, the interface creates and exports a second structured data representation corresponding to a second version of the file system. The second structured data representation differs from the first structured data representation up to and including the root element of the second structured data representation. The interface continues to generate and export the structured data representations to the data store.
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
G06F 16/11 - File system administration, e.g. details of archiving or snapshots
G06F 16/172 - Caching, prefetching or hoarding of files
A technique for data sharing among multiple filers that share a volume in a private or public cloud object store is implemented. In this approach, a mechanism is provided to enable a local filer to determine whether other filers that are sharing the volume have a consistent view of new data being written to the cloud object store by the local filer. The begins by associating together a collection of one or more files in a “push class.” On demand, a push operation for the push class is initiated on the local filer. Preferably, the push is managed according to one or more push criteria associated with the push class. Typically, the push operation pushes file data and metadata associated with the one or more files of the push class in respective phases, with the file data being pushed to the cloud during a first phase and the metadata associated with that file data being pushed during a second phase that follows the first phase. After the push operation completes, a determination is made whether the new version of the file is available at one or more other filers that share the volume.
A cloud-native global file system, in which one or more filers are associated with a volume of a versioned files system in a private, public or hybrid cloud object store, is augmented to include a rapid ransomware recovery service. Upon detecting a ransomware attack associated with one or more files or directories of the volume, read and write access to the volume is restricted. A recovery filer is then activated or designated in the cloud. A restore operation is then initiated at the recovery filter. Following completion of the restore operation, a new clean (healthy) snapshot of the volume is then created using the recovery filer For any filer other than the recovery filer, a determination is made whether the filer has completed a merge operation with respect to the new clean snapshot. If so, read and write access to the volume is re-enabled from that filer.
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
9.
SYSTEM AND METHOD FOR BI-DIRECTIONAL REPLICATION OF DATA OBJECTS IN A HETEROGENEOUS STORAGE ENVIRONMENT
A system and method of managing object data stored in a heterogeneous cloud environment comprises a separate cloud management system disposed such that the communications path between a user and each cloud to which the user has access is a different communications path than that between the user and the cloud management system or the cloud management system and each of the clouds.
G06F 16/27 - Replication, distribution or synchronisation of data between databases or within a distributed database systemDistributed database system architectures therefor
H04L 67/1097 - Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
H04L 67/1095 - Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
A versioned file system comprising network accessible storage is provided. Aspects of the system include globally locking files or groups of files so as to better control the stored files in the file system and to avoid problems associated with simultaneous remote access or conflicting multiple access requests for the same files. A method for operating, creating and using the global locks is also disclosed. A multiprotocol global lock can be provided for filing nodes that have multiple network protocols for generating local lock requests.
A cloud-native global file system, in which one or more filers are associated with a volume of a versioned files system in a private, public or hybrid cloud object store, is augmented to include a rapid ransomware recovery service. Upon detecting a ransomware attack associated with one or more files or directories of the volume, read and write access to the volume is restricted. A recovery filer is then activated or designated in the cloud. A restore operation is then initiated at the recovery filter. Following completion of the restore operation, a new clean (healthy) snapshot of the volume is then created using the recovery filer For any filer other than the recovery filer, a determination is made whether the filer has completed a merge operation with respect to the new clean snapshot. If so, read and write access to the volume is re-enabled from that filer.
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
A cloud-based write-once object store is configured to store inode-based data exported to the store from an enterprise file system. For each version of data (e.g., a file) exported to the store, there is a version of the inode corresponding to that data. As versions of the data are exported to the cloud, the system creates multiple versions of the inode. The set of inode versions corresponding to the versions of the file have a pointer associated therewith that specifies the latest version of the data associated with the inode. The inode versions in the set share the same pointer. The inode versions represent a revision history for the inode. For each inode version corresponding to a version of the data, information is received and stored in a new portion of the object store. The inode version for a file version comprises a list of data chunks for the file.
A cloud native global file system is augmented to include a “file accelerator” that is configured to speed up data propagation with respect to updates on a shared volume and, in particular by performing real-time analysis on audit event data to coordinate pushes and pulls across multiple edge appliances, effectively replacing static snapshot and synchronization schedules. A “push” refers to a snapshot on the volume that occurs at a particular filer, and a “pull” refers to a synchronization (sync) operation initiated by a particular filer to obtain whatever is in the cloud (and that is the subject of the pull). The file accelerator operates in several modes of “triggered” operation based on user activity, and under the control of a cloud-based controller.
A cloud-native global file system used to provide primary file storage for enterprise data is augmented to provide “direct-to-cloud” (D2C) migration of an initial data set. In addition to providing a filer, the service provider configures a direct-to-cloud migration tool, typically as a downloadable virtual machine (VM), that is executed in association with the hardware of the enterprise filesystem whose data set is being migrated. The migration tool reads the existing filesystem, transforms the data into a format consistent with that done by a filer, and pushes the result (a single version) directly to an object store in the cloud. In a first pass (run), typically a large bulk of the data is moved and, depending on how the migration tool is configured, one or more additional passes may then be carried out. When migration is complete (or substantially complete), the filer then is activated to complete the migration (if need be) and take over the go-forward operations.
A system and method of managing object data stored in a heterogeneous cloud environment comprises a separate cloud management system disposed such that the communications path between a user and each cloud to which the user has access is a different communications path than that between the user and the cloud management system or the cloud management system and each of the clouds.
G06F 16/27 - Replication, distribution or synchronisation of data between databases or within a distributed database systemDistributed database system architectures therefor
H04L 67/1097 - Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
H04L 67/1095 - Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
A cloud native global file system is augmented to include a “file accelerator” that is configured to speed up data propagation with respect to updates on a shared volume and, in particular by performing real-time analysis on audit event data to coordinate pushes and pulls across multiple edge appliances, effectively replacing static snapshot and synchronization schedules. A “push” refers to a snapshot on the volume that occurs at a particular filer, and a “pull” refers to a synchronization (sync) operation initiated by a particular filer to obtain whatever is in the cloud (and that is the subject of the pull). The file accelerator operates in several modes of “triggered” operation based on user activity, and under the control of a cloud-based controller.
An interface between an existing local file system and a data store generates and exports to the data store a versioned file system. The state of the local file system at a given point in time can be determined using the versioned file system. In operation, the interface creates and exports to the data store structured data representations, which correspond to versions of the local file system, as well as actual file system data that these structured data representations represent. A cache associated with the interface stores recently used data and metadata, as well as all write data and metadata waiting to be transferred to the data store. Prior to transfer, one or more data transformations may be applied to the data and metadata. In one embodiment, the data store comprises one or more cloud storage service providers. A content control system is used to configure and manage the interface.
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
G06F 16/11 - File system administration, e.g. details of archiving or snapshots
G06F 16/172 - Caching, prefetching or hoarding of files
A cloud-native global file system, in which one or more filers are associated with a volume of a versioned files system in a private, public or hybrid cloud object store, is augmented to include a rapid ransomware recovery service. Upon detecting a ransomware attack associated with one or more files or directories of the volume, read and write access to the volume is restricted. A recovery filer is then activated or designated in the cloud. A restore operation is then initiated at the recovery filter. Following completion of the restore operation, a new clean (healthy) snapshot of the volume is then created using the recovery filer For any filer other than the recovery filer, a determination is made whether the filer has completed a merge operation with respect to the new clean snapshot. If so, read and write access to the volume is re-enabled from that filer.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
G06F 12/14 - Protection against unauthorised use of memory
19.
Cloud-native global file system with reshapable caching
A cloud-native global file system in which a local filer creates objects and forward them to a cloud-based object store is augmented to include a reshapable caching scheme for the local filer. Like striped caches, the approach uses a stripe, but the striping is implemented via a true RAID 0 (disk striping) rather than as a striped LV (logical volume) device. This approach allows for a “reshape” operation to convert from a n-way stripe set to a n+1-way stripe set. Preferably, a reshape involves redistributing each block on disk to its new calculated home. For example, going from a single disk to a two disk set would move every other block from disk 1 to disk 2, and rearrange the blocks on disk 1 to fill in the “holes”. Performance after the reshape matches that of a striped cache. In one embodiment, the cache is structured as a “degraded” RAID 4.
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
G06F 12/0895 - Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
G06F 3/06 - Digital input from, or digital output to, record carriers
A versioned file storage system (VFS) and method for operating and using the same is disclosed. In an aspect, a mechanism is provided wherein a first VFS interface unit coupling the VFS to a local data storage system is replaced with a second VFS interface unit in a coordinated procedure for taking the first unit offline, making a reliable snapshot of its data and cache structure in the VFS, and loading the same data and cache structure into the second VFS interface brought online. The first and second VFS interfaces transfer the necessary data to achieve the switch through respective side-loading daemons running in each interface. Clients in the local data storage system experience minimal interruption of services in the VFS.
H04L 67/1097 - Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
H04L 67/02 - Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
21.
Cloud-native global file system with constant-time rekeying
A cloud-native global file system in which a local filer creates objects and forward them to a cloud-based object store is augmented to include constant-time rekeying (CTR). At volume creation time on the filer, a random Intermediate Key (IK) is generated. The IK is encrypted using one or more public key(s) for the volume in question, and then stored in encrypted form in a volume metadata file (e.g., cloudvolume.xml) alongside the other volume information. Once created, the IK is treated like any other volume metadata. During startup of a volume manager on the filer, the one or more per-volume IK blobs (present) are decrypted using an appropriate secret key, and then cached in memory. All objects sent to the cloud are then symmetrically encrypted to the current IK for that volume. All objects read from the cloud are decrypted using the locally-cached IK.
A versioned file system comprises a set of structured data representations. At a first time, an interface creates and exports to a cloud data store a first structured data representation corresponding to a first version of the local file system. The first structured data representation is an XML tree having a root element, one or more directory elements associated with the root element, and one or more file elements associated with a given directory element. Upon a change within the file system, the interface creates and exports a second structured data representation corresponding to a second version of the file system. The second structured data representation differs from the first structured data representation up to and including the root element of the second structured data representation. The interface continues to generate and export the structured data representations to the data store.
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
G06F 16/11 - File system administration, e.g. details of archiving or snapshots
G06F 16/172 - Caching, prefetching or hoarding of files
A cloud-native global file system in which a local filer creates objects and forward them to a cloud-based object store is augmented to include constant-time rekeying (CTR). At volume creation time on the filer, a random Intermediate Key (IK) is generated. The IK is encrypted using one or more public key(s) for the volume in question, and then stored in encrypted form in a volume metadata file (e.g., cloudvolume.xml) alongside the other volume information. Once created, the IK is treated like any other volume metadata. During startup of a volume manager on the filer, the one or more per-volume IK blobs (present) are decrypted using an appropriate secret key, and then cached in memory. All objects sent to the cloud are then symmetrically encrypted to the current IK for that volume. All objects read from the cloud are decrypted using the locally-cached IK.
A cloud-native global file system in which a local filer creates objects and forward them to a cloud-based object store is augmented to include a reshapable caching scheme for the local filer. Like striped caches, the approach uses a stripe, but the striping is implemented via a true RAID 0 (disk striping) rather than as a striped LV (logical volume) device. This approach allows for a “reshape” operation to convert from a n-way stripe set to a n+1-way stripe set. Preferably, a reshape involves redistributing each block on disk to its new calculated home. For example, going from a single disk to a two disk set would move every other block from disk 1 to disk 2, and rearrange the blocks on disk 1 to fill in the “holes”. Performance after the reshape matches that of a striped cache. In one embodiment, the cache is structured as a “degraded” RAID 4.
An interface between an existing local file system and a data store generates and exports to the data store a versioned file system. The state of the local file system at a given point in time can be determined using the versioned file system. In operation, the interface creates and exports to the data store structured data representations, which correspond to versions of the local file system, as well as actual file system data that these structured data representations represent. A cache associated with the interface stores recently used data and metadata, as well as all write data and metadata waiting to be transferred to the data store. Prior to transfer, one or more data transformations may be applied to the data and metadata. In one embodiment, the data store comprises one or more cloud storage service providers. A content control system is used to configure and manage the interface.
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
G06F 16/11 - File system administration, e.g. details of archiving or snapshots
G06F 16/172 - Caching, prefetching or hoarding of files
A versioned file system comprising network accessible storage is provided. Aspects of the system include globally locking files or groups of files so as to better control the stored files in the file system and to avoid problems associated with simultaneous remote access or conflicting multiple access requests for the same files. A method for operating, creating and using the global locks is also disclosed. A multiprotocol global lock can be provided for filing nodes that have multiple network protocols for generating local lock requests.
A cloud-native global file system used to provide primary file storage for enterprise data is augmented to provide “direct-to-cloud” (D2C) migration of an initial data set. In addition to providing a filer, the service provider configures a direct-to-cloud migration tool, typically as a downloadable virtual machine (VM), that is executed in association with the hardware of the enterprise filesystem whose data set is being migrated. The migration tool reads the existing filesystem, transforms the data into a format consistent with that done by a filer, and pushes the result (a single version) directly to an object store in the cloud. In a first pass (run), typically a large bulk of the data is moved and, depending on how the migration tool is configured, one or more additional passes may then be carried out. When migration is complete (or substantially complete), the filer then is activated to complete the migration (if need be) and take over the go-forward operations.
A technique for data sharing among multiple filers that share a volume in a private or public cloud object store is implemented. In this approach, a mechanism is provided to enable a local filer to determine whether other filers that are sharing the volume have a consistent view of new data being written to the cloud object store by the local filer. The begins by associating together a collection of one or more files in a “push class.” On demand, a push operation for the push class is initiated on the local filer. Preferably, the push is managed according to one or more push criteria associated with the push class. Typically, the push operation pushes file data and metadata associated with the one or more files of the push class in respective phases, with the file data being pushed to the cloud during a first phase and the metadata associated with that file data being pushed during a second phase that follows the first phase. After the push operation completes, a determination is made whether the new version of the file is available at one or more other filers that share the volume.
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. Preferably, shards are sized dynamically based on the number of entries in the directories associated therewith.
G06F 16/27 - Replication, distribution or synchronisation of data between databases or within a distributed database systemDistributed database system architectures therefor
A cloud-native global file system used to provide primary file storage for enterprise data is augmented to provide “direct-to-cloud” (D2C) migration of an initial data set. In addition to providing a filer, the service provider configures a direct-to-cloud migration tool, typically as a downloadable virtual machine (VM), that is executed in association with the hardware of the enterprise filesystem whose data set is being migrated. The migration tool reads the existing filesystem, transforms the data into a format consistent with that done by a filer, and pushes the result (a single version) directly to an object store in the cloud. In a first pass (run), typically a large bulk of the data is moved and, depending on how the migration tool is configured, one or more additional passes may then be carried out. When migration is complete (or substantially complete), the filer then is activated to complete the migration (if need be) and take over the go-forward operations.
A technique for data sharing among multiple filers that share a volume in a private or public cloud object store is implemented. In this approach, a mechanism is provided to enable a local filer to determine whether other filers that are sharing the volume have a consistent view of new data being written to the cloud object store by the local filer. The begins by associating together a collection of one or more files in a “push class.” On demand, a push operation for the push class is initiated on the local filer. Preferably, the push is managed according to one or more push criteria associated with the push class. Typically, the push operation pushes file data and metadata associated with the one or more files of the push class in respective phases, with the file data being pushed to the cloud during a first phase and the metadata associated with that file data being pushed during a second phase that follows the first phase. After the push operation completes, a determination is made whether the new version of the file is available at one or more other filers that share the volume.
09 - Scientific and electric apparatus and instruments
42 - Scientific, technological and industrial services, research and design
Goods & Services
Downloadable computer software for providing access to third
party storage providers; downloadable computer software for
storing, synchronizing, protecting, accessing, and managing
unstructured file data; downloadable computer software for
use in facilitating multi-site file collaboration among
users, consolidation of remote and branch office file
servers, and for use in Network Attached Storage;
downloadable cloud computing software for managing virtual
machines on a cloud computing platform; computer appliances,
namely, computer hardware that contains software for
storing, synchronizing, protecting, accessing, and managing
unstructured file data; computer appliances, namely,
computer hardware that contains cloud computing software for
storing, synchronizing, protecting, accessing, and managing
unstructured file data. Software as a Service (SAAS) for use in storing,
synchronizing, protecting, accessing, and managing
unstructured file data; Software as a Service (SAAS) for use
in facilitating multi-site file collaboration among users,
consolidation of remote and branch office file servers and
for use in Network Attached Storage; data migration
services; consulting services in the fields of selection,
implementation and use of computer hardware and software
systems for others.
09 - Scientific and electric apparatus and instruments
42 - Scientific, technological and industrial services, research and design
Goods & Services
(1) Downloadable computer software for enabling connection to remote third-party computer network servers.
(2) Downloadable computer software for digital file management by storing, synchronizing, protecting, accessing, and managing unstructured file data; downloadable computer software for use in providing multiple user access to a global computer cloud network for computer file sharing, consolidation of remote and branch office file servers; downloadable cloud computing software for managing virtual machines on a cloud computing platform; computer appliances, namely, computer hardware that contains software for storing, synchronizing, protecting, accessing, and managing unstructured file data; computer appliances, namely, computer hardware that contains cloud computing software for storing, synchronizing, protecting, accessing, and managing unstructured file data. (1) Software as a Service (SAAS) provider for digital file management by storing, synchronizing, protecting, accessing, and managing unstructured file data; Software as a Service (SAAS) provider to allow multiple user access to a global computer cloud network for the purpose of computer file sharing, consolidation of remote and branch office file servers and for providing cloud Network Attached Storage facilities for use with a datastore for the general storage of data for others; data migration services; consulting services in the fields of selection, implementation and use of computer hardware and software systems for others.
09 - Scientific and electric apparatus and instruments
42 - Scientific, technological and industrial services, research and design
Goods & Services
Downloadable computer software for providing access to third party storage providers; Downloadable computer software for storing, synchronizing, protecting, accessing, and managing unstructured file data; downloadable computer software for use in facilitating multi-site file collaboration among users, consolidation of remote and branch office file servers, and for use in Network Attached Storage; downloadable cloud computing software for managing virtual machines on a cloud computing platform; computer appliances, namely, computer hardware that contains software for storing, synchronizing, protecting, accessing, and managing unstructured file data; computer appliances, namely, computer hardware that contains cloud computing software for storing, synchronizing, protecting, accessing, and managing unstructured file data. Software as a Service (SAAS) for use in storing, synchronizing, protecting, accessing, and managing unstructured file data; Software as a Service (SAAS) for use in facilitating multi-site file collaboration among users, consolidation of remote and branch office file servers and for use in Network Attached Storage; data migration services; consulting services in the fields of selection, implementation and use of computer hardware and software systems for others.
09 - Scientific and electric apparatus and instruments
Goods & Services
Downloadable computer software for storing, synchronizing, protecting, accessing, and managing unstructured file data; downloadable computer software for use in facilitating multi-site file collaboration among users, consolidation of remote and branch office file servers, and for use in Network Attached Storage; downloadable cloud computing software for managing virtual machines on a cloud computing platform; computer appliances, namely, computer hardware that contains software for storing, synchronizing, protecting, accessing, and managing unstructured file data; computer appliances, namely, computer hardware that contains cloud computing software for storing, synchronizing, protecting, accessing, and managing unstructured file data
42 - Scientific, technological and industrial services, research and design
Goods & Services
Software as a Service (SAAS) for use in storing, synchronizing, protecting, accessing, and managing unstructured file data; Software as a Service (SAAS) for use in facilitating multi-site file collaboration among users, consolidation of remote and branch office file servers and for use in Network Attached Storage; data migration services; consulting services in the fields of selection, implementation and use of computer hardware and software systems for others
42 - Scientific, technological and industrial services, research and design
Goods & Services
Software as a Service (SAAS) for use in storing, synchronizing, protecting, accessing, and managing unstructured file data; Software as a Service (SAAS) for use in facilitating multi-site file collaboration among users, consolidation of remote and branch office file servers and for use in Network Attached Storage; data migration services; consulting services in the fields of selection, implementation and use of computer hardware and software systems for others
09 - Scientific and electric apparatus and instruments
Goods & Services
Downloadable computer software for storing, synchronizing, protecting, accessing, and managing unstructured file data; downloadable computer software for use in facilitating multi-site file collaboration among users, consolidation of remote and branch office file servers, and for use in Network Attached Storage; downloadable cloud computing software for managing virtual machines on a cloud computing platform; computer appliances, namely, computer hardware that contains software for storing, synchronizing, protecting, accessing, and managing unstructured file data; computer appliances, namely, computer hardware that contains cloud computing software for storing, synchronizing, protecting, accessing, and managing unstructured file data
A cloud-based write-once object store is configured to store inode-based data exported to the store from an enterprise file system. For each version of data (e.g., a file) exported to the store, there is a version of the inode corresponding to that data. As versions of the data are exported to the cloud, the system creates multiple versions of the inode. The set of inode versions corresponding to the versions of the file have a pointer associated therewith that specifies the latest version of the data associated with the inode. The inode versions in the set share the same pointer. The inode versions represent a revision history for the inode. For each inode version corresponding to a version of the data, information is received and stored in a new portion of the object store. The inode version for a file version comprises a list of data chunks for the file.
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.
A versioned file system comprises a set of structured data representations. At a first time, an interface creates and exports to a cloud data store a first structured data representation corresponding to a first version of the local file system. The first structured data representation is an XML tree having a root element, one or more directory elements associated with the root element, and one or more file elements associated with a given directory element. Upon a change within the file system, the interface creates and exports a second structured data representation corresponding to a second version of the file system. The second structured data representation differs from the first structured data representation up to and including the root element of the second structured data representation. The interface continues to generate and export the structured data representations to the data store.
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
G06F 16/11 - File system administration, e.g. details of archiving or snapshots
G06F 16/172 - Caching, prefetching or hoarding of files
A cloud-based write-once object store is configured to store inode-based data exported to the store from an enterprise file system. For each version of data (e.g., a file) exported to the store, there is a version of the inode corresponding to that data. As versions of the data are exported to the cloud, the system creates multiple versions of the inode. The set of inode versions corresponding to the versions of the file have a pointer associated therewith that specifies the latest version of the data associated with the inode. The inode versions in the set share the same pointer. The inode versions represent a revision history for the inode. For each inode version corresponding to a version of the data, information is received and stored in a new portion of the object store. The inode version for a file version comprises a list of data chunks for the file.
A cloud-based write-once object store is configured to store inode-based data exported to the store from an enterprise file system. For each version of data (e.g., a file) exported to the store, there is a version of the inode corresponding to that data. As versions of the data are exported to the cloud, the system creates multiple versions of the inode. The set of inode versions corresponding to the versions of the file have a pointer associated therewith that specifies the latest version of the data associated with the inode. The inode versions in the set share the same pointer. The inode versions represent a revision history for the inode. For each inode version corresponding to a version of the data, information is received and stored in a new portion of the object store. The inode version for a file version comprises a list of data chunks for the file.
09 - Scientific and electric apparatus and instruments
Goods & Services
Providing access to third party data storage providers, namely, providing transmission of data between users' data storage systems and third party cloud-based storage systems by means of computer operating software embedded in the data storage system Computer software for providing access to third party data storage providers
09 - Scientific and electric apparatus and instruments
Goods & Services
Providing access to third party data storage providers, namely, providing transmission of data between users' data storage systems and third party cloud-based storage systems by means of computer operating software embedded in the data storage system Computer software for providing access to third party data storage providers
09 - Scientific and electric apparatus and instruments
Goods & Services
[ Providing access to third party data storage providers, namely, providing transmission of data between users' data storage systems and third party cloud-based storage systems by means of computer operating software embedded in the data storage system ] Computer software for providing access to third party data storage providers
47.
Method and system for interfacing to cloud storage
An interface between an existing local file system and a data store generates and exports to the data store a versioned file system. The state of the local file system at a given point in time can be determined using the versioned file system. In operation, the interface creates and exports to the data store structured data representations, which correspond to versions of the local file system, as well as actual file system data that these structured data representations represent. A cache associated with the interface stores recently used data and metadata, as well as all write data and metadata waiting to be transferred to the data store. Prior to transfer, one or more data transformations may be applied to the data and metadata. In one embodiment, the data store comprises one or more cloud storage service providers. A content control system is used to configure and manage the interface.
G06F 16/00 - Information retrievalDatabase structures thereforFile system structures therefor
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
G06F 16/11 - File system administration, e.g. details of archiving or snapshots
G06F 16/172 - Caching, prefetching or hoarding of files
A versioned file storage system (VFS) and method for operating and using the same is disclosed. In an aspect, a mechanism is provided wherein a first VFS interface unit coupling the VFS to a local data storage system is replaced with a second VFS interface unit in a coordinated procedure for taking the first unit offline, making a reliable snapshot of its data and cache structure in the VFS, and loading the same data and cache structure into the second VFS interface brought online. The first and second VFS interfaces transfer the necessary data to achieve the switch through respective side- loading daemons running in each interface. Clients in the local data storage system experience minimal interruption of services in the VFS.
G06F 11/20 - Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
G06F 17/30 - Information retrieval; Database structures therefor
A versioned file system comprising network accessible storage is provided. Aspects of the system include globally locking files or groups of files so as to better control the stored files in the file system and to avoid problems associated with simultaneous remote access or conflicting multiple access requests for the same files. A method for operating, creating and using the global locks is also disclosed. A multiprotocol global lock can be provided for filing nodes that have multiple network protocols for generating local lock requests.
A versioned file system comprising network accessible storage is provided. Aspects of the system include globally locking files or groups of files so as to better control the stored files in the file system and to avoid problems associated with simultaneous remote access or conflicting multiple access requests for the same files. A method for operating, creating and using the global locks is also disclosed. A multiprotocol global lock can be provided for filing nodes that have multiple network protocols for generating local lock requests.
A versioned file system comprises a set of structured data representations. Each structured data representation corresponds to a version, and each version comprises a tree of write-once objects. Each version in the versioned file system has associated therewith a borrow window. When it is desired to reconstruct the file system to a point in time, i.e., to perform a “restore,” it is only required to walk a single structured data representation. During a restore, metadata is pulled back from the cloud first, so users can see the existence of needed files immediately. The remainder of the data is pulled back from the cloud when the user goes to open the file. As a result, the entire file system is restored to a previous time nearly instantaneously. A fast restore is performed if an object being restored exists within a borrow window of the version from which the system is restoring.
G06F 17/30 - Information retrieval; Database structures therefor
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
52.
Method and system for interfacing to cloud storage
An interface between an existing local file system and a data store generates and exports to the data store a versioned file system. The state of the local file system at a given point in time can be determined using the versioned file system. In operation, the interface creates and exports to the data store structured data representations, which correspond to versions of the local file system, as well as actual file system data that these structured data representations represent. A cache associated with the interface stores recently used data and metadata, as well as all write data and metadata waiting to be transferred to the data store. Prior to transfer, one or more data transformations may be applied to the data and metadata. In one embodiment, the data store comprises one or more cloud storage service providers. A content control system is used to configure and manage the interface.
G06F 17/30 - Information retrieval; Database structures therefor
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
A method of data sharing among multiple entities is provided. Each entity exports to a data store a structured data representation comprising a versioned file system local to that entity. The method begins by forming a sharing group that includes two or more entities. Sharing of the structured data representations by members of the sharing group is enabled. The filers use a single distributed lock to protect each version of the file system. This lock is managed to allow each filer access to the shared file system volume to create its new version. To share a fully-versioned file system, asynchronous updates at each of the filers is permitted, and each node is then allowed to “push” its individual changes to the store to form the next version of the file system. A mechanism also may be used to reduce the period during which filers in the group operate under lock.
A versioned file system comprises a set of structured data representations. At a first time, an interface creates and exports to a cloud data store a first structured data representation corresponding to a first version of the local file system. The first structured data representation is an XML tree having a root element, one or more directory elements associated with the root element, and one or more file elements associated with a given directory element. Upon a change within the file system, the interface creates and exports a second structured data representation corresponding to a second version of the file system. The second structured data representation differs from the first structured data representation up to and including the root element of the second structured data representation. The interface continues to generate and export the structured data representations to the data store.
G06F 17/30 - Information retrieval; Database structures therefor
G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
09 - Scientific and electric apparatus and instruments
Goods & Services
providing access to third party data storage providers, namely, providing transmission of data between users' data storage systems and third party cloud-based storage systems by means of computer operating software embedded in the data storage system computer software for providing access to third party data storage providers
A method of data sharing among multiple entities is provided. Each entity (a "node" or "filer") creates and exports to a data store (e.g., cloud-based storage) a structured data representation comprising a versioned file system local to that entity. The method begins by forming a sharing group that includes two or more of the multiple entities. Sharing of the structured data representations by members of the sharing group is then enabled. In one embodiment, the filers in a sharing group use a single distributed lock to protect each version of the file system. This lock is then managed to allow each filer access to the shared file system volume to create its new version. To share a fully- versioned file system between or among multiple nodes in this read-write fashion, asynchronous updates at each of the filers is permitted, and each node is then allowed to "push" its individual changes to the cloud to form the next version of the file system. Before pushing its changes to create the next version, preferably each node in the sharing group is required to merge the changes from all previous versions in the cloud that were created since the node's last push. As an optimization, a mechanism may be used to reduce the period during which filers in the sharing group operate under lock.
G06F 17/30 - Information retrieval; Database structures therefor
G06F 12/00 - Accessing, addressing or allocating within memory systems or architectures
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
A method of data sharing among multiple entities is provided. Each entity exports to a data store a structured data representation comprising a versioned file system local to that entity. The method begins by forming a sharing group that includes two or more entities. Sharing of the structured data representations by members of the sharing group is enabled. The filers use a single distributed lock to protect each version of the file system. This lock is managed to allow each filer access to the shared file system volume to create its new version. To share a fully-versioned file system, asynchronous updates at each of the filers is permitted, and each node is then allowed to “push” its individual changes to the store to form the next version of the file system. A mechanism also may be used to reduce the period during which filers in the group operate under lock.
A versioned file system comprises a set of structured data representations, such as XML. Each structured data representation corresponds to a "version," and each version comprises a tree of write-once objects rooted at a root directory manifest. Each version in the versioned file system has associated therewith a "borrow window." When it is desired to reconstruct the file system to a point in time (or, more generally, a given state), i.e., to perform a "restore," it is only required to walk (use) a single structured data representation (a tree). During a restore, metadata is pulled back from the cloud first, so users can see the existence of needed files immediately. The remainder of the data is then pulled back from the cloud if/when the user goes to open the file. As a result, the entire file system (or any portion thereof) can be restored to a previous time nearly instantaneously. A "fast" restore is performed if an object being restored exists within a "borrow window" of the version from which the system is restoring.
A versioned file system comprises a set of structured data representations, such as XML. Each structured data representation corresponds to a “version,” and each version comprises a tree of write-once objects rooted at a root directory manifest. Each version in the versioned file system has associated therewith a “borrow window.” When it is desired to reconstruct the file system to a point in time (or, more generally, a given state), i.e., to perform a “restore,” it is only required to walk (use) a single structured data representation (a tree). During a restore, metadata is pulled back from the cloud first, so users can see the existence of needed files immediately. The remainder of the data is then pulled back from the cloud if/when the user goes to open the file. As a result, the entire file system (or any portion thereof) can be restored to a previous time nearly instantaneously. A “fast” restore is performed if an object being restored exists within a “borrow window” of the version from which the system is restoring.
A versioned file system comprises a set of structured data representations, such as XML. Each structured data representation corresponds to a “version,” and each version comprises a tree of write-once objects rooted at a root directory manifest. Each version in the versioned file system has associated therewith a “borrow window.” When it is desired to reconstruct the file system to a point in time (or, more generally, a given state), i.e., to perform a “restore,” it is only required to walk (use) a single structured data representation (a tree). During a restore, metadata is pulled back from the cloud first, so users can see the existence of needed files immediately. The remainder of the data is then pulled back from the cloud if/when the user goes to open the file. As a result, the entire file system (or any portion thereof) can be restored to a previous time nearly instantaneously. A “fast” restore is performed if an object being restored exists within a “borrow window” of the version from which the system is restoring. A version is pruned from the versioned file system by deleting all objects in the tree (associated with the version) that, at the time of pruning: (i) are not being lent to any other version within the borrow window of the version being pruned, and (ii) are not referenced in any other version whose borrow window is sufficiently large enough such that an object in the version could have been restored from that other version.
A versioned file system comprises a set of structured data representations, such as XML. Each structured data representation corresponds to a "version," and each version comprises a tree of write-once objects rooted at a root directory manifest. Each version in the versioned file system has associated therewith a "borrow window." When it is desired to reconstruct the file system to a point in time (or, more generally, a given state), i.e., to perform a "restore," it is only required to walk (use) a single structured data representation (a tree). During a restore, metadata is pulled back from the cloud first, so users can see the existence of needed files immediately. The remainder of the data is then pulled back from the cloud if/when the user goes to open the file. As a result, the entire file system (or any portion thereof) can be restored to a previous time nearly instantaneously. A "fast" restore is performed if an object being restored exists within a "borrow window" of the version from which the system is restoring. A version is pruned from the versioned file system by deleting all objects in the tree (associated with the version) that, at the time of pruning: (i) are not being lent to any other version within the borrow window of the version being pruned, and (ii) are not referenced in any other version whose borrow window is sufficiently large enough such that an object in the version could have been restored from that other version.
G06F 9/06 - Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
G06F 9/44 - Arrangements for executing specific programs
62.
Method and system for interfacing to cloud storage
An interface between a local file system and a data store (e.g., a “write-once”store) generates and exports to the data store a “versioned” file system. The state of the local file system at a given point in time can be determined using the versioned file system. The versioned file system comprises a set of structured data representations that comprise metadata associated with actual file system data. The interface creates and exports to the data store structured data representations, which correspond to versions of the local file system, as well as the actual file system data that these structured data representations represent. A cache associated with the interface stores recently used data and metadata, as well as write data and metadata waiting to be transferred to the data store. Prior to transfer, data transformations, such as compression, encryption, and de-duplication, may be applied to the data and metadata.
A versioned file system comprises a set of structured data representations. At a first time, an interface exports to the data store a first structured data representation corresponding to a first version of the local file system. The first structured data representation is an XML tree having a root element, one or more directory elements associated with the root element, and one or more file elements associated with a given directory element. Upon a change within the file system, the interface exports a second structured data representation corresponding to a second version of the file system. The interface exports the structured data representation to the data store whenever changes within the file system have occurred. A given structured data representation is used to retrieve an associated version of file system. The versioned file system only requires write-once behavior from the data store to preserve its complete state at any point-in-time.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
G06F 9/06 - Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
G06F 9/44 - Arrangements for executing specific programs
64.
Method and system for versioned file system using structured data representations
A versioned file system comprises a set of structured data representations. At a first time, an interface creates and exports to a data store a first structured data representation corresponding to a first version of a local file system. The first structured data representation is an XML tree having a root element, one or more directory elements associated with the root element, and one or more file elements associated with a given directory element. Upon a change within the file system (e.g., file creation, file deletion, file modification, directory creation, directory deletion and directory modification), the interface creates and exports a second structured data representation corresponding to a second version of the file system. The second structured data representation differs from the first structured data representation up to and including the root element of the second structured data representation. The data store may comprise a cloud storage service provider.
An interface between an existing local file system and a data store exports to the data store structured data representations corresponding to versions of a local file system and the actual file system data. The state of the local file system at a given point in time can be determined using a "versioned" file system comprising a set of structured data representations that comprises metadata associated with the actual file system data. A cache associated with the interface stores recently used data and metadata, as well as all data and metadata waiting to be transferred. One or more data transformations may be applied to the data and metadata. The cache facilitates near- instant restore of the file system on an as-needed basis. When the interface is positioned in front of a generic data store, the interface has the effect of turning that data store into a versioned file system.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
G06F 9/06 - Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
G06F 3/06 - Digital input from, or digital output to, record carriers