摘要:
A system and techniques are described for managing key-value pairs using an architecture that does not restrict its users to any specific platform or storage subsystem. According to one aspect of the invention, the repository is portable in that the architecture need not change based on the environment and platform in which the repository is used. Rather, the portion of the architecture that is platform-specific is limited to plug-ins at a storage abstraction layer of the repository. The plug-ins expose the same storage abstraction interface to the other layers of the repository, but are implemented to interact with different platforms and storage subsystems. Consequently, in response to being ported from one platform to another, the repository may simply change the plug-in to invoke for persistent storage operations.
摘要:
A system and techniques are described for managing key-value pairs using an architecture that does not restrict its users to any specific platform or storage subsystem. According to one aspect of the invention, the repository is portable in that the architecture need not change based on the environment and platform in which the repository is used. Rather, the portion of the architecture that is platform-specific is limited to plug-ins at a storage abstraction layer of the repository. The plug-ins expose the same storage abstraction interface to the other layers of the repository, but are implemented to interact with different platforms and storage subsystems. Consequently, in response to being ported from one platform to another, the repository may simply change the plug-in to invoke for persistent storage operations.
摘要:
A system and techniques are described for managing key-value pairs using an architecture that does not restrict its users to any specific platform or storage subsystem. According to one aspect of the invention, the repository is portable in that the architecture need not change based on the environment and platform in which the repository is used. Rather, the portion of the architecture that is platform-specific is limited to plug-ins at a storage abstraction layer of the repository. The plug-ins expose the same storage abstraction interface to the other layers of the repository, but are implemented to interact with different platforms and storage subsystems. Consequently, in response to being ported from one platform to another, the repository may simply change the plug-in to invoke for persistent storage operations.
摘要:
A group of shared-storage resources are being maintained as replicas by the nodes of a cluster. Each node in the cluster maintains a set of pointers to the members of the group. As membership changes, the set of pointers should be changed accordingly. For various, reasons, the set of pointers of a node are not changed and may point to shared-storage resources that are no longer members of the group and/or not point to shared-storage resources that are members of the group. By recording a history of membership changes in the shared-storage resources, and comparing the recording to what a node thinks the shared resources should be, an incorrect set of pointers can be detected and corrective active undertaken.
摘要:
A system and method for facilitating an automatic rolling upgrade of distributed software. In a set of computing devices (e.g., a cluster), each node executes the distributed program, but different nodes may operate any number of different versions of the program. During a rolling upgrade of the software, the nodes all operate according to a specified acting version of the software. A node attempting the join the cluster may be required to have a software version at least equal to the acting version. When all nodes have been upgraded to a version newer than the current acting version, the acting version is reset to the lowest software version installed on a node. The rolling upgrade completes automatically when all nodes run at a specified software version (e.g., the most recent) or have the same version installed.
摘要:
A system and method for facilitating an automatic rolling upgrade of distributed software. In a set of computing devices (e.g., a cluster), each node executes the distributed program, but different nodes may operate any number of different versions of the program. During a rolling upgrade of the software, the nodes all operate according to a specified acting version of the software. A node attempting the join the cluster may be required to have a software version at least equal to the acting version. When all nodes have been upgraded to a version newer than the current acting version, the acting version is reset to the lowest software version installed on a node. The rolling upgrade completes automatically when all nodes run at a specified software version (e.g., the most recent) or have the same version installed.
摘要:
A group of shared-storage resources are being maintained as replicas by the nodes of a cluster. Each node in the cluster maintains a set of pointers to the members of the group. As membership changes, the set of pointers should be changed accordingly. For various, reasons, the set of pointers of a node are not changed and may point to shared-storage resources that are no longer members of the group and/or not point to shared-storage resources that are members of the group. By recording a history of membership changes in the shared-storage resources, and comparing the recording to what a node thinks the shared resources should be, an incorrect set of pointers can be detected and corrective active undertaken.
摘要:
A system and techniques are described for creating member private data in a global namespace. According to one aspect, first data that is associated with a key is stored in a repository shared by multiple members. After the first data has been stored, second data that is associated with the key is stored without overwriting the first data. Mapping data is stored. The mapping data maps the key, relative to a first member, to a first data structure that stores the first data. The mapping data also maps the key, relative to a second member, to a second data structure that stores the second data. Based on the mapping data, the first member is allowed to access the first data and not the said second data. Based on the mapping data, the second member is allowed to access the second data and not the first data. The first data and the second data may include key values and subtrees of child keys.
摘要:
A method and mechanism for diagnosis of computer applications using traces is disclosed. Trace messages can be materialized using a markup language syntax. Hyperlinks can be placed in the trace messages to facilitate navigation between sets of related traces. Specific traces or portions of traces can be emphasized.
摘要:
A method and mechanism for utilizing a meta-language to define and analyze traces is disclosed. A set of trace format grammars can be defined for traces. Each trace format grammar is preferably compliant with guidelines for a meta-language grammar. The trace format grammars can be examined to form a suitable analyzing mechanism, such as a parser, to analyze the traces.