Browse Prior Art Database

A Technique for Hardening the Resilience of Distributed Systems

IP.com Disclosure Number: IPCOM000215779D
Publication Date: 2012-Mar-12
Document File: 4 page(s) / 53K

Publishing Venue

The IP.com Prior Art Database

Related People

Marco Serafini: INVENTOR [+3]

Abstract

A method and system for increasing the resilience of a distributed protocol to data corruption is disclosed. The increase in resilience is achieved by introducing a runtime execution environment inside which the distributed protocol is executed. The runtime execution environment may perform integrity checks on data and computation of the distributed protocol. The system may help in preventing data corruption in the distributed protocol.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 31% of the total text.

A Technique for Hardening the Resilience of Distributed Systems

Abstract

A method and system for increasing the resilience of a distributed protocol to data corruption is disclosed. The increase in resilience is achieved by introducing a runtime execution environment inside which the distributed protocol is executed.  The runtime execution environment may perform integrity checks on data and computation of the distributed protocol.  The system may help in preventing data corruption in the distributed protocol.

Description

Disclosed is a method and system for increasing the resilience of a distributed protocol to data corruption by introducing a runtime execution environment (PANM library) for executing the distributed protocol.  The distributed protocol may include, but is not limited to, infrastructural services, storage algorithms, membership protocols, state machine replication protocols, messaging protocols and infrastructural service protocols.  The PANM library may execute all the integrity checks on the data and computation performed by the distribution protocol.

Consider a user implementing a distributed protocol.  The user may need to design the distributed protocol that may be executed inside the PANM library.  The distributed protocol may be  specified based on one or more user defined parameters.  The one or more user defined parameters include a global process state, one or more process handlers, and one or more messages used by the distributed protocol. 

The global state of the process is specified by defining a class of global variables.  The global variables cannot be directly accessed by one or more message handlers.  The global variables may be accessed by user defined one or more getters and one or more setters.  For example, one or more user defined getters and setters may be specified by defining methods named as get<variable-name> and set<variable-name>.  The one or more getters return values of one or more global variables.  The one or more setters verify a value to be processed by the one or more global variables and modify the one or more global variables according to the value.  The one or more messages are transferred and processed by one or more message handlers.

The one or more message handlers may constitute the distributed protocols.  The user may define the one or more message handlers and a state on which the one or more message handlers work.  These one or more message handlers may be invoked by the PANM library whenever the PANM library receives an input message.  The input message may be provided to the PANM library by a communication layer.  The communication layer may be defined by the user.  The communication layer facilitates communication between one or more processes.

Further, the user may also specify message fields by defining a class extending the abstract Message class.  The messages are verified for checking of errors by the PANM library.  Messages in the PANM library includ...