CZ20021780A3 - Způsob a systém pro řízení přenosu paketů v počítačových sítích - Google Patents

Způsob a systém pro řízení přenosu paketů v počítačových sítích Download PDF

Info

Publication number
CZ20021780A3
CZ20021780A3 CZ20021780A CZ20021780A CZ20021780A3 CZ 20021780 A3 CZ20021780 A3 CZ 20021780A3 CZ 20021780 A CZ20021780 A CZ 20021780A CZ 20021780 A CZ20021780 A CZ 20021780A CZ 20021780 A3 CZ20021780 A3 CZ 20021780A3
Authority
CZ
Czechia
Prior art keywords
queue
transmission
queue level
level
flow
Prior art date
Application number
CZ20021780A
Other languages
English (en)
Inventor
Metin Aydemir
Brian Mitchell Bass
Clark Debs Jeffries
Sonia Kiang Rovner
Michael Steven Siegel
Anthony Matteo Gallo
Brahmanand Kumar Gorti
Marco Heddes
Original Assignee
International Business Machines Corporation
Ibm United Kingdom Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/448,190 external-priority patent/US6724776B1/en
Priority claimed from US09/448,197 external-priority patent/US6657960B1/en
Priority claimed from US09/448,380 external-priority patent/US6771652B1/en
Priority claimed from US09/547,280 external-priority patent/US6674718B1/en
Application filed by International Business Machines Corporation, Ibm United Kingdom Limited filed Critical International Business Machines Corporation
Publication of CZ20021780A3 publication Critical patent/CZ20021780A3/cs

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/568Calendar queues or timing rings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/1546Non-blocking multistage, e.g. Clos using pipelined operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

Oblast techniky
Vynález se týká počítačových sítí, a podrobněji způsobů a systémů pro řízení vyřazování, a tedy přenosu dat v počítačové síti.
Dosavadní stav techniky
V důsledku rostoucího využití různých sítových aplikací, jako např. těch, které pracují s internetem, se zvyšuje zájem o počítačové sítě. Ke vzájemnému propojování Částí sítě nebo k propojování sítí se často používají přepínače. Obr. 1 znázorňuje zjednodušené blokové schéma přepínače 10, který lze použít v počítačové síti. Přepínač 10 obsahuje přepínací strukturu 2 propojenou s rameny 7, a 9. Každé rameno 7, 8 a 9 je obvykle elektrickou vodivou deskou a obsahuje alespoň jeden sítový procesor 2 propojený s porty 4. Porty 4 jsou přímo nebo nepřímo propojeny prostřednictvím různých sítových uzlů s hostiteli {nejsou na obrázku). Ramena 7, 8 a 2 mohou poskytovat provoz pro přepínací strukturu 2 a přijímat provoz z přepínací struktury 3. Jakýkoliv hostitel připojený k jednomu z ramen 7, Εϊ nebo 9 tedy může komunikovat s jiným hostitelem připojeným ke stejnému či jinému rameni 7, nebo 9.
Obr. 2 znázorňuje vysokoúrovňové blokové schéma «t · ··· provedení programovatelného síťového procesoru, který je užitečný jako síťový procesor 2 zobrazený na obr. 1. Jak je zde zobrazeno, síťový procesor 2 obsahuje vstupní přepínací rozhraní 11 (vstupní SWI, z angl. switch interface), vstupní zařazovací/vyřazovatí/plánovací logiku 12 (vstupní EDS, z angl. enqueue/dequeue/scheduling), začleněný procesorový komplex 13 (EPC, z angl. embedded processor complex), vstupní fyzický MAC multiplexor 14 (vstupní PMM, z angl. physical MAC multiplexer), výstupní fyzický MAC multiplexor 15 (výstupní PMM), výstupní zařazovací/vyřazovací/plánovací logiku 16 (výstupní EDS) a výstupní přepínací rozhraní 17 (výstupní SWI). Síťový procesor také může obsahovat jiná paměťová zařízení nebo zařízení pro zpracování. Začleněný procesorový komplex 13 obsahuje řadu protokolových procesorů a koprocesorů. Vstupní EDS 12 a výstupní EDS 16 mohou provádět určité zařazovací, vyřazovací a plánovací funkce pro provoz pohybující se od zařízení, jako jsou ethernetová zařízení, do přepínací struktury, resp. pro provoz pohybující se od přepínací struktury do zařízení. Vstupní SWI 11 a výstupní SWI 17 poskytují spojení pro připojení k jiným zařízením jako např. k jinému síťovému procesoru nebo přepínači (na obr. 2 nejsou zobrazeny) . Vstupní SWI 11 a výstupní SWI 17, používaná spolu s přepínací strukturou, jsou u přepínače 10 propojena s přepínací strukturou 3 (obr. 1). Vstupní PMM 14 a výstupní PMM 15 přijímají provoz ze zařízení fyzických vrstev, resp. předávají provoz zařízením fyzických vrstev. Architektura a provoz zde popsaných programovatelných síťových procesorů podléhají ochraně nezávisle na vynálezech zde popsaných. V některých aplikacích lze funkce, které se podle tohoto popisu realizují pomocí kombinace přepínací struktury s jedním či více síťovými procesory, realizovat pomocí jediného síťového procesoru nebo propojeným párem síťových procesorů nehledě • · ··· · « t · * * · · · * ·««· 1 i»· ftft ·· ···· na jakékoli zajištění přepínací struktury.
Obr. 3 znázorňuje alternativní zjednodušené blokové schéma přepínače 10, přičemž jiným způsobem ukazuje některé z funkcí prováděné síťovými procesory 2. Přestože jsou některé z funkcí prováděny stejnými komponentami, jaké jsou zobrazeny na obr. 1, tyto komponenty lze označit jinak. Přepínací struktura 2 na obr. 1 je zobrazena jako přepínací struktura 26 na obr. 3 například za účelem vysvětlení cesty provozu skrz přepínač 10. Přepínač 10 propojuje hostitele (nejsou zobrazeni) připojené k portům A 18 s hostiteli (nejsou zobrazeni) připojenými k portům B 36. Přepínač 10 tedy umožňuje přenos paketů s daty od zdroje k cíli. Datové pakety mohou obsahovat řadu různých typů datových paketů. Například všechny ethernetové pakety (obvykle označované jako rámce), ATM pakety (obvykle označované jako buňky) a IP pakety (obvykle označované jako pakety) budou v tomto dokumentu označovány jako pakety.
Přepínač 10 provádí různé funkce včetně klasifikace datových paketů poskytnutých přepínači 10, přenosu datových paketů přes přepínač 10 a opětovné sestavení paketů. 0 tyto funkce se starají klasifikátor 22, přepínací struktura 26, resp. znovusestavující jednotka 30. Klasifikátor 22 klasifikuje pakety, které jsou mu poskytnuty a rozdělí každý paket na vhodně velké části, které se zde označují jako buňky. Přepínací struktura 26 je matice propojení, skrz níž jsou buňky přenášeny na své cestě skrze přepínač 10. Znovusestavující jednotka 30 znovu sestavuje buňky do příslušných paketů. Poté mohou být pakety poskytnuty příslušnému portu z portů B 36 a vypuštěny k cílovým hostitelům. Klasifikátor 19 může být součástí jednoho sítového procesoru 1, zatímco znovusestavující jednotka 30
840f>1 /9734081 C.7 rinrl 13 8 9002
0« 000« • · 0 000 0000 • · 00000 »0 ·
Β «000 *00 *000 * 00 0* 0* 00*0 může být součástí jiného sítového procesoru E5. Zobrazené části sítového procesoru 1 a sítového procesoru 5 provádějí funkce pro provoz, který směřuje z portů A 18, resp. k portům Β 36. Sítové procesory 1 a 5 však také provádějí funkce pro provoz směřující z portů A 18, resp. k portům B 36. Každý sítový procesor 1 a 5 tedy může provádět funkce klasifikace a znovusestavení. Navíc každý sítový procesor 1 a 5 může být sítovým procesorem, jak je zobrazeno na obr. 1 a 2.
V důsledku zúžení v přenosu provozu přes přepínač 10 mohou být pakety přinuceny čekat předtím, než se vykonají funkce klasifikace, přenosu a znovusestavení. Následkem toho se mohou vytvořit fronty 20, 24, 28 a 34. S frontami 20, 24, 28 a 34 jsou spojeny zařazovací mechanismy 19, 23, 27 a 32. Zařazovací mechanismy umístůjí pakety či buňky do odpovídajících front a mohou poskytnout oznámení, které se pošle zpět hostiteli, od něhož paket pochází. Funkce klasifikace, zařazení a plánování jsou přednostně zajištovány vstupní EDS logikou 12 a výstupní EDS logikou 16 v sítovém procesoru zobrazeném na obr. 2. Zařazovací mechanismy 19 a 23, fronty 20 a 24, klasifikátor 22 a plánovače 21 a 25 jsou řízeny pomocí vstupní EDS logiky 12. Obdobně zařazovací mechanismy 27 a 32, fronty 28 a 34, znovusestavující jednotka 30 a plánovače 29 a 35 jsou řízeny pomocí výstupní EDS logiky 16.
Na obr. 3 jsou také znázorněny plánovače 21, 25, 29 a 35. Plánovače řídí plánování jednotlivých paketů, které mají Opustit fronty 20, 24, 28, resp. 34. Obecně a jak bude později zřetelnější, zájmem této aplikace je výstupní část sítového procesoru 2, znázorněná na obr. 2 výstupním PMM 15, výstupní EDS logikou 16 a výstupním SWI 17. Jedno vzorové
Γ7 rlrtr ι ή fl fi 9ΠΠ7 • A *· ·· ·4 ♦·
V · « 4 · 4 · · · 4
- 5 - · ♦ * · ··· · · · • · ·»·« · w · •••9 · 4· »· 4* ···· ohnisko tohoto vynálezu zahrnuje plánovač 35, který řídí provoz k portům B 36. Pro srozumitelnost je funkce plánovačů popisována s ohledem na plánovač 35 a frontu 34. Plánovač 35 je typicky vybaven informací týkající se každého rámce ve frontě 34. Tato informace může obsahovat typ paketu, jako např. paket v reálném čase, pro který je důležitá doba přenosu, nebo datový paket, pro který není důležitá doba přenosu. Na základě této informace a dalších poskytnutých informací určí plánovač 35 každý jednotlivý paket ve frontě 34, který má být z fronty vyřazen a poslán směrem ke svému cíli. Plánovač 35 může například obsahovat jeden či více seznamů, z nichž každý obsahuje řadu pozic, a okruh váženého rovnoměrného zařazování, který obsahuje další řadu pozic. Plánovač 35 může umístit určité pakety do seznamu a jiné pakety do okruhu. Plánovač přidělí každé pozici v seznamu určité množství času. Každá pozice v seznamu může obsahovat jediný paket, typicky reprezentovaný identifikátorem, nebo být prázdná. Když plánovač dosáhne určité pozice, tak se paket na této pozici umístěný vyjme z fronty a pošle se ke svému cíli. Pokud je však tato pozice v seznamu prázdná, plánovač 35 počká, dokud neuplyne příslušné množství času, a poté přejde k další pozici v seznamu. Podobně plánovač 35 umísťuje jiné pakety v pozicích okruhu váženého rovnoměrného zařazování plánovače 35. Pozice v okruhu váženého rovnoměrného zařazování může být také buďto obsazena jediným paketem nebo být prázdná. Pokud je pozice obsazena, tak plánovač 35 po dosažení pozice odešle paket na dané pozici. Pokud pozice není obsazena, tak plánovač skočí na následující obsazenou pozici. Pomocí využití plánovače 35 k řízení jednotlivých paketů opouštějících frontu 34 může provoz procházet skrze přepínač 10.
Přestože jsou fronty 20, 24, 28 a 34 zobrazeny
444 · odděleně, odborník s běžnými zkušenostmi snadno nahlédne, že některé z front nebo všechny mohou být součástí stejného fyzického paměťového zdroje.
Pro řízení provozu procházejícího skrze přepínač 10 byly vyvinuty způsoby, čímž se zlepšil výkon sítě, ve které se přepínač používá. Zejména při pokusu o zajištění toho, že paměťový zdroj příslušný paměti, jako např. fronta, nebude přetížen, lze využít způsob známý jako RED (náhodné včasné vyřazení nebo detekce, z angl. random early discard or detection). Obr. 4 znázorňuje způsob použitý při RED. Způsobu RED typicky využívá jeden ze zařazovacích mechanismů
19, 23, 27, 32 k řízení provozu skrz odpovídající fronty 20, 24, 28, resp. 34. Pro srozumitelnost bude způsob RED vysvětlen s odkazem na zařazovací mechanismus 19 a frontu
20,
Na konci krátkého časového intervalu, známého jako epocha, se pomocí zařazovacího mechanismu 19 v kroku 41 určí úroveň fronty 20 pro epochu. Poznamenejme, že určená úroveň fronty může být průměrnou úrovní fronty pro epochu. Navíc určená úroveň fronty může být celkovou úrovní pro paměťový zdroj, jehož součástí fronta 20 je. Poté se v kroku 42 určí, zda úroveň fronty přesahuje minimální práh. Pokud úroveň fronty nepřesahuje minimální práh, pak se v kroku 43 nastaví konvenční podíl přenosu na jedna. Krok 43 také nastaví podíl vyřazení na nula. Podíl přenosu určuje podíl paketů, který bude přenesen v následující epoše. Podíl vyřazení určuje podíl paketů, které budou vyhozeny. Konvenční podíl vyřazení je tudíž roven jedné mínus konvenční podíl přenosu. Podíl přenosu roven jedné tedy udává, že všechny pakety mají být přeneseny a žádný nemá být vyhozen.
J rt A ΛΑΛΑ • 9 Μ·· • 9 «· 99 99 »9 9 999 9999
9 · t · 99 9
9 9999 999
9*99 9 ·· 99 99 9·9·
Pokud se v kroku 42 určí, že úroveň fronty přesahuje minimální práh, pak se následně v kroku 44 určí, zda úroveň fronty pro epochu přesahuje maximální práh. Pokud úroveň fronty přesahuje maximální práh, pak se v kroku 45 konvenční podíl přenosu nastaví na nula a konvenční podíl vyřazení se nastaví jedna. Pokud úroveň fronty nepřesahuje maximální práh, pak se konvenční podíl vyřazení v kroku 46 nastaví tak, aby byl úměrný úrovni fronty předcházející epochy vyděleno maximální možnou úrovní fronty nebo eventuálně nějaké jiné lineární funkci úrovně fronty. Konvenční podíl vyřazení je tedy úměrný podílu fronty 20, který je obsazen, nebo nějaké jiné lineární funkci úrovně fronty. V kroku 46 se tedy nastaví také konvenční podíl přenosu tak, aby byl úměrný jedné mínus konvenční podíl vyřazení.
Konvenční podíl přenosu a konvenční podíl vyřazení nastavené v kroku 43, 45 nebo 46 se poté v kroku 47 použijí v další epoše k náhodnému vyřazení paketů. Když se tedy úroveň fronty nachází pod minimálním prahem, budou během následující epochy přeneseny všechny pakety pomocí zařazovacího mechanismu 19 do fronty 20. Když úroveň fronty přesahuje maximální práh, pak budou během následující epochy všechny pakety pomocí zařazovacího mechanismu 19 vyřazeny nebo budou zařazeny do vyřazovací fronty. Když se úroveň fronty nachází mezi minimálním prahem a maximálním prahem, pak je podíl paketů vyřazených pomocí zařazovacího mechanismu 19 úměrný podílu fronty 20, který je obsazen, nebo nějaké jiné lineární funkci úrovně fronty. Čím vyšší je tedy úroveň fronty, tím vyšší je podíl vyřazených paketů. Navíc lze poskytnout odesílateli vyřazených paketů oznámení, což způsobí, že odesílatel po časový interval zastaví odesílání dalších paketů.
«ν * * · * · v · · • t *·««· · * » ♦ · · « · « · · | f < t « · · < » » · fe k · ·
Jednotlivé pakety, které jsou vybírány k vyřazení, lze také vybírat náhodně. Například zařazovací mechanismus 19 může pro každý paket vygenerovat náhodné číslo mezi nulou a jedničkou. Náhodné číslo se porovná s konvenčním podílem vyřazení. Pokud je náhodné číslo menší nebo rovno konvenčnímu podílu vyřazení, tak se paket vyhodí. V opačném případě se paket pošle frontě 20. V tomto procesu vyřazování paketů založeném na podílu přenosu se pokračuje do té doby, dokud se v kroku 48 neurčí, Se epocha skončila. Když epocha skončí, začne způsob RED znovu v kroku 41, aby určil konvenční podíl přenosu pro následující epochu a vyhodil během následující epochy pakety podle konvenčního podílu přenosu.
Jelikož pakety mohou být vyřazovány na základě úrovně fronty, umožňuje způsob RED určité řízení provozu skrze přepínač 10. V důsledku toho lze kvůli vyhození konce vyhodit méně paketů než u přepínače, který nemá žádný mechanismus pro vyřazování paketů dokud se fronta 20 nezaplní. Vyhození konce nastane, když pakety musí být vyhozeny, protože je fronta zaplněná. V důsledku toho neexistuje možnost brát v úvahu prioritu paketu při určování, zda se má paket vyhodit. Navíc v některých situacích může způsob RED snížit synchronizaci hostitelů, kteří posílají pakety přepínači 10. To nastává, protože pakety lze vyhazovat náhodně, na základě konvenčního podílu přenosu, spíše nežli vyhozením všech paketů, když se úroveň fronty nachází na nebo poblíž maximální úrovně fronty. Výkon přepínače 10 se tudíž vylepšuje přes přepínač, který nevyužívá způsobu RED, tj . přepínač, který jednoduše vyhodí následující přicházející pakety, když se vyčerpají jeho zdroje mezipaměti.
«.“T J__Ί in o nftrtn b * ··· ·
Přestože způsob RED zlepšuje provoz přepínače 10, odborník snadno pozná, že v mnohých situacích způsob nemusí adekvátním způsobem řídit provoz skrz přepínač 10. Navzdory skutečnosti, že pakety nebo buňky lze vyhodit předtím, než se fronta zaplní, hostitelé mají v některých situacích sklon se synchronizovat. To zejména platí o středních či vyšších úrovních zatížení provozu v přepínači 10 Konvenční podíl přenosu je založen na úrovni fronty. Úroveň fronty však nemusí udávat stav přepínače. Například úroveň fronty pod minimálním prahem může být způsobena nízkou úrovní provozu v přepínači 10 (nízkým počtem paketů procházejících přepínačem). Ale nízká úroveň fronty může být také způsobena velkým počtem vyhození v předcházející epoše v důsledku vysokého provozu skrz přepínač 10. Pokud je nízká úroveň fronty způsobena nízkou úrovní provozu, pak je na místě zvyšovat konvenční podíl provozu. Pokud je nízká úroveň fronty způsobena vysokým podílem vyhození, pak může být zvyšování konvenčního podílu přenosu nežádoucí. Způsob RED mezi těmito situacemi nerozlišuje. Následkem toho může být podíl přenosu zvyšován tehdy, kdy by se to nemělo dít. Pokud se to stane, fronta se může rychle zaplnit. Podíl přenosu pak bude snížen a úroveň fronty poklesne. Když poklesne úroveň fronty, podíl přenosu vzroste a fronta se může znovu zaplnit. Přepínač 10 tedy začne oscilovat mezi stavy, kdy jsou fronty plné a fronty prázdné. V důsledku toho se značně sníží průměrné využití přepínače 10 a výkon sítě, která přepínač 10 používá, utrpí.
Obr. 5 znázorňuje vývojový diagram způsobu, který byl nedávno vyvinut zaměstnanci firmy International Business Machines, Inc. v Armonku, New York. Tento způsob je znám jako BLUE. Způsob BLUE bere v úvahu nejen úroveň fronty, nýbrž i rychlost přenosu a rychlost nabídky. Rychlost
84061 /2784061 CZ.doc) 18.6.2002 *1 li»·
I 9 · i ·· *· nabídky je rychlost, jakou jsou pakety a buňky nabízeny zařazovacímu mechanismu, aby je poskytl odpovídající frontě. Stejně jako způsob RED bude způsob BLUE popsán pomocí zařazovacího mechanismu 19 a fronty 20. V kroku 52 se pro epochu, která právě skončila, určí úroveň fronty pro frontu 20, podíl přenosu poskytnutý frontě 20 zařazovacím mechanismem 19 a rychlost nabídky. Rychlost nabídky je rychlost, jakou jsou pakety poskytovány zařazovacímu mechanismu 19. Rychlost nabídky tedy může pocházet od provozních toků poskytovaných jedním nebo více porty A 18.
Poté se v kroku 54 určí, zda nastala ztráta paketů nebo je úroveň fronty vyšší než určitý práh. Pokud ano, tak se v kroku 56 podíl vyřazení zvýší o první konstantní množství, které lze určit empiricky. V kroku 56 se sníží podíl přenosu, který je roven jedné mínus podíl vyřazení. Pokud se v kroku 54 určí, že by podíl vyřazení neměl být zvýšen, pak se v kroku 58 určí, zda se má podíl vyřazení snížit. Podíl vyřazení by se měl snížit, jestliže je úroveň fronty nízká nebo je nízká rychlost nabídky. Pokud se má podíl vyřazení snížit, tak se toho dosáhne v kroku 60 odečtením druhého konstantního množství, které lze také určit empiricky. Podíl vyřazení určený v kroku 56 nebo 60, pokud se změnil, nebo starý podíl vyřazení se poté v kroku 62 použije k určení podílu paketů, které mají být přeneseny do fronty 20 během následující epochy. V kroku 62 mohou být pakety vyřazeny náhodně nebo také se zřetelem na prioritu každého paketu. Tak je zaručeno, že se udržuje správný podíl vyřazení, a tím i správný podíl přenosu. V kroku 64 se poté určí, zda epocha skončila. Pokud ano, nastane návrat ke kroku 52. V opačném případě se způsob BLUE opakuje začínajíc krokem 62. Další podrobnosti o BLUE může čtenář v případě zájmu nalézt na webovské stránce
84061 Í2784061 CZ.docl 18.6.2002
- li - * .i β·* e :..ppfs»-feháfetrana ♦ · ft · · VWA * ·♦♦· · ·· »* *··* webovské stránce http://www.eecs.umich.edu/usuchang/blue/ .
Přestože způsob BLUE dobře slouží svému zamýšlenému účelu a je vylepšením způsobu RED, odborník snadno zjistí, že způsobu BLUE může trvat poměrně dlouhou dobu, než dosáhne stabilního stavu. I když se tedy zlepší výkon oproti způsobu RED, výkon sítě může být ještě slabší, než se požaduje.
Osaki H. a kol.:Analysis of rate-based congestion control algorithms for ATM networks. part 2: Initial transient statě analysis, na stranách 1095-1101 popisuje systém, v němž se rychlost buněk přizpůsobuje pomocí empiricky určeného konstantního množství na základě úrovně fronty a rychlosti nabídky.
Jiný způsob řízení provozu skrz přepínač poskytuje zákazníkům různou obsluhu, např. na základě ceny, kterou odběratel za obsluhu zaplatí. Odběratel si může přát zaplatit více pro zajištění rychlejší odezvy nebo pro zajištění toho, že provoz bude pro odběratele přenášen i tehdy, když se sníží provoz pro ostatní odběratele v důsledku přetížení. Tak se vyvinula koncepce diferenciované obsluhy. Diferenciovaná sluha může pro různé zákazníky zajistit různé úrovně obsluhy nebo provozních toků skrze síť.
DiffServ je objevujícím se standardem Komise techniky internetu (IETF, z angl. Internet Engineering Task Force) pro zajištění diferenciované obsluhy (viz IETF RFC 2475 a příslušné reference). DiffServ je založen na funkčních souhrnných tocích. Na funkční souhrnný tok lze pohlížet jako na potrubí od jednoho konce sítě do jiného konce sítě.
84061 (2784061_CZ.doc) 18.6.2002
11a
ΐ : ϊ'*. . Úpfevefiá strana • ♦ ♦ · * * · ·· ·· ·*♦··*
V rámci každého funkčního souhrnného toku mohou existovat stovky relací mezi jednotlivými hostiteli. DíffServ však nezodpovídá za relace ve funkčním souhrnném toku. Namísto toho DíffServ odpovídá za přidělení šířky pásma mezi funkční souhrnné toky. Podle způsobu DíffServ má být nadbytečná šířka pásma přidělena rovnoměrně mezi funkční souhrnné toky.
Navíc zajišťuje DíffServ níže popsaná kritéria pro měření
84061 (2784061_CZ.doc) 18.6.2002
0000 >0 9« » «0 «· * 0 0 0 ♦ 0 « « « 00 ·*· 00 »
0 0000 · 0 0 0000 0 00 00 «0 *0*0 toku.
Jeden mechanismus zajištění různých úrovní obsluhy využívá kombinace vah a úrovně fronty k tomu, aby zajistil různé úrovně obsluhy. Takový způsob znázorňuje obr. 6. Prahy úrovně fronty a váhy se nastaví v kroku 72. Prahy úrovně fronty v kroku 72 typicky nastaví síťový administrátor, váhy lze nastavit pro různá vedení neboli toky skrze konkrétní frontu, přepínač 10 nebo síťový procesor 1 nebo 5. Váhy se tedy typicky nastaví pro různé funkční souhrnné toky. Na konci časového intervalu známého jako epocha se v kroku 74 typicky pozorují okamžité úrovně front, zprůměrované úrovně front, okamžité rychlosti toků vedením nebo zprůměrované rychlosti toků vedením. Toky pro vedení se poté v kroku 76 změní na základě toho, jak se úroveň fronty porovná s prahem úrovně fronty, a na základě vah. Toky pro vedení, která mají vyšší váhu, podstoupí v kroku 76 větší změny. Hodnota fronty nebo rychlost toku vedením pro vedení určuje, jaký podíl provozu nabízeného vedením frontě, jako je fronta 34, bude do fronty 34 přenesen příslušným zařazovacím mechanismem, jako je zařazovací mechanismus 32. Provoz je tedy v kroku 78 na základě toků přenesen do fronty nebo vypuštěn. Síťový administrátor poté v kroku 80 určí, zda jsou splněny požadované úrovně obsluhy. Pokud ano, tak síťový administrátor dokončil svůj úkol. Pokud však požadované úrovně obsluhy není dosaženo, tak jsou v kroku 72 úroveň fronty nebo prahy úrovně toku vedením, a případně váhy, smazány a způsob se opakuje.
Přestože zde popsaný způsob DiffServ funguje, odborník snadno nahlédne, že je těžké určit, jaký efekt bude mít změna prahů úrovně fronty na konkrétní vedení v síti. Síťový administrátor, který způsob používá, může strávit značnou
84061 (2784061_CZ.doc) 18.6.2002 «V *»♦·
- ·· ··
4 « 4 · » • 4 4 » ·»· · · φ’ · ϊ Ϊ « · « t <
«444 · «4 44 4« «·♦« dobu experimentováním, než dosáhne požadované rychlosti toku pro různé zákazníky nebo vedení (funkční souhrnné toky) v počítači.
Navíc způsob nepřímo zpracovává parametry, které se typicky používají k měření kvality obsluhy. Úrovně front nejsou přímou mírou kritérií typicky používaných pro obsluhu. Úrovně obsluhy se typicky např. v DiffServ (viz IETF RFC 2475 a příslušné reference) měří pomocí čtyř parametrů: míra vypuštění, šířka pásma, doba latence a kolísavost. Míra vypuštění je procento provozu, který je vypuštěn při tom, jak prochází skrz přepínač. Šířka pásma funkčního souhrnného toku je pro funkční souhrnný tok mírou množství provozu, který překročí přepínač a dosáhne svého cíle. Doba latence je zdržení způsobené při vysílání provozu přes sít. Kolísavost je variace doby latence v průběhu času. Úrovně fronty se nepovažují za přímé míry kvality obsluhy. Způsob se tedy přímo nezabývá žádným kritériem pro kvalitu obsluhy, a proto je pro sítového administrátora obtížnější využít způsob k zajištění různých úrovní obsluhy.
I při použití způsobu RED nebo způsobu BLUE může být plánovač jako např. plánovač 35 zásoben větším množstvím činnosti, než lze v daném čase uskutečnit. Zejména pokud je požadavek na odstranění příliš mnoha paketů z fronty 34 v konkrétním čase, nemusí být plánovač schopen zvládnout provoz skrz přepínač 10. Například plánovač 35 může být schopen zajistit to, že pakety odstraněné z fronty 34 budou odeslány směrem k jejich cílovému místu určení, jako je např. cílový port, první rychlostí. První rychlost může být omezena řadou faktorů, jako např. schopností cílového portu přijímat provoz. Způsoby RED a BLUE mohou umožňovat to, aby pakety byly odstraněny z fronty druhou rychlostí. Jestliže
84061 (2734061_CZ.doc) 13.6.2002 li 1111 η λ» * * 4 · «4(1 « 4 «
4 1(4*·
I . · 4 « · · * , ' 4 I 1« · »41<‘* je druhá rychlost větší než první rychlost, pak se pakety začnou hromadit v plánovači 35. Pokud například plánovač 35 obsahuje seznam a okruh váženého rovnoměrného zařazování, pak se mohou obsadit všechny pozice v seznamu a okruhu váženého rovnoměrného zařazování. Odchod paketů z fronty 34 se tak zastaví, dokud se neotevře pozice v seznamu nebo okruhu váženého rovnoměrného zařazování v plánovači 35. Následkem toho se zvýší doba latence pro pakety procházející skrz přepínač 10, provoz se zpomalí a přepínač 10 nebude fungovat tak účinně, jak je požadováno.
Vezmeme-li v úvahu výše uvedený popis, bude všem odborníkům zřejmé, že je zapotřebí systémů a způsobů, které lépe řídí provoz skrze přepínač. Tento vynález se zabývá takovými požadavky.
Podstata vynálezu
Tento vynález poskytuje způsoby, zařízení a počítačově snímatelná média, které umožňují řízení toku množství paketů v počítačové síti. Počítačová síť obsahuje frontu. Způsoby a zařízení obsahují určování úrovně fronty pro frontu a určování rychlosti nabídky množství paketů frontě. Způsoby a zařízení také zahrnují řízení podílu přenosu množství paketů do fronty na základě úrovně fronty a rychlosti nabídky tak, že podíl přenosu a úroveň fronty se kriticky ztlumí (jak je definováno v tomto dokumentu), pokud se úroveň fronty nachází mezi první úrovní fronty a druhou úrovní fronty.
Podle způsobů, zařízení a médií uvedených v tomto dokumentu poskytuje tento vynález mechanismy pro zajištění podílu přenosu, a tudíž pro vyhozeni paketů, tak, aby byla
34061 í27R4t161 C.7 rinrl 18.6.2002 ·« ·»·· • · * · · · • · · ♦·· • · · · · · »··· · <· • · · i : / ···· ale aby rychle dosáhla
- 15 počítačová sít nejen stabilní, rovnováhy.
Přehled obrázků na výkresech
Vynález bude blíže λ konkrétních příkladů provedení zn kterých představuje obr. 1 zjednodušené blokové schéma přepínače, použitelného v počítačové síti;
obr. 2 zjednodušené blokové schéma programovatelného sítového procesoru, použitelného v počítačové síti a schopného pracovat v určitých aplikacích jako přepínač;
obr. 3 alternativní zjednodušené blokové schéma přepínače, použitelného v počítačové síti;
zysvětlen prostřednictvím Lázorněných na výkresech, na
obr. 4 vývojový řízení pr diagram ovozu skr; znázorňuj ící z přepínač; způsob RED pro
obr. 5 vývojový diagram znázorňuj ící způsob BLUE pro
řízení provozu skrz přepínač;
obr. 6 vývojový diagram znázorňující způsob DiffServ
pro řízení provozu skrz přepínač t
obr. 7 zjednodušený vývojový diagram znázorňující určité charakteristiky způsobu pro řízení provozu skrz přepínač, jako na obr. 1 až 3,
Ί ΆΛΛΛ
- 16 - 44 4444 • 4 · 4 4 • · 4444 4 ·· 44 44 44 4 4 4 4 · 4 • 4 ··· · * 4 4 4 4 4 4 4 4 »4 44 444
podle tohoto vynálezu;
obr. 8 zjednodušený vývojový způsobu z obr. 7; diagram implementace
obr. 9 pohled podobný charakteristiky jiného vynálezu; obr. 7, způsobu znázorňuj ící podle tohoto
obr. 10 zjednodušený vývojový diagram určitých kroků ve způsobu, použitelných ve způsobu z obr. 9;
obr. 11 zjednodušený vývojový způsobu z obr. 9; diagram implementace
obr. 12 pohled podobný obr. charakteristiky jiného vynálezu; 7 a 9, způsobu znázorňuj ící podle tohoto
obr. 13 zjednodušený vývojový diagram implementace
způsobu z obr. 12;
obr. 14 zjednodušený vývojový diagram jiné implementace způsobu z obr. 12;
obr. 15 a 16 (společně) zjednodušený vývojový diagram další implementace způsobu podle tohoto vynálezu;
obr. 17 zjednodušený vývojový diagram určitých kroků ve způsobu, použitelných ve způsobu z obr. 15 a 16;
obr. 18 zjednodušený vývojový diagram určitých kroků ve
O>nC4 /ΉΟΙιΟΏΙ •9 9999 ·· ·* 9 9 9
9
9 9 9 9
9 9 9 999 • 9 9999 999 «·*· 9 99 99 99 9>99 způsobu, použitelných ve způsobu z obr. 15 a 16;
obr. 19 schematické znázornění plánovače přítomného v přepínačích na obr. 1 až 3;
obr. 20 vývojový diagram určitých kroků ve způsobu, použitelných ve způsobech podle tohoto vynálezu a uplatňujících plánovač z obr. 19;
obr. 21 vývojový diagram určitých kroků ve způsobu, použitelných ve způsobech podle tohoto vynálezu a uplatňujících plánovač z obr. 19;
Příklady provedení vynálezu
Tento vynález se týká vylepšení v řízení provozu v počítačových sítích. Následující popis je prezentován tak, aby odborníkovi umožnil vytvořit a používat různá provedení vynálezu, a je poskytován v kontextu patentové přihlášky a jejich nároků. Odborníky snadno napadnou různé obměny upřednostňovaných provedení a obecné principy zde uvedené lze aplikovat na ostatní provedení. Tento vynález tedy není zamýšlen jako omezující se na uvedená provedení, ale měl by být ve shodě s nej širším rozsahem v souladu s principy a znaky zde popsanými.
Přepínače v počítačových sítích typicky obsahují fronty, což mohou být logické fronty, které jsou součástí stejného paměťového zdroje, nebo oddělené paměťové zdroje, v nichž jsou dočasně uloženy pakety či menší kusy paketů nazývané buňky. Zařazovací mechanismy, které umísťují pakety do front mohou také obsahovat mechanismus pro vyřazování
84061 (2784061_CZ.doc) 18.6.2002 ·· »» *· ** • · · · · · · 9 9 9 9 999 9 9 * * 9 ·· 99 ·99 9 9 · «999 999
999 9 9* 99 99 9999 paketů za účelem řízení provozu skrz přepínač a zlepšení činnosti sítě. Například náhodné včasné vyřazení nebo detekce (RED), popsané výše ve způsobu na obr. 4, vyřazuje určité pakety na základě úrovně fronty. Přestože RED v mnohých situacích funguje, v mnohých sítích nezlepšuje RED sítový výkon. Například sítě, v nichž přepínače mají střední nebo vysoké množství provozu, budou stále podléhat oscilacím. Tímto mohou takové sítě přenášet pouze velmi malé množství provozu v porovnání s kapacitou, na kterou byly takové sítě navrženy.
Tento vynález poskytuje způsoby, zařízení a počítačově snímatelná média, které obsahují instrukce pro řízení toku množství paketů v počítačové síti. Počítačová sít obsahuje frontu. Způsoby, zařízení a média obsahují určování úrovně fronty pro frontu a určování rychlosti nabídky množství paketů frontě. Obsahují také řízení podílu přenosu množství paketů do fronty. Podíl přenosu je řízen na základě úrovně fronty a rychlosti nabídky tak, že podíl přenosu a úroveň fronty se kriticky ztlumí, pokud se úroveň fronty nachází mezi první úrovní fronty a druhou úrovní fronty.
Tento vynález bude popisován z hlediska konkrétních systémů a konkrétních komponent. Odborník však snadno nahlédne, že tyto způsoby a systémy budou účinně fungovat pro další komponenty v počítačové síti. Tento vynález bude také popisován v kontextu fronty. Odborník však snadno nahlédne, že tento vynález účinně funguje, když jsou fronty logickými frontami v rámci jediného paměťového zdroje nebo když jsou fronty součástí oddělených paměťových zdrojů. Tento vynález je také popisován v kontextu kritického tlumení systému. Odborník však snadno nahlédne, že tento vynález běžně pracuje nad epochami. Skýtané tlumení tedy
·· ··*
11 1 1 1 · 111 ·· « · * • « ·* • · ·*»· 9 « i 1 1
19
111 19 119 · nemůže být okamžitým kritickým tlumením v každém okamžiku činnosti. Tento vynález bude také popisován z hlediska paketů a front, které se používají před nebo po provedení specifických operací. Odborník však snadno nahlédne, že způsoby a systémy pracují účinně pro další části provozu, jako jsou buňky, jiné fronty a před nebo po provedení dalších operací. Tento vynález bude také popisován z hlediska řízení sítových toků aktivním vyřazováním paketů. Odborník však snadno nahlédne, že způsoby a systémy řídí rychlost paketů přicházejících do fronty a že signál zaslaný zdroji a přikazující zaslání podílu paketů s tím, že ostatní mají být u zdroje zadrženy, bude účinný. Proto řízení podílu přenosu je analogovým řízením rychlosti, jakou jsou pakety nabízeny např. jedním či více zdroji.
Pro konkrétnější ilustraci způsobu a systému podle tohoto vynálezu nyní odkazujeme na obr. 7, který znázorňuje jedno provedení způsobu 90 podle tohoto vynálezu. Způsob lze použít spolu s přepínačem 10 zobrazeným na obr. 1. Pro srozumitelnost bude způsob 90 vysvětlen ve spojení s frontou 20 a zařazovacím mechanismem 19, které jsou zobrazeny na obr. 3. Způsob 90 však lze použít s jinými frontami, jako jsou např. fronty 24, 28, 34. Způsob 90 lze také použít s jinými zařazovacími mechanismy, jako jsou např. zařazovací mechanismy 23, 27, 32. V upřednostňovaném provedení je způsob 90 použit v systému, v němž je několik front součástí stejného paměťového zdroje. Nic však nebrání tomu, aby byl způsob 90 použit v jiném systému, v němž každá fronta má oddělený paměťový zdroj.
Pokud jde o obr. 7, v kroku 92 se určí úroveň fronty a rychlost nabídky pro předcházející epochu. V upřednostňovaném provedení se úroveň fronty určí na konci
84061 12784061 CZ.doc) 18.6.2002
4 4 4 • 4 44
4« ··94 předcházející epochy a je úrovní paměťového zdroje.
V upřednostňovaném provedení také rychlost nabídky, určená v kroku 92, je celkovým nabízeným vstupem do paměťového zdroje během předcházející epochy. V upřednostňovaném provedení se v kroku 92 také určí podíl přenosu pro předcházející epochu. V alternativním provedení určení úrovně fronty ve způsobu 90 obsahuje určení úrovně fronty 20 příslušející zařazovacímu mechanismu 19. V upřednostňovaném provedení je podíl přenosu konstantní během epochy, a lze jej tedy určit v libovolné době během předcházející epochy, avšak přednostně se určí na začátku předcházející epochy pomocí způsobu 90.
Poté je řízen podíl přenosu tak, že se v kroku 94 podíl přenosu a úroveň fronty kriticky ztlumí nad rozsahem úrovní fronty. Podíl přenosu je řízen na základě úrovně fronty a vstupního podílu. V upřednostňovaném provedení je podíl přenosu také řízen na základě předchozího podílu přenosu.
V upřednostňovaném provedení spočítá krok 94 změnu v podílu přenosu pro kritické tlumení a přičte změnu v podílu přenosu k podílu přenosu pro předcházející epochu. Rozsah úrovní fronty, nad nímž je podíl přenosu takto řízen, se může rozšířit na všechny možné úrovně fronty. V upřednostňovaném provedení se však rozsah, nad kterým je podíl přenosu řízen pro kritické tlumení, nachází mezi minimální úrovní fronty, větší než anebo rovnou nule, a maximální úrovní fronty, menší než anebo rovnou maximální možné úrovni fronty. Poté se v kroku 96 použije podíl přenosu k vyřazení paketů tak, aby byla zachována funkce přepínače. Podíl přenosu lze použít k vyřazení patřičného podílu paketů, protože podíl přenosu je roven jedné mínus podíl vyřazení. Jak je popsáno výše, podíl vyřazení je podíl paketů, které mají být vyřazeny. V jednom provedení jsou pakety vyřazovány náhodně.
«· ·«··
V · · ♦ · • · « · ·««« ♦
9« «·
9 9 • · ··· »· · • «« *
9
9999
V jiném provedení se však pakety vyřazují částečně na základě priority paketu. V upřednostňovaném provedení také vyřazení paketu v kroku 96 poskytne oznámení vysílajícímu hostiteli, že paket byl vyřazen. V důsledku toho může hostitel dočasně zadržet provoz do přepínače IQ.
Jak je popsáno výše, podíl přenosu je řízen v kroku 94 tak, aby zajistil kritické tlumení pro systém popsaný podílem přenosu a úrovní fronty. To umožňuje, aby provoz skrz frontu 20 a tedy přepínač 10 rychle dosáhl stabilního stavu. Jelikož je zajišťováno kritické tlumení, provoz skrz frontu 20, jak je popsáno pomocí úrovně fronty a podílu přenosu, by měl dosáhnout stabilního stavu v minimálním množství Času. Podíl přenosu potřebný pro kritické tlumení a vztah mezi podílem přenosu a úrovní fronty lze popsat různými teoriemi, které jsou uvedeny dále.
Úroveň fronty a rychlost vyřazování lze považovat za proměnné, které popisují stav fronty 20. Když se úroveň fronty zvýší, měla by se zvýšit rychlost vyřazování, aby se předešlo tomu, že se fronta 20 zaplní. Pokud se však zvýší rychlost vyřazování, měla by úroveň fronty poklesnout. Lze tedy uvažovat, že fronta má pozitivně-negativní zpětnovazební smyčku, neboli vztah, mezi úrovní fronty a rychlostí vyřazování. A právě tento vztah může způsobit oscilace v konvenčním systému. Tento vynález lze považovat za přídavné napětí pro rychlost vyřazování tak, že se rychlost vyřazování nemění tak rychle spolu s úrovní fronty, jak tomu je v konvenčních způsobech pro řízení provozu, jako je např. RED. Následkem toho lze oscilace ztlumit nebo jim předcházet.
Tento vynález lze také vysvětlit pomocí teorie
84061 Í2784061 CZ.docl 18.6.2002
9« • 9 0 0 ft 0 « · 9 •ft 909« ft· ··· • 0 * · · • · ftftft •v • 0 • 9*0 ·
0 · 0 09 ·♦ stability. Pro jednoduchost je však použito rychlosti přenosu, spíše nežli rychlosti vyřazování. Úroveň fronty lze popsat pomocí podílu přenosu, rychlosti nabídky a rychlosti výstupu. Rychlost výstupu je rychlost, kterou jsou informační jednotky vysílány ven z fronty nebo paměťového zdroje. Změna úrovně fronty vzhledem k času je dána rychlostí přenosu násobené rychlostí nabídky mínus rychlost výstupu. Změna úrovně fronty vzhledem k času je tedy rovna rychlosti, kterou informační jednotky do fronty vstupují, mínus rychlost, kterou jednotky z fronty vystupují. To lze vysvětlit jako:
dQ(t)/dt = I(t)*T(t) - 0(t) kde:
Q(t) = úroveň fronty
I<t) = rychlost, jakou jsou informační jednotky (tj.
pakety) nabízeny zařazovacímu mechanismu
T(t) = podíl přenosu = tj. Podíl informačních jednotek nabízených zařazovacímu mechanismu, které jsou do fronty zařazeny
0(t) = rychlost, kterou informační jednotky vystupují z fronty
Poznamenejme také, že:
D(t) = 1 - T(t)
D(t) = podíl vyřazení «· 00 ·· 00
0 0 0 · 0 · • 0 ·»♦ 0 0 0
0« · 0 · 0 0 0 0 0« · · ·
00 00 0*00 • «I 00·· 0 · · • * φ · • 00« »
Všimněte si také, že Q(t), I(t) a 0(t) nezáporné a že T(t) má hodnoty v rozmezí [0,1]
Vztah mezi časovou rychlostí změny úrovně fronty a podílem přenosu je vymezen vlastnostmi fronty 20. Obdobně vztah mezi podílem vyřazení a podílem přenosu je vymezen jejich vlastnostmi. Podíl přenosu však sám o sobě může představovat prakticky jakékoliv požadované množství. Kromě toho se podíl přenosu může měnit podle potřeby. Podíl přenosu lze tedy nastavit tak, aby se zajistilo kritické tlumení. V upřednostňovaném provedení se vybírá podíl přenosu tak, aby jej popisoval vzorec:
dT{t)/dt = *(t) * ( β - a T(t) - Q/Qmax) jsou zásadně kde:
κ (t) = číslo, které může být závislé na Čase ot = konstanta β = konstanta
Qmax = maximální možná úroveň fronty
Jelikož neexistují jiná fyzická omezení předepsaná pro podíl přenosu než ta, že se musí nacházet mezi nulou a jedničkou, a lze jej volit libovolně.
Jak je popsáno výše, cílem podílu přenosu je zajistit kritické tlumení, což systému umožní dosáhnout stability, jak nej rychleji to jde. Pro jednoduchost vysvětlení kritického tlumení budeme předpokládat, že rychlost nabídky, I(t), a rychlost výstupu, O(t), jsou v rovnovážném, stabilním stavu konstantní. Analýza však platí i v případě, kdy se I(t) a 0(t) stále mění, jak obecně platí u sítí.
84061 (2764061 CZ.doc) 13.S.2002 •«ί • · ·
Φ «
«»·« «V «V • 9 9 • · «·· * 9 « 4 ©· «· ·· «
Φ*Α·
Pokud jsou rychlosti nabídky a výstupu konstantní, tak by v rovnovážném stavu rychlost změny úrovně fronty vzhledem k času a rychlost změny přenosu vzhledem k času měly být nulové. Jinak řečeno, v rovnovážném stavu platí;
= I{t)*T(t) - 0(t) = (t)*( - T(t) - Q/Qmax)
Kt) = i = konstanta 0(t) = 0 = konstanta
V důsledku toho v rovnovážném stavu platí:
T = 0/1 ď *T = β - Q/Qmax
Pro zřetelnost také předpokládejme, že v minimu je Q/Qmax konstantou, např. 0,25. Je stanoveno, že maximální poměr I/O, který se povoluje v oblasti stability, je 1,6; v tomto poměru I/O dosáhne Q hodnoty Qmax a T = 5/8. Taktéž je stanoveno, že při hodnotě Q nižší nebo rovné Qmax/4 by se T mělo rovnat jedné. V těchto dvou extrémních rovnovážných stavech tedy platí:
= β - a *5/8 - 1 a = β - a - 1/4
Z těchto předpokladů lze stanovit numerické hodnoty a a β jako 2, resp. 2,25. Poznamenejme, že lze stanovit jiné tolerance pro Q/Qmax a obdržet jiné numerické hodnoty a a β. a a β tedy lze určit na základě rovnovážných podmínek a
ΊΟί'ΎΐΛ'ϊ
4444
4
4·· 4 »· «4 44 44 ♦ · 4 · 4 4
4 444 4 4 4 • 4 4 4 4 4 4 • 4 44 4« *444 několika předpokladů ohledně rozsahů, ve kterých má přepínač 10 podle požadavků pracovat.
Za účelem stability lze pomocí parciálních derivací určit lineární aproximační matici pro systém úrovně fronty a podíl přenosu. Matice, která tento systém popisuje, je tedy následující:
#(dQ/dt)/ ?í(dQ/dt)/ *T 0 1 #(dT/dt)/ #(dT/dt)/ #T «-(t)/Qmax a~*{t)
Charakteristické hodnoty matice mají záporné reálné části. Trajektorie pro systém popsaný pomocí úrovně fronty a podílu přenosu je tedy stabilní. Tj. , provoz skrz přepínač lze tedy řídit tak, aby byl stabilní, nad rozsahem úrovní. Navíc charakteristické hodnoty jsou stejné přesně tehdy, když (t) = I/Qmaxí což je podmínka pro kritické tlumení.
Z teorie diferenciálních rovnic plyne, že kritické tlumení je zajištěno, když se druhá mocnina pravé strany matice pro systém rovná čtyřem krát determinant. Jinými slovy:
a2 * K2(t) = 4* K(t) * I/Qmax neboli
K(t) = 4* I/Qmax * a2) = IítJ/Qmax pro výše uvedené předpoklady
Abychom obdrželi podíl přenosu, který zajistí kritické tlumení v hodnotách, pro něž má systém fungovat, můžeme tedy volit j (t) , a. a β. Pomocí výše uvedených rovnic lze pro přepínač 10 zajistit podíl přenosu, požadovaný k zajištění kritického tlumení. Pomocí výše uvedených předpokladů pro Q/Qmax a I/O například pro systém popsaný podílem přenosu a úroveň fronty dostáváme:
84061 (2784061 CZ.doc) 18.6.2002 ftft ft ft · «ftftft • « ftft ··· ftft • · ftft ftft ftftftft · ft · ftftftft ftftft ft··· ft ·« ·· ftft ft··· • ft ftftft·
Q(t + Dt) = Q(t) + [I(t)*T(t) - O(t)]*Dt
T(t + Dt) = T(t) + (I (t) *Dt/Qmax) * (2,25 - 2*T(t) - Q<t)/Qmax) kde:
Dt = časový interval mezi výpočty Q a T = doba pro epochu QítJ/Qmax je větší nebo rovno 0,25 I(t)/O(t) je menší nebo rovno 1,6
Aby se postihly situace, kde jsou výše uvedené podmínky pro Q(t) , I(t) a O(t) porušeny, je možné změnit podíl přenosu na základě úrovně fronty. Například je-li Q/Qmax nižší než 0,25, lze podíl přenosu stanovit jako jedna. Obdobně je-li I(t)/O(t) větší než 1,6, začne se fronta zaplňovat rychleji než je žádoucí. Proto dosáhne-li fronta úrovně maximální hodnoty nebo se jí přiblíží, lze podíl přenosu stanovit na nulu nebo nějakou malou hodnotu.
Jak bylo uvedeno výše, ačkoli výše popsaná analýza byla vysvětlena za předpokladu, že rychlost nabídky, lít), a rychlost výstupu, O(t), jsou v rovnovážném stavu konstantní, analýza pro kritické tlumení platí i tehdy, když I(t) a O(t) nejsou v rovnovážném stavu konstantní. Kritické tlumení lze tedy přesto zajistit, což umožňuje, aby se podíl přenosu rychle přizpůsobil změnám v úrovni fronty a tedy v rychlosti nabídky a rychlosti výstupu.
Pro zřetelnější vysvětlení způsobu a systému podle tohoto vynálezu viz obr. 8, který znázorňuje podrobnější provedení způsobu 100 pro řízení provozu skrz přepínač. Pro srozumitelnost bude způsob 10Q popsán pomocí zařazovacího
84061 (2784061_CZ.doc) 18.6.2002 •4 ···· • · · · 4 · 4 • 4 444 4 4 4 • · 4 4 4 4 4 ·· 44 44 4444 mechanismu 19 a fronty 20 přepínače 10. Zařazovací mechanismus 19 tedy provádí způsob 100. Způsob 100 vsak může být použit jiným zařazovacím mechanismem. Navíc, přestože je zde odkazováno na úrovně front a rychlosti nabídky zařazovacímu mechanismu 19, určovaná úroveň fronty může platit pro celý paměťový zdroj a rychlost nabídky může platit pro celý paměťový zdroj.
V kroku 102 se určí úroveň fronty a rychlost nabídky pro předcházející epochu. Úroveň fronty se přednostně určí v souvislosti s minimální úrovní fronty, Qmin, a maximální úrovní fronty, Qmax, na konci epochy. V kroku 102 je též dostupný podíl přenosu pro předcházející epochu. Podíl přenosu bude obecně určen pomocí způsobu 100, a bude tudíž běžně dostupný. Podíl přenosu však je možné určit, pokud již není dostupný.
V kroku 104 se poté určí, zda úroveň fronty přesahuje Qmin· Pokud ne, tak se v kroku 106 podíl přenosu nastaví na jedna. Krok 106 tedy zajišťuje, že pokud je úroveň fronty dostatečně nízká, budou všechny pakety přeneseny zařazovacím mechanismem 19 do fronty 20. Pokud se v kroku 104 určí, že pak se v kroku 108 určí, zda Pokud úroveň fronty přesahuje úroveň fronty přesahuje Qr úroveň fronty přesahuje Qm
Qmax, tak se v kroku 110 podíl přenosu nastaví na nula. Krok 110 tedy zajišťuje, že pokud je úroveň fronty příliš vysoká, budou všechny pakety vyřazeny.
Pokud úroveň fronty není ani pod Qmin ani nad Qmax, tak se v kroku 112 řídí podíl přenosu pro kritické tlumení. V upřednostňovaném provedení se podíl přenosu nastaví pomocí výše popsaných rovnic. Podíl přenosu se tedy nastaví pro kritické tlumení na základě úrovně fronty, rychlosti nabídky
84061 (2784061_CZ.doc) 18.6.2002 •0 00 • 0 0 0
0 0
0 0 •0 ·«·« ··
0 0
0 000 •0 1000 *00·
0 0 *0 00 a podílu přenosu z předcházející epochy, jakož i délky epochy. Pomocí podílu přenosu nastaveného v kroku 106, 110 nebo 112 jsou pakety přeneseny nebo vyřazeny (krok 114) zařazovacím mechanismem 19 tak, že podíl paketů poskytnutých frontě 20 je roven podílu přenosu. Pakety se přednostně vyřazují náhodně, podobným způsobem, jaký je použit v konvenčním RED popsaném výše s ohledem na obr. 4. Avšak, zpět k obrázku 8, pakety mohou být také vyřazovány na základě priority. Navíc se přednostně pošle oznámení zpět hostitelům vysílajícím vyřazené pakety, aby hostitelé mohli dočasně pozdržet provoz do přepínače. Poté se v kroku 116 určí, zda byla aktuální epocha dokončena. Toho lze dosáhnout určením, zda uplynula specifická doba od skončení výpočtu podílu přenosu. Pokud epocha nebyla dokončena, pokračuje krok 114. Pokud epocha byla dokončena, nastane návrat ke kroku 102.
Podíl přenosu lze tedy nastavit pro kritické tlumení pomocí způsobu 90 nebo způsobu 100. Kritické tlumení přednostně nastává pouze v žádoucím rozsahu úrovní fronty. Vně tohoto rozsahu je podíl přenosu nastaven na nula nebo jedna v závislosti na tom, zda je úroveň fronty určena jako příliš vysoká nebo příliš nízká pro výpočet kritického tlumení. Jelikož pakety lze vyřazovat náhodně nebo alespoň zčásti na základě jejich priority, je možné zabránit synchronizaci hostitelů vysílajících provoz do přepínače 10. Jelikož je zajištěno kritické tlumení, způsoby 90 a 100 mohou zajistit lepší stabilitu pro systém než způsob RED. Způsoby 90 a 100 také dosahují rovnovážného stavu rychleji než způsob BLUE, protože zajišťují kritické tlumení. Díky tomu se zlepší provoz sítě používající přepínač 10, který využívá způsob 90 nebo 100.
84061 (2784061_CZ.doc) 18.6.2002 «« ·«·· *0 »0 ·· 0« • 0 0 0 000 • · 000 0 0 0
0 0 0 0 0 « *· 00 00 0000
Zlepšení ve výkonu použitím způsobu 90 nebo 100 lze vidět experimentálně. Byla vymodelována síť, ve které existovalo zúžené spojení. Navíc byla síť vybavena přiměřeným provozem takovým, že bylo dosaženo přibližně třicetiprocentní nadpříspěvkovosti. Síť tedy byla záměrně řízena tak, aby přibližně třicet procent provozu muselo být vyřazeno. Během experimentu způsob RED vyřadil přibližně dva tisíce rámců, neboli paketů, pomocí vyhození konce (nutnost vyhodit následující rámec v důsledku maximální úrovně fronty). Jak bylo popsáno dříve, vyřazování rámců pomocí vyhození konce nastává tehdy, když jsou rámce vyřazovány zkrátka proto, že fronta je plná. Vyřazování vyhozením konce je nežádoucí, jelikož tyto rámce se vyřadí, když je fronta plná. Vyřazování paketů vyhozením konce destabilizuje sít a nefunguje podle priority paketů.
Ve stejném experimentu tento vynález nevyřadil žádný rámec pomocí vyhození konce. Tento vynález tedy při určování, zda provést vyřazení či nikoli, mohl brát v úvahu prioritu paketů. Navíc celkový počet rámců přenesených pomocí tohoto vynálezu byl vyšší než u způsobu RED. Proto tedy způsoby 90 a 100 dokážou lépe řídit provoz v síti, i když v ní existuje vysoká nadpříspěvkovost. Ve zde popsaném provedení pracuje tento vynález správně alespoň do padesátiprocentní nadpříspěvkovosti. Jak bylo popsáno výše, jelikož zajistují kritické tlumení, měly by způsoby 90 a 100 dosáhnout rovnovážného stavu rychleji než způsob BLUE.
V dalším provedení 120 tohoto vynálezu, které je zobrazeno na obr. 9, se v kroku 122 určí úroveň fronty a rychlost nabídky pro předcházející epochu. V upřednostňovaném provedení se úroveň fronty určí na konci předcházející epochy a je to úroveň paměťového zdroje.
84061 Í2784061 CZ.dod 18.6.2002
4« 4444 ·· 44 44 Μ «44 · • * 444 4
4 • Μ* 4 • 4 4 · 4 4 *
4· 44 *4 4444
V upřednostňovaném provedení také rychlost nabídky určená v kroku 122 je celkovým nabízeným vstupem do paměťového zdroje během předcházející epochy. V upřednostňovaném provedení se také v kroku 122 určí podíl přenosu pro předcházející epochu. V alternativním provedení, určení úrovně fronty ve způsobu 120 obsahuje určení úrovně fronty 20 příslušné zařazovacímu mechanismu 19. V upřednostňovaném provedení je také podíl přenosu v průběhu epochy konstantní, a tak jej lze určit v libovolném okamžiku během předcházející epochy, ale přednostně je určen na začátku předcházející epochy.
V kroku 124 se určí virtuální maximální úroveň fronty pro frontu 20 pomocí úrovně fronty z předcházející epochy. Když se určí, že je přepínač 10 přetížen, virtuální maximální úroveň fronty se sníží. Když se určí, že přepínač není přetížen, virtuální maximální úroveň fronty se zvýší, až do maxima, které může být menší nebo rovno maximální možné úrovni fronty. Toho je přednostně dosaženo určením, že úroveň fronty se nachází nad prahem, který je menší, než je maximální možná úroveň fronty. Jinými slovy, to, že je přepínač 10 přetížen, se určí před tím, než se zaplní fronta 20. Jelikož se při určování podílu přenosu používá virtuální maximální úroveň fronty, podíl přenosu může být vypočten, jako by paměťový zdroj dostupný pro frontu 20 byl menší, než je skutečná velikost paměťového zdroje. V důsledku toho může být podíl přenosu během incidentů vysokého přetížení nastaven na menší hodnotu, než jakou by podíl přenosu jinak měl. Proto je přepínač 10 lépe schopen zvládat situace vysokého provozu.
Podíl přenosu je poté v kroku 126 řízen na základě úrovně fronty, rychlosti nabídky a virtuální maximální ftánft-* Γ·7 Λλ,-Λ iOfiWO ·· 99 » 9 9 ► · 999 ·· *9 * 9 vv ···· • 9 alt· 9
9 9
9 9 t· 9999 úrovně fronty. V upřednostňovaném provedení je podíl přenosu také řízen tak, že systém, který je popsán podílem přenosu a úrovní fronty po určení virtuální maximální úrovně fronty, se kriticky ztlumí. V upřednostňovaném provedení je podíl přenosu také řízen na základě předchozího podílu přenosu. Rozsah úrovní fronty, nad nímž je podíl přenosu takto řízen, se může roztáhnout nad všemi možnými úrovněmi fronty.
V upřednostňovaném provedení se však rozsah, nad nímž je podíl přenosu řízen pro kritické tlumení, pohybuje v rozmezí od minimální úrovně fronty větší nebo rovné nule do maximální úrovně fronty menší nebo rovné maximální možné úrovni fronty. Podíl přenosu je také přednostně řízen tak, aby úroveň fronty nepřesáhla virtuální maximální úroveň fronty. Poté se v kroku 128 používá podíl přenosu k vyřazení paketů tak, aby byla zachována funkce přepínače. Podíl přenosu lze použít k vyřazení příslušného podílu paketů, protože podíl přenosu je roven jedné minus podíl vyřazení. Jak je popsáno výše, podíl vyřazení je podíl paketů, které mají být vyřazeny. V jednom provedení jsou pakety vyřazovány náhodně. V jiném provedení jsou však pakety vyřazovány zčásti na základě priority paketu. Také v upřednostňovaném provedení vyřazení paketu v kroku 128 poskytne oznámení vysílajícímu hostiteli, že paket byl vyřazen. Následkem toho může hostitel dočasně pozdržet provoz do přepínače 10.
Obr. 10 je vývojový diagram, znázorňující upřednostňované provedení způsobu 130 pro určování virtuální maximální úrovně fronty v kroku 124 způsobu 120 z obr. 9.
V upřednostňovaném provedení se způsob 120 pro obnovu virtuální maximální úrovně fronty provádí paralelně s obnovou podílu přenosu v kroku 126 způsobu 120. Pokud jde o obr. 10, v kroku 132 se určí, zda je úroveň fronty větší nebo rovna prahu. Práh je přednostně podíl maximální možné
84061 Í2784061 CZ.doc) 18.6.2002 ·· ···· ·« ·· t* * · · · ·· ···· • * * » *·· · k • » · * · « · · · ·»·· · ·♦ · ·· *««· úrovně fronty. Podíl může mít jakoukoli hodnotu mezi nulou a 1, ale přednostně je mezi % a 31/32. Přednostně má práh hodnotu 31/32 z maximální možné úrovně fronty. Lze však použít jiné podíly maximální možné úrovně fronty včetně 127/148, 7/8, 3/4 a 1/2. Mělo by se však říci, že úroveň fronty může zůstat pod maximální možnou úrovní fronty za cenu snížené propustnosti. Pokud je úroveň fronty větší nebo rovna prahu, nastaví se multiplikátor v kroku 134. V kroku 134 se multiplikátor nastaví přednostně podle funkce:
M(t + Dt) = minimum { 1, a *M(t) +b}
M{t) = multiplikátor vypočtený pro předcházející epochu a = kladná konstanta menší než 1 a přednostně rovna 31/32 b = kladná konstanta větší nebo rovna (1 - a) , menší než jedna a přednostně rovna 1/4
V upřednostňovaném provedení se tedy multiplikátor přiblíží prvnímu množství, v upřednostňovaném provedení jedné, pokud se v kroku 132 opakovaně určuje, že úroveň fronty přesahuje práh.
Pokud se úroveň fronty nachází pod prahem, nastaví se multiplikátor v kroku 136. V kroku 136 se multiplikátor přednostně nastaví podle funkce:
M(t + Dt) = c M(t) +d kde:
M(t) = multiplikátor vypočtený pro předcházející epochu
84061 (2784061 CZ.doc) 18.6.2002 • Φ «··· ·Φ φ· φφ φφ • · · · φ φ «φφφ φ · · · φφ« · φ φ • φφφφ φ φ φ φ**· · ·· «· ·· φφφφ c = kladná konstanta menší než 1 a přednostně rovna 31/32 d = kladná konstanta menší nebo rovna (1 - ) a přednostně rovna 1/64
V upřednostňovaném provedení se tedy multiplikátor přiblíží druhému množství, totiž jedné polovině, když se v kroku 132 opakovaně určuje, že úroveň fronty se nachází pod prahem.
Kroky 134 a 136 tedy určují multiplikátor, což je exponenciálně vážený průměr předcházejících multiplikátorů s horním limitem jedna. Navíc v případech opakovaného přetížení, kdy je úroveň fronty opakovaně vyšší než práh, se multiplikátor rychle přiblíží první hodnotě, přednostně jedné. Pokud je opakovaně zabráněno přetížení, kdy je úroveň fronty opakovaně nižší než práh, multiplikátor se exponenciálně přiblíží druhé hodnotě, přednostně jedné polovině.
Virtuální kapacita mezipaměti, neboli virtuální maximální úroveň fronty, je definována následovně.
V případech opakovaného nepřetížení, kdy se fronta opakovaně nachází pod prahem, je virtuální kapacita mezipaměti stejná jako fyzická kapacita mezipaměti, označená jako Qma
V případech opakovaného přetížení, kdy se úroveň fronty opakovaně nachází nad prahem, rovná se virtuální kapacita mezipaměti jedné polovině fyzické kapacity mezipaměti, neboli Qmax/2. Odborníci s běžnými zkušenostmi ocení, že pro definici virtuální kapacity mezipaměti během případů opakovaného přetížení může posloužit i jiný podíl než
V některých algoritmech řízení toku, jak je popsáno výše, je množství dat zařazených do mezipaměti vyjádřeno
84061 (2784061 CZ.doc) 18.6.2002 »9 • » · • · 99* • 9
9
9
9999 9
9 9 9 *9
9 9 9
9 9
9 9
9· 9999 jako podíl maximální kapacity mezipaměti, Qmax. Qmax se tedy jeví jako jmenovatel v některých výrazech, jako je např. úroveň fronty Q(t) dělená Q^, tj. Q/Qmax- Požadovaná definice virtuální kapacity mezipaměti je tedy ekvivalentní použití veličiny 2*M*Q/Qmax. Tj . v případech opakovaného nepřetržení, kdy je M rovno % nebo téměř se z výrazu 2*M*Q/Qmax jednoduše stává Q/Qmax- V případech opakovaného výskytu přetížení, kdy je M rovno jedné nebo téměř jedné, je výraz 2*M*Q/Qmax jednoduše roven 2*Q/Qmax, neboli Q/<Qmax/2). Tedy vynásobení podílu obsazenosti fronty Q/Qmax dvěma krát multiplikátor M má efekt porovnání Q s virtuální kapacitou mezipaměti, neboli virtuální maximální úrovní fronty.
Výše uvedená definice a použití multiplikátoru M bylo demonstrováno v simulacích s multi-přepínačovými modely ke stabilizaci výpočtu podílu vyřazení v případech těžkého přetížení, až do přetížení osm ku jedné. Takové přetížení může přechodně nastat v činnosti přepínače, když se stane, že několik příchozích zdrojů má provoz pro jeden výstupní kanál.
Obr. 11 je podrobnějším vývojovým diagramem způsobu 140 podle tohoto vynálezu pro řízení provozu v síti. Způsob 140 lze využít s přepínačem 10 zobrazeným na obr. 1 a 3. Pro účely srozumitelnosti bude způsob 140 popsán ve spojení frontou 20 a zařazovacím mechanismem 19, které jsou znázorněny na obr. 3. Způsob 140 však lze využít s jinými frontami a s jinými zařazovacími mechanismy. V upřednostňovaném provedení je způsob 140 použit v systému, v němž je několik front součástí stejného paměťového zdroje. Nic však nebrání tomu, aby byl způsob 140 použit v jiném systému, v němě každá fronta má oddělený paměťový zdroj.
84061 (2784061_CZ.doc) 18.6.2002 *··» «· *t • * · fr fc « »* » · • ··· • · ♦ ·· frfrfrfr
V kroku 142 se určí úroveň fronty a rychlost nabídky pro předcházející epochu. Navíc jsou v kroku 142 přednostně dostupné také podíl přenosu a multiplikátor pro předchozí epochu, protože tyto veličiny byly přednostně vypočítány pro předcházející epochu. Pokud ale podíl přenosu a multiplikátor pro předchozí epochu nejsou dostupné, v kroku 142 se tyto veličiny přednostně určí. Poté se v kroku 144 určí, zda je úroveň fronty větší nebo rovna minimálnímu prahu. V upřednostňovaném provedení je minimální práh jednou čtvrtinou maximální úrovně fronty. Pokud úroveň fronty není vyšší nebo rovna minimálnímu prahu, nastaví se podíl přenosu na jedna (krok 146).
Pokud je úroveň fronty vyšší než minimální práh, tak se v kroku 148 určí, zda úroveň fronty nepřesahuje maximální práh. V upřednostňovaném provedení obsahuje krok 148 určení, zda úroveň fronty přesahuje virtuální maximální úroveň fronty.
Pokud se určí, že úroveň fronty přesahuje maximální práh, tak se v kroku 150 nastaví podíl přenosu na nulu nebo blízko nuly. Pokud se však určí, že úroveň fronty nepřesahuje maximální práh, tak se v kroku 152 určí podíl přenosu pomocí multiplikátoru pro předcházející epochu, úrovně fronty, předcházejícího podílu přenosu, rychlosti nabídky a maximální úrovně fronty. V upřednostňovaném provedení je podíl přenosu dán:
T(t + Dt) = minimum{l,maximum(1/8, T(t) + (2*1(t)*M(t)* Dt/Qmax) * (9/4 - 2*T(t) - 2*M(t)*Q(t)/ Qmax) ) }
84061 (2784061_CZ.doc) 18.6.2002 • 4 44 · 4
4*
4 4 4 »4 ····
4 4 4 4 4 4 ·· 44 44 4444
M(t) = multiplikátor z předcházející epochy Dt = délka epochy v příslušných jednotkách času
Povšimněte si, že se v rovnice pro T(t + Dt) objevuje multiplikátor M(t). T i M jsou souběžně aktualizovány každých Dt jednotek času. Kromě toho si povšimněte, že se multiplikátor M(t) objevuje v rovnici pro T{t + Dt) dvakrát. Objevuje se ve členu 2*M (t) *Q (t)/Qmax, jak bylo popsáno výše. Účelem je vydělit kapacitu mezipaměti dvěma v případech opakovaného přetížení. Multiplikátor se také objevuje ve členu 2*M{t) *1 (t) *Dt/QmaX. Zde je počet bitu nabízených systému fronty během časového intervalu Dt roven I(t)*Dt. Toto množství se porovná s Qmax a výsledkem je podíl I (t) *Dt/Qmax. Tento podíl se poté vynásobí 2*M(t) . Opět je smyslem vydělit kapacitu paměti dvěma v případech přetížení.
V upřednostňovaném provedení se v kroku 154 multiplikátor aktualizuje paralelně s výpočtem podílu přenosu. V upřednostňovaném provedení se multiplikátor aktualizuje pomocí způsobu 130 znázorněného na obr. 10. Poznamenejme však, že nic nebrání tomu, aby se multiplikátor aktualizoval sériovým způsobem spolu s podílem přenosu. Kromě toho nic nebrání tomu, aby byl při výpočtu podílu přenosu pro aktuální epochu použit multiplikátor pro aktuální epochu. V takovém případě však bude matematický vzorec pro podíl přenosu v kroku 152 na obr. 11 odlišný.
Pomocí podílu přenosu nastaveného v kroku 146, kroku 150 nebo kroku 152 zařazovací mechanismus v kroku 156 aktivně vyřazuje pakety, aby zachoval funkci přepínače 10. V kroku 158 se určí, zda epocha skončila. Pokud ne, nastane návrat ke kroku 156. V opačném případě se znovu opakuje krok 142 .
84061 Í2784061 CZ.doc) 18.6.2002 *
44 • * · 4
4 4
4 4
4444
4444
4 4 44«
4
4444 4
Způsoby 120 a 140 jsou stabilní, což umožňuje, aby byl řízen provoz v přepínači 10. Kromě toho použitím způsobu 120 nebo 140 lze obsloužit velké množství provozu pomocí virtuální maximální úrovně fronty nebo multiplikátoru. Přepínač 10 využívající jedno provedení způsobu 120 nebo 140 může zvládnout nadpříspěvkovost o osmi stech procentech a stále fungovat, aniž by zaplnil frontu nebo paměťový zdroj, i když je vysoce zatížen. Navíc použitím způsobu 150 jsou přenosová funkce a úroveň fronty kriticky tlumeny, za předpokladu, že multiplikátor je již nastaven nebo je jinak uvažován jako konstanta za účelem určení tlumení. Jelikož jsou úroveň fronty a podíl přenosu kriticky tlumeny, přepínač 10 dosáhne rovnovážného stavu tak rychle, jak to je možné.
Předpokládá se také, že tento vynález poskytne způsob a systém pro řízení množství vedení v počítačové síti. Jak bylo popsáno, počítačová síť obsahuje alespoň jeden procesor jako přepínač. Tento alespoň jeden procesor obsahuje frontu. Množství vedení využívá frontu pro přenos provozu skrz přepínač. Způsob a systém obsahují možnost stanovit minimální tok a maximální tok pro každé z množství vedení a určení, zda pro frontu existuje nadbytečná šířka pásma. Způsob a systém také obsahuji lineárně rostoucí tok pro vedení z množství vedení na základě minimálního toku a maximálního toku, pokud existuje nadbytečná šířka pásma s pokud je tok pro vedení z množství vedení menší než maximální tok pro vedení. Způsob a systém také obsahují exponenciální snížení toku pro vedení z množství vedení na základě minimálního toku nebo maximálního toku, pokud neexistuje nadbytečná šířka pásma a tok je větší než minimální tok pro vedení. Provoz vedením je tedy stabilní.
84061 (2784061_CZ.doc) 18.6.2002 ·» ·· • · · · • · » ·♦ »· • * · • · ···
4» 44·· • 4 4 • · • 4
4444 4
4 4 4 4 4 ·
4· 44 44 >444
Tento vynález nyní bude popsán z hlediska takových vedení skrze frontu, neboli toků frontě poskytnutých. Odborník však snadno nahlédne, že vedení mohou být funkčními souhrnnými toky různé nebo stejné třídy nebo mít jakoukoli rychlost nabídky pro konkrétní komponentu, která využívá frontu jako paměť.
Pro podrobnější vysvětlení způsobu a systému podle tohoto vynálezu viz nyní obr. 12, který znázorňuje jedno provedení způsobu 160 podle tohoto vynálezu. Způsob 160 lze využít společně s přepínačem 10 zobrazeným na obr. 1 a 3. Způsob 160 tedy může být realizován v přepínači 10, který má několik ramen Ί_, 8 a 9 a na každém rameni 7, 8, a 9 několik portů. Pro účely srozumitelnosti bude způsob 160 popsán ve spojení s frontou 20 a zařazovacím mechanismem 19, které jsou zobrazeny na obr. 3. Způsob 160 však lze použít s jinými frontami, jako jsou např. fronty 22, 28, 34. Způsob 160 lze také použít s jinými zařazovacími mechanismy, jako jsou např. zařazovací mechanismy 23, 27, 32.
V upřednostňovaném provedení je způsob 160 použit v systému, v němž je několik front součástí stejného paměťového zdroje. Nic však nebrání tomu, aby byl způsob 160 použit v jiném systému, v němž každá fronta má oddělený paměťový zdroj.
S ohledem na obr. 3 a 12, v kroku 162 se nastaví minimální a maximální toky pro vedení, která poskytují provoz do fronty 20. Vedení mohou přicházet z libovolného z portů A 18 do zařazovacího mechanismu 19.
V upřednostňovaném provedení jsou uvažovaná vedení funkční souhrnné toky. Krok 162 tedy přednostně nastavuje minimální a maximální šířku pásma pro uvažované funkční souhrnné toky. Navíc součet minimálních toků pro vedení by měl být menší
84061 (2784061_CZ.doc) 18.6.2002
99** ·» 99 99 *9 *9 9 9 9 9 9 9 9 9
9 · 9 999 · * 9 · 9999 999
9999 9 99 99 99 9999 nebo roven rychlosti obsluhy, S, sdíleného procesoru s frontou. Je tomu tak proto, že toky jsou definovány jako podíl celkového· množství provozu, který fronta 20 muže obsloužit. Minimální tok pro vedení může být nula. Typicky má fronta 20 definovanou rychlost obsluhy, což je rychlost, kterou fronta 20 může vydávat informační jednotky z fronty.
V upřednostňovaném provedení je součet hodnot minimálních toků menší než jedna polovina rychlosti obsluhy, S.
V upřednostňovaném provedení je také maximální tok pro každé vedení menší nebo roven rychlosti obsluhy. Ačkoli je v upřednostňovaném provedení maximální počet vedení obsluhovaných frontou 20 menší nebo roven 1024, neexistuje skutečná horní mez pro počet řízených vedení. Kromě toho, každé vedení nabízí frontě 20 provoz rychlostí nabídky,
Ii(t) , kde i označuje i-té vedení. V závislosti na různých faktorech může být část provozu vyhozena. Podíl přenosu pro i-té vedení, Ti(t), je podíl provozu z i-tého vedení, který je přenesen do fronty 16. Okamžitý tok pro i-té vedení tedy je fi(t) = Ii(t)*Ti(t). V upřednostňovaném provedení může způsob 160 také zajistit, že vedení, jimiž provoz prochází, mají alespoň své minimální toky.
V kroku 164 se určí, zda má fronta 20 k dispozici nadbytečnou šířku pásma. V upřednostňovaném provedení se určí, Že nadbytečná šířka pásma neexistuje, pokud se úroveň fronty zvyšuje. V upřednostňovaném provedení se také v kroku 164 určí, že nadbytečná šířka pásma existuje, pokud je fronta 20 prázdná nebo pokud úroveň fronty pro frontu 20 klesá. Krok 164 tedy přednostně obsahuje určení úrovně fronty a porovnání úrovně fronty s předcházející úrovní fronty. V upřednostňovaném provedení se také určí, že nadbytečná šířka pásma neexistuje, pokud úroveň fronty buďto není rovna nule nebo neklesá. Nic však nebrání použití
84061 (2784061 CZ.docl 18.6.2002 ** »9
9 9 · ··· ·* »1 9999
9« • 9 9
9
4
9499 9
9 9 9 9 ·9
99 99 9999 jiných kritérií pro určení toho, zda existuje nadbytečná šířka pásma.
Pokud se v kroku 164 určí, že existuje nadbytečná šířka pásma, tak se v kroku 166 toky pro vedení lineárně zvýší. Kroku 166 je přednostně dosaženo lineárním zvýšením podílu přenosu pro každé z vedení. Lineární zvýšení pro vedení může být založeno na minimálním toku, maximálním toku nebo váze. Lineární zvýšení pro vedení tedy může být založeno pouze na minimálním toku, pouze na maximálním toku, na nějaké kombinací minimálního toku a váhy, na nějaké kombinaci maximálního toku a váhy nebo na nějaké kombinaci minimálních a maximálních toků a váhy. V upřednostňovaném provedení je však lineární zvýšení pro vedení založeno na minimálním toku pro vedení.
Pokud se v kroku 164 určí, že neexistuje nadbytečná šířka pásma, tak se v kroku 168 toky pro vedení exponenciálně sníží. Kroku 168 je přednostně dosaženo exponenciálním snížením podílu přenosu pro každé vedení. Exponenciální snížení pro vedení může být založeno na minimálním toku nebo na maximálním toku. Exponenciální snížení pro vedení tedy může být založeno na pouze minimálním toku vedením, pouze na maximálním toku vedením nebo na nějaké kombinaci minimálního a maximálního toku. V upřednostňovaném provedení je však exponenciální snížení pro vedení založeno na minimálním toku pro vedení. Jelikož snížení je svou povahou exponenciální, je snížení založeno také na aktuálním toku, neboli podílu přenosu, pro vedení.
Jelikož způsob 160 zvyšuje toky lineárně a snižuje toky exponenciálně, způsob 160 všeobecně zajišťuje, že provoz skrze vedení do fronty 20 může automaticky a asymptoticky
84061 (2784061 CZ.doc) 18.6.2002 •ft ·· ft ft · · • · · ·· ftftftft a · • ft ·» ft* • ft · * · ·*· k · · « ·· ftft ·· ftftftft dosáhnout stability. Toky se zvýší nebo sníží v závislosti na tom, zda má fronta 20 nadbytečnou šířku pásma. Když je dosaženo stability, toky se budou lineárně zvyšovat tak dlouho, dokud existuje nadbytečná šířka pásma, poté se budou v důsledku nedostatku nadbytečné šířky pásma exponenciálně snižovat, dokud nebude opět k dispozici nadbytečná šířka pásma. Toto chování se bude opakovat. Jinými slovy, provoz z vedení se může ustálit v pevném cyklickém stavu, který je známý jako mezní cyklus. Proto nezávisle na tom, v jakém stavu provoz skrz vedení započne, se systém přesune do stabilního cyklického režimu. Tento stabilní režim nemusí být dosažitelný pomocí jiné kombinace zvýšení a snížení. Například lineární zvýšení a lineární snížení nebo exponenciální zvýšení a exponenciální snížení nemusí vyvolat stabilní režim. Kromě toho, zvýšení a snížení v toku pro každé vedení bude záviset na minimálním a maximálním toku pro vedení a na předcházej ícím toku pro vedení. Různá vedení tak mohou mít různé úrovně toku nebo obsluhy. Proto způsob 160 dovede nejen vytvořit stabilní režim, ale dovede také zajistit diferenciovanou obsluhu a rovnoměrně přidělovat nadbytečnou šířku pásma pro frontu 20. Vše, co musí síťový administrátor či jiný uživatel udělat je, že musí pro zákazníky nastavit minimální a maximální toky různě v závislosti na úrovni obsluhy požadované konkrétním zákazníkem. Způsob 160 lze tedy využít v řadě aplikací, jako např. v sítích používajících DiffServ, poskytovatelů internetových služeb, kteří potřebují poskytnout různé úrovně služeb různým zákazníkům, nebo v různých médiích. Toho je dosaženo pouhým umožněním nastavení minimálního a maximálního toku pro funkční souhrnné toky, zákazníky, média, třídy nebo jiné toky odpovídající vedením ve způsobu 160.
84061 (2784061_CZ.doc) 18.6.2002
0· 0000
0 *000 0
00 00 00 • 0 0 0 0 0 0
0 000 0 0 0 « 0 0 0 0 0 0 • 0 00 00 *000
Obr. 13 znázorňuje podrobnější vývojový diagram způsobu 170 podle tohoto vynálezu pro zajištění diferenciované obsluhy v souvislosti s přepínačem 10 zobrazeným na obr. 1 a 3. Způsob 170 tak lze realizovat v přepínači 10, který má několik ramen j_, 6 a 9 a na každém rameni 7, 8 a 2 několik portů. Pro účely srozumitelnosti bude způsob 170 popsán ve spojení s frontou 20 a zařazovacím mechanismem 19, které jsou zobrazeny na obr. 3. Způsob 170 však lze použít s jinými frontami, jako jsou např. fronty 24, 28, 34. Způsob 170 lze také použít s jinými zařazovacími mechanismy, jako jsou např. zařazovací mechanismy 23, 28, 32.
V upřednostňovaném provedení je způsob 170 použit v systému, v němž je několik front součástí stejného paměťového zdroje. Nic však nebrání tomu, aby byl způsob 170 použit v jiném systému, v němž každá fronta má oddělený paměťový zdroj. Kromě toho bude způsob 170 popsán v kontextu vedení, ale způsob 170 lze použít pro řadu komponent včetně funkčních souhrnných toků, které odpovídají vedením.
Způsob 110 začíná poté, co byly nastaveny minimální a maximální toky pro každé z řízených vedení, např. síťovým administrátorem. Pro každé z vedení se v kroku 172 vypočítají konstanty na základě minimálních a maximálních toků pro vedení. Pro každé vedení, i, se v kroku 172 vypočítá konstanta Ci a konstanta Di. Konstanta Ci se používá pro lineární zvyšování toku pro vedení i, jak je popsáno níže. Obdobně se konstanta Di používá pro exponenciální snižování toku pro vedení i, jak je popsáno níže.
V upřednostňovaném provedení jsou konstanty Ci i Di založeny na minimálních tocích. V alternativním provedení lze také zajistit váhy pro různá vedení. V takovém případě lze konstanty Ci a Di vypočítat také na základě poskytnutých vah.
84061 (2784061 CZ.doc) 18.6.2002
0000
00 00 00 * * 0 0 0 0 0000
0 0 0 000 «0 0
0 0 0 0 0 0·0 *000 0 00 00 0· 0000
Jakmile jsou určeny konstanty, v kroku 174 se umožní, aby provoz procházel vedeními do fronty 20. V kroku 176 se určí pro předcházející epochu úroveň fronty, okamžitý signál nadbytečné šířky pásma, B, a signál nadbytečné šířky pásma,
E, pokud již nejsou dostupné. V upřednostňovaném provedení se také v kroku 176 zpřístupní toky pro předcházející epochu. Jinými slovy, krok 176 určuje veličiny potřebné k aktualizaci systému ve způsobu 170. Poté se v kroku 178 určí, zda existuje nadbytečná šířka pásma.
V upřednostňovaném provedení se určí, že nadbytečná šířka pásma existuje pouze tehdy, pokud je úroveň fronty pro frontu 20 nulová nebo klesá. V opačném případě se určí, že nadbytečná šířka pásma neexistuje. Nic však nebrání použití jiných kritérií k určení, zda existuje nadbytečná šířka pásma. V upřednostňovaném provedení je určená úroveň fronty úrovní pro celý paměťový zdroj. Nic však nebrání tomu, aby byla úroveň fronty určena pro logickou frontu nebo podfrontu. Pokud neexistuje nadbytečná šířka pásma, tak se v kroku 180 okamžitý signál nadbytečné Šířky pásma, B, nastaví na nulu. Signál B se označuje jako okamžitý, protože je založen na jediném měření úrovně fronty a jediném určení změny úrovně fronty. Poté se v kroku 182 nastaví signál nadbytečné šířky pásma, E, tak, že je konstantou násobenou předchozím signálem nadbytečné šířky pásma. Konstanta je přednostně 31/32 a signál nadbytečné šířky pásma je exponenciálně váženým průměrem okamžitého signálu nadbytečné šířky pásma. Hodnota signálu nadbytečné šířky pásma se v kroku 182 nastaví příslušným způsobem, protože okamžitý signál nadbytečné šířky pásma je nulový.
Pokud se v kroku 178 určí, še nadbytečná šířka pásma existuje, tak se v kroku 184 nastaví okamžitý signál nadbytečné šířky pásma na jedna. Poté se v kroku 186 nastaví
84061 (2784061_CZ.doc) 18.6.2002
I» r»i I
I ' > ' I , I I ί 1 1 ♦ ί ί I » 1 I ι Ι1ί· · I η» μι ť>« 1Η I signál nadbytečné Šířky pásma tak, aby byl exponenciálním váženým průměrem okamžitého signálu nadbytečné šířky pásma.
V upřednostňovaném provedení je tedy signál nadbytečné šířky pásma roven první konstantě, která je násobena předchozím signálem nadbytečné šířky pásma, plus druhá konstanta, která je násobená okamžitým signálem nadbytečné šířky pásma. První i druhá konstanta mohou být menší než jedna a přednostně nabývají hodnot 31/32, resp. 1/32.
V upřednostňovaném provedení se v kroku 188 nastaví pro každé vedení podíl přenosu paralelně s kroky 178 až 186.
V alternativním provedení lze však podíl přenosu aktualizovat sériovým způsobem s okamžitým signálem nadbytečné šířky pásma a signálem nadbytečné Šířky pásma.
Pokud byl předcházející okamžitý signál nadbytečné šířky pásma, B, roven jedné (nadbytečná šířka pásma dostupná), tak krok 188 nastavil podíl přenosu pro každé vedení i na základě předchozího podílu přenosu, konstanty Cí a signálu nadbytečné Šířky pásma. Podíl přenosu nastavený v kroku 188 pro dříve existující nadbytečnou šířku pásma je roven:
Ti(t + Dt) = Ti (t) + Ci*E(t) kde:
Dt = délka epochy (doba od posledního výpočtu podílu přenosu)
Jednotky toku se přednostně nastaví tak, aby Dt a maximální možná úroveň fronty, Qmax, byly jedna. Podíl přenosu se tak lineárně snižuje. Navíc podíl přenosu se bude dále lineárně zvyšovat tak dlouho, dokud bude existovat nadbytečná šířka pásma. Pokud nadbytečná šířka pásma
84061 (2784061_CZ.doc) 18,6.2002 ·’ » · · ·” »*· ·”· • · * · ··· « · * • · · · · * * · · • ••· · ·« ·· ·· «««· v předcházející epoše neexistovala (B byl nulový), tak se v kroku 188 podíl přenosu, Ti(t + Dt) , pro každé vedení i nastaví na základě předcházejícího podílu přenosu pro vedení, TUt), Di a předcházejícího toku pro vedení, fi (t) .
Pokud předtím neexistovala nadbytečná šířka pásma, je podíl přenosu dán následovně:
Ti(t + Dt) = Ti(t) - Di*fi (t)
Podíl přenosu nastavený v kroku 188 tedy zajistí to, že podíl přenosu a tudíž tok bude exponenciálně klesat tak dlouho, dokud stále nebude existovat nadbytečná šířka pásma. Konstanty Ci a Di jsou přednostně založeny na hodnotách minimálního toku. Přesnými upřednostňovanými hodnotami pro konstanty Ci a Di se text zabývá dále s ohledem na obr. 14.
Zpět k obr. 13, pomocí podílu přenosu vypočítaného v kroku 188 jsou v kroku 190 pakety procházející skrz přepínač 10 během epochy přenášeny nebo vyhazovány.
V upřednostňovaném provedení jsou pakety vyhazovány nejen na základě podílu přenosu pro vedení, ve kterém proudí, ale také na základě priority každého paketu. V jiném provedení jsou pakety vyhazovány náhodně. V kroku 192 se určí, zda byla epocha skončena. Pokud ne, pokračuje přenos provozu na základě stejných podílů přenosu v kroku 190. Pokud epocha byla skončena, způsob se opakuje se začátkem v kroku 176.
Jelikož způsob 17Q zvyšuje toky lineárně a snižuje toky exponenciálně, způsob 170 funguje obdobně jako způsob 160 a poskytuje mnohé ze stejných výhod. Způsob 170 tedy může zajistit, že provoz vedením do fronty 20 může automaticky a asymptoticky dosáhnout stability. Provoz z vedení se může ustálit v pevném cyklickém stavu, který je známý jako mezní
84061 (2784061_CZ.doc) 18.6.2002 ·· φφφφ • φ φ Β φ «φφφ • φ « φ φφφ φ φ · • φ «φφφ φφφφ φ • · φ φ φ φ φ φ φ ··*· * φφφφ φφ φφφφ cyklus. Proto nezávisle na tom, v jakém stavu provoz skrz vedení započne, se systém přesune do stabilního cyklického režimu. Kromě toho, zvýšení a snížení v toku pro každé vedení bude záviset na minimálním a maximálním toku pro vedení a na předcházejícím toku pro vedení. Různá vedení tak mohou mít různé úrovně toku nebo obsluhy. Proto způsob 170 dokáže vytvořit stabilní režim, rovnoměrně přidělovat nadbytečnou šířku pásma pro frontu 20 a zajistit diferenciovanou obsluhu. Vše, co musí sítový administrátor nebo jiný uživatel udělat je, že musí pro zákazníky různě nastavit minimální a maximální toky v závislostí na úrovni obsluhy požadované konkrétním zákazníkem. Způsob 170 lze tedy využít v řadě aplikací, jako např. v sítích používajících DiffServ, poskytovatelů internetových služeb, kteří potřebují poskytnout různým zákazníkům různé úrovně služeb, nebo pro různá média. Toho je dosaženo pouhým umožněním nastavení minimálního a maximálního toku pro funkční souhrnné toky, zákazníky, média, třídy nebo jiné toky odpovídající vedením ve způsobu 170.
Kromě toho, pokud se podíly přenosu v rychlosti toku sníží dostatečně rychle, plocha pod křivkami, která popisuje toky pro vedení, je úměrná sklonu lineárního zvýšení toku.
Plocha pod křivkou pro tok udává bity za sekundu, které proudí vedením do fronty 20. Tok vedením lze také vypočítat za epochu, což udává přesný tok vedením. Tak se reguluje tok neboli šířka pásma, jak je definováno v DiffServ.
Obr. 14 znázorňuje podrobnější vývojový diagram upřednostňovaného provedení způsobu 180 pro zajištění diferenciované obsluhy. Způsob 180 přednostně zahrnuje vynálezy popsané v tomto dokumentu. Obecně způsob, který bude nyní popsán, využívá v případě potřeby vynálezy popsané
84061 (2784061_CZ.doc) 18.6.2002 • 4 Μ·Ι »· 44 44 «« • 4 ··· 4 4 4 4 · · 4 ··· 4 4 4 • · · · 4 4 β 4 4 4 • 4444 444 • · ·· »· ·· »··· výše k řízení podílů přenosu na vysoké úrovni a v ostatních případech využívá způsobu podobného způsobům, které byly popsány dříve.
Způsob 18Q lze použít v souvislosti s přepínačem 10 zobrazeným na obr. 1 a 3. Způsob 180 tak lze realizovat v přepínači 10, který má několik ramen 7, 8 a 9 a na každém rameni 7, 8 a 9 několik portů. Pro účely srozumitelnosti bude způsob 180 popsán ve spojení s frontou 20 a zařazovacím mechanismem 19, které jsou znázorněny na obr. 3. Způsob 180 však lze použít s jinými frontami, jako jsou např. fronty 24, 28, 34. Způsob 180 lze také použít s jinými zařazovacími mechanismy, jako jsou např. zařazovací mechanismy 23, 27,
32. V upřednostňovaném provedení je způsob 180 použit v systému, v němž je několik front součástí stejného paměťového zdroje. Nic však nebrání tomu, aby byl způsob 180 použit v jiném systému, v němž každá fronta má oddělený paměťový zdroj. Kromě toho bude způsob 180 popsán v kontextu vedení, ale způsob 180 lze použít pro řadu komponent včetně funkčních souhrnných toků, které odpovídají vedením.
Způsob 180 přednostně začíná poté, co byly pro každé z vedení nastaveny minimální a maximální toky a, v případě použití, váhy. Jak bylo dříve popsáno, součet minimálních toků by měl být menší než jedna a přednostně je menší než polovina rychlosti obsluhy pro frontu 20. V upřednostňovaném provedení je také každý z minimálních a maximálních toků menší než rychlost obsluhy. V upřednostňovaném provedení je počet toků menší nebo roven šedesáti čtyřem.
V upřednostňovaném provedení je váha pro každé vedení rovna jedné, a tudíž neovlivní chování přepínače 10. Jak je popsáno výše, rychlost nabídky frontě od vedení, Ii(t), se násobí podílem přenosu pro vedení, TJt), za účelem získání
84061 (2784061_CZ.doc) 18.6.2002 •· ·«·* *· ·· ·· ·« • * · · · · » « 9 »4 · · ··· * · « • · ········ · • · * · · ··· ··*· · ·· «4 44 44«4 toku pro vedení, fi(t).
V kroku 182 se na základě minimálních toků a, v případě použití, vah určují konstanty pro zvýšení nebo snížení toků pro vedení. Konstanta pro zvýšení toku, C a konstanta pro snížení toku, Di, ve vedení se přednostně vypočítají následujícím způsobem:
Ci = N* (Wi/W) * (S + fimin - Ξ fjmin)/l6 j
Pokud se všechny váhy rovnají jedné, jako tomu je v upřednostňovaném provedení, pak:
Ci = N*(S + fimin S fjmin)/16 j
Di = (S - *4 kde:
N = počet toků, jimž bude přidělena šířka pásma
Wi = váha pro i-té vedení, která je přednostně v rozmezí [0,1]
W = součet všech N vah fimin = minimální tok pro i-té vedení
Kromě toho jsou jednotky toku opět zvoleny tak, aby Dt bylo rovno jedné a Qmax bylo rovno jedné.
V kroku 184 se určí toky pro vedení a úroveň fronty pro frontu 20. Pokud byla epocha právě skončena, pak se určí toky a úroveň fronty pro předcházející epochu. Toky se určí za celou epochu, zatímco úroveň fronty je přednostně úrovní
84061 (2784061_CZ.doc) 18.62002 • · ··«· ·· *· 00 00 ·« * 0 0 0 0000 • 0 0 · 000 0 « 0 • 0 ·000 0 0 •••0 0 00 00 00 0000 fronty na konci epochy. V upřednostňovaném provedení je úroveň fronty úrovní celého paměťového zdroje, jehož je fronta 20 součástí. V jiném provedení však může být úroveň fronty úrovní pro logickou frontu nebo podfrontu.
V upřednostňovaném provedení se zpřístupní okamžitý signál nadbytečné šířky pásma, B, a signál nadbytečné šířky pásma,
E, pokud již nebyly určeny pro předcházející epochu. Tak je dostupná informace, potřebná pro následné výpočty.
V kroku 186 se určí, zda pro frontu 20 existuje nadbytečná šířka pásma. V upřednostňovaném provedení obsahuje krok 186 určení, zda je úroveň fronty nulová nebo klesá. Nic však nebrání použití jiných kritérií k určení toho, zda existuje nadbytečná šířka pásma. Pokud se úroveň fronty snižuje nebo je nulová, tak se v kroku 186 urči, že nadbytečná šířka pásma existuje. V opačném případě se určí, že nadbytečná šířka pásma neexistuje. Pokud nadbytečná šířka pásma existuje, tak se v kroku 188 okamžitý signál nadbytečné šířky pásma nastaví na jedna. Pokud ne, tak se se v kroku 190 okamžitý signál nadbytečné šířky pásma nastaví na nula.
Poté se v kroku 192 nastaví signál nadbytečné šířky pásma tak, aby byl exponenciálně váženým průměrem okamžitého signálu nadbytečné šířky pásma. V upřednostňovaném provedení se exponenciálně vážený signál nadbytečné šířky pásma nastaví na:
E(t + Dt) = (31/32)*E(t) + B(t + Dt)/32 kde:
E(t + Dt) = signál nadbytečné šířky pásma pro aktuální
84061 (2784061_CZ.doc) 18.6.2002 ©« ···· ·· ·Φ φφ φφ • · φφφφ φφφφ • φ © © φφφ · © © • · · ♦ ♦ © ©ΦΦ ···· φ ©φ ©· ι· φφφφ epochu
E(t) = signál nadbytečné šířky pásma pro předcházející epochu
B(t + Dt) = okamžitý signál nadbytečné šířky pásma pro aktuální epochu
Paralelně s aktualizací okamžitého signálu nadbytečné šířky pásma a signálu nadbytečné šířky pásma v krocích 186 až 192 se v kroku 194 aktualizuje podíl přenosu pro aktuální epochu. Podíl přenosu se v kroku 194 nastaví tak, že pro každé aktivní vedení je, pokud je to možné, zajištěn minimální tok, tak, že tok pro každé vedení nepřesáhne maximum, tak, že se tok lineárně zvyšuje a exponenciálně snižuje tak dlouho, doku fronta 20 {nebo příslušný paměťový zdroj) nepřekročí požadovanou úroveň, a - tam, kde je to žádoucí - tak, že podíl přenosu se nastaví tak, že systém popsaný úrovní fronty a globální podíl přenosu jsou kriticky tlumeny a mohou zvládnout vyšší míru nadpříspěvkovosti. Kritické tlumení znamená, že systém popsaný úrovní fronty a globální podíl přenosu dosáhnou rovnovážného stavu tak rychle, jak je možné. V upřednostňovaném provedení je podíl přenosu pro každé vedení nastaven tak, že platí:
Ti(t + Dt) = A pokud je součet rychlostí nabídky v čase t větší než nebo roven konstantě D;
= min{l, Ti(t) + F} pokud je fi(t) menší nebo rovno fimln;
= G*Ti(t) pokud je fi(t) větší než fim3X; a jinak = min{T(t), pokud B(t) = 1 pak Ti(t) + Ci*E{t) jinak Ti(t) - Di*fi(t) pokud B(t) = 0} kde:
84061 (2784061_CZ.doc) 18.6.2002 · ···· • * · · · ·»·· ftft · ··· · « ft • ftft·· ftft·
A := konstanta menší než jedna a přednostně rovna 0,125
D = konstanta menší než jedna a přednostně rovna 0,25
F = konstanta menší než jedna a přednostně rovna 0,125
G = konstanta menší než jedna a přednostně rovna 0,875
T(t) = globální podíl přenosu
Globální podíl přenosu je přednostně dán takto:
T(t) = minimum{l,maximum(1/8, T(t-Dt)+ 2*1(t-Dt)*M(t-Dt)* Dt/Qmax) * (9/4 - 2*T(t) - 2*M (t) *Q (t)/Qmax) } }
M(t - Dt) = multiplikátor z předcházející epochy = v upřednostňovaném provedení se multiplikátor blíží jedné, když se opakovaně určuje, že úroveň fronty přesahuje práh, a když se opakovaně určuje, že úroveň fronty nepřesahuje práh,
Dt = délka epochy ve vhodných časových jednotkách
Globální podíl přenosu tedy zajišťuje, že úroveň fronty a globální podíl přenosu jsou kriticky tlumeny a že se lze vypořádat s nadpříspěvkovostí.
Na základě podílu přenosu určeného v kroku 194 jsou pakety nebo části provozu pro vedení přenášeny nebo vyhazovány v kroku 196. V upřednostňovaném provedení krok 196 počítá s prioritou paketu při určování, zda má konkrétní paket vyhodit. V jiném provedení jsou pakety vyhazovány náhodně, aby se zachovaly vypočtené podíly přenosu.
V kroku 198 se určí, zda byla epocha skončena. Pokud ne, pokračuje v kroku 196 vyhazování a přenášení paketů.
84061 (2784061_CZ.doc) 18.6.2002
4· **99 * 9 9 9 9 · 9 « 9 » • · «·« »·· ♦ *♦· t 9« «« *9 ·»*·
Pokud epocha byla skončena, nastane návrat ke kroku 184 za účelem aktualizace hodnot pro následující epochu.
Způsob 180 má za následek v mnohém stejné výhody jako způsoby 160 a 170 v tom, že lze zajistit diferenciovanou obsluhu stabilním způsobem a rovnoměrně přidělovat nadbytečnou šířku pásma. Toho se dosáhne s minimálním úsilím ze strany uživatele, pouhým nastavením minimálních a maximálních toků pro vedení. Způsob 180 lze také využít v řadě aplikací, jako např. v sítích používajících DíffServ, poskytovatelů internetových služeb, kteří potřebují poskytnout různým zákazníkům různé úrovně služeb, nebo v různých médiích. Toho nastavení minimálního a souhrnné toky, zákazníky, je dosaženo pouhým umožněním maximálního toku pro funkční média, třídy nebo jiné toky odpovídající vedením ve způsobu 180. Tak lze podle požadavků regulovat tok vedením, což je kritérium obsluhy u DíffServ.
Kromě toho způsob 180 využívá dalších výhod dvou výše popsaných způsobů. Jelikož lze použít globální podíl přenosu, může způsob 180 efektivním způsobem zvládnout vyšší přetížení. Použití multiplikátoru, který odpovídá virtuální maximální úrovni fronty, jež se snižuje, když se fronta 20 opakovaně překračuje práh, zajišťuje, že přepínač může zůstat stabilní i za velkého rozsahu příspěvků. V jednom provedení lze zvládnout až osmisetprocentní nadpříspěvkovost. Protože je navíc globální podíl přenosu v určitém smyslu kriticky tlumen, systém popsaný úrovní fronty a globálním podílem přenosu rychle dosáhne stabilního stavu. Proto způsob 180 umožňuje rychle dosáhnout požadovaných rychlostí přenosu pro rovnovážný stav.
Předpokládá se, že obecně bude přepínač 10 využívat tu
84061 (2784061_CZ.doc) 18.6.2002
4* 4··· *4 «4 ·· ·· ·« 4 » · · 4*4« · 4 4 444 4 4 *
4449 4 4 4 «444 4 44 ·· 44 44*4 část způsobu 180, která odpovídá způsobu 160 a 170. Vedení tedy budou zpravidla regulována tak, aby se dosáhlo stabilního mezního cyklu, V upřednostňovaném provedení se bude tok vedením zvyšovat, dokud nepřestane klesat úroveň fronty, a bude se snižovat, dokud úroveň fronty neklesá nebo je nulová. Má se za to, že takto bude fungovat normální režim činnosti. V kritických případech však, např. protože několik vedení se náhle zaktivuje a požadují, aby jejich minimální toky nebo úroveň fronty přesáhly práh, se může uplatnit jiná metodika. Například lze využít globálního podílu přenosu k pokusu o zajištění toho, že se fronta 20 nezaplní. Když se zvládne kritický a typicky přechodný stav, použijí se znovu podíly přenosu, které vyústí ve stabilní mezní cyklus. Přepínač využívající způsob 180 tedy může efektivně pracovat nad širokým rozsahem příspěvků.
Tyto vynálezy také zvažují způsoby a systémy, které obsahují nastavení podílu přenosu pro tok ve vedení z množství vedení tak, aby byl minimem z globálního podílu přenosu a diferenciálního podílu přenosu. Diferenciální podíl přenosu může lineárně zvyšovat tok na základě minimálního toku nebo maximálního toku, pokud existuje nadbytečná šířka pásma a pokud je tok pro vedení menší než maximální tok pro toto vedení nastavený. Diferenciální podíl přenosu může také exponenciálně snižovat tok pro vedení na základě minimálního toku nebo maximálního toku, pokud neexistuje nadbytečná šířka pásma a pokud je tok pro vedení větší než minimální tok pro toto vedení nastavený. Provoz vedením je tedy stabilní. Způsob a systém také obsahují řízení přenosu provozu do fronty na základě podílu přenosu a s využitím plánovače pro řízení provozu z fronty. Plánovač může uplatňovat jeden postup nebo kombinaci postupů. Například může plánovač využívat jeden nebo kombinaci
84061 (2784061 _CZ.doc) 18.6.2002 • « · * · • ft ft*· ··· · ft · ·· · ftft ftftftft následujících postupů: fronta FIFO (z angl,, First In First Out) , prioritní zařazování, uživatelské zařazování, vážené rovnoměrné zařazování, vážené zařazování na základě tříd, vážené rovnoměrné zařazování s víceúčelovým procesorem rozhraní, cyklická obsluha, vážená cyklická obsluha nebo jiný známý postup zařazování.
Pro podrobnější vysvětlení dalšího způsobu a systému podle tohoto vynálezu nyní odkazujeme na obr. 15 a 16, které znázorňují jedno provedení způsobu 220 podle tohoto vynálezu. Způsob 220 lze použít v souvislosti s přepínačem IQ zobrazeným na obr. 1 a 3. Způsob 220 tak lze realizovat v přepínači 10, který má několik ramen Ί_, a 9 a na každém rameni 7, 8 a 9 několik portů. Pro účely srozumitelnosti bude způsob 220 popsán ve spojení s frontou 34 a zařazovacím mechanismem 32, které jsou znázorněny na obr. 3. V upřednostňovaném provedení se způsob 220 používá na straně výstupu přepínače 10, a tudíž výstupní části síťového procesoru 5. Způsob 220 se tedy přednostně používá spolu se zařazovacím mechanismem 32, frontou 34 a plánovačem 35. Nic však nebrání tomu, aby byl způsob 220 použit s jinými frontami, jako jsou fronty 20, 24, 28, s jinými zařazovacími mechanismy, jako jsou zařazovací mechanismy 19, 23, 27 a jinými plánovači. V upřednostňovaném provedení je způsob 220 použit v systému, v němž je několik front součástí stejného paměťového zdroje. Nic však nebrání tomu, aby byl způsob 220 použit v jiném systému, v němž každá fronta má oddělený paměťový zdroj.
V kroku 222 se nastaví minimální a maximální toky pro vedení, která poskytují provoz do fronty 34. Vedení mohou přicházet z libovolného z portů A 18 do zařazovacího mechanismu 32. V upřednostňovaném provedení jsou uvažovaná
84061 (2784061_CZ.doc) 18.6.2002 ·* «999 *· 99 99 9«
9 · 9 9 9999 «9 · 9 999 9 9 9
9 · · · 9 9 9 9
999« 9 99 99 «9 «99« vedení funkčními souhrnnými toky. Krok 222 tedy přednostně nastavuje minimální a maximální šířku pásma pro uvažované funkční souhrnné toky. Navíc pro každý výstupní port by součet minimálních garantovaných toků pro vedení měl být menší než vysílací kapacita, S, daného portu a v upřednostňovaném provedení je menší než polovina vysílací kapacity. Je tomu tak proto, že toky jsou definovány jako podíl celkového množství provozu, který fronta 34 může obsloužit. Minimální tok pro vedení může být nula. Typicky má fronta 34 definovanou rychlost obsluhy, což je rychlost, kterou fronta 34 může vydávat informační jednotky z fronty. Ačkoli je v upřednostňovaném provedení maximální počet vedení obsluhovaných frontou 34 menši nebo roven 2248, neexistuje skutečná horní mez pro počet řízených vedení.
Kromě toho, každé vedení nabízí frontě 34 provoz rychlostí nabídky, Ii(t), kde i označuje i-té vedení. V závislosti na různých faktorech může být část provozu vyhozena. Podíl přenosu pro i-té vedení, Ti(t), je podíl provozu z i-tého vedení, který je přenesen do fronty 34. Okamžitý tok pro ité vedení tedy je fi(t) = Ii(t)*Ti(t). V upřednostňovaném provedení může způsob 100 také zajistit, že vedení, jimiž provoz prochází, mají alespoň své minimální toky.
Jakmile jsou nastaveny minimální a maximální toky pro vedení, může v kroku 224 začleněný procesorový komplex začít řídit provoz skrz přepínač 10. V krocích 226, resp. 228 se určí úroveň fronty a rychlost nabídky pro předcházející epochu. V upřednostňovaném provedení se úroveň fronty určí na konci předcházející epochy a je úrovní paměťového zdroje.
V upřednostňovaném provedení také rychlost nabídky, určená v kroku 228, je celkovým nabízeným vstupem do paměťového zdroje během předcházející epochy. V upřednostňovaném provedení se v kroku 226 nebo 228 také určí podíl přenosu a
84061 (2784061_CZ.doc) 18.6.2002
0« ♦ J >000 _ _ ·· MM M 00 00 □ O *00000 * « · ·· 0·· 0 • 0 · · · 0 4 • 00«· «0 ·· «0 globální podíl přenosu pro předcházející epochu, které jsou popsány níže. V alternativním provedení určení úrovně fronty ve způsobu 220 obsahuje určení úrovně fronty 34 příslušející zařazovacímu mechanismu 32. V upřednostňovaném provedení také jsou podíl přenosu a globální podíl přenosu během epochy konstantní, a lze je tedy určit v libovolném okamžiku během předcházející epochy, avšak přednostně se určí na začátku předcházející epochy.
Poté je řízen globální podíl přenosu tak, že se v kroku 230 globální podíl přenosu a úroveň fronty kriticky ztlumí nad rozsahem úrovní fronty, pokud se globální podíl přenosu používá. Globální podíl přenosu je řízen na základě úrovně fronty a nabízeného vstupu. V upřednostňovaném provedení je globální podíl přenosu také řízen na základě předchozího globálního podílu přenosu. V upřednostňovaném provedení spočítá krok 230 změnu v globálním podílu přenosu pro kritické tlumení a přičte změnu v globálním podílu přenosu ke globálnímu podílu přenosu pro předcházející epochu. Rozsah úrovní fronty, nad nímž je globální podíl přenosu takto řízen, se může rozšířit na všechny možné úrovně fronty. V upřednostňovaném provedení se však rozsah, nad kterým je globální podíl přenosu řízen pro kritické tlumení, nachází mezi minimální úrovní fronty, větší nebo rovnou nule, a maximální úrovní fronty, menší nebo rovnou maximální možné úrovni fronty.
V kroku 232 (obr. 16) se určí, zda má fronta 34 k dispozici nadbytečnou šířku pásma. V upřednostňovaném provedení se určí, že nadbytečná šířka pásma neexistuje, pokud se úroveň fronty zvyšuje. V upřednostňovaném provedení se také v kroku 232 určí, že nadbytečná šířka pásma existuje, pokud je fronta 34 prázdná nebo pokud je úroveň
84061 (2784061_CZ.doc) 18.6.2GQ2 » vwr* ▼▼ v*
4 4 · * 4 4 4 4 4 « 4 4 44« · 4 4
444* 444
4444 · 44 ·· 4· 444« fronty pro frontu 34 nulová, nízká nebo klesá. Krok 232 tedy přednostně obsahuje určení úrovně fronty a porovnání úrovně fronty s předcházející úrovní fronty. V upřednostňovaném provedení se také určí, že nadbytečná šířka pásma neexistuje, pokud úroveň fronty buďto není rovna nule nebo neklesá. Nic však nebrání použití jiných kritérií pro určení toho, zda existuje nadbytečná Šířka pásma.
Pokud se v kroku 232 určí, že existuje nadbytečná šířka pásma, tak se v kroku 234 nastaví diferenciální podíl přenosu pro vedení tak, aby se toky pro vedení mohly lineárně zvyšovat. Kroku 234 je přednostně dosaženo lineárním zvýšením diferenciálního podílu přenosu pro každé z vedení. Lineární zvýšení pro vedení může být založeno na minimálním toku, maximálním toku nebo váze. Lineární zvýšení pro vedení tedy může být založeno pouze na minimálním toku vedením, pouze na maximálním toku, na nějaké kombinaci minimálního toku a váhy, na nějaké kombinaci maximálního toku a váhy nebo na nějaké kombinaci minimálních a maximálních toků a váhy. V upřednostňovaném provedení je však lineární zvýšení pro vedení založeno na minimálním toku pro vedení.
Pokud se v kroku 232 určí, še neexistuje nadbytečná šířka pásma, tak se v kroku 236 nastaví diferenciální podíl přenosu tak, aby se toky pro vedení mohly exponenciálně snižovat. Kroku 236 je přednostně dosaženo exponenciálním snížením diferenciálního podílu přenosu pro každé vedení. Exponenciální snížení pro vedení může být založeno na minimálním toku nebo na maximálním toku. Exponenciální snížení pro vedení tedy může být založeno na pouze minimálním toku vedením, pouze na maximálním toku nebo na nějaké kombinaci minimálního a maximálního toku.
84C61 (2734061_CZ.doc) 10.6.2GO2
4*
4
4444 ·4·4 44 44 ·· • · · 4 4 4 4 • · · · 4·* · • 4 4 4 4 4 4 »··* 4 44 *4 4«
V upřednostňovaném provedení je však exponenciální snížení pro vedení založeno na minimálním toku pro vedení. Jelikož snížení je svou povahou exponenciální, je snížení založeno také na aktuálním toku pro vedení.
Poté se v kroku 238 nastaví podíl přenosu tak, aby byl minimem z globálního podílu přenosu určeného v kroku 230 a diferenciálního podílu přenosu určeného buď v kroku 234 nebo 236. V jednom provedení lze provést krok 238 pomocí globálního a diferenciálního podílu přenosu určených pro předcházející epochu. V takovém případě lze krok 238 provést paralelně s kroky 226 až 236.
V kroku 240 je poté řízen provoz do fronty 34 na základě podílu přenosu. V upřednostňovaném provedení obsahuje krok 240 vyřazování paketů buďto náhodně nebo na základě jiných faktorů, jako je např. priorita paketu, aby zajistil, že se zachová podíl přenosu nastavený v kroku 238.
V jiném provedení lze použít podílů vyřazení místo podílu přenosu. Podíl vyřazení je typicky roven jedné mínus podíl přenosu.
Poté se v kroku 242 používá plánovač 35 k tomu, aby naplánoval odstranění z fronty jednotlivých paketů, které mají být odeslány směrem ke konečnému místu určení paketů. Plánovač 35 tak přiděluje šířku pásma pro pakety opouštějící frontu 34. Jinými slovy, plánovač 35 přiděluje pořadí pro pakety, které mají být odeslány z fronty 34. Plánovač 35 určuje, kdy mají být pakety, kterým je v kroku 240 dovoleno vstoupit do fronty 34, odstraněny z fronty 34 a vyslány směrem k jejich konečnému místu určení. Plánovač 35 tedy zajišťuje další úroveň řízení pro provoz skrz přepínač 10.
84061 (2784061_CZ.doc) 18.6.2002 • · • ·9· • 9 • ·· · 9 • 9 9 9 9 9 ·· ·· ·· ····
V upřednostňovaném provedení provádí plánovač 35 krok 242 na základě charakteristik paketu, který je plánovači 35 předán, jakož i na základě dostupné šířky pásma dalších zdrojů, jako je např. cílový port (tj. jeden z portů B 36) . Plánovač 35 tedy naplánuje každý paket tak, aby mohl být odeslán v souladu s požadavky pro daný paket. Plánovači 35 například může být předán paket se zpracováním v reálném čase. Paket se zpracováním v reálném čase, jako např. paket se zvukovými daty, může být ovlivněn rychlostí přenosu jakož i kolísavostí přenosu. Navíc může plánovač 35 vzít v úvahu typ obsluhy zaplacený klientem, který posílá či přijímá paket. Typ obsluhy může být vyjádřen minimálními a maximálními toky pro vedení, z nějž paket dorazil, nebo typem samotného paketu. Pro paket se zpracováním v reálném čase naplánuje plánovač 35 paket ve stylu vysoké priority tak, aby paket mohl dorazit v požadovaném časovém rámci. Plánovači 35 však může být také předán datový paket, např. takový, který pouze požaduje maximální snahu o dosažení svého cíle. Maximální snahou se rozumí levná obsluha s nízkou úrovní, která pouze požaduje, aby se při posílání paketu na místo určení využila maximální snaha sítě. Plánovač 35 může rakový paket naplánovat s mnohem menší prioritou tak, aby byl paket poslán dále pouze tehdy, pokud v přepínači 10 existuje dostatečná šířka pásma pro odeslání paketu.
Použití globálního podílu přenosu a diferenciálního podílu přenosu nastavených v kroku 230, resp. 234 nebo 236, pro určení podílu přenosu společně s použitím plánovače v kroku 242 poskytuje tři výhody. Za prvé, způsob 220 může pomocí použití globálního podílu přenosu jako podílu přenosu zajistit, že fronta 34 se nezaplní. Zaplnění fronty 34 by vyžadovalo vyhození jakýchkoli dalších paketů, které mají
84061 (2784061_CZ.doc) 18.6.2002 ·· ··»· ř 0 0
0« · 0
0 000
- bU 00 00 0 0· 0
0 0 • 000 0
0 0 0 00 00
0·0 00 0000 být do fronty 34 uloženy, což je nežádoucí. Globální podíl přenosu může být vybrán v kroku 238 jakožto podíl přenosu, pokud je úroveň fronty pro frontu 34 dostatečně vysoká na to, aby upozornila na to, že se fronta 34 může zaplnit. Globální podíl přenosu se tedy v kroku 238 zřídkakdy nastavuje jakožto podíl přenosu.
Když se používá globální podíl přenosu jakožto podíl přenosu, pro systém popsaný podílem přenosu a úrovní fronty je zajištěno kritické tlumení. To umožňuje, aby provoz skrz frontu 34, a tudíž přepínač 10, rychle dosáhl stabilního stavu. Tento stabilní stav se nachází na úrovni fronty mezi minimálními a maximálními požadovanými úrovněmi fronty, které lze nastavit k zajištění toho, že úroveň fronty nikdy dostatečně nezvýší na to, aby se fronta 34 ocitla v nebezpečí zaplnění. Když se používá globální podíl přenosu, tak by provoz skrz frontu 34, která je popsána úrovní fronty a podílem přenosu, měl dosáhnout stabilního stavu v minimálním množství času, jelikož lze zajistit kritické tlumení.
Způsob 220 počítá se zajištěním diferenciované obsluhy stabilním způsobem. V kroku 238 se použije diferenciální podíl přenosu v případech, kdy není nebezpečí, že by úroveň fronty překročila maximální požadovanou úroveň fronty. Jinými slovy, diferenciální podíl přenosu nastavený v kroku 234 nebo 236 bude obecně použit k zajištění podílu přenosu v kroku 238. Jelikož diferenciální podíl přenosu zvyšuje toky lineárně a snižuje toky exponenciálně, diferenciální podíl přenosu všeobecně zajišťuje, že provoz skrze vedení do fronty 34 může automaticky a asymptoticky dosáhnout stability. Toky se zvýší nebo sníží v závislosti na tom, zda má fronta 34 nadbytečnou šířku pásma. Když je dosaženo
84061 (2784061_CZ.doc) 18.6.2002 bl »· ···· «· · ·· ** * · ··# * «· · * · · · i*· · · * • · ····»*· ··· · ·« ♦ · ·· ·«»* stability, toky se budou lineárně zvyšovat tak dlouho, dokud existuje nadbytečná šířka pásma, poté se budou v důsledku nedostatku nadbytečné šířky pásma exponenciálně snižovat, dokud nebude opět k dispozici nadbytečná šířka pásma. Toto chování se bude opakovat. Jinými slovy, provoz z vedení se může ustálit v pevném cyklickém stavu, který je znám jako mezní cyklus. Proto nezávisle na tom, v jakém stavu provoz skrz vedení započne, se systém přesune do stabilního cyklického režimu. Tento stabilní režim nemusí být dosažitelný pomocí jiné kombinace zvýšení a snížení. Například exponenciální zvýšení a lineární snížení nebo exponenciální zvýšení a exponenciální snížení nemusí vyvolat stabilní režim. Kromě toho, zvýšení a snížení v toku pro každé vedení bude záviset na minimálním a maximálním toku pro vedení a na předcházejícím toku pro vedení. Různá vedení tak mohou mít různé úrovně toku nebo obsluhy. Proto diferenciální podíl přenosu dovede nejen vytvořit stabilní režim, ale dovede také zajistit diferenciovanou obsluhu a rovnoměrně přidělovat nadbytečnou šířku pásma pro frontu 34.
Vše, co musí sítový administrátor či jiný uživatel udělat je, že musí pro zákazníky nastavit minimální a maximální toky různě v závislosti na úrovni obsluhy požadované konkrétním zákazníkem. Způsob 220 lze tedy využít v řadě aplikací, jako např. v sítích používajících DiffServ, u poskytovatelů internetových služeb, kteří potřebují poskytnout různé úrovně služeb různým zákazníkům, nebo pro různá média. Toho je dosaženo pouhým umožněním nastavení minimálního a maximálního toku pro funkční souhrnné toky, zákazníky, média, třídy nebo jiné toky odpovídající vedením ve způsobu 220. Způsob 220 tedy zajíš tu je nejen to, že úroveň fronty je řízena stabilním způsobem, ale také stabilním způsobem zajišťuje diferenciovanou obsluhu.
84061 (2784Q61_CZ.doc) 13.6.2002
*« 1444 44 44 • 4 4 «44
4
444» 4
4 «
44
Třetí výhoda způsobu 220 spočívá v použití plánovače 35 v kroku 242. Jelikož se v kroku 238 nastaví podíl přenosu tak, aby byl minimem z globálního a diferenciálního podílu přenosu, lze řídit množství provozu přicházející do fronty 34. V důsledku toho může být plánovači 35 předáváno přiměřené množství práce, kterou je plánovač 35 schopen vykonat požadovanou rychlostí. Jinými slovy, způsob 220 může zamezit tomu, aby byl plánovači 35 přidělován provoz z fronty vyšší rychlostí, než kterou může plánovač 35 zpracovat. To zamezuje tomu, aby se plánovač 35 zaplnil. Následkem toho lze snížit nebo eliminovat doby latence, způsobené plánovačem 35. To zabraňuje vytváření nevyřízených paketů vcházejících do plánovače 35 s nepředvídatelnými účinky na dobu latence, ztráty, přidělení šířky pásma a kolísavost.
Obr. 8 znázorňuje na 250 podrobnější provedení kroků 230, přičemž řízení globálního podílu přenosu probíhá na základě úrovně fronty a rychlosti nabídky. Krok 230 začíná poté, co byl pro předcházející epochu určen podíl přenosu, úroveň fronty a rychlost nabídky. V upřednostňovaném provedení byl globální podíl přenosu pro předcházející epochu určen v předešlé iteraci způsobu 220. Podíl přenosu však lze určit, pokud již není dostupný. Úroveň fronty se přednostně určí v souvislosti s minimální úrovní fronty, Qmín, a maximální úrovní fronty, Qmax, na konci epochy.
V kroku 252 se poté určí, zda úroveň fronty přesahuje Qmin. Pokud ne, tak se v kroku 254 podíl přenosu nastaví na jedna. Krok 254 tedy zajišťuje, že pokud je úroveň fronty dostatečně nízká, budou všechny pakety přeneseny zařazovacím mechanismem 32 do fronty 34. Pokud se v kroku 252 určí, že úroveň fronty přesahuje Qmin/ pak se v kroku 256 určí, zda
84061 (278406i_CZ.doc) 18.6.2002 fr* *
« ·» » ···· • * • frfr* • t ··· β · *· ·· • · · · • · · • · · · · · · ·· «· ·· »··· úroveň fronty přesahuje Qmax. Pokud úroveň fronty přesahuje Qmax, tak se v kroku 258 podíl přenosu nastaví na nula. Krok 258 tedy zajišťuje, že pokud je úroveň fronty příliš vysoká, budou všechny pakety vyřazeny.
Pokud úroveň fronty není ani pod Qmin ani nad Qmax, tak je v kroku 260 řízen podíl přenosu pro kritické tlumení. Za účelem zřetelnějšího vysvětlení nastavení globálního podílu přenosu budeme předpokládat, še rychlost nabídky frontě 34, I(t) , a rychlost výstupu z fronty 34, O(t), jsou v rovnovážném, stabilním stavu konstantní. Analýza však platí i v případě, kdy se I(t) a 0{t) stále mění, jak obecně platí u sítí.
Pokud jsou rychlost výstupu a rychlost nabídky konstantní, tak by v rovnovážném stavu rychlost změny úrovně fronty vzhledem k času a rychlost změny přenosu vzhledem k času měly být nulové. Jinými slovy, v rovnovážném stavu platí:
= I(t)*gT(t) - O(t) = « (t) *ΐ β - αγ T(t) - Q/Qmax)
I(t) = I = konstanta O(t) = O = konstanta gT(t)= globální podíl přenosu
Proto v rovnovážném stavu platí:
gT = O/I a *gT = β - Q/Qmax
34061 (27840S1_CZ.doc) 13.6.2002
9« ···· • · • · ♦ * »♦ *
♦ • · · · *♦ ·· ·· • · 9 ♦ • 99
9* ···
Pro zřetelnost také předpokládejme, že v minimu je Q/Qmax konstantou, např. 0,25. Je stanoveno, že maximální poměr 1/0, který se povoluje v oblasti stability, je 1,6; v tomto poměru I/O dosáhne Q hodnoty Qroax a T = 5/8. Taktéž je stanoveno, že při hodnotě Q nižší nebo rovné Qmax/4 by se gT mělo rovnat jedné. V těchto dvou extrémních rovnovážných stavech tedy platí:
= β - a *5/8 - 1 a = β - a - 1/4
Z těchto předpokladů lze stanovit numerické hodnoty a a β jako 2, resp. 2,25. Poznamenejme, že lze stanovit jiné tolerance pro Q/Qmax a obdržet jiné numerické hodnoty ce a β. a a β tedy lze určit na základě rovnovážných podmínek a několika předpokladů ohledně rozsahů, ve kterých má přepínač 10 podle požadavků pracovat. Pro stabilitu lze ukázat, že platí:
a2* x2(t) = 4* «(t) * I/Qmax neboli κ (t) = 4* I/Qmax * a2) = KtJ/Qnax pro výše uvedené předpoklady
Abychom obdrželi podíl přenosu, který zajistí kritické tlumení v hodnotách, pro něž má systém fungovat, můžeme tedy volit (t) , a a β. Pomocí výše uvedených rovnic lze pro přepínač 10 zajistit podíl přenosu, požadovaný k zajištění kritického tlumení. Pomocí výše uvedených předpokladů pro Q/Qmax a I/O například pro systém popsaný podílem přenosu a úroveň fronty dostáváme:
Q(t + Dt) = Q(t) + [I(t)*gT(t) - O(t)]*Dt gT(t + Dt) = gT(t) + (I{t)*Dt/Qmax)*(2,25 - 2*gT(t) - Q(t) /
84061 (2784061_CZ.doc) 18.6.2002 » · · « ·· 4«
Qmax) *Dt kde:
Dt = časový interval mezi výpočty Q a gT = doba pro epochu QítJ/Qmax je větší nebo rovno 0,25 I(t)/O(t) je menší nebo rovno 1,6
Aby se postihly situace, kde jsou výše uvedené podmínky pro Q(t), I(t) a O(t) porušeny, je možné změnit podíl přenosu na základě úrovně fronty. Například je-li Q/Qmax nižší než 0,25, lze podíl přenosu stanovit jako jedna. Obdobně je-li I(t)/O(t) větší než 1,6, začne se fronta zaplňovat rychleji než je žádoucí. Proto dosáhne-li fronta úrovně maximální hodnoty nebo se jí přiblíží, lze podíl přenosu stanovit na nulu nebo nějakou malou hodnotu.
Globální podíl přenosu se tedy nastavuje pro kritické tlumení na základě úrovně fronty, rychlosti nabídky a podílu přenosu z předcházející epochy jakož i na základě délky epochy. Pokud se globální podíl přenosu použije jako podíl přenosu, tak jsou pakety přeneseny nebo vyřazeny zařazovacím mechanismem 32 tak, že podíl paketů poskytnutých frontě 34 je roven podílu přenosu. Pakety se přednostně vyřazují náhodně, podobným způsobem, jaký je použit v konvenčním způsobu RED. Avšak pakety mohou být také vyřazovány na základě jejich priority. Navíc se přednostně pošle oznámení zpět hostitelům vysílajícím vyřazené pakety, aby hostitelé mohli dočasně pozdržet provoz do přepínače 10.
Globální podíl přenosu lze tedy nastavit pro kritické tlumení pomocí způsobu 230. Kritické tlumení přednostně může
84061 (2784061_CZ.doc) 18.6.2002 • · nastat pouze v žádoucím rozsahu úrovní fronty. Vně tohoto rozsahu je globální podíl přenosu nastaven na nula nebo jedna v závislosti na tom, zda je úroveň fronty určena jako příliš vysoká nebo příliš nízká pro výpočet kritického tlumení. Jelikož pakety lze vyřazovat náhodně nebo alespoň zčásti na základě jejich priority, je možné zabránit synchronizaci hostitelů vysílajících provoz do přepínače 10. Jelikož je zajištěno kritické tlumení, způsoby 220 a 230 mohou zajistit lepší stabilitu pro systém než způsob RED. Způsoby 220 a 230 také dosahují rovnovážného stavu rychleji než způsob BLUE, protože je zajištěno kritické tlumení. Díky tomu se zlepší provoz sítě používající přepínač 10, který využívá způsob 220 nebo 230.
Obr. 18 znázorňuje podrobnější vývojový diagram způsobu 270 podle tohoto vynálezu pro stanovení diferenciálního podílu přenosu. Způsob 270 lze použít k provedení kroků 232, 234 a 236 ve způsobu 220 znázorněném na obr. 15 a 16. Zpět k obr. 18, předpokládá se, že úroveň fronty, okamžitý signál nadbytečné šířky pásma, B, a hodnota nadbytečné šířky pásma, E, jsou již dostupné, přednostně díky předchozí iteraci způsobu 270. Pokud však dostupné nejsou, mely by tyto hodnoty být vypočteny. V upřednostňovaném provedení by měly být také dostupné toky pro předcházející epochu.
Způsob 270 začíná poté, co byly nastaveny minimální a maximální toky pro každé z řízených vedení, např. síťovým administrátorem. Pro každé z vedení se v kroku 172 vypočítají konstanty na základe minimálních a maximálních toků pro vedení. Pro každé vedení, i, se v kroku 172 vypočítá konstanta Ci a konstanta Dj. Konstanta Ci se používá pro lineární zvyšování toku pro vedení i, jak je popsáno níže. Obdobně se konstanta Di používá pro exponenciální
84061 (2784061_CZ.doc) 18.6.2C02 snižování toku pro vedení i, jak je popsáno níže. V upřednostňovaném provedení jsou konstanty Ci i Di založeny na minimálních tocích. V alternativním provedení lze také stanovit váhy pro různá vedení. V takovém případě lze konstanty Ci a Di vypočítat také na základě poskytnutých vah.
Konstanty pro zvýšení nebo snížení toků pro vedení se určují na základě minimálních toků a, v případě použití, vah. Konstanta pro zvýšení toku, Ci, a konstanta pro snížení toku, Di( ve vedení se přednostně počítají následujícím způsobem:
Ci = <Wi/W)*(S + fimin - Σ fjminJ/ie j
Pokud se všechny váhy rovnají jedné, jako tomu je v upřednostňovaném provedení, pak platí:
Ci = {S + fimin ~ S fjmin) /16 j
Di = (Ξ - fimin) *4 kde:
Wi = váha pro i-té vedení, která je přednostně v rozmezí [0,1]
W = součet všech N vah fimin = minimální tok pro i-té vedení
Kromě toho jsou jednotky toku opět zvoleny tak, aby Dt bylo rovno jedné a Qmax bylo rovno jedné.
Jakmile jsou určeny konstanty, umožní se, aby provoz
84061 (2784061_CZ.doc) 18.6.2002 procházel vedeními do fronty 34. V kroku 274 se určí, zda existuje nadbytečná šířka pásma. V upřednostňovaném provedení se určí, že nadbytečná šířka pásma existuje pouze tehdy, pokud je úroveň fronty pro frontu 34 nulová nebo klesá. V opačném případě se určí, že nadbytečná šířka pásma neexistuje. Nic však nebrání použití jiných kritérií k určení toho, zda existuje nadbytečná šířka pásma.
V upřednostňovaném provedení je určená úroveň fronty úrovní pro celý paměťový zdroj. Nic však nebrání tomu, aby byla úroveň fronty určena pro logickou frontu nebo podfrontu. Pokud neexistuje nadbytečná šířka pásma, tak se v kroku 260 okamžitý signál nadbytečné šířky pásma, B, nastaví na nulu. Signál B se označuje jako okamžitý, protože je založen na jediném měření úrovně fronty a jediném určení změny úrovně fronty. Poté se v kroku 282 nastaví hodnota nadbytečné šířky pásma, E, tak, aby se rovnala konstantě, přednostně 31/32, krát její předchozí hodnota plus jedna mínus stejná konstanta, přednostně 1/32, krát Β. V upřednostňovaném provedení je tedy hodnota nadbytečné šířky pásma E exponenciálně váženým průměrem okamžitého signálu nadbytečné šířky pásma B. Hodnota signálu nadbytečné šířky pásma se v kroku 282 nastaví příslušným způsobem, protože okamžitý signál nadbytečné šířky pásma je nulový.
Pokud se v kroku 274 určí, že nadbytečná šířka pásma existuje, tak se v kroku 276 nastaví okamžitý signál nadbytečné šířky pásma na jedna. Poté se v kroku 278 nastaví hodnota nadbytečné šířky pásma E tak, aby byl exponenciálním váženým průměrem okamžitého signálu nadbytečné šířky pásma.
V upřednostňovaném provedení je tedy hodnota nadbytečné šířky pásma rovna první konstantě, která je násobena předchozí hodnotou nadbytečné šířky pásma, plus druhá konstanta, která je násobená okamžitým signálem nadbytečné
84061 (2784061_CZ.doc) 18.S.2OO2 ·
• · • ·«· šířky pásma. První i druhá konstanta mohou být menší než jedna a přednostně nabývají hodnot 31/32, resp. 1/32. V upřednostňovaném provedení se hodnota nadbytečné šířky pásma nastavuje tak, aby platilo:
Eít + Dt) = (3l/32)*E{t) + B(t) /32 kde:
E(t + Dt) = hodnota nadbytečné šířky pásma pro aktuální epochu
E(t) = hodnota nadbytečné Šířky pásma pro předcházející epochu
B(t) = okamžitý signál nadbytečné šířky pásma pro předcházej ící epochu
V upřednostňovaném provedení se v kroku 284 nastaví pro každé vedení i diferenciální podíl přenosu paralelně s kroky 274 až 282. V alternativním provedení lze však diferenciální podíl přenosu aktualizovat sériovým způsobem s okamžitým signálem nadbytečné šířky pásma a hodnotou nadbytečné šířky pásma. Pokud byl předcházející okamžitý signál nadbytečné šířky pásma, B, roven jedné (nadbytečná šířka pásma dostupná), tak krok 284 nastavil diferenciální podíl přenosu pro každé vedení i na základě předchozího diferenciálního podílu přenosu, konstanty Ci a hodnoty nadbytečné šířky pásma. Diferenciální podíl přenosu nastavený v kroku 184 pro dříve existující nadbytečnou šířku pásma je přednostně roven:
Ti(t + Dt) = Ti(t) + Ci*E(t)
84061 (278dC51_CZ.dcc) 13.6.2002
Dt = délka epochy (doba od posledního výpočtu podílu přenosu)
Ti(t)= diferenciální podíl přenosu pro předcházející epochu (čas t) pro i-té vedení
Jednotky toku se přednostně nastaví tak, aby Dt a maximální možná úroveň fronty, Qmax, byly jedna. Diferenciální podíl přenosu se tak lineárně snižuje. Navíc diferenciální podíl přenosu se bude dále lineárně zvyšovat tak dlouho, dokud bude existovat nadbytečná šířka pásma. Pokud nadbytečná šířka pásma v předcházející epoše neexistovala (B byl nulový), tak se v kroku 284 podíl přenosu, Ti(t + Dt) , pro každé vedení i nastaví na základě předcházejícího diferenciálního podílu přenosu pro vedení, Ti(t), Di a předcházejícího toku pro vedení, fi(t). Pokud předtím neexistovala nadbytečná šířka pásma, je podíl přenosu dán následovně:
Ti(t + Dt) = Ti(t) - Di*fi(t)
Diferenciální podíl přenosu nastavený v kroku 284 tedy zajistí to, že diferenciální podíl přenosu a tudíž tok bude exponenciálně klesat tak dlouho, dokud stále nebude existovat nadbytečná šířka pásma.
Obr. 19 znázorňuje upřednostňované provedení plánovače 29Q používaného spolu s tímto vynálezem. Plánovač 290 se tedy přednostně používá jako plánovač 21, 25, 29, 35, zejména jako plánovač 35. Plánovač 290 obsahuje seznamu 292, 294 a 296 jakož i okruh 298 váženého rovnoměrného zařazování („okruh). Všimněte si však, še s tímto vynálezem lze použít jiné plánovače (nejsou zobrazeny). Například lze použít
84061 (27840S1_CZ.doc) 18.6.20C2 • Β « 9 9 9 9999
9 9 9 999 9 9 9
9 9999 · « 9 ·«« * 99 ·9 99 9·9« jednu či více front FIFO, která je jednodušší než plánovač 290. V jiném provedení lze použít plánovač EDF (nejdřívější mezní termín jako první, z angl. earliest deadline first), který obdrží mezní termín každého paketu a umístí do řady jako první k odeslání paket, který má nej dřívější mezní termín. Obdobně lze v dalším jiném provedení použít jiný plánovač. Ať se používá jakýkoli plánovač, lze obecně předpokládat, že plánovač opakovaně provádí určitý požadovaný postup nebo kombinaci postupů tím, že opakovaně vybírá další paket k odeslání. V jednom upřednostňovaném provedení mohou být postupy jednoduché a plánování lze uskutečnit pomocí dvou FIFO mechanismů (jeden pro provoz se zpracováním v reálném Čase s absolutní prioritou a další pro všechen ostatní provoz, obsluhující pouze tehdy, když je první FIFO mechanismus prázdný). Případně v alternativním provedení může sofistikovaný plánovač uplatňovat různé postupy nesoucí s sebou trvalou rychlost odesílání, špičkovou rychlost odesílání, maximální velikost shluků a meze kolísavosti. Ve všech případech plánovač neuplatňuje řízení toku, účelové vyhazování paketů s nízkou hodnotou během přetížení. Namísto toho provádí řízení vstupujícího toku výše popsaný mechanismus, který používá globální a diferenciální podíly přenosu, a slouží konkurujícím si cílům, jako je jednoduchost, robustnost, stabilita, rovnoměrné přidělování šířky pásma, nízké četnosti vyhazování, nízká obsazenost mezipaměti a vysoké využití.
Každý seznam 292, 294 a 296 funguje tak, jak bylo popsáno dříve. Každý seznam 292, 294 a 296 tedy obsahuje určitý počet pozic. Poznamenejme, že počet posic v jednom seznamu 292, 294 a 296 se může lišit od počtu pozic v jiném seznamu 292, 294 a 296. Každá pozice může uchovávat přesně nula nebo jeden paket, který má být odeslán. V kontextu
84061 (2784061_CZ.doc) 18.6.2C02 • 0 * « 0 · 0 ·
0 ·
0 *
/z
0 0 0« 0000 tohoto popisu bude popsán plánovač, jako je plánovač 290, seznam 292, 294 nebo 296 nebo okruh 298, jako by obsahovaly paket. Plánovač 290, seznam 292, 294 nebo 296 a okruh 298 však přednostně používají identifikátor pro paket, spíše nežli paket samotný.
Každý seznam 292, 294 a 296 stráví určité množství času v každé pozici. V upřednostňovaném provedení je seznam 292 seznamem s nízkou dobou latence, a má tedy nejvyšší prioritu ze seznamů 292, 294 a 296. Seznam 294 je seznam s normální dobou latence, a má tedy druhou nejvyšší prioritu ze seznamů 292, 294 a 296. Seznam 296 je seznam se špičkovou rychlostí, a má tedy nejnižší prioritu ze seznamů 292, 294 a 296. V upřednostňovaném provedení je tedy doba strávená v každé pozici pro seznam 292 menší, než doba strávená v každé pozici pro seznam 294. Obdobně doba strávená v každé pozici pro seznam 294 je menší, než doba strávená v každé pozici pro seznam 296. Seznamy 292, 294 a 296 se tedy používají pro plánování paketů s nejvyšší, normální a nejnižší prioritou. Procházením pozic v každém ze seznamů 292, 294 a 296 plánovač 220 zajistí, že pakety budou odeslány z příslušné fronty, jako je např. fronta 16, v souladu s prioritou paketu.
Okruh 298 se přednostně používá pro plánování paketů s nejnižší prioritou. Tedy paket umístěný do okruhu 298 má nižší prioritu než paket umístěný do jednoho ze seznamů 292, 294 a 296. Okruh 298 přednostně šetří práci. Tedy za konkrétní množství času okruh 228 bude provádět konstantní množství operací tak dlouho, dokud se okruh 298 nevyprázdní. Okruh 298 má také konkrétní počet pozic. Každá pozice v okruhu 298 může uchovávat přesně nula nebo jeden paket. Když se však prochází okruh 298, přechází okruh 228 přímo na
84061 (2734061_CZ.doc) 18.6.2002
I —> ·« 0909 »» --- ’• 0 0 9 9 9 »0»·
0* · * 0·0 0* 0 · 0000000· 0 • 0 «000 000
0009 0 0« 00 0* 0000 další obsazenou pozici, přičemž přeskočí všechny pozice, které nejsou obsazeny. V důsledku toho okruh 298 šetří práci.
Obr. 20 znázorňuje zjednodušený vývojový diagram jednoho provedení způsobu 300 pro plánování paketů pomocí plánovače 290. V kroku 302 se určí charakteristika, jako např. typ, paketu, který má být naplánován. Typ paketu, který má být naplánován, může být založen zčásti na povaze dat přenášených paketem, např. data zpracování v reálném čase jako video oproti ryzím datům jako email. Navíc lze také uvažovat typ vedení, z něhož paket dorazil. V jednom provedení jsou například typy obecně dostupných vedení upřednostněné zasílání (EF, z angl. expedited forwarding), nej lepší úsilí (BE, z angl. best efforts) a zajištěné zasílání (AF, z angl. assured forwarding). Vedení EF typicky přenáší provoz se zpracováním v reálném čase. EF vedení umožňuje, aby provoz protékal až garantovanou rychlostí maximálního toku, a poskytuje tedy vysokou a poměrně nákladnou úroveň obsluhy. Provoz přenášený EF vedením nad garantovanou rychlostí maximálního toku může být vyřazen. Provoz pro EF vedení bude pravděpodobně mapován do seznamu s vysokou prioritou, jako je seznam 292, ale může být také mapován do seznamů 294 a 296. BE vedení typicky přenáší provoz s nízkou prioritou, jako jsou datové pakety. BE vedení typicky přenáší provoz pomocí prostředků sítě, které jsou dostupné poté, co bylo přidělena alespoň minimální šířka pásma provozu s vyšší prioritou. Provoz pro BE vedení lze tudíž mapovat do okruhu 298. AF vedení má garantovanou minimální rychlost, za níž zákazník typicky platí příplatek.
AF vedení však může být přidělena určitá část jakýchkoli nadbytečných zdrojů nebo šířky pásma, které jsou dostupné v síti. Provoz pro AF vedeni tak může být mapován do nějaké
84061 (2784061_C2.doc) 10.6.2OC2 kombinace seznamů 292, 294 a 296 a okruhu 298.
V upřednostňovaném provedení se v kroku 304 také určí charakteristika, jako je typ, předchozího paketu ze stejného vedení (příslušného vedení) jako je paket, který má být naplánován. Poté se v kroku 306 určí, zda paket, který má být naplánován, má nejvyšší prioritu. „Nejvyšší priorita uvažovaná v kroku 306 může být rozsah vysokých priorit. Kromě toho, určení priority paketu může také brát v úvahu prioritu předchozího paketu a rychlost toku pro příslušné vedení. Například pokud má paket vysokou prioritu jako např. paket se zpracováním v reálném čase, ale je udáno, že příslušné vedení má tok, který je vyšší než garantovaná rychlost, nemusí být paket považován za paket s nevyšší prioritou. Jestliže paket má nejvyšší prioritu, pak se v kroku 308 paket umístí na pozici v seznamu 292. V jednom provedení pozice, na níž se paket umístí, bere v úvahu priority určitého počtu jiných paketů v seznamu 292. V jednom provedení se paket umístí na volnou pozici v seznamu 292. V alternativním provedení se však paket může umístit na obsazenou pozici a paket z této obsazené pozice se přesune na jinou pozici.
Pokud paket nemá nejvyšší prioritu, tak se v kroku 310 určí, zda paket má druhou nejvyšší prioritu. „Druhá nejvyšší priorita uvažovaná v kroku 310 může být rozsah priorit. Kromě toho, určení priority paketu může také brát v úvahu prioritu předchozího paketu a rychlost toku pro příslušné vedení. Jestliže paket má druhou nejvyšší prioritu, pak se v kroku 312 paket umístí na pozici v seznamu 294, který má druhou nejvyšší prioritu. V jednom provedení pozice, na níž se paket umístí, bere v úvahu priority určitého počtu jiných paketů v seznamu 294. V jednom provedení se paket umístí na
84061 (278403i_CZ.doc) 18.6.2002 • * ··♦··*»· φ « λ · φ φ φ Φφφ »··φ φ φφ *© φφ φφφφ volnou pozici v seznamu 294. V alternativním provedení se však paket může umístit na obsazenou pozici a paket z této obsazené pozice se přesune na jinou pozici.
Pokud paket nemá druhou nejvyšší prioritu, tak se v kroku 314 určí, zda paket má třetí nejvyšší prioritu. „Třetí nejvyšší priorita uvažovaná v kroku 314 může být rozsah priorit. Kromě toho, určení priority paketu může také brát v úvahu prioritu předchozího paketu a rychlost toku pro příslušné vedení. Jestliže paket má třetí nejvyšší prioritu, pak se v kroku 316 paket umístí na pozici v seznamu 296, který má třetí nejvyšší prioritu. V jiném provedení pozice, na níž se paket umístí, bere v úvahu priority určitého počtu jiných paketů v seznamu 295. V jednom provedení se paket umístí na volnou pozici v seznamu 296. V alternativním provedení se však paket může umístit na obsazenou pozici a paket z této obsazené pozice se přesune na jinou pozici.
Pokud paket nemá třetí nejvyšší prioritu, tak se v kroku 318 paket umístí na pozici v okruhu 318. V jednom provedení pozice, na níž se paket umístí, bere v úvahu priority určitého počtu jiných paketů v okruhu 298. V jednom provedení se paket umístí na volnou pozici v okruhu 298.
V alternativním provedení se však paket může umístit na obsazenou pozici a paket z této obsazené pozice se přesune na jinou pozici. V upřednostňovaném provedení bere krok 318 při umísťování paketu do okruhu 298 v úvahu velikost předchozího paketu ze stejného vedení. Pokud však byl předchozí paket ze stejného vedení velký, tak se paket přednostně umístí na vzdálenější neobsazenou pozici. Pokud byl předchozí paket ze stejného vedení malý, tak se paket přednostně umístí na bližší neobsazenou pozici v okruhu 298. Vedení vysílající větší pakety tedy bude mít při každém
84061 (2784061_CZ,doc) 1S.6.2C02 >4 ♦ ·< · ·* 4« • · * ·«« ί * ♦ • · 4 ·· «4 průchodu okruhu 298 menší počet směn (pozic). Umísťování paketů je přednostně založeno na velikosti předchozího paketu ze stejného vedení proto, aby se zajistilo, že okruh 298 bude pracovat u různých vedení zhruba stejnou rychlostí.
Obr. 21 je vývojový diagram znázorňující jedno provedení způsobu 320 pro odesílání paketů z příslušné fronty na základě pozic paketů v seznamech 292, 294 a 296 a okruhu 298. Obecně plánovač 290 bude odesílat pakety ze seznamu 292 rychleji než ze seznamu 294. Plánovač 290 bude také odesílat pakety ze seznamu 294 rychleji než ze seznamu 296. Plánovač 290 bude také odesílat pakety ze seznamu 296 rychleji než z okruhu 298. Pakety naplánované pomocí seznamů 292, 294 a 296 jsou tedy přednostně odesílány před paketem naplánovaným v okruhu 298.
V kroku 322 se určí, zda je aktuální pozice v seznamu 292 s nejvyšší prioritou prázdná. Pokud aktuální pozice není prázdná, tak se v kroku 324 paket na aktuální pozici pro seznam 292 odebere z fronty a odešle se další části přepínače. Pokud je aktuální pozice v seznamu 292 prázdná, tak se v kroku 326 určí, zda je aktuální pozice v seznamu 294 s druhou nejvyšší prioritou prázdná. Pokud aktuální pozice v seznamu 294 není prázdná, tak se v kroku 328 paket na této pozici odebere z fronty a odešle se další části přepínače. Pokud je aktuální pozice v seznamu 294 prázdná, tak se v kroku 33Q určí, zda je aktuální pozice v seznamu 296 s třetí nejvyšší prioritou prázdná. Pokud aktuální pozice v seznamu 296 není neobsazená, tak se v kroku 332 paket v seznamu 296 odebere z fronty a odešle se další části přepínače. Pokud je aktuální pozice v seznamu 296 neobsazená, tak se určí, zda je aktuální pozice v okruhu 298 prázdná (krok 334). Pokud ne, tak se pakety odpovídající
84061 (2784061_CZ.doc) 18.6.2002 ·· ···· pozicím v okruhu 298 odebírají z fronty a odesílají se další části přepínače (krok 336) tak dlouho, dokud nenastane čas přejít k další pozici v jednom ze seznamů 292, 294 nebo 296. Přednostně to nastává, když se další pozice v seznamu 292 má stát aktuální pozicí. Je tomu tak proto, še seznam 292 s nejvyšší prioritou přednostně tráví v každé pozici nejkratší množství Času.
Z další pozice v seznamu nebo seznamech se poté v kroku 338 stane aktuální pozice. Nehledě na to, která část přepínače 290 odesílá paket, posune se dopředu alespoň jeden ze seznamů. V upřednostňovaném provedení posune krok 338 do další pozice alespoň seznam 292. V upřednostňovaném provedení se také seznamy 294 a 296 posunou do své další pozice v násobcích času, v němž se do další pozice posouvá seznam 292. V jednom provedení se například seznam 294 posouvá do další pozice vždy tehdy, když se seznam 292 posunul do další pozice pětsetdvanáctkrát. V upřednostňovaném provedení tedy krok 338 může posunout do další pozice několik seznamů 292, 294 nebo 296. Způsob 320 se poté může opakovat. Pomocí způsobů 300 a 320 se tedy nakládá s tokem provozu a trvalými a špičkovými rychlostmi a velikostmi shluků podle potřeby. Pokud se rychlost toku provozu nachází na úrovni nebo pod trvalou rychlostí, tak pakety mohou v pravidelných intervalech vstupovat do seznamu 292 s vysokou prioritou. Pokud rychlost toku provozu přesahuje trvalou rychlost, ale nedosahuje špičkové rychlosti, tak se po dobu, která je určena velikostí shluku, pakety plánují v seznamech 292, 294 a 296 s vyšší prioritou. Pokud provoz zůstává nad trvalou rychlostí a pod špičkovou rychlostí delší dobu, tak se pakety vkládají do okruhu 298, což zajišťuje pouze to, že k odesílání paketů se použije nej lepší úsilí. Pokud později tok spadne zpět na nebo pod
84061 (2784061_CZ.doc) 18.6.2002 ···· ft garantovanou neboli trvalou rychlost, tak pakety znovu mohou být plánovány v seznamu s vyšší prioritou. Pakety se poté odebírají z fronty pomocí seznamu 292, 294 a 296 a okruhu 298 a způsobu 320.
Plánovač 290 tedy plánuje odebírání jednotlivých paketů z fronty, jako je fronta 34, z různých vedení na základě charakteristiky paketů jakož i charakteristiky vedení, z něhož paket dorazil, jako např. charakteristika předchozího paketu z tohoto vedení. V důsledku toho může plánovač 290 přesně řídit provoz skrz přepínač.
Pomocí výše popsaných způsobů lze tedy řídit provoz skrz přepínač 10. Např. použitím globálního podílu přenosu lze zaručit, že se paměťové zdroje přepínače nevyčerpají. Zejména lze řídit úroveň fronty pro konkrétní paměťový zdroj tak, aby měla ve většině případů malou hodnotu. Malá úroveň fronty zajišťuje nejen to, že se fronta nevyčerpá, ale také to, že lze zamezit nebo snížit kolísavost a další nežádoucí jevy způsobené zčásti v důsledku zaplněné nebo téměř plné fronty. Kromě toho lze zajistit diferenciovanou obsluhu, např. použitím diferenciálního podílu přenosu. Různým zákazníkům tak lze poskytnout různé úrovně obsluhy. Kromě toho může plánovač zajistit řízení provozu na úrovni paketu. Navíc použití plánovače a popsaných způsobů může zajistit to, že plánovači se předává k provedení přiměřené množství práce. Lze tak snížit nebo zamezit dodatečným dobám latence, které způsobuje plánovač.
Byly popsány způsoby a systémy pro řízení provozu v síti. Software, napsaný pro implementaci tohoto vynálezu, by měl být uložen ve formě počítačem snímatelného média, jako je paměť, CD-ROM nebo rozeslán po síti, a spuštěn
84061 (27S4061_CZ.doc) 18.6.2002 » fc · * · « · · Β · • « · · ··· 9 4 « * Β 9 9 » · ···
8999 8 98 ·· »· 8888 procesorem. Případně lze některé nebo všechny části tohoto vynálezu implementovat hardwarově. Přestože byl tento vynález popsán podle zobrazených provedení, odborník s běžnými zkušenostmi snadno nahlédne, še lze provést obměny provedení a tyto obměny stále budou v souladu s rozsahem tohoto vynálezu. Proto odborníci mohou provést Četné modifikace, aniž by se odchýlili od podstaty a rozsahu přiložených nároků.

Claims (81)

  1. PATENTOVÉ NÁROKY
    1. Způsob, vyznačující se tím, že obsahuje kroky:
    (a) řízení toku množství paketů procházejících frontou v počítačové síti;
    (b) určení úrovně fronty pro frontu;
    (c) určení rychlosti nabídky množství paketů frontě;
    (d) řízení podílu přenosu množství paketů pro frontu na základě úrovně fronty a rychlosti nabídky, přičemž podíl přenosu a úroveň fronty se kriticky tlumí, pokud se úroveň fronty nachází mezi alespoň první úrovní fronty a druhou úrovní fronty, a změna v podílu přenosu vzhledem k času se nastaví tak, aby se rovnala první veličině vynásobené druhou veličinou, kde první veličina závisí na čase a druhá veličina se rovná první konstanta mínus druhá konstanta vynásobeno podílem přenosu mínus úroveň fronty vydělená maximální možnou úrovní fronty.
  2. 2. Způsob podle nároku 1, vyznačující se tím, že fronta má maximální úroveň fronty, která je možná, a dále obsahuje krok:
    (e) určení virtuální maximální úrovně fronty na základě určené úrovně fronty a maximální úrovně fronty.
  3. 3. Způsob podle nároku 2, vyznačující se tím, že krok (e) určení virtuální maximální úrovně fronty dále obsahuje kroky:
    (el) zvýšení virtuální maximální úrovně fronty na maximum, které je menší nebo rovno maximální úrovni fronty, pokud úroveň fronty přesahuje první práh a
    37 ňdflfil 1Λfi9ΡΠ9
    4444 4 ’· φ” * 4 ·”* ♦ · ♦ ·«« 9 · * • 9 · · · * · ·· 44 44 444* obsahuje kroky (el) stanovení multiplikátoru pro maximální úroveň fronty tak, že multiplikátor je exponenciálně váženým průměrem, který se blíží první úrovní, pokud se úroveň fronty nachází pod prahem, a který se blíží druhé úrovni, pokud úroveň fronty přesahuje práh, přičemž první úroveň odpovídá virtuální úrovni fronty a je minimální virtuální úrovní fronty a druhá úroveň odpovídá virtuální úrovni fronty a je maximální úrovní fronty;
    a krok (d) řízení podílu přenosu dále obsahuje krok (dl) řízení podílu přenosu na základě úrovně fronty, rychlosti nabídky, předcházejícího podílu přenosu, multiplikátoru a maximální úrovně fronty.
    5. Způsob podle nároku 4, vyznačující se tím, že krok (el) stanovení multiplikátoru dále obsahuje kroky:
    (eli) nastavení multiplikátoru na hodnotu rovnou první konstantě vynásobené předchozím multiplikátorem plus druhá konstanta pokud se úroveň fronty nachází pod prahem a (elii) nastavení multiplikátoru na hodnotu rovnou první konstantě vynásobené předchozím multiplikátorem plus třetí konstanta pokud úroveň fronty přesahuje práh.
    6. Způsob podle nároku 5, vyznačující se tím, že krok (dl) řízení podílu přenosu dále obsahuje krok:
    (dli) řízení podílu přenosu tak, aby byl roven jedné, pokud je úroveň fronty pod minimální úrovní fronty a (dlii) řízení podílu přenosu tak, aby byl minimem z jedničky a druhé hodnoty, kde tato druhá hodnota je maximem ze čtvrté konstanty a třetí hodnoty, kde třetí hodnota je předcházející podíl přenosu plus čtvrtá hodnota, kde čtvrtá hodnota je rovna páté hodnotě vynásobené šestou hodnotou, kde pátá hodnota je pátou konstantou vynásobenou
    27 84061 (2784061_CZ.doc) 18.6.2002 • 4
    444· · • · «ν»4 • · 4 » · 4
  4. 4 ♦ • 4 4 • · 4 υρτ^χρη^ strana předcházejícím multiplikátorem vynásobeným rychlostí nabídky vynásobenou časovým intervalem vyděleným maximální úrovní fronty, kde šestá hodnota je rovna šesté konstantě mínus sedmá konstanta vynásobeno s předchozím podílem přenosu mínus osmá konstanta vynásobeno s předchozím multiplikátorem vynásobeno s úrovní fronty vydělenou maximální úrovní fronty.
  5. 7. Způsob podle nároku 6, vyznačující se tím, že úroveň fronty je předcházející úroveň fronty a rychlost nabídky je předcházející rychlost nabídky.
  6. 8. Způsob podle nároku 1, vyznačující se tím, že podíl přenosu je řízen po každé z množství epoch a krok (d) řízení podílu přenosu dále obsahuje krok:
    (dl) řízení podílu přenosu pro epochu z množství epoch na základě úrovně fronty pro předcházející epochu, rychlosti nabídky pro předcházející epochu a podílu přenosu pro předcházející epochu tak, že se podíl přenosu pro epochu a úroveň fronty pro předcházející epochu kriticky tlumí.
  7. 9. Způsob podle nároku 1, vyznačující se tím, že fronta dále obsahuje hardwarový paměťový zdroj.
  8. 10. Způsob podle nároku 1, vyznačující se tím, že krok (d) řízení podílu přenosu dále obsahuje krok:
    (dl) vyhození části množství paketů na základě rychlosti přenosu a priority každého paketu v množství paketů.
  9. 11. Způsob podle nároku 1, vyznačující se tím, že krok (d) řízení podílu přenosu dále obsahuje kroky:
    (dl) řízení podílu přenosu tak, že každý paket
    27 84061 (2784Q61_CZ.doc) 12.6.2002 j y .J^prjV^ftrana * 0 0 0 0 0 0 0 0 0000 0 >0 00 00 0000 z množství paketů se přenáší, pokud se úroveň fronty nachází pod minimálním prahem;
    (d2) řízení podílu přenosu tak, že žádný paket ani malý podíl z množství paketů se nepřenáší, pokud se úroveň fronty nachází nad maximálním prahem a (d3) řízení podílu přenosu tak, že podíl přenosu a úroveň fronty se kriticky tlumí, pokud se úroveň fronty nachází mezi minimálním a maximálním prahem.
  10. 12. Způsob podle nároku 1, vyznačující se tím, že dále obsahuje·.
    (e) definování množství vedení, která používají frontu;
    (f) nastavení minimálního toku a maximálního toku pro každé z množství vedení;
    (g) určení, zda pro frontu existuje nadbytečná šířka pásma a (h) lineární zvýšení toku pro vedení na základě jednoho z dvojice minimální tok a maximální tok, pokud existuje nadbytečná šířka pásma a pokud je tok pro vedení z množství vedení menší než maximální tok pro vedení nebo (i) exponenciální snížení toku pro vedení na základě jednoho z dvojice minimální tok a maximální tok, pokud neexistuje nadbytečná šířka pásma a pokud je tok větší než
    27 84061 (2784061_CZ.doc) 18.6.2002 .* ·.<« «· .. '-r1**·'-***«α • · · ··· .··· • · · · ··· · · · • · »···»·· ··,· · ·· ·· ·· ···· minimální tok pro vedení, tak, že provoz skrz frontu je stabilní.
  11. 13. Způsob podle nároku 12, vyznačující se tím, že množství vedení je množství funkčních souhrnných toků.
  12. 14. Způsob podle nároku 12, vyznačující se tím, že kroky (h) a (i) zvýšení nebo snížení se provádějí pro každé z množství vedení.
  13. 15. Způsob podle nároku 12, vyznačující se tím, že krok (g) určení nadbytečné šířky pásma dále obsahuje kroky:
    (gl) určení úrovně fronty pro frontu;
    (g2) určení, zda se úroveň fronty zvýšila nebo snížila a (g3) určení, že nadbytečná šířka pásma existuje, pokud se úroveň fronty snížila nebo je nulová, a v opačném případě určení, že nadbytečná šířka pásma neexistuje.
  14. 16. Způsob podle nároku 15, vyznačující se tím, že krok (g3) určení nadbytečné šířky pásma dále obsahuje krok:
    (g3i) nastavení okamžitého signálu nadbytečné šířky pásma tak, aby byl jedna, pokud se úroveň fronty snížila nebo je nulová, a v opačném případě nastavení okamžitého signálu nadbytečné šířky pásma tak, aby byl nula.
  15. 17. Způsob podle nároku 16, vyznačující se tím, že krok (g3) určení nadbytečné šířky pásma dále zahrnuje krok:
    (g3ii) nastavení signálu nadbytečné šířky pásma tak,
    27 84061 (2784Q61_CZ.doc) 18.6.2002
    4» 44*4 • 4 4
    4 4 f’:: Upfovétá strana • 444 4 * 4
    4· 44 4» 4444 aby byl exponenciálně váženým průměrem okamžitého signálu nadbytečné šířky pásma.
  16. 18. Způsob podle nároku 17, vyznačující se tím, še tok pro vedení z množství vedení je roven rychlosti nabídky vynásobené podílem přenosu a kroky (h) a (i) zvýšení nebo snížení dále obsahují kroky:
    (hl) nastavení podílu přenosu pro tok tak, aby byl roven přecházejícímu podílu přenosu plus první veličina, pokud existuje nadbytečná šířka pásma, přičemž první veličina se rovná první konstantě vynásobené signálem nadbytečné šířky pásma a (il) nastavení podílu přenosu tak, aby byl roven předcházejícímu podílu přenosu mínus druhá veličina, pokud nadbytečná šířka pásma neexistuje, přičemž druhá veličina se rovná předcházejícímu toku vynásobenému druhou konstantou.
    19. Způsob podle nároku 18, vyznáčující s e tím, že první konstanta a druhá konstanta závisí na minimálníir i toku pro vedení. 20. Způsob podle nároku 19, vy zna č u j í c í s e
    tím, že první konstanta je váha vynásobená třetí konstantou, kde třetí konstanta se rovná rychlosti obsluhy fronty plus minimální tok pro vedení mínus součet minimálních toků pro každé z množství vedení.
  17. 21. Způsob podle nároku 12, vyznačující se tím, že tok se rovná podílu přenosu vynásobenému rychlostí nabídky a kroky (h) a (i) zvýšení nebo snížení dále obsahují kroky:
    (híl) nastavení podílu přenosu pro tok na první konstantu, pokud je součet množství toků z množství vedení
    27 84061 (2784061_CZ.doc) 18.6.2002 • V *«·» * ·
    UfifSyettá strana • · 4 4 4 4 4 4 4 ♦··· 4 ·* 44 *» *444 větší než první úroveň fronty;
    (hi2) nastavení podílu přenosu pro vedení tak, aby se rovnal minimu z jedničky a předcházejícího podílu přenosu pro vedení plus první konstanta, pokud je tok pro vedení menší nebo roven minimálnímu toku pro vedení;
    (hi3) nastavení podílu přenosu tak, aby se rovnal předcházejícímu podílu přenosu pro vedení vynásobenému druhou konstantou, pokud je tok pro vedení větší než maximální tok pro vedení, přičemž druhá konstanta je menší než jedna a (hi4) v jiném případě nastavení podílu přenosu pro vedení tak, aby se rovnal minimu z globálního podílu přenosu a první veličiny, kde první veličina se rovná předcházejícímu podílu přenosu plus druhá veličina, pokud existuje nadbytečná šířka pásma, a první veličina se rovná předcházejícímu podílu přenosu mínus třetí veličina, pokud neexistuje nadbytečná šířka pásma, dále druhá veličina se rovná třetí konstantě vynásobené signálem, třetí konstanta závisí na minimálním toku, signál se blíží jedné pro opakované případy existence nadbytečné šířky pásma a blíží se nule pro opakované případy neexistence nadbytečné šířky pásma, třetí veličina se rovná čtvrté konstantě závisející na minimálním toku vynásobeném předcházejícím tokem a globální podíl přenosu umožňuje kritické tlumení mezi globálním podílem přenosu a úrovní fronty.
  18. 22. Způsob podle nároku 21, vyznačující se tím, že podíl přenosu je roven minimu z jedničky a první hodnoty, kde první hodnota je maximem z páté konstanty a druhé hodnoty, kde druhá hodnota je předcházející globální podíl přenosu plus třetí hodnota, kde třetí hodnota je rovna čtvrté hodnotě vynásobené pátou hodnotou, kde čtvrtá hodnota je šestou konstantou vynásobenou předcházejícím
    27B4061 (2784061_C2,doc) 18.6.2002 fr# frfr·· • fr · • · • fr fr · frfrfrt fr multiplikátorem vynásobeným globální rychlostí nabídky vynásobenou časovým intervalem vyděleným maximální úrovní fronty, kde pátá hodnota je rovna sedmé konstantě mínus osmá konstanta vynásobeno s předchozím multiplikátorem vynásobeným úrovní fronty vydělenou maximální úrovní fronty, kde multiplikátor je exponenciálně vážený průměr, který se blíží první úrovni, pokud se předcházející úroveň fronty nachází pod prahem, a který se blíží druhé úrovni, pokud předcházející úroveň fronty přesahuje práh.
  19. 23. Způsob podle nároku 12, vy značující se tím, že krok (d) řízení podílu přenosu řídí globální podíl přenosu a dále obsahuje kroky:
    (j) nastavení podílu přenosu pro tok pro vedení z množství vedení tak, aby byl minimem z globálního podílu přenosu a diferenciálního podílu přenosu, kde diferenciální podíl přenosu může lineárně zvýšit tok na základě minimálního toku nebo maximálního toku, pokud existuje nadbytečná šířka pásma a tok pro vedení z množství vedení je menší než maximální tok pro vedení, a může exponenciálně snížit tok pro vedení z množství vedení na základě minimálního toku nebo maximálního toku, pokud neexistuje nadbytečná šířka pásma a tok je větší než minimální tok pro vedení, tak, že provoz skrz frontu je stabilní;
    (k) řízení přenosu provozu do fronty na základě podílu přenosu a (l) využití plánovače k řízení provozu z fronty.
  20. 24. Způsob podle nároku 23, vyznačující se tím, že krok (j) nastavení podílu přenosu dále obsahuje kroky:
    (jl) nastavení diferenciálního podílu přenosu pro tok tak, aby se rovnal předcházejícímu diferenciálnímu podílu
    Up/ayeffiá strana • frfr fr·· fr fr • fr · fr fr · fr ·· frfr ·· efrfrfr
    27 84061 (2784061_CZ.doc) 18.6.2002 .··. .Upravená strana • » ··· * a a a
    a a
    a* • a • ««·« • · · · · a a ·· aa ·« aa»a přenosu plus první veličina, pokud existuje nadbytečná šířka pásma, přičemž první veličina se rovná první konstantě vynásobené hodnotou nadbytečné šířky pásma a (j2) nastavení diferenciálního podílu přenosu tak, aby se rovnal předcházejícímu diferenciálnímu podílu přenosu mínus druhá veličina, pokud neexistuje nadbytečná šířka pásma, přičemž druhá veličina se rovná předcházejícímu toku vynásobenému druhou konstantou.
  21. 25. Způsob podle nároku 23, vyznačující se tím, že krok (j) nastavení podílu přenosu dále obsahuje krok:
    (jl) nastavení diferenciálního podílu přenosu pro tok na první konstantu, pokud je součet množství toků z množství vedení větší než první úroveň fronty;
    (j2) nastavení diferenciálního podílu přenosu pro vedení tak, aby se rovnal minimu z jedničky a předcházejícího diferenciálního podílu přenosu pro vedení plus první konstanta, pokud je tok pro vedení menší nebo roven minimálnímu toku pro vedení;
    (j3) nastavení diferenciálního podílu přenosu tak, aby se rovnal předcházejícímu podílu přenosu pro vedení vynásobenému druhou konstantou, pokud je tok pro vedení větší než maximální tok pro vedení, přičemž druhá konstanta je menší než jedna a (j4) v jiném případe nastavení podílu přenosu pro vedení tak, aby se rovnal minimu z globálního podílu přenosu a první veličiny, kde první veličina se rovná předcházejícímu diferenciálnímu podílu přenosu plus druhá veličina, pokud existuje nadbytečná šířka pásma, a první veličina se rovná předcházejícímu diferenciálnímu podílu přenosu mínus třetí veličina, pokud neexistuje nadbytečná šířka pásma, dále druhá veličina se rovná třetí konstantě
    27 84061 (2784061_CZ.doc) 18.6,2002 ••.‘••ί ·*···’ζ Upt^yeňpstrana vynásobené signálem, třetí konstanta závisí na minimálním toku, signál se blíží jedné pro opakované případy existence nadbytečné šířky pásma a blíží se nule pro opakované případy neexistence nadbytečné šířky pásma a třetí veličina se rovná čtvrté konstantě závisející na minimálním toku vynásobeném předcházejícím tokem.
  22. 26. Způsob podle nároku 23, vyznačující se tím, že krok (j) nastavení podílu přenosu se provádí pro každé z množství vedení.
  23. 27. Způsob podle nároku 23, vyznačující se tím, že globální podíl přenosu se rovná minimu z jedničky a první hodnoty, kde první hodnota je maximem z páté konstanty a druhé hodnoty, kde druhá hodnota je předcházející globální podíl přenosu plus třetí hodnota, kde třetí hodnota je rovna čtvrté hodnotě vynásobené pátou hodnotou, kde čtvrtá hodnota je šestou konstantou vynásobenou předcházejícím multiplikátorem vynásobeným globální rychlostí nabídky vynásobenou časovým intervalem vyděleným maximální úrovní fronty, kde pátá hodnota je rovna sedmé konstantě mínus osmá konstanta vynásobeno s předchozím multiplikátorem vynásobeným úrovní fronty vydělenou maximální úrovní fronty, kde multiplikátor je exponenciálně vážený průměr, který se blíží první úrovni, pokud se předcházející úroveň fronty nachází pod prahem, a který se blíží druhé úrovni, pokud předcházející úroveň fronty přesahuje práh.
  24. 28. Způsob podle nároku 23, vyznačující se tím, že každé z množství vedení obsahuje alespoň jeden typ obsluhy a krok (1) využití dále obsahuje krok:
    (11) využití plánovače pro plánování provozu z fronty pro každé z množství vedení na základě alespoň jednoho typu
    27 84061 (2784061_CZ.doc) 18.6.2002 ·· ···· 9 9
    9 * • 9 · • ·
    9999 «
    99 ·· .1 ♦· ··, X : Upra#/en$ strana
    9 99 999 9 «
    9 9 9 9 9 » 9 obsluhy.
  25. 29. Způsob podle nároku 28, vyznačující se tím, že daný alespoň jeden typ obsluhy je konkrétní typ obsluhy každého z toků z množství toků v každém z množství vedení a krok (11) využití dále obsahuje krok:
    (lli) využití plánovače pro plánování provozu z fronty pro každý z množství toků na základě konkrétního typu obsluhy pro každý z množství toků.
  26. 30.
    tím, že
    Způsob plánovač podle nároku 23, vyznačující obsahuje alespoň jeden seznam.
  27. 31. Způsob podle nároku 23, tím, že plánovač obsahuje alespoň rovnoměrného zařazování.
    vyznačující se jeden okruh váženého
  28. 32. Způsob podle nároku 23, vyznačující se tím, že plánovač obsahuje alespoň jeden seznam a alespoň jeden okruh váženého rovnoměrného zařazování.
  29. 33. Způsob podle nároku 23, vyznačuj ící se tím, že plánovač obsahuje alespoň jeden seznam a alespoň jeden mechanismus fronty FIFO.
  30. 34. Zařízení, vyznačující se tím, že obsahuje: frontu pro uložení části z toku množství paketů procházejících počítačovou sítí;
    zařazovací mechanismus, spojený s frontou, pro přijímání rychlosti nabídky množství paketů a pro řízení podílu přenosu množství paketů do fronty, přičemž rychlost přenosu se řídí na základě úrovně fronty pro frontu a rychlosti nabídky tak, aby se podíl přenosu a úroveň fronty
    27 84061 (2784061_CZ. doc) 18.6.2002 :OpfíCven?’St»*>np ft · « ftft· ft * ftftftft ftft· ftftftft ftft ftftftft kriticky tlumily, pokud se úroveň fronty nahází mezi alespoň první úrovní fronty a druhou úrovní fronty, a změna v podílu přenosu vzhledem k času se nastaví tak, aby se rovnala první veličině vynásobené druhou veličinou, kde první veličina závisí na čase a druhá veličina se rovná první konstanta mínus druhá konstanta vynásobeno podílem přenosu mínus úroveň fronty vydělená maximální možnou úrovní fronty.
  31. 35. Zařízení podle nároku 34, vyznačující se tím, že zařazovací mechanismus určuje virtuální maximální úroveň fronty na základě úrovně fronty pro frontu a maximální úrovně fronty, přičemž zařazovací mechanismus řídí rychlost přenosu na základě úrovně fronty pro frontu, rychlosti nabídky a virtuální maximální úrovně fronty.
  32. 36. Zařízení podle nároku 35, vyznačující se tím, že zařazovací mechanismus dále zvyšuje virtuální maximální úroveň fronty na maximum, které je menší nebo rovno maximální úrovni fronty, pokud úroveň fronty přesahuje první práh, a snižuje virtuální maximální úroveň fronty, pokud se úroveň fronty nachází pod druhým prahem.
  33. 37. Zařízení podle nároku 35, vyznačující se tím, že zařazovací mechanismus stanovuje multiplikátor pro maximální úroveň fronty tak, Že multiplikátor je exponenciálně váženým průměrem, který se blíží první úrovni, pokud se úroveň fronty nachází pod prahem, a který se blíží druhé úrovni, pokud úroveň fronty přesahuje práh, přičemž první úroveň odpovídá virtuální úrovni fronty a je minimální virtuální úrovní fronty a druhá úroveň odpovídá virtuální úrovni fronty a je maximální úrovní fronty; a dále zařazovací mechanismus řídí podíl přenosu na základě úrovně
    27 84061 (2784061_CZ.doc) 18.6.2002
    - - .··.···: .Upravenástrana • · 9 · *·· 9 9 9 • · · 9 « · · 9 *··· · *« »9 99 9999 fronty, rychlostí nabídky, předcházejícího podílu přenosu, multiplikátoru a maximální úrovně fronty.
  34. 38. Zařízení podle nároku 37, vyznačující se tím, že zařazovací mechanismus dále nastavuje multiplikátor na hodnotu rovnou první konstantě vynásobené předchozím
    27 84061 (2784061_CZ.doc) 18.6.2002 .··. ···: .Upravenáistratla • 0 · V 0 · * · 0 * 0 0 0 0 0 000 *000 0 00 0« 00 000· multiplikátorem plus druhá konstanta, pokud se úroveň fronty nachází pod prahem, a nastavuje multiplikátor na hodnotu rovnou první konstantě vynásobené předchozím multiplikátorem plus třetí konstanta, pokud úroveň fronty přesahuje práh.
  35. 39. Zařízení podle nároku 38, vyznačující se tím, že zařazovací mechanismus dále řídi podíl přenosu tak, aby byl minimem z jedničky a druhé hodnoty, kde druhá hodnota je maximem ze čtvrté konstanty a třetí hodnoty, kde třetí hodnota je předcházející podíl přenosu plus čtvrtá hodnota, kde čtvrtá hodnota je rovna páté hodnotě vynásobené šestou hodnotou, kde pátá hodnota je pátou konstantou vynásobenou předcházejícím multiplikátorem vynásobeným rychlostí nabídky vynásobenou časovým intervalem vyděleným maximální úrovní fronty, kde šestá hodnota je rovna šesté konstantě mínus sedmá konstanta vynásobeno s předchozím podílem přenosu mínus osmá konstanta vynásobená předchozím multiplikátorem vynásobeným úrovní fronty vydělenou maximální úrovní fronty.
  36. 40. Zařízení podle nároku 39, vyznačující se tím, že úroveň fronty je předcházející úroveň fronty a rychlost nabídky je předcházející rychlost nabídky.
  37. 41. Zařízení podle nároku 35, vyznačující se tím, že fronta dále obsahuje hardwarový paměťový zdroj.
  38. 42. Zařízení podle nároku 35, vyznačující se tím, že zařazovací mechanismus dále vyřazuje část z množství paketů na základě rychlosti přenosu a priority každého paketu z množství paketů.
  39. 43. Zařízení podle nároku 34, vyznačující se
    27 84061 (2784061_CZ.doc) 18.6.2002
    - 93 - :**: Upravení strana
    Φ © ©··♦···· · • » · · · · · · ··©· © ·· ·· ·· MM tím, že fronta je používána množstvím vedení, skrze něž se přenáší provoz, a dále zařazovací mechanismus používá minimální tok a maximální tok nastavené pro každé z množství vedení uživatelem, přičemž zařazovací mechanismus určuje, zda existuje pro frontu nadbytečná šířka pásma, a (a) lineárně zvyšuje tok pro vedení z množství vedení na základě minimálního toku nebo maximálního toku, pokud existuje nadbytečná šířka pásma a pokud je tok pro vedení z množství vedení menší než maximální tok pro vedení, nebo (b) exponenciálně snižuje tok pro vedení z množství vedení na základě minimálního toku nebo maximálního toku, pokud neexistuje nadbytečná šířka pásma a pokud je tok větší než minimální tok pro vedení, tak, že provoz skrz frontu je stabilní,
  40. 44. Zařízení podle nároku 43, vyznačující se tím, že množství vedení je množství funkčních souhrnných toků.
  41. 45. Zařízení podle nároku 43, vyznačující se tím, že zařazovací mechanismus zvyšuje nebo snižuje tok pro každé z množství vedení na základě toho, zda existuje nebo neexistuje nadbytečná šířka pásma.
  42. 46. Zařízení podle nároku 43, vyznačující se tím, že zařazovací mechanismus určuje, zda existuje nadbytečná šířka pásma, tím, že určí úroveň fronty pro frontu a určí, zda se úroveň fronty zvýšila nebo snížila, což udává, že nadbytečná Šířka pásma existuje, pokud se úroveň fronty snížila nebo je nulová, a udává, že nadbytečná šířka pásma neexistuje v jiném případě.
  43. 47. Zařízení podle nároku 46, vyznačující se
    27 84061 (2784061_CZ.doc) 18.6.2002 a* · ·· ·
    - 9Íf 4 4
    444* 4 dpravfeni Stj-fena
    4 4 4 4 4 4 ·
    44 44 4« 4444 tím, že zařazovací mechanismus dále udává, že nadbytečná
    Šířka pásma existuje, nastavením okamžitého signálu nadbytečné šířky pásma na jedna, pokud se úroveň fronty snížila nebo je nulová, a okamžitého signálu nadbytečné šířky pásma na nula jinak.
  44. 48. Zařízení podle nároku 47, vyznačující se tím, že zařazovací mechanismus dále udává, že nadbytečná šířka pásma existuje, nastavením signálu nadbytečné šířky pásma tak, aby byl exponenciálně váženým průměrem okamžitého signálu nadbytečné šířky pásma.
  45. 49. Zařízení podle nároku 48, vyznačující se tím, že tok vedením je roven rychlosti nabídky vynásobené podílem přenosu a zařazovací mechanismus dále zvyšuje nebo snižuje tok nastavením podílu přenosu tak, aby se rovnal přecházejícímu podílu přenosu plus první veličina, pokud existuje nadbytečná šířka pásma, kde první veličina se rovná první konstantě vynásobené signálem nadbytečné šířky pásma, a nastavením podílu přenosu tak, aby se rovnal předcházejícímu podílu přenosu mínus druhá veličina, pokud nadbytečná šířka pásma neexistuje, kde druhá veličina se rovná předcházejícímu toku vynásobenému druhou konstantou.
  46. 50. Zařízení podle nároku 49, tím, že první konstanta a druhá minimálním toku pro vedení.
    vyznačující se konstanta závisí na
  47. 51. Zařízení podle nároku 50, vyznačující se tím, že první konstanta je rovna 0,125 a druhá konstanta je rovna 0,875.
    27 84061 (2784061_CZ.doc) 18.6.2002 • · • 4
    4 «
    44·« 4 • ·«- 44 44 * : Upravena ífrafia
  48. 52. Zařízeni podle nároku 50, vyznačující se tím, že první konstanta je váha vynásobená třetí veličinou, kde třetí veličina se rovná rychlosti obsluhy fronty plus minimální tok pro vedení mínus součet minimálních toků pro každé z množství vedení.
  49. 53. Zařízení podle nároku 43, vyznačující se tím, že zařazovací mechanismus dále zvyšuje nebo snižuje tok nastavením podílu přenosu na první konstantu, pokud je součet množství toků z množství vedení větší než první úroveň fronty, nastavením podílu přenosu pro vedení tak, aby se rovnal minimu z jedničky a předcházejícího podílu přenosu pro vedení plus první konstanta, pokud je tok pro vedení menší nebo roven minimálnímu toku pro vedení, nastavením podílu přenosu tak, aby se rovnal předcházejícímu podílu přenosu pro vedení vynásobenému druhou konstantou, pokud je tok pro vedení větší než maximální tok pro vedení, přičemž druhá konstanta je menší než jedna, a v ostatních případech nastavením podílu přenosu pro vedení tak, aby se rovnal minimu z globálního podílu přenosu a první veličiny, kde první veličina se rovná předcházejícímu podílu přenosu plus druhá veličina, pokud existuje nadbytečná šířka pásma, a první veličina se rovná předcházejícímu podílu přenosu mínus třetí veličina, pokud neexistuje nadbytečná šířka pásma, dále druhá veličina se rovná třetí konstantě vynásobené signálem, třetí konstanta závisí na minimálním toku, signál se blíží jedné pro opakované případy existence nadbytečné šířky pásma a blíží se nule pro opakované případy neexistence nadbytečné šířky pásma, třetí veličina se rovná čtvrté konstantě závisející na minimálním toku vynásobeném předcházejícím podílem přenosu a globální podíl přenosu umožňuje kritické tlumení mezi globálním podílem přenosu a
    27 84061 (2784061_CZ.doc) 18.6.2002
    - 95 - .:''Wjwavjeíftraůa • · · · · fl · * 4 ·*«· * ·· ·* ·· ·««« úrovní fronty.
  50. 54. Zařízení podle nároku 53, vyznačující se tím, že podíl přenosu je roven minimu z jedničky a první hodnoty, kde první hodnota je maximem z páté konstanty a druhé hodnoty, kde druhá hodnota je předcházející globální podíl přenosu plus třetí hodnota, kde třetí hodnota je rovna čtvrté hodnotě vynásobené pátou hodnotou, kde čtvrtá hodnota je šestou konstantou vynásobenou předcházejícím multiplikátorem vynásobeným globální rychlostí nabídky vynásobenou časovým intervalem vyděleným maximální úrovní fronty, kde pátá hodnota je rovna sedmé konstantě mínus osmá konstanta vynásobeno s předchozím multiplikátorem vynásobeným úrovní fronty vydělenou maximální úrovní fronty, kde multiplikátor je exponenciálně vážený průměr, který se blíží první úrovni, pokud se předcházející úroveň fronty nachází pod prahem, a který se blíží druhé úrovni, pokud předcházející úroveň fronty přesahuje práh.
  51. 55. Zařízení podle nároku 43, vyznačující se tím, že obsahuje množství procesorů odpovídajících množství ramen, přičemž každý z množství procesorů má množství portů a fronta je pro procesor z množství procesorů.
  52. 56. Zařízení podle nároku 43, vyznačující se tím, že zařazovací mechanismus řídí globální podíl přenosu množství paketů do fronty na základě úrovně fronty a rychlosti nabídky tak, aby globální podíl přenosu a úroveň fronty byly kriticky tlumeny, pokud se úroveň fronty nachází mezí alespoň první úrovní fronty a druhou úrovní fronty, a zařazovací mechanismus také nastavuje podíl přenosu pro tok pro vedení z množství vedení tak, aby byl minimem
    27 84061 (2784061_CZ.doc) 18.6.2002
    - 96 - : :;Uprayeitdstrana • 0 ·······* * • · * · » · 000 • •00 0 0· 0· 0« 0000 z globálního podílu přenosu a diferenciálního podílu přenosu, kde diferenciální podíl přenosu muže lineárně zvýšit tok na základě minimálního toku nebo maximálního toku, pokud existuje nadbytečná šířka pásma a tok pro vedení z množství vedení je menší než maximální tok pro vedení, a může exponenciálně snížit tok pro vedení z množství vedení na základě minimálního toku nebo maximálního toku, pokud neexistuje nadbytečná šířka pásma a tok je větší než minimální tok pro vedení, tak, že provoz skrz frontu je stabilní, a zařazovací mechanismus také řídí přenos provozu do fronty na základě podílu přenosu; přičemž dále obsahuje:
    plánovač k řízení provozu z fronty.
  53. 57. Zařízení podle nároku 56, vyznačující se tím, že každé z množství vedení obsahuje alespoň jeden typ obsluhy a plánovač dále plánuje provoz z fronty pro každé z množství vedení na základě alespoň jednoho typu obsluhy.
  54. 58. Zařízení podle nároku 57, vyznačující se tím, že daný alespoň jeden typ obsluhy je konkrétní typ obsluhy každého z toků z množství toků v každém z množství vedení a plánovač plánuje provoz z fronty pro každý z množství toků na základě konkrétního typu obsluhy pro každý z množství toků.
    59. Zařízení podle nároku 56, vyznačující se tím, že plánovač obsahuje alespoň jeden seznam. 60. Zařízení podle nároku 56, vyznačující se
    tím, že plánovač obsahuje alespoň jeden okruh váženého rovnoměrného zařazování.
    27 84061 (2784061_CZ.doc) 18.6.2002
    - 97 - · : 7 : ílíBrayonátstrana • · * · · · · · 4 ···· · *· «· ·· ·«··
  55. 61. Zařízení podle nároku 56, vyznačující se tím, že plánovač obsahuje alespoň jeden seznam a alespoň jeden okruh váženého rovnoměrného zařazování.
  56. 62. Zařízení podle nároku 56, vyznačující se tím, že plánovač obsahuje alespoň jeden seznam a alespoň jeden mechanismus fronty FIFO,
  57. 63. Zařízení podle nároku 35, vyznačující se tím, še zařazovací mechanismus řídí podíl přenosu po každé z množství epoch a zařazovací mechanismus řídí podíl přenosu pro epochu z množství epoch na základě úrovně fronty pro předcházející epochu, rychlosti nabídky pro předcházející epochu a podílu přenosu pro předcházející epochu tak, že se podíl přenosu pro epochu a úroveň fronty pro předcházející epochu kriticky tlumí.
  58. 64. Zařízení podle nároku 34, vyznačující se tím, že fronta dále obsahuje hardwarový paměťový zdroj.
  59. 65. Zařízení podle nároku 34, vyznačující se tím, že zařazovací mechanismus dále řídí podíl přenosu nastavením změny v podílu přenosu vzhledem k času na hodnotu rovnou první veličině vynásobené druhou veličinou, kde první veličina je závislá na čase a druhá veličina se rovná první konstantě mínus druhá konstanta vynásobeno s podílem přenosu mínus úroveň fronty vydělená maximální možnou úrovní fronty.
  60. 66. Zařízení podle nároku 34, vyznačující se tím, že zařazovací mechanismus dále vyhazuje část množství paketu na základě rychlosti přenosu a priority každého paketu v množství paketů.
    27 84061 (2784061_CZ.doc) 18.6,2002
    7 : íUpravpn* strana • · 4« 4 4 4 · 4
    4 4 4 4 4 4 4
    44 44 44 4444
  61. 67. Zařízení podle nároku 34, vyznačující se tím, že zařazovací mechanismus dále řídí podíl přenosu tak, že každý paket z množství paketů se přenáší, pokud se úroveň fronty nachází pod minimálním prahem, žádný paket z množství paketů se nepřenáší, pokud se úroveň fronty nachází nad maximálním prahem, a podíl přenosu a úroveň fronty se kriticky tlumí, pokud se úroveň fronty nachází mezi minimálním prahem a maximálním prahem.
  62. 68. Počítačově snímatelné médium, vyznačující se tím, še obsahuje počítačové spustitelný program s instrukcemi pro (a) určení úrovně fronty pro frontu, skrz níž prochází množství paketů protékajících počítačovou sítí;
    (b) určení rychlosti nabídky množství paketů frontě a (c) řízení podílu přenosu množství paketů do fronty na základě úrovně fronty a rychlosti nabídky, přičemž podíl přenosu a úroveň fronty se kriticky tlumí, pokud se úroveň fronty nachází mezi alespoň první úrovní fronty a druhou úrovní fronty, a změna v podílu přenosu vzhledem k času se nastaví tak, aby se rovnala první veličině vynásobené druhou veličinou, kde první veličina závisí na čase a druhá veličina se rovná první konstanta mínus druhá konstanta vynásobeno podílem přenosu mínus úroveň fronty vydělená maximální možnou úrovní fronty.
  63. 69. Počítačově snímatelné médium podle nároku 68, vyznačující se tím, že dále obsahuje instrukce pro (d) určení virtuální maximální úrovně fronty na základě určené úrovně fronty a maximální úrovně fronty a dále instrukce řízení podílu přenosu je založena na úrovni
    27 84061 (2784061_CZ.doc) 18.6.2002 • ft ··» ft · • ft » · «ftft · · tlpravfená ťťifena fronty, rychlosti nabídky a virtuální maximální úrovni fronty.
  64. 70. Počítačově snímatelné médium podle nároku 69, vyznačující se tím, že instrukce (d) určení virtuální maximální úrovně fronty dále obsahují instrukce pro:
    (dl) zvýšení virtuální maximální úrovně fronty na
    27 84061 (2784061_CZ.doc) 18.6.2002
    99 9999
    9 9 9
    9 9 « • 9 9 • 9
    - 99a
    99 «· ««
    UpraVeAá §lrana • 9 9 9 • 9 99 9999 maximum, které je menší nebo rovno maximální úrovni fronty, pokud úroveň fronty přesahuje první práh a (d2) snížení virtuální maximální úrovně fronty, pokud úroveň fronty přesahuje druhý práh.
    27 84061 (2784061_CZ.doc) 18.6.2002 . : · ;Hflrg\iet#střana
    0 0 0 0 0 0 * • 0 00 0« 0000 nároku 69.
    00 0000
    - íoo - · : .· • 0 0 · ·«·· 0
  65. 71. Počítačově snímatelné médium podle vyznačující se tím, že instrukce (d) určení virtuální maximální úrovně fronty dále obsahují instrukce pro:
    (dl) stanovení multiplikátoru pro maximální úroveň fronty tak, že multiplikátor je exponenciálně váženým průměrem, který se blíží první úrovni, pokud se úroveň fronty nachází pod prahem, a který se blíží druhé úrovni, pokud úroveň fronty přesahuje práh, přičemž první úroveň odpovídá virtuální úrovni fronty a je minimální virtuální úrovní fronty a druhá úroveň odpovídá virtuální úrovni fronty a je maximální úrovní fronty; a instrukce (c) řízení podílu přenosu dále obsahují instrukce pro:
    (cl) řízení podílu přenosu na základě úrovně fronty, rychlosti nabídky, předcházejícího podílu přenosu, multiplikátoru a maximální úrovně fronty.
  66. 72. Počítačově snímatelné médium podle nároku 71, vyznačující se tím, že instrukce (dl) stanovení multiplikátoru dále obsahují instrukce pro:
    (dli) nastavení multiplikátoru na hodnotu rovnou první konstantě vynásobené předchozím multiplikátorem plus druhá konstanta, pokud se úroveň fronty nachází pod prahem, a (dlii) nastavení multiplikátoru na hodnotu rovnou první konstantě vynásobené předchozím multiplikátorem plus třetí konstanta, pokud úroveň fronty přesahuje práh,
  67. 73. Počítačově snímatelné médium podle nároku 72, vyznačující se tím, že instrukce (cl) řízení podílu přenosu dále obsahují instrukce pro:
    (cli) řízení podílu přenosu tak, aby byl roven jedné, pokud je úroveň fronty pod minimální úrovní fronty a (clii) řízení podílu přenosu tak, aby byl minimem z jedničky a druhé hodnoty, kde tato druhá hodnota je
    57 Bdflfil Í57B40R1 C.7 rlnrl 1fl fl 700?
    101 • * • * • 999 · • 9 9··» • * · .Upca^ná^trana
    9 9 9 ·
    99 9999 maximem ze čtvrté konstanty a třetí hodnoty, kde třetí hodnota je předcházející podíl přenosu plus čtvrtá hodnota, kde čtvrtá hodnota je rovna páté hodnotě vynásobené šestou hodnotou, kde pátá hodnota je pátou konstantou vynásobenou předcházejícím multiplikátorem vynásobeným rychlostí nabídky vynásobenou časovým intervalem vyděleným maximální úrovní fronty, kde šestá hodnota je rovna šesté konstantě mínus sedmá konstanta vynásobeno s předchozím podílem přenosu mínus osmá konstanta vynásobená předchozím multiplikátorem vynásobeným úrovní fronty vydělenou maximální úrovní fronty.
  68. 74. Počítačově snímatelné médium podle nároku 73, vyznačující se tím, že úroveň fronty je předcházející úroveň fronty a rychlost nabídky je předcházející rychlost nabídky.
  69. 75. Počítačově snímatelné médium podle nároku 69, vyznačující se tím, že instrukce (c) řízení podílu přenosu dále obsahují instrukce pro:
    (cl) vyřazení části množství paketů na základě rychlosti přenosu a priority každého paketu v množství paketů.
  70. 76. Počítačově snímatelné médium podle nároku 68, vyznačující se tím, že dále obsahuje instrukce pro:
    (d) umožnění nastavení minimálního toku a maximálního toku pro každé z množství vedení, která používají frontu;
    (e) určení, zda pro frontu existuje nadbytečná šířka pásma a (f) lineární zvýšení toku pro vedení z množství vedení na základě minimálního toku nebo maximálního toku, pokud existuje nadbytečná šířka pásma a pokud je tok pro vedení z množství vedení menší než maximální tok pro vedení, nebo
    27 84061 (2784061 CZ.docl 18.6.2002 «4 4<««
    4 4 «
    102
    4 4 4 » 444
    4· 4* 44 4444
    4 4 4
    44 4444 exponenciální snížení toku pro vedení z množství vedení na základě minimálního toku něho maximálního toku, pokud neexistuje nadbytečná šířka pásma a pokud je tok větší než minimální tok pro vedení, tak, že provoz skrz frontu je stabilní.
  71. 77. Počítačově snímatelné médium podle nároku 76, vyznačující se tím, že instrukce (e) určení nadbytečné šířky pásma dále obsahují instrukce pro:
    (el) určení úrovně fronty pro frontu;
    (e2) určení, zda se úroveň fronty zvýšila nebo snížila (e3) určení, Že nadbytečná šířka pásma existuje, pokud se úroveň fronty snížila nebo je nulová, a v opačném případě určení, že nadbytečná Šířka pásma neexistuje.
  72. 78. Počítačově snímatelné médium podle nároku 76, vyznačující se tím, že tok se rovná rychlosti nabídky vynásobené podílem přenosu a instrukce (f) zvýšení nebo snížení dále obsahují instrukce pro:
    (fl) nastavení podílu přenosu na první konstantu, pokud je součet množství toků z množství vedení větší než první úroveň fronty;
    (£2) nastavení podílu přenosu tak, aby se rovnal minimu z jedničky a předcházejícího podílu přenosu pro vedení plus první konstanta, pokud je tok pro vedení menší nebo roven minimálnímu toku pro vedení;
    (f3) nastavení podílu přenosu tak, aby se rovnal předcházejícímu podílu přenosu pro vedení vynásobenému druhou konstantou, pokud je tok pro vedení větší než maximální tok pro vedení, přičemž druhá konstanta je menší než jedna a (f4) v jiném případě nastavení podílu přenosu pro
    27R40fi1 í?7H4.nfi1 C7.rinc1 18.6.2002
    103 «ft · « · · ft · ·· • · · · «ft ftft ···« vedení tak, aby se rovnal minimu z globálního podílu přenosu a první veličiny, kde první veličina se rovná předcházejícímu podílu přenosu plus druhá veličina, pokud existuje nadbytečná šířka pásma, a první veličina se rovná předcházejícímu podílu přenosu mínus třetí veličina, pokud neexistuje nadbytečná šířka pásma, dále druhá veličina se rovná třetí konstantě vynásobené signálem, třetí konstanta závisí na minimálním toku, signál se blíží jedné pro opakované případy existence nadbytečné šířky pásma a blíží se nule pro opakované případy neexistence nadbytečné šířky pásma, třetí veličina se rovná čtvrté konstantě závisející na minimálním toku vynásobeném předcházejícím podílem přenosu a globální podíl přenosu umožňuje kritické tlumení mezi globálním podílem přenosu a úrovní fronty.
  73. 79. Počítačově snímatelné médium podle nároku 78, vyznačující se tím, že globální podíl přenosu je roven minimu z jedničky a první hodnoty, kde první hodnota je maximem z páté konstanty a druhé hodnoty, kde druhá hodnota je předcházející globální podíl přenosu plus třetí hodnota, kde třetí hodnota je rovna čtvrté hodnotě vynásobené pátou hodnotou, kde čtvrtá hodnota je šestou konstantou vynásobenou předcházejícím multiplikátorem vynásobeným globální rychlostí nabídky vynásobenou časovým intervalem vyděleným maximální úrovní fronty, kde pátá hodnota je rovna sedmé konstantě mínus osmá konstanta vynásobeno s předchozím multiplikátorem vynásobeným úrovní fronty vydělenou maximální úrovní fronty, kde multiplikátor je exponenciálně vážený průměr, který se blíží první úrovni, pokud se předcházející úroveň fronty nachází pod prahem, a který se blíží druhé úrovni, pokud předcházející úroveň fronty přesahuje práh.
    27 84061 (2784061_CZ.doc) 18.6.2002
    104
    Upr^vérá”sírana • fr · · ·
  74. 80. Počítačově snímatelné médium podle nároku 76, vyznačující se tím, že instrukce (c) řízení podílu přenosu řídí globální podíl přenosu a dále obsahuje instrukce pro:
    (g) umožnění nastavení minimálního toku a maximálního toku pro každé z množství vedení;
    (h) určení, zda pro frontu existuje nadbytečná šířka pásma;
    (i) určení úrovně fronty pro frontu;
    (j) určení rychlosti nabídky množství paketů frontě;
    (k) řízení globálního podílu přenosu množství paketů do fronty na základě úrovně fronty a rychlosti nabídky tak, aby se globální podíl přenosu a úroveň fronty kriticky tlumily, pokud se úroveň fronty nachází mezi alespoň první úrovní fronty a druhou úrovní fronty;
    (l) nastavení podílu přenosu pro tok pro vedení z množství vedení tak, aby byl minimem z globálního podílu přenosu a diferenciálního podílu přenosu, kde diferenciální podíl přenosu může lineárně zvýšit tok na základě minimálního toku nebo maximálního toku, pokud existuje nadbytečná šířka pásma a tok pro vedení z množství vedení je menši než maximální tok pro vedení, a může exponenciálně snížit tok pro vedení z množství vedení na základě minimálního toku nebo maximálního toku, pokud neexistuje nadbytečná šířka pásma a tok je větší než minimální tok pro vedení, tak, že provoz skrz frontu je stabilní;
    (m) řízení přenosu provozu do fronty na základě podílu přenosu a (n) využití plánovače k řízení provozu z fronty.
  75. 81. Počítačově snímatelné médium podle nároku 80, vyznačující se tím, že každé z množství vedení obsahuje alespoň jeden typ obsluhy a instrukce (n) využití
    27 84061 (2784061_CZ.doc) 18.6.2002
    105 yprav0na'$trana • · #00
    0 0 0 dále obsahují instrukce pro:
    (nl) využití plánovače pro plánování provozu z fronty pro každé z množství vedení na základě alespoň jednoho typu obsluhy.
  76. 82. Počítačově snímatelné médium podle nároku 80, vyznačující se tím, že daný alespoň jeden typ obsluhy je konkrétní typ obsluhy každého z toků z množství toků v každém z množství vedení a instrukce (nl) využití dále obsahují instrukce pro:
    (nli) využití plánovače pro plánování provozu z fronty pro každý z množství toků na základě konkrétního typu obsluhy pro každý z množství toků.
  77. 83. Počítačově snímatelné médium podle nároku 80, vyznačující se tím, že plánovač obsahuje alespoň jeden seznam a alespoň jeden okruh váženého rovnoměrného zařazování.
  78. 84. Počítačově snímatelné médium podle nároku 68, vyznačující se tím, že podíl přenosu je řízen po každé z množství epoch a instrukce (c) řízeni podílu přenosu dále obsahují instrukce pro:
    (cl) řízení podílu přenosu pro epochu z množství epoch na základě úrovně fronty pro předcházející epochu, rychlosti nabídky pro předcházející epochu a podílu přenosu pro předcházející epochu tak, že se podíl přenosu pro epochu a úroveň fronty pro předcházející epochu kriticky tlumí.
  79. 85. Počítačově snímatelné médium podle nároku 68, vyznačující se tím, že instrukce (c) řízení podílu přenosu dále obsahují instrukce pro:
    (cl) nastavení změny v podílu přenosu vzhledem k času
    27 8406: (2784061_C2.doc) 18.6.2002 ιυο ·« ·**» · upravena szrana • · * «· · * · ··· · · * •φφφ φ · · ·· φ· φφ φφφφ na hodnotu rovnou první veličině vynásobené druhou veličinou, kde první veličina je závislá na čase a druhá veličina se rovná první konstantě mínus druhá konstanta vynásobeno podílem přenosu mínus úroveň fronty vydělená maximální možnou úrovní fronty.
  80. 86. Počítačově snímatelné médium podle nároku 68, vyznačující se tím, že instrukce (c) řízení podílu přenosu dále obsahují instrukce pro:
    (dl) vyhození části množství paketů na základě rychlosti přenosu a priority každého paketu v množství paketů.
  81. 87. Počítačově snímatelné médium podle nároku 68,
    vyznačující se tím, že instrukce (c) řízení podílu přenosu dále obsahují instrukce pro: (cl) řízení podílu přenosu tak, že každý paket z množství paketů se přenáší, pokud se úroveň fronty nachází pod minimálním prahem; (c2) řízení podílu přenosu tak, v ze žádný paket z množství paketů se nepřenáší, pokud se úroveň fronty
    nachází nad maximálním pianem a (c3) řízení podílu přenosu tak, že podíl přenosu a úroveň fronty se kriticky tlumí, pokud se úroveň fronty nachází mezi minimálním a maximálním prahem.
CZ20021780A 1999-11-23 2000-11-21 Způsob a systém pro řízení přenosu paketů v počítačových sítích CZ20021780A3 (cs)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US09/448,190 US6724776B1 (en) 1999-11-23 1999-11-23 Method and system for providing optimal discard fraction
US09/448,197 US6657960B1 (en) 1999-11-23 1999-11-23 Method and system for providing differentiated services in computer networks
US09/448,380 US6771652B1 (en) 1999-11-23 1999-11-23 Method and system for controlling transmission of packets in computer networks
US09/547,280 US6674718B1 (en) 2000-04-11 2000-04-11 Unified method and system for scheduling and discarding packets in computer networks

Publications (1)

Publication Number Publication Date
CZ20021780A3 true CZ20021780A3 (cs) 2002-10-16

Family

ID=27503960

Family Applications (1)

Application Number Title Priority Date Filing Date
CZ20021780A CZ20021780A3 (cs) 1999-11-23 2000-11-21 Způsob a systém pro řízení přenosu paketů v počítačových sítích

Country Status (15)

Country Link
EP (1) EP1232627B1 (cs)
JP (1) JP4195221B2 (cs)
KR (1) KR100546968B1 (cs)
CN (1) CN1391756B (cs)
AT (1) ATE435556T1 (cs)
AU (1) AU1406901A (cs)
CA (1) CA2387101C (cs)
CZ (1) CZ20021780A3 (cs)
DE (1) DE60042493D1 (cs)
HU (1) HUP0203928A2 (cs)
IL (1) IL149435A0 (cs)
MY (1) MY133997A (cs)
PL (1) PL356725A1 (cs)
TW (1) TW580813B (cs)
WO (1) WO2001039467A1 (cs)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771652B1 (en) 1999-11-23 2004-08-03 International Business Machines Corporation Method and system for controlling transmission of packets in computer networks
CA2484722C (en) 2002-05-03 2012-07-10 Cedar Point Communications, Inc. Communications switching architecture
US7453798B2 (en) * 2004-02-19 2008-11-18 Internationl Business Machines Corporation Active flow management with hysteresis
US7701898B2 (en) 2004-09-15 2010-04-20 Research In Motion Limited Switch-in of centralised infrastructure for management for wireless communications
US9549016B2 (en) 2014-08-18 2017-01-17 Cisco Technology, Inc. Congestion control for media flows
US9929958B2 (en) 2014-11-21 2018-03-27 Arris Enterprises Llc Quality of service for mixed service tiers
CN106656851B (zh) * 2016-12-28 2019-12-24 国网辽宁省电力有限公司 一种电力系统终端通信接入网汇聚节点的队列调度方法
KR102010670B1 (ko) * 2017-12-14 2019-08-13 순천향대학교 산학협력단 저전력 광역 네트워크에서 트래픽 특성을 고려한 이중 채널 매체 접근 제어 방법 및 장치
CN111447263A (zh) * 2020-03-24 2020-07-24 中国建设银行股份有限公司 一种消息通信系统
CN116346739B (zh) * 2023-03-31 2023-12-05 南京金阵微电子技术有限公司 多队列调度方法和系统、电路及芯片

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134218A (en) * 1994-04-28 2000-10-17 Pmc-Sierra (Maryland), Inc. Many dimensional congestion detection system and method

Also Published As

Publication number Publication date
ATE435556T1 (de) 2009-07-15
DE60042493D1 (de) 2009-08-13
IL149435A0 (en) 2002-11-10
PL356725A1 (en) 2004-06-28
TW580813B (en) 2004-03-21
CA2387101A1 (en) 2001-05-31
CA2387101C (en) 2006-01-03
JP2003515978A (ja) 2003-05-07
MY133997A (en) 2007-11-30
EP1232627B1 (en) 2009-07-01
CN1391756B (zh) 2010-12-29
CN1391756A (zh) 2003-01-15
JP4195221B2 (ja) 2008-12-10
HUP0203928A2 (en) 2003-04-28
KR100546968B1 (ko) 2006-01-31
AU1406901A (en) 2001-06-04
KR20020063578A (ko) 2002-08-03
WO2001039467A8 (en) 2002-10-31
EP1232627A1 (en) 2002-08-21
WO2001039467A1 (en) 2001-05-31

Similar Documents

Publication Publication Date Title
US10764215B2 (en) Programmable broadband gateway hierarchical output queueing
US7042843B2 (en) Algorithm for time based queuing in network traffic engineering
US9344369B2 (en) System and methods for distributed quality of service enforcement
US6674718B1 (en) Unified method and system for scheduling and discarding packets in computer networks
US7782776B2 (en) Shared weighted fair queuing (WFQ) shaper
US7558278B2 (en) Apparatus and method for rate-based polling of input interface queues in networking devices
US7616567B2 (en) Shaping apparatus, communication node and flow control method for controlling bandwidth of variable length frames
US8462802B2 (en) Hybrid weighted round robin (WRR) traffic scheduling
EP1804436B1 (en) Methods and system to manage data traffic
US20110199899A1 (en) Rate-Adaptive Bundling of Data in a Packetized Communication System
JPH0690255A (ja) データネットワーク輻輳制御方法
US6657960B1 (en) Method and system for providing differentiated services in computer networks
CZ20021780A3 (cs) Způsob a systém pro řízení přenosu paketů v počítačových sítích
US7619971B1 (en) Methods, systems, and computer program products for allocating excess bandwidth of an output among network users
PT1336279E (pt) Controlo de fluxo de informações numa rede de pacotes com base em diferentes comprimentos de pacote conceptuais
US7567572B1 (en) 2-rate scheduling based on search trees with configurable excess bandwidth sharing
Lei et al. Distributed information-agnostic flow scheduling in data centers based on wait-time
JP2003530014A (ja) コンピュータ・ネットワークのサブパイプのフローを制御する方法およびシステム
JP2001186170A (ja) パケットスケジューリング方式及び方法及びこの方法を実行するプログラムを記録した記録媒体。
JP4104756B2 (ja) 電気通信網においてデータパケットをスケジューリングする方法およびシステム
JP2003087313A (ja) 多重化装置および帯域制御装置およびプログラムおよび記録媒体
Kiameso et al. Analysis of prioritized scheduling of assured forwarding in DiffServ Architectures
Sabrina et al. Fair Queuing in Active and Programmable Networks
JP2003023455A (ja) レート制御装置
JP2003023460A (ja) レート制御装置