Pub Date : 2001-10-28DOI: 10.1109/RELDIS.2001.969763
F. Pedone
Electronic tickets, or e-tickets, give evidence that their holders have permission to enter a place of entertainment, use a means of transportation, or have access to some Internet services. E-tickets can be stored in desktop computers or personal digital assistants for future use. Before being used, e-tickets have to be validated to prevent duplication, and ensure authenticity and integrity. The paper discusses e-ticket validation in contexts in which users cannot be trusted and validation servers may fail by crashing. The paper considers formal definitions for the e-ticket problem and proposes an optimistic protocol for validation of e-tickets. The protocol is optimistic in the sense that its best performance is achieved when e-tickets are validated only once.
{"title":"Optimistic validation of electronic tickets","authors":"F. Pedone","doi":"10.1109/RELDIS.2001.969763","DOIUrl":"https://doi.org/10.1109/RELDIS.2001.969763","url":null,"abstract":"Electronic tickets, or e-tickets, give evidence that their holders have permission to enter a place of entertainment, use a means of transportation, or have access to some Internet services. E-tickets can be stored in desktop computers or personal digital assistants for future use. Before being used, e-tickets have to be validated to prevent duplication, and ensure authenticity and integrity. The paper discusses e-ticket validation in contexts in which users cannot be trusted and validation servers may fail by crashing. The paper considers formal definitions for the e-ticket problem and proposes an optimistic protocol for validation of e-tickets. The protocol is optimistic in the sense that its best performance is achieved when e-tickets are validated only once.","PeriodicalId":440881,"journal":{"name":"Proceedings 20th IEEE Symposium on Reliable Distributed Systems","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123634156","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}
Pub Date : 2001-10-28DOI: 10.1109/RELDIS.2001.969771
F. Bastani
Dramatic advances in computer and communication technologies have greatly promoted the growth of embedded telecommunication systems. More and more critical applications, such as banking and financial services, remote patient monitoring systems, transportation, etc., are being developed. The software for these applications is becoming increasingly sophisticated and complex and this trend will accelerate over the next few years with the development of "software-defined telephony". To support these critical applications, it is necessary to achieve high quality and rigorously demonstrate that high quality has in fact been achieved. In today's highly competitive environment; it is also essential to have accelerated development schedules and the capability to quickly customize and adapt products for niche markets and to satisfy diverse regional standards and procedures. To meet all these challenges, software development technology is rapidly shifting away from low-level programming issues to automated code generation and integration of systems from components, either Commercial-Off-The-Shelf (COTS) components or specially developed in-house components. This is made possible by numerous recent breakthroughs in software technology, including web-based cooperative software development, in-process; monitoring, agents, Java, scripting languages, and, especially, industry-driven standardization efforts, such as CORBA, TINA, TL 9000, and XDAIS. The use of COTS components can significantly reduce software development time and cost.
{"title":"High-quality customizable embedded software from COTS components","authors":"F. Bastani","doi":"10.1109/RELDIS.2001.969771","DOIUrl":"https://doi.org/10.1109/RELDIS.2001.969771","url":null,"abstract":"Dramatic advances in computer and communication technologies have greatly promoted the growth of embedded telecommunication systems. More and more critical applications, such as banking and financial services, remote patient monitoring systems, transportation, etc., are being developed. The software for these applications is becoming increasingly sophisticated and complex and this trend will accelerate over the next few years with the development of \"software-defined telephony\". To support these critical applications, it is necessary to achieve high quality and rigorously demonstrate that high quality has in fact been achieved. In today's highly competitive environment; it is also essential to have accelerated development schedules and the capability to quickly customize and adapt products for niche markets and to satisfy diverse regional standards and procedures. To meet all these challenges, software development technology is rapidly shifting away from low-level programming issues to automated code generation and integration of systems from components, either Commercial-Off-The-Shelf (COTS) components or specially developed in-house components. This is made possible by numerous recent breakthroughs in software technology, including web-based cooperative software development, in-process; monitoring, agents, Java, scripting languages, and, especially, industry-driven standardization efforts, such as CORBA, TINA, TL 9000, and XDAIS. The use of COTS components can significantly reduce software development time and cost.","PeriodicalId":440881,"journal":{"name":"Proceedings 20th IEEE Symposium on Reliable Distributed Systems","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121389942","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}
Pub Date : 2001-10-28DOI: 10.1109/RELDIS.2001.970770
T. Park, Namyoon Woo, H. Yeom
This paper presents region-based storage management schemes, which support the efficient implementation of checkpointing and message logging for fault tolerant mobile computing systems. In the proposed schemes, a recovery manager assigned for a group of cells takes care of the recovery for the mobile hosts within the region. As a result, the recovery information of a mobile host, which may be dispersed over the network due to the mobility of the host, can efficiently be handled.
{"title":"Efficient recovery information management schemes for the fault tolerant mobile computing systems","authors":"T. Park, Namyoon Woo, H. Yeom","doi":"10.1109/RELDIS.2001.970770","DOIUrl":"https://doi.org/10.1109/RELDIS.2001.970770","url":null,"abstract":"This paper presents region-based storage management schemes, which support the efficient implementation of checkpointing and message logging for fault tolerant mobile computing systems. In the proposed schemes, a recovery manager assigned for a group of cells takes care of the recovery for the mobile hosts within the region. As a result, the recovery information of a mobile host, which may be dispersed over the network due to the mobility of the host, can efficiently be handled.","PeriodicalId":440881,"journal":{"name":"Proceedings 20th IEEE Symposium on Reliable Distributed Systems","volume":"363 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121723599","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}
Pub Date : 2001-10-28DOI: 10.1109/RELDIS.2001.969732
R. Jiménez-Peris, M. Patiño-Martínez, Bettina Kemme, G. Alonso
Data replication is playing an increasingly important role in the design of parallel information systems. In particular, the widespread use of cluster architectures in high-performance computing has created many opportunities for applying data replication techniques in new areas. For instance, as part of work related to cluster computing in bioinformatics, we have been confronted with the problem of having to choose an optimal replication strategy in terms of scalability, availability and communication overhead. Thus, we have evaluated several representative replication protocols in order to better understand their behavior in practice. The results obtained are surprising in that they challenge many of the assumptions behind existing protocols. Our evaluation indicates that the conventional read-one/write-all approach is the best choice for a large range of applications requiring data replication. We believe this is an important result for anybody developing code for computing clusters as the read-one/write-all strategy is much simpler to implement and more flexible than quorum-based approaches. In this paper we show that, in addition, it is also the best choice using a number of other selection criteria.
{"title":"How to select a replication protocol according to scalability, availability and communication overhead","authors":"R. Jiménez-Peris, M. Patiño-Martínez, Bettina Kemme, G. Alonso","doi":"10.1109/RELDIS.2001.969732","DOIUrl":"https://doi.org/10.1109/RELDIS.2001.969732","url":null,"abstract":"Data replication is playing an increasingly important role in the design of parallel information systems. In particular, the widespread use of cluster architectures in high-performance computing has created many opportunities for applying data replication techniques in new areas. For instance, as part of work related to cluster computing in bioinformatics, we have been confronted with the problem of having to choose an optimal replication strategy in terms of scalability, availability and communication overhead. Thus, we have evaluated several representative replication protocols in order to better understand their behavior in practice. The results obtained are surprising in that they challenge many of the assumptions behind existing protocols. Our evaluation indicates that the conventional read-one/write-all approach is the best choice for a large range of applications requiring data replication. We believe this is an important result for anybody developing code for computing clusters as the read-one/write-all strategy is much simpler to implement and more flexible than quorum-based approaches. In this paper we show that, in addition, it is also the best choice using a number of other selection criteria.","PeriodicalId":440881,"journal":{"name":"Proceedings 20th IEEE Symposium on Reliable Distributed Systems","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129297812","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}
Pub Date : 2001-10-28DOI: 10.1109/RELDIS.2001.969774
Bin Yao, W. Fuchs
This paper describes a message logging optimization that improves performance for failure recovery protocols where messages exchanged between mobile hosts are logged at base stations. The algorithm described and evaluated in this paper does not generate orphan processes in spite of base station failures and achieves run-time performance similar to that of asynchronous logging.
{"title":"Message logging optimization for wireless networks","authors":"Bin Yao, W. Fuchs","doi":"10.1109/RELDIS.2001.969774","DOIUrl":"https://doi.org/10.1109/RELDIS.2001.969774","url":null,"abstract":"This paper describes a message logging optimization that improves performance for failure recovery protocols where messages exchanged between mobile hosts are logged at base stations. The algorithm described and evaluated in this paper does not generate orphan processes in spite of base station failures and achieves run-time performance similar to that of asynchronous logging.","PeriodicalId":440881,"journal":{"name":"Proceedings 20th IEEE Symposium on Reliable Distributed Systems","volume":"116 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132608582","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}
Pub Date : 2001-10-28DOI: 10.1109/RELDIS.2001.970775
G. Cao, C. Das
Caching frequently accessed data items on the client side is an effective technique to improve the performance of data dissemination in mobile environments. Classical cache invalidation strategies are not suitable for mobile environments due to the disconnection and mobility of the mobile clients. One attractive cache invalidation technique is based on invalidation reports (IRs). However, IR-based approach suffers from long query latency and it cannot efficiently utilize the broadcast bandwidth. In this paper, we propose techniques to address these problems. We first extend the UIR-based approach to reduce the query latency. Then, we propose techniques to efficiently utilize the broadcast bandwidth based on counters associated with each data item. Novel techniques are designed to maintain the accuracy of the counter in case of server failures, client failures, and disconnections. Extensive simulations are provided and used to evaluate the proposed methodology. Compared to previous IR-based algorithms, the proposed solution can significantly reduce the query latency, improve the bandwidth utilization, and effectively deal with disconnections and failures.
{"title":"On the effectiveness of a counter-based cache invalidation scheme and its resiliency to failures in mobile environments","authors":"G. Cao, C. Das","doi":"10.1109/RELDIS.2001.970775","DOIUrl":"https://doi.org/10.1109/RELDIS.2001.970775","url":null,"abstract":"Caching frequently accessed data items on the client side is an effective technique to improve the performance of data dissemination in mobile environments. Classical cache invalidation strategies are not suitable for mobile environments due to the disconnection and mobility of the mobile clients. One attractive cache invalidation technique is based on invalidation reports (IRs). However, IR-based approach suffers from long query latency and it cannot efficiently utilize the broadcast bandwidth. In this paper, we propose techniques to address these problems. We first extend the UIR-based approach to reduce the query latency. Then, we propose techniques to efficiently utilize the broadcast bandwidth based on counters associated with each data item. Novel techniques are designed to maintain the accuracy of the counter in case of server failures, client failures, and disconnections. Extensive simulations are provided and used to evaluate the proposed methodology. Compared to previous IR-based algorithms, the proposed solution can significantly reduce the query latency, improve the bandwidth utilization, and effectively deal with disconnections and failures.","PeriodicalId":440881,"journal":{"name":"Proceedings 20th IEEE Symposium on Reliable Distributed Systems","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115807825","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}
Pub Date : 2001-10-28DOI: 10.1109/RELDIS.2001.969743
Feras Karablieh, R. Bazzi, Margaret Hicks
We consider the problem of heterogeneous checkpointing in distributed systems. We propose a new solution to the problem that is truly heterogeneous in that it can support new architectures without any information about the architecture. The ability to support new architectures without additional knowledge or custom configuration is an important contribution of this work. This ability is particularly useful in mobile settings in which there is no a priori knowledge of the potential machines on which the application might execute. Our solution supports execution in unknown settings as long as there is compiler support for the high-level language in which the application is written. We precisely define what it means for a particular solution to be heterogeneous and discuss the heterogeneity of our solution and other solutions. We use code instrumentation at the source code level to provide heterogeneous checkpointing and recovery.
{"title":"Compiler-assisted heterogeneous checkpointing","authors":"Feras Karablieh, R. Bazzi, Margaret Hicks","doi":"10.1109/RELDIS.2001.969743","DOIUrl":"https://doi.org/10.1109/RELDIS.2001.969743","url":null,"abstract":"We consider the problem of heterogeneous checkpointing in distributed systems. We propose a new solution to the problem that is truly heterogeneous in that it can support new architectures without any information about the architecture. The ability to support new architectures without additional knowledge or custom configuration is an important contribution of this work. This ability is particularly useful in mobile settings in which there is no a priori knowledge of the potential machines on which the application might execute. Our solution supports execution in unknown settings as long as there is compiler support for the high-level language in which the application is written. We precisely define what it means for a particular solution to be heterogeneous and discuss the heterogeneity of our solution and other solutions. We use code instrumentation at the source code level to provide heterogeneous checkpointing and recovery.","PeriodicalId":440881,"journal":{"name":"Proceedings 20th IEEE Symposium on Reliable Distributed Systems","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133018197","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}
Pub Date : 2001-10-28DOI: 10.1109/RELDIS.2001.969727
John R. Douceur, Roger Wattenhofer
Farsite is a secure, scalable, distributed file system that logically functions as a centralized file server but that is physically realized on a set of client desktop computers. Farsite provides security, reliability and availability by storing replicas of each file on multiple machines. It continuously monitors machine availability and relocates replicas as necessary to maximize the effective availability of the system. We evaluate several replica placement methods using large-scale simulation with machine availability data from over 50,000 desktop computers. We find that initially placing replicas in an availability-sensitive fashion yields pathological results, whereas very good results are obtained by random initial placement followed by incremental improvement using a scalable, distributed, fault-tolerant and attack-resistant hill-climbing algorithm. The algorithm is resilient to severe restrictions on communication and replica placement, and it does not excessively co-locate replicas of different files on the same set of machines.
{"title":"Optimizing file availability in a secure serverless distributed file system","authors":"John R. Douceur, Roger Wattenhofer","doi":"10.1109/RELDIS.2001.969727","DOIUrl":"https://doi.org/10.1109/RELDIS.2001.969727","url":null,"abstract":"Farsite is a secure, scalable, distributed file system that logically functions as a centralized file server but that is physically realized on a set of client desktop computers. Farsite provides security, reliability and availability by storing replicas of each file on multiple machines. It continuously monitors machine availability and relocates replicas as necessary to maximize the effective availability of the system. We evaluate several replica placement methods using large-scale simulation with machine availability data from over 50,000 desktop computers. We find that initially placing replicas in an availability-sensitive fashion yields pathological results, whereas very good results are obtained by random initial placement followed by incremental improvement using a scalable, distributed, fault-tolerant and attack-resistant hill-climbing algorithm. The algorithm is resilient to severe restrictions on communication and replica placement, and it does not excessively co-locate replicas of different files on the same set of machines.","PeriodicalId":440881,"journal":{"name":"Proceedings 20th IEEE Symposium on Reliable Distributed Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131341393","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}
Pub Date : 2001-10-28DOI: 10.1109/RELDIS.2001.970767
P. Urbán, X. Défago, A. Schiper
Fault tolerance can be achieved in distributed systems by replication. However Fischer, Lynch and Paterson (1985) have proven an impossibility result about consensus in the asynchronous system model, and similar impossibility results exist for atomic broadcast and group membership. We investigate, with the aid of an experiment conducted in a LAN, whether these impossibility results set limits to the robustness of a replicated server exposed to extremely high loads. The experiment consists of client processes that send requests to a replicated server (three replicas) using an atomic broadcast primitive. It has parameters that allow us to control the load on the hosts and the network, as well as the timeout value used by our heartbeat failure detection mechanism. Our main observation is that the atomic broadcast algorithm never stops delivering messages, not even under arbitrarily high load and very small timeout values (1 ms). So, by trying to illustrate the practical impact of impossibility results, we discovered that we had implemented a very robust replicated service.
{"title":"Chasing the FLP impossibility result in a LAN: or, How robust can a fault tolerant server be?","authors":"P. Urbán, X. Défago, A. Schiper","doi":"10.1109/RELDIS.2001.970767","DOIUrl":"https://doi.org/10.1109/RELDIS.2001.970767","url":null,"abstract":"Fault tolerance can be achieved in distributed systems by replication. However Fischer, Lynch and Paterson (1985) have proven an impossibility result about consensus in the asynchronous system model, and similar impossibility results exist for atomic broadcast and group membership. We investigate, with the aid of an experiment conducted in a LAN, whether these impossibility results set limits to the robustness of a replicated server exposed to extremely high loads. The experiment consists of client processes that send requests to a replicated server (three replicas) using an atomic broadcast primitive. It has parameters that allow us to control the load on the hosts and the network, as well as the timeout value used by our heartbeat failure detection mechanism. Our main observation is that the atomic broadcast algorithm never stops delivering messages, not even under arbitrarily high load and very small timeout values (1 ms). So, by trying to illustrate the practical impact of impossibility results, we discovered that we had implemented a very robust replicated service.","PeriodicalId":440881,"journal":{"name":"Proceedings 20th IEEE Symposium on Reliable Distributed Systems","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131112349","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}
Pub Date : 2001-10-28DOI: 10.1109/RELDIS.2001.969756
C. Fetzer, Zhen Xiao
Buffer overflow attacks are a major cause of security breaches in modern operating systems. Not only are overflows of buffers on the stack a security threat, overflows of buffers kept on the heap can be too. A malicious user might be able to hijack the control flow of a root-privileged program if the user can initiate an overflow of a buffer on the heap when this overflow overwrites a function pointer stored on the heap. The paper presents a fault-containment wrapper which provides effective and efficient protection against heap buffer overflows caused by C library functions. The wrapper intercepts every function call to the C library that can write to the heap and performs careful boundary checks before it calls the original function. This method is transparent to existing programs and does not require source code modification or recompilation. Experimental results on Linux machines indicate that the performance overhead is small.
{"title":"Detecting heap smashing attacks through fault containment wrappers","authors":"C. Fetzer, Zhen Xiao","doi":"10.1109/RELDIS.2001.969756","DOIUrl":"https://doi.org/10.1109/RELDIS.2001.969756","url":null,"abstract":"Buffer overflow attacks are a major cause of security breaches in modern operating systems. Not only are overflows of buffers on the stack a security threat, overflows of buffers kept on the heap can be too. A malicious user might be able to hijack the control flow of a root-privileged program if the user can initiate an overflow of a buffer on the heap when this overflow overwrites a function pointer stored on the heap. The paper presents a fault-containment wrapper which provides effective and efficient protection against heap buffer overflows caused by C library functions. The wrapper intercepts every function call to the C library that can write to the heap and performs careful boundary checks before it calls the original function. This method is transparent to existing programs and does not require source code modification or recompilation. Experimental results on Linux machines indicate that the performance overhead is small.","PeriodicalId":440881,"journal":{"name":"Proceedings 20th IEEE Symposium on Reliable Distributed Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130924397","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}