TR201811297A2 - CDN Şirketlerinin Kullanıcılara Verdikleri Kaliteyi Geliştirmek Ve Kaynak Kullanımını Optimize Etmek İçin Kullanılan Sistem - Google Patents
CDN Şirketlerinin Kullanıcılara Verdikleri Kaliteyi Geliştirmek Ve Kaynak Kullanımını Optimize Etmek İçin Kullanılan Sistem Download PDFInfo
- Publication number
- TR201811297A2 TR201811297A2 TR2018/11297A TR201811297A TR201811297A2 TR 201811297 A2 TR201811297 A2 TR 201811297A2 TR 2018/11297 A TR2018/11297 A TR 2018/11297A TR 201811297 A TR201811297 A TR 201811297A TR 201811297 A2 TR201811297 A2 TR 201811297A2
- Authority
- TR
- Turkey
- Prior art keywords
- distribution
- sampling
- requests
- automation engine
- cdn
- Prior art date
Links
- 238000009826 distribution Methods 0.000 claims abstract description 47
- 238000005070 sampling Methods 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims abstract description 5
- 239000011159 matrix material Substances 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000009471 action Effects 0.000 claims description 2
- 238000012384 transportation and delivery Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- ZYXYTGQFPZEUFX-UHFFFAOYSA-N benzpyrimoxan Chemical compound O1C(OCCC1)C=1C(=NC=NC=1)OCC1=CC=C(C=C1)C(F)(F)F ZYXYTGQFPZEUFX-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Buluş, CDN şirketlerinin kullanıcılara verdikleri kaliteyi geliştirmek ve kaynak kullanımını optimize etmek için kullanılan sistem olup; işyükü otomasyon motorunun (60) örnekleme yöneticisini (70) dinleme durumunda olması (S2001), örnekleme yöneticisi (70) tarafından fiziksel makinenin (30) kaynak bilgilerinin iş yükü otomasyon motoruna (60) periyodun sonunda gönderilmesi (S2002), yük yönlendiricisi (50) tarafından gelen istek sayılarını gelen istek tipi bazında iş yükü otomasyon motoruna (60) gönderilmesi (S2003), iş yükü otomasyonu (60) tarafından yeni algoritmaya göre VNF (40) dağılımının oluşturulması (S2004), yeni oluşturulan VNF (40) dağılımının bir önceki periyottaki dağlımla karşılaştırılarak fark olup olmadığı kontrolü yapılması (S2005), yeni VNF (40) dağılımının iş yükü otomasyon motoru (60) tarafından örnekleme yöneticilerine (70) gönderilmesi (S2006), örnekleme yöneticileri (70) tarafından iş yükü otomasyon motorundan (60) gelen karara göre kendi fiziksel makinelerindeki (30) her bir CDN düğümleri (41,42,43) ile ilgili yapılması gereken işleme bakılması (S2007) ve diğer bir periyodun sonuna kadar gelen isteklerin ve fiziksel makinelerin (30) kaynak durumlarının gözlemlenmesi (S2008) işlem adımlarını içermesi ile karakterize edilmektedir.
Description
TARIFNAME
CDN Sirketlerinin Kullanicilara Verdikleri Kaliteyi Gelistirmek Ve Kaynak
Kullanimini Optimize Etmek Için Kullanilan Sistem
Teknik Alan
Bu bulus, CDN (Içerik Dagitim Aglari/Content Delivery Network)
sirketlerinin kullanicilara verdikleri kaliteyi gelistirmek ve kaynak kullanimini
optimize etmek için kullanilir. CDN, kullanicilar tarafindan talep edilen verileri
(büyük alisveris siteleri, haber sayfalari, multimedya paylasim platformlari vb.)
dünyanin çesitli noktalarinda bulunan PoP°ler (Uzak Erisim Noktalari/Point of
Presences) üzerinden sunarak hizli bir erisime olanak saglayan bulut bilisim
hizmetidir. Bulus, temel itibariyle VNF”lar1 (Sanal Ag Fonksiyonlarini/Virtual
Network Functions) yöneterek bu VNF7dan periyodik olarak gelen bilgileri
degerlendirerek kaynak kullanimini orkestre eden (yönlendiren) modüller ve
Önceki Teknik
CDN (içerik dagitim aglari/content delivery network), kullanicilarin
isteklerine göre 4 farkli sekilde hizmete odaklanarak CDN destegi saglanmaktadir.
Bu hizmetler; küçük boyutlu veriler (Örn. resim), büyük boyutlu veriler (örn. Pdf
veya javascript/css dosyalari) ve canli yayin veya online Video gibi Streaming
istekleridir. Bu farkli kullanici istekleri ise farkli tipte sunucular ile karislanmak
zorunda oldugundan mevcut CDN yapilari her bir ag fonksiyonu için ayri bir
fiziksel makine yapilandirir. Bu da kullanicilardan az istek geldigi zaman bazi
fiziksel makinelerin kaynaklarinin bosta kalmasina neden olur. Örnegin günün bazi
saatlerinde canli yayin akisina olan istek sayisi çok fazlayken resim içerigi için
gelen istek sayilari az olur. Bu durumda resim isteklerine cevap veren CDN
sunucusu kaynaklarini minimum seviyede kullanirken, video isteklerine cevap
veren sunucu ise hizmet kalitesini düsürmemek için ilave kaynak destegine ihtiyaç
duyar. Bilinen teknikte, CDN sirketlerinde kullanilan ana sistemin gerçeklestirdigi
islevler (1000) sirasi ile su sekildedir;
- Kullanici tarafindan istenilen web sayfasina istek olusturulmasi (51001),
- Kullanici isteginin alan adi sistemine ulasmasi (51002),
- Alan adi sistemi tarafindan istegin en uygun uzak erisim noktasina
yönlendirilmesi (51003),
- Yük yönlendiricisi tarafindan gelen istege uygun CDN dügümünün
belirlenmesi (51004),
- Kullaniciya verilmesi gereken içerigin uzak erisim noktasinda var mi
sorgusunun yapilmasi (51005),
- Gereken içerigin merkez cihazdan alinmasi (51006),
- Içerigin kullaniciya gönderilmesi (51007) islem adimlarindan meydana
gelmektedir. Bu kaynak mevcut CDN uygulamalarinda dinamik olarak
verilemedigi için de bu gibi durumlarda gecikme süresinde artis, kullaniciya
verilen hizmet kalitesinde ise düsüs olmaktadir.
Ani degisen istek yogunluklarinda olusan fazla gecikme süresine çözüm
getirmek için de bazi mevcut sistemler donanima yatirimlar yaparak düsük gecikme
süresini yakalamaya çalisirlar. Fakat bu da fazla trafik yogunluguna neden olan
durumlar için çözüm olurken, istek sayisinin normal seviyede oldugu zamanlarda
kaynaklarin gereksiz yere bosta kalmasina neden olmaktadir. Düsük gecikme
süresini elde etme ile kaynak ihtiyaci arasindaki bu çeliski hem içerik iletim
saglayicilarini hem de kullanicilari zor duruma sokmaktadir.
Bazi sanallastirma teknolojileri (kvm, hyper-v veya xen gibi) yukaridaki
problemlere çözüm saglamak amaciyla kurduklari sistemlerde ise 12 saniyelik
yüklenme zamaniyla ani degisimlere hizli bir sekilde cevap vermek zor olmaktadir.
Konteynir teknolojisi ile yapilan çalismalarda ise 1 saniyelik hizli bir önyükleme
süresi dinamik bir sekilde orkestrasyon edilebilen sistemler kurulabilmeye imkân
saglar. Fakat içerik dagitim aglarina özel konteynir yönetiminin eksikliginden
dolayi içerik dagitim aglarinda etkili bir kaynak kullanimina ve düsük gecikme
süresine ulasilamaz.
Bilinen teknikte kullanilan konteynir teknolojisi olan Docker konteyniri
içerik dagitim aglarinda (CDN'de) kullanilmaktadir. Docker konteyniri,
konteynirlastirma (containerization) yöntemi ile ortaya çikan bir sanallastirma
teknolojisidir. Virtual Machine (sanal makine) olarak adlandirilan kvm, hyper-V
teknolojilerine oranla daha hizli ve esnek bir sanallastirma sunar. Bu yöntemle
CDN'deki ag fonksiyonlari (DNS, load balancer, edge servers gibi)
sanallastirilabilirler. Bu sayede donanimsal olarak ag fonksiyonlarina bagimlilik
azaltilarak islevsellik yazilim ortamina tasinabilir. Fakat bu sanal ag fonksiyonlarini
yönetebilmek için bir orkestre aracina ihtiyaç duyulur. Çünkü hangi ag fonksiyonun
ne zaman nasil çalisacagini yöneterek kaynak kullanimi dengeli dagitilmasi
gerekmektedir. Bu baglamda açigi kapatmak için Docker konteynirlarini yönetmek
için yazilmis olan Kubemetes yazilimi bulunmaktadir. Fakat CDN için verim elde
edilebilecek bir orkestre araci degildir. Çünkü bulut bilisimdeki diger servislerin
ihtiyaçlarina göre yazildigindan belirli bir CPU kullanimi geçince bulutta yeni bir
sunucuda ihtiyaç duyulan Docker konteynirini ayaga kaldirir. CDN yapisinda ise
hem CPU hem ag bilgilerini kaynak kullanimi olarak dikkate alip hem de gelen
istekler; istek tiplerine göre degerlendirilerek karar verilmelidir. Sonuç olarak bunu
yapacak bir algoritma ve bir yönetim sistemi söz konusu bulusu olusturinaktadir.
Günümüzde kullanilan konteynir yönetim araçlari (container orchestration)
içerik dagitim aglarina özel olmadiklari için kaynak kullanimi ve gecikme süresini
yeterince düsürememektedirler. Çünkü var olan konteynir orkestrasyonlari (örn.
kubemetes) sadece CPU gibi kaynaklari kriter olarak alirlar. Fakat içerik dagitim
aglarinda gecikme süresini düsüren asil seyin kaynak kullaniminin yanindav gelen
isteklerin egilimleri ve sayilari da önemlidir. Bu yüzden gereken düsük gecikme
oranini elde edilememektedir.
Bulusun Amaci
Bulusun amaci; içerik dagitim aglarina özel, kaynak kullanimi ve gecikme
süresini yeterince düsürebilen bir konteynir sistemi meydani getirmektir.
Bulusun bir diger amaci; içerik dagitim aglarinda gelen isteklerin
egilimlerini ve sayilarini dikkate alan bir konteynir sistemi meydani getirmektir.
Bulusun bir diger amaci; hizli bir önyükleme süresi dinamik bir sekilde
orkestrasyon edilebilen sistemler kurulabilmeye imkân saglayan bir konteymr
sistemi meydani getirmektir.
Bulusun bir diger amaci; ani istek degisimlerine hizli bir sekilde cevap
verebilen ag fonksiyonlari olusturularak gecikme süresinin azaltilmasini saglayan
bir konteynir sistemi meydana getirmektir.
Bulusun bir diger amaci; düsük maliyetle daha düsük gecikme sürelerine
sahip dagitim aglari meydana getirmektir.
Bulusun bir diger amaci; hem içerik dagitim agi saglayicilari için hem de
kullaniciya verilen hizmet için karsilikli bir kazanç veren bir konteynir sistemi
meydana getirmektir.
Bulusun bir diger amaci; kaynaklara, istek yogunluklarina ve var olan
konteynir dagilimina göre yeni dagilimdaki konteynir sayisini minimuma
indirmektir.
Bahsedilen amaçlari gerçeklestirmek üzere gelistirilen konteynir sistemi;
alan adi sistemi (10), uzak erisim noktasi (20), fiziksel makine (30), sanal ag
fonksiyonlari (40), sanal tip-1 dügüm (41), sanal tip-2 dügüm (42), sanal tip-3
dügüm (43), yük yönlendiricisi (50), is yükü otomasyon motoru (60) ve Örnekleme
yöneticisinden (70) meydana gelmektedir.
Sekillerin Açiklamasi
Ekte sunulan Sekil - l sistemde (1) kullanicilarin (k) internet üzerinde
olusturduklari her bir istegin, ag üzerinden Alan Adi Sistemine (10)
yönlendirilmesini ve detaylarini anlatan çizimin genel görünümüdür.
Sekil-2 ana sistemin gerçeklestirdigi islevlerin akis diyagramidir.
Sekil-3 ana sisteme eklenen modülün gerçeklestirdigi islevlerin akis
diyagramidir.
Sekil-4 Dünyanin çesitli yerlerinde konumlandirilinis halde bulunan Uzak
Erisim Noktalari (20) ve Alan Adi Sistemi (10) sunucularinin genel görünümüdür.
Sekillerde ifade edilen baslica parçalar asagida numara ve isim olarak
verilmistir.
(10) Alan Adi Sistemi (DNS)
(30) Fiziksel Makine
(40) Sanal Ag Fonksiyonlari (VNF) (konteynirlastirma)
(41) Sanal Tip-1 Dügüm
(42) Sanal Tip-2 Dügüm
(43) Sanal Tip-3 Dügüm
(50) Yük Yönlendiricisi (Load Balancer)
(60) Is yükü Otomasyon Motoru (Workload Automation Engine)
(70) Örnekleme Yöneticisi (Instance Managers)
(k) Kullanici
(m) Merkez
Bulusun Detayli Açiklamasi
Bu bulus, CDN (içerik dagitim aglari/content delivery network) sirketlerinin
kullanicilara verdikleri kaliteyi gelistirmek ve kaynak kullanimini optimize etmek
için kullanilir. CDN, kullanicilar tarafindan talep edilen verileri (büyük alisveris
siteleri, haber sayfalari, multimedya paylasim platformlari vb.) dünyanin çesitli
noktalarinda bulunan uzak erisim noktalari (20) yani PoP'ler (point of presences)
üzerinden sunarak hizli bir erisime olanak saglayan bulut bilisim hizmetidir. Bulus,
temel itibariyle Sanal Ag Fonksiyonlarini (40) yani VNFvlari (virtual network
functions) yöneterek bu VNF7dan (40) periyodik olarak gelen bilgileri
degerlendirerek kaynak kullanimini orkestre eden modüller ve algoritmalardan
olusmaktadir.
CDN (content delivery networks/içerik dagitim aglari) kisaca; Video, resim,
müzik ve kod parçaciklarindan olusan dijital varliklari barindiran, optimize eden ve
son kullanicinin her cihazina süratle ulasmasini saglayan bir bulut bilisim
platformudur.
Bulus, var olan konteynir teknolojisini (önr. Docker containerization) içerik
dagitim aglarinda (CDN°de) kullanmaktadir. Ve bu sanallastirma yapisina CDN
için özellesmis orkestrasyon algoritmasini ekleyerek gün içerisinde degisen
kullanici sayilarina dinamik bir sekilde cevap verebilmek için gereken esnek
sistemi saglar. Bunu yapmak için bulusumuz, kullanici egilimine göre ihtiyaç
olunan ag rollerini dinamik bir sekilde olusturur ve ihtiyaç bittiginde ise baska ag
rollerine kaynak ayirmak için pasife çeker. Ani istek degisimlerine hizli bir sekilde
cevap verebilen ag fonksiyonlari olusturularak gecikme süresi azaltilir. Bahsedilen
bulus sayesinde içerik dagitim aglarini daha düsük inaliyetlerle ve daha düsük
gecikme süreleriyle kurmak mümkün olmaktadir. Bu da hem içerik dagitim agi
saglayicilari için hem de kullaniciya verilen hizmet için karsilikli bir kazanç
olmaktadir.
CDN sirketlerinin kullanicilara verdikleri kaliteyi gelistirmek ve kaynak
kullanimini optimize etmek için kullanilan yöntemde kullanilan fiziksel parçalar ve
yaptigi isler su sekildedir: Alan adi sistemi (10), kullanicilardan (k) aldigi istekleri
bulunduklari konuma göre en uygun içerik dagitim ortamina gönderme görevini
üstlenmektedir. Uzak Erisim Noktasi (20), kullanicidan (k) gelen istekleri
cevaplayan sistemleri içeren ortama denilmektedir. Fiziksel Makine (30), gelen
istekleri cevaplayabilecek islem gücüne ve kaynaga sahip sunuculardir. Içinde sanal
ag fonksiyonlari (40) bulundurarak bu istekleri cevaplamaktadir. Sanal Ag
Fonksiyonlari (40), bir diger adiyla konteynirlastinna ise konteynirlastirma
yöntemi ile sanal ag fonksiyonlari (40) içeren konteynir grubuna verilen isimdir.
Sanal Tip-1 Dügüm (41), CDN°deki küçük boyutlu dosyalar (öm. resim) için gelen
istekleri karsilamak için tasarlanmis bir CDN dügümüdür. Sanal Tip-2 Dügüm (42),
CDN'deki büyük boyutlu dosyalar (örn. pdf dosyalari) için gelen istekleri
karsilamak için tasarlanmis bir CDN dügümüdür. Sanal Tip-3 Dügüm (43),
CDN”deki yayin akislarina (örn. yayin akislari, canli veya talep üzerine görüntü
istegi) gelen istekleri karsilamak için tasarlanmis bir CDN dügümüdür. Yük
Yönlendiricisi (50), gelen istegin hangi tip oldugunu anladiktan sonra uygun tipte
bir dügüme yönlendirir. Eger ayni tipte birden fazla dügüm varsa esit miktarda
dagitarak yönlendirme yapar. Isyükü Otomasyon Motoru (60) bulundugu POP (20)
içerisindeki sanal CDN dügümlerinin (41, 42, 43) otomatik sekilde
olusturulmasindan veya kaldirilmasindan sorumludur. Bunu özellesmis bir
algoritma ile yapmaktadir. Örnekleme Yöneticisi (70), bulundugu fiziksel
makinenin ve üzerindeki sanal dügümlerin bilgilerini Isyükü Otomasyon Motoruna
(60) göndermektedir.
Bulus, uzak erisim noktasi (20) için bir adet isyükü otomasyon motoru (60)
içerir. Bu mekanizina içerisinde bes adet modül bulundurur. Bu modüller sayesinde
var olan konteynir dagilimi, farkli tiplerde gelen istek sayilari/yogunluklari ve
kaynak kullanimi (CPU ve Ag) dikkate alinarak yeni konteynir dagilimi hesaplanir.
Bunu yapmak için de Optimizasyon algoritmasi kullanilmaktadir. Burada ki amaç
kaynaklara istek yogunluklarina ve var olan konteynir dagilimina göre yeni
dagilimdaki konteynir sayisini minimuma indirmektir.
Bulus konusu sistemde (1) kullanicilarin (k) Internet üzerinde olusturduklari
her bir istek ag üzerinden Alan Adi Sistemine (10) yönlendirilir. Alan Adi Sistemi
(10) cografik olarak kendisine en yakin Uzak Erisim Noktasini (20) seçer. Artik
kullanicinin istegi Uzak Erisim Noktasinda (20) bulunan yük yönlendiricisine (load
balancer) (50) geçer. Yük yönlendiricisi (50), Uzak Erisim Noktasina (20) gelen
istekleri degerlendirip ilgili dügüme (41,42,43) yönlendirir. Bu dügümler
(41,42,43l, kullanicilardan (k) gelen istekleri yanitlarlar. Bunun için de
önbelleklerinde bulunan dosyayi/dosyalari kullaniciya (k) gönderir. Eger 0 an
önbellekte istenilen dosya yoksa dügüm, merkezden (m) dosyayi alir ve istegi
yanitlar. Bahsi geçen dügümler (41.42.43) ise sanal ag fonksiyonlari (40) olarak
fiziksel makinelerde (30) bulunur. Her bir fiziksel makinede (30) her tipten en fazla
birer adet sanal ag fonksiyonu (40) bulunur. Çünkü ayni fiziksel makinede (30) ayni
isi yapan birden fazla sanal ag fonksiyonu (40) olmasina gerek yoktur. Fakat
kullanicilardan (k) gelen istek yogunluguna ve fiziksel makinelerin (30) kaynak
kullanim yogunluklari da dikkate alinarak bu sayilar degiskenlik gösterir. Bulus
konusu sitemde (1) çalisan ve asagida detaylica anlatilacak olan algoritmaya göre
sayilara karar verilir. Bu sayede verimli kaynak kullanimi ve düsük gecikme süresi
Her bir dügüm (41.42.43), gelen kullanici isteklerini karsilamak için
üzerlerinde bulunduklari fiziksel makinelerin (30) kaynaklarini kullanir. Bulus
konusu sistemde (1) ise Is yükü Otomasyon Motoru (60) bu kaynak kullanimini
yöneten merkezi bir sistemdir. Yani Uzak Erisim Noktasindaki (20) fiziksel
makinelerden (30) biri üzerinde çalisan ve bulus konusu sistemin yazilimsal kismini
olusturan algoritmaya göre hesaplama yapar. IOM (60) hesaplama yaparken Uzak
Erisim Noktasindaki (20) fiziksel makinelerin kaynak kullanim oranini ve gelen
istek sayilarini dikkate alir. Fiziksel makinelerin (30) kaynak durum bilgisini
IOM°na (60) belirli periyotlar halinde gönderen modül ise Ömekleme Yöneticisidir
(70). Her bir Ömekleme Yöneticisi (70), bulunduklari fiziksel makinelerin (30)
CPU ve ag bilgilerini IOM7na (60) gönderir. Ayni zamanda IOM (60) hangi istek
tipinden ne kadar istek gelmis ve bu istekler hangi dügüm (41,42,43) tarafindan
karsilanmis bilgisini de Ömekleme Yöneticilerinden (70) alarak algoritmaya giris
bilgisi olarak verir. Yani bulus konusu sistem (1), yeni sanal dügüm dagilimini
(41,42,43) yapmak için var olan kaynaklarin su an ne kadari hangi fiziksel
makineye daha çok yük oluyor ya da hangi dügüm tipinin (41,42,43) istekleri daha
etkili cevaplamasi için destege ihtiyaci var onu hesaplar. Bulus konusu sistemin
algoritmasi ise hesaplamayi su sekilde yapmaktadir;
Birinci adim olarak, örnekleme yöneticilerinden (70) gelen kaynak kullanim
bilgilerini yüzdesel formata çevirdikten sonra bu iki kaynak kullanim
bilgisini (CPU ve ag) toplar. Yani sistem Uzak Erisim Noktasinda (20)
bulunan her bir fiziksel makine için toplam kaynak kullanimi bulur. Bu sayi
en fazla 200 en az 0 olur (iki kaynak kullanimi da yüzdesel formatta oldugu
Ikinci adim olarak, kullanicilardan gelen istekler, istek tiplerine göre
gruplandirildiktan sonra her bir istek tipi için ne kadar istek gelmis bilgisi
edilir. Örnegin sanal tip-l dügümün (41) karsiladigi resim formatinda
istekler için 2000; sanal tip-2 dügümünün (42) karsiladigi büyük boyutlu
dosyalar için (pdf, javascript/css dosyalari) 1500; ve sanal tip-3 dügümünün
(43) karsiladigi video yayin istekleri için de 1000 istek geldigi bilgisi elde
Üçüncü adiin olarak, her bir tipteki istek sayisi, toplam istek sayisina
bölünür. Bu sayede hangi istekten ne kadar yogunlukta istek gelmis oransal
olarak dagitilmis halde bilgisi elde edilir.
Dördüncü adim olarak, bir önceki periyottan kalan sanal dügüm (41,42,43)
dagilimini gösteren matris bilgisi de algoritmaya verilir. Yani bu matris, her
bir sanal dügüm (41,42,43) için hangi fiziksel makinede var hangi fiziksel
makine yok bilgisini içerir. Bu da 1 ve 0 ile sirasiyla var ve yok olarak ifade
Besinci adiin olarak, birinci adimda elde edilen fiziksel makinelere göre
toplam kaynak kullanimi bilgisi ile, dördüncü adimda elde edilen fiziksel
makinelere göre sanal dügüm dagilimi (41,42,43) gösteren matris çarpilir.
Bu islem sonucunda hangi dügümün hangi fiziksel makineye kaynaksal
olarak yük yaptiginin dagilimi bulunur. Dolayi hangi tipte sanal dügümün
destege ihtiyaci var o belirlenmek istenir.
Altinci adim olarak, besinci adimda bulunan dagilim, üçüncü adimdaki gibi
yöntemle oransal orak dagilima çevrilir ve üçüncü adimdaki Istek
sayilarinin oransal dagilimi ile karsilastirilir. Buradaki karsilastirma araligi
arti/eksi 0,1 olarak belirlenmistir. Eger bu sinirlarin arasinda degilse bahsi
geçen fiziksel makine çok yük altindadir çünkü üzerinde bulunan sanal
dügümler çok istege maruz kaliyor demektir. O yüzden diger fiziksel
makinelerden kaynak açisindan daha az yogun olan seçilerek destege ihtiyaç
duyulan sanal dügüm, seçilen fiziksel makinede baslatilir.
Yedinci adim olarak, bu adim sinir degerler korunana kadar devem eder.
Sinir degerler saglandiktan sonra isyükü otomasyon motoru (60] yeni sanal
ag fonksiyonlarinin (40) dagilimini, örnekleme yöneticilerine (70) gönderir.
Sekizinci adim olarak, örnekleme yöneticileri (70) gelen hesaplamalara
uygun olarak üzerlerinde bulunduklari fiziksel makinede (30) çalisan her bir
sanal dügüm (40) için açma ya da kapama islemi yapar. Ve diger periyoda
kadar birinci adimdaki ve ikinci adimdaki bilgileri IOMlna (60) göndermek
için kayit tutar.
CDN sirketlerinin kullanicilara verdikleri kaliteyi gelistirmek ve kaynak
kullanimini optimize etmek için kullanilan ana sisteme eklenen modülün
gerçeklestirdigi islevler ise sirasi ile su sekildedir;
- Isyükü otoinasyon motorunun (60) örnekleine yöneticisini (70) dinleme
durumunda olmasi (82001),
- Örnekleme yöneticisi (70) tarafindan fiziksel makinenin (30) kaynak
bilgilerinin Isyükü otomasyon motoruna (60) periyodun sonunda
gönderilmesi (82002),
- Yük yönlendiricisi (50) tarafindan gelen istek sayilarini gelen istek tipi
bazinda is yükü otomasyon motoruna (60) gönderilmesi (82003),
- Is yükü otomasyonu (60) tarafindan yeni algoritmaya göre VNF (40)
dagiliminin olusturulmasi (82004),
- Yeni olusturulan VNF (40) dagiliminin bir önceki periyottaki daglimla
karsilastirilarak fark olup olmadigi kontrolü yapilmasi (82005),
- Yeni VNF (40) dagiliminin is yükü otomasyon motoru (60) tarafindan
örnekleme yöneticilerine (70) gönderilmesi (82006),
- Örnekleme yöneticileri (70) tarafindan is yükü otomasyon motorundan
(60) gelen karara göre kendi Iiziksel makinelerindeki (30) her bir CDN
dügümleri (41,42,43) ile ilgili yapilmasi gereken isleme bakilmasi
(52007),
- Diger bir periyodun sonuna kadar gelen isteklerin ve fiziksel
makinelerin (30) kaynak durumlarinin gözlemlenmesi (82008) islem
adimlarindan meydana gelmektedir. Ana sisteme eklenen modülün
gerçeklestirdigi islevler (2000) ve bahsedilen islem adimlari Sekil-37 de
akis semasi olarak da gösterilmektedir.
Söz konusu sistemin bütününde dünyanin çesitli yerlerinde
konumlandirilmis halde bulunan Uzak Erisim Noktalari (20) ve Alan Adi Sistemi
sunuculari (10) bulunur. Sekil-4 üzerinde “D” harfi ile ifade edilmis noktalar
DNS”leri (10); “P” harfi ile ifade edilmis sunucular ise PoP°lari (20)
göstermektedir. Her bir POP (20) noktasi en az bir adet DNS (10) sunucu tarafindan
bilinir. Kullanici bir sayfaya istek yaptigi zaman DNS (10) sunuculari istegi
karsilayabilecek en yakin PoP (20) noktasina yönlendirme yapar. Içerik eger seçilen
P0P”ta (20) varsa istek karsilanir; yoksa merkez sunucusuna (Sekil-4”de “M” harfi
ile gösterilmistir) gidilir. Bu merkez sunucusu içerigin orijinal sahibidir.
Bulus konusu sistemde; genel veri aktarimi üzerinde degisiklik
yapilmamistir. Sadece her bir POP”taki (20) sunucularin kendi içindeki kaynak
kullanimini organize eden otomasyon mekanizmasi sisteme eklenmistir. Bu amaçla
ag fonksiyonlarini sanallastirma yoluna gidilmis ve sisteme temel olarak iki ayri
ana modül eklenmistir: Isyükü Otomasyon Motoru (60) ve Örneklem Yöneticileri
(70). Ag fonksiyonlarini sanallastirirken kullanilan araç ise Docker
Containerization°dir. Bulus konusu sistemin bütünü Sekil-4”de gösterilmistir.
request distribution for each request type RN, and container distribution matrix
Output: New container distribution matrix BNXM
1: Vwm (- C + T
2: D <- i/Sum.A
3: DN <- NORMALIZE (D)
4: while ANxMis changed de
6: ifRgV - 0,1 > DiNthen
7: j (- FINDMINLOADEDMACHINE(ANxM, Vsum)
8: AJI (- 1
9: else if R5” + 0.1 < D?' then
: j «- FINDMAXLOADEDMACHINE(ANxM, Vsum)
111 AJI (- Ü
12: end if
13: end for
14: D (- Vsum.A
: DN (- NORMALIZE (D)
16: endwhile
Algoritma 1- Isyükü Otomasyon Motoru Çalisina Prensibi
Algoritma 1, CDN için özellesmis orkestrasyon algoritmasidir. Algoritma;
örnekleme Yöneticilerinden (70) gelen CPU ve ag kullanim bilgilerini ve uzak
erisim noktasindaki (20) fiziksel inakinelerdeki anlik sanal dügüm (41,42,43)
dagilim matrisini alarak yeni sanal dügüm dagilimlarini olusturur.
Algoritma 1°de kullanilan semboller için açiklamalar Tablo 1”de verilmistir.
Ayni zamanda algoritma bir optimizasyon probleminin çözümü olarak
gelistirildiginden ilgili optimasyon formülü de Denklem 1 ”de verilmistir.
Parametre Tanitim
N Fiziksel makine sayisi
M Orkestre edilecek sanal ag sayisi
2 Anlik sistemde bulunan toplam konteyner sayisi
ANxM Fiziksel makinelere göre konteyner dagilim matrisi
(algoritma girdisil
BNxM Fiziksel makinelere göre konteyner dagilim matrisi
(algoritma girdisi)
Fiziksel makinelere ve istek tiplerine göre istek sayilari
vektörü
Fiziksel makinelere göre CPU kullanim bilgisi
Fiziksel makinelere göre ag kullanim bilgisi
Tablo 1 Matematiksel Sembol Açiklamalari
minimize z Z 21-
subject to XgV-oi 5 12925 XiN+ 0.1, vr e N (2)
Denklem- 1 Algoritmanin Optimizasyon Formülü Seklinde Gösterimi
Denklem lsde ifade edilen numaralar; sistemde anlik bulunan toplam
konteynir sayisini minimize etmeye çalisirken (1 numarali islem) kaynak dagilimi
ile gelen istek sayisi arasindaki sinir degeri korumaya çalisilmaktadir (2 numarali
islem). Bunu yaparken de her bir fiziksel makine ayni tipte en fazla bir adet
konteynir bulundurabilir (3 numarali islem).
Asagida örnek degerler ile algoritmanin ve denklemin çalisma mantigi
gösterilmistir. C, T ve R sembolleri Tablo l”de açiklanmistir. Örnek sistem üç
fiziksel makine için bir örnegi göstermektedir.
Claims (1)
1. Bulus: CDN sirketlerinin kullanicilara verdikleri kaliteyi gelistirmek ve kaynak kullanimini optimize etmek için kullanilan sistem olup özelligi; - Isyükü otomasyon motorunun (60) örnekleme yöneticisini (70) dinleme durumunda olmasi (52001), - Ömekleme yöneticisi (70) tarafindan fiziksel makinenin (30) kaynak bilgilerinin Is yükü otomasyon motoruna (60) periyodun sonunda gönderilmesi (52002)I - Yük yönlendiricisi (50) tarafindan gelen istek sayilarini gelen istek tipi bazinda is yükü otomasyon motoruna (60) gönderilmesi (52003), e Is yükü otomasyonu (60) tarafindan yeni algoritmaya göre VNF (40) dagiliminin olusturulmasi (52004), - Yeni olusturulan VNF (40) dagiliminin bir önceki periyottaki daglimla karsilastirilarak fark olup olmadigi kontrolü yapilmasi (52005), - Yeni VNF (40) dagiliminin is yükü otomasyon motoru (60) tarafindan ömekleme yöneticilerine (70) gönderilmesi (52006), - Örnekleme yöneticileri (70) tarafindan is yükü otomasyon motorundan (60) gelen karara göre kendi fiziksel makinelerindeki (30) her bir CDN dügümleri (41,42,43) ile ilgili yapilmasi gereken isleme bakilmasi (52007), - Diger bir periyodun sonuna kadar gelen isteklerin ve fiziksel makinelerin (30) kaynak durumlarinin gözlemlenmesi (52008) islem adimlarini içermesidir. Istem 1`de bahsedilen Sistem olup özelligi; bulundugu POP (20) içerisindeki sanal CDN dügümlerinin (41, 42, 43) otomatik sekilde olusturulmasindan veya kaldirilmasindan sorumlu olan ve bunu özellesmis bir algoritma ile yapan isyükü otomasyon motoru (60) ile bulundugu5 tiziksel makinenin ve üzerindeki sanal CDN dügümlerin (41,42,43) bilgilerini bahsedilen isyükü otomasyon motoruna (60) gönderen bir örnekleme yöneticisine (70) sahip olmasidir. istem 2°de bahsedilen yeni algoritma olup özelligi; Birinci adim olarak, örnekleme yöneticilerinden (70) gelen kaynak kullanim bilgilerini yüzdesel formata çevirdikten sonra bu iki kaynak kullanim bilgisini (CPU ve ag) toplanmasi, Ikinci adim olarak, kullanicilardan gelen istekler, istek tiplerine göre gruplandirildiktan sonra her bir istek tipi için ne kadar istek gelmis bilgisi elde edilmesi, Üçüncü adiin olarak, her bir tipteki istek sayisi, toplam istek sayisina bölünür. Bu sayede hangi istekten ne kadar yogunlukta istek gelmis oransal olarak dagitilmis halde bilgisi elde edilmesi, Dördüncü adim olarak, bir önceki periyottan kalan sanal CDN dügüm (41,42,43) dagilimini gösteren matris bilgisi de algoritmaya verilmesi, Besinci adim olarak, birinci adim sirasinda elde edilen fiziksel makinelere göre toplam kaynak kullanimi bilgisi ile, dördüncü islem sirasinda elde edilen fiziksel makinelere göre sanal CDN dügüm dagiliini (41,42,43) gösteren matris çarpilmasi ve bu islem sonucunda hangi dügümün hangi fiziksel makineye kaynaksal olarak yük yaptiginin dagilimi bulunmasi ve sonrasinda hangi tipte sanal dügümün destege ihtiyaci varsa onun belirlenmesi, Altinci adiin olarak, besinci islem adiminda bulunan dagilim, üçüncü islem adiinindaki gibi bir yöntemle oransal orak dagilima çevrilmesi ve üçüncü islem adiminin istek sayilarinin oransal dagilimi ile karsilastirilmasi, Yedinci adim olarak, sinir degerler saglandiktan sonra isyükü otomasyon motoru (60) yeni sanal ag fonksiyonlarinin (40) dagilimini, örnekleme yöneticilerine (70) gönderilmesi, Sekizinci adim olarak, örnekleme Yöneticileri (70) gelen hesaplamalara uygun olarak üzerlerinde bulunduklari fiziksel makinede (30) çalisan her bir sanal dügüm (40) için açma ya da kapama islemi yapilmasi ve diger periyoda kadar birinci ve ikinci islem adimlarindaki bilgileri IOlVFna (60) göndermek için kayit tutmasi islem adimlarini içermesidir.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TR2018/11297A TR201811297A2 (tr) | 2018-08-03 | 2018-08-03 | CDN Şirketlerinin Kullanıcılara Verdikleri Kaliteyi Geliştirmek Ve Kaynak Kullanımını Optimize Etmek İçin Kullanılan Sistem |
US17/265,523 US20210224136A1 (en) | 2018-08-03 | 2018-10-17 | System Used by CDN Companies to Improve the Quality Offered to the Users and to Optimize Resource Utilization |
PCT/TR2018/050599 WO2020027743A1 (en) | 2018-08-03 | 2018-10-17 | System used by cdn companies to improve the quality offered to the users and to optimize resource utilization |
DE112018007888.4T DE112018007888T5 (de) | 2018-08-03 | 2018-10-17 | System welches von CDN-Unternehmen verwendet wird zur Verbesserung der den Benutzern angebotenen Qualität und zur Optimierung der Ressourcennutzung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TR2018/11297A TR201811297A2 (tr) | 2018-08-03 | 2018-08-03 | CDN Şirketlerinin Kullanıcılara Verdikleri Kaliteyi Geliştirmek Ve Kaynak Kullanımını Optimize Etmek İçin Kullanılan Sistem |
Publications (1)
Publication Number | Publication Date |
---|---|
TR201811297A2 true TR201811297A2 (tr) | 2018-08-27 |
Family
ID=64559019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TR2018/11297A TR201811297A2 (tr) | 2018-08-03 | 2018-08-03 | CDN Şirketlerinin Kullanıcılara Verdikleri Kaliteyi Geliştirmek Ve Kaynak Kullanımını Optimize Etmek İçin Kullanılan Sistem |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210224136A1 (tr) |
DE (1) | DE112018007888T5 (tr) |
TR (1) | TR201811297A2 (tr) |
WO (1) | WO2020027743A1 (tr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114268672B (zh) * | 2021-12-20 | 2024-01-12 | 北京字节跳动网络技术有限公司 | Cdn节点分配方法、装置、电子设备、介质及程序产品 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7574499B1 (en) * | 2000-07-19 | 2009-08-11 | Akamai Technologies, Inc. | Global traffic management system using IP anycast routing and dynamic load-balancing |
US9237188B1 (en) * | 2012-05-21 | 2016-01-12 | Amazon Technologies, Inc. | Virtual machine based content processing |
US8626910B1 (en) * | 2012-06-19 | 2014-01-07 | Edgecast Networks, Inc. | Systems and methods for performing localized server-side monitoring in a content delivery network |
EP2957080B1 (en) * | 2013-02-12 | 2020-06-10 | Hewlett-Packard Enterprise Development LP | Network control using software defined flow mapping and virtualized network functions |
US10664297B2 (en) * | 2014-02-24 | 2020-05-26 | Hewlett Packard Enterprise Development Lp | Activating pre-created VNFCs when a monitored performance level of a VNF exceeds a maximum value attainable by the combined VNFCs that form a VNF |
FR3023108A1 (fr) * | 2014-06-30 | 2016-01-01 | Orange | Procede et dispositif d'orchestration de ressources |
US9979602B1 (en) * | 2014-08-25 | 2018-05-22 | Cisco Technology, Inc. | Network function virtualization infrastructure pod in a network environment |
WO2016066199A1 (en) * | 2014-10-30 | 2016-05-06 | Hewlett-Packard Development Company L.P. | Virtual content delivery network |
US10356169B1 (en) * | 2014-12-23 | 2019-07-16 | EMC IP Holding Company LLC | Virtual content delivery network |
US9882833B2 (en) * | 2015-09-28 | 2018-01-30 | Centurylink Intellectual Property Llc | Intent-based services orchestration |
WO2017194990A1 (en) * | 2016-05-09 | 2017-11-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Orchestrator for a virtual network platform as a service (vnpaas) |
US10063666B2 (en) * | 2016-06-14 | 2018-08-28 | Futurewei Technologies, Inc. | Modular telecommunication edge cloud system |
EP3501152B1 (en) * | 2016-08-18 | 2019-10-16 | Telefonaktiebolaget LM Ericsson (publ) | Technique for selecting a content distribution network entity |
US11237862B2 (en) * | 2017-03-27 | 2022-02-01 | British Telecommunications Public Limited Company | Virtualized network function deployment |
CN107124306B (zh) * | 2017-04-24 | 2019-11-05 | 电子科技大学 | 网络功能虚拟化环境下的内容交付网络服务器优化部署方法 |
KR102105683B1 (ko) * | 2017-04-28 | 2020-05-29 | 한국전자통신연구원 | 유선 및 이동 통신 서비스의 통합 플랫폼 관리 장치 및 방법 |
US11032236B2 (en) * | 2018-03-31 | 2021-06-08 | Intel Corporation | Technologies for content delivery network with multi-access edge computing |
TR201909549A2 (tr) * | 2019-06-26 | 2019-07-22 | Medianova Internet Hizmetleri Ve Ticaret Anonim Sirketi | Performansı Arttırılmış CDN Hizmeti |
-
2018
- 2018-08-03 TR TR2018/11297A patent/TR201811297A2/tr unknown
- 2018-10-17 DE DE112018007888.4T patent/DE112018007888T5/de active Pending
- 2018-10-17 US US17/265,523 patent/US20210224136A1/en active Pending
- 2018-10-17 WO PCT/TR2018/050599 patent/WO2020027743A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
DE112018007888T5 (de) | 2021-05-20 |
WO2020027743A1 (en) | 2020-02-06 |
US20210224136A1 (en) | 2021-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090327460A1 (en) | Application Request Routing and Load Balancing | |
Wang et al. | Workload balancing and adaptive resource management for the swift storage system on cloud | |
EP3609134B1 (en) | Bgp anycast cluster service quality detection method and detection apparatus | |
Liu et al. | Cost-effective service provisioning for hybrid cloud applications | |
Somula et al. | A honey bee inspired cloudlet selection for resource allocation | |
CN102947798B (zh) | 计算机系统及其控制方法 | |
Jaikar et al. | Cost and performance effective data center selection system for scientific federated cloud | |
Kravets et al. | Multiagent technology for the application of a distributing function for load balancing in multiserver systems. | |
Arunkumar Reddy et al. | Feedback-based fuzzy resource management in IoT using fog computing | |
Kumar et al. | DAIS: dynamic access and integration services framework for cloud-oriented storage systems | |
TR201811297A2 (tr) | CDN Şirketlerinin Kullanıcılara Verdikleri Kaliteyi Geliştirmek Ve Kaynak Kullanımını Optimize Etmek İçin Kullanılan Sistem | |
Pingle et al. | Big data processing using apache hadoop in cloud system | |
Yang et al. | Multi-resource allocation for virtual machine placement in video surveillance cloud | |
Chang et al. | A multiple parallel download scheme with server throughput and client bandwidth considerations for data grids | |
Tekinerdogan et al. | Performance isolation in cloud-based big data architectures | |
Ramasamy et al. | Priority queue scheduling approach for resource allocation in containerized clouds | |
Jayalakshmi et al. | Dynamic data replication across geo-distributed cloud data centres | |
Wu et al. | Adaptive processing rate based container provisioning for meshed micro-services in kubernetes clouds | |
Ding et al. | Research and optimization of the cluster server load balancing technology based on centos 7 | |
Vasireddy et al. | Kubernetes and Docker Load Balancing: State-of-the-Art Techniques and Challenges | |
Bharti et al. | Load Balancing Issues and its Solution in Cloud Computing: A Review | |
Calsin Quinto et al. | Reference Method for Load Balancing in Web Services with REST Topology Using Edge Route Tools | |
Kumar et al. | Adjacency cloud-oriented storage overlay topology using self-organizing m-way tree | |
Seyyedsalehi et al. | Analytical comparison of virtual machine and data placement algorithms for big data applications based on cloud computing | |
Rajadarshini et al. | Optimal double renting scheme based dynamic virtual machine provisioning and allocation for improving QoS and profit maximization |