透過您的圖書館登入
IP:18.224.37.68
  • 學位論文

主動式網路上Java遠端方法呼叫之程式碼產生器設計

Design of a Code Generator for Java Remote Method Invocation on Active Networks

指導教授 : 楊正仁
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


在傳統的網路環境中,Java RMI提供程式設計師在分散式應用程式的開發及維護上較為節省人力的方式。然而在傳統點對點的網路模式上,當同一時間有大量的使用者需求增加時,會造成遠端伺服器的負載暴增以及網路擁塞等問題。這不但會讓使用者等待回應的時間變長,網路流量也會因此而消耗殆盡。 主動式網路是一個新的網路架構,在其中的主動式路由器能夠提供執行的使用者的程式碼,讓新的服務可以動態的佈建在網路上。主動式網路上Java遠端方法呼叫機制(ActiveRMI)是建構在ANTS主動式網路架構上提供Java RMI服務。透過建構在主動式路由器上的程式碼快取, ActiveRMI有三個優點:第一,使用者等待的時間會比傳統Java RMI的使用者等待時間短。第二,遠端伺服器的工作量可以被主動式網路上的主動式路由器所分擔。第三,使用者到遠端伺服器的網路流量也會減少。然而之前ActiveRMI並沒有提供足夠的程式設計工具讓程式設計師來開發其應用程式。這表示程式設計師必須親自設計有關ActiveRMI之應用程式需求的一切程式碼。 在本論文中,我們設計了ActiveRMI之程式碼產生器(ARMIGen)。透過此程式碼產生器,程式設計師能便利的設計ActiveRMI應用程式來佈建在主動式網路環境上。程式碼快取相關的程式碼也能夠經由此程式碼產生器自動的產生出來。我們測量了程式碼產生器生產主動式網路上Java遠端方法呼叫應用程式的時間,和這些應用程式的執行時間。從實驗結果得知產生出來的應用程式比程式設計師親自設計的應用程式的執行時間最多僅慢1.16\%。雖然目前的實驗結果僅是初步結果,但從實驗的評估上發現此程式碼產生器確實能夠幫助程式設計師便利和有效率的開發主動式網路上Java遠端方法呼叫應用程式。

並列摘要


Java RMI provides a convenient way for programmers to design distributed applications in traditional networks. However, this paradigm suffers from a centralized bottleneck problem when many clients simultaneously send a large number of requests to the server. The server will deny or postpone further requests due to its heavy workload. Furthermore, the traffic in the path between the clients and the server is intensively congested. Therefore, not only the response time is lengthy, but also the network bandwidth along the path is completely consumed. Active networks provide a new network infrastructure that the routers (active routers) in active networks can execute user-customized code to deploy new services. ActiveRMI implements Java RMI protocol on ANTS. With code caches on active routers, ActiveRMI achieves three improvements. First, the user response time are reduced in ActiveRMI compared with the traditional Java RMI. Second, the server workload is shared with the active routers. The centralized bottleneck problem is alleviated. Third, the amount of network traffic between the clients and the RMI server is reduced because the active routers act as the agents to intercept client requests and satisfy remote services immediately. However, in the early development ActiveRMI has not provide enough programming tools to assist programmers in code writing. If they want to develop ActiveRMI applications, they must hand-code the applications with text editors. In this thesis, we report the design of a code generator called ARMIGen. Programmers can use ARMIGen to conveniently develop ActiveRMI applications to deploy on active networks. ARMIGen also generates the related code of code caches automatically. We evaluate the generation time and the execution time of the generated ActiveRMI applications. The preliminary experimental results show that the performance of the generated code is comparable to the performance of the hand-written code. Form these results, ARMIGen can help programmers to design ActiveRMI applications effectively and efficiently.

並列關鍵字

Active networks Code generator Java RMI ActiveRMI

參考文獻


[2] David L. Tennenhouse, Jonathan M. Smith,W. David Sincoskie, David J.Wetherall,
and Gary J. Minden. “A Survey of Active Network Research.” IEEE Communications
Magazine, pages 80—86, January 1997.
[3] Cheng-Zen Yang and Chien-Wen Chen. “Issues on the RPC Paradigms in Active
September 2002.

延伸閱讀