WEKO3
アイテム
A study on Fine-grained Replications of Distributed Java Applications
https://ir.soken.ac.jp/records/863
https://ir.soken.ac.jp/records/86312e15a08-1192-475c-adf9-1074b62badac
名前 / ファイル | ライセンス | アクション |
---|---|---|
要旨・審査要旨 (337.1 kB)
|
||
本文 (11.0 MB)
|
Item type | 学位論文 / Thesis or Dissertation(1) | |||||
---|---|---|---|---|---|---|
公開日 | 2010-02-22 | |||||
タイトル | ||||||
タイトル | A study on Fine-grained Replications of Distributed Java Applications | |||||
タイトル | ||||||
タイトル | A study on Fine-grained Replications of Distributed Java Applications | |||||
言語 | en | |||||
言語 | ||||||
言語 | eng | |||||
資源タイプ | ||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_46ec | |||||
資源タイプ | thesis | |||||
著者名 |
BANDITWATTANAWONG, Thepparit
× BANDITWATTANAWONG, Thepparit |
|||||
フリガナ |
ゼパリット, バンディトワッタナウォング
× ゼパリット, バンディトワッタナウォング |
|||||
著者 |
BANDITWATTANAWONG, Thepparit
× BANDITWATTANAWONG, Thepparit |
|||||
学位授与機関 | ||||||
学位授与機関名 | 総合研究大学院大学 | |||||
学位名 | ||||||
学位名 | 博士(情報学) | |||||
学位記番号 | ||||||
内容記述タイプ | Other | |||||
内容記述 | 総研大甲第1053号 | |||||
研究科 | ||||||
値 | 複合科学研究科 | |||||
専攻 | ||||||
値 | 17 情報学専攻 | |||||
学位授与年月日 | ||||||
学位授与年月日 | 2007-03-23 | |||||
学位授与年度 | ||||||
値 | 2006 | |||||
要旨 | ||||||
内容記述タイプ | Other | |||||
内容記述 | In distributed object systems, object-oriented (OO) applications are repli-<br />cated from remote servers to client sites to improve performance, scala-<br />bility, and availability. This study focuses on fine-grained replications of <br />distributed OO applications. Unlike the traditional replication scheme by <br />which a self-contained application is replicated entirely at once, the fine <br />grained replication scheme enables partial and on-demand incremental<br />replications of self-contained applications. <br /><br />Fine-grained replications can be classified into two categories based on <br />their deployment patterns: 1) replicating running applications for local <br />accesses and 2) downloading application programs from persistent repos-<br />itories for local executions. Based on the classification, the study has <br />proposed a pair of finegrained replication middlewares: one aims for the <br />fine-grained replications of remote runtime applications, and the other <br />aims for the partial and on-demand incremental downloadings of applica- <br />tion programs. <br />In addition, to exploit the fine-grained replications effectively requires a <br />proper means to figure out application portions as the units of replication. <br />The study has proposed object class clustering algorithms to support the <br />use of the latter middleware, while showing that object clustering, which <br />is used to support the former middleware, can be performed based on <br />programmer's application knowledge. <br />The details of the middlewares and the class clustering algorithms are <br />summarized individually as follows.<br /> <br />Fine-grained replication of runtime application: Replicating re- <br />mote application objects to user locality is a common technique to reduce <br />the effects of network problem. The traditional replication scheme is not <br />suitable for cooperative applications because only part of a shared appli- <br />cation rather than a whole application should be replicated. Furthermore, <br />the scheme is not appropriate for mobile computing devices due to their <br />common constraints of memory spaces. Both problems can be addressed <br />by using a finegrained replication scheme by which the portions of a self- <br />contained application can be replicated. <br />Since most object replication systems exploit the traditional replication <br />scheme, to fulfil fine-grained replication is an unexperienced task for sev- <br />eral application programmers. There exist few middlewares that support <br />runtime fine-grained replications of OO applications. All of them aim for <br />peer-to-peer applications in which objects that constitute a self-contained <br />application are decomposed and distributed among peers. Therefore, <br />peers that hold master copies of the application objects must always be <br />reachable by other peers to replicate the master copies. This is not suitable <br />for pervasive collaboration because the servant peers (e.g., mobile users) <br />can get disconnected arbitrarily or be unreachable due to network parti- <br />tioning. Instead, using dedicated servers to maintain the master copies of <br />applications is more appropriate. Unfortunately, no fine-grained. replica- <br />tion middleware is designed for a client-server model. <br /><br />This dissertation presents SOOM, a Java-based middleware for perva- <br />sive client-server cooperative applications. SOOM provides fine-grained <br />replication capability for clients in wide-area networks or on the Internet <br />and allows clients in local area network to exploit a conventional remote <br />method invocation mechanism in coordination with the fine-grained repli- <br />cation. SOOM also supports fine-grained concurrent access control and <br />update synchronization. To realize the middleware, several challenge re- <br />search probleins have been identified and resolved. <br />An application for cooperative software modeling has been developed to <br />assure the practical applicability of SOOM and demonstrate the practi- <br />cality of finegrained replication scheme, finegrained consistency mainte <br />nance, and the coexistence of fine-grained replications and remote method <br />invocations in client-server environment. The quantitative properties of <br />SOOM were measured through the following empirical evaluations. First, <br />experiments in singleuser and multi-user environments based on different <br />consistency protocols indicated the practical throughputs of SOOM-based <br />application. Second, throughout accessing all member objects of a bench- <br />mark cluster showed that SOOM-based replication began to outperform <br />Java RMI when each object was accessed locally more than twice. Third, <br />an experiment using the varied numbers of client processors assured the <br />scalability of SOOM. Finally, an experiment on the memory space require <br />ment showed that SOOM could reduce the significant amount of client <br />memory space consumption as well as network bandwidth. <br /><br />Fine-grained replication of application program: OO applications <br />have been distributed more and more over the Internet. Deploying an ap- <br />plication by retrieving the entire program from a remote repository such <br />as HTTP server often encounters extended delay due to network conges- <br />tion or large program size. Many times system resources, such as network <br />bandwidth and client memory space, are also wasted because users do <br />not utilize every component of the downloaded applications. Moreover, <br />downloading a whole program at once is usually impractical for mobile <br />computing devices due to their memory space constrains. <br />These problems can be addressed by decomposing a program into groups <br />of classes and data resources to be downloaded on demand. <br />This dissertation presents C<sup>2</sup>, a Java-based middleware by which a Java <br />application can be partially and on-demand incrementally deployed via <br />HTTP. The middleware also supports application caching and transpar- <br />ently automatic updating. <br />The launching delay of an experimented application was found to be re <br />duced by 83% from that of the traditional whole-at-once application de- <br />ployment scheme. Total program deployment and execution overhead was <br />22% less than that of Java Web Start.<br /> <br />Object class clustering approach: It is typical that only part of whole <br />program code is necessary for successfu1 execution. Decomposing an OO <br />program into clusters of closely relevant classes and data resources for <br />on-demand incremental loading optimizes the program start-up latency <br />and system resource consumption. The lack of systematic yet simple class <br />clustering approach prohibits this kind of optimization. <br />This dissertation presents a Java class clustering approach that is capa- <br />ble of improving both spatial locality and temporal affinity of the opti- <br />mized programs. The approach provides two clustering algorithms: initial <br />delay-centric and intermittent delay-centric ones, to achieve different re <br />quirements of optimizations.<br /> <br />Experimental results indicated that the algorithms were practically use- <br />ful to both interactive programs and non-interactive programs. Among <br />the tested Java programs, using the initial delay-centric algorithm and <br />the intermittent delay-centric algorithm improved initial program loading <br />latencies on average by 2.9 and 2.2 times respectively faster than the tra- <br />ditional wholeat-once program loading scheme. The intermittent delay- <br />centric algorithm reduced the number of intermittent delays to half of the <br />initial delay-centric algorithm. Both algorithms also led to the chances <br />to economize on system resources, such as memory spaces and network <br />bandwidths. <br /> | |||||
所蔵 | ||||||
値 | 有 | |||||
フォーマット | ||||||
内容記述タイプ | Other | |||||
内容記述 | application/pdf |