由於在分散式系統建置規劃中的元件配置決策中系統可靠度,執行效率與建置成本是重要的決策關鍵因素(Kartik and Murthy ,1997; Hsieh and Hsieh, 2003)。在現行相關的研究中,我們發現系統可靠度的評估,都忽略了軟體執行的特性及假設所有的執行單元為Homogeneous。在分散式系統中每次的系統執行並非所有的元件或系統節點都會參與運算,且使用的硬體設備也不會有相同的Failure Rate。因此本研究中將以符合軟體執行特性與系統執行環境的系統可靠度評估模式為基礎,來建構一個分散式系統元件配置問題的決策模式,本模式亦將3-Version Programming 的Fault Tolerance 技術納入決策考,並將採用Constraint Programming 技術來協助求解。 There has been a proliferation of distributed computing systems in the past few years. A distributed computing system presents a platform consisting of multiple computing nodes connected in some fashion to which various components (or modules) of a task could be assigned. Such a system can speed up the development process and improve information sharing and operational capabilities. Yet, such a system must be reliable to be successful. A distributed computing system may execute a task with higher reliability if the various components of the given task are assigned to appropriate nodes considering the reliability of the nodes and links. However, the estimation of system reliability is a complex problem.
The module allocation problem in distributed computing systems deals with finding a suitable assignment of modules to processors so that the sum of execution and communication costs is minimized and the system reliability is acceptable. However, for such a problem the software operational characteristics are not considered for the procedure of system reliability estimation in current studies and the system is assumed operation in a homogeneous environment. These characteristics will affect the accuracy of the system reliability estimation. Therefore, we will need to develop a new decision model for task allocation in distributed computing systems with a consideration of software component reliability and heterogeneous operation environment. In this research, we consider 3-version software fault tolerance technique to improve system reliability and conduct the technique of constraint programming to solve the optimal task allocation problem.