The paper employs majority voting among replica processes to move a correct data from the environment to the end-user entity in a real-time application setting. The replicas may possibly be sensor devices and/or system-level gateways providing a computational interface to the environment that may be untrustworthy. Furthermore, the data may be quite large in size with non-numeric and non-exact contents (e.g., imaging devices in a geographic terrain), and often have timing constraints. The voting protocol is made efficient by reducing the amount of data processing and network-level message exchanges required in delivering a data to the user. Our optimization takes into account: i) processing cycles expended in comparing data, ii) amount of replica data movement required, and iii) number of control messages generated. We consider two types of voting protocol: a 'centralized' scheme where replica data are collected at a secure site to carry out the data comparisons for voting; and a 'decentralized' scheme where each replica compares its locally computed data with a candidate data to send its consent/dissent message to a central vote collating site. The paper develops a performance model that considers the tradeoffs (i)-(iii) to determine the performance of the centralized and decentralized schemes.
展开▼