Dağıtık sistemlerde veri iletişimini kolaylaştırmak amacıyla geliştirilen Data Distribution Service (DDS), Object Management Group (OMG) tarafından tanımlanan bir veri merkezli iletişim standardıdır. DDS, özellikle yüksek güvenlik, düşük gecikme süresi ve yüksek veri hacmi gerektiren gerçek zamanlı sistemler için tasarlanmıştır. Yayıncı-abone (publish-subscribe) modelini temel alan bu yapı, verilerin doğrudan, aracı bir sunucuya ihtiyaç duymadan sistemler arasında paylaşılmasına olanak tanır. DDS, çeşitli alanlarda; endüstriyel otomasyon, hava trafik kontrolü, finansal sistemler ve askeri uygulamalar gibi yüksek güvenilirlik isteyen platformlarda kullanılmaktadır.
DDS Mimarisi ve Temel Bileşenler
DDS mimarisi, veri merkezli bir yaklaşım benimseyerek uygulamaları, verinin kimliği ve içeriği üzerinden birbirine bağlar. Bu yapının temelinde Global Data Space (GDS) kavramı yer alır. GDS, tüm verilerin ortak bir alanda yayıldığı, uygulamaların bu verileri okuyabildiği veya güncelleyebildiği bir sistem sunar.
Temel Bileşenler
- Domain Participant: DDS sistemine katılan uygulamaların temsilcisidir. Aynı domain içindeki katılımcılar arasında iletişimi sağlar.
- Publisher ve DataWriter: Verilerin GDS'ye yazılmasından sorumlu olan bileşenlerdir. Publisher, bir veya birden fazla DataWriter nesnesini yönetir.
- Subscriber ve DataReader: GDS'den veri okuyan bileşenlerdir. Subscriber, bir veya daha fazla DataReader'ı içerir.
- Topic: Paylaşılan verilerin isim, veri tipi ve QoS (Quality of Service) parametreleri ile tanımlandığı yapıdır.
Bu bileşenler, iletişim sürecinde uyumlu QoS ayarları ile birbirine bağlanır.
Gerçek Zamanlı Yayın-Abone Modeli
DDS, iletişimi gerçek zamanlı yayın-abone modeli ile gerçekleştirir. Bu modelde yayıncılar, belirli konular (topic) üzerinde veri yayımlar; aboneler ise ilgi duydukları konulara abone olarak ilgili verileri alır. Sistem tamamen bağlantısızdır ve aboneler ile yayıncılar birbirlerinden habersiz çalışabilir.
DDS mimarisinin şeması. (YZ ile çizilmiştir)
RTPS ve Ağ Protokolleri
DDS, verilerin ağ üzerinde taşınmasını sağlamak için Real-Time Publish-Subscribe (RTPS) protokolünü kullanır. RTPS, UDP üzerinden çalışarak bağlantısız, çok noktaya yayın (multicast) destekli iletişim sağlar. Bu protokol, düşük gecikme süreleri ile yüksek performanslı veri aktarımına imkan tanır. Özellikle multicast desteği, ağ kaynaklarının verimli kullanımını artırır.
DDS'nin Endüstriyel Kullanımı
DDS Mimarisi: Yayıncı, Abone ve Global Data Space arasındaki ilişkiyi göstermektedir. (YZ ile çizilmiştir)
Endüstriyel Otomasyon ve IEC 61499 Standardı
IEC 61499 standardı, dağıtık kontrol sistemleri için modüler ve olay tabanlı bir yapı sunar. DDS, bu standardın iletişim ihtiyaçlarını karşılamak amacıyla kullanılabilmektedir. IEC 61499'da yer alan Service Interface Function Block (SIFB) yapıları, DDS’nin Topic kavramı ile eşlenebilir. Böylece, kontrol sistemleri içinde veri alışverişi için karmaşık soket bağlantıları yerine basitleştirilmiş ve ölçeklenebilir bir yayın-abone mekanizması kurulabilir.
Yüksek Güvenlikli Ağlarda Kullanım
DDS, tek yönlü veri aktarımı gibi yüksek güvenlik gerektiren ağ sistemlerinde de kullanılmaktadır. Bu tür sistemlerde veri diyotları ile fiziksel olarak veri akışı yalnızca bir yönde sağlanır. DDS'nin bağlantısız ve veri merkezli doğası, tek yönlü iletişimde protokol dönüşümleri ve veri filtreleme gibi ek güvenlik önlemleri ile entegre çalışmaya uygundur.
Veri Diyotu Uygulamaları
Örneğin, bir güvenlikli ağdan izole bir ağa veri aktarımı yapılırken, DDS kullanılarak her veri parçası, ilgili Topic başlığı altında sınıflandırılır ve yalnızca yetkili veri okuyucularına iletilir. Böylece veri sızıntısı riski minimize edilir.
QoS Politikaları
DDS, farklı uygulamaların değişen gereksinimlerini karşılayabilmek için kapsamlı bir Quality of Service (QoS) yapılandırması sunar. QoS politikaları; veri teslim süresi, güvenilirlik düzeyi, kaynak kullanımı gibi kriterleri tanımlar.
Başlıca QoS Politikaları
- Durability: Verinin sonradan katılan abonelere ulaştırılıp ulaştırılmayacağını belirler.
- Reliability: Verinin güvenilir bir şekilde iletilip iletilmediğini tanımlar.
- Latency Budget: Kabul edilebilir gecikme süresini belirtir.
- Liveliness: Veri üreticisinin hala aktif olup olmadığını doğrular.
Bu esnek yapı, DDS'yi farklı uygulama alanlarında kullanılabilir kılar.