{"title":"Implementation of the GARF replicated objects platform","authors":"B. Garbinato, R. Guerraoui, K. Mazouni","doi":"10.1088/0967-1846/2/1/002","DOIUrl":"https://doi.org/10.1088/0967-1846/2/1/002","url":null,"abstract":"This paper presents the design and implementation of the GARF system, an object-oriented platform that helps programming fault-tolerant distributed applications in a modular way. The originality of GARF is to separate a distributed object into several objects, the complexity of distribution and fault-tolerance being encapsulated in reusable classes. The use of those classes by the GARF system is based on a run-time mechanism of invocation redirection, where most other systems use inheritance, a compile-time mechanism. Our runtime, which supports the GARF object model, is written in Smalltalk. It is presented in detail, as well as the reusable classes that support fault-tolerance. Fault-tolerant objects are implemented using groups of replicated objects. Our Dependable Object Toolkit provides group management facilities at the object level. Object groups are built on top of the Isis toolkit, which provides group management facilities at the Unix process level. Our mapping of object groups on process groups and our interfacing of Smalltalk and Isis are detailed. Performance analysis and a first evaluation of our prototype are also presented.","PeriodicalId":404872,"journal":{"name":"Distributed Syst. Eng.","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132029462","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The design and implementation of a distributed transaction system based on atomic data types","authors":"Zhixue Wu, R. Stroud, K. Moody, J. Bacon","doi":"10.1088/0967-1846/2/1/005","DOIUrl":"https://doi.org/10.1088/0967-1846/2/1/005","url":null,"abstract":"The complexity of potential interactions among concurrent activities and the multitude of failure modes that can occur in distributed systems make it hard to reason about distributed programs. Transactions provide the programmer with a mechanism that simplifies the development of concurrent and distributed programs. In this paper we present the design and implementation of a distributed transaction system that uses atomic data types to provide synchronization and recovery. Generally speaking, implementing user-defined atomic data types is a difficult task. However, unlike existing systems, our system requires programmers to do very little extra work to make an object atomic. Programmers implement atomic data types as if for a sequential and reliable environment and specify the concurrent semantics of object operations separately in a small, but expressive declarative language. Appropriate synchronization and recovery code for atomic data types is generated automatically by the system according to this information.","PeriodicalId":404872,"journal":{"name":"Distributed Syst. Eng.","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133048156","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Focused fault injection testing of software implemented fault tolerance mechanisms of Voltan TMR nodes","authors":"S. Tao, P. Ezhilchelvan, S. Shrivastava","doi":"10.1088/0967-1846/2/1/004","DOIUrl":"https://doi.org/10.1088/0967-1846/2/1/004","url":null,"abstract":"One way of gaining confidence in the adequacy of fault tolerance mechanisms of a system is to test the system by injecting faults and see how the system performs under faulty conditions. This paper presents an application of the focused fault injection method that has been developed for testing software implemented fault tolerance mechanisms of distributed systems. The method exploits the object oriented approach of software implementation to support the injection of specific classes of faults. With the focused fault injection method, the system tester is able to inject specific classes of faults (including malicious ones) such that the fault tolerance mechanisms of a target system can be tested adequately. The method has been applied to test the design and implementation of voting, clock synchronization, and ordering modules of the Voltan TMR (triple modular redundant) node. The tests performed uncovered three flaws in the system software.","PeriodicalId":404872,"journal":{"name":"Distributed Syst. Eng.","volume":"11 3-4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129710628","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Alberto Bartoli, G. Dini, M. Luise, G. Pazzaglia, C. Prete, N. D'Andrea
{"title":"Reusing sequential software in a distributed environment","authors":"Alberto Bartoli, G. Dini, M. Luise, G. Pazzaglia, C. Prete, N. D'Andrea","doi":"10.1088/0967-1846/2/1/001","DOIUrl":"https://doi.org/10.1088/0967-1846/2/1/001","url":null,"abstract":"In this paper we present and discuss a real experience of reusing sequential software in a parallel and physically distributed computing environment. Specifically, we have combined the functionalities of two existing systems previously developed at our Department. One, Tracs, is a programming environment for networked, heterogeneous machines that, among other things, is able to generate process farms out of a pure sequential code. The other, SPACE, is a graphical tool that generates sequential Fortran programs for simulating digital transmission systems. We have implemented a tool that restructures SPACE-generated programs to let them match the input required by the Tracs process farm generator. The result is that users of SPACE can transparently take advantage of networked and heterogeneous workstations to run their simulations. We have tackled the problems arising from both parallelism and distribution. The techniques we have used can be easily applied to any problem that can be modelled according to the process farm paradigm. Moreover, our experience shows that the Tracs framework may constitute a sound basis for facilitating engineering efforts on the reuse of sequential software in distributed environments.","PeriodicalId":404872,"journal":{"name":"Distributed Syst. Eng.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128662403","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"An overview of real-time ANSAware 1.0","authors":"Guangxing","doi":"10.1088/0967-1846/2/1/003","DOIUrl":"https://doi.org/10.1088/0967-1846/2/1/003","url":null,"abstract":"Distributed computing and real-time computing are well established areas of research, but their integration is yet to be studied because they seldom use compatible techniques. This paper provides an overview of an ANSA based distributed computing environment (named ANSAware/RT) for open, distributed real-time computing. The focus of this article is the engineering mechanisms necessary to support real-time processing. ANSAware/RT incorporates real-time tasks and communication channels as its basic programming components. It synthesizes aspects of resource requirements, allocation and scheduling into an object-based programming paradigm.","PeriodicalId":404872,"journal":{"name":"Distributed Syst. Eng.","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130963118","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A performance analysis of advanced I/O architectures for PC-based network file servers","authors":"K. Huynh, T. Khoshgoftaar","doi":"10.1088/0967-1846/1/6/002","DOIUrl":"https://doi.org/10.1088/0967-1846/1/6/002","url":null,"abstract":"In the personal computing and workstation environments, more and more I/O adapters are becoming complete functional subsystems that are intelligent enough to handle I/O operations on their own without much intervention from the host processor. The IBM Subsystem Control Block (SCB) architecture has been defined to enhance the potential of these intelligent adapters by defining services and conventions that deliver command information and data to and from the adapters. In recent years, a new storage architecture, the Redundant Array of Independent Disks (RAID), has been quickly gaining acceptance in the world of computing. In this paper, we would like to discuss critical system design issues that are important to the performance of a network file server. We then present a performance analysis of the SCB architecture and disk array technology in typical network file server environments based on personal computers (PCs). One of the key issues investigated in this paper is whether a disk array can outperform a group of disks (of same type, same data capacity, and same cost) operating independently, not in parallel as in a disk array.","PeriodicalId":404872,"journal":{"name":"Distributed Syst. Eng.","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124940322","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Collaborative indexing over networked information resources by distributed agents","authors":"Taeha Park, K. Chon","doi":"10.1088/0967-1846/1/6/005","DOIUrl":"https://doi.org/10.1088/0967-1846/1/6/005","url":null,"abstract":"Various information tools have appeared to help users locate and retrieve information resources over the Internet. The amount of information resources is increasing dramatically, and it is necessary to use indexing services to deal with the scalability problems. Existing indexing systems collect index data periodically from information servers only. Thus the users of indexing systems lack a common framework where they can share their heuristic information on available resources. This paper introduces collaborative indexing for gathering index data from users. The indexing system is seamlessly integrated with existing information tools. In our model, a group of users with a common view shares feedback of resource discovery. One user's feedback about searches is used by future users to help locate relevant resources. We implemented a prototype system where agents share index data by weighted association. Each agent defines its domain by the community and topic the agent serves. Agents gather users' feedback and use it to change weight values of associations. By doing this, users are relieved from a large volume of irrelevant resources in a global search space, and get more closely related matches to the search request.","PeriodicalId":404872,"journal":{"name":"Distributed Syst. Eng.","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115764679","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Understanding the behaviour of distributed applications through reverse engineering","authors":"T. Kunz, J. Black","doi":"10.1088/0967-1846/1/6/003","DOIUrl":"https://doi.org/10.1088/0967-1846/1/6/003","url":null,"abstract":"Understanding the behaviour of distributed applications is a very challenging task, due to their complexity. The top-down use of suitable abstraction hierarchies is frequently proposed to manage this complexity. Given the size of distributed applications, manually deriving such abstraction hierarchies seems unrealistic. This paper discusses tools that automate the derivation of suitable abstraction hierarchies and reports on initial experience with these tools. These abstraction hierarchies enable a top-down approach to the application behaviour understanding task, keeping the overall amount of information manageable. We have modified an existing prototype visualization tool to provide abstract visualizations of an execution. A user can navigate through the abstraction hierarchies derived with our tools, displaying an execution at various levels of abstraction. Examples of such abstract visualizations for the execution of one specific distributed application are given. In general, the abstractions derived represent meaningful parts of the application: they can be interpreted in terms of the application domain.","PeriodicalId":404872,"journal":{"name":"Distributed Syst. Eng.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128465688","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Adaptive file allocation in distributed computer systems","authors":"Amjad Mahmood, H. Khan, H. Fatmi","doi":"10.1088/0967-1846/1/6/004","DOIUrl":"https://doi.org/10.1088/0967-1846/1/6/004","url":null,"abstract":"An algorithm to dynamically reallocate the database files in a computer network is presented. The proposed algorithm uses the best fit approach to allocate and delete beneficial file copies. A key problem of economical estimation of future access and update pattern is discussed and an algorithm based on the Gabor-Kolmogorov learning process is presented to estimate the access and the update patterns. A distributed candidate selection algorithm is presented to reduce the number of files and nodes in reallocation. The simulation results are presented to demonstrate both accuracy and efficiency of the proposed algorithms.","PeriodicalId":404872,"journal":{"name":"Distributed Syst. Eng.","volume":"343 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120868699","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"el/REL: a family of reliable multicast protocols for distributed systems","authors":"P. Ezhilchelvan, S. Shrivastava","doi":"10.1088/0967-1846/1/6/001","DOIUrl":"https://doi.org/10.1088/0967-1846/1/6/001","url":null,"abstract":"A reliable multicast service that ensures atomic delivery, such that a multicast is completed successfully despite intervening failures (for example, the crash of the sender during a multicast) is highly desirable for building dependable distributed systems. This paper presents a family of multicast protocols that are easy to understand and implement and are capable of providing such a service with differing message ordering requirements. These protocols provide good performance despite intervening node crashes, thus making them suitable for systems requiring timely responses in the presence of component failures.","PeriodicalId":404872,"journal":{"name":"Distributed Syst. Eng.","volume":"96 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134111060","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}