{"title":"Design of the Kan distributed object system","authors":"J. James, Ambuj K. Singh","doi":"10.1002/1096-9128(200007)12:8%3C755::AID-CPE508%3E3.0.CO;2-M","DOIUrl":null,"url":null,"abstract":"Distributed software problems are often addressed with obj ect-oriented solutions. Objects provide the benefits of encapsulation and abstraction that have prov en useful in managing the complexity of sequential code. However, the management of distributed ob jects is typically by means of complex APIs, such as CORBA, DCOM, or Java RMI. The complexity of the A PIs is itself a hurdle to the writing of efficient, robust programs. An alternate approach is to pr ovide the programmer with a simple interface to an underlying object management layer that provides effic i nt access to objects and sufficient power for common distributed programming tasks. This paper describes the implementation of the Kan system. I t has a clear, simple object model with powerful semantics, embodying such concepts as atomic tran sactions, asynchronous method calls, and multithreading. The model primitives help the programmer a void common concurrent programming errors, allowing clean expressions of concurrent algorithms . Kan providesdistributedobjects (i.e., objects that can migrate or be replicated), rather than the remoteobjects of Java RMI. Nevertheless, Kan optimizations provide runtime object accesses that are as effici ent as or more efficient than accesses made to a similar distribution control layer over Java RMI. We des cribe the optimizations and measure their runtime impacts.","PeriodicalId":199059,"journal":{"name":"Concurr. Pract. Exp.","volume":"133 6 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"11","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Concurr. Pract. Exp.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1002/1096-9128(200007)12:8%3C755::AID-CPE508%3E3.0.CO;2-M","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 11
Abstract
Distributed software problems are often addressed with obj ect-oriented solutions. Objects provide the benefits of encapsulation and abstraction that have prov en useful in managing the complexity of sequential code. However, the management of distributed ob jects is typically by means of complex APIs, such as CORBA, DCOM, or Java RMI. The complexity of the A PIs is itself a hurdle to the writing of efficient, robust programs. An alternate approach is to pr ovide the programmer with a simple interface to an underlying object management layer that provides effic i nt access to objects and sufficient power for common distributed programming tasks. This paper describes the implementation of the Kan system. I t has a clear, simple object model with powerful semantics, embodying such concepts as atomic tran sactions, asynchronous method calls, and multithreading. The model primitives help the programmer a void common concurrent programming errors, allowing clean expressions of concurrent algorithms . Kan providesdistributedobjects (i.e., objects that can migrate or be replicated), rather than the remoteobjects of Java RMI. Nevertheless, Kan optimizations provide runtime object accesses that are as effici ent as or more efficient than accesses made to a similar distribution control layer over Java RMI. We des cribe the optimizations and measure their runtime impacts.