A study on fine-grained replications of distributed Java applications A study on Fine-grained Replications of Distributed Java Applications

この論文にアクセスする

この論文をさがす

著者

    • Banditwattanawong, Thepparit バンディットワットタナウォン, テッパリット

書誌事項

タイトル

A study on fine-grained replications of distributed Java applications

タイトル別名

A study on Fine-grained Replications of Distributed Java Applications

著者名

Banditwattanawong, Thepparit

著者別名

バンディットワットタナウォン, テッパリット

学位授与大学

総合研究大学院大学

取得学位

博士 (情報学)

学位授与番号

甲第1053号

学位授与年月日

2007-03-23

注記・抄録

博士論文

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 />

application/pdf

総研大甲第1053号

10アクセス

各種コード

  • NII論文ID(NAID)
    500000412227
  • NII著者ID(NRID)
    • 8000000413493
  • 本文言語コード
    • eng
  • NDL書誌ID
    • 000009167018
  • データ提供元
    • 機関リポジトリ
    • NDL ONLINE
ページトップへ