FI104672B - Kytkinjärjestely - Google Patents

Kytkinjärjestely Download PDF

Info

Publication number
FI104672B
FI104672B FI972979A FI972979A FI104672B FI 104672 B FI104672 B FI 104672B FI 972979 A FI972979 A FI 972979A FI 972979 A FI972979 A FI 972979A FI 104672 B FI104672 B FI 104672B
Authority
FI
Finland
Prior art keywords
packet
memory
connection
cell
order
Prior art date
Application number
FI972979A
Other languages
English (en)
Swedish (sv)
Other versions
FI972979A (fi
FI972979A0 (fi
Inventor
Petri Heiman
Original Assignee
Nokia Networks Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Networks Oy filed Critical Nokia Networks Oy
Publication of FI972979A0 publication Critical patent/FI972979A0/fi
Priority to FI972979A priority Critical patent/FI104672B/fi
Priority to DE69836969T priority patent/DE69836969D1/de
Priority to EP98935047A priority patent/EP1013132B1/en
Priority to AU84431/98A priority patent/AU8443198A/en
Priority to BR9810719-4A priority patent/BR9810719A/pt
Priority to PCT/FI1998/000588 priority patent/WO1999007180A2/fi
Priority to CN98808148A priority patent/CN1267441A/zh
Publication of FI972979A publication Critical patent/FI972979A/fi
Priority to US09/480,235 priority patent/US6735203B1/en
Application granted granted Critical
Publication of FI104672B publication Critical patent/FI104672B/fi

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • H04L49/309Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/256Routing or path finding in ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/565Sequence integrity

Landscapes

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

Description

, 104672
Kytkinjärjestely
Keksinnön ala 5 Keksintö liittyy yleisesti pakettivälitteisessä tietoliikenneverkossa toteutettavaan kytkentään. Tarkemmin sanottuna keksintö koskee tällaisessa verkossa, erityisesti ATM-verkossa käytettävää kytkinjärjestelyä.
Keksinnön tausta 10 Seuraavan selityksen ymmärtämisen helpottamiseksi määritellään aluksi joitakin jatkossa käytettyjä termejä.
Kytkentäkenttä tai kytkentämatriisi (molempia nimityksiä käytetään) koostuu useista kytkentäelementeistä (switching element), jotka ovat joko keskenään samanlaisia tai erilaisia ja jotka on liitetty keskenään tietyn topolo-15 gian mukaisesti. Alan (englanninkielisessä) kirjallisuudessa kytkentäkentästä käytetään myös nimitystä “switching network”, koska kytkentäelementit muodostavat ko. topologian mukaisen verkon. Kytkentäkenttä on siis määritelty, ,':': kun on määritelty kytkentäelementit ja niiden väliset liitännät.
;'.<t Kytkentäkenttä kootaan kytkentäelementeistä liittämällä useita kyt- .·;·. 20 kentäelementtejä verkoksi, jossa kytkentäelementtejä on sekä keskenään .·. rinnakkain että peräkkäin. Keskenään rinnakkaiset kytkentäelementit muo- I · :·, dostavat yhden kytkentäportaan. Peräkkäisissä kytkentäportaissa olevat
< · I
kytkentäelementit on liitetty toisiinsa kytkentäkentän sisäisillä yhteyksillä (linkeillä) em. topologian mukaisesti.
25 Kytkimellä (switch) tarkoitetaan sitä kokonaisuutta, joka rakentuu kytkentämatriisin ympärille. Kytkimellä tarkoitetaan siis mitä tahansa elimiä, • · · joilla suoritetaan tietoliikenneverkossa välitettävien signaalien kytkentää.
m * : ’·· Tässä yhteydessä kytkin on pakettikytkin, koska keksintö koskee pakettivälit- • · · -> teisessä tietoliikenneverkossa, erityisesti ATM-verkossa suoritettavaa kytken- 30 tää. Kytkimestä käytetään joskus myös nimitystä kytkentäjärjestelmä «««· (switching system).
ATM (Asynchronous Transfer Mode) on yhteydellinen (connection-oriented) pakettikytkentätekniikka, jonka kansainvälinen telealan standardointijärjestö ITU-T on valinnut laajakaistaisen monipalveluverkon (B-ISDN) toteu-35 tustekniikaksi. ATM-verkossa on perinteisten pakettiverkkojen (kuten X.25- 104672 2 verkot) ongelmia poistettu siirtymällä käyttämään lyhyitä, vakiomittaisia paketteja (53 oktettia), joita kutsutaan soluiksi (cell). Jokainen solu koostuu 48 oktetin mittaisesta hyötykuormaosasta ja 5 oktetin mittaisesta otsikosta. Otsikko sisältää muun tiedon ohella osoitetietoa, jonka perusteella solu reititetään 5 ATM-verkossa. ATM-verkkoa ei tässä yhteydessä kuvata tämän enempää, koska se ei ole tarpeellista keksinnön ymmärtämisen kannalta. Tarkemman kuvauksen löytää tarvittaessa kansainvälisistä standardeista tai alan oppikirjoista.
Perinteisen TDM-verkon (Time Division Multiplexing, jota kutsutaan 10 myös nimellä STM, Synchronous Transfer Mode) kytkimiä ei voida suoraan soveltaa ATM-verkossa suoritettavan kytkennän hoitamiseen. Myöskään perinteisiä pakettiverkkoja varten kehitetyt kytkinratkaisut eivät yleensä ole sopivia ATM-verkon kytkimiksi. Optimaalisen ATM-kytkinarkkitehtuurin valintaan vaikuttaa nimittäin paitsi kiinteä solukoko sekä solun otsikon rajallinen 15 toiminnallisuus, myös soluvirran tilastollinen käyttäytyminen sekä se, että ATM- kytkimen on toimittava hyvin suurella nopeudella (tällä hetkellä tyypillisesti 150...600 Mbit/s).
Kuviossa 1 on esitetty ATM-kytkimen perusperiaate ulkoa päin tar-_ kasteltuna. Kytkimessä on n kappaletta tulojohtoja ja m kappaletta läh- /:. 20 töjohtoja 0,...0^ Kutakin tulojohtoa pitkin tulee ATM-kytkimeen 11 soluvilla CS. Soluvirran yksittäisen solun otsikkoa on merkitty viitemerkillä HD. Solut •, ' kytketään ATM-kytkimessä tulojohdolta I, lähtöjohdolle Oj ja samalla muunne- ·;·, taan solun otsikon arvo tulevasta arvosta lähtevään arvoon. Tätä varten on kytkimessä muunnostaulukko 12, jonka avulla mainittu muunnos tapahtuu. 25 Kuten taulukosta havaitaan, kytketään esim. kaikki ne solut, jotka tulevat • · johdolta I, ja joiden otsikon arvo on X, lähtöjohdolle 01 jolloin niiden otsikko « · · *\ ' saa samalla arvon K. Eri tulojohdoilla voi esiintyä samoja otsikkoarvoja; esim.
• · • '·· tulojohdolta ln tulevat solut, joiden otsikon arvo on myös X kytketään myös • · · i...*· lähtöjohdolle O,, mutta niiden otsikko saa lähtevällä johdolla arvon J.
30 Eräs tunnettu otsikonmuunnosmenetelmä, jota tullaan käyttämään .7..: kuvattaessa keksintöä, on muuntaa otsikko vaiheittain käyttämällä kytkimen sisällä omia yhteystunnisteita, kuten tulopuolella tunnistetta ICI ja lähtöpuolella tunnistetta ECI. Tällöin otsikonmuunnosketjuksi saadaan VPIin/VCIin -» ICI ECI VPIoJVCI^. Etuna tällaisessa menettelyssä on, että tunnisteet ICI ja 35 ECI voivat olla suoria muistiosoitteita, joiden avulla yhteyskohtaisiin tietoihin 104672 3 päästään nopeasti käsiksi.
Kytkimen päätehtävät ovat siis solujen (pakettien) siirto tulojohdolta halutulle lähtöjohdolle ja otsikon muunnos. Kuten kuviostakin ilmenee, saattaa kaksi solua kuitenkin samanaikaisesti pyrkiä samalle lähtöjohdolle. Tätä varten 5 täytyy kytkimessä olla puskurointikykyä, jotta tällaisissa tilanteissa ei tarvitsisi tuhota soluja. Kytkimen kolmas päätehtävä onkin puskuroinnin järjestäminen. Se tapa, jolla nämä kolme päätehtävää toteutetaan ja se, missä osassa kytkintä toteutus hoidetaan, erottaa erilaiset kytkinratkaisut toisistaan.
ATM-kytkentäkentät voidaan puolestaan jakaa edelleen kahteen 10 luokkaan riippuen siitä, ovatko kentässä käytettävät kytkentäelementit puskuroituja vai puskuroimattomia.
Puskuroimattomia kytkentäelementtejä käyttävässä kentässä solujen reititys kentän läpi toimii solutasolla siten, että reitti valitaan jokaiselle solulle erikseen riippumatta siitä, mille virtuaalikanavalle solu kuuluu. Solujen siirrossa 15 kentän läpi voidaan yksinkertaistettuna ajatella olevan kaksi vaihetta. Ensimmäisessä vaiheessa solut lähetetään tuloporteista kentän läpi ja toisessa vaiheessa joko kytkentäelementit tai lähtöportit kertovat tuloportille, mitkä solut onnistuivat läpäisemään kentän. Jälkimmäinen vaihe on suoritettava, sillä : -. solujen mahdollisesti yrittäessä käyttää kentän samaa sisäistä linkkiä on yhtä < I 1 , >: ·. 20 solua lukuunottamatta kaikki muut samanaikaiset solut tuhottava, koska kyt-
f I I
,·, kentäelementeissä ei ole puskureita. Tällaisen kytkentäkentän ongelmana on, että sen kaikkien elementtien täytyy toimia keskenään synkronoidusti eli kaik- I | kien elementtien ja tulo- ja lähtöporttien täytyy olla yhtaikaa edellä kuvatuissa ' vaiheissa. Koska solujen lähetys on hyvin nopeaa ja käytännössä saatetaan 25 tarvita vielä useita muitakin vaiheita kuin edellä kuvatut kaksi, synkronisuutta ei • · onnistuta saavuttamaan ainoastaan elementtien välisillä kättelysignaaleilla, * » · ’ vaan kaikkia elementtejä täytyy tahdistaa yhdestä kellolähteestä, jonka sig- Γ*.· naalin jakaminen kaikille elementeille on hankalaa, mikäli kytkentäkenttä on i'": hyvin laaja ja se on jouduttu jakamaan useille pistoyksiköille. Huomattakoon 30 vielä, että myös puskuroimattomilla kytkentäelementeillä varustetussa kytki- messä on oltava puskurointikykyä joko kentän tulo- tai lähtöporteissa, jotta « · samanaikaisesti kytkimen samalle lähtöjohdolle pyrkiviä soluja ei tarvitse tuhota.
Puskuroiduista kytkentäelementeistä rakennetussa kytkentäkentässä 35 ei ole edellä mainittua synkronointivaatimusta. Solujen reitti kytkentäkentän 4 104672 läpi voidaan valita virtuaalikanavakohtaisesti. Tämän takia joudutaan kuitenkin yleensä pitämään kirjaa kytkentäkentän sisäisten linkkien kuormasta. Puskuroitu kytkentäkenttä on tavallisesti yhteystasolla estollinen, sillä sen rakentaminen estottomaksi vaatii yleensä niin paljon ylimääräistä kapasiteettia, ettei se 5 ole enää taloudellisesti kannattavaa. Estollisessa kentässä on yhteyden reitin valinta hyvin kriittinen tekijä, kun pyritään pienentämään estoa.
Edellä esitetyn johdosta monet valmistajat ovat etsineet ratkaisua keinosta, jossa reitti valitaan solutasolla myös puskuroiduilla kytkentäelemen-teillä varustetussa kytkentäkentässä. Jotta kentän sisäisten linkkien kuormasta 10 ei tarvitsisi pitää kirjaa ja jotta kuormitus jakautuisi tasaisesti, solun reitti valitaan yleensä satunnaisesti. (Valinta voidaan tehdä myös sopivan ei-satunnaisen algoritmin mukaisesti.) Tällöin kytkentäkenttä saadaan estottomaksi kohtuullisin kustannuksin.
Koska solujen reitti vaihtelee tällaisessa satunnaisreitityksessä, on 15 mahdollista, että myöhemmin lähetetty solu kulkee nopeammin kytkentäkentän läpi ja ohittaa aikaisemmin lähetetyn solun. Tämä johtuu siitä, että kytkentä-elementtien kuormitus ja siten myös niiden puskurien täyttöasteet vaihtelevat , jatkuvasti, jolloin myös solun kentässä viettämä aika vaihtelee eri aikoina ja eri ; :, reiteillä. Solujen järjestyksen muuttumisen korjaamiseksi tarvitaan erityisratkai- ; , 20 suja, joita kutsutaan uudelleenjärjestelyksi (re-sequencing).
Solujen uudelleenjärjestelyssä on kaksi erilaista perusratkaisua sen . ' mukaan, missä osassa kytkentäkenttää uudelleenjärjestelyä suoritetaan. Solut voidaan järjestellä joko kytkentäkentän jälkeen tätä tarkoitusta varten varatuis-'* sa uudelleenjärjestely(mikro)piireissä (vaihtoehto 1) tai järjestely voidaan 25 suorittaa jo kytkentäkentän sisällä sen kytkentäportaiden välillä (vaihtoehto 2).
« * • // Yhteistä edellä mainituille ratkaisuille on se, että solun käyttämä aika I · * * kytkentäkentän läpi (vaihtoehto 1) tai kytkentäelementeille (vaihtoehto 2) mitataan esim. käyttämällä aikaleimaa ja sen jälkeen solua viivästetään sen i*'*: verran, että jokin ennalta valittu kokonaiskulkuaika täyttyy. Tämä takaa sen, 'j. 30 että kaikkien solujen viive kytkentäkentän läpi pysyy samana. Näiden ratkai- « sujen epäkohtana on kuitenkin se, että ne vaativat hyvin monimutkaisen, rinnakkaista prosessointia käyttävän piirin kytkentäkentän lähtöporteissa (vaihtoehto 1) tai kytkentäelementeissä (vaihtoehto 2).
Eräs vaihtoehtoon 1 kuuluva solujen uudelleenjärjestelytoteutus on 35 kuvattu US-patentissa 5,481,536. Tässä ratkaisussa käytetään soluissa jär- 104672 5 jestysnumeroja, joiden avulla pystytään päättelemään saman yhteyden solujen keskinäinen järjestys. Solut kirjoitetaan yhteiseen muistiin ja sisältöosoitetta-vasta muistista (CAM, Content Addressable Memory) haetaan niitä osoitteita, joiden avulla luetaan soluja ulos yhteisestä muistista.
5 Myöskin tämä ratkaisu on toteutukseltaan monimutkainen ja vaatii erikoismuistia (CAM), joka ei esim. hakuaikojen ja hinnan suhteen yllä tavanomaisten (nopeiden) muistien tasolle.
US-patenteissa 5,319,360 ja 5,173,897 on puolestaan kuvattu ATM-solmu, jossa virtuaaliyhteyden soluissa on myös järjestysnumero, jolla solujen 10 keskinäinen järjestys identifioidaan. Kytkentäkentän ja solmun lähtöportin välissä olevassa lähtöyksikössä solut talletetaan muistiin, jonka kärjessä on siirtorekisteriosa ja sen perässä ensimmäinen FIFO-osa. Jonon kärjestä luetaan solu lukitussalvalle (latch), josta solu luetaan edelleen ulos solmusta. Ennen lukitussalvalta tapahtuvaa lukua verrataan lukitussalvalla olevan solun 15 yhteystunnistetta kaikkien muiden siirtorekisteri- ja FIFO-osissa olevien muiden solujen yhteystunnisteisiin ja kaikille niille soluille, joilla on sama yhteystunniste kuin lukitussalvalla olevalla solulla suoritetaan lisävertailu, jossa verrataan ', -, näiden kahden solun järjestysnumeroa. Mikäli muistissa oleva solu osoittautuu r · ‘ ,1 vanhemmaksi, vaihdetaan se lukitussalvalla olevan solun tilalle ja lukitussal-
« λ I
... 20 valla ollut solu siirretään takaisin muistiin vanhemman solun tilalle. Näin saa-
< · I
; , daan siirrettäväksi soluksi vanhin muistissa ollut, ko. yhteydelle kuuluva solu.
; 1 Tämän ratkaisun epäkohtia ovat sangen monimutkainen muistijärjes- i ’ t tely ja sen vaatima raskas vertailuprosessi, jotta kulloinkin löydetään vanhin ( · · v muistissa ollut solu.
25 I « : ** Keksinnön yhteenveto s.| ‘ Keksinnön tarkoituksena on päästä eroon edellä kuvatuista epäkoh- dista ja saada aikaan menetelmä, jonka avulla pakettien uudelleenjärjestely *”*: pystytään toteuttamaan mahdollisimman yksinkertaisella laitteistolla ilman
IM
\# 30 raskasta vertailuprosessia.
Tämä päämäärä saavutetaan ratkaisulla, joka on määritelty itsenäisessä patenttivaatimuksessa.
Keksinnössä käytetään hyväksi edellä kuvatun kaltaista perusratkaisua, jossa yhteyden jokaisella paketilla (tai solulla) on järjestysleimana järjes-35 tysnumero, jonka avulla yhteyden solut voidaan asettaa oikeaan järjestykseen.
6 104672
Lisäksi keksinnössä käytetään hyväksi sellaista perusratkaisua, jossa ylläpidetään odotettavissa olevan paketin järjestysnumeroa. Ajatuksena on tallettaa paketti tai siihen liittyvät tiedot (esim. muistiosoitin) muistialueelle, joka riippuu tietyn ennalta määrätyn riippuvuussuhteen mukaisesti ainakin paketin järjes-5 tysnumerosta. Näin tehdään ainakin aina silloin, kun odotettavissa olevan järjestysnumeron avulla todetaan, että pakettien jäijestys on vaihtunut. Paketti voidaan myös siirtää suoraan lähtöpuskuriin, jos tulevan paketin järjestysnumero vastaa odotettavissa olevan paketin järjestysnumeroa (eli jos pakettien järjestys ei ole vaihtunut). Suorittamalla talletus muistialueelle, joka riippuu 10 paketin järjestysnumerosta voidaan ainakin aina silloin, kun paketteja ei vastaanoteta, etsiä puskuriin siirrettävää pakettia (tai sen muistiosoitinta) muistialueelta, joka riippuu saman riippuvuussuhteen mukaisesti sillä hetkellä odotettavissa olevasta järjestysnumerosta.
Keksinnön erityisen edullisessa toteutustavassa muistiin tallennus 15 tapahtuu muistialueelle, joka määräytyy pelkästään paketin järjestysnumeron perusteella ja muistista luku muistialueelta, joka määräytyy pelkästään odotettavissa olevan järjestysnumeron perusteella. Tällä tavoin pystytään tarvittava muistimäärä minimoimaan.
• * · · I · i 20 Kuvioluettelo :,: : Seuraavassa keksintöä ja sen edullisia toteutustapoja kuvataan tar- kemmin viitaten kuvioihin 2...6 oheisten piirustusten mukaisissa esimerkeissä, : joissa :T: kuvio 1 esittää ATM-kytkennän perusperiaatetta, 25 kuvio 2 esittää keksinnön mukaista kytkintä yleisellä tasolla, kuvio 3 havainnollistaa kytkimen reunalla suoritettavaa solujen käsit- telyä, kuvio 4 esittää kytkentäkentän sisällä kulkevan solun rakennetta, kuvio 5 havainnollistaa kytkentäkentän kuhunkin lähtöporttiin liittyvän • · 30 yksikön lohkokaaviota, kun yksikkö on toteutettu keksinnön ensimmäisen « toteutustavan mukaisesti, ja kuvio 6 havainnollistaa kytkentäkentän kuhunkin lähtöporttiin liittyvän yksikön lohkokaaviota, kun yksikkö on toteutettu keksinnön toisen toteutustavan mukaisesti.
35 7 104672
Keksinnön yksityiskohtainen kuvaus
Keksinnön mukaisen ratkaisun selventämiseksi seuraavassa kuvataan ensin erästä keksinnön kannalta edullista kytkinrakennetta yleisellä tasolla. Tällä tasolla ratkaisut ovat vielä sinänsä tunnettuja.
5 Kytkin voidaan jakaa kuviossa 2 esitetyllä tavalla toiminnallisesti kolmeen eri osaan: solujen esikäsittelyosaan PPU, jakeluosaan RRS ja reiti-tysosaan RS. Näistä vain kaksi viimeistä sisältävät kytkentäelementtejä, joten ne muodostavat varsinaisen kytkentäkentän (tai kytkentämatriisin) SWN.
Keksinnön lähtökohtana on tarkastella kutakin kytkentäkentän läpi 10 menevää yhteyttä (kytkentää) erikseen. Tätä varten kytkentäkentän edessä sijaitsee solujen esikäsittelyosa PPU, joka käsittää yhden esikäsittely-yksikön PPU, kutakin tulojohtoa I, (i=1... n) kohti. Nämä yksiköt jakavat kunkin yhteyden soluille järjestysnumerolta siten, että jokaisella yhteydellä on oma, toisista yhteyksistä riippumaton solujen järjestysnumerointi. Kun yhteys muodoste-15 taan, solujen järjestysnumerointi voi alkaa vaikkapa nollasta ja kasvaa johonkin ylärajaan, esim. arvoon N-1 asti, jonka jälkeen numerointi alkaa jälleen nollasta. Kaikilla yhteyksillä on kuitenkin käytössään sama järjestysnumero-alue (0...N-1), jolta numeroita jaetaan järjestyksessä.
Jakeluosa RRS reitittää solut satunnaisesti tai tietyn ennalta määrätyn 20 algoritmin mukaan niin, että tiettyyn tulojohtoon tulevat solut jakautuvat mahdollisimman tasaisesti jakeluosan edullisesti kaikille lähtöjohdoille. Tällä tavoin voidaan solujen virta jakaa tasaisesti kaikkien käytettävissä olevien polkujen kesken, mikä puolestaan pienentää kytkimen sisäistä estoa. Reititysosa RS : reitittää puolestaan solun oikeaan lähtöporttiin solun sisältämän reititystunnis- 25 teen perusteella. Reititysosa on siis sellainen, että kaikki tietyn lähtöport-tiosoitteen sisältävät solut reitittyvät kyseiseen lähtöporttiin riippumatta siitä, mihin reititysosan tuloporttiin ne saapuvat jakeluosasta.
:·’ Keksinnön mukaisessa kytkimessä solun kulkema polku muodostuu • «· [·... näin ollen satunnaisesti tai tietyn algoritmin mukaan valitusta ensimmäisestä • · *" 30 osasta ja toisesta osasta, joka valitaan reititysinformaation perusteella siten, että solu ohjautuu oikeaan lähtöporttiin. Tällainen rakenne on sinänsä tunnet- tu.
Kytkentäkentän tyyppi tai tarkempi rakenne ei ole oleellinen, sillä keksinnön kannalta ei ole oleellista, miten solujen reititys toteutetaan. Reititys 35 voidaan toteuttaa millä tahansa tunnetulla tavalla. Satunnaisreitittävän kyt- 104672 8 kentäkentän etuna on kuitenkin se, että kenttä pystyy jakamaan kuorman suhteellisen tasaisesti, jolloin myös todennäköisyys pakettien järjestyksen vaihtumiselle on pienempi. Näin ollen on edullista, että kytkentäkentästä löytyy jakeluosa, jonka kultakin yksittäiseltä tulojohdolta (lj, j = 1...n) voidaan muo-5 dostaa reitit jakeluosan edullisesti jokaiseen lähtöjohtoon (RCV.ROJ ja että kytkentäkentästä löytyy reitittävä osa, jonka jokaisesta tulojohdosta (RO,, i=1...k) voidaan muodostaa ainakin yksi reitti haluttuun (reititysinformaation mukaiseen) lähtöjohtoon (Oj).
Kuviossa 3 on havainnollistettu kunkin esikäsittely-yksikön PPUj 10 rakennetta. Sisääntulevat solut johdetaan ensin ensimmäiselle muunnosyksi-kölle ICU1|, joka muodostaa kunkin solun sisältämästä VPI/VCI-tunnisteesta kytkentäkentän tulopuolella käytettävän sisäisen yhteystunnisteen ICI ja liittää sen soluun. Kukin yhteys saa siis tulopuolella oman uniikin, kentänsisäisen yhteystunnisteensa, jolla erotetaan eri yhteyksien solut kytkentäkentän sisällä. 15 Erottelu on edullista tehdä kytkentäkentän sisäisen yhteystunnisteen avulla, koska VPI/VCI-tunnisteilla ei ole käytössä yhtä jatkuvaa arvoaluetta, mikä puolestaan saadaan aikaan sisäisen yhteystunnisteen avulla.
Ensimmäiseltä muunnosyksiköltä solut kytketään numerointiyksikölle ' ' ' SNUj, jossa on taulukko T1, jossa ylläpidetään yhteyskohtaisesti yhtä järjes- : 20 tysleimaa SN,. Tämä järjestysleima on yhteydellä seuraavaksi annettavan solun järjestysnumero (tai ko. yhteydellä viimeksi menneen solun järjestysnumero, jota kasvatetaan solun saapuessa yhdellä, jotta solu saa oikean järjestysnumeron). Yhteyden alussa tämä numero alustetaan alkuarvoonsa. Nume-: rointiyksikössä luetaan soluun kiinnitetyn yhteystunnisteen ICI arvo ja luetun 25 arvon perusteella haetaan taulukosta sitä vastaava järjestysnumero. Järjes-tysnumeroina käytetään ennalta määrättyä määrää diskreettejä arvoja, esim. modulolaskurin antamia kokonaislukuarvoja siten, että laskuri laskee yhteyden :·* alusta soluja esim. nollasta lukuun (N-1), minkä jälkeen se aloittaa taas nol- · · lasta, jne. Järjestysnumero kiinnitetään soluun.
• « "* 30 Esikäsittely-yksiköissä soluihin voidaan myös kiinnittää (sinänsä tunnetusti) kytkimen sisäinen reititystunniste (routing tag), mikä tapahtuu reititystunnisteen lisäysyksikössä RIU,. Viimeisenä kussakin esikäsittely-yksikössä on toinen muunnosyksikkö 10112, jossa muunnetaan tulopuolen yhteystunniste ICI lähtöpuolen yhteystunnisteeksi ECI. Kuten edellä mainittiin, 35 tulo- ja lähtöpuolilla on edullista käyttää omaa sisäistä yhteystunnistetta, jotta 9 104672 yhteyskohtaisiin tietoihin päästään nopeasti käsiksi (molempien tunnisteiden käytössä on sama osoitearvoalue).
Kukin kytkentäkentän sisään menevä solu on siis kuviossa 4 esitetyn kaltainen. Varsinainen ATM-solu koostuu tunnetusti 48 oktetin mittaisesta 5 hyötykuormaosasta (payload) ja 5 oktetin pituisesta otsikosta (header). Tähän ATM-soluun kiinnitetään edullisesti kolme tunnistekenttää, jotka kaikki sisältävät kytkimen sisäisen tunnisteen, joka poistetaan kytkimen lähdössä. Otsikkokenttää ei välttämättä tarvitse siirtää kytkentäkentän läpi, vaan se voidaan poistaa tuloportissa ja lisätä uusilla tiedoilla varustettu otsikkokenttä lähtöpor-10 tissa. Reititystunnistekenttä RI_F sisältää kytkimen sisäisen reititystunnisteen, jonka avulla solu reititetään kytkimessä (reititysosassa) sinänsä tunnetulla tavalla oikeaan lähtöporttiin. Järjestysnumerokenttä SN_F sisältää numeroin-tiyksikön antaman järjestysnumeron, joko suoraan taulukosta T1 saadun arvon tai taulukon sisältämän arvon avulla muodostetun arvon. Yhteystunnistekenttä 15 ECI_F sisältää toisen muunnosyksikön antaman yhteystunnisteen ICL
Jakeluosan suorittama solujen hajautus voidaan toteuttaa esim. siten, että reititystunnisteen ne bitit, jotka vastaavat jakeluosan kytkentäportaita muodostetaan satunnaisesti tai tietyn algoritmin mukaan, jolloin solut reitittyvät jakeluosassa satunnaisesti tai ko. algoritmin mukaan. Koko reititystunniste 20 voidaan muodostaa kytkentämatriisin tuloportissa tai satunnaisjakeluportaita vastaava osa voidaan jättää muodostamatta, jolloin ko. portaat suorittavat satunnaisjakelun itsenäisesti. Koska reititys voidaan kuitenkin toteuttaa millä tahansa tunnetulla tavalla, ei solussa välttämättä tarvita reititystunnistetta.
· Seuraavassa kuvataan tarkemmin yksittäisen lähtöyksikön OU, ra- 25 kennetta ja toimintaa.
Kuviossa 5 on havainnollistettu yksittäisen lähtöyksikön toiminnallista :T: lohkokaaviota, kun lähtöyksikkö on toteutettu keksinnön ensimmäisen toteu- tustavan mukaisesti. Lähtöyksikön ytimen muodostaa järjestelytaulukko (tai • · · yleisesti järjestelymuisti) RST1, johon osa sisääntulevista soluista (tai solujen T 30 tiedot, kuten muistiosoittimet) talletetaan. Tässä toteutustavassa järjestelytau-..!:' lukko käsittää yhden rivin kutakin yhteyttä kohti ja järjestelynumeroarvojen lukumäärää vastaavan määrän (N) muistipaikkoja kutakin yhteyttä varten (yhteyksien lukumäärä on K). Taulukossa on siis yhteensä K riviä ja N saraketta. Yhden rivin ja sarakkeen risteyskohdassa oleva taulukon alkio muodos-35 taa yhden muistipaikan, joten järjestelytaulukossa on muistipaikkoja yhteensä 10 104672 ΚχΝ kappaletta.
Kunkin lähtöyksikön tulossa on tarkastusyksikkö CU, joka lukee kustakin tulevasta solusta yhteystunnisteen ja järjestysnumeron. Järjestysnu-meroyksikössä PSN ylläpidetään kutakin yhteyttä kohti järjestysnumeroarvoa, 5 joka on yhteydellä seuraavaksi odotettavan solun järjestysnumero. Tätä varten yksikössä on taulukko T2, joka on samanlainen taulukko kuin esikäsittely-yksikön taulukko T1. Solun saapuessa tarkastusyksikkö lukee taulukosta T2 lähtöpuolen yhteystunnistearvon perusteella tällä yhteydellä seuraavaksi odotettavissa olevan järjestysnumeroarvon ja vertaa sitä saapuneen solun 10 järjestysnumeroarvoon. Mikäli arvot ovat yhtä suuret, tarkastusyksikkö siirtää solun suoraan FIFO-tyyppiseen lähtöpuskuriin OB ja kasvattaa taulukossa T2 olevan järjestysnumeron arvoa yhdellä. Mikäli järjestysnumeroarvot eivät ole yhtä suuria, tarkastusyksikkö tallettaa solun järjestelytaulukkoon, solun yhteystunnistetta vastaavalle riville solun järjestysnumeroa vastaavaan muisti-15 paikkaan. Aina kun tarkastusyksikkö tallettaa solun järjestelytaulukkoon se tallettaa myös solun sisältämän yhteystunnisteen FIFO-tyyppiseen yhteystun-nistepuskuriin ECI_B. Talletus järjestelytaulukkoon ja yhteystunnistepuskuriin , , tapahtuu siis silloin, kun solu ei saavu järjestysnumeronsa edellyttämässä ' kohdassa yhteyden solujonoa. Tällöin ei myöskään kasvateta taulukossa T2 :' 20 olevan järjestysnumeron arvoa.
r » ' Lähtöyksikössä on lisäksi erillinen lukuyksikkö SU, joka käy jatkuvasti läpi järjestelytaulukkoon talletettuja soluja ja siirtää niitä lähtöpuskuriin siten, ' " että lähtöpuskurissa kunkin yhteyden solut ovat jälleen oikeassa järjestykses- *.· ; sä. Lukuyksikkö voi toimia rinnakkain tarkastusyksikön kanssa tai esim. aina 25 silloin, kun lähtöporttiin ei saavu soluja. Lukuyksikkö lukee ensin yhteystun- t * • *· nistepuskurin ECI_B kärjestä yhteystunnisteen ja sen perusteella järjestysnu- ··.:*: meroyksiköstä ko. yhteydellä odotettavissa olevan järjestysnumeron. Tämän jälkeen lukuyksikkö hakee järjestelytaulukon ko. järjestysnumeroa ja yhteys-
f I I
··, tunnistetta vastaavasta muistipaikasta solua. Mikäli tässä muistipaikassa on *·* 30 solu, lukuyksikkö siirtää sen lähtöpuskuriin ja kasvattaa odotetun järjestysnu- meron arvoa ykkösellä. Mikäli ko. muistipaikassa ei ole solua, lukuyksikkö : ' palauttaa yhteystunnisteen takaisin puskuriin ECI_B ja ottaa puskurin kärjestä uuden yhteystunnisteen, jolle se taas suorittaa edellä kuvatut toimenpiteet. Odotetun järjestysnumeron päivitys tapahtuu siis vain silloin, kun solu siirre-35 tään lähtöpuskuriin. Mikäli solu löydetään, voidaan olla varmoja siitä, että se „ 104672 siirtyy yhteyden solujonoon järjestysnumeronsa edellyttämälle kohdalle.
Yhteyden alussa päivitetään ko. yhteyden odotettavissa oleva järjestysnumero nollaksi. Jos yhteydeltä saapuu ensimmäisenä esim. numerolla nolla varustettu solu, se siirretään suoraan lähtöpuskuriin. Jos ensimmäisenä 5 tulevan solun järjestysnumero on esim. yksi, se talletetaan sarakkeeseen yksi, yhteystunnistetta vastaavaan muistipaikkaan. Lisäksi yhteystunniste talletetaan puskuriin ECI_B. Jos seuraavan ko. yhteydeltä saapuvan solun järjestysnumero on esim. kaksi, talletetaan solu jälleen järjestelytaulukkoon ja yhteystunniste puskuriin. Kun lukuyksikkö tässä tapauksessa lukee soluja ennen 10 järjestysnumeron nolla saapumista, se toteaa, ettei järjestelytaulukossa ole soluja, joita voitaisiin siirtää eteenpäin (koska nollaa vastaavalla muistialueella ei ole soluja). Odotettu järjestysnumero pysyy nollana niin kauan kunnes järjestysnumerolla nolla varustettu solu saapuu. Kun tämä solu saapuu, se siirretään suoraan lähtöpuskuriin ja odotettu järjestysnumero päivitetään ykkö-15 seksi. Kun lukuyksikkö tämän jälkeen ottaa ko. yhteyden tunnisteen puskurista ja odotetun järjestysnumeron järjestysnumeroyksiköstä PSN, se löytää järjestysnumerolla yksi varustetun solun järjestelytaulukosta ja siirtää sen lähtöpus-, , kuriin. Siirron tapahduttua päivitetään odotettu järjestysnumero kakkoseksi, I I 7 ';' ' jolloin lukuyksikkö löytää järjestelytaulukosta numerolla 2 varustetun solun.
20 Koko solun sijasta järjestelytaulukon yhteen muistipaikkaan voidaan
Cl· ] tallettaa vain yhteystunniste ja osoitin yhteiseen muistiin, jonne talletetaan ‘ ; kaikki sellaiset solut, joita ei voida siirtää suoraan lähtöpuskuriin. Tätä yhteis- ' '" käyttöistä muistia on kuvioissa merkitty viitemerkillä CM ja se on esitetty katko- ; viivoilla, koska se on rakenteen optionaalinen osa. Järjestelytaulukossa on siis 25 solu tai muita soluun liittyviä tietoja, joiden perusteella solu on löydettävissä.
ψ t = : '·· Tietty osoitinarvo (tai bitti) voi ilmoittaa, että solua ei ole talletettu yhteiskäyttöi- v J seen muistiin.
^ Edellä kuvatulla ratkaisulla on varsin suuri muistinkulutus. Käytännös- -,···. sä varsin realistinen arvo järjestysleimojen lukumääräksi N on 512. Jos olete-
* I
*·* 30 taan, että järjestelytaulukkoon talletetaan vain osoittimet yhteiskäyttöiseen muistiin ja että yhteystunniste esitetään 14 bitillä, jolloin yhteyksiä porttia ' ' kohden on 214= 16384, ja että kunkin solun viemä tila järjestelytaulukossa on 4 tavua (yhteystunniste 2 tavua ja osoitin 2 tavua), saadaan järjestelytaulukon vaatimaksi muistitilaksi 512x16384x4 tavua = 32 MB.
35 Kuviossa 6 on havainnollistettu muistin kulutuksen kannalta huomat- 104672 12 tavasti edullisempaa toteutustapaa. Tässäkin tapauksessa järjestelytaulukossa (tai yleisesti järjestelymuistissa) RST2 on järjestysnumerolta vastaava lukumäärä (N) sarakkeita, mutta rivien lukumääräksi on valittu arvo M, joka on jokin sopiva raja sille, että todennäköisyys, että järjestelytaulukossa sattuisi saman-5 aikaisesti olemaan tarvetta yli M solun verran samalla järjestysnumerolla varustetulle solulle, on hyvin pieni. Käytännössä M voi olla huomattavasti pienempi kuin yhteyksien lukumäärä, kuten jäljempänä havaitaan.
Tällaista järjestelytaulukon voimakasta kompressointia voidaan perustella seuraavilla näkökohdilla. Pienikapasiteettisissa järjestelmissä yhteyk-10 sien solujen järjestys muuttuu tuskin koskaan (jolloin ei myöskään ole tarvetta suurelle järjestelytaulukolle), koska niissä edellinen solu on läpäissyt kytkentäkentän ennen kuin seuraava solu on edes saapunut kytkentäkentän tuloport-tiin. Kansainvälisen standardointijärjestön ITU-T:n standardin 1.371 mukaan soluviive kytkentäkentässä saa olla korkeintaan 300 mikrosekuntia. Sellaisen 15 yhteyden nopeus, jolla soluja saapuu 300 mikrosekunnin välein on 1,4 Mbit/s (=1/0,0003x53(tavuja solussa)x8(bittejä tavussa)). Näin ollen nopeudeltaan alle 1,4 Mbit/s yhteyksien solujärjestys ei pääse koskaan muuttumaan. Koska edellä kuvattu satunnaisreitittävä kenttä jakaa kuorman suhteellisen tasaisesti, on nopeammilla yhteyksillä todennäköisyys, että kytkentäkentän jokin reitti olisi 20 merkittävästi nopeampi kuin toinen, hyvin pieni. Oletetaan vaikkapa ohitusti-lanne, jossa jäljempänä oleva solu löytäisi kentästä reitin, jonka jonoissa on vaikkapa 50 solua vähemmän kuin edellä menneen solun reitillä (mikä on äärimmäisen epätodennäköistä). Tällöin pitäisi yhteyden nopeuden olla vä- *·' ’ hintaan 12,4 Mbit/s (620/50 Mbit/s), jotta solujen järjestyksen muuttuminen olisi 25 edes mahdollista, jos oletetaan, että liitännät kenttään ovat STM-4-tasoa (620 « * : ’* Mbit/s). Pienikapasiteettiset yhteydet, joita mahtuu liitännälle paljon, aiheutta- ' · t v : vat siis tuskin koskaan ongelmia solujen järjestyksen muuttumisen suhteen.
Nopeammat yhteydet aiheuttavat puolestaan ongelmia sitä enemmän, mitä ,*·*. enemmän ne käyttävät kaistaa, mutta samalla tällaisia yhteyksiä mahtuu t * · ·, 30 liitännälle entistä vähemmän (korkeintaan 50 edellä kuvatussa tapauksessa).
i r f '":r Näin ollen on mahdollista rajoittaa järjestelytaulukon rivien lukumäärää voi- r · i r i makkaasti.
Kun kuvion 6 toteutustavassa tarkastusyksikkö havaitsee, että järjestysnumero ei vastaa odotettua järjestysnumeroa, se tallettaa solun sen järjes-35 tysnumeroa vastaavaan sarakkeeseen, ensimmäiseen tyhjään muistipaikkaan.
104672 13
Tarkastusyksikkö käy yksinkertaisesti riviltä nolla lähtien läpi korkeintaan M riviä järjestysleiman osoittamasta sarakkeesta ja tallettaa solun (tai sen yhteystunnisteen ja muistiosoittimen) ensimmäiseen tyhjään muistipaikkaan ja yhteystunnisteen puskuriin ECI_B.
5 Mikäli taas jollakin ajanhetkellä ei saavu soluja lähtöyksikköön tai lukuyksiköllä on muuten vapaata aikaa, se tutkii, onko järjestelytaulukossa lähettämiskelpoisia soluja. Tällöin lukuyksikkö hakee yhteystunnistepuskurin kärjestä lähtöpuolen yhteystunnistearvon ja järjestysnumeroyksiköstä odotetun järjestysnumeron (samoin kuin kuvion 5 toteutustavassa). Tämän jälkeen se 10 hakee järjestysnumeroa vastaavan sarakkeen alusta (riviltä nolla lähtien), onko kyseisessä sarakkeessa samaa yhteystunnistearvoa. Heti löydettyään oikean yhteystunnisteen lukuyksikkö siirtää kyseisen solun lähtöpuskuriin ja kasvattaa odotettua järjestysnumeroa yhdellä. Mikäli sarakkeesta ei löydy oikeaa yhteystunnistetta, lukuyksikkö palauttaa yhteystunnisteen puskurissa ECI_B 15 olevan jonon perään ja ottaa jonon kärjestä uuden yhteystunnisteen, jolle se suorittaa samat toimenpiteet.
Kuvioissa 5 ja 6 on siirtyviä soluja (tai soluun liittyviä tietoja) merkitty . . ohuilla nuolilla, järjestysnumeroiden siirtoa paksuilla nuolilla, yhteystunnistei den siirtoa katkoviivanuolilla, rivinumeron siirtoa vaaleapäisillä katkovii-20 vanuolilla ja muistipaikan varaustilatietoa vaaleapäisillä nuolilla. Kuviossa 5 | olevat nuolet A1 ja A2 kuvaavat osoittimen (koordinaattien) välittämistä järjes- telymuistin sen muistipaikan osoittamiseksi, jonne solu siirretään nuolen A3 mukaisesti. Vastaavasti nuolet A4 ja A5 kuvaavat osoittimen (koordinaattien) ·' ‘ välittämistä järjestelymuistin sen muistipaikan osoittamiseksi, josta solu lue- 25 taan nuolen A6 mukaisesti. Samalla tavalla kuviossa 6 nuolet A1 ja A2 kuvaa- * i : " vat osoittimen (koordinaattien) välittämistä järjestelymuistin sen muistipaikan ·♦« V ' osoittamiseksi, jonne solu siirretään nuolen A3 mukaisesti. Lisäksi nuolet A4 ja ψ A5 kuvaavat osoittimen (koordinaattien) välittämistä järjestelymuistin sen muistipaikan osoittamiseksi, josta solu luetaan nuolen A6 mukaisesti. Nuolet * *« 30 A7 ja A8 kuvaavat puolestaan tyhjän muistipaikan etsimisessä ja hallinnassa I f » , välitettävää tietoa. Kuvioissa on lisäksi jätetty esittämättä ne elimet, jotka 4 i * · f suorittavat aiemmin mainitun muunnoksen ECI -» VP^u/VCI^,, koska kyseiset elimet eivät liity varsinaiseen keksintöön.
Edellä kuvatun kaltaisella lukuperiaatteella toteutuu reiluusperiaate eri 35 yhteyksien kesken siinä mielessä, että mitä enemmän jollakin yhteydellä on 104672 14 soluja järjestelytaulukossa, sitä useammin yhteyden tunniste tulee luetuksi yhteystunnistepuskurista.
Kuvion 6 järjestelytaulukon rivien lukumäärää (M:n arvoa) ja vaadittua muistitilaa voidaan karkeasti arvioida esim. seuraavasti. Mikäli kuvion 6 järjes-5 telytaulukko RST2 on toteutettu jollakin nopealla muistilla, esim. SSRAMilla (Static Synchronous RAM), joiden hakuajat ovat nykyisin alle 20 ns ja järjeste-lytaulukkoon tulee soluja vaikkapa STM-4-vauhdilla (eli 0,68ps välein), yksikkö ehtii jokaisen solun aikana lukea tai kirjoittaa muistiin vähintään 34 (=680/20) kertaa. Jos toteutus on edellä kuvatun kaltainen, tulee M:n arvon olla pienempi 10 kuin 34, mikäli halutaan taata, että ainakin yksi solun etsintä ehditään suorittaa jokaista lähtöön saapuvaa solua kohti. Jos M:n arvo on vaikkapa 32, järjes-tysleimojen lukumäärä esim. 512 ja järjestelytaulukossa säilytetään ainoastaan yhteystunniste (2 tavua) ja osoitin (2 tavua) jaettuun muistiin, saadaan järjestelytaulukon muistitilan tarpeeksi 512x32x4 tavua = 64 kB. Näin ollen on 15 käytännössä jopa mahdollista kasvattaa N:n arvoa, jotta yhteyksien solut saadaan vielä paremmin hajautettua järjestelytaulukkoon.
Yhteiskäyttöisen muistin koon ei tarvitse olla kovin suuri, arviolta n. 100-200 solun muisti on käytännössä riittävä.
Edellä on kuvattu suoraviivainen menettely, jossa solu sijoitetaan v : 20 taulukkoon suoraan järjestysleiman osoittamaan paikkaan eli kasvavassa
I I
: ' järjestyksessä. On myös mahdollista, että solun paikka määrätäänkin jollakin i i i ,; : tunnetulla hajautusfunktiolla, jonka arvo lasketaan järjestysleiman sekä jonkin ,' ; muun vakion, esim. yhteyskohtaisen vakion, avulla, jolloin kaikkien yhteyksien : solut hajautuvat tasaisesti järjestelytaulukkoon.
25 Edellä kuvattua ensimmäistä toteutustapaa on myös mahdollista varioida siten, että tarkastusyksikkö ei suontakaan vertailua, vaan tallettaa kaikki solut (tai osoittimet) suoraan järjestelytaulukkoon, yhteystunnisteen ja • järjestysnumeron ilmoittamaan muistipaikkaan. Lukuyksikkö lukee yhteystun-nistearvon puskurista ECI_B ja odotettavissa olevan järjestysnumeron järjes-30 tysnumeroyksiköstä. Tämän jälkeen lukuyksikkö hakee solua suoraan yhteys-'i'* tunnistearvon ja järjestysnumeroarvon osoittamasta muistipaikasta. Jos solu .löytyy, lukuyksikkö siirtää sen lähtöpuskuriin ja päivittää ko. yhteyden odotetta-vissa olevan järjestysnumeron. Mikäli solua ei löydy, lukuyksikkö palauttaa yhteystunnisteen puskuriin (ICI_B) ja ottaa puskurin kärjestä uuden tunnisteen 35 käsiteltäväksi. Toiminta on siis muuten samanlainen, mutta tässä tapauksessa is 104672 ei suoriteta järjestysleimojen vertailua heti solun saapuessa, vaan kaikki saapuvat solut (tai niiden muistiosoittimet) talletetaan järjestelytaulukkoon ja yhteystunnisteet FIFO-puskuriin ECI_B. Toiminnallisena lohkokaaviona tämä toteutustapa vastaa siis muuten kuviota 5 ja 6, mutta sekä tarkastusyksikön ja 5 järjestysnumeroyksikön että tarkastusyksikön ja lähtöpuskurin väliset yhteydet puuttuvat tässä tapauksessa. Lukuyksikkö päivittää odotettavissa olevaa järjestysnumeroa aina, kun se siirtää solun järjestelytaulukosta lähtöpuskuriin.
Viiveen kannalta on ensimmäisenä esitetty toteutustapa edullisempi, koska siinä voidaan valtaosa paketeista siirtää suoraan lähtöjonoon.
10 Vaikka keksintöä on edellä selostettu viitaten oheisten piirustusten mukaisiin esimerkkeihin, on selvää, ettei keksintö ole rajoittunut siihen, vaan sitä voidaan muunnella oheisissa patenttivaatimuksissa esitetyn keksinnöllisen ajatuksen puitteissa. Kuvioiden 5 ja 6 mukaisiin lähtöyksiköihin voidaan esim. lisätä jokin yhteyskohtainen solu- tai aikalaskuri osoittamaan, että järjestely-15 taulukkoon on saapunut tiettyä ennalta määrättyä lukumäärää enemmän soluja odottamaan tai että järjestelytaulukossa olevat solut ovat odottaneet jo kyllin kauan, jolloin voidaan olettaa, että ainakin yksi solu on kadonnut välistä ja odotettua järjestysnumeroa voidaan kasvattaa yhdellä. Pakettiin liittyvinä tietoina voidaan järjestelytaulukkoon tallettaa vain muistiosoitin ja hakea yh-: 20 teystunnistekin yhteiskäyttöisestä muistista, joskin tämä vaihtoehto vaatii ; " ylimääräisiä muistihakuja. Kun siis oheisissa vaatimuksissa viitataan paketin tietoihin, on sen ymmärrettävä tarkoittavan pakettia tai sen osaa tai mitä ta-
I I
hansa tietoa, jonka avulla paketti tai sen osa on löydettävissä. Lähtöyksikkö I i 1 ·· voi myös sisältää useita yhteystunnistepuskureita (ECI_B) esim. eri liikenne- ν' ·' 25 luokille, sekä muuta yhteyskohtaista tietoa, jota lukuyksikkö voi käyttää suosi akseen esim. viiveherkkää liikennettä.
• · • · « · · • · · • « · • · · • f • « • · · 9 9 9 9 9 9 • « « « · • · · ·

Claims (10)

104672 16
1. Kytkinjärjestely pakettikytkentäistä tietoliikenneverkkoa varten, joka kytkinjärjestely käsittää 5. useita tuloportteja ja useita lähtöportteja, - kytkentäkentän (SWN), - lähtöyksikön (OUi) kunkin lähtöportin ja kytkentäkentän välissä, joka lähtöyksikkö käsittää lähtöpuskurin (OB), johon uloslähteviä paketteja talletetaan, jolloin kukin paketti talletetaan vastaavan lähtöportin lähtöpuskuriin sen 10 jälkeen, kun se on lähtenyt kytkentäkentältä, jonka kytkinjärjestelyn mukaisesti - käytetään virtuaaliyhteyksiä pakettien kytkentään ja kullekin virtuaaliyhteydelle kuuluvissa paketeissa järjestysnumeroja pakettien keskinäisen järjestyksen identifioimiseksi, jolloin kullakin virtuaaliyhteydellä on oma yh- 15 teystunnisteensa, ja - lähtöyksikössä (OUj) ylläpidetään virtuaaliyhteyskohtaisesti tietoa kulloinkin odotettavissa olevan paketin järjestysnumerosta ja järjestetään tietylle virtuaaliyhteydelle kuuluvat paketit oikeaan järjestykseen pakettien järjestysnumeron perusteella, :: 20 tunnettu siitä, että : - pakettien tietoja talletetaan erilliseen järjestelymuistiin (RST1, : RST2), muistialueelle joka määritetään ainakin paketin järjestysnumeron :,' : perusteella, ja * ’·· - järjestelymuistin avulla siirretään paketteja lähtöpuskuriin hakemalla 25 kulloinkin paketin tietoja järjestelymuistin muistialueelta, joka määritetään ainakin odotettavissa olevan järjestysnumeron perusteella, jolloin halutun :‘\ „ paketin tietojen löytyessä siirretään kyseinen paketti lähtöpuskuriin, ja jolloin : - siirrettäessä paketti lähtöpuskuriin päivitetään odotettavissa olevan .·’ paketin järjestysnumeroa. * ·« *... 30
2. Patenttivaatimuksen 1 mukainen kytkinjärjestely, jossa verrataan lähtöyksikköön saapuvan solun järjestysnumeroa odotettavissa olevan paketin ,.i järjestysnumeroon, tunnettu siitä, että kukin paketti siirretään suoraan lähtöpuskuriin, kun järjestysnumero ja odotettavissa olevan paketin järjestysnumero ovat yhtä suuria ja järjestelymuistiin, kun paketin järjestysnumero ja 35 odotettavissa olevan paketin järjestysnumero ovat eri suuria. i 104672 17
3. Patenttivaatimuksen 2 mukainen kytkinjärjestely, tunnettu siitä, että - paketin tiedot talletetaan muistialueelle, joka määritetään pelkästään paketin järjestysnumeron perusteella, ja tallennus suoritetaan kyseisen muisti- 5 alueen alusta lukien ensimmäiseen vapaaseen muistipaikkaan, ja - järjestelymuistista haetaan paketin tietoja muistialueelta, joka määritetään pelkästään odotettavissa olevan järjestysnumeron perusteella, jolloin haku suoritetaan käymällä järjestyksessä läpi kyseisen muistialueen muistipaikkoja.
4. Patenttivaatimuksen 3 mukainen kytkinjärjestely, tunnettu siitä, että järjestelymuisti on kaksidimensioinen taulukko, ja että paketin tiedot talletetaan ja niitä haetaan taulukon muistialueelta, joka muodostuu järjestysnumeron kulloinkin ilmoittamasta rivistä tai sarakkeesta.
5. Patenttivaatimuksen 3 mukainen kytkinjärjestely, tunnettu siitä, 15 että kyseisellä muistialueella on erikseen osoitettavia muistipaikkoja vähemmän kuin tuettujen yhteyksien lukumäärä.
6. Patenttivaatimuksen 3 mukainen kytkinjärjestely, tunnettu siitä, että muistipaikkaan talletetaan ainakin pakettiin liittyvä yhteystunniste.
, , 7. Patenttivaatimuksen 2 mukainen kytkinjärjestely, tunnettu siitä, 20 että muistialue määritetään paketin järjestysnumeron ja pakettiin liittyvän yhteystunnisteen perusteella.
8. Patenttivaatimuksen 7 mukainen kytkinjärjestely, tunnettu siitä, että järjestelymuisti on kaksidimensioinen taulukko, ja että paketin tiedot talle- ' ’* tetaan ja niitä haetaan taulukon muistialueelta, joka määräytyy paketin järjes- *« · ; : 25 tysnumeron ilmoittaman ensimmäisen dimension koordinaatin ja pakettiin liittyvän yhteystunnisteen ilmoittaman toisen dimension koordinaatin risteys- < « ; ' · · kohdassa olevasta taulukon alkiosta.
9. Patenttivaatimuksen 1 mukainen kytkinjärjestely, tunnettu siitä, i\ että tuloporttiin tulevan paketin sisältämästä yhteystunnisteesta muodostetaan .··', 30 kytkimen sisäinen yhteystunniste, joka liitetään kytkinkentän läpi välitettävään * ? pakettiin. * f»
• · ’· 10. Patenttivaatimuksen 1 mukainen kytkinjärjestely, tunnettu sii- ’ ’ tä, että paketit talletetaan yhteiskäyttöiseen muistiin (CM) ja paketin tietoihin kuuluu osoitin sille yhteiskäyttöisen muistin alueelle, johon paketti on talletettu. I 35 ie 104672
FI972979A 1997-07-14 1997-07-14 Kytkinjärjestely FI104672B (fi)

Priority Applications (8)

Application Number Priority Date Filing Date Title
FI972979A FI104672B (fi) 1997-07-14 1997-07-14 Kytkinjärjestely
BR9810719-4A BR9810719A (pt) 1997-07-14 1998-07-14 Dispositivo de comutação para uma rede de telecomunicações de comutação de pacotes
EP98935047A EP1013132B1 (en) 1997-07-14 1998-07-14 Switch arrangement
AU84431/98A AU8443198A (en) 1997-07-14 1998-07-14 Switch arrangement
DE69836969T DE69836969D1 (de) 1997-07-14 1998-07-14 Vermittlungsanordnung
PCT/FI1998/000588 WO1999007180A2 (fi) 1997-07-14 1998-07-14 Switch arrangement
CN98808148A CN1267441A (zh) 1997-07-14 1998-07-14 交换设备
US09/480,235 US6735203B1 (en) 1997-07-14 2000-01-10 Switch arrangement

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI972979 1997-07-14
FI972979A FI104672B (fi) 1997-07-14 1997-07-14 Kytkinjärjestely

Publications (3)

Publication Number Publication Date
FI972979A0 FI972979A0 (fi) 1997-07-14
FI972979A FI972979A (fi) 1999-01-15
FI104672B true FI104672B (fi) 2000-04-14

Family

ID=8549249

Family Applications (1)

Application Number Title Priority Date Filing Date
FI972979A FI104672B (fi) 1997-07-14 1997-07-14 Kytkinjärjestely

Country Status (8)

Country Link
US (1) US6735203B1 (fi)
EP (1) EP1013132B1 (fi)
CN (1) CN1267441A (fi)
AU (1) AU8443198A (fi)
BR (1) BR9810719A (fi)
DE (1) DE69836969D1 (fi)
FI (1) FI104672B (fi)
WO (1) WO1999007180A2 (fi)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000295279A (ja) * 1999-04-02 2000-10-20 Nec Corp パケットスイッチ
KR20000074195A (ko) * 1999-05-19 2000-12-15 강병호 다중 경로 비동기 전송 모드 스위치를 위한 고속 셀 순서 처리장치 및 방법
US7106728B1 (en) 2000-05-01 2006-09-12 Industrial Technology Research Institute Switching by multistage interconnection of concentrators
US7186464B2 (en) 2000-05-19 2007-03-06 Chevron Phillips Chemical Co. Lp Compatible blend systems of oxygen barrier polymers and oxygen scavenging polymers
US6591285B1 (en) 2000-06-16 2003-07-08 Shuo-Yen Robert Li Running-sum adder networks determined by recursive construction of multi-stage networks
US7058070B2 (en) * 2001-05-01 2006-06-06 Integrated Device Technology, Inc. Back pressure control system for network switch port
US7609695B2 (en) * 2001-06-15 2009-10-27 Industrial Technology Research Institute Optimizing switching element for minimal latency
US7103059B2 (en) * 2001-06-15 2006-09-05 Industrial Technology Research Institute Scalable 2-stage interconnections
US7027443B2 (en) * 2001-08-23 2006-04-11 Pmc-Sierra Ltd. Reassembly engines for multilink applications
JP2005503699A (ja) * 2001-08-31 2005-02-03 アダプテック・インコーポレイテッド コンピュータネットワークでホストベースのセキュリティを行うシステムおよび方法
US8189591B2 (en) 2001-10-30 2012-05-29 Exar Corporation Methods, systems and computer program products for packet ordering for parallel packet transform processing
US7088719B2 (en) * 2001-12-21 2006-08-08 Agere Systems Inc. Processor with packet processing order maintenance based on packet flow identifiers
US7613200B1 (en) * 2002-01-15 2009-11-03 Cisco Technology, Inc. Method and apparatus using a random indication to map items to paths and to recirculate or delay the sending of a particular item when a destination over its mapped path is unreachable
AU2003221530A1 (en) * 2002-03-05 2003-09-16 International Business Machines Corporation Method and system for ordered dynamic distribution of packet flows over network processors
US20030196081A1 (en) * 2002-04-11 2003-10-16 Raymond Savarda Methods, systems, and computer program products for processing a packet-object using multiple pipelined processing modules
US7224691B1 (en) 2002-09-12 2007-05-29 Juniper Networks, Inc. Flow control systems and methods for multi-level buffering schemes
CN100420236C (zh) * 2005-04-29 2008-09-17 华为技术有限公司 用于WiMAX流交换的交换系统
US20070076761A1 (en) * 2005-09-15 2007-04-05 Coke Reed Apparatus for interconnecting multiple devices to a synchronous device
CN1859263B (zh) * 2005-11-16 2010-10-06 华为技术有限公司 信元重排序方法、使用该方法的信元处理方法及装置
US8179887B1 (en) * 2008-02-01 2012-05-15 Tellabs Operations, Inc. Method and apparatus for improving performance of TDM sequencing for packet processing engines using a delay line
US8547971B1 (en) 2009-01-07 2013-10-01 Marvell Israel (M.I.S.L) Ltd. Multi-stage switching system
US8358651B1 (en) 2009-09-21 2013-01-22 Marvell International Ltd. Switch device having a plurality of processing cores
US8984206B2 (en) 2012-10-31 2015-03-17 International Business Machines Corporation Weightage-based scheduling for hierarchical switching fabrics
US9455907B1 (en) 2012-11-29 2016-09-27 Marvell Israel (M.I.S.L) Ltd. Multithreaded parallel packet processing in network devices
US9553820B2 (en) 2012-12-17 2017-01-24 Marvell Israel (M.L.S.L) Ltd. Maintaining packet order in a parallel processing network device
WO2014096964A1 (en) 2012-12-17 2014-06-26 Marvell Israel (M.I.S.L. ) Ltd. Maintaining packet order in a parallel processing network device
US8902899B2 (en) * 2013-02-08 2014-12-02 International Business Machines Corporation Input buffered switching device including bypass logic
CN105164984B (zh) * 2013-03-13 2019-01-08 马维尔以色列(M.I.S.L.)有限公司 保持并行处理网络设备中的分组顺序的方法和设备
US9571380B2 (en) 2013-09-10 2017-02-14 Marvell World Trade Ltd. Multi-stage interconnect network in a parallel processing network device
US9571541B1 (en) 2013-10-03 2017-02-14 Marvell Israel (M.I.S.L.) Ltd. Network device architecture using cache for multicast packets
US9374303B1 (en) 2013-10-15 2016-06-21 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for processing multicast packets
CN106537863B (zh) 2013-10-17 2019-11-26 马维尔国际贸易有限公司 用于并发地处理网络分组的方法和设备
US9479620B2 (en) 2013-10-17 2016-10-25 Marvell World Trade Ltd. Packet parsing and key generation in a network device
US9923813B2 (en) 2013-12-18 2018-03-20 Marvell World Trade Ltd. Increasing packet processing rate in a network device
US9467396B2 (en) 2014-04-11 2016-10-11 International Business Machines Corporation Simultaneous transfers from a single input link to multiple output links with a timesliced crossbar
US9886273B1 (en) 2014-08-28 2018-02-06 Marvell Israel (M.I.S.L.) Ltd. Maintaining packet order in a parallel processing network device
US9954771B1 (en) 2015-01-30 2018-04-24 Marvell Israel (M.I.S.L) Ltd. Packet distribution with prefetch in a parallel processing network device
US10904150B1 (en) 2016-02-02 2021-01-26 Marvell Israel (M.I.S.L) Ltd. Distributed dynamic load balancing in network systems
US10367758B2 (en) 2016-09-12 2019-07-30 Marvell World Trade Ltd. Merging read requests in network device architecture
US10701002B1 (en) 2016-12-07 2020-06-30 Marvell International Ltd. System and method for memory deallocation
US10318449B2 (en) 2016-12-07 2019-06-11 Marvell World Trade Ltd. System and method for memory access token reassignment
CN110383777B (zh) 2017-03-28 2022-04-08 马维尔亚洲私人有限公司 端口扩展器设备的灵活处理器
CN112334982A (zh) 2018-07-30 2021-02-05 马维尔国际贸易有限公司 共享存储器块配置
US11343358B2 (en) 2019-01-29 2022-05-24 Marvell Israel (M.I.S.L) Ltd. Flexible header alteration in network devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3942977A1 (de) * 1989-12-23 1991-06-27 Standard Elektrik Lorenz Ag Verfahren zum wiederherstellen der richtigen zellfolge, insbesondere in einer atm-vermittlungsstelle, sowie ausgangseinheit hierfuer
DE4008080A1 (de) * 1990-03-14 1991-09-19 Standard Elektrik Lorenz Ag Atm-vermittlungsstelle
DE69225592T2 (de) * 1992-09-18 1998-09-10 Alsthom Cge Alcatel System zur Wiederherstellung der Zellenreihenfolge für ein Telekommunikationsnetzwerk
JP2629568B2 (ja) 1993-07-30 1997-07-09 日本電気株式会社 Atmセル交換方式
US5481536A (en) * 1993-10-29 1996-01-02 Siemens Aktiengesellschaft Method for restoring a prescribed sequence for unordered cell streams in ATM switching technology
US5859835A (en) * 1996-04-15 1999-01-12 The Regents Of The University Of California Traffic scheduling system and method for packet-switched networks
US5987028A (en) * 1997-05-12 1999-11-16 Industrial Technology Research Insitute Multiple channel ATM switch

Also Published As

Publication number Publication date
WO1999007180A3 (fi) 1999-04-29
WO1999007180A2 (fi) 1999-02-11
EP1013132A2 (en) 2000-06-28
AU8443198A (en) 1999-02-22
FI972979A (fi) 1999-01-15
BR9810719A (pt) 2000-08-08
EP1013132B1 (en) 2007-01-24
DE69836969D1 (de) 2007-03-15
CN1267441A (zh) 2000-09-20
US6735203B1 (en) 2004-05-11
FI972979A0 (fi) 1997-07-14

Similar Documents

Publication Publication Date Title
FI104672B (fi) Kytkinjärjestely
FI104671B (fi) Kytkentäkenttäjärjestely
EP0471344B1 (en) Traffic shaping method and circuit
EP0681770B1 (en) Controlled access atm switch
US5555256A (en) Channel identifier generation
US5535197A (en) Shared buffer switching module
EP1041780B1 (en) A large combined broadband and narrowband switch
EP0276349B1 (en) Apparatus for switching information between channels for synchronous information traffic and asynchronous data packets
US5610914A (en) Shared buffer memory switch for an ATM switching system and its broadcasting control method
JP2907886B2 (ja) スイッチングシステム
US6611527B1 (en) Packet switching apparatus with a common buffer
EP0492025A1 (en) High-speed multi-port FIFO buffer circuit
US20030231583A1 (en) Methods and apparatus for selecting the better cell from redundant streams within a cell-oriented environment
GB2290433A (en) ATM communications system
US6747954B1 (en) Asynchronous transfer mode switch providing pollstate status information
US5793766A (en) Multiplexing process in an asynchronous transfer mode telecommunication network and switching node implementing the process
FI103310B (fi) Puskuroinnin toteuttaminen pakettikytkentäisessä tietoliikenneverkossa
JP3208078B2 (ja) パケット通信網
AU724624B2 (en) Controlled access ATM switch
SE514992C2 (sv) Metod och anordning för koppling av olika stora TDM-kanaler
JPH1174892A (ja) セル交換機
JP2871652B2 (ja) Atmスイッチ
JP3019853B2 (ja) Atmスイッチおよびその制御方法
KR100645612B1 (ko) 원격 통신 스위칭 네트워크
Kariniemi et al. Scaleable ATM Switch Architecture for CATV Networks and Dimensioning of its Buffers