CZ20021442A3 - Způsob a systém pro klasifikaci rámců a protokolů - Google Patents
Způsob a systém pro klasifikaci rámců a protokolů Download PDFInfo
- Publication number
- CZ20021442A3 CZ20021442A3 CZ20021442A CZ20021442A CZ20021442A3 CZ 20021442 A3 CZ20021442 A3 CZ 20021442A3 CZ 20021442 A CZ20021442 A CZ 20021442A CZ 20021442 A CZ20021442 A CZ 20021442A CZ 20021442 A3 CZ20021442 A3 CZ 20021442A3
- Authority
- CZ
- Czechia
- Prior art keywords
- frame
- processing
- unit
- information unit
- input information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012545 processing Methods 0.000 claims abstract description 133
- 238000005538 encapsulation Methods 0.000 claims abstract description 38
- 238000012360 testing method Methods 0.000 claims abstract description 22
- 230000015654 memory Effects 0.000 claims description 75
- 230000008569 process Effects 0.000 claims description 26
- 239000000758 substrate Substances 0.000 claims description 13
- 239000004065 semiconductor Substances 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 230000001629 suppression Effects 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 15
- 125000004122 cyclic group Chemical group 0.000 description 15
- 230000008901 benefit Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000002509 fluorescent in situ hybridization Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 235000019688 fish Nutrition 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 241000543381 Cliftonia monophylla Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- LEQAOMBKQFMDFZ-UHFFFAOYSA-N glyoxal Chemical compound O=CC=O LEQAOMBKQFMDFZ-UHFFFAOYSA-N 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Small-Scale Networks (AREA)
Description
ZPŮSOB A SYSTÉM PRO KLASIFIKACI RÁMCŮ A PROTOKOLŮ
Oblast techniky
Vynález se týká zařízení komunikační sítě, jakého se používá pro spojení systémů zpracování informací nebo počítačů různých typů a schopností, a komponent a způsobů pro zpracování dat v takovém zařízení. Podrobněji se tento vynález týká vylepšeného systému a způsobu pro správu toku dat ve zpracovávajícím zařízení spojeném s datovou přenosovou sítí, včetně způsobu a systému pro manipulaci s množstvím vstupních informačních jednotek (také známých jako „pakety nebo „rámce), které lze souběžně zpracovávat množstvím nezávislých procesorů a tyto vstupní informační jednotky mohou mít jeden z množství různých protokolů.
Dosavadní stav techniky
Toto provedení se týká následujících dokumentů, které všechny patří vlastníkovi tohoto vynálezu.
Patentová přihláška sér.č. 09/384 691 podaná 27.srpna 1999 Brianem Bassem a kol., nazvaná „Network Processor Processing Complex and Methods a zde se na ní někdy odkazuje jako na patent sítové procesorové jednotky neboli patent NPU (z angl. Network Processing Unit).
U.S. Patent 5 724 348 nazvaný „Efficient
Hardware/Software Interface for a Data Switch vydaný
2783817 (2783817_CZ.doc)
3.března 1998, na který je někdy odkazováno jako patent rozhraní.
Patentová přihláška sér.č. 09/330 968 podaná 11.června 1999 a nazvaná „High Speed Parallel/Seríal Link for Data Communications, někdy zmiňována jako patent spojení.
Různé patenty a přihlášky patřící společnosti IBM, které jsou pro své multiprotokolové přepínací služby někdy označované jako „MPS, z nichž některých je původcem Cedric Alexander a které jsou někdy zmiňované jako patenty MPS.
Mezinárodní
International
Popis tohoto provedení, který následuje, je založen na předpokladu, že čtenář má základní znalosti o sítové datové komunikaci a o směrovačích a přepínačích, které jsou v takové sítové komunikaci užitečné. Tento popis zejména předpokládá s znalost modelu sítové architektury podle normalizační organizace (ISO, z angl. Standards Organization), který rozděluje sítové operace do vrstev. Typická architektura založená na ISO modelu sahá od vrstvy 1 (která se někdy označuje jako „VI), která je fyzickou cestou nebo médiem, kterým se signály předávají výše, přes vrstvy 2 (neboli „V2), 3 (neboli „V3) a tak dále až po vrstvu 7 (neboli „V7) , což je vrstva programování aplikací přítomná v počítačovém systému spojeném se sítí. V tomto dokumentu budou reference na takové vrstvy jako VI, V2, V3 odkazovat na příslušnou vrstvu sítové architektury. Tento popis také přepokládá základní porozumění bitovým řetězcům, známým jako pakety nebo rámce, používaným v sítové komunikaci.
V dnešním pohledu na sítové operace se stávají stále důležitější úvahy o šířce pásma (neboli množství dat, které (2783817_CZ.doc) ·· · ·· · «· ·· ftftft · « « · · · · • · · ftftftft · · « ft ftftftft ftft · ftftftft ftftft · • · ftftft ftftft •ftftft · ftft ft ······ systém může zpracovat za jednotku času). V posledních letech se dramaticky zvýšil sítový provoz, převážně díky prudkému nárůstu Internetu (veřejná sít volně propojených počítačů, někdy označovaná jako celosvětová sít - www) a v menší míře růstem popularity soukromých datových přenosových sítí neboli intranetů. Internet a intranety zahrnují přenos velkého množství informací mezi vzdálenými lokalitami pro uspokojení stále rostoucí potřeby vzdáleného přístupu k. informacím a objevujícím se aplikacím. Internet otevřel velkému počtu uživatelů v geograficky rozptýlených oblastech narůstající množství vzdálených informací a umožnil různé nové aplikace, jako např. elektronický obchod, což mělo za následek zvýšené a stále narůstající zatížení sítí. Jiné aplikace, jako je e-mail, přenos souborů a databázový přístup přidávají sítím další zátěž, z nichž některé jsou již v na pokraji přetížení v důsledku vysokých úrovní sítového provozu.
Provoz v sítích se také stává stále rozmanitější. Kdysi se některé sítě používaly primárně pro určitý typ komunikačního provozu, jako např. hlas na telefonní síti a digitální data po datové přenosové sítí. Samozřejmě, že kromě hlasových signálů by telefonní sít také přenášela omezené množství „dat (jako např. volající číslo a volané číslo kvůli směrování a vyúčtování), ale primární využití u některých sítí kdysi měly značně homogenní pakety.
V současnosti se však hlasový a datový provoz stále více soustřeďuje na stejných sítích. S neustálým rozšiřováním internetu a zlepšováním technologie v oblasti spolehlivosti a zabezpečení v se naskytla příležitost přenášet poměrně souběžně mnoho různých druhů informací včetně směsí různých typů informací, jako např. hlasu a dat.
(2783817_CZ.doc) ·· · ·· · ·· ·· •4« · · 4 ·««· • 4 · · · « « · · · • ···· · · « ···· · · · * • · ··· · · »
Data se v současné době přenášejí po internetu (pomocí internetového protokolu neboli IP) bezplatně a hlasový provoz jde typicky cestou nejnižších nákladů. Technologie jako například hlas prostřednictvím IP (VoIP, z angl. Voice over IP) a hlas prostřednictvím asynchronního přenosového režimu nebolí ATM (VoATM, z angl. Voice over Asynchronous Transfer Mode) nebo hlas prostřednictvím přenosu rámců (VoFR, z angl. Voice over Frame Relay) jsou cenově přístupné alternativy pro přenos hlasového provozu v dnešním prostředí. S přesunem těchto služeb bude průmysl k řešit otázky jako jsou změna struktury nákladů a problémy vyvážení nákladů na služby a kvalitou služby v přenosu informací mezi procesory.
Aspekty kvality služby zahrnují kapacitu neboli šířku pásma, dobu odezvy (jak dlouho trvá zpracování rámce) a flexibilitu zpracování (zda reaguje na různé protokoly a konfigurace rámců, jako jsou různé způsoby zapouzdřování nebo způsoby opatřování rámců záhlavím). Ti, kteří používají zdroj, budou zvažovat kvalitu služby stejně jako náklady služby s tím, že kompromis bude záviset na dané situaci.
Některé technické systémy podle předchozího stavu tehcniky, které směrují datové pakety, vyžadují, aby pakety měly stejný protokol nebo formát nebo jeden z omezeného počtu takových protokolů nebo formátů, které jsou povoleny. Takový systém má výhody zvýšené rychlosti a odezvy díky relativní jednoduchosti provedení, když se v systému nacházejí pakety pouze jednoho typu nebo protokolu (nebo omezeného počtu protokolů) , jelikož systém lze uzpůsobit na povolený protokol(y). Když byl celý datový přenosový systém řízen jedinou entitou, bylo pro tuto řídící entitu (2783817_CZ.doc) ·· « ·» · ·· ·· • » » · .· ···>
• toto · · · · ft φ · • ···· · · · ···· 9 9 9 9 • · · · · · to · •··· · ·· · 9 9 9 9 9 Λ jednoduché vnutit jediný standardizovaný přenosový protokol uživatelům (buďto se uživatelé drželi povoleného protokolu(ů) nebo nemohli používat síť, protože síť byla naprogramována tak, aby vyhovovala pouze předepsanému protokolu(ům) a neuměla zacházet s variacemi v protokolech, dokonce ani se zdánlivě malými variacemi).
Dokonce i rámce z komunikační „normy jako je Ethernet lze však formátovat pomocí jednoho z několika protokolů a lze je zapouzdřit do zprávy pomocí různých zapouzdřovacích technik. Tyto různé protokoly a zapouzdřovací techniky poskytují proměnné množství dat, typicky na začátku rámce a před další klíčovou informací jako je začátek zprávy V3. Klíčová informace může být tedy z v ethernetovém rámci umístěna na různých místech uvnitř rámce v závislosti na ethernetovém protokolu V3 nebo formě Ethernetu a zapouzdřovací technice, pokud je přítomna. Systém, který obstarává zpracování zprávy V3, ji nejprve musí nalézt a to může být v multi-protokolovém systému problém. Tak např. Ethernet DIX verze 2 se liší od Ethernetu 802.3, IPX přes Ethernet se liší od IPX přes Ethernet 802.3, jenž má sám tři různé formáty (Novell Proprietary, LLC a SNAP). Dále každá verze IPX může a nemusí podporovat virtuální LAN (neboli VLÁN) pomocí tzv. standardu IEEE 802.lg, která má také účinek změny formátu rámce a tím i umístění zprávy V3.
V těchto systémech podle předchozího stavu techniky, v nichž byly podporovány rámce v množství protokolů, bylo někdy nutné zajistit značné množství režie (jako např. v počítačových programech, kde se někdy vyžadovalo více než sto řádků kódu s instrukcemi porovnání a skoku) k identifikaci protokolu a k přeložení rámce z jednoho protokolu do druhého nebo k odstranění nadbytečných (2783817_CZ.doc) • « • ·
0 0 0 0 · «>
• · • · · · · · 0 • · informací (jako jsou zapouzdřovací informace) z rámce. Takové zpracování mnoha protokolů bylo časově náročné a často ještě trvalo proměnnou dobu identifikace protokolu. Když takové systémy vyžadovaly proměnlivé množství času k identifikaci protokolu a provedení potřebného zpracování, systém musel být nakonfigurován, aby povoloval co nej delší potřebnou dobu (pro ošetření nejhoršího případu), což zpomalovalo zpracování všech rámců na nej horší případ nebo vytvářelo možnost, že některé rámce nebudou zpracovány v době povolené pro kategorizaci.
Většina procesorů zahajuje zpracování ze společného začátku instrukční sady (stejné místo pro všechna data) a nastavuje příznaky, které procesor výběrově čte, když potřebuje určit, kam má přejit zpracování a které instrukce má provést. Běh u mnoha procesorů tedy provádí řadu testů pro určení toho, který druh dat má a kde má začít skutečné zpracování, testů, které obsahují řadu cyklů a mohou zahrnovat spoustu zpracování.
V předchozím stavu techniky jsou známé víceprocesorové systémy pro práci s daty, které využívají nepružné frontové (první-dovnitř-prvni-ven) zpracování dat. Přestože tento druh zpracování funguje dobře, pokud se odehrává rutinním způsobem, začíná být tento systém těžkopádný a přestává fungovat, pokud se zdrží zpracování jednoho vstupu. Zdržení zpracování jednoho vstupu má za následek zastavení zpracování ostatních.
Jsou známé další technické systémy z předchozího stavu techniky, které během zpracování sledují vstupní jednotky zpráv. Tyto systémy mají to omezení a nevýhodu, že je nutné věnovat značné množství výpočetního výkonu sledování toho, (2783817_CZ.doc) •* * ··♦ ·· n » · · * t · « · · · • · · · · « · · « f • ·*·· « · « «··· · · · · « · · ♦ · « « * <···· ♦ ·· ♦ «* ···· kde každá informační jednotka v systému je, a některé neošetřují dodatečné vstupní informační jednotky jako např. z nových datových toků nebo z interně generovaných zpráv.
Technické systémy z předchozího stavu techniky pro práci s datovými pakety tedy měly nežádoucí nevýhody a omezení, které měly vliv buďto na přizpůsobivost systému nebo na rychlost, kterou pracují, nebo na obojí. Další nevýhody technických systémů z předchozího stavu techniky budou odborníkům zřejmé při pohledu na následující popis tohoto vynálezu.
Podstata vynálezu
Toto provedení vynálezu překonává nevýhody a omezení systémů z předchozího stavu techniky zajištěním jednoduchého avšak účinného způsobu správy datových toků sítí rámců nebo paketů, které byly vytvořeny pomocí jednoho z množství různých povolených protokolů zpráv a které mohou a nemusí používat systém virtuální místní sítě (neboli VLÁN, z angl. Virtual local area network) . Analýzou každého paketu nebo rámce rychlým a účinným způsobem lze určit typ rámce a klíčové charakteristiky rámce a uložit je pro pozdější reference nebo zpracování s tohoto rámce, např. v sítové procesorové jednotce typu popsaného ve výše uvedeném patentu NPU.
Je výhodou tohoto provedení, že je rychlé a účinné při manipulaci s pakety, které mají různé protokoly, a poskytuje rychlejší a snazší zpracování paketů, což celému systému umožňuje pracovat s vysokou rychlostí zpracování rámců.
(2783817_CZ.doc) • · · ··· · · · ·«·· • · · · · · · · » * • ···· · ···» · · · · • · ··· · · · ···· · ·· · ·· ····
Toto provedení umožňuje směrovací nebo přepínači zpracovávat po sobě jdoucí pakety nebo rámce v proměnných formátech, aniž by se vědělo předem, v jakém formátu byl konkrétní rámec nebo paket vytvořen. Toto provedení obsahuje identifikaci formátu zapouzdření vrstvou 2 (V2) zprávy nebo paketu, a poté aplikaci uložených pravidel pro identifikaci zapouzdření V2, protokolu V3 a přítomnosti virtuální lokální sítě (VLÁN) . Toto určení má za následek to že procesor je připraven k provádění na počáteční adrese instrukce; tj. procesor je předvybaven počáteční adresou instrukce, která je založena na identifikaci rámce. Procesor tak má počáteční adresu instrukce stejně jako ukazatel na začátek záhlaví V3 v datové části rámce jakož i příznaky udávající protokol, přítomnost VLÁN a formát zapouzdření.
Toto provedení má tu výhodu, že zakládá a ukládá klíčovou informaci o paketu během počátečního zpracování paketu, a poté lze uložené informace o paketu nebo rámci s výhodou využít v pozdějším zpracování, což umožňuje rychlejší a účinnější zpracování paketu v jeho pozdějších stádiích, např. pomocí komplexů sítových procesorových jednotek popsaných v patentu NPU.
Toto provedení má tu výhodu, že umožňuje, aby vstupující pakety nebo rámce z jednoho datového toku byly přiděleny pro zpracování jednomu z množství nezávislých procesorů, a poté umožňuje, aby vystupující (zpracované) pakety nebo rámce byly znovu sestaveny do stejného pořadí, ve kterém byly vstupující pakety nebo rámce přijaty.
Toto provedení má tu výhodu, že lze zpracovávat několik datových toků bez toho, že by se vzájemně ovlivňovaly, a tak, že jeden datový tok neblokuje další datové toky. To (2783817_CZ.doc) • · · ·· φ φφ ·· • · · φφφ φφφφ φφφ φφφφ · φ · φ φφφφ φ φ φ φφφφ · · · φ • · φφφ φφφ ···· · φφ φ ·· φφφφ znamená, že když se pozastaví zpracování jednoho datového toku při čekání na dokončení zpracování nějaké jeho části, zpracování ostatních datových toků může pokračovat.
Pokud je to žádoucí, umožňuje toto provedení také vyprázdnění systému neboli okamžité odbavení hotových rámců bez ohledu na pořadí, čímž se potlačí normální činnost manipulace s každým datovým tokem v pořadí, v němž byl přijat.
Toto provedeni má také tu výhodu, že je účinné díky využití vyrovnávacích pamětí a paměťových zařízení a že pracuje rychle, takže rychlost zpracování se nesnižuje následkem režie správy datových toků.
Toto provedení předpokládá, že jej lze implementovat na stejném polovodičovém substrátu kde je pole sítových procesorů a s nimi spojené paměťové komponenty, což připouští rychlý přenos dat mezi komponentami.
Toto provedení lze také implementovat hardwarově spíše nežli softwarově a požadované testy formátu lze provést v jednotném čase bez ohledu na formát a na to, kolik porovnání se musí provést předtím, než se určí formát nebo techniky zapouzdření. V ukázaném provedení lze ve dvou cyklech hodin dosáhnout klasifikace rámce s potřebnými indikátory nastavenými tak, aby označovaly, jaký druh rámce je přítomen (např. jaká zapouzdřovací technika a jaký protokol vrstvy 3 byly použity) a zda je podporována virtuální LAN (neboli VLÁN) a také klíčovou informaci o rámci. Během stejných dvou cyklů může být rámec rozvrhujícím programem nasměrovat k volné síťové procesorové jednotce (jak je popsáno ve zmíněném patentu NPU). Následkem (2783817_CZ.doc) *« · ·» · * · zpracování rámce ke zjištění protokolu a způsobu zapouzdření adresu poslat ji lze určit pro procesor počáteční procesoru, aby procesor mohl začít svou práci na rámci, s předem zavedenou počáteční adresou (ukazatel do příslušné paměti instrukcí) a dalšími relevantními informacemi pro zpracování. Toto předběžné zavedení počáteční adresy do procesoru pro zpracování se někdy označuje jako nastavení výchozích podmínek u procesoru a umožňuje efektivitu procesoru - nemusí procházet řadou testovacích instrukcí a skokových instrukcí založených na výsledcích testů, ale místo toho začíná na počáteční adrese pro konkrétní formát prezentované zprávy.
Systém v tomto provedení má také tu výhodu, že klasifikace a předběžné zpracování rámců může probíhat paralelně s distribucí tohoto rámce sítovým procesorovým komplexům. Toto paralelní zpracování připouští účinnější manipulaci s rámci a umožňuje systému pracovat rychleji.
Pomocí tohoto provedení může být několik procesorových jednotek nezávislých na sobě navzájem a přitom zpracovávat stejné toky dat, aniž by se umožnilo, aby se části dostaly do jiného a nežádoucího pořadí. Pokud to není potlačeno příkazem vyprázdnění, výstup zpracovaných paketů nebo rámců pro daný datový tok bude ve stejném pořadí, v jakém systém přijal vstupující pakety nebo rámce z tohoto datového toku.
Nakonec toto provedení připouští vkládání nových datových toků a vytvoření paketů nebo rámců systémem aniž by se ovlivnilo zpracování, které zachovává pořadí datových toků přijatých ze sítě.
Jedno vylepšení tohoto provedení dovoluje nejenom (2783817_CZ.doc)
9. ·
4· · ♦· • ftft · · · · · ft « • ···· · · · ···· · · · « * · ··· ·>· ···· · ·· · ·» ···· nastavení výchozích podmínek u procesoru (uložení adresy první instrukce), ale také uložení dalších adres instrukcí pro pozdější provádění. Takto má procesor adresu první instrukce a také adresy instrukcí v pozdějších bodech skoku (nebo větvení), což zamezí nadbytečnému testování (pokud podmínka, přejít na instrukci #1, jinak přejít na instrukci #2) při provádění kódu. To umožňuje účinnější provádění kódu.
Další účely a výhody tohoto provedení budou zřejmé odborníkům v příslušném oboru při pohledu na následující popis upřednostňovaného provedení spolu s průvodními obrázky a přiloženými nároky.
Přehled obrázků na výkresech
Vynález bude blíže vysvětlen prostřednictvím konkrétních příkladů provedení znázorněných na výkresech, na kterých představuje obr. 1 blokové schéma zařízení rozhraní obsahující zabudovaný procesorový komplex, který je popsán v patentu NPU a je užitečný při upotřebení tohoto vynálezu;
obr. 2 blokové schéma začleněného procesorového komplexu typu zobrazeného na obr. 1 s klasifikační hardwarovou asistencí užitečnou v tomto vynálezu;
obr. 3A-3T schémata znázorňující různé formáty ethernetových protokolů použité v hardwarovém (2783817_CZ.doc) titi ti • titi • ti ti • titititi • ti • tititi ti • titi • ti ti ti • ti ti ti ti ti • titi • ti ti • ti titi • titi ti • ti ti tititi • ti titititi klasifikátoru tohoto vynálezu;
obr.
obr.
vývojový diagram klasifikační asistence podle tohoto vynálezu, logiku používanou v tomto hardwarové zobrazuj ící vynálezu klasifikátorem ke zpracování částí rámce;
funkční diagram znázorňující klasifikátor podle tohoto vynálezu;
alternativní provedení hardwarového klasifikátoru podle tohoto vynálezu se zobrazenými volitelnými vylepšeními, která umožňují, aby se kromě adresy první instrukce uložila do zásobníku řada adres;
schematické znázornění front s každým rámcem;
souvisej ících podrobný pohled na kompletační jednotku podle tohoto vynálezu se dvěma paměťmi návěští pro každý z N procesorů;
schematické znázornění formátu paměti návěští pro sledování toku dat, s nímž manipuluje každý z N procesorů;
vývojový diagram znázorňující logiku, kterou provádí kompletační jednotka při obdržení a zpracování indikace, že jedné z procesorových jednotek byl odbaven nový rámec;
vývojový diagram znázorňující logický proces (2783817_CZ.doc) • 4 4 ·· · 44 44 ··· 4 4 4 φ • 4 4 4 4 4 4 • 4444444 4 4 • 4 444 444 ···· · ·· 4 44 44*4 prováděný kompletační jednotkou, když se zpracovává zpráva, že bylo dokončeno zpracování rámce; a obr. 12 jiný pohled na kompletační jednotku z obr. 8 obsahující data pro znázornění činnosti kompletační jednotky v jejím upřednostňovaném provedení.
Příklady provedení vynálezu
V následujícím popisu upřednostňovaného provedení budou s určitou podrobností popsány nej lepší známé implementace upotřebení vynálezu. Popis je však zamýšlen jako širší, obecné poučení o konceptech tohoto vynálezu v konkrétním provedení, ale není myšlen jako omezující tento vynález na to, co je zobrazeno v tomto provedení, zejména proto, že odborníky napadnou mnohé obměny a změny specifické struktury a činnosti zobrazené a popsané s ohledem na tyto obrázky.
Obr. 1 je funkční blokové schéma systému zpracování, který je vhodný k připojení k datové přenosové síti pro přijímání, zpracování a' opětovné vysílání dat síti ve formě paketů nebo informačních jednotek (také někdy označovaných jako rámce, pojmy, které pro účely tohoto dokumentu budou používány zaměnitelně) . Jak zobrazuje obr. 1, systém pro zpracování dat obsahuje množství dílčích sestav, které jsou, jak je popsáno v patentu NPU, výhodně integrovány do jediného substrátu. Integrace celé sestavy na jediný substrát umožňuje těsné seskupení různých komponent systému, což snižuje dobu potřebnou pro komunikaci mezi komponentami, a tudíž zvyšuje rychlost, kterou systém může pracovat.
(2783817_CZ.doc) ·* « 11 9 19 ·· • » * · to » 9 · * · • » » totototo ·· » • 1191 11 1 1111 · · to « • to tototo tototo mi · * » to v· tototo·
Použití jediného substrátu pro několik procesorů i podpůrnou logiku i paměť; může také snížit výskyt selhání v důsledku propojení a zvýšit odolnost vůči šumovým nebo jiným rozptýleným signálům, které mohou poškodit datový přenos v síti.
Dílčí sestavy namontované na substrát 10 jsou uspořádány do vzestupného seskupení a sestupného seskupení, přičemž „vzestupné seskupení (také někdy označované jako „vtok) označuje ty komponenty, které se týkají dat přitékajících do čipu z datové přenosové sítě (nahoru neboli dovnitř do čipu), a „sestupné (někdy označované jako „výtok) označuje ty komponenty, jejichž funkcí je přenášet data z čipu do datové přenosové sítě v odtékajícím stylu (pryč z čipu neboli dolů a do sítě). Datové toky sledují příslušná uspořádání vzestupných a sestupných seskupení, v systému na obr. 1 je tedy vzestupný datový tok a sestupný datový tok. Prvky vzestupného neboli vtokového seskupení obsahují zařazovací-vyřazovací-plánovací vzestupnou (EDS-UP, z angl. Enqueue-Dequeue-Scheduling UP) logiku 16, více vzestupných řízení 14 MAC (PMM-UP), vzestupný přepínací přemísúovač 18 dat (SDM-UP, z angl. Switch Data Mover-UP), systémové rozhraní 20 (SIF, z angl. System Interface) datové srovnané sériové spojení 22 A (DASL-A, z angl. Data Align Seriál Link A) a datové srovnané sériové spojení 24 B (DASLB) . Datová spojení jsou plně popsána v e výše uvedeném patentu spojení a do tohoto dokumentu lze nahlédnout pro větší porozumění této části systému. Je třeba si uvědomit, že upřednostňované provedení tohoto vynálezu používá datová spojení, jak jsou plně popsána v daném patentu, s tímto vynálezem lze však výhodně použít jiné systémy, zejména ty, které podporují poměrně vysoké datové toky a systémové požadavky, protože tento vynález není omezen na uvedená (2783817_CZ.doc) konkrétní podpůrná zařízení jako např. datová spojení, která jsou použita v tomto vynálezu.
Komponenty zobrazené v sestupující části (neboli výtoku) systému obsahují datové spoje DASL-A 26 a DASL-B 28, systémové rozhraní 30 SIF, přepínací přemísťovač 32 dat SDMDN, zařazovací-vyřazovací-plánovač 34 EDS-DN a více multiplexovaných MAC 36 pro výtok PMM-DN. Substrát 10 také obsahuje množství vnitřních komponent statických pamětí s přímým přístupem (S-RAM), plánovač 40 řízení provozu (PLÁNOVAČ ŘÍZENÍ PROVOZU) a začleněný procesorový komplex 12 popsaný podrobněji ve výše uvedeném patentu NPU. Pomocí příslušných DMU sběrnic je s PMM 14, 36 spojeno zařízení 3J3 rozhraní. Zařízení 38 rozhraní může být jakékoli vhodné zařízení pro připojení k obvodům VI, jako např. ethernetová fyzická (ENET PHY) zařízení nebo nástroje rámcování asynchronního přenosového režimu (ATM RAMCOVAČ), což jsou obojí příklady zařízení, která jsou dobře známá a pro tento účel všeobecně dostupná na trhu. Typ a velikost zařízení rozhraní jsou alespoň zčásti určeny síťovým médiem, k němuž jsou tento čip a jeho systém připojeny. Pro použití je čipu dostupné množství zařízení vnějších dynamických pamětí s přímým přístupem (D-RAM) a paměť S-RAM.
Zatímco se zde především popisují sítě, v nichž obecný datový tok ven z příslušných přepínacích a směrovacích zařízení prochází elektrickými vodiči, jako jsou dráty a kabely instalované v budovách, tento vynález předpokládá, že síťové přepínače a jejich součásti mohou být použity i v bezdrátovém prostředí. Například prvky řízení přístupu na médium (MAC) zde uvedené lze nahradit vhodnými vysokofrekvenčními zařízeními jako jsou např. zařízení vyrobená křemíkovo-germaniovou technologií, což má následek (2783817_CZ.doc)
9 · * • · · ft · · 9 · · s bezdrátovou sítí. Tam, technologie, mohou být odborníkem intecrrovány do ·· ♦ • · • · · • · · · · · ft • · β· spojeni uvedeného zařízení přímo kde se vhodně uplatní taková vysokofrekvenční prvky příslušným zde uvedených VLSI struktur. Alternativně lze radiofrekvenční nebo jiná bezdrátová zařízení odezvy, jako je infračervené (IR) zařízení odezvy, namontovat na plošku s dalšími zde uvedenými prvky pro vyrobení přepínacího zařízení, které je užitečné spolu se zařízením bezdrátové sítě.
V systému rozhraní zobrazeném na obr. 1 ukazují šipky obecný tok dat. Rámce dat nebo zprávy přijaté ethernetovým MAC 14 vně ENET PHY bloku 38 prostřednictvím DMU sběrnice se umístí do vnitřních vyrovnávacích pamětí 16a dat pomocí zařízení 16 EDS-UP. Rámce mohou být identifikovány buďto jako normální rámce nebo řízené rámce, což se potom týká způsobu a umístění následného zpracování v množství procesorů.
Obr. 2 je blokové schéma systému 100 zpracování, který může s výhodou uplatnit tento vynález. Na tomto obr. 2 se nachází množství procesorových jednotek 110 mezi rozvrhující jednotkou 112 a kompletační jednotkou 114. Každý přicházející rámec R (ze sítě, která není zobrazena, připojené k tomuto systému zpracování dat) se přijme a uloží do vzestupné paměti 116 dat, která je spojena s procesorovými jednotkami 110 přes rozhraní 117 UP DS rozhr., které má schopnost číst a zapisovat data do paměti dat. Rámce jsou postupně odebírány rozvrhujícím programem 112 a přidělovány jedné z množství procesorových jednotek 110 na základě rozhodnutí rozvrhujícího programu 112, že procesorová jednotka je dostupná pro zpracování rámce. Tato indikace je možná tím, že ta procesorová jednotka, které je (2783817_CZ.doc) rámec R přidělen, poslala rozvrhujícímu programu 112 signál udávající, že tato příslušná procesorová jednotka byla nečinná a přístupná pro práci, i když' lze v tomto vynálezu s výhodou uplatnit i jiné způsoby přidělování práce (např. alokace cyklické obsluhy nebo algoritmus poslední nejméně používané). Větší podrobnosti zejména o struktuře a funkci procesorových jednotek 110 a systému zpracování obecně lze nalézt v e výše uvedeném patentu NPU. Mezi rozvrhujícím programem 112 a množstvím procesorových jednotek 110 je klasifikační hardwarová asistence 118, jak bude podrobněji popsáno později v tomto dokumentu, zejména ve spojení s obr. 4 a 5. S množstvím procesorových jednotek 110 je také spojena paměť 122 instrukcí (zobrazená na obr. 4), kam se ukládá množství různých instrukčních sad pro výběr a provádění jednotlivými procesorovými jednotkami 110. Jak bude popsáno později, počáteční instrukce v paměti 122 instrukcí je adresována podle adresy, která je založena na typu zprávy - jejím protokolu a způsobu zapouzdření - což je určeno hardwarovou klasifikační asistencí 118.
Kompletační jednotka 114 je funkčně zapojena mezi množství procesorů 110 a sestupný zařazovací systém (označený jako DN zařazování - prvek 34 na obr. 1) stejně jako vzestupný zařazovací systém (prvek 16 na obr. 1) . DN zařazovací systém 34 se používá k posílání zpracovaných rámců ven z procesorového komplexu dolů k síti nebo k jinému systému, k němuž je komplex připojen, a UP zařazovací systém 16 se používá k posílání zpracovaných rámců přepínací struktuře. Rozvrhující program 112 může být navržen tak, aby přiděloval a uchovával identifikační informaci týkající se každého rámce a procesorové jednotky přidělené ke zpracování takového rámce. Takovou identifikační informaci pak může použít kompletační jednotka 114, aby se ujistila, že (2783817_CZ.doc) • · · ··· zpracované rámce tvořící jediný datový tok se předají v pořadí, v němž byly přijaty. Tento aspekt vynálezu bude vysvětlen podrobněji níže v tomto popisu.
Obr. 3 (skládající se z různých dílčích obrázků, obr. 3A-3T) znázorňuje několik formátů zpráv (komponenty a obměny ethernetového formátu zprávy), které tento systém zpracování podle svého naprogramování přijímá a zpracovává, přestože repertoár formátů zpráv nebo rámců je něco, co mohou odborníci změnit tak, aby se hodilo pro prostředí uvažovaného systému. Lze také změnit návrh tohoto systému tak, aby přijímal jiné formáty zpráv včetně těch formátů zpráv a obměn, které mohou být navrženy v budoucnu. Formáty zpráv na obr. 3 jsou jako takové pro účely znázornění různých formátů rámců s různými typy protokolů a zapouzdření a tento vynález je flexibilní systém navržený tak, aby přijímal různé odlišné formáty protokolů a zapouzdření a aby zajistil asistenci při zpracování těchto rámců zajištěním ukazatele na typ zapouzdření a protokolu a aby procesoru manipulujícímu s daným rámcem poskytl počáteční adresu v paměti instrukcí.
Obr. 3A znázorňuje generický neboli základní formát ethernetové zprávy, který je také někdy nazýván Ethernet verze 2.0/DIX. Je to formát zprávy, kde zpráva obsahuje cílovou adresu DA (z angl. destination address), zdrojovou adresu SA (z angl. source address), blok označující typ zprávy (Typ), text zprávy neboli data a koncové návěští pro cyklickou kontrolu redundance neboli CRC pro ověření integrity zprávy. Cílová adresa DA a zdrojová adresa jsou obě určené jako 6 bajtové (48 bitů) a blok označující Typ je určen jako 2 bajtový, zatímco koncové návěští CRC je určeno jako 4 bajtové. Zbytek zprávy - data - může mít obecně (2783817_CZ.doc) «· · libovolnou délku až 1500 bajtů, i když, jak bude vidět později, některé typy Ethernetu poskytují omezení této flexibility pro dosažení jiných výhod. Zdrojová adresa může udávat buď to, že se jedná o jednotlivou zprávu určenou pro jedinou síťovou adresu na jednom uzlu v síti, nebo že se jedná o zprávu výběrového vysílání nebo všesměrového vysílání. Zpráva výběrového vysílání je určena skupině uzlů v síti a zpráva všesměrového vysílání je určena všem stanicím. Blok udávající Typ má 16 bitů, které označují protokol vyšší vrstvy, který je použit. Každému zaregistrovanému etherenetovému protokolu je dán jedinečný typový kód, hodnota, která je vždy větší než maximální hodnota v poli délka u pole délky Ethernetu 802.3, aby pole mohlo existovat současně. Datové pole má typicky délku 461500 bajtů za předpokladu, že vyšší vrstvy se před předáním dat vrstvě MAC postarají o to, že bude splněna minimální délka pole 46 bajtů. Zprávy, které jsou delší, než je povolená délka rámce, musejí být rozděleny do více zpráv, které jsou kratší, než je maximální povolená délka datového pole.
Obr. 3B znázorňuje obměnu obecného ethernetového stylu, která se označuje jako ethernetový formát IEEE 802.3. Je podobná generickému formátu ethernetové zprávy na obr. 1 s výjimkou toho, že pole typ je nahrazeno polem délka LEN, které má 16 bitů, které udávají délku datového pole, které následuje, v kromě případné délky výplní. Tato norma ukládá minimální velikost délky paketu 64 bajtů, takže datové pole musí mít alespoň 46 bajtů. Pokud skutečná data pro datové pole mají méně než 46 bajtů, pak vrstva MAC musí před posláním paketu do sítě přidat šetřiče místa (vyplňující znaky) do datového ' pole LLC, aby vytvořila minimální velikost. Pole délka však udává délku bez vyplňujících (2783817_CZ.doc) • · · · * · ··· · znaků, což umožňuje přijímajícímu systému rozpoznat a ignorovat všechny vyplňující znaky, které byly přidány.
Obr. 3C znázorňuje informační formát řízení příznaků pro ethernetové zprávy, zejména s odkazem na normu IEEE 802.Ig. Skládá se ze 3 bitů priority uživatele, 1 bitu indikátoru kanonického formátu neboli CFI a 12 bitů VID neboli identifikátoru virtuální LAN (neboli VLÁN). Virtuální LAN neboli virtuální lokální sít je označení skupiny uzlů, které byly označeny jako virtuální lokální síú definováním adres tak, že obsahují VLÁN, což umožňuje těm uzlům, které nejsou fyzicky sdružené, aby byly sdruženy logicky a adresovány jako skupina spíše než individuálně.
Obr. 3D znázorňuje formát začleněného RIF (neboli ERIF) , který se používá v některých formátech ethernetových protokolových zpráv, opět podle normy IEEE 802.Ig. V tomto formátu je prvními 3 bity označen typ trasy RT (z angl. routě type) , dalšími 5 bity délka LTH (což udává v bajtech délku celkové části E-RIF včetně řízení trasy E-RIF a deskriptoru trasy E-RIF) a jedním bitem směr D deskriptoru trasy (normálně „0 znamená procházet deskriptor trasy v pořadí vpřed, avšak v některých speciálně směrovaných udává, že deskriptor trasy je Formát bitech formátu (NCFI) o 1 bitu. Typ trasy RT je buď 00X, 01X, 10X nebo 11X, což udává, že rámec je buďto speciálně směrovaný rámec, transparentní rámec, rámec průzkumu všech tras nebo rámec obepínajícího stromového průzkumu. Pole nej delšího rámce LF má 1470 nebo méně bajtů podle normy IEEE 802.3 pro Ethernet. NCFI udává buď to, že specifikované MAC adresy jsou v nekanonické formě (pokud je 0) nebo v kanonické formě rámcích je „1, což v obráceném pořadí). největšího rámce o 6
E-RIF obsahuje indikátor a indikátor nekanonického (2783817_CZ.doc) · « · ♦ · · · • · · • · · • · · · · · (pokud je 1).
Obr. 3E znázorňuje formát deskriptoru trasy E-RIF, který obsahuje identifikaci lokální sítě LAN ID o 12 bitech a počet můstků (# můstků) o 4 bitech. Formát deskriptoru trasy E-RIF je také dobře známý v průmyslu a toto použití se pro tato pole řídí normou.
Obr. 3F a obr. 3G znázorňují komponenty LLC formátů pro použití v ethernetové zprávě obsahující 802.2 LPDU formát na obr. 3F a generický SNAP formát na obr. 3G. LPDU formát na obr. 3F obsahuje přístupový bod cílové služby DSAP (z angl. Destination Service Access Point) o 1 bajtu (8 bitech), přístupový bod zdrojové služby SSAP (z angl. Source Service Access Point) o 1 bajtu a řídící pole Control o 1-2 bajtech obsahující bity příkazu(ů), odezvy, pořadového čísla/čísel a výzvy/konečné bity. V tomto kontextu má přístupový bod služby 6 bitů plus U bit a konečný bit (individuální I bit pro přístupový bod cílové služby a C bit pro indikátor přikazu/odezvy pro zdroj). Obr. 3G znázorňuje SNAP formát obsahující tři bajty udávající organizaci (jedinečný identifikátor organizace neboli OUI, z angl. Organizationally Unique Identifier) a dva bajty udávající typ přidělený formátu v podle internetové normy 0002. Příklady pole typ jsou 0800 pro IP, 8137 pro IPX, 0806 pro ARP, 8035 pro RARP, 8100 pro 802.Iq, 86DD pro IPv6, 80DB pro Appletalk a 80F3 pro Appletalk AARP.
Obr. 3H znázorňuje formát zprávy v IPX přes ethernetový formát obsahující ethernetové MAC záhlaví a IPX záhlaví, přičemž ethernetové MAC záhlaví má zdrojovou adresu SA a cílovou adresu DA po 6 bajtech, následované dvoubitovým typem 8137 udávajícím, že tento rámec je formátu IPX. IPX (2783817_CZ.doc) • · ·· ···· záhlaví poté obsahuje označené komponenty, zejména 2 bajty pro kontrolní součet, 2 bajty pro délku paketu, 1 bajt pro TC, 1 bajt pro PT, 4 bajty pro cílovou sít, 6 bajtů pro cílový uzel, 2 bajty pro cílový soket, 4 bajty pro zdrojový uzel, 6 bajtů pro zdrojový uzel a 2 bajty pro zdrojový socket.
Obr. 31 zobrazuje formát zprávy pro IPX přes původní verzi Ethernetu 802.3 (někdy označovaný jako formát Novell) obsahující ethernetové 802.3 MAC záhlaví, kde je ve třetím poli specifikována délka zprávy (spíše než typ v IPX přes Ethernet zobrazený na obr. 3H) Kontrolní součet v tomto formátu je nastaven na „FFFF podle jeho protokolu.
Obr. 3J znázorňuje IPX přes Ethernet 802.3 s 802.2, kde zpráva obsahuje MAC záhlaví spolu s IPX záhlavím (jako ty zobrazené na obr. 3H) oddělené poli LLC LPDU pro 802.2.
Obr. 3K znázorňuje formát IPX rámce přes 802.3 se SNAP, kde stejně jako u formátu popsaného ve spojení s obr. 3J zpráva obsahuje 802.3 MAC záhlaví, za kterým následuje pole LLC LPDU a je uzavřeno IPX záhlavím. Mezi částí LLC LPDU a IPX záhlavím je umístěno pole SNAP pro označení OUI a Etypu 8137.
Obr. 3L znázorňuje formát IPX přes Ethernet s podporou 802. Iq VLÁN, kde je pole typ označeno jako 8100 a mezi ethernetovým MAC záhlavím a IPX záhlavím (IPX záhlaví má stejný formát jako je popsáno výše ve spojení s obr. 3H, 3J a 3K) je umístěn paket VLÁN. Paket VLÁN obsahuje pole TCI o 2 bajtech a pole délka LEN nebo pole e-typ o 2 bajtech, poté pole řízení e-rif a proměnný počet deskriptorových polí e-rif, jejichž počet je dán vzorcem (LEN-2)/2.
(2783817_CZ.doc)
Obr. 3M znázorňuje formát pro IPX přes Ethernet 8 02.3 (původní) s použitím podpory 802.Iq VLÁN. Typové pole je 8100 a paket VLÁN je podobný tomu v předcházejícím příkladu VLÁN na obr. 3L. IPX záhlaví je podobné tomu, které je dříve zobrazeno v původním 802.3 rámci na obr. 31, s tím, že pole kontrolního součtu je nastaveno na hodnotu „FFFF.
Obr. 3N zobrazuje uspořádání rámce pro rámec využívající IPX přes Ethernet 802.3 s podporou VLÁN. Obsahuje 802.3 MAC záhlaví s typem 8100 označujícím přítomnost paketu VLÁN (jako na obr. 3M) , paket VLÁN (také ve formátu jak na obr. 3M) , pole LLC LPDU (podobné tomu, které je zobrazeno a popsáno ve spojení s obr. 3J) a IPX záhlaví (jako je zobrazené na obr. 3H).
Obr. 30 zobrazuje konfiguraci nebo formát zprávy v IPX přes Ethernet 802.3 s podporou SNAP a VLÁN pomocí 802.Iq. Je podobný formátu z obr. 3N s přidaným polem SNAP mezi polem LLC LPDU a IPX záhlavím.
Obr. 3P zobrazuje formát IPv4 přes Ethernet, kde zpráva obsahuje ethernetové MAC záhlaví a Ipv4 záhlaví. Délka každého z polí je na tomto obrázku zobrazena.
Obr. 3Q znázorňuje formát zprávy pro IPv4 přes Ethernet
802.3 s 802.2 a zobrazuje MAC záhlaví, za kterým následuje pole LLC LPDU a poté IPv4 záhlaví.
Obr. 3R znázorňuje formát zprávy pro IPv4 přes Ethernet
802.3 se SNAP, kde za 802.3 MAC záhlavím následuje pole LLC LPDU a poté IPv4 záhlaví (a s volitelným koncovým návěštím pro UDP nebo TCP, pokud je použitelné).
(2783817_CZ.doc) • « ft • · · · · · • ftft • · · · ·
Obr. 3S znázorňuje formát zprávy pro IPv4 přes Ethernet s podporou 802.Iq VLÁN. Tento formát má znaky IPv4 jakož i paketu VLÁN, který lze vidět v jiných případech podpory 802.Iq VLÁN.
Obr. 3T znázorňuje formát zprávy pro IPv4 přes Ethernet
802.3 (s 802.2) s podporou 802.Iq VLÁN, který kombinuje atributy IPv4 přes 802.3 s 802.3 s vlastnostmi zprávy u paketu VLÁN.
Na každém z obr. 3H až 3T představuje spodní čára u rámce nebo zprávy část vrstvy 3 (neboli V3) , a v důsledku proměnné délky materiálu, který předchází části V3 u zprávy, začíná tato část V3 u zprávy na různých místech v závislosti na typu zprávy - protokolu a způsobu zapouzdření. Přestože je žádoucí zpracování zprávy V3 (nehledě na zapouzdření), v systému s více protokoly a více zapouzdřeními může být složité najít začátek zprávy V3. Dále, jelikož instrukce prováděné na rámci jedním z množství procesorů 110 závisejí na typu protokolu rámce a způsobu zapouzdření, je žádoucí, aby něco (v tomto případě hardwarová klasifikační asistence 118) zajišťovala ukazatel do paměti 122 instrukcí na správnou počáteční instrukci pro procesor.
Obr. 4 znázorňuje blokové schéma pro klasifikační hardwarovou asistenci, zobrazenou jako prvek 118 na obr. 2, spolu s vybranými částmi paměti 122 instrukcí a jednou z množství procesorových jednotek 110. Klasifikační hardwarová asistence 118 zpracovává 128-bitové segmenty, které souvisí se vstupní informační jednotkou (neboli rámcem) a které se občas nazývají „FISH a hardwarová klasifikační asistence 118 (stejně jako jedna (2783817_CZ.doc) z individuálních procesorových jednotek 110) je přijímá od rozvrhujícího programu 112. Tato klasifikační funkce zpracovává až první 3 FISH (neboli prvních 384 bitů spojených s rámcem, někdy nazývané FISH1, FISH2 a FISH3 kvůli odlišení různých FISH). První FISH (FISH1) vlastně nenáleží přijatému rámci, ale je to soubor informací týkajících se tohoto rámce, jako např. na jakém portu rámec přišel, implicitní vstupní bod 291 kódu a indikátor 292 (ano nebo ne) , zda povolit klasifikaci rámce pomocí hardwarového klasifikátoru podle tohoto vynálezu.
V bloku 210 se porovná typ Ethernetu na různých místech v rámci, aby se zjistilo, zda pole odpovídají právě nastavenému protokolu, například první ethernetové verzi (např. IPx) nebo druhé ethernetové verzi (např. IPv4). V bloku 220 se určí, zda pole SAP (přístupového bodu služby) odpovídají právě nastavenému protokolu, opět podle specifikace v registru (např. specifické uložené hodnoty udávající typ protokolu). Systém také v bloku 240 určí, zda je přítomno pole SNAP (specifické pole jako např. „AAAA03) představující odlišný typ zapouzdření, a v bloku 250 zjistí přítomnost využití virtuální lokální sítě (VLÁN) ve zprávě. Blok 260 je řízení klasifikace, které, pokud je povolením 292 klasifikace povoleno, zodpovídá za uložení parametrů spojených s rámcem a zajištěním výstupu udávajícího na spojeních 270, 272 a 274 typ protokolu, ukazatel na vrstvu 3 a klasifikační příznaky.
Pro každý definovaný formát lze v předstihu určit řídící vstupní bod u každé zprávy (začátek zpracování, adresu první instrukce v paměti 122 instrukcí) a uložit jej do tabulky 280. Tj . pro ETYP = 0 a žádnou VLÁN je řídící vstupní bod (adresa začátku) adresa 122a v paměti 122 (2783817_CZ.doc) • · · · • · · « « · · * · · ·* ···· instrukcí a pro ETYP = 1 a bez VLÁN je řídící vstupní bod adresa 122b. Podobně pro ETYP = 0 s VLÁN resp. ETYP = 1 s VLÁN jsou příslušné řídící vstupní body (místo, kde začíná zpracování vlastní zprávy) instrukce 122c, resp. 122d. Pro rámce s polem ERIF začne zpracování na instrukci 122f a pro implicitní programy, kde není nalezen protokol nebo způsob zapouzdření, na instrukci 122f.
V každém případě je ve FISH1 zprávy obsažen implicitní řídící vstupní bod a ten se přečte v bloku 290. Blok 295 poté určí, zda se má použít implicitní řídící vstupní bod pokud je ve spoji 295 povolena hardwarová klasifikace a v bloku 280 se neurčí jiný řídící vstupní bod, pak se použije implicitní údaj; v opačném případě se použije řídící vstupní bod z tabulky 280.
Spojení 270 a 272 (s klasifikačními příznaky, resp. se základní adresou V3 určenou pomocí hardwarové klasifikační asistence 118) z hardwarového klasifikátoru 118 se přivedou do individuálního procesoru 110, který je přidělen ke zpracování rámce, a uloží se v univerzálních registrech 110a spojených s jednou procesorovou jednotkou, která zpracovává rámec uložený v paměti 110b dat. Výstupní spojení 276 ze poskytuje počáteční adresu v paměti 122
295 zařízeni instrukci pro konkrétní typ rámce, data, která se uloží v řídící logice 110c instrukci. Součástí procesorové jednotky 110 je ALU (aritmeticko-logická jednotka). Procesor 110 používá čítač instrukcí v řídicí logice 110c instrukcí, aby vyzvedl instrukci z paměti 122 instrukcí. Tímto způsobem, na základě protokolu a způsobu zapouzdření určených pomocí hardwarové klasifikační asistence 118, je procesorová jednotka 110 předvybavena počáteční adresou souboru instrukcí, která přísluší zpracovávanému rámci, a (2783817_CZ.doc)
příslušné příznaky udávající typ rámce jsou nastaveny tak, aby procesoru 110 umožnily zahájit zpracování rámce pomocí správných instrukcí.
Obr. 5 znázorňuje logiku, která se používá k určování kategorizace formátu zprávy. To začíná v bloku 310, kde se vybere FISH2 a poté se v bloku 320 testují bajty 13-14 rámce (ty dva bajty, které by obsahovaly informaci o typu v rámci, který obsahuje 6-bajtovou cílovou adresu DA a 6-bajtovou zdrojovou adresu SA následované typem). Pokud tyto dva bajty odpovídáj í obsahu buď pro ETYPO nebo ETYP1, pak zpracování identifikuje informaci o protokolu nastavením příslušného příznaku v bloku 323 a skončí proces v bloku 325. Jinak pokud typový blok má méně než 0600H (hexadecimálně) , pak je rámec ve formátu rámce Ethernet 802.3 (a ne ve formátu Ethernet V2.ODIX) a jedná se o pole délka spíše než o pole typ a zpracuje se v levé části diagramu na obr. 5. Pokud je tento blok 8100, pak se jedná o rámec, který uplatňuje podporu 802.Iq VLÁN (viz např. obr. 3L, 3M, 3N, 30, 3S a 3T) a zpracuje se v pravé části diagramu na obr. 5. Pokud je v typovém poli něco jiného, pak se předá řízení do bloku 325, kde se klasifikace považuje za skončenou bez zaznamenání jakékoli informace o protokolu, protože tento rámec má zřejmě neznámý protokol.
Pokud se v bloku 320 určilo, že bajty 13-14 obsahovaly méně než 0600H, pak se v bloku 322 analyzují bajty 15-17, aby se určilo, zda se rozpoznají jako pole SAP nebo jako pole LLC nebolí pole řízení logického spoje s typem (např. AAAA03 použité na obr. 3K). Pokud se toto pole rozezná jakožto jedno z polí SAP, pak se v bloku 323 nastaví pole SAP a uloží se informace o protokolu ještě předtím, než se v bloku 325 posoudí klasifikace jako skončená. Pokud je to (2783817_CZ.doc) ·« · *· ·· • 9 9 9 • · · • · · • ti · • ti titititi pole SNAP, pak řízení pokračuje do bloku 324, kde se získá FISH3 a vyhodnotí se jeho bajty 2-6 kvůli rozeznání ETYPu. Pokud se ETYP rozpozná, pak se v bloku 323 uloží informace o protokolu před skončením v bloku 325.
Pokud se v bloku 320 určilo, že bajty 13-14 byly rovny 8100, což udává, že jde o virtuální lokální sít (VLÁN) podle specifikace v normě IEEE 802. Iq, pak se v bloku 330 uloží existence VLÁN a poté se v bloku 340 zkontroluje přítomnost pole CFI. Pokud je toto přítomné, pak je klasifikace hotova a řízení se předá do bloku 325. Pokud není, se v bloku 350 otestují bajty 1-2 z FISH3, aby se určilo, zda poskytnou známý ETYP (podobně jako test v bloku 320) nebo délku (méně než 060OH). Pokud poskytnou ETYP, pak se uloží v bloku 323 informace o protokolu a řízení přechází do bloku 325, kde se klasifikace považuje za skončenou. Pokud se pole v bloku 350 nerozezná jako ETYP, pak se v bloku 325 proces klasifikace považuje za skončený. Pokud test v bloku 350 poskytl délku (byl méně než 0600H), pak se v bloku 360 otestují bajty 3-5 na známý SAP. Pokud je to AAAA03, pak se řízení předá do bloku 370 za účelem určení známého ETYPu z bajtů 6-10.
Obr. 6 znázorňuje vylepšenou verzi hardwarového klasifikátoru, zejména prvků z obr. 4. Na tomto obr. 6 obsahuje hardwarový klasifikátor prvky z obr. 4 s vylepšením řídící logiky 110c instrukcí včetně řady adres uložených v zásobníku HOd instrukcí namísto jediné počáteční adresy. Tento zásobník instrukcí obsahuje adresu počáteční instrukce následovanou dalšími adresami potřebnými, když procesor dosáhne větvení nebo skoku, aby se vyhnul dalšímu testování nebo podmíněným příkazům v pozdějších skocích. Počáteční adresy se tedy ukládají v pořadí do zásobníku a odstraňují se ze zásobníku, když je zapotřebí skoková instrukce.
(2783817_CZ.doc) »· to • · · • ···· • · ···· · ·« · • toto • ··· • ·· · ·· • · · ·· * to • · • to • · · to· ····
Pro další informaci o definičním obsahu ethernetových zpráv různých protokolů nebo zapouzdřovacích technik je čtenář odkázán na příslušnou normu nebo referenční příručku pro . konstrukci ethernetových rámců. Některé všeobecně dostupné dokumenty, které mohou být užitečné při porozumění ethernetových protokolů a zapouzdřovacích technik a normy a možnosti s tím spojené jsou: ISO/IEC Finál CD 15802-3, IEEE P802.1D/D15, z 24.listopadu 1997, Annex C; IEEE Draft Standard 802.1Q/D9, datovaný 20.února 1998; RFC 1700 Assigned Numbers od J.Reynoldse a J.Postela, říjen 1994 (dokument, který je též dostupný na http://www/isi.edu/rfceditor/rfc.html); IBM Token Ring Network Architecture
Reference a IBM LAN Bridge and Switch Summary, číslo publikace SG24-5000-00, verze 1.3, leden 1996, zejména kapitola 1.1.1.
Hardwarový klasifikátor může být navržen různými způsoby včetně za použití jednoho z mnoha obecně dostupných softwarových nástrojů pro návrh a výrobu logických designů v hardwarové (nebo ve skutečné implementaci na křemíkovém substrátu) konfiguraci, stejně jako jej může navrhnout návrhář logiky pomocí tradičního ručního návrhu. V tomto příkladu jsou požadované testy naprogramovány pomocí softwarového jazyka známého jako jazyk pro definici VLSI hardwaru neboli zkráceného na VHDL (z angl. VLSI hardware definition language) a poté spojeny se známým softwarem (např. vyráběného IBM nebo vyráběného firmou Synopsis) za účelem vytvoření designu s potřebnými bránami a logikou k uskutečnění požadovaných testů hardwarovým způsobem. Existují i jiné podobné navrhovací systémy a lze je s výhodou využít, takže návrhář logiky nemusí znát strukturu bran a jejich umístění pouze jejich logickou funkci (2783817_CZ.doc) ·· ti ti* ti • titi • ti ti • titititi ti • ti • tititi ti • ti ti • tititi • titi··· • ti ti • ti ti • ti titi • titi ti • ti ti • ti * • titi •ti ··*· požadovaných vstupů, testů a výstupů.
Jak je výše uvedeno, v některých systémech může být žádoucí zahrnout do systému zpracování podle tohoto vynálezu schopnost předávat zpracované rámce datového toku v pořadí, v němž byly přijaty, nezávisle na tom, které procesory jsou přiděleny ke zpracování každého rámce. V takovém systému rozvrhuj ící procesorové procesorové
112, po identifikaci dostupné a přidělení obdrženého rámce ke zpracování, vytvoří a uloží a procesorovou program j ednotky jednotce identifikující informaci pro daný rámec jednotku, k níž byl přidělen.
Rámce typicky přicházejí s identifikující informací jako je číslo zprávy (někdy označované jako MAC) a zdrojovou adresou (někdy označená jako SA) a cílovou adresou (někdy označená jako DA) rámce. Umístění a obsah takové informace se může měnit v závislosti na formátu zprávy a technice jejího zapouzdření, avšak tato informace umožňuje, aby byl rámec správně směrován k cíli skrz systém, přepínače a směrovače a aby byl sestaven ve správném pořadí do kompletní zprávy, i kdyby celá zpráva byla delší než jediný rámec. Typicky se součásti zprávy označují jako datový tok a každá část datového toku obsahuje stejnou identifikující informaci (jako je MAC, SA a DA) . Vlastní návěští (neboli identifikující informace) přiřazená vstupujícímu rámci rozvrhujícím programem 112 může být vytvořena různými způsoby, jako např. MAC-SA+DA, nebo logickou nonekvivalencí (XOR) polí LID a MID u jiných formátů zpráv.
Jak je zobrazeno na obr. 7, pro každý rámec lze vytvořit paměť ve třech seznamech nebo frontách. První, fronta 400 zpracovaných rámců je definována tak, aby (2783817_CZ.doc)
99 * « ·
·«»· «··« 9 9
9
9 9 9 9
9 9 999 9 ·
9 9 9
9 pozastavila dokončenou činnost (výstup neboli zpracovaný rámec přijatý od procesoru, který daný rámec zpracoval), což vyžaduje vyrovnávací paměť nebo paměťové místo alespoň pro jeden dokončený rámec u každého procesoru, zobrazené jako rámec-0 až rámec-N, kde procesory označené jako NPU-0 až NPU-N jsou spojeny s příslušným rámcem. Když rozvrhující program 112 pošle rámec procesorové jednotce, pošle identifikátor pro tento rámec druhé paměti neboli frontě 410, která obsahuje paměťová místa 0 až n, která odpovídají příslušným sítovým procesorovým jednotkám NPU-0 až NPU-N. Když je rámec s identifikátorem nebo návěštím m poslán NPU0, pak se do paměti 0 odpovídající návěští pro NPU-0 pošle k uložení identifikované m, což udává, že NPU-0 zpracovává vstupní informační jednotku, jejíž identifikátor je τη. Bude připomenuto, že pozdější rámec, který bude mít stejný identifikátor m, bude patřit do stejného datového toku a rámec, který má odlišný identifikátor nebo návěští, bude představovat jiný datový tok. Pokud tedy vstupní informační jednotka mající návěští 0 je přijata a odeslána do NPU-1, pak se 0 zaznamená do paměti 1 odpovídající NPU-1. Pokud poté rozvrhující program 112 přijme ze stejného datového toku (také s návěštím 0) další vstupní informační jednotku a přidělí ji procesoru NPU-N, do paměti N se také uloží návěští 0, což představuje tuto informační jednotku přidělenou procesoru N.
Třetí paměť 420 obsahuje paměť pro každé z návěští, které jsou právě zpracovávány n procesorovými jednotkami. Pro každé z návěští se uloží identifikátor přiděleného procesoru a jelikož seznam je uložen sekvenčně, první procesor přidělený konkrétnímu toku zpráv se objeví v paměti na prvním místě. V tomto případě, údaj 0 v paměti 422 pro návěští m udává, že NPU-0 zpracovává vstupní informační (2783817_CZ.doc)
• «0 ·
0 · * · 4 • 0 · • · 0 · · 0 j ednotku a druhou • · 4 • · • 0 · • ···· · * 2 0 · · · jednotku z tohoto toku, a pro návěští 0, že první zpracovává procesor NPU-N, jak zobrazuje paměť 424, jednotku zpracovává procesor NPU-1, jak zobrazuje paměť 426. Pořadí, v němž vstupní informační jednotky dorazily do rozvrhujícího programu, zůstane pro daný tok zachováno, aby se následný přenos stejného datového toku mohl provést ve stejném pořadí, v jakém byl přijat, takže bude vidět, že paměti 424, 426 návěští mají NPU neboli procesorové jednotky uvedeny v pořadí, v němž byly vstupující rámce přijaty ze sítě a odeslány těmto N procesorům.
Obr. 8 znázorňuje podrobnější strukturu kompletační jednotky 114 použité při zpracování vstupujících rámců a uplatňující popsané techniky správy dat. Jak je ukázáno v tomto provedení, kompletační jednotka 114 komunikuje s množstvím zařízení cyklické obsluhy za účelem distribuce výstupu (např. zpracovaných informačních jednotek) procesorových jednotek, což zde není na obr. 4 zobrazeno. Množství zařízení cyklické obsluhy zahrnuje vzestupnou cyklickou obsluhu 450 a dvě zařízení sestupné cyklické obsluhy, přičemž jedna cyklická obsluha je označena 460 pro cílové porty (malý počet často používaných portů adresovaných specificky) a jedna cyklická obsluha 470 je pro obecnou distribuci (zpracované informace adresované jiným portům, než jsou specificky adresované cílové porty).
Logické členy AND 452, 462, 472 zajišťují hradlování pro cyklické obsluhy 450, 460, resp. 470. Pro logický člen
AND 452, který poskytuje rámec vzestupné cyklické obsluze 450, vstupy jsou takové, že to je vzestupný rámec (z bloku UP spojeného s připravenou FCB stránkou 510), že je to platný rámec (indikátor VF, že to je platný rámec, připravený pro přenos), že pole návěští je platné (2783817_CZ.doc)
• · · · · · v příslušném poli s návěštím u rámce (M01 až M92) a že návěští je spojeno se záhlavím (nebo nejdřivějším) rámcem datového toku.
Když je rámec odbaven do daného procesoru, rozvrhující program 112 poskytne do zařazení 480 návěští dvě informace návěští pro rámec na spojení 482 a identitu procesoru, jemuž byl rámec přidělen, na spojení 484. Návěští pro tento rámec identifikuje datový tok, jemuž rámec náleží, což je v upřednostňovaném provedení založeno na MAC plus zdrojová adresa mínus cílová adresa, s cílem poskytnout jedinečný identifikátor pro každý datový tok tak, aby rámce ze stejného datového toku měly stejné návěští a rámce z různých datových toků aby měly různá návěští nebo identifikátory.
Obr. 9 znázorňuje formát pro prvek 500 pole návěští, který má uloženu informaci spojenou s každým z N procesorů. Každý z N procesorů má dvě taková pole návěští s ním spojená, jedno pro zpracovávaný rámec a jedno pro rámec, který byl zpracován a očekává přenos ven z procesorového komplexu. Zpracovaný rámec připravený k přenosu je zadržován v úložišti nebo paměti 510, která se někdy označuje jako připravená FCB stránka a pro každý z N procesorů existuje jedna z těchto pamětí.
Prvek 500 pole návěští obsahuje návěští L, pole záhlaví H, pole konce T, pole platnosti V a pole následníka N. Návěští L je odvozeno z obsahu zprávy a reprezentuje jedinečný identifikátor pro každý z datových toků. Pole záhlaví H udává začátek datového toku nebo řetězu příbuzných rámců, s nímž právě manipuluje N procesorových jednotek, buď jako v podobě zpracovávané činnosti nebo zpracovaných rámců očekávajících přenos ven z procesorového (2783817_CZ.doc) ·· ft . ' · · ftftft komplexu. Každý datový tok zpracovávaný v procesorovém komplexu o N procesorech má záhlaví nebo začátek (neboli první obdržený rámec pro daný datový tok) někde uvnitř N procesorů a tento začátek je označen jako jeho „záhlaví cifrou 1 v poli záhlaví H u příslušného prvku pole návěští. Podobně každý datový tok v procesorech má také právě poslední rámec uvnitř N procesorů a tento poslední rámec je označen jako konec cifrou 1 v poli konce T.
Pole platnosti V udává, zda procesor obsahuje reálná data (což by ze zpracování měl) , což je označeno cifrou 1 v poli platnosti, nebo zda nikoli, což je označeno cifrou 0 v poli platnosti V. Když zpracování poprvé začne, v systému nejsou žádná skutečná nebo platná data, takže pole platnosti je nastaveno na 0 jakožto část inicializace systému. Později, když se data přečtou z připravené FCB stránky 510 pro daný procesor, pak se pole platnosti V odpovídající FCB stránce tohoto procesoru nastaví na 0, což udává, že procesor již nemá platnou informaci odpovídající tomuto návěští (protože informace v FCB stránce již byla předána cyklickým obsluhám; ačkoli procesor stále může mít platnou informaci v jiném poli návěští spojeném s tímto procesorem, jelikož procesor sám o sobě může pracovat na jiném rámci).
Pole následníka N udává pole návěští spojené s dalším rámcem ve stejném datovém toku - další ze 2N polí návěští spojených s N procesory. Zařazení 480 návěští obdrží zprávu od rozvrhujícího programu pro každou vstupní informační jednotku nebo rámec, že daný rámec byl odeslán se svým identifikátorem pro datový tok a procesor, jemuž byl rámec odeslán.
Obr. 10 znázorňuje tok zařazením 480 návěští z obr. 4.
Po odbavení rámce z rozvrhujícího programu 112 na jeden z n (2783817_CZ.doc) procesorů, se v bloku 600 návěští pro vstupní informační jednotku nebo rámec pošle do zařazení 480 návěští po spojení 482 a identifikace, který z n procesorů s rámcem manipuluje, po spojení 484. První zpracování zařazením 550 návěští se děje v bloku 602, aby se určilo, zda je pole platnosti V rovno 1 pro tu paměť, na kterou ukazuje první pole návěští. Pokud pole platnosti je rovno 1, pak je paměť, na níž se ukazuje, obsazena a data by měla být uložena v další paměti, jak udává blok 606, jinak by se měla v bloku 604 použít paměť, na níž se ukazuje. Dále se v bloku 650 pole platnosti V pro příslušnou paměť nastaví na 1, aby se označilo, že v této paměti jsou uložena platná data, a v bloku 640 se pro aktuální paměťové místo nastaví indikátor konce T, aby se označilo, že toto je poslední z aktuálního datového proudu (dokud není přijat další rámec ze stejného datového toku, a tehdy se pole konce T vymaže) . Dále se v bloku 610 porovná návěští s aktuálními návěštími zpracovávanými jakýmkoli z procesorů (samozřejmě, že pole platnosti se u nich musí rovnat 1, což udává, že jde o platný rámec). Výsledkem tohoto porovnání je buď to, že nynější návěští se rovná nějakému již zpracovávanému a v tom případě se předá řízení do bloku 670, nebo to, že neodpovídá žádnému právě zpracovávanému návěští a v tom případě se řízení předá do bloku 630. Pokud existuje shoda s jedním z aktuálních návěští, pak je rámec součástí existujícího datového toku, takže se v bloku 670 vymaže pole konce T u předcházejícího konce datového toku (takže T=0) a ukazatel pole následníka u tohoto pole návěští se nastaví tak, aby ukazoval na umístění nynějšího rámce. Poté se v bloku 680 nastaví pole záhlaví H na 0, což udává, že nynější rámec není záhlavím datového toku. Pokud se návěští pro nynější rámec nerovnalo žádnému nyní uloženému návěští, pak je nynější rámec novým datovým tokem a nynější rámec představuje jeho začátek, (2783817_CZ.doc) k · · · · · takže se v bloku 630 nastaví pole záhlaví na 1, což tento stav vyjádří. Po zpracování bloku 630 nebo bloku 680 k nastavení příslušných příznaků, zejména pole záhlaví H, proces spojování s existujícími datovými toky a nastavování polí skončí.
Na obr. 11 je zobrazen proces vypuštění nebo odeslání rámce ven z procesorů. Nejprve se v bloku 710 přepne první indikátor pole, takže ukazatel ukazuje na další paměť jakož první nebo další pole pro tento procesor. Poté se v bloku 720 vymaže pole platnosti V na 0, což udává, že data již nejsou platná (rámec byl odeslán ven a data nereprezentují právě zpracovávaný rámec) . Blok 725 testuje, zda je pole konce T nastaveno (T=l) , což udává, že toto je poslední rámec příslušného datového toku. Pokud je, pak řízení přechází do bloku 740, který znamená, že proces je hotov. Pokud není, pak se v bloku 730 vyhledá další rámec v pořadí (pomocí ukazatele v poli následníka) a jeho bit záhlaví nebo příznak H se nastaví tak, aby udával, že je to první rámec v datovém toku právě se nacházející v procesorech. Poté z bloku 730 se nastavení příznaků ukončí, jak udává blok 740.
Obr. 12 znázorňuje systém podle tohoto vynálezu pomocí příkladu, který ilustruje, jak lze obsloužit několik datových toků pomocí kompletační jednotky popsané výše s logikou na obr. 10. N procesorů s rozvrhujícím programem 112 a kompletační jednotkou již po nějaký čas pracovaly, takže obr. 12 představuje snímek dat uložených v části kompletační jednotky, zejména s odkazem na paměť návěští. Jak zobrazuje tento obrázek, zařazení návěští je spojeno s množstvím pamětí návěští, dvěma pro každý z N procesorů. Každý z procesorů má také s ním spojenou výstupní (2783817_CZ.doc) • * ♦ • · • · * • * « • · ·
·.·· · · · • · · · · · · • · · · · « · · · · · · • · ♦ · · «··* « *· · vyrovnávací paměť (někdy označovanou jako připravená FCB stránka) pro ty zpracované rámce, které očekávají přenos do zobrazených tří cyklických obsluh. S každým párem pamětí návěští je spojena první paměť návěští, aby se označilo, která z pamětí návěští byla přijata jako první (a pokud jsou obě paměti návěští platné, první návěští představuje tu, která je ve vyrovnávací paměti připravené FCB stránky, a druhé později přijaté návěští představuje to, které je právě zpracováváno příslušným procesorem). Na tomto obrázku je zobrazeno 5 datových toků, ačkoli počet datových toků, které v libovolném daném čase probíhají, závisí na systému (zejména na jeho velikosti a síťovém provozu) a může se v průběhu času měnit. V tomto příkladě je deset procesorů označeno jako procesory 0 až 9 a paměti návěští jsou označeny jako paměti M01 a M02 pro procesor 0 až paměti M91 a M92 návěští pro procesor 9, i když počet procesorů je věcí návrhu a podléhá změnám v případě potřeby. První datový tok s identifikátorem A začíná v paměti M01 návěští, jak je zobrazeno označením (H=l) , že tato paměť M01 návěští (a odpovídající odkaz na procesor 0) reprezentuje záhlaví řetězu nebo datového toku. Pole následníka N v paměti M01 návěští ukazuje na paměť M52 návěští, což udává, že s následující informační jednotkou příslušející tomuto datovému toku manipuluje procesor 2. Pole následníka v paměti M21 návěští ukazuje na paměť M52 návěští, což udává, že další část tohoto datového toku má procesor 5. Nastavené pole konce u paměti M52 návěští znamená, že toto je poslední část tohoto datového toku, který se právě zpracovává v N procesorech. Sekvence datového toku je v tomto příkladu zobrazena šipkou Al ukazující z paměti M01 návěští do paměti M21 návěští a šipkou A2 ukazující z paměti M21 návěští do paměti M52 návěští, aby se znázornilo logické spojení mezi prvky datového toku (šipky logicky reprezentují (2783817_CZ.doc) • t « « · « ·# ·· tototo ·*« <
··« »··· · · * to to····· ·····«· · · • « ··· ··· ···· to <· « ·· ···· ukazatele v polích následníka a ve skutečné implementaci fyzicky neexistují). Podobně datový tok z paměti M02 návěští do paměti Mil návěští udává šipkou A3 pořadí ve stejném datovém toku (i když jde o jiný datový tok než ten popsaný ve spojení s paměťmi M01, M21 a M52 návěští) . Třetí datový tok je označen šipkou A4 ve spojení s paměťmi M31 a M42 návěští a čtvrtý datový tok je označen šipkou A5 mezi paměťmi M71 a M72 návěští. Konečně pátý datový tok je označen v paměti M41 návěští, která nemá šipku, jelikož jde o datový tok, který momentálně obsahuje pouze jedinou paměť návěští. Tato paměť M41 návěští je záhlavím i koncem datového toku a nemá pole následníka, jelikož s tímto datovým tokem není spojena žádná další paměť návěští.
Je třeba mít na paměti, že pokud jsou s jedním procesorem spojeny dvě paměti návěští, jedna z pamětí návěští představuje hotovou nebo zpracovanou informační jednotku uloženou ve vyrovnávací paměti a někdy označovanou jako připravená FCB stránka, připravenou pro přesun do příslušné jednotky cyklické obsluhy pro přenos ven z procesorového komplexu buď vzestupně nebo sestupně, jak kdy, udávající, že pro vzestupné přesuny bude tato přesunuta do zařízení rozhraní a pro sestupné přesuny se má přesunout zpět do sítě přenosu dat. V našem případě procesor 0, procesor 4 a procesor 7 obsahují data v obou příslušejících pamětech návěští. S každou připravenou FCB stránkou je také spojeno pole UP (udávající, zda jde o vzestupnou nebo sestupnou stránku) jakož i indikátor, zda je rámec, pokud jde o sestupnou stránku, adresován cílovému portu nebo obecnému portu, což rozhoduje o tom, zda se má sestupná stránka poslat sestupné cyklické obsluze cílového portu (DN TPQ RR) nebo sestupné cyklické obsluze obecného portu (DN GEN. RR) . Pokud dříve přijatý rámec pro procesor 0 byla (2783817_CZ.doc)
9» φ * φ
9« * · « ·
9·· 9 · « · · · * » »···«# 999·««» « Φ •99Φ · «« · 9« «ΦΦΦ paměú Μ02 návěští a ta tvoří jak záhlaví datového toku tak vzestupný rámec vybraný zařízením vzestupné cyklické obsluhy pro další přenos ven z procesorového komplexu a jeho vyrovnávací paměti, pak se FCB stránka a související datová pole odstraní z připravené FCB stránky a informace se přenese do vzestupné cyklické obsluhy (UP RR) . Poté se nastaví indikátor prvního návěští, aby se označilo, že další paměú M01 návěští pro procesor 1 je nyní první, a pole platnosti V pro paměú M02 návěští se nastaví na 0, což udává, že tato paměú návěští není již aktivní nebo platná a pole platnosti VF pro příslušnou FCB stránku se vymaže na 0.
Tento vynález podporuje nové datové toky aniž by narušil existující datové toky a aniž by potřeboval vědět předem o novém datovém toku. Paket reprezentující nový datový tok (např. zpráva jedné z jednotek zpracování o jejím stavu) se jednoduše uloží se svými identifikujícími daty a bez odkazů na jiný datový tok. Jeho chybějící identifikátor nebude shodný s žádným identifikátorem žádného z existujících datových toků s nastaveným polem „bez návěští, zpráva, která může jit kdykoliv.
Tento vynález také připouští příkaz vyprázdnění za účelem potlačení zpracování datových toků v příslušném pořadí tím, že systému je umožněno zpracování hotových rámců v pořadí, v němž jsou tyto hotové rámce přijaty, bez ohledu na zřetězení polí návěští (ukazatele na následníka a požadavek, že daný rámec musí být záhlavím, před přístupem k zařízením cyklické obsluhy, která dále posílají rámce). Toho lze dosáhnout pomocí vynucení „žádné pole návěští na FCB stránce.
Jeden datový tok zůstane blokován, dokud se nezpracuje (2783817_CZ.doc) ♦ * « ·9 9 99 99 • 9 4 9 9 9 9 9 9 9 • 99 · 9 * · 99 « • 949994 9449944 9 9
9 9 9 9 9 9 4
4449 4 49 9 44 4444 záhlaví datového toku, neboř při běžné činnosti (bez alternativy vyprázdnění) bude kompletační jednotka brát v úvahu pro odeslání cyklickým obsluhám pouze rámce, které jsou záhlavím toku zpráv. Avšak každý datový blok má své vlastní záhlaví, takže jeden datový tok může být blokován, ale ostatní datové toky mohou pokračovat ve zpracování a odesílat hotové informační jednotky cyklickým obsluhám bez přerušení nebo překážky a bez zásahu. To je zejména užitečné v případě, kde se zastaví jediný datový tok (např. procesor vypadne nebo nemůže zpracovat prvek jednoho datového toku), jelikož ostatní datové toky nejsou zastaveny. V jiném případě by se zastavilo celé zpracování, dokud by nebylo napraveno zablokování jednoho datového toku.
(2783817_CZ.doc) • · * • ftft « · · · • · · · · · • · · ft * * • ft ·· • ftft * • ft · • ft # ftftft ftft ftft · ·
Samozřejmě, že odborníkům při pohledu na předcházející popis upřednostňovaného provedení spolu s průvodními obrázky budou zřejmé četné modifikace tohoto vynálezu. Například vlastní typ implementujícího hardwaru pro klasifikátor podléhá mnohým volbám v návrhu a konkrétní popsané volby závisí na obsahu zpráv, způsobu zapouzdření zpráv a zpracování, které se má provést. Lze provést mnoho úprav implementace systému a konfigurace zprávy, s níž systém může manipulovat, aniž by došlo k odchýlení od podstaty tohoto vynálezu. Návěští, která se ukládají, mohou být generována jinými způsoby, které nejsou založené na obsahu zprávy, nebo mohou být jednoduše posloupným očíslováním datových toků identifikovaných rozvrhujícím programem. Daly by se uplatnit mnohé další modifikace a přizpůsobení tohoto systému, aniž by došlo k odchýlení od podstaty tohoto vynálezu a některých výhod tohoto vynálezu lze dosáhnout bez odpovídajícího použití dalších souvisejících znaků. Předcházející popis upřednostňovaného provedení by se měl proto považovat pouze jako ukázka principů tohoto vynálezu a nikoli jeho omezení.
Claims (30)
1. Zařízení, vyznačující se tím, že obsahuje polovodičový substrát,
N procesorových jednotek zhotovených na substrátu, kde
N>1, první vnitřní datovou paměť zhotovenou na substrátu, přičemž datová paměť je určena pro ukládání informací přístupných N procesorovým jednotkám, rozvrhující jednotka operativně spojená s N procesorovými jednotkami pro příjem a vysílání do jedné z N procesorových jednotek vstupní informační jednotky, klasifikátor spojený s rozvrhující jednotkou, přičemž klasifikátor obsahuje porovnávací jednotku pro určení datového formátu pro vstupní informační jednotku a pro generování a uložení do vnitřní datové paměti výstupních indikátorů, kde výstupní indikátory udávají datový formát vstupní informační jednotky, a počáteční adresu pro vstupní informační jednotku, přičemž indikátory a počáteční adresa, které jsou dostupné jedné z N procesorových jednotek během toho, když zpracovává vstupní informační jednotku, a používají se při zpracování vstupní informační jednotky a kompletační jednotku nesenou na polovodičovém substrátu a operativně připojenou k N procesorovým jednotkám pro příjem informační jednotky zpracované jednou z N procesorových jednotek.
2. Zařízení podle nároku 1, vyznačující se tím, že porovnávací jednotka obsahuje test na pole virtuální lokální sítě obsažené ve vstupních informačních datech a generované výstupní indikátory obsahují indikátor
2783817 (2783817_CZ.doc) ·· • · » • · • · • · * »e »*·· pro identifikaci přítomnosti pole virtuální lokální sítě ve vstupní informační jednotce.
3. Zařízení podle nároku 1 nebo 2, vyznačující se tím, že klasifikátor obsahuje množství hardwarových zařízení vytvořených na substrátu.
4. Zařízení podle nároku 1, 2 nebo 3, vyznačující se tím, že výstupní indikátory obsahují indikátory udávající typ vstupní informační jednotky a techniku jejího zapouzdřeni vrstvou 2.
5. Zařízení podle nároku 1, 2, 3 nebo 4, vyznačující se tím, že indikátory obsahují implicitní vstupní bod kódu.
6. Zařízení podle kteréhokoli z nároků 1 až 5, vyznačující se tím, že klasifikátor obsahuje systém pro určování vstupního bodu kódu na základě typu vstupní informační jednotky a techniky jejího zapouzdření, tak jak jsou určeny klasifikátorem.
7. Zařízení podle kteréhokoli z nároků 1 až 6, vyznačující se tím, že klasifikátor obsahuje systém pro určování implicitního vstupního bodu kódu a vstupního bodu kódu na základě typu vstupní informační jednotky.
8. Zařízení podle nároku 7, vyznačující se tím, že zařízení dále obsahuje selektor pro výběr z implicitního vstupního bodu kódu a vstupního bodu kódu na základě typu vstupní informační jednotky.
9. Zařízení podle nároku 8, vyznačující se (2783817_CZ.doc) » · ♦ to * « · • · to • to to • toto · ·
1 · <« · to ♦ * ♦ · <
• ·· •
• ···* ··· to· ♦ ··· ·· to··· tím, že dále obsahuje systém pro identifikaci toho, zda je ve vstupní informační jednotce obsažena informace o virtuální lokální síti.
10. Zařízení podle kteréhokoli z nároků 1 až 9, vyznačující se tím, že indikátory dále obsahují identitu jedné z N procesorových jednotek, které byla vstupní informační jednotka přidělena.
11. Zařízení podle nároku 10, vyznačující se tím, že dále obsahuje příznak udávající, že zpracované informační jednotky se mají přenášet ze substrátu v pořadí, v němž jsou zpracovávané informační jednotky přijímány, přičemž kompletační jednotka reaguje na příznak k odbavení zpracovaných informačních jednotek, když jsou dokončeny jednou z N procesorových jednotek.
12. Zařízení s typem podle nároku 11, vyznačující se tím, že klasifikátor obsahuje systém pro generování a uložení do vnitřní datové paměti identifikátoru pro každou vstupní informační jednotku, který udává její datový tok a spojuje pozdější informační jednotky ze stejného datového toku s dřívější informační jednotkou ze stejného datového toku, přičemž uvedená dřívější informační jednotka je v procesorech označena jako první informační jednotka v konkrétním datovém toku a vysílání informačních jednotek z procesorových jednotek je omezen na ty informační jednotky, které jsou označeny jako první informační jednotky pro konkrétní datový tok.
13. Zařízení podle kteréhokoli z nároků 1 až 12, vyznačující se tím, že rozvrhující jednotka dále ukládá sekvenčně do fronty identifikátor pro každou (2783817_CZ.doc) • ti titi ti ti ti ti • ti ti tititi ti ti ti titi ti··· ti ti ti ti ti ti tititi • ····♦< .«titititi ti ti tititi ··♦· ti ·· ti informační jednotku a identitu procesorové jednotky, které byla informační jednotka odbavena ke zpracování, přičemž dále kompletační jednotka je dále spojena se sekvenční frontou a využívá identifikátor přidělený každé informační jednotce rozvrhující jednotkou a identitu procesorové jednotky, které byla informační jednotka odbavena, pro sestavení zpracovaných informačních jednotek do stejného pořadí, v němž byly informační jednotky přijaty.
14. Zařízení podle nároku 13, vyznačující se tím, že zařízení dále obsahuje signál pro potlačení pořadí a pro přenášení zpracovaných informačních jednotek do sítě v pořadí, v němž jsou informační jednotky dokončeny.
15. Způsob zpracování vstupní informační jednotky, vyznačující se tím, že obsahuje kroky:
příjem vstupní informační jednotky v rozvrhující j ednotce poslání vstupní informační jednotky z rozvrhující jednotky jednomu z množství procesorů ke zpracování čtení vybraných bitů ze vstupní informační jednotky, zatímco se informační jednotka posílá z rozvrhující jednotky jednomu z množství procesorů testování bitů přečtených ze vstupní informační jednotky oproti známým indikátorům označujícím předem určené typy vstupních informačních jednotek pro identifikaci typu a protokolu vstupní informační jednotky nebo zjištění toho, že vstupní informační jednotka nesplňuje žádný předem určený identifikující typ vstupní informační jednotky a na základě výsledků testování bitů ze vstupní informační jednotky, uložení indikátorů typu vstupní informační jednotky a další informace o této vstupní (2783817_CZ.doc)
44 4444
4 4
444· informační jednotce; a použití na jedné z množství procesorových jednotek uložených indikátorů a dalších uložených informací o vstupní informační jednotce při zpracování vstupní informační j ednotky.
16. Způsob podle nároku 15, vyznačující se tím, že krok generování indikátorů a uložení indikátorů nastane, zatímco se vstupní informační jednotka posílá jednomu z množství procesorů, tak, aby když jeden z množství procesorů zpracovává vstupní informační jednotku, se určily a uložily indikátory a další informace, přičemž jeden z množství procesorů použije indikátory a další informaci o vstupní informační jednotce při zpracování této informační jednotky.
17. Způsob podle nároku 15 nebo 16, vyznačující se tím, že dále obsahuje krok generování počáteční adresy pro další zpracování vstupní informační jednotky na základě obsahu vstupní informační jednotky a krok použití uložených indikátorů v jedné z množství procesorových jednotek
uskutečňuje v hardwaru, čímž se proces uskuteční v méně cyklech zpracování, než kdyby se čtení a testování uskutečňovalo prováděním řady uložených instrukcí.
19. Způsob podle nároku 18, vyznačující se tím, že krok použití hardwaru k dosažení identifikace typu vstupní informační jednotky a uložení indikátorů se uskutečňuje ve dvou strojových cyklech, čímž krok použití (2783817_CZ.doc) • ti ti • titi • ti « • titititi • ti • ti ti · ti • ti ti • titi • tititi ti ti titititi • ti ti • ti ti indikátorů v jedné z množství procesorových jednotek nastane dříve, než kdyby se testy uskutečňovaly prováděním řady naprogramovaných instrukcí po sobě.
20. Způsob zpracování informačních jednotek podle nároku 19, vyznačujíc! se tím, že krok testování a uložení indikátorů pro vstupní informační jednotku se překrývá s krokem přijetí vstupní informační jednotky od rozvrhující jednotky v jedné z množství procesorových jednotek.
21. Způsob podle kteréhokoli z nároků 15 až 20, vyznačující se tím, že dále obsahuje kroky:
generování a uložení identifikátoru pro vstupní informační jednotku uložení identity procesorové jednotky, které byla vstupní informační jednotka přidělena, ve spojitosti s identifikátorem; a použití identifikátoru a identity procesorové jednotky, které byla informační jednotka přidělena, k vyslání zpracovaných informačních jednotek v pořadí, v němž byly přijaty.
22. Způsob podle nároku 21, vyznačující se tím, že dále obsahuje krok odezvy na rámec generovaný procesorovou jednotkou pomocí zahrnutí příznaku bez návěští do rámce.
23. Způsob zpracování informačních jednotek podle nároku 22, vyznačující se tím, že systém reaguje na rámec s příznakem bez návěští předáním rámce do sítě bez dalšího uložení.
(2783817_CZ.doc)
24. Způsob identifikace vstupujícího rámce a poskytnutí indikátorů vztahujících se k tomuto rámci pro další zpracování rámce, přičemž způsob se vyznačuje tím, že obsahuje kroky:
určení typu zapouzdření a typu protokolu ze vstupujícího rámce porovnáním sekce vstupujícího rámce s předem určeným obsahem udávajícím typ zapouzdření a typ protokolu, generování a uložení, vzhledem ke každému vstupujícímu rámci, indikátorů typu zapouzdření a typu protokolu pro tento vstupující rámec, určení a uložení umístění záhlaví vrstvy 3 pro vstupující rámec a určení a uložení počátečního bodu pro další zpracování vstupujícího rámce, na základě určeného typu protokolu a způsobu zapouzdření, přičemž umístění a počáteční bod mohou být použity při dalším zpracování vstupujícího rámce.
25. Způsob určení vlastností vstupujícího rámce podle nároku 24, přičemž způsob se vyznačuje tím, že krok určení počátečního bodu pro další zpracování obsahuje krok určení implicitního vstupního bodu kódu ze vstupního rámce, poté použití protokolu a způsobu zapouzdření vstupujícího rámce pro určení toho, zda uložený kontrolní vstupní bod byl uložen pro tuto kombinaci zapouzdření a protokolu, použití uloženého kontrolního vstupního bodu jako počátečního bodu pro další zpracování, pokud tento existuje, a v opačném případě použití implicitního vstupního bodu kódu jako počátečního bodu pro další zpracování.
26. Zařízení pro příjem datových paketů různých formátů ze sítě a jejich zpracování, přičemž zařízení se vyznačuje tím, že obsahuje (2783817_CZ.doc)
99 99
9 9 9 9
9 9 ·
99 9
9 9 9
9 9 9 • 9999
9 9
9 99 9 9
9 9 9 9«
9 9 9 9 9 množství procesorů, přičemž každý pracuje nezávisle na ostatních, pro zpracování datových paketů a zajištění výstupního datového paketu, který je založen na vstupním datovém paketu, rozvrhující jednotku připojenou k procesorům pro příjem datového paketu ze sítě a přidělení paketu jednomu z množství nezávislých procesorů, klasifikační zařízení připojené k rozvrhující jednotce pro příjem paketu a určení jeho protokolu a techniky zapouzdření jakož i počáteční adresy pro další zpracování rámce procesorovými jednotkami, přičemž klasifikační zařízení obsahuje logiku k určování techniky zapouzdření na základě části rámce, logiku k určování přítomnosti informace o virtuální lokální síti v rámci a pro každý rámec výstup, který obsahuje typ zapouzdření a počáteční adresu pro další zpracování.
27.
tím, že programu.
Zařízení podle klasifikátor je nároku 26, vyznačující se proveden hardwarové bez uloženého
28. Zařízení podle nároku 26, vyznačující se tím, že klasifikace nastává ve dvou cyklech, takže další zpracování rámce jednou z procesorových jednotek může začít během dvou cyklů poté, co je rámec odbaven rozvrhující j ednotkou.
29. Zařízení podle nároku 26, vyznačující se tím, že počáteční adresa je určena generováním implicitní počáteční adresy z rámce a použitím této implicitní adresy jako počáteční adresy pro zpracování rámce, pokud pro způsob (2783817_CZ.doc) *· · • · · • « · • ···· · • · • ·· · · ·· * • · · · • · · · · · · • · · ·· · zapouzdření a protokol určený klasifikačním systémem není uložena jiná počáteční adresa.
30. Zařízení podle nároku 26, vyznačující se tím, že dále obsahuje manipulační systém pro zpracování nových informačních jednotek, které nebyly přijaty ze sítě, přičemž manipulační systém umístí do nových informačních jednotek symbol, který udává, že tyto nové informační jednotky nebyly přijaty ze sítě.
31. Zařízení pro analýzu rámce informací majícího proměnný protokol a zapouzdření a pro poskytnutí počátečního umístění ke zpracování tohoto rámce a ukazatele na počáteční instrukci pro zpracování tohoto rámce, přičemž zařízení se vyznačuje tím, že obsahuje komparátor pro prohlédnutí předem určených bajtů rámce a určení toho, zda tyto bajty udávají délku nebo protokol logiku pro určení protokolu a systému zapouzdření pro rámec, použití protokolu a systému zapouzdření k určení počátečního umístění pro zpracování rámce a ukazatele na počáteční instrukci pro zpracování rámce.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/479,027 US6775284B1 (en) | 2000-01-07 | 2000-01-07 | Method and system for frame and protocol classification |
US09/479,028 US6633920B1 (en) | 2000-01-07 | 2000-01-07 | Method and system for network data flow management with improved completion unit |
Publications (1)
Publication Number | Publication Date |
---|---|
CZ20021442A3 true CZ20021442A3 (cs) | 2002-07-17 |
Family
ID=27046095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CZ20021442A CZ20021442A3 (cs) | 2000-01-07 | 2000-12-21 | Způsob a systém pro klasifikaci rámců a protokolů |
Country Status (19)
Country | Link |
---|---|
EP (1) | EP1244964B1 (cs) |
JP (1) | JP4095802B2 (cs) |
KR (1) | KR100505498B1 (cs) |
CN (1) | CN100339832C (cs) |
AT (1) | ATE280411T1 (cs) |
AU (1) | AU2016601A (cs) |
BR (2) | BRPI0015717B8 (cs) |
CA (1) | CA2385339C (cs) |
CZ (1) | CZ20021442A3 (cs) |
DE (1) | DE60015186T2 (cs) |
ES (1) | ES2226958T3 (cs) |
HK (1) | HK1054098A1 (cs) |
HU (1) | HUP0203823A2 (cs) |
IL (1) | IL150587A0 (cs) |
MX (1) | MXPA02005419A (cs) |
MY (1) | MY122998A (cs) |
PL (1) | PL355786A1 (cs) |
TW (1) | TW526453B (cs) |
WO (1) | WO2001050259A1 (cs) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2389689B (en) | 2001-02-14 | 2005-06-08 | Clearspeed Technology Ltd | Clock distribution system |
US6973503B2 (en) | 2002-05-23 | 2005-12-06 | International Business Machines Corporation | Preventing at least in part control processors from being overloaded |
US7242682B1 (en) | 2002-10-09 | 2007-07-10 | Storage Technology Corporation | Hardware frame modifier apparatus and method for storage virtualization |
US7715350B2 (en) | 2003-06-12 | 2010-05-11 | Broadcom Corporation | Classifier for communication device |
CN100438492C (zh) * | 2003-09-30 | 2008-11-26 | 美国博通公司 | 用于IEEE802.11g接收器的分类器 |
FR2867642B1 (fr) * | 2004-03-09 | 2006-08-18 | Cit Alcatel | Dispositif et procede de traitement de trames a champ a utilisation multiprotocolaire, pour un reseau de communications |
CN100466594C (zh) * | 2004-10-09 | 2009-03-04 | 华为技术有限公司 | 一种对报文进行分类处理的方法 |
CN100421481C (zh) * | 2005-03-09 | 2008-09-24 | 华为技术有限公司 | 基站中处理帧协议控制帧的方法 |
US7881475B2 (en) | 2005-05-17 | 2011-02-01 | Intel Corporation | Systems and methods for negotiating security parameters for protecting management frames in wireless networks |
KR100713483B1 (ko) | 2005-08-05 | 2007-04-30 | 삼성전자주식회사 | 연성 재질을 이용한 슬라이딩 타입 휴대 단말기 |
US8229525B2 (en) | 2006-09-26 | 2012-07-24 | Samsung Electronics Co., Ltd. | Semi-automatic sliding device for a portable terminal and portable terminal having the same |
KR100800769B1 (ko) | 2007-01-29 | 2008-02-01 | 삼성전자주식회사 | 멀티미디어 휴대 통신 장치 |
CN101242344B (zh) * | 2007-02-05 | 2013-03-20 | 财团法人工业技术研究院 | 网络封包分类器与其方法 |
KR100891775B1 (ko) | 2007-05-14 | 2009-04-07 | 삼성전자주식회사 | 멀티미디어 휴대 전자 장치 |
TWI387268B (zh) * | 2009-04-03 | 2013-02-21 | Hon Hai Prec Ind Co Ltd | 路由器及其處理IPv6資料包的方法 |
EP2695076B1 (de) * | 2011-04-06 | 2016-07-13 | Robert Bosch GmbH | Verfahren und vorrichtung zur erhöhung der datenübertragungskapazität in einem seriellen bussystem |
US9880956B2 (en) | 2011-04-06 | 2018-01-30 | Robert Bosch Gmbh | Method and apparatus for adapting the data transmission security in a serial bus system |
RU2596582C2 (ru) | 2011-04-26 | 2016-09-10 | Роберт Бош Гмбх | Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных |
WO2013000911A1 (de) | 2011-06-29 | 2013-01-03 | Robert Bosch Gmbh | Verfahren und vorrichtung zur seriellen datenübertragung mit flexibler nachrichtengrösse und variabler bitlänge |
WO2014038582A1 (ja) * | 2012-09-04 | 2014-03-13 | 日本電気株式会社 | パケット振分装置、パケット振分方法、およびパケット振分プログラム |
US10579578B2 (en) * | 2017-10-24 | 2020-03-03 | Micron Technology, Inc. | Frame protocol of memory device |
WO2020062181A1 (zh) * | 2018-09-29 | 2020-04-02 | Oppo广东移动通信有限公司 | 无线通信方法、终端设备和接入网设备 |
CN112260896B (zh) * | 2020-10-16 | 2022-05-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种网络传输测试方法、装置、设备及可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5357632A (en) * | 1990-01-09 | 1994-10-18 | Hughes Aircraft Company | Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors |
US5870394A (en) * | 1996-07-23 | 1999-02-09 | Northern Telecom Limited | Method and apparatus for reassembly of data packets into messages in an asynchronous transfer mode communications system |
US5748905A (en) * | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
-
2000
- 2000-12-21 PL PL00355786A patent/PL355786A1/xx unknown
- 2000-12-21 AT AT00983409T patent/ATE280411T1/de not_active IP Right Cessation
- 2000-12-21 MX MXPA02005419A patent/MXPA02005419A/es active IP Right Grant
- 2000-12-21 AU AU20166/01A patent/AU2016601A/en not_active Abandoned
- 2000-12-21 HU HU0203823A patent/HUP0203823A2/hu unknown
- 2000-12-21 CN CNB008188378A patent/CN100339832C/zh not_active Expired - Fee Related
- 2000-12-21 JP JP2001550552A patent/JP4095802B2/ja not_active Expired - Fee Related
- 2000-12-21 CA CA002385339A patent/CA2385339C/en not_active Expired - Fee Related
- 2000-12-21 BR BRPI0015717A patent/BRPI0015717B8/pt unknown
- 2000-12-21 BR BR0015717-1A patent/BR0015717A/pt active IP Right Grant
- 2000-12-21 ES ES00983409T patent/ES2226958T3/es not_active Expired - Lifetime
- 2000-12-21 EP EP00983409A patent/EP1244964B1/en not_active Expired - Lifetime
- 2000-12-21 WO PCT/GB2000/004950 patent/WO2001050259A1/en active IP Right Grant
- 2000-12-21 IL IL15058700A patent/IL150587A0/xx unknown
- 2000-12-21 CZ CZ20021442A patent/CZ20021442A3/cs unknown
- 2000-12-21 KR KR10-2002-7008455A patent/KR100505498B1/ko not_active IP Right Cessation
- 2000-12-21 DE DE60015186T patent/DE60015186T2/de not_active Expired - Lifetime
-
2001
- 2001-01-02 TW TW090100022A patent/TW526453B/zh not_active IP Right Cessation
- 2001-01-05 MY MYPI20010041A patent/MY122998A/en unknown
-
2003
- 2003-09-05 HK HK03106314A patent/HK1054098A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1244964B1 (en) | 2004-10-20 |
ES2226958T3 (es) | 2005-04-01 |
HK1054098A1 (en) | 2003-11-14 |
CN100339832C (zh) | 2007-09-26 |
WO2001050259A1 (en) | 2001-07-12 |
MY122998A (en) | 2006-05-31 |
KR20020071911A (ko) | 2002-09-13 |
CA2385339A1 (en) | 2001-07-12 |
CA2385339C (en) | 2005-06-28 |
KR100505498B1 (ko) | 2005-07-29 |
JP4095802B2 (ja) | 2008-06-04 |
DE60015186D1 (de) | 2004-11-25 |
TW526453B (en) | 2003-04-01 |
BRPI0015717B1 (pt) | 2018-03-13 |
JP2003519944A (ja) | 2003-06-24 |
EP1244964A1 (en) | 2002-10-02 |
HUP0203823A2 (en) | 2003-05-28 |
IL150587A0 (en) | 2003-02-12 |
CN1433543A (zh) | 2003-07-30 |
PL355786A1 (en) | 2004-05-17 |
BR0015717A (pt) | 2002-07-23 |
MXPA02005419A (es) | 2002-11-29 |
AU2016601A (en) | 2001-07-16 |
ATE280411T1 (de) | 2004-11-15 |
BRPI0015717B8 (pt) | 2020-05-26 |
DE60015186T2 (de) | 2006-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CZ20021442A3 (cs) | Způsob a systém pro klasifikaci rámců a protokolů | |
US7440417B2 (en) | Method and system for frame and protocol classification | |
US20220060555A1 (en) | Accelerated network packet processing | |
US11374858B2 (en) | Methods and systems for directing traffic flows based on traffic flow classifications | |
CN102427446B (zh) | 分组合并 | |
US6947430B2 (en) | Network adapter with embedded deep packet processing | |
JP4264866B2 (ja) | 通信を高速化するインテリジェントネットワークインタフェース装置及びシステム | |
US20020163935A1 (en) | System and method for providing transformation of multi-protocol packets in a data stream | |
US11818022B2 (en) | Methods and systems for classifying traffic flows based on packet processing metadata | |
JP2003508957A (ja) | ネットワーク・プロセッサ処理コンプレックス及び方法 | |
JP4182180B2 (ja) | ネットワーク中継装置及びネットワーク中継方法 | |
KR100755979B1 (ko) | 네트워크 스위치 포트상에서 와이어 속도로 데이터 패킷을식별하는 장치 및 방법 | |
US6711165B1 (en) | Apparatus and method for storing min terms in network switch port memory for access and compactness | |
WO2000010297A1 (en) | Packet processing architecture and methods | |
JP2003218907A (ja) | パケットの高速ルーティング及びスイッチングに対するメモリ要件を低減するように構成されたプロセッサ | |
US6728255B1 (en) | Apparatus and method for storing min terms in a network switch port memory for identifying data packet types in a real time | |
EP4027594B1 (en) | Information processing device, information processing method, and information processing program | |
US20050163107A1 (en) | Packet processing pipeline | |
US20220014479A1 (en) | Network device and conversion apparatus | |
US6693908B1 (en) | Apparatus and method for efficient evaluation of equations which generate frame tags in a network switch |