Hareketli Nesneler İçin Dinamik Rmı

thumbnail.default.placeholder
Tarih
Yazarlar
Sarıkaya, Göksel
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
Fen Bilimleri Enstitüsü
Institute of Science and Technology
Özet
Bu tez çalışmasında, bir hareketli nesnenin ağ üzerinde yer değiştirmesinden sonra da haberleştiği diğer nesneler ile arasındaki bağların sürekliliğini sağlayan bir altyapı tasarlanmış ve gerçeklenmiştir. Dinamik RMI olarak adlandırılan bu altyapı sayesinde, nesneler yer değiştirdikten sonra sistem dinamik olarak yeniden yapılandırılmaktadır. Uygulamaya saydam olarak gerçekleştirilen bu işlemler sayesinde dağıtık uygulama herhangi bir kesinti veya müdahale ile karşılaşmadan çalışmasını sürdürebilmektedir. Örneğin, bir istemci–sunucu uygulamasında, istemci nesnelerinin sunucu metotlarına erişimlerinin saydam bir şekilde gerçekleşmesi beklenir. Klasik RMI kullanımında, sunucunun yer değiştirmesiyle saydamlık ilkesi çiğnenecektir çünkü istemcilerin sunucu nesnenin yeni adresini edinip bağlantının yeniden kurulması için girişimde bulunmaları gerekecektir. Ancak Dinamik RMI altyapısı bütün bu işlemleri kendiliğinden yerine getirir ve nesne hareketliliğinin haberleşme üzerindeki olumsuz etkisini ortadan kaldırır. Böylece, uygulamada yer alan tüm nesneler birbirleriyle konumlarından bağımsız olacak şekilde haberleşmeyi sürdürürler; hareketlilik çalışmayı hiç bir şekilde etkilemez. Dinamik RMI, uygulama katmanı ile Java RMI katmanı arasında yer alacak şekilde tasarlanmıştır. Ayrıca, bir nesnenin birden fazla kez yer değiştirmesi sonucunda, kendisine ulaşabilmek için birden fazla makine üzerinden atlamalı, görece uzun bir yolu izleme gereği ortaya çıkabilir. Tez kapsamında geliştirilen bir algoritma ile bu yol tek adıma indirgenebilmekte ve sistem başarımına önemli bir katkı sağlanmaktadır. Bir örnek uygulama olarak “Ağda Yük Dengeleme” problemine hareketli nesneler ve Dinamik RMI kullanılarak bir çözüm üretilmiştir.
In this thesis, a middleware structure, named Dynamic RMI, is designed and implemented to provide uninterrupted connections among distributed components in the presence of migration. Dynamic RMI takes the necessary actions for the dynamic reconfiguration of the system after migration of mobile objects. These operations are carried out transparently to the application; therefore, using Dynamic RMI, distributed systems can continue their execution without any disruption or interference. For example, in a classical client-server application, client needs to invoke remote methods of a server transparently. With conventional RMI, if a server object migrates to another machine the transparency principle will be violated, as the clients need to acquire the new address of the server object and must reconfigure their connections accordingly. However, the Dynamic RMI middleware automatically performs operations essential for the reconfiguration of the system when an object migrates, without requiring any effort on the application side. As a result, objects can continue to communicate with other objects transparently and independently of their locations, and mobility doesn’t affect system integrity. Dynamic RMI is implemented as a middleware layer between application layer and the Java RMI layer. Further, as a mobile object moves from one location to another, this may result in a long path that traverses several nodes between client and server objects. The greater the number of nodes with forwarding references to the server object, the greater is the method invocation latency. Therefore, in this thesis, a path compression algorithm is also designed to shorten such paths between clients and servers. An application, Network Load Balancing, has been implemented to demonstrate the use of mobile objects and Dynamic RMI in a distributed application.
Açıklama
Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2006
Thesis (M.Sc.) -- İstanbul Technical University, Institute of Science and Technology, 2006
Anahtar kelimeler
RMI, Hareketli Nesneler, Dağıtık Nesne Orta Katmanı, Dağıtık Sistemler, Dinamik Yapılandırma, RMI, Mobile Objects, Distributed Object Middleware, Distributed Systems, Dynamic Reconfiguration
Alıntı