Aşama1: Ekran görüntüsünü al.
Aşama2: Alınan görüntünün çözünürlüğünü azalt.
Aşama3: Ekran görüntüsünü, özel sıkıştırma algoritmaları sayesinde minimum kapasiteye getir.
Aşama4: Ekran görüntüsünü tabletlere aktar.
Aşama5: İstenilen durumlarda tabletlerde ki görüntüyü masaüstü bilgisayara aktar.
Eğer alınan ekran görüntüsünün kapladığı alan çok fazla ise veri yollama işlemi çok uzun sürebilir. Bu yüzden alınan ekran görüntüsü önce yeniden boyutlandırılır (resize) ve veri yollama işlemi sonra gerçekleştirilir. Böylece; veri yollama sürecinden tasarruf edilmiş olur.
Masaüstü bilgisayar görüntüsü, eş zamanlı olarak, tabletlere aktarılır. Bu sayede masaüstü bilgisayar ile tabletler arasında senkronizasyonlu görüntü alışverişi sağlanmış olur. Bu işlemler bir masaüstü ve tablet bilgisayarlar için çift taraflı olarak gerçekleştirilir.
Uygulamanın donanımsal alt yapısında ise; Java programlama dili ile hizmet sunan bir masaüstü bilgisayar ve android programlama dili tabanlı istemciler kullanılır. Windows tabanlı işletim sistemi maksimum 16 adet tablet bilgisayara izin verdiğinden toplam 16 adet client mevcut olabilir.
Verinin türü ne olursa olsun, veri içerisinde depolama ve iletmeyi zorlayan öğeler barındırır. Veri sıkıştırma tekniklerindeki amaç; veriyi sıkıştırarak içerisindeki fazlalıkları atıp hacmini küçültmektir. Veri sıkıştırmada kullanılan yöntemler sıkıştırılacak olan verinin türüne göre seçilir. Minimum alana maksimum veri sıkıştırmak, daha hızlı aktarım sağlamak ve erişim süresini azaltmak gibi sebeplerden dolayı veri sıkıştırmaya ihtiyaç duyulur. Elias kodlaması, LZW sıkıştırma algoritması, delta sıkıştırması gibi birçok veri sıkıştırma metodu vardır. Çalışmamızda; sıkıştırma algoritması olarak, Huffman algoritması tercih edilmiştir. Huffman algoritması; bir veri kümesinde daha çok rastlanan sembolü daha düşük uzunluktaki kodla, daha az rastlanan sembolleri daha yüksek uzunluktaki kodlarla temsil etme mantığı üzerine kurulmuştur [5]. Bu mantıkla alınan ekran görüntüsüne ait her pikselin renk kodu bir veri biti dizisi oluşturup bu veri biti dizisi tekrarlanan değişkene dayanarak Huffman algoritması yardımı ile sıkıştırılır [6]. Uygulamada alınan ekran görüntüsünde aynı renk değerini tutan piksel sayısı tekrarı çok fazla olduğundan; bu çok tekrarlanan değer kayıpsız ve bozulmamış bir şekilde en iyi Huffman algoritması ile sıkıştırılabileceğinden uygulamamızda tercih edilmiştir.
Uygulamada soket programlama mantığı kullanılmıştır. Soketler aynı bilgisayardaki ya da farklı bilgisayarlardaki iki farklı sistemin haberleşmesini sağlayan sistemlerdir [7]. İstemci-sunucu mantığı ile çalışır. İstemci, veriyi isteyen soket programıdır. Sunucuya bağlanır, isteğini iletir, bağlantısını yapar. Sunucu ise veriyi veren soket programdır. İstemi alıp değerlendirir, gerekli yanıtı istemciye iletir. Sunucunun istemine herhangi bir anda yanıt verebiliyor durumda olması için devamlı çalışması gerekir. Soketler, internet bağlantınızın ve diğer bağlantıların arasında duran soyut birimlerdir.
Java programlama dilinin en önemli özelliklerinden biri de çoklu işlem (multithread) mimarisini destekliyor olmasıdır [9]. Bu mimari, bir bilgisayar programının komutlarının icrasının kontrolünü ve iyileştirilmesini sağladığı için bilgisayar bilimleri açısından çok güçlü ve hatırı sayılır bir gerçekleştirim olarak değerlendirilmelidir [9]. Çoklu işlem içinde çoklu veri iletimi ve uzaktan kontrol kavramlarını barındırır. Çalışmamızda, çoklu işlem yapısı bu yüzden tercih edilmiştir.