Bilgisayar Destekli Tasarım (CAD) sistemlerinin monolitik masaüstü uygulamalarından bulut tabanlı işbirlikçi platformlara evrimi, geometrik tutarlılık ile etkileşimsel gecikme arasındaki temel gerilimle tarihsel olarak mücadele etmiştir. İlk web tabanlı CAD araçları, PostgreSQL veritabanları ve WebSocket yayınına bağımlıydı ve 100-300ms gidiş-dönüş gecikmeleri yaratıyordu; bu, VR/AR ortamlarında hareket hastalığına neden olarak yaratıcılığı kesintiye uğratıyordu. Temel mimari zorluk, yüzlerce geometrik primitif (zirveler, kenarlar, yüzler) için yazar durumunu korurken, coğrafi olarak dağılmış kullanıcılar tarafından aynı anda topolojik değişikliklere izin vermektedir.
Çözüm, ağ topolojisinin izin verdiği yerlerde akranlar arası durum uzlaşması için WebRTC veri kanallarından yararlanan hiyerarşik bir kenar bilişim topolojisi gerektirir; güvenlik duvarı geçişi için gRPC ağ geçitlerine QUIC protokülü üzerinden geri dönme ve yeni bir hibrit tutarlılık modeli. Bu model, sıkı bir sıralama gerektiren yüksek düzeyde parametrik işlemler (skeç kısıtlamaları, özellik ağaçları) için Operasyonel Dönüşüm (OT) kullanırken, toplu birleşimin yeterli olduğu yerlerde mesh geometrisi zirve tamponları için Delta-State CRDT'ler kullanır. Envoy Proxy yan hizmetleri, yerel erişim kontrolü uygulamak için kenar düğümlerinde önbellekli OPA (Açık Politika Aracı) politikaları aracılığıyla yönetir, bu da küresel yetkilendirme hizmetlerine gidip gelme işlemlerini ortadan kaldırır. Sürekli oturum durumu, tasarım projesine göre bölümlenmiş Apache Kafka konularına akıtılır ve asenkron uzlaşma ile bağlantı kurulduğunda genişletilmiş çevrimdışı çalışma olanağı sağlar.
Bir çok uluslu otomotiv üreticisi, tasarım ekipleri için Münih, Detroit ve Tokyo genelinde işbirlikçi bir sanal gerçeklik platformu kurmaya çalıştı. Mühendislik zorluğu, 20 milisaniyedeki herhangi bir gecikmenin simülatör hastalığına neden olduğu ve sürüklenmeyi yok ettiği Meta Quest Pro başlıkları kullanarak 50 tasarımcının aynı anda yüksek sağlamlıkta araç gövde panelleri heykel yapmasını sağlamaktı. İlk prototip, video akışlarını AWS EC2 örneklerinde Virginia'da kodlayarak ve piksel görüntülerini dünya çapında başlıklara göndererek merkezi bir Unity Render Streaming mimarisi kullandı. Bu yaklaşım, geometrik tutarlılığı garanti etti ancak 180ms hareketten fotoğrafa gecikme sundu, bu da hızlı baş hareketleri için sistemi kullanılamaz hale getirdi.
Önerilen bir mimari, sunucuları tamamen ortadan kaldırarak 50 katılımcı arasında tam mesh WebRTC bağlantıları kurdu ve Yjs CRDT kitaplıkları mesh geometrisi birleşimini yönetti. Bu yaklaşım, doğrudan cihazdan akran iletişim yolları ile teorik minimum gecikme vaadediyor, sunucu altyapı maliyetlerini tamamen ortadan kaldırıyor ve taşınabilir tasarımcılar için doğal bir çevrimdışı dayanıklılık sağlıyordu. Ancak, her başlık 49 akraya 5 Mbps geometri güncellemesi ilettiği için O(n²) bağlantı karmaşıklığı, üstel bant genişliği tüketimine neden oldu ve toplamda her cihaz için 245 Mbps yükleme oluşturdu. Ayrıca, katı güvenlik duvarı politikaları nedeniyle Japonya'daki 30% üretim tesisinde kurumsal NAT geçişinin başarısızlıkları bu yaklaşımı kurumsal dağıtım için güvenilmez hale getirdi.
İkinci yaklaşım, yerel alanlarda GPU örneklerinde çerçeve renderlama yaparak ve ince istemcilerine sıkıştırılmış video akışları göndererek Google Cloud Gaming altyapısını kullandı. Bu tasarım, istemci uygulama gereksinimlerini temel video çözme yeteneklerine indirgedi, tek yetkili bir renderleyici üzerinden tutarlılığı garanti etti ve bant genişliği gereksinimlerini yalnızca 20 Mbps aşağı akışla sınırladı. Ne yazık ki, temel fizik kısıtlamaları, Tokyo kullanıcılarının Singapur yerel alanlarına bağlanırken 100ms altındaki gecikmeyi önledi ve 50 eşzamanlı VR oturumu için NVIDIA A100 örneklerini sürdürmenin maliyeti saatlik 400 doları aştı; bu da günlük tasarım çalışması için ekonomik açıdan sürdürülemez hale getirdi.
Son mimari, her büyük şehir alanında özel Kubernetes kümeleri ile AWS Yerel Alanları dağıttı ve Istio hizmet ağları çalıştırdı. Bölgesel Redis kümeleri, parametrik özellik ağaçları için operasyonel dönüşüm günlüklerini korurken, RocksDB örnekleri kenarda CRDT tabanlı mesh delta'ları depoladı. WebRTC, yalnızca düşük frekanslı el takibi ve ses iletişimi için kullanıldı, geometrik senkronizasyon ise en yakın kenar poduna gRPC iki yönlü akışlar aracılığıyla gerçekleştirildi. Bu yaklaşım, kıtasal sınırları aşmak yerine aynı büyük şehir alanı içinde çatışma çözümünü işleyerek geometri güncellemelerinin %95'lik yüzdelik dilimi için 15-25ms gecikme elde etti. Hibrit tutarlılık modeli, tasarımcıların yüzey eğrilerini (OT aracılığıyla yönetilen) manipüle ederken serbest form zirvelerini (CRDT aracılığıyla yönetilen) aynı anda şekillendirmelerine izin verdi, bu da işlemleri engellemedi.
Sistem, üç kıtada 200 eşzamanlı tasarımcıyı destekleyerek toplamda 30ms altı uçtan uca gecikme ile çalıştı ve bulut render çözümüne göre %70 oranında bulut bilişim maliyetlerini azaltarak başarıya ulaştı. Tüm bölgesel ofisler arasında sürekli işbirlikçi düzenleme içeren kritik bir 14 saatlik araç prototipi incelemesi sırasında platform, sıfır oturum düşmesi ile %99.97 çalışma süresi sağladı. Tasarımcılar, yerel tek kullanıcı CAD uygulamalarına benzer doğal etkileşim sadakati bildirdi, bu da tutarlılık ve gecikme arasındaki mimari ticaretin doğruluğunu doğruladı.
Bir CRDT veri yapısı içinde çok milyonlu bir poligon ağında her geometrik primitif için sürüm vektörlerini sürdürürken, üstel bellek büyümesini nasıl önlersiniz?
Adaylar, ince-grained geometrik verilere uygulandığı zaman Vektör Saatleri veya Sürüm Vektörleri içindeki meta veri yükünü sıklıkla göz ardı etmektedir. 50 milyon poligon içeren karmaşık bir otomotiv yüzey ağı, basitçe uygulanırsa, her bir zirve başına yaklaşık 16 bayt vektör saat meta verisi gerektirecektir; bu da 800 MB'lık bir yük oluşturur ve gerçek konumsal verileri depolamadan önceki aşamada gelmektedir. Çözüm, kaba tuhaflık sınırları için Bloom Saatleri veya Aralık Ağaç Saatleri ve geometri primitiflerini değiştirilemez parçalarda gruplandıran Rope veri yapıları kullanmaktır. Yalnızca aktif düzenleme sınırı—genellikle ağın %0.1'inden daha az—ince-grained sürümleme sürdüren bölgelerken, statik bölgeler bütünlük doğrulaması için sıkıştırılmış Merkle Ağaçları kullanır. Ayrıca, yalnızca son değişiklikleri yaymak yerine tam durum vektörlerini yayan Delta-State CRDT'ler ile gossip protokolleri uygulanması, bellek yükünü %95 oranında azaltırken güçlü bir nihai tutarlılığı sürdürmektedir.
Bir tasarımcı çevrimdışı moddan (uçağa bindiğinde düzenleme yaparken) çevrimiçi moda geçiş yaptığında nedeni belirli olan tutarlılığı hangi mekanizma sağlar, özellikle de çevrimdışı dönem sırasında diğer kullanıcılar tarafından silinen geometriye bağlı işlemlerle ilgili olarak?
Bu senaryo, matematiksel olarak birleşebilen ama kullanıcı niyetini "zombi" geometri diriltme nedeniyle ihlal edebilen saf CRDT'lerin sınırlamalarını açığa çıkarmaktadır. Tasarımcı A bir çamurluk panelini silerse ve Tasarımcı B (çevrimdışı) bu aynı panel üzerinde yüzey detayları eklerse, basit CRDT birleştirme, tasarım niyetini ihlal ederek silinen paneli yeni detaylarla geri getirir.
Çözüm, silme olaylarından sonra nedensel olarak izleyen işlemleri tanımlamak için vektör saat karşılaştırmalarını kullanarak Nedensel Stabilite Algılama uygulamayı gerektirir. Sistem, yalnızca silmeleri işaretlemekle kalmayan, aynı zamanda nedensel bağlamı ve meta veri sınırlarını koruyan bir Tombstone Log'u SQLite'de istemci cihazında tutmalıdır. Yeniden bağlantı kurulduğunda, istemci bir üç yönlü birleştirme gerçekleştirir: ortak atalar durumu, (silinmeyi özümseyen) sunucu durumu ve yerel çevrimdışı durumu. Silinen geometri üzerinde işlem yaptığı tespit edilen işlemler, ya kullanıcı bildirimleri ile otomatik olarak reddedilmeli ya da etkileşimli bir çatışma çözümleme UI'sı ile uyumsuz değişiklikleri vurgulamalıdır.
Bireysel geometrik primitifler üzerinde (örneğin, Tedarikçi A'nın yalnızca dış kabuğu görmesine izin verirken, Tedarikçi B'nin iç yapıları görmesine izin verme) ince-grained erişim kontrolünü kenarda yetkilendirme gecikmesi olmadan nasıl uygularsınız?
Mimarlar genellikle her bir geometri okuma işlemi için merkezi bir Açık Politika Aracı (OPA) veya Keycloak sunucusu sorgulamayı önerir ve bu da 50-100ms gecikme getirir; bu da kenar bilişim amacını ortadan kaldırır.
Doğru yaklaşım, görünürlük izinlerini kodlayan imzalı Bloom Filtreleri veya Cuckoo Filtreleri içeren Yetki Tabanlı Erişim Kontrolü kullanmak. Bu tokenlar, oturum kurulumu sırasında verilmekte ve yerel olarak WebAssembly (Wasm) filtreleri kullanan Envoy yan hizmetleri tarafından doğrulanmaktadır. Bloom Filtreleri, sıfır yanlış negatif ile olasılıklı üye testi sağlar; eğer filtre bir primitifin görünmez olduğunu gösterirse, erişim derhal reddedilir; eğer görünür olabileceği düşünülürse, yerel bir RBAC önbelleği son yetkilendirmeyi sağlar. Bu, yetkilendirme gecikmesini milisaniyenin altında tutarken, izinlerin kriptografik doğrulamasını sürdürmektedir. Dinamik izin değişiklikleri için sistem, kenar düğümlerine dağıtılan JWT iptal listeleri kullanır ve tasarım meta verileri için kabul edilebilir maksimum yayılma süresi 5 saniye olarak belirlenmiştir.