Özet:
Teknolojideki hızlı gelişmeler sayesinde, boyutları çok küçük, algılama, işleme ve haberleşme yeteneklerine sahip aygıtların, bir arada işbirliği içinde çalışarak, fiziksel dünyayı gözleme imkânı sunacak şekilde bir ağ oluşturmaları mümkün olmuştur. "Duyarga ağları" diye isimlendirilen bu ağlar, günümüzde bilgisayar dünyasının en hızlı gelişen ve en çok araştırma yapılan alanlarından biri haline gelmiştir. Bu ağların gelecekte, bugünkü kişisel bilgisayarlardan daha çok hayatımızın içine gireceği tahmin edilmektedir.Duyarga ağları, hedef ortama yerleştirildikten sonra, aygıtlara fiziksel olarak erişim pek çok durumda imkânsızdır. Bu yüzden, ağ üzerinde çalışan uygulamanın değiştirilmesi ihtiyacı doğarsa, bu işlem uzaktan yapılmalıdır. Duyarga ağlarının uzaktan programlanması anlamına gelen "kod yayma" konusunda çok az çalışma yapılmıştır ve bu alan gelişmeye çok açıktır.Bu tezde, duyarga ağları için etkin bir kod yayımı algoritması geliştirilmiştir. Duyarga ağlarının programlanması için bugüne kadar geliştirilmiş olan bütün algoritmalar, sürekli çalışan mekanizmalara sahiptir. Yeni bir program yüklenmemiş kararlı durumda bulunan bir ağda bile, düğümler belirli aralıklarla çevrelerine, üzerlerindeki programın versiyonu hakkında mesajlar yaymaktadır. Bu, duyarga ağlarında sınırlı ve değerli olan enerjinin ve bant genişliğinin boşuna harcanması anlamına gelmektedir.Süreklilik sorununun çözümü için, bütün düğümlerin güncellenmesinden sonra, kod yayımını durduracak bir mekanizma geliştirilmiştir. Algoritmanın temeli, kod yayımından önce, programlanacak düğümler arasında, sezgisel bir ağaç topolojisi oluşturmaya dayanmaktadır. Yavru düğümlerinin hepsinin güncellendiğini gören düğümler, kod yayma işlemine son vermektedir. Böylece ağacın en altındaki düğümler de güncellenince, kod yayımı tamamen durmaktadır.Geliştirilen kod yayma algoritmasının en önemli özelliklerinden biri, topoloji-duyarlı bir algoritma olmasıdır. Verimi artırmak için, önce en uygun ağ yapısı belirlenmekte ve kod yayma işlemi bu yapı üzerinde çalışmaktadır. Bu yaklaşımın verimi artırdığı ve ağa gönderilebilecek program sayısını iyileştirdiği, matematiksel olarak ispatlanmıştır. En uygun ağ yapısının belirlenmesinde gerekli olan parametreler, bu matematiksel analizden elde edilmiştir.Ağaç altyapısının, ağ kopmalarına karşı dayanıklı olmak üzere tasarlanmış, yayın tabanlı ve sürekli olan algoritmalara göre, sistemin toplam performansını geliştirdiği gösterilmiştir. Değişik algoritmalarla karşılaştırmalı sonuçlar alınabilmesi için, simülasyonlar yapılmıştır. Bu simülasyon sonuçları, yaklaşımın, var olan sürekli algoritmalara göre, enerji ve güncelleme maliyeti açısından daha iyi bir performans yakaladığını göstermiştir, aynı zamanda, başarı oranları ve ağ kopmaları dayanıklılığı açısından da karşılaştırılabilir sonuçlar elde edilmiştir.