Hareketli nesneler için dinamik RMI
Dynamic RMI for mobile objects
Yazar: GÖKSEL SARIKAYA
Danışman: PROF.DR. NADİA ERDOĞAN
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2006
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Bu tez çalısmasında, bir hareketli nesnenin ag üzerinde yer degistirmesinden sonra dahaberlestigi diger nesneler ile arasındaki bagların sürekliligini saglayan bir altyapıtasarlanmıs ve gerçeklenmistir. Dinamik RMI olarak adlandırılan bu altyapı sayesinde,nesneler yer degistirdikten sonra sistem dinamik olarak yeniden yapılandırılmaktadır.Uygulamaya saydam olarak gerçeklestirilen bu islemler sayesinde dagıtık uygulamaherhangi bir kesinti veya müdahale ile karsılasmadan çalısmasını sürdürebilmektedir.Örnegin, bir istemci?sunucu uygulamasında, istemci nesnelerinin sunucu metotlarınaerisimlerinin saydam bir sekilde gerçeklesmesi beklenir. Klasik RMI kullanımında,sunucunun yer degistirmesiyle saydamlık ilkesi çignenecektir çünkü istemcilerin sunucunesnenin yeni adresini edinip baglantının yeniden kurulması için girisimde bulunmalarıgerekecektir. Ancak Dinamik RMI altyapısı bütün bu islemleri kendiliginden yerinegetirir ve nesne hareketliliginin haberlesme üzerindeki olumsuz etkisini ortadan kaldırır.Böylece, uygulamada yer alan tüm nesneler birbirleriyle konumlarından bagımsızolacak sekilde haberlesmeyi sürdürürler; hareketlilik çalısmayı hiç bir sekilde etkilemez.Dinamik RMI, uygulama katmanı ile Java RMI katmanı arasında yer alacak sekildetasarlanmıstır.Ayrıca, bir nesnenin birden fazla kez yer degistirmesi sonucunda, kendisine ulasabilmekiçin birden fazla makine üzerinden atlamalı, görece uzun bir yolu izleme geregi ortayaçıkabilir. Tez kapsamında gelistirilen bir algoritma ile bu yol tek adımaindirgenebilmekte ve sistem basarımına önemli bir katkı saglanmaktadır. Bir örnekuygulama olarak ?Agda Yük Dengeleme? problemine hareketli nesneler ve DinamikRMI kullanılarak bir çözüm üretilmistir.Anahtar Kelimeler: RMI, Hareketl

Abstract:
In this thesis, a middleware structure, named Dynamic RMI, is designed andimplemented to provide uninterrupted connections among distributed components inthe presence of migration. Dynamic RMI takes the necessary actions for the dynamicreconfiguration of the system after migration of mobile objects. These operations arecarried out transparently to the application; therefore, using Dynamic RMI, distributedsystems can continue their execution without any disruption or interference. Forexample, in a classical client-server application, client needs to invoke remote methodsof a server transparently. With conventional RMI, if a server object migrates to anothermachine the transparency principle will be violated, as the clients need to acquire thenew address of the server object and must reconfigure their connections accordingly.However, the Dynamic RMI middleware automatically performs operations essential forthe reconfiguration of the system when an object migrates, without requiring any efforton the application side. As a result, objects can continue to communicate with otherobjects transparently and independently of their locations, and mobility doesn?t affectsystem integrity. Dynamic RMI is implemented as a middleware layer betweenapplication layer and the Java RMI layer.Further, as a mobile object moves from one location to another, this may result in a longpath that traverses several nodes between client and server objects. The greater thenumber of nodes with forwarding references to the server object, the greater is themethod invocation latency. Therefore, in this thesis, a path compression algorithm isalso designed to shorten such paths between clients and servers. An application,Network Load Balancing, has been implemented to demonstrate the use of mobileobjects and Dynamic RMI in a distributed application.Keywords: RMI, Mobile Objects, Distributed Object Middleware, Distributed Systems,Dynamic Reconfiguration