09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable computer software for distributed computing, namely, computer software which allows components located on networked computers to communicate and coordinate actions; downloadable computer software development tools; downloadable computer software for managing source code across computer networks; downloadable computer software for migrating data over computer networks and ensuring the consistency of migrated data; downloadable computer software for use in data management; downloadable computer software for automating the movement of data across hybrid and multi-cloud environments; downloadable computer software for securing and protecting migrating data; mobile computing and operating platforms consisting of data transceivers, wireless networks and gateways for collection and management of data; downloadable cloud-based software for the migration, storing and management of electronic data Computer development consulting services in the field of computer software development tools, technical support and technical support services in the use of computer software development tools; software as a service (SaaS) services featuring software for migrating data and ensuring the consistency of migrated data and software for managing source code across computer networks; platform as a service (PaaS) services featuring software for migrating data and ensuring the consistency of migrated data and software for managing source code across computer networks; design and development of computer software for data migration and management; computer services, namely, the integration of computer software into multiple systems and networks to automate and secure the migration of data
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable computer software for distributed computing, namely, computer software which allows components located on networked computers to communicate and coordinate actions; downloadable computer software development tools; downloadable computer software for managing source code across computer networks; downloadable computer software for migrating data over computer networks and ensuring the consistency of migrated data; downloadable computer software for use in data management; downloadable computer software for automating the movement of data across hybrid and multi-cloud environments; downloadable computer software for securing and protecting migrating data; mobile computing and operating platforms consisting of data transceivers, wireless networks and gateways for collection and management of data; downloadable cloud-based software for the migration, storing and management of electronic data. Computer development consulting services in the field of computer software development tools, technical support and technical support services in the use of computer software development tools; software as a service (SaaS) services featuring software for migrating data and ensuring the consistency of migrated data and software for managing source code across computer networks; platform as a service (PaaS) services featuring software for migrating data and ensuring the consistency of migrated data and software for managing source code across computer networks; design and development of computer software for data migration and management; computer services, namely, the integration of computer software into multiple systems and networks to automate and secure the migration of data.
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable computer software for distributed computing, namely, computer software which allows components located on networked computers to communicate and coordinate actions; downloadable computer software development tools; downloadable computer software for managing source code across computer networks; downloadable computer software for migrating data over computer networks and ensuring the consistency of migrated data; downloadable computer software for use in data management; downloadable computer software for automating the movement of data across hybrid and multi-cloud environments; downloadable computer software for securing and protecting migrating data; mobile computing and operating platforms consisting of data transceivers, wireless networks and gateways for collection and management of data; downloadable cloud-based software for the migration, storing and management of electronic data. Computer development consulting services in the field of computer software development tools, technical support and technical support services in the use of computer software development tools; software as a service (SaaS) services featuring software for migrating data and ensuring the consistency of migrated data and software for managing source code across computer networks; platform as a service (PaaS) services featuring software for migrating data and ensuring the consistency of migrated data and software for managing source code across computer networks; design and development of computer software for data migration and management; computer services, namely, the integration of computer software into multiple systems and networks to automate and secure the migration of data.
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable computer software for distributed computing, namely, computer software which allows components located on networked computers to communicate and coordinate actions; downloadable computer software development tools; downloadable computer software for managing source code across computer networks; downloadable computer software for migrating data over computer networks and ensuring the consistency of migrated data; downloadable computer software for use in data management; downloadable computer software for automating the movement of data across hybrid and multi-cloud environments; downloadable computer software for securing and protecting migrating data; mobile computing and operating platforms consisting of data transceivers, wireless networks and gateways for collection and management of data; downloadable cloud-based software for the migration, storing and management of electronic data Computer development consulting services in the field of computer software development tools, technical support and technical support services in the use of computer software development tools; software as a service (SaaS) services featuring software for migrating data and ensuring the consistency of migrated data and software for managing source code across computer networks; platform as a service (PaaS) services featuring software for migrating data and ensuring the consistency of migrated data and software for managing source code across computer networks; design and development of computer software for data migration and management; computer services, namely, the integration of computer software into multiple systems and networks to automate and secure the migration of data
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable computer software development tools; downloadable computer software for managing source code across computer networks; downloadable computer software for migrating data over computer networks and ensuring the consistency of migrated data; downloadable computer software for distributed computing, namely, computer software which allows components located on networked computers to communicate and coordinate actions "Providing temporary use of online, non-downloadable computer software development tools; Providing temporary use of online, non-downloadable computer software for managing source code across computer networks; Providing temporary use of online, non-downloadable computer software for migrating data over computer networks and ensuring the consistency of migrated data; Providing temporary use of online, non-downloadable computer software for distributed computing, namely, computer software which allows components located on networked computers to communicate and coordinate actions"
6.
Methods, devices and systems for real-time checking of data consistency in a distributed heterogenous storage system
First replicated state machines may execute a sequence of ordered agreements to make mutations to data stored in a first data storage of a first type and second replicated state machines may execute the sequence of ordered agreements to make mutations to data stored in a second data storage of a second type. First metadata of the mutated data stored in the first data storage may then be received and stored, as may second metadata of the mutated data stored in the second data storage. The first and second metadata may be compared when the data stored in the first data storage that corresponds to the first metadata and the data stored in the second data storage that corresponds to the second metadata have settled according to the predetermined one of the sequence of ordered agreements. A selected action may then be carried out depending upon the comparison.
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable computer software for distributed computing,
namely, computer software which allows components located on
networked computers to communicate and coordinate actions;
downloadable computer software development tools;
downloadable computer software for managing source code
across computer networks; downloadable computer software for
migrating data over computer networks and ensuring the
consistency of migrated data. Consulting for computer software development teams in the
use of computer software development tools, technical
support and technical support services in the use of
computer software development tools; software as a service
(SaaS) services featuring software for migrating data and
ensuring the consistency of migrated data and software for
managing source code across computer networks; providing
online non-downloadable computer software for distributed
computing, namely, computer software which allows components
located on networked computers to communicate and coordinate
actions; providing online non-downloadable computer software
for managing source code across computer networks; providing
online non-downloadable computer software for migrating data
over computer networks and ensuring the consistency of
migrated data.
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Computer software for distributed computing, namely,
computer software which allows components located on
networked computers to communicate and coordinate actions;
computer software development tools; computer software for
managing source code across computer networks; computer
software for migrating data over computer networks and
ensuring the consistency of migrated data. Computer development consulting services in the field of
computer software development tools, technical support and
technical support services in the use of computer software
development tools; software as a service (SaaS) services
featuring software for migrating data and ensuring the
consistency of migrated data and software for managing
source code across computer networks.
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable computer software for distributed computing, namely, computer software which allows components located on networked computers to communicate and coordinate actions; downloadable computer software development tools; downloadable computer software for managing source code across computer networks; downloadable computer software for migrating data over computer networks and ensuring the consistency of migrated data Consulting for computer software development teams in the use of computer software development tools, technical support and technical support services in the use of computer software development tools; Software as a Service (SaaS) services featuring software for migrating data and ensuring the consistency of migrated data and software for managing source code across computer networks; Providing online non-downloadable computer software for distributed computing, namely, computer software which allows components located on networked computers to communicate and coordinate actions; Providing online non-downloadable computer software for managing source code across computer networks; Providing online non-downloadable computer software for migrating data over computer networks and ensuring the consistency of migrated data
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Consulting for computer software development teams in the use of computer software development tools, technical support and technical support services in the use of computer software development tools; Software as a Service (SaaS) services featuring software for migrating data and ensuring the consistency of migrated data and software for managing source code across computer networks; Providing online non-downloadable computer software for distributed computing, namely, computer software which allows components located on networked computers to communicate and coordinate actions; Providing online non-downloadable computer software for managing source code across computer networks; Providing online non-downloadable computer software for migrating data over computer networks and ensuring the consistency of migrated data
11.
Methods, devices and systems for real-time checking of data consistency in a distributed heterogenous storage system
A computer-implemented method may comprise executing, by a first plurality of replicated state machines, a sequence of ordered agreements to make mutations to a data stored in a first data storage of a first type and executing, by a second plurality of replicated state machines, the sequence of ordered agreements to make mutations to the data stored in a second data storage of a second type. First metadata of the mutated data stored in the first data storage may then be received and stored, as may second metadata of the mutated data stored in the second data storage. A comparison of the stored first and second metadata may then be carried out when the data stored in the first data storage that corresponds to the first metadata and the data stored in the second data storage that corresponds to the second metadata have been determined to have settled according to the predetermined one of the sequence of ordered agreements. A selected action may then be carried out depending upon a result of the comparison.
A computer-implemented method may comprise receiving proposals to mutate a data stored in a distributed and replicated file system coupled to a network, the distributed and replicated data system comprising a plurality of nodes, each comprising a server. A metadata service maintains and updates a replica of a namespace of the distributed and replicated file system and coordinates updates to the data by generating an ordered set of agreements corresponding to the received proposals, the ordered set of agreements specifying an order in which the nodes are to mutate data stored in data nodes and cause corresponding changes to the state of the namespace. For each agreement in the generated ordered set of agreements, a corresponding writers list may be provided that comprises an ordered list of nodes to execute the agreement and make corresponding changes to the namespace. The ordered set of agreements may then be sent to the plurality of nodes along with, for each agreement in the ordered set of agreements, the corresponding writers list or a pre-generated index thereto and each of the plurality of nodes may be configured to only execute agreements for which it is a first-listed node on the received writers list.
A computer-implemented method of migrating metadata from a donor filesystem D having a rooted tree structure to a beneficiary filesystem B while processing commands that operate on the metadata may comprise, while a command to operate on the metadata is not received, replicating the donor filesystem D at the beneficiary filesystem B by sequentially copying metadata of nodes of the donor filesystem D to the beneficiary filesystem B. When a command is received to operate on the metadata, the command may be executed at both the donor filesystem D and the beneficiary filesystem B when all arguments of the command are present in both the donor filesystem D and the beneficiary filesystem B. When none of arguments are present in the beneficiary filesystem B, the command may be executed at the donor filesystem D only. When only some of the arguments are present in the beneficiary filesystem B, the command may be enqueued at least until all arguments of the command are present in the beneficiary filesystem B. When all arguments thereof are present in the beneficiary filesystem B, the enqueued commands may be dequeued and scheduled for execution.
A computer-implemented method may comprise providing a first executed agreement cache in a first data center and a second executed agreement cache in a second data center; receiving agreements on proposals to create or make changes to files stored in the first and second data centers; storing metadata of the files referred to by the received agreements the first and/or second executed agreement caches; maintaining the first and second executed agreement caches synchronous with one another before the files referred to by the received agreements are created or changed; creating or making changes to the file referred to by the received agreements only after the first and second executed agreement caches have been synchronized; and searching the first and/or second executed agreement caches for updated metadata whenever requests for data of files stored in the first or second data centers are received in the first or the second data centers and, responsive to the received requests, providing data corresponding to the updated metadata when updated metadata is found.
A distributed system that implements an online exchange may comprise a plurality of server nodes, each of which being configured to receive exchange transaction proposals from customers of the online exchange over a computer network and each being configured to store a copy of a blockchain distributed ledger of completed exchange transactions. A consensus engine may be coupled, over the computer network, to the plurality of server nodes and may receive a plurality of exchange transaction proposals from the plurality of server nodes. The consensus engine may be being further configured to achieve consensus on the plurality of exchange transaction proposals and to generate, in response, an ordering of agreed-upon exchange transaction proposals that includes the plurality of exchange transaction proposals on which consensus has been reached. This ordering of agreed-upon exchange transaction proposals is identically provided to each of the server nodes and specifies the order in which the server nodes are to execute exchange transactions and to update their copy of the distributed ledger. The ordering of agreed-upon exchange transaction proposals may optionally be re-ordered and identically provided to each server node to conform to the local orderings at the exchange transaction proposal's node server of origin.
A computer-implemented method may comprise receiving proposals to mutate a data stored in a distributed and replicated file system coupled to a network, the distributed and replicated data system comprising a plurality of nodes, each comprising a server. A metadata service maintains and updates a replica of a namespace of the distributed and replicated file system and coordinates updates to the data by generating an ordered set of agreements corresponding to the received proposals, the ordered set of agreements specifying an order in which the nodes are to mutate data stored in data nodes and cause corresponding changes to the state of the namespace. For each agreement in the generated ordered set of agreements, a corresponding writers list may be provided that comprises an ordered list of nodes to execute the agreement and make corresponding changes to the namespace. The ordered set of agreements may then be sent to the plurality of nodes along with, for each agreement in the ordered set of agreements, the corresponding writers list or a pre-generated index thereto and each of the plurality of nodes may be configured to only execute agreements for which it is a first- listed node on the received writers list.
A computer-implemented method may comprise receiving proposals to mutate a data stored in a distributed and replicated file system coupled to a network, the distributed and replicated data system comprising a plurality of nodes, each comprising a server. A metadata service maintains and updates a replica of a namespace of the distributed and replicated file system and coordinates updates to the data by generating an ordered set of agreements corresponding to the received proposals, the ordered set of agreements specifying an order in which the nodes are to mutate data stored in data nodes and cause corresponding changes to the state of the namespace. For each agreement in the generated ordered set of agreements, a corresponding writers list may be provided that comprises an ordered list of nodes to execute the agreement and make corresponding changes to the namespace. The ordered set of agreements may then be sent to the plurality of nodes along with, for each agreement in the ordered set of agreements, the corresponding writers list or a pre-generated index thereto and each of the plurality of nodes may be configured to only execute agreements for which it is a first-listed node on the received writers list.
A first plurality of replicated state machines may execute a sequence of ordered agreements to make mutations to a data stored in a first data storage service of a first type. A second plurality of replicated state machines may execute the sequence of ordered agreements to make mutations to the data stored in a second data storage service of a second type. First metadata of the mutated data stored in the first data storage service may then be received and stored, and second metadata of the mutated data may be stored in the second data storage service. The stored first and second metadata may then be compared when the data have settled, and a selected action carried out based upon the result of the comparison.
A computer-implemented method of migrating metadata from a donor filesystem D having a rooted tree structure to a beneficiary filesystem B while processing commands that operate on the metadata may comprise, while a command to operate on the metadata is not received, replicating the donor filesystem D at the beneficiary filesystem B by sequentially copying metadata of nodes of the donor filesystem D to the beneficiary filesystem B. When a command is received to operate on the metadata, the command may be executed at both the donor filesystem D and the beneficiary filesystem B when all arguments of the command are present in both the donor filesystem D and the beneficiary filesystem B. When none of arguments are present in the beneficiary filesystem B, the command may be executed at the donor filesystem D only. When only some of the arguments are present in the beneficiary filesystem B, the command may be enqueued at least until all arguments of the command are present in the beneficiary filesystem B. When all arguments thereof are present in the beneficiary filesystem B, the enqueued commands may be dequeued and scheduled for execution.
A computer-implemented method of migrating metadata from a donor filesystem D having a rooted tree structure to a beneficiary filesystem B while processing commands that operate on the metadata may comprise, while a command to operate on the metadata is not received, replicating the donor filesystem D at the beneficiary filesystem B by sequentially copying metadata of nodes of the donor filesystem D to the beneficiary filesystem B. When none of arguments are present in the beneficiary filesystem B, the command may be executed at the donor filesystem D only. When only some of the arguments are present in the beneficiary filesystem B, the command may be enqueued at least until all arguments of the command are present in the beneficiary filesystem B. When all arguments thereof are present in the beneficiary filesystem B, the enqueued commands may be dequeued and scheduled for execution.
A computer-implemented method and distributed system for maintaining consistency of client applications on a plurality of server nodes may comprise providing a first and second versions of a distributed coordination engine (DConE). The first version of the DConE may receive proposals, reach agreements thereon and generate a first ordering of agreements that specifies an order in which the client applications are to execute the agreed-upon proposals and correspondingly update their respective states. A ChangeVersion proposal may then be processed by the first version of the DConE, whereupon the first version of the DConE may stop reaching any further agreements. A second version of the DConE may then take over reaching agreements on the proposals and generate a second ordering of agreements, beginning with the agreed-upon ChangeVersion proposal. Any agreed-upon proposal, received from the first version of the DConE after the agreed-upon ChangeVersion proposal, may be sent back to the second version of the DConE to enable the second version of the DConE to reach agreement thereon.
A distributed system that implements an online exchange may comprise a plurality of server nodes, each of which being configured to receive exchange transaction proposals from customers of the online exchange over a computer network and each being configured to store a copy of a blockchain distributed ledger of completed exchange transactions. A distributed coordination engine may be coupled, over the computer network, to the plurality of server nodes and may receive a plurality of exchange transaction proposals from the plurality of server nodes. The distributed coordination engine may be being further configured to achieve consensus on the plurality of exchange transaction proposals and to generate, in response, an ordering of agreed-upon exchange transaction proposals that includes the plurality of exchange transaction proposals on which consensus has been reached. This ordering of agreed-upon exchange transaction proposals is identically provided to each of the server nodes and specifies the order in which the server nodes are to execute exchange transactions and to update their copy of the distributed ledger. The ordering of agreed-upon exchange transaction proposals may optionally be re-ordered and identically provided to each server node to conform to the local orderings at the exchange transaction proposal's node server of origin.
A cluster of nodes implements a single distributed file system comprises at least first and second data centers and a coordination engine process. The first data center may comprise first DataNodes configured to store data blocks of client files, and first NameNodes configured to update a state of a namespace of the cluster. The second data center, geographically remote from and coupled to the first data center by a wide area network, may comprise second DataNodes configured to store data blocks of client files, and second NameNodes configured to update the state of the namespace. The first and second NameNodes are configured to update the state of the namespace responsive to data blocks being written to the DataNodes. The coordination engine process spans the first and second NameNodes and coordinates updates to the namespace stored such that the state thereof is maintained consistent across the first and second data centers.
H04L 67/1095 - Réplication ou mise en miroir des données, p. ex. l’ordonnancement ou le transport pour la synchronisation des données entre les nœuds du réseau
24.
Methods, devices and systems for non-disruptive upgrades to a distributed coordination engine in a distributed computing environment
A computer-implemented method and distributed system for maintaining consistency of client applications on a plurality of server nodes may comprise providing a first and second versions of a distributed coordination engine (DConE). The first version of the DConE may receive proposals, reach agreements thereon and generate a first ordering of agreements that specifies an order in which the client applications are to execute the agreed-upon proposals and correspondingly update their respective states. A ChangeVersion proposal may then be processed by the first version of the DConE, whereupon the first version of the DConE may stop reaching any further agreements. A second version of the DConE may then take over reaching agreements on the proposals and generate a second ordering of agreements, beginning with the agreed-upon ChangeVersion proposal. Any agreed-upon proposal, received from the first version of the DConE after the agreed-upon ChangeVersion proposal, may be sent back to the second version of the DConE to enable the second version of the DConE to reach agreement thereon.
First and second pluralities of replicated state machines may execute a sequence of ordered agreements to make mutations to data stored in first and second data storage services of first and second types, respectively. First and second metadata of the mutated data stored in the first and second data storage services may then be received and stored. The first and second data storage services may then be synchronized using the received first and second metadata to determine when the data stored in the first and second data storage services have both settled after having mutated according to a predetermined agreement of the sequence of ordered agreements. A comparison of the stored first and second metadata may then be carried out when the data stored in the first data storage service and the data stored in the second data storage service have settled according to the predetermined agreement.
A distributed system that implements an online exchange may comprise a plurality of server nodes, each of which being configured to receive exchange transaction proposals from customers of the online exchange over a computer network and each being configured to store a copy of a blockchain distributed ledger of completed exchange transactions. A distributed coordination engine may be coupled, over the computer network, to the plurality of server nodes and may receive a plurality of exchange transaction proposals from the plurality of server nodes. The distributed coordination engine may be being further configured to achieve consensus on the plurality of exchange transaction proposals and to generate, in response, an ordering of agreed-upon exchange transaction proposals that includes the plurality of exchange transaction proposals on which consensus has been reached. This ordering of agreed-upon exchange transaction proposals is identically provided to each of the server nodes and specifies the order in which the server nodes are to execute exchange transactions and to update their copy of the distributed ledger. The ordering of agreed-upon exchange transaction proposals may optionally be re-ordered and identically provided to each server node to conform to the local orderings at the exchange transaction proposal's node server of origin.
A computer-implemented method may comprise providing a first executed agreement cache in a first data center and a second executed agreement cache in a second data center; receiving agreements on proposals to create or make changes to files stored in the first and second data centers; storing metadata of the files referred to by the received agreements the first and/or second executed agreement caches; maintaining the first and second executed agreement caches synchronous with one another before the files referred to by the received agreements are created or changed; creating or making changes to the file referred to by the received agreements only after the first and second executed agreement caches have been synchronized; and searching the first and/or second executed agreement caches for updated metadata whenever requests for data of files stored in the first or second data centers are received in the first or the second data centers and, responsive to the received requests, providing data corresponding to the updated metadata when updated metadata is found.
A cluster of nodes implements a single distributed file system comprises at least first and second data centers and a coordination engine process. The first data center may comprise first DataNodes configured to store data blocks of client files, and first NameNodes configured to update a state of a namespace of the cluster. The second data center, geographically remote from and coupled to the first data center by a wide area network, may comprise second DataNodes configured to store data blocks of client files, and second NameNodes configured to update the state of the namespace. The first and second NameNodes are configured to update the state of the namespace responsive to data blocks being written to the DataNodes. The coordination engine process spans the first and second NameNodes and coordinates updates to the namespace stored such that the state thereof is maintained consistent across the first and second data centers.
A cluster of nodes in a distributed file system may include; at least two namenodes, each coupled to a plurality of data nodes and each configured to store a state of a namespace of the cluster and each being configured to respond to a request from a client while other(s) of the namenodes are responding to other requests from other clients; and a coordination engine coupled to each of the namenodes. The coordination engine may be configured to receive proposals from the namenodes to change the state of the namespace by replicating, deleting and/or adding data blocks stored in the data nodes and to generate, in response, an ordered set of agreements that specifies an order in which the namenodes are to change the state of the namespace. The namenodes are configured to delay making changes thereto until after the ordered set of agreements is received from the coordination engine.
A computer-implemented method of deploying a membership of nodes in a distributed computing system may comprise selecting nodes to be part of a membership of nodes; creating a membership task identifying a membership creator node as the node that is creating the membership and comprising a membership target identifying at least one node of the distributed computing system that is to become a member of the membership; and creating a beacon configured to send a create membership message to each identified node, the create membership message comprising at least an identity of the membership task and an identification of the membership. Upon receiving a response from a node in the membership target, the node from which the response was received may be removed from the beacon. The membership may be deployed when a response has been received from each of the nodes identified in the membership target.
A messaging model and node induction methods and corresponding devices and systems are disclosed herein that are effective to enable an inductor node to induct an inductee node into a distributed computing system and to enable the inducted node to carry out predetermined tasks.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04W 4/00 - Services spécialement adaptés aux réseaux de télécommunications sans filLeurs installations
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
G06F 9/50 - Allocation de ressources, p. ex. de l'unité centrale de traitement [UCT]
33.
Methods, devices and systems for dynamically managing memberships in replicated state machines within a distributed computing environment
A computer-implemented method may comprise processing agreements received over a computer network at a first replicated state machine deployed on processes belonging to a first membership in an order defined by a first globally ordered set of agreements associated with the first membership; receiving an agreement to change membership that is configured to cause the first replicated state machine to be deployed on processes belonging to a second membership that is associated with a second globally ordered set of agreements; and processing the agreement to change membership at a point within the first globally ordered set of agreements.
A cluster of nodes in a distributed file system may include; at least two namenodes, each coupled to a plurality of data nodes and each configured to store a state of a namespace of the cluster and each being configured to respond to a request from a client while other(s) of the namenodes are responding to other requests from other clients; and a coordination engine coupled to each of the namenodes. The coordination engine may be configured to receive proposals from the namenodes to change the state of the namespace by replicating, deleting and/or adding data blocks stored in the data nodes and to generate, in response, an ordered set of agreements that specifies an order in which the namenodes are to change the state of the namespace. The namenodes are configured to delay making changes thereto until after the ordered set of agreements is received from the coordination engine.
G07F 17/30 - Appareils déclenchés par pièces de monnaie pour la location d'articlesInstallations ou services déclenchés par pièces de monnaie pour instruments musicaux
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
35.
Geographically-distributed file system using coordinated namespace replication over a wide area network
A cluster of nodes implements a single distributed file system comprises at least first and second data centers and a coordination engine process. The first data center may comprise first DataNodes configured to store data blocks of client files, and first NameNodes configured to update a state of a namespace of the cluster. The second data center, geographically remote from and coupled to the first data center by a wide area network, may comprise second DataNodes configured to store data blocks of client files, and second NameNodes configured to update the state of the namespace. The first and second NameNodes are configured to update the state of the namespace responsive to data blocks being written to the DataNodes. The coordination engine process spans the first and second NameNodes and coordinates updates to the namespace stored such that the state thereof is maintained consistent across the first and second data centers.
A cluster of nodes in a distributed file system may include; at least two namenodes, each coupled to a plurality of data nodes and each configured to store a state of a namespace of the cluster and each being configured to respond to a request from a client while other(s) of the namenodes are responding to other requests from other clients; and a coordination engine coupled to each of the namenodes. The coordination engine may be configured to receive proposals from the namenodes to change the state of the namespace by replicating, deleting and/or adding data blocks stored in the data nodes and to generate, in response, an ordered set of agreements that specifies an order in which the namenodes are to change the state of the namespace. The namenodes are configured to delay making changes thereto until after the ordered set of agreements is received from the coordination engine.
A cluster of nodes in a distributed file system may include; at least two namenodes, each coupled to a plurality of data nodes and each configured to store a state of a namespace of the cluster and each being configured to respond to a request from a client while other(s) of the namenodes are responding to other requests from other clients; and a coordination engine coupled to each of the namenodes. The coordination engine may be configured to receive proposals from the namenodes to change the state of the namespace by replicating, deleting and/or adding data blocks stored in the data nodes and to generate, in response, an ordered set of agreements that specifies an order in which the namenodes are to change the state of the namespace. The namenodes are configured to delay making changes thereto until after the ordered set of agreements is received from the coordination engine.
A computer-implemented method may comprise processing agreements received over a computer network at a first replicated state machine deployed on processes belonging to a first membership in an order defined by a first globally ordered set of agreements associated with the first membership; receiving an agreement to change membership that is configured to cause the first replicated state machine to be deployed on processes belonging to a second membership that is associated with a second globally ordered set of agreements; and processing the agreement to change membership at a point within the first globally ordered set of agreements.
A computer-implemented method may comprise processing agreements received over a computer network at a first replicated state machine deployed on processes belonging to a first membership in an order defined by a first globally ordered set of agreements associated with the first membership; receiving an agreement to change membership that is configured to cause the first replicated state machine to be deployed on processes belonging to a second membership that is associated with a second globally ordered set of agreements; and processing the agreement to change membership at a point within the first globally ordered set of agreements.
G06F 11/07 - Réaction à l'apparition d'un défaut, p. ex. tolérance de certains défauts
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
40.
DYNAMICALLY MANAGING MEMBERSHIPS IN REPLICATED STATE MACHINES WITHIN A DISTRIBUTED COMPUTING ENVIRONMENT
A computer-implemented method, comprising: processing agreements received over a computer network at a first replicated state machine deployed on processes belonging to a first membership in an order defined by a first globally ordered set of agreements associated with the first membership; receiving an agreement to change membership that is configured to cause the first replicated state machine to be deployed on processes belonging to a second membership that is associated with a second globally ordered set of agreements; and processing the agreement to change membership at a point within the first globally ordered set of agreements.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
41.
Methods, devices and systems for dynamically managing memberships in replicated state machines within a distributed computing environment
A computer-implemented method may comprise processing agreements received over a computer network at a first replicated state machine deployed on processes belonging to a first membership in an order defined by a first globally ordered set of agreements associated with the first membership; receiving an agreement to change membership that is configured to cause the first replicated state machine to be deployed on processes belonging to a second membership that is associated with a second globally ordered set of agreements; and processing the agreement to change membership at a point within the first globally ordered set of agreements.
A computer-implemented method of deploying a membership of nodes is a distributed computing system may comprise selecting nodes to be part of a membership of nodes; creating a membership task identifying a membership creator node as the node mat is creating the membership and comprising a membership target identifying at least one node of the distributed computing system that is to become a member of the membership; and creating a beacon configured to send a create membership message to each identified node, the create membership message comprising at least an identity of the membership task and an identification of the membership. Upon receiving a response from a node in the membership target the node from which the response was received may be removed from the beacon. The membership may be deployed when a response has been received from each of the nodes identified in the membership target.
A messaging model and node induction methods and corresponding devices and systems are disclosed herein that are effective to enable an inductor node to induct an inductee node into a distributed computing system and to enable the inducted node to carry out predetermined tasks.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
44.
Methods, devices and systems for initiating, forming and joining memberships in distributed computing systems
A computer-implemented method of deploying a membership of nodes in a distributed computing system may comprise selecting nodes to be part of a membership of nodes; creating a membership task identifying a membership creator node as the node that is creating the membership and comprising a membership target identifying at least one node of the distributed computing system that is to become a member of the membership; and creating a beacon configured to send a create membership message to each identified node, the create membership message comprising at least an identity of the membership task and an identification of the membership. Upon receiving a response from a node in the membership target, the node from which the response was received may be removed from the beacon. The membership may be deployed when a response has been received from each of the nodes identified in the membership target.
A messaging model and node induction methods and corresponding devices and systems are disclosed herein that are effective to enable as inductor node to induct: an inductee node into a distributed computing system and to enable the inducted node to carry out predetermined tasks.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 12/407 - Réseaux à ligne bus avec commande décentralisée
H04L 67/10 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau
H04L 67/1095 - Réplication ou mise en miroir des données, p. ex. l’ordonnancement ou le transport pour la synchronisation des données entre les nœuds du réseau
H04L 67/133 - Protocoles pour les appels de procédure à distance [RPC]
H04L 69/24 - Négociation des capacités de communication
46.
Method for managing proposals in a distributed computing system
In one embodiment of the present invention, a replicated state machine comprises a proposal manager, an agreement manager, a collision/back-off timer and a storage reclaimer. The proposal manager facilitates management of proposals issued by a node of a distributed application for enabling coordinated execution of the proposals by all other nodes of the distributed application. The agreement manager facilitates agreement on the proposals. The collision/back-off timer precludes repeated pre-emptions of rounds in attempting to achieve agreement on the proposals. The storage reclaimer reclaims persistent storage utilized for storing at least one of proposal agreements and the proposals.
In one embodiment of the present invention, a replicated state machine comprises a proposal manager, an agreement manager, a collision/back-off timer and a storage reclaimer. The proposal manager facilitates management of proposals issued by a node of a distributed application for enabling coordinated execution of the proposals by all other nodes of the distributed application. The agreement manager facilitates agreement on the proposals. The collision/back-off timer precludes repeated pre-emptions of rounds in attempting to achieve agreement on the proposals. The storage reclaimer reclaims persistent storage utilized for storing at least one of proposal agreements and the proposals.