BAĞ3 protokolü için grup iletişim yöntemleri tasarımı /
Yazar: TANER DURSUN
Danışman: DOÇ. DR. MEHMET BÜLENT ÖRENCİK
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Kontrol ve Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 1998
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: BAĞ3 projesi = BAĞ3 project ; Grup iletişimi = Group communication

Özet:
ÖZET Güvenilir dağıtılmış sistem araştırmaları, bir anda birçok ucun birbiri ile iletişimini sağlayan oturumların gerçeklenmesini zorunlu hale getirdi. Dağıtılmış veritabanlarının güncellenmesi, ses ve video konferansı, dağıtılmış oyunlar ve dağıtılmış etkileşimli modelleme gibi uygulamalar, bu tür oturumların kullanıldığı uygulamalara örnek oluşturur. Bu tür oturumları sağlamak için, üzerinde uygulamalar çalışan ağın, grup iletişim desteği içermesi gerekir. Bir ağın içerisine gömülmüş, grup iletişim mekanizmaları, o ağı bilgisayar dünyasında ayrıcalıklı bir konuma getirir. Grup iletişimi, bir alıcı kümesi içerisinde verinin kopyasının dağıtılmasıdır. Grup iletişimi yapılan sistemlerde, birden çok uygulama, bir oturum kapsamında bir araya gelir. Grup iletişiminin özel bir hali olan çoklu erişim yönteminde, bir kaynak uygulama, verinin kopyasını belirlenmiş hedef düğümlere gönderilir. 1993'te başlayıp 1996 sonlarında tamamlanan TÜBİTAK EEEAG-BAĞ3 projesinde, dağıtılmış gerçek zamanlı çok işlemcili mimariler için hiyerarşik bir arabağlaşım ağı modeli geliştirilmiştir. Proje kapsamında gerçekleştirilen iletişim yazılım ve donanımı, gerçek zamanlı dağıtılmış sistemlerin altında çalışabilecek bir ağ ortamı oluşturur. BAG3 projesinde gerçekleştirilen sistem, katmanlı yapıdadır. OSI (Open System Interconnection) modeline göre sınıflanırsa, bu katmanlar, oturum, ulaşım ve ağ hizmet katmanıdır. BAĞ3 ağının üzerinde çalıştırılan uygulamanın görevleri arasındaki bilgi alışverişi, oturum katmam tarafından oluşturulan, bağ denilen mantıksal iletişim birimleri üzerinden gerçekleşir. Sistemde merkezi bir veritabanında, bu bağlar hakkında bilgi tutulur. Oturum katmanının altında, yüksek hızlı iletişim ortamlarına uygun olarak tasarlanan ulaşım katmam, bağlantıya dayalı hizmet verir. İletişim ağı, birbirine bağlı hiyerarşik FDDI halkaları ile oluşturulmuştur. Ağ hizmet katmanı, ulaşım katmam ile iletişim ağı arasında bir arayüz oluşturur. Bu tezde, BAĞ3 projesi kapsamında gerçekleştirilen sistem içinde, grup iletişimine destek vermek amacıyla gerekli yazılım eklemelerinin tasarlanması üzerinde çalışılmıştır. BAĞ3 yapısı içerisinde, grup iletişim yöntemi olarak, çoklu erişim seçilmiştir. Bu amaçla, günümüz bilgisayar ağlarında kullanılan grup iletişim yöntemleri üzerinde bir araştırma yapılmıştır. Bu araştırma ışığı altında, oturum katmam bağlan kullanılarak yazılımla çoklu erişim gerçeklenmesi temeline dayana, altı değişik öneri ortaya sürülmüştür.

Abstract:
SUMMARY DESIGN OF GROUP COMMUNICATION MECHANISMS FOR BAG3 PROTOCOL In TÜBİTAK EEEAG-BAG3 project, a Communication Unit(CU) which provides reliable and real-time communication services for the "client" processes have been implemented. The aim of this thesis is to design group communication mechanism for the communication units. The interconnection network which connects the CU to each other is made of FDDI rings. The structure of the network is shown in Figure 1. An FDDI station in this network consists of a communication unit, which gives real-time communication service to a processor. The Communication Unit consists of the following parts:. The Session Layer (SL) : It provides real time, connection oriented communication services to user processes. A unidirectional communication path is established between a sender client process and a receiver client process. This path is called a link. It also supports process migration.. The Transport Layer (TL) : It offers to the Session Layer a real-time, error-free, and connection oriented transport service.. The Network Service Layer (NSL) : It provides connectionless communication and routing services for the TL and MU in a multi-FDDI ring network.. The Management Unit (MU) : It is responsible for managing the CU and tuning some FDDI parameters by working with the MUs of other CUs in the ring. The NSL matches to the three bottom layers of OSI layered network model. The basis of the NSL is FDDI protocol. The sublayers of the NSL are explained below:R : Router CU: Communication Unit Figure 1. Overview of the Interconnection Network The Physical Layer (PL): This layer is functionally equivalent to the Physical Layer and Physical Medium Dependent (PMD) of the standard. The Medium Access Control Layer (MAC): MAC schedules and performs all data transfers on the ring based on the timed token protocol of FDDI standard. This layer has been implemented by using an FDDI card with National Semiconductor's FDDI Media Access Controller and System Interface DP 83266 chip (MACSI) and 256KB SRAM memory on it. The Routing and Frame Control Layer (R&FCL): The main function of the R&FCL is to build the FDDI frame from the Service Data Units (SDU) of the Transport Layer, and write them to the related outgoing frame queue of MAC. The R&FCL locates the target processor using the destination NSAP (NSL Service Access Point) address, and determines the destination MAC address of the FDDI frame. Than the frame type is determined to be synchronous or asynchronous depending on the priority and the time- critical nature of data. The frame that is built is inserted to one of the two outgoing frame queues of MAC. Frames, which come from MAC are placed to one of the appropriate primitive queues of the Transport Layer depending on their synchronous or asynchronous types. The layered structure of the CU and a router is shown in Figure 2. IXInterface to Client ProcessesLiter&ce to ft ' Client Processes Figure 2. Layered Software Structure of the CU and of a Router The main function of the router is to direct and send the data packets between different FDDI rings. The router has a PL and MAC for each ring it is connected to but has only one R&FCL, which performs the routing of data packets. Group communication supports information transfer between a set of participants. It is becoming more and more relevant in distributed environments. Research in reliable distributed systems has led to realize the need for multipoint communications. For some types of multimedia applications, it is the only way to control data transmission to group members. The term multipoint refers in general to all forms of communication with multiple participants, regardless of semantic while the term multicast has been used to denote point-to-multipoint communication. Many multipoint applications such as e-mail, file distribution including file replication on mirrored sites, and Internet news distribution were developed assuming only point-to- point network support. But, new generation applications including video distribution, video conferencing, distributed games, replicated database update, distributed computing, distributed interactive simulation, introduce new requirements in data transmission. Theserequirements have led network developers to realize the multipoint communication mechanism in their networks. In this thesis, we propose six methods which can be used for group communication in the BAĞ3 protocol. Firstly, we have surveyed protocol functions and mechanisms for data transmission within a group. We have examined group communication mechanisms in the protocols mostly referenced. As a result of this survey, we have chosen the multicast method as the group communication mechanism in the BAĞ3 protocol. In order to realize multicast in the group communication methods we proposed, point-to- multipoint session is established by using the Session Layer's links. In a multicast session, from the sender to the receivers, a set of links are established. In each propose, the management of these links, is given to different entity (Client process, SL, A Multicast Server). In order to map the multicast address to the receivers' address, we used a mapping table. This table is implemented by using linked lists. The location of this mapping table determines the character of the management of the group communication. As this table is located in central place, any potential receiver can learn the existence of a multicast session and send a join message to be a member of that session. Any participant can decide whether and when it wishes to join or leave the session. The join and leave operations are simple, with no side effect on the other participants. The sender process of a multicast session, can reject or accept the join wishes. A process can be members of a lot of multicast sessions simultaneously. In our methods, the Communication Unit is not responsible for providing initial receiver for a multicast session, and determining group management strategies. An external mechanism,for example client process, must provide some group management parameters and receivers' address. The Communication Unit is responsible for reliable transmission of the multicast data given by client process to the receivers' set. Data transmission in a multicast session is unidirectional. Also, the roles in a multicast session can not change, that's there is only one sender, starting the session and sending data, until end of the session. We used multicast channel numbers to specify the multicast sessions. A multicast channel number matches a number of session layer links. Allocation of the multicast channel numbers to the session is managed by the entity on which the mapping table is located. After establishing the multicast session, the sender process uses the multicast channel number as a destination address. The conversion from this number to the link numbers which connects the sender to the receivers is realized by using the multicast channel table. XIIn this thesis, we designed the structures to implement a group communication mechanism operating as mentioned above. By using the one to many form group communication support designed, many to many group communication sessions can be implemented. In a many to many session, each sender must establish links to the other group members. Therefore, in the network, a mesh composed with the session layer links is established. xu