SE524262C2 - Metod och system för automatisk samverkan mellan intelligenta enheter i ett nätverk - Google Patents

Metod och system för automatisk samverkan mellan intelligenta enheter i ett nätverk

Info

Publication number
SE524262C2
SE524262C2 SE0103535A SE0103535A SE524262C2 SE 524262 C2 SE524262 C2 SE 524262C2 SE 0103535 A SE0103535 A SE 0103535A SE 0103535 A SE0103535 A SE 0103535A SE 524262 C2 SE524262 C2 SE 524262C2
Authority
SE
Sweden
Prior art keywords
message
channel
devices
channels
messages
Prior art date
Application number
SE0103535A
Other languages
English (en)
Other versions
SE0103535D0 (sv
SE0103535L (sv
Inventor
Robert Majanen
Mattias Rehnman
Xiaohong Jin
Anders Risberg
Original Assignee
Abb Ab
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 Abb Ab filed Critical Abb Ab
Priority to SE0103535A priority Critical patent/SE524262C2/sv
Publication of SE0103535D0 publication Critical patent/SE0103535D0/sv
Priority to PCT/SE2002/001948 priority patent/WO2003036873A1/en
Priority to US10/493,658 priority patent/US7936779B2/en
Priority to EP02782054.7A priority patent/EP1446915B1/en
Publication of SE0103535L publication Critical patent/SE0103535L/sv
Publication of SE524262C2 publication Critical patent/SE524262C2/sv

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Description

20 25 30 35 524 262 2 En anordning är en fysisk enhet som kan utföra arbete, till exem- pel en sensor, en motor, en ventil, en cylinder, en industrirobot, uppvärmning-, ventilations-, och luftkonditioneringsanordningar, eller konsumtionsanordningar såsom tvättmaskiner och belys- ningsapparater. Om anordningen är försedd med en hårdvaruen- het innehållande en processor och en mjukvaruenhet så att an- ordningen kan utföra logiska operationer så blir den en intelligent anordning.
Uppfinningen är till exempel användbar för automatisering i indu- stri, byggnads och hem sammanhang ,varvid information utbyts mellan anordningar eller mellan anordningar och kontrollsystem.
I synnerhet, men inte uteslutande, är uppfinningen lämplig för användning i samband med anordningar innefattande inbäddad intelligens.
TEKNIKENS STÅNDPUNKT Moderna industristyrsystem för processkontroll och tillverkning är utvecklade för användning inom stora automatiseringssystem för tunga industrier, såsom olja och gas samt papper och massa.
Dessa kontrollsystem måste kunna hantera flera tusen datasigna- ler och mjukvaruobjekt som representerar riktiga enheter, vilket sätter stora krav på hårdvaran som den skall köras på. l ett tradi- tionellt styrsystem sker all kommunikation mellan styrsystemet och anordningarna och det finns inte någon direkt kommunikation mellan anordningarna. Anordningarna sänder information till styrsystemet angående deras status och tillstånd, och kontrollsy- stemet skickar styrsignaler till anordningarna. Detta resulterar i stora styrsystem och en omfattande nätverkskommunikation mel- lan styrsystemen och anordningarna. Sådana stora industristyr- system som kräver en omfattande hårdvara är inte lämpliga för små användare som endast har några få anordningar som skall styras.
Det är en trend idag att tillhandahålla inbäddad intelligens i indu- stri och konsumtionsanordningar, så kallade inbäddade anord- 10 15 20 25 30 35 524 262 å 3 ningar. En inbäddad anordning innefatta hårdvara och mjukvara för att utföra operationer på data från anordningen och att utföra beräkningar och logiska beslut. I allmänhet har inbäddade an- ordningar begränsad processorkraft och begränsat med minne.
Det är också känt att ansluta inbäddade anordningar till ett nät- verk och att få dem att kommunicera med varandra. Ett system av inbäddade anordningar är kapabelt att styra och övervaka an- ordningar lokalt och således minskar behovet av ett styrsystem och kommunikationslasten i systemet minskar.
Ett krav på ett kontrollsystem är att det skall vara enkelt att kon- figurera när en ny anordning ansluts till systemet. För det ända- målet har ett antal standarder utvecklats för att automatiskt upp- täcka nya anordningar, vilka generellt är kända som ”Plug and Play”. En av kommunikationsstandarderna för hemautomatisering är ”Universal Plug and Play (UPnP). UPnP är en arkitektur för ”peer to peer” nätverksanslutning mellan persondatorer av alla typer och inbäddade anordningar. När en ny anordning ansluts till nätverket sänder anordningen ett meddelande till alla de and- ra anordningarna i nätverket med information om sig själv.
UPnP:n specificerar kommunikationsprotokoll såsom ”Simple Service Protocol” (SSDP) för upptäckat av anordningar, ”Simple Object Access Protocol” (SOAP) för fjärrmetodanrop och ”Gene- ral Event Notification Architecture (GENA) för dataprenumeratio- ner. Dessa kommunikationsprotokoll är alla baserade pá existe- rande lnternetprotokoll, exempelvis TCP/lP (Transmission Con- trol Protocol/Internet Protocol. Således är all kommunikation mel- lan anordningar som använder UPnP beroende av TCP/lP. Om ett meddelande skall sändas via något annat media än Internet, med användande ett annat protokoll än TCP/IP, måste medde- landena översättas från TCP/IP till andra protokoll. Senare när meddelandet har mottagits måste det översättas tillbaka till TCP/IP innan det kan tolkas av SSDP, GENA eller SOAP. Såda- na andra medier och protokoll är till exempel trådlös kommunika- tion, med användning av blåtand, direkt anslutning via en serie nollmodemkabel eller kommunikation med användande av tele- 10 15 20 25 30 35 524 262" fonmodem, ”Global System for Mobile telecommunications" (GSM) eller ”General Packet Radio Service” (GPRS). Andra an- vändbara protokoll för trådlös överföring är UMTS, AMPS eller DAMPS.
TCP/IP kräver generellt en omfattande användning av minne.
Dessutom kräver översättningen mellan TCP/IP och andra proto- koll såväl tid som minne och processorkapacitet. Detta är oför- delaktigt i samband med små inbäddade anordningar som van- ligtvis har begränsat med minne och processorkapacitet. När an- ordningarna dessutom inte är anslutna till Internet är det dessut- om ofördelaktigt att använda TCP/IP.
SAMMANFATTNING AV UPPFINNINGEN Ändamålet med föreliggande uppfinningar är att tillhandahålla en metod för att tillhandahålla ett system av intelligenta anordningar som interagerar med varandra och automatiskt upptäcker nya anordningar genom att sända och mottaga meddelanden över ett nätverk innefattande ett flertal olika kommunikationsprotokoll och fysiska anslutningar, en metod som inte är beroende av ett visst protokoll och som gör det möjligt för anordningar med begränsat minne att kommunicera med andra anordningar på nätverket.
Detta ändamål åstadkommes medelst den initialt definierade me- toden som kännetecknas av att den innefattar stegen att en intel- ligent anordning ansluts till en annan intelligent anordning via en anslutning som har ett kommunikationsprotokoll, anslutningen upptäcks och anslutningens kommunikationsprotokoll identifie- ras, för var och en av anordningarna skapas en kanal, anpassad för att sända och mottaga meddelanden mellan anordningar över de bestämda kommunikationsprotokollet. Med en sådan metod kan en 'intelligent anordning anslutas till enannan intelligent an- ordning oberoende av kommunikationsprotokollet hos anslutning- en mellan dem och det blir möjligt för anordningarna att skicka meddelanden till varandra utan att behöva översätta mellan olika protokoll. Tack vare att det inte behövs någon översättning be- 10 15 20 25 30 35 524 262 5 l hövs mindre minne och mindre processorkapacitet. Tack vare att det är möjligt att välja mellan olika kommunikationsprotokoll kan ett kommunikationsprotokoll som kräver mindre minne väljas om minnet är begränsat.
Enligt en föredragen utföringsform av uppfinningen skapas nya kanaler genom en upprepning av ovanstående steg för åtminsto- ne ytterligare en intelligent anordning som ansluts till en av an- ordningarna via en anslutning som har ett annat kommunika- tionsprotokoll. Således kan en intelligent anordning anslutas till ett antal andra intelligenta anordningar via skilda protokoll.
Enligt en föredragen utföringsform av uppfinningen innefattar me- toden steget att koppla bort en intelligent anordning från en an- nan intelligent anordning, upptäcka frånkopplingen och förstöra de icke anslutna kanalerna på varje anordning. Således skapas och förstörs kanaler dynamiskt beroende på anslutning och från- koppling av intelligenta anordningar på nätverket och varje intel- ligent anordning kommer endast att innefatta de kanaler som be- hövs för tillfället.
Enligt ytterligare en föredragen utföringsform av uppfinningen in- nefattar metoden steget att ett meddelande skapas som har ett destinationsadressfält, meddelanden sänds via åtminstone en av anordningens kanaler. Först skapas meddelandet oberoende av vilket protokoll som skall användas för att sända meddelandet och sedan sänds meddelandet via en eller flera kanaler som tar hand om översättningen av meddelandet till det protokoll som behövs för att sända iväg det. Eftersom skapandet och sändan- det av ett meddelande hanteras separat är det möjligt att skapa meddelandet oberoende av vilket protokoll som används för att sända iväg det. På så sätt kan skapande och hantering av med- delanden ske likformigt, trots att olika kommunikationsprotokoll används.
Enligt ytterligare en föredragen utföringsform av uppfinningen in- nefattar metoden stegen att ett direkt meddelande skapas genom 10 15 20 25 30 35 524 262m att en destinationsadress läggs till destinationsadressfältet, var- vid destinationsadressen innefattar adressen för åtminstone en sändande kanal och åtminstone en mottagande kanal och med- delandet sänds via kanalerna som specificeras i destinations- adressen. Eftersom meddelandena innefattar information om vil- ka kanaler meddelandena ska sändas emellan är det lätt att han- tera sändning och vidarebefordran av meddelandena.
Enligt ytterligare en föredragen utföringsform av uppfinningen in- nefattar metoden stegen att ett direkt meddelande mottages på en av kanalerna hos en intelligent anordning, meddelandets des- tinationsadress låses. Om destinationsadressen motsvarar adressen som tillhör anordningen överförs meddelandet till en hanterare hos anordningen för vidare behandling och tolkning.
Annars sänds meddelandet vidare via en av de andra kanalerna hos anordningen, vilken kanal specificeras i destinationsadres- sen. På så sätt är det möjligt att sända ett meddelande via en kanal som har ett första protokoll och vidaresända den till andra intelligenta anordningar via anslutningar som har andra protokoll.
Enligt ytterligare en utföringsform av uppfinningen innefattar me- toden steget att ta bort adressen för den mottagande kanalen från destinationsadressen hos meddelandet efter det att medde- landet är mottaget. Om meddelandena skall vidaresändas till en annan intelligent anordning innefattar metoden steget att ta bort adressen för den vidaresändande kanalen från destinations- adressen hos meddelandet innan meddelandet sänds vidare. På så vis tas använda kanaler bort från adressen och adressen kommer alltid att innehålla adresserna för de återstående kana- lerna som meddelandet skall passera igenom.
Enligt ytterligare en utföringsform av uppfinningen innefattar me- toden steget att skapa ett utsändningsmeddelande och sända meddelandet via alla kanalerna hos anordningen. Utföringsfor- men innefattar vidare steget att utsändningsmeddelandet tas emot av en av kanalerna hos anordningen och utsändningsmed- 10 15 20 25 30 35 524 262 7 delandet sänds vidare via alla de andra kanalerna hos nämnda anordning.
Enligt ytterligare en utföringsform av uppfinningen innefattar me- toden stegen att adressen för den enhet som genererade medde- landet läggs till ett vägvalsfält i meddelandet. Utföringsformen innefattar vidare steget att adressen för den mottagande kanalen läggs till ett vägvalsfält i meddelandet efter det att meddelandet har mottagits från en kanal. Utföringsformen innefattar vidare steget att adressen för den sändande kanalen läggs till vägvals- fältet i meddelandet före sändning eller vidaresändning av med- delandet. Ett vägvalsfält skapas längs med meddelandets väg för att det skall vara möjligt att följa meddelandets väg. Vägvalsfältet innehåller information om varje kanal genom vilken meddelandet har passerat pä vägen som meddelandet har följt från platsen där det blev genererat fram till den sist besökta platsen.
Enligt ytterligare en utföringsform av uppfinningen innefattar me- toden följande steg när en ny kanal har skapats: ett sökmedde- lande skapas, sökmeddelandet sänds via alla tidigare kanaler hos anordningen, svar pà sökmeddelandet tas emot från andra anordningar anslutna till anordningen via de tidigare kanalerna och svaren sänds vidare via den nya tillförda kanalen. Därmed kommer alla nya anordningar anslutna till anordningen via den nya kanalen att få information om adresserna till alla tidigare an- ordningar som redan är anslutna till anordningen. information om adresserna till de tidigare anordningarna är inkluderade i väg- valsfältet.
Enligt en utföringsform av uppfinningen innefattar metoden vida- re följande steg när en ny kanal har skapats: det nya meddelan- det sänds via den nya kanalen, svar på sökmeddelanden från andra intelligenta anordningar anslutna till anordningen via den nya kanalen mottages och svaren sänds vidare via alla de tidiga- re kanalerna. På så sätt kommer alla tidigare anordningar an- slutna till anordningen via de tidigare kanalerna att få information 10 15 20 25 30 35 524 262 8 om adresserna till alla de nya anordningarna anslutna till anord- ningen via den nya kanalen.
Enligt ytterligare en utföringsform av uppfinningen innefattar me- toden stegen att en del av bandbredden hos kanaler som anslu- ter två intelligenta anordningar reserveras för sändande och mot- tagande av meddelanden från en specifik källa i en av anord- ningarna till en specifik destination i den andra anordningen. Det finns situationer där förutsägbara svarstider för meddelandena är nödvändiga för att erhålla realtidsduglighet. Detta åstadkommes genom att reservera en del eller delar av en kanals bandbredd för sådana meddelanden. Enligt en utföringsform därav innefattar metoden vidare stegen att ett meddelande för reservationsbegä- ran skapas, meddelandet för reservationsbegäran sänds och nämnda kanaler frågas om de har tillräckligt med bandbredd.
Enligt ytterligare en utföringsform av uppfinningen innehåller meddelandet för reservationsbegäran storleken på den begärda bandbredden och en option för att acceptera lägre bandbredd. I vissa applikationer måste den begärda bandbredden accepteras, annars är det inte möjligt att sända meddelandet. Vid andra ap- plikationer är det möjligt att acceptera en lägre bandbredd än den begärda. Genom den här utföringsformen är det möjligt att begära en hög bandbredd och om begäras inte uppfylls accepte- ra en lägre bandbredd och på så sätt erhålla så mycket band- bredd som möjligt.
Ytterligare ett ändamål med föreliggande uppfinning är att till- handahålla ett system innefattande ett antal intelligenta anord- ningar anslutna till varandra, vilka anordningar är anpassade för att interagera med varandra och automatiskt upptäcka nya an- ordningar genom att sända och mottaga meddelanden över ett nätverk innefattande ett flertal olika kommunikationsprotokoll och/eller fysiska anslutningar. Ett system som gör det möjligt för intelligenta anordningar med ett begränsat minne att kommunice- ra med andra intelligenta anordningar på nätverket. 10 15 20 25 30 35 i 524 262 9 Detta ändamål uppnås medelst det initialt definierade systemet kännetecknat av att nätverket innefattar ett flertal anslutningar med olika kommunikationsprotokoll och att nämnda mjukvaruen- het innefattar medel för att upptäcka en ny anslutning mellan an- ordningarna, att identifiera kommunikationsprotokollet hos den nya anslutningen och att skapa en kanal anpassad för att sända och mottaga meddelanden mellan anordningarna över det be- stämda kommunikationsprotokollet. Genom att förse anordningen med kanaler anpassade för att sända och mottaga meddelanden över olika kommunikationsprotokoll kan skapandet och hanteran- det av meddelandena ske separat från kommunikationshanter- ingen och kan således ske oberoende av något kommunikations- protokoll.
Enligt ytterligare en utföringsform av uppfinningen är nämnda upptäckande och skapande medel anpassat för att känna igen ett antal fördefinierade kommunikationsprotokoll och för att skapa kanaler anpassade för att sända och mottaga meddelanden mel- lan anordningar över nämnda fördefinierade kommunikationspro- tokoll. Enligt en utföringsform av denna innefattar nämnda upp- täckande och skapande medel ett antal kanaldrivare som var och en är anpassad för att känna igen ett fördefinierat kommunika- tionsprotokoll och att skapa en kanal anpassad för att sända och mottaga meddelanden mellan anordningarna över nämnda förde- finierade kommunikationsprotokoll.
Enligt ytterligare en utföringsform av uppfinningen är nämnda upptäckande och skapande medel anpassat för att upptäcka ur- koppling av anordningar och för att ta abort kanaler vid urkopp- ling. Genom att ta bort kanalerna när de inte längre behövs spa- ras minne och ej anslutna kanaler undviks.
Enligt ytterligare en utföringsform av uppfinningen innefattar mjukvaruenheten en meddelandehanteringsenhet som hanterar skapandet av nya meddelanden och behandlar meddelanden som mottagits från andra anordningar. Meddelandehanteringen är så- ledes separerad från hanteringen av kommunikationen av medde- 10 15 20 25 30 35 524 262 10 landena. Företrädesvis innefattar nämnda meddelandehanter- ingsenhet moduler för hantering av fjärranrop, prenumeration på data och för att upptäcka och hämta information om nya anord- ningar. Enligt en utföringsform därav innefattar mjukvaruenheten en kanalhanteringsenhet som hanterar mottagande, sändning och vidaresändning av meddelanden via kanalerna hos anordningen och överförande av meddelandena till och från meddelandehan- teringsenheten.
Enligt ytterligare en utföringsform av uppfinningen är meddelan- dehanteringsenheten anpassad för att skapa ett meddelande som har ett destinationsadressfält och kanalhanteringsenheten är an- passad för att sända meddelanden via en eller flera av kanalerna hos anordningen, i beroende på innehållet i adressfältet. Enligt en utföringsform därav är kanalhanteringsenheten anpassad för att ta bort adressen för den mottagande kanalen från destina- tionsadressen hos mottagna meddelanden och för att ta bort adressen för den vidaresändande kanalen från destinations- adressen för vidaresända meddelanden.
Ytterligare ett ändamål med uppfinningen är att tillhandahålla en datordatasignal lämplig för kommunikation mellan anordningar i ett system enligt uppfinningen. Detta ändamål uppnås med en datordatasignal innefattande ett meddelande som har ett adress- fält innefattande namnet på alla kanaler genom vilka meddelan- det har passerat på sin väg till sin destination.
KORT BESKRIVNING AV RITNINGAFlNA Uppfinningen skall nu förklaras närmare med hjälp av olika be- skrivna utföringsformer av uppfinningen och med hänvisning till de bifogade ritningarna.
Fig. 1 visar en fysisk anordning och dess mjukvarurepresen- tation. 10 15 20 25 30 35 524 262 11 Fig. 2 visar arkitekturen hos ett system enligt en utföringsform av uppfinningen.
Fig. 3 visar ett blockdiagram för en programmodul represente- rande anordningen.
Fig. 4 visar mer i detalj hur tre programmoduler är anslutna till varandra i nätverket.
Fig. 5 visar ett exempel på adressering och skapande av ett vägvalsfält i ett system enligt uppfinningen.
Fig. 6 visar bandbreddsreservation av en kanal. oETALJERAo BEsKRlVNING Av FÖREDRAGNA uTFöRuves- FoRMER Av uPP|=|NN|NeEN Ett system enligt uppfinningen innefattar ett antal intelligenta an- ordningar anslutna till varandra genom ett nätverk. En anordning är en enhet som utför någon form av arbete, till exempel en mo- tor, en cylinder, en dator eller en industrirobot. En intelligent an- ordning i ett system enligt uppfinningen innefattar åtminstone en anordning, en hårdvaruenhet som har en processor, minne och l/O anslutningar och en mjukvaruenhet som har en programmodul som tillhandahåller funktionalitet för styrning och övervakning av anordningen och för att interagera med dessa anordningar. Pro- grammodulen innefattar en eller flera tjänster. En tjänst tillhan- dahåller en uppsättning av funktioner för styrning och övervak- ning av anordningen, till exempel prenumeration på data eller ut- förande av styrkommandon. En anordning kan ha en eller flera tjänster. När anordningen har mer än en tjänst representerar var- je tjänst en grupp av funktionalitet av en specifik typ, till exempel för diagnostisering av anordningen eller för styrning av anord- ningen.
Varje tjänst tillhör en tjänsteleverantör. En tjänsteleverantör re- presenterar en anordning eller ett undersystem innefattande ett 10 15 20 25 30 35 L524 262 12 flertal anordningar och/eller tjänsteleverantörer och är en rent logisk enhet. Programmodulen kan ha mer än en tjänsteleveran- tör som var och en representerar olika anordningar. Programmo- dulen tillhandahåller kommunikationsramverket, kommunikations- funktionaliteten och den utförande omgivningen för tjänsterna och representerar en nod i nätverket. Programmodulen hanterar all kommunikation till och fràn tjänsterna. Programmodulen är ut- förd i mjukvara och implementerar protokoll för att upptäcka en anordning, fjärrmetodanrop, dataprenumeration, alarm eller hän- delsegenerering. Programmodulen genererar och sänder medde- landen från tjänster tillhörande modulen och mottager och tolkar meddelanden till nämnda tjänster.
Figur 1 visar en anordning 1 som är en motor och dess mjukvaru- representation. Anordningen är representerad av en tjänsteleve- rantör 2 som adresserar tre tjänster 3a-3c, varvid var och en av tjänsterna representerar en grupp av funktionalitet för övervak- ning och styrning av anordningen. Den första tjänsten 3a innefat- tar funktioner för diagnostik, den andra tjänsten 3b innefattar funktioner för man-maskinsamverkan och den tredje tjänsten 3G innefattar styrfunktioner för anordningen. Tjänsteleverantören 2 och tjänsterna 3a-3c finns i programmodulen 4. Anordningen in- nefattar en hårdvaruenhet 6 innefattande en processor på vilken programmodulen 4 körs och minne för att spara programmodulen.
Hårdvaruenheten 6 innefattar ett antal fysiska anslutningar 7 för elektrisk eller optisk anslutning till andra anordningar. Program- modulen 4 innefattar vidare ett antal kanaler 9a-9c anpassade för att sända och mottaga meddelanden till andra anordningar över olika kommunikationsprotokoll. En kanals uppgift är att översätta och tolka meddelanden av ett visst kommunikationsprotokoll.
Intelligent och värdehöjande funktionalitet tillhandahålls av tjäns- terna. Tjänsterna ger kunskap om varandra via tillkännagivande vid startande och stoppande av tjänsterna. Efter att ha samlat in kunskap om varandra kan de manipulera andra tjänster genom att anropa exponerade metoder såväl som att mottaga statusin- formation genom att prenumerera på variabler, alarm eller hän- 10 15 20 25 30 35 524 262 13 delser i andra tjänster. På så sätt kan en tjänsts fysiska anord- ning hanteras genom att manipulera och läsa dessa data.
Figur 2 visar arkitekturen för ett system enligt uppfinningen. Sy- stemet innefattar ett flertal programmoduler 4a-4c, vilka var och en härbärgerar en eller flera tjänster 3 och tjänsteleverantörer 2 som representerar anordningar. Tjänsterna och tjänsteleverantö- rerna kan läggas till och tas bort när det behövs. Tjänster och tjänsteleverantörer är anslutna via virtuella länkar. Programmo- dulerna är anslutna till andra programmoduler genom kanaler 9 som skapar ett nätverk 15. Nätverket 15 innefattar ett antal ytter- ligare programmoduler som inte visas i figur 2.
Programmodulerna kommunicerar med varandra medelst medde- landen. För att nå en programmodul från en annan programmodul mäste meddelarna gå igenom ett flertal programmoduler som vi- daresänder meddelandena, det vill säga alla programmoduler har inte direkt anslutning till alla andra programmoduler i nätverket.
Varje kanal i en programmodul är ansluten till en kanal hos en annan programmodul. Emellertid kan flera kanaler ansluta två programmoduler. I allmänhet gäller att en programmodul handhar tjänster och tjänsteleverantörer och tillhandahåller interageringen mellan lokala och fjärrtjänster, varvid lokala tjänster är tjänster som finns i samma programmodul och fjärrtjänster är tjänster som finns i andra programmoduler inom samma nätverk.
Figur 3 visar ett blockdiagram för en programmodul 4. Program- modulen innefattar tjänster 3a-3c, kanaler 9a-9c, en administra- torhanterare 20 som hanterar administrationen av tjänsterna och tjänsteleverantören, till exempel start, stopp, avbrott, flytta och tilldela nytt namn. Programmodulen 4 innefattar vidare en kanal- hanterare 22 som handhar vidarebefordring, vägval och avsän- dande av meddelanden, ett antal kanaldrivare 24a-24c som ska- par nya kanaler, ett register 26 innehållande all nödvändig infor- mation avseende programmodulen, tjänsteleverantörerna och tjänsterna som tillhör modulen och ett antal olika hanterare 28- 31. En sökhanterare 28 hanterar sökningen efter anordningar på 10 15 20 25 30 35 524 262 14 nätverket. En tillkännagivandehanterare 29 hanterar upptäckts- mekanismer för att upptäcka nya anordningar, tjänsteleverantörer och tjänster. En RMl-hanterare 30 hanterar fjärrmetodanrop. En AEV-hanterare 31 hanterar prenumeration på alarm, händelser och variabler.
Programmodulen innefattar ett antal kanaldrivare 24a-24d, var och en avdelad för en speciell typ av fysisk eller trådlös anslut- ning som har ett specifikt kommunikationsprotokoll. Kanaldriva- rens uppgift är att upptäcka nya anslutningar mellan anordningar av den anslutningstyp som kanaldrivaren är avsedd för och att skapa kanaler anpassade för att sända och mottaga meddelan- den mellan anordningar med användning av kommunikationspro- tokoll för den typen av anslutning. Således lyssnar kanaldrivaren efter anslutningsförsök och också försök att skapa anslutningar.
Vid anslutning skapas en kanal och kanalhanteraren underrättas om dess existens. Vid frånkoppling tar kanaldrivaren bort kana- len från programmodulen.
Kanaldrivaren 24a är en serielänkkanaldrivare. En seriekanaldri- vare skapar serielänkkanaler som tillhandahåller kommunikation mellan anordningar över en seriell kabel. Anslutningen av en se- rielänk är punkt till punkt. Serielänkkanaldrivaren inspekterar om serieportar läggs till eller tas bort och återspeglar detta genom att skapa och ta bort kanaler. Kommunikationsprotokollet för en serielänk är enkelt och innefattar sändning och mottagning av en seriell ström av tecken.
Kanaldrivare 24b är en TCP/IP kanaldrivare. En TCP/IP kanaldri- vare kan skapa två typer av kanaler. Den första typen av kanal är en fleranvändaruppkoppling användande "User Datagram Proto- col” (UDP) och den andra typen av kanal är ett dedikerat socket- par som definieras av en IP-adress och ett portnummer. Med en fleranvändarkanal kan ett meddelande sändas till alla andra no- der anslutna till samma lokala nätverk. Den kan också användas för att sända meddelanden till noder specificerade av IP- adresser. Typen av anslutning mellan TCP/IP-kanaler med fler 10 15 20 25 30 35 524 262 15 användarfunktioner är punkt till flera punkter, medan typen av anslutning mellan socketparkanaler är punkt till punkt. Kanaldrí- varen 24c är en blåtandkanaldrivare. En blåtandkanaldrivare skapar kanaler anpassade för trådlös sändning via ett blåtand- protokoll. Anslutningen mellan två blåtandkanaler är av punkt till punkt typ.
Kanaldrivaren 24d är en telefonnätverkskanaldrivare och kan skapa kanaler av typen punkt till punkt och punkt till flera punk- ter. l det första fallet är kanalen lika med en serielinjekanal. l det andra fallet kan kanalen vara ansluten till flera noder med olika telefonnummer och kanalens uppgift är att komma ihåg och han- tera alla telefonnummer och kan på så sätt skicka ett fleranvän- darmeddelande. På samma sätt som för serielinjekanalen är pro- tokollet för en telefonnätverkskanal enkel och innefattar sändning och mottagning av en seriell ström av tecken.
En kanal är ett oberoende objekt som används tillsammans med en andra kanal för att ansluta två olika programmoduler. En ka- nal skapas och förstörs dynamiskt av kanaldrivaren. För att an- sluta tvâ programmoduler måste var och en av programmoduler- na innehålla en kanal av rätt typ, det vill säga de två kanalerna som används för att ansluta motsvarande par av programmoduler måste vara av samma typ. En enkel kanal av punkt till flera punk- ter kan användas för att ansluta en programmodul till flera andra.
Således kan två typer av kommunikationslänkar skapas med an- vändning av kanaler: punkt till punkt och punkt till flera punkter.
En punkt till punkt kommunikationslänk är en anslutning mellan två kanaler av en typ som endast kan endast kan anslutas till en annan kanal. Ett exempel på en punkt till punkt kanal är en seri- ell linje. En punkt till flera punkter kommunikationslänk är en an- slutning mellan kanaler anslutna till ett flertal andra kanaler. Ett exempel på en punkt till flera punkter kanal är en TCP/IP-kanal med UDP. Ett flertal programmoduler anslutna via punkt till flera punkterlänkar formar ett lokalt nätverk i systemet. Med använ- dande av en punkt till flera punkter kanal kan ett meddelande 10 15 20 25 30 35 524 262 16 sändas ut till alla programmoduler på det lokala nätverket. En punkt till flera punkter kanal är adresserbar vilket innebär att ett direkt meddelande måste precisera en nätverksadress för att ka- nalen skall känna till destinationskanalen. l exemplet som visas i figur 3 innefattar programmodulen tre ka- naler 9a-9b. Kanal 9a är en blåtandkanal som programmodulen använder för anslutning till andra programmoduler som också har en blåtandkanal. De två blåtandkanalerna kommer att forma den begärda kommunikationslänken. Kanal 9b är en TCP/IP kanal som programmodulen använder för att ansluta till andra pro- grammoduler som har en TCP/IP kanal. Kanalen 9c är en serie- linjekanal. Varje kanal 9a-9c tillhandahåller ett gränssnitt som gör det möjligt för en kanalhanterare att sända meddelanden och att fråga efter statusen för kanalerna. Kanalerna meddelar kanal- hanteraren när nya data har anlänt.
Varje meddelande som kommer utifrån programmodulen anländer via en av kanalerna 9a-9c som är anslutna till programmodulen.
Kanalen ifråga kommer att överföra meddelandet till kanalhante- raren 22. Kanalhanteraren 22 är ansvarig för att ta hand om med- delanden från andra hanterare 28-31 i programmodulen eller från andra programmoduler. Kanalhanteraren 22 undersöker ett mot- taget meddelande och bestämmer om den mottagande program- modulen är adresserad av det mottagna meddelandet. Om detta är fallet överför kanalhanteraren meddelandet till lämplig hante- rare enligt meddelandetypen för vidare behandling. Om medde- landet inte adresserar den mottagande programmodulen kommer kanalhanteraren att sända det vidare till näst programmodul ge- nom kanalen som ges av meddelandets destinationsadress. Ka- nalhanteraren kommer också att sända vidare tillkännagivande och sökmeddelanden via alla de andra kanalerna.
Hanterarna 28-31 har det gemensamt att de hanterar inkomman- de meddelanden och skapar utgående meddelanden enligt speci- ficerade funktionalitetsprotokoll_ Ett funktionalitetsprotokoll speci- ficerar reglerna för kommunikationen mellan tjänsterna. Enligt 10 15 20 25 30 35 524 262 17 uppfinningen är funktionalitetsprotokollet och kommunikations- protokollet separerade. Hanterarna skapar meddelanden enligt funktionalitetsprotokollet och kanalerna översätter meddelandena till det kommunikationsprotokoll som krävs för att sända medde- landena över en viss anslutning. På så sätt hanteras och skapas alla meddelanden pä samma sätt oberoende av typen av anslut- ning som det skall sändas över, det vill säga oberoende av an- slutningens kommunikationsprotokoll.
Tillkännagivandehanteraren är ansvarig för hanteringen av till- kännagivandemeddelanden såsom ”alive” och ”bye-bye” medde- landen och för att överföra dem till tjänster som kan vara intres- serad av meddelandet. FiMl-hanteraren har två huvuduppgifter: att konstruera utgående fjärrmetodanropmeddelanden och att hantera inkommande fjärrmetodanropmeddelanden. AEV-hante- raren tar hand om meddelanden avseende prenumerationer, för- nyade prenumerationer såväl som att återkalla och publicera alarm, händelser och variabler.
En sökhanterare är ansvarig för hantering av inkommande och utgående sökmeddelanden. Häri refererar ett inkommande med- delande till ett meddelande som anländer via en av kanalerna hos programmodulen. Utgående sökmeddelanden refererar till meddelanden genererade av tjänster som finns i programmodu- len. När ett sökmeddelande anländer till en programmodul utför programhanteraren sökningen genom att titta i registret. Om re- gisterhanteraren hittar en matchning mellan sökkriteriet och re- gisterinformationen kommer den att generera motsvarande svarsmeddelande och sända det tillbaka till kanalhanteraren. Ka- nalhanteraren kommer att i sin tur skicka det tillbaka till pro- grammodulen som startade sökningen. När en tjänst tillhörande programmodulen sänder ut ett sökmeddelande överlämnas med- delandet först till sökhanteraren. Sökhanteraren skapar ett sök- meddelande och sänder det till kanalhanteraren som sänder ut meddelandet till hela nätverket via alla tillgängliga kanaler för ex- tern sökning. Matchningar i avlägsna programmoduler kommer att generera svarsmeddelande som kommer att sprida sig till 10 15 20 25 30 35 524 262 18 tjänster som sänder sökmeddelandet via tillkännagivandehante- raren.
När en tjänst önskar anslutas, kopplas bort eller annonsera sin flyttning från systemet modifierar administrationshanteraren re- gistret och kanalhanteraren kommer att sända ut meddelandet till hela systemet via kanalerna.
Figur 4 visar i mer detalj hur tre programmoduler 41, 42, 43 är anslutna till varandra i nätverket. Programmodulen 41 innefattar en blàtandkanal 45 ansluten till en motsvarande blàtandkanal 48 hos programmodulen 42. Kanalerna 45 och 48 formar en punkt till punkt kommunikationslänk mellan modulerna 41 och 42. Pro- grammodulen 42 innefattar också en seriekanal 49 ansluten till en motsvarande seriekanal 52 hos programmodulen 43. Serieka- nalerna 49 och 52 bildar en punkt till punkt kommunikationslänk mellan modulerna 42 och 43. Programmodulen 41 innefattar vida- re en TCP/IP kanal 46 av punkt till flera punkter typ ansluten till en motsvarande TCP/IP kanal 53 hos programmodulen 43 och till ett flertal andra programmoduler som bildar ett lokalt nätverk 55.
TCP/IP kanalerna 46 och 53 bildar en adresserbar punkt till flera punkter kommunikationslänk mellan modulerna 41 och 43.
Generella meddelandehanteringsmekanismer för vägval, vidare- sändning och avsändning utförs av kanalhanteraren. Vidare- sändning av inkommande punkt till punkt meddelanden, det vill säga meddelanden som har en mottagningsadress benämns diri- gering. Meddelandena kan vara av två olika typer: antingen ett direkt meddelande som har en destinationsadress eller ett ut- sändníngsmeddelande som har en tom destinationsadress. Ett utsändningsmeddelande sänds till varje programmodul på nät- verket. Varje meddelande innefattar en meddelandespeoifik del, ett destinationsadressfält och ett vägvalsfält. Den meddelande- specifika delen innehåller en eller flera fält som är specifika för typen av meddelande. Vägvalsfältet innefattar vägen som medde- landet följer från platsen där det genererades fram till den sist besökta platsen. 10 15 20 25 30 35 524 262 19 Varje kanal har ett namn som är unikt inom programmodulen, el- ler om det är en adresserbar kanal ansluten till ett lokalt nätverk är namnet unikt inom det lokala nätverket. Meddelandets adress innefattar namnet på alla kanaler genom vilka meddelandet mås- te passera på sin väg till destinationsprogrammodulen, namnet på destinationstjänsteleverantören och namnet på destinations- tjänsten. Vägvalsfältet byggs upp pà samma sätt som adressfäl- tet och det innefattar namnet på den sändande tjänsten, namnet på den sändande tjänsteleverantören och namnen på alla kanaler genom vilka meddelandet har passerat på sin väg fram till den senaste sökta platsen.
Figur 5 visar ett nätverk innefattande ett antal programmoduler 60-68 anslutna till varandra genom nätverket. Nätverket innefat- tar två lokala TCP/IP nätverk 70, 71 och ett lokalt telecomnätverk 72. Såsom ett exempel sänder programmodulen 62 ett direkt meddelande till programmodulen 66. Meddelandet färdas från programmodul 62 till programmodul 63 via en serielänkkanal BT4 ansluten till en serielänkkanal BT3 hos programmodul 63. Pro- grammodul 63 sänder meddelandet vidare till programmodulerna 64 via en TCP/IP-kanal lP1 och TCP/IP-nätverket 70. Meddelan- dena mottages av en TCP/IP-kanal |P3 hos programmodul 64.
Programmodul 64 sänder meddelandet vidare via en telefonnät- verkskanal TNFil genom telefonnätverket 72 till programmodul 66 som mottager meddelandet via en telefonnätverkskanal TNR2.
När meddelandet sänds från en tjänst hos programmodul 62 in- nehåller adressfältet adressen: BT4/BT3/lP1/lPß/TNFit/TNRZ/ mottagande tjänste|everantör/mot- tagande tjänst.
När meddelandet har anlänt till programmodul 66 kommer väg- valsfältet att innehålla följande adress: BT4/BT3/lP1/lP3/TNR1/TNR2/ sändande tjänst/sändande tjänste- leverantör 10 15 20 25 30 35 524 262 20 Således kan ett komplett vägvalsfält användas direkt som en destinationsadress.
Om en programmodul sänder ett utsändningsmeddelande är adressfältet tomt och de mottagande programmodulerna kommer att sända meddelandet på alla sina kanaler utom pà den kanalen som tog emot utsändningsmeddelandet. Om till exempel pro- grammodul 63 tar emot ett utsändningsmeddelande frän pro- grammodul 62 kommer den att sända meddelandet vidare på ka- nalerna BT1, BT2 och lP1.
Om en programmodul mottager ett meddelande via en kanal kommer meddelandet att sändas vidare till kanalhanteraren som bestämmer vad som skall göras med meddelandet genom att un- dersöka adressfältet och typen av meddelande. Beroende på re- sultatet kommer den antingen att skicka iväg meddelandet till en passande hanterare för vidare behandling eller sända det vidare antingen via andra kanaler eller via en definierad kanal.
Proceduren för dirigering av ett meddelande är följande: Om meddelandet anländer från en kanal tas den första adressen i adressfältet bort. Målkanalen sätts till den andra adressen i adressfältet. Om målkanalen är en adresserbar kanal används den tredje adressen i adressfältet som adressen pà det lokala nätverket och meddelandet sänds via målkanalen. Om medde- landet istället anländer från en av hanterarna sätts målkanalen till den första adressen i adressfältet. Om målkanalen finns sänds meddelandet via den kanalen, annars skapas ett ej- mottaget meddelande och sänds till källan med användning av vägvalsfältet.
Ett tillkännagivande eller ett sökmeddelande som anländer till en kanal sänds vidare till alla de andra kanalerna hos programmo- dulen, varvid dessa kanaler inte är inkluderade i vägvalsfältet och förs antingen över till tillkännagivandehanteraren eller sök- hanteraren. lnnan kanalhanteraren sänder ett tillkännagivande 10 15 20 25 30 35 524 262 21 eller sökmeddelande vidare läggs namnet på den sändande ka- nalen till vägvalsfältet i meddelandet. Denna procedur vid vida- rebefordrandet säkerställer att alla tjänster kommer att få ett till- kännagivande/söksvar från varje väg (sekvens av kanaler) att meddelandet kan färdas mellan två programmoduler och över- lämnana beslutet om vilken väg som skall användas till tjänsten.
När ett meddelande vidarebefordras (för utsändningsmeddelan- den) eller dirigerade (enligt adressfältet i punkt till punkt begä- ran) skapas vägvalsfältet enligt följande procedur. Om medde- landet anländer via en kanal läggs namnet på den anländande kanalen till början av vägvalsfältet. Om meddelandet anländer från en intern hanterare läggs ingenting till vägvalsfältet (namnet på tjänsteleverantören och tjänsten har redan lagts till i hantera- ren). Ett meddelande sänds över alla de andra kanalerna och namnet på den sändande kanalen läggs till i början av vägvals- fältet.
Kanalhanteraren undersöker typen av det inkommande medde- landet och om destinationsadressen är tom, det vill säga inte in- nehåller några kanalnamn, överför kanalhanteraren meddelandet till lämplig hanterare. För varje typ av meddelande finns en spe- cialiserad hanterare. För varje punkt till punkt meddelande, an- tingen en förfrågan eller ett svar, sänder motsvarande hanterare ett mottagningsbekräftelsemeddelande som låter ursprunget till meddelandet veta att meddelandet har mottagits och hanterats och det således inte längre finns något behov av att sända med- delandet igen.
När en tjänst, en tjänsteleverantör, programmodul eller kanal tas bort från systemet måste de andra programmodulerna meddelas.
Meddelandet sker medelst ”alive” eller ”bye-bye”- meddelanden.
När en tjänst tas bort från systemet sänder den programmodul som innehåller tjänsten ett ”bye-bye"-meddelande via alla sina kanaler. Detta meddelande skapas och sänds av tillkännagivan- dehanteraren när denne mottager en sådan order från registret.
Omedelbart när meddelandet är sänt kan tjänsten tas bort från 10 15 20 25 30 35 524 262 22 systemet. På samma sätt sänder programmodulen ett ”bye-bye”- meddelande när en tjänsteleverantör eller en kanal tas bort. När en programmodul tas bort mäste alla dess kanaler automatiskt tas bort och ett "bye-bye”-meddelande måste sändas för varje kanaL När en tjänst, tjänsteleverantör eller en programmodul läggs till systemet mäste de andra programmodulerna i systemet upplysas om detta. När en tjänst läggs till i systemet måste den program- modul som innehåller tjänsten sända iväg ett ”alive”-meddelande via alla sina kanaler. Detta meddelande skapas och sänds av till- kännagivandehanteraren när denne mottager en sådan order från registret. När en tjänsteleverantör tillförs systemet sänder mot- svarande programmodul ett ”alive"-meddelande på alla sina ka- naler. När en programmodul läggs till kommer alla de andra pro- grammodulerna i systemet att upplysas om platsen och livstiden för den tillagda programmodulen via ett "alive”-meddelande som sänds via alla kanaler.
För att introducera en ny kanal och informera alla anordningar innefattade i nätverket om att en ny väg är tillgänglig utför kanal- hanteraren följande procedur: när en ny kanal läggs till en pro- grammodul genererar kanalhanteraren ett sökmeddelande som sänds via alla de föregående kanalerna hos programmodulen.
Följaktligen, eftersom anordningar innefattar nätverkssvar på sökmeddelanden, kommer kanalhanteraren att sända vidare sva- ren via den nya tillagda kanalen. Om den tillagda kanalen är av typen punkt till flera punkter utförs också en sökning på den nya kanalen och svar omvandlas till ”alive”-tillkännagivanden som sänds till det första nätverket. Denna procedur kommer att intro- ducera den nya vägen och tillåta anslutning av två oberoende nätverk.
På så sätt kan en kanal användas för att ansluta tvà oberoende nätverk. Kanalhanteraren är ansvarig för anslutningen av de två nätverken. När en ny kanal skapas av en första programmodul på ett första nätverk och ansluts till en kanal hos en andra pro- 10 15 20 25 30 35 524 262 23 grammodul på ett andra nätverk utför kanalhanteraren en sök- ning inom den innehållna programmodulen och inom det första nätverket via kanalerna som redan är anslutna till programmodu- len. Som svar på sökmeddelandena genererar programmodulerna på det första nätverket ”alive”-tillkännagivande för alla enheter, till exempel tjänster funna i sökningen. ”Alive"-tillkännagivandet sänds genom den nya kanalen och vidarebefordras till alla de andra programmodulerna på det andra nätverket. På samma sätt utför den andra programmodulen en sökning på det andra nät- verket och genererar motsvarande ”alive”-tillkännagivande som sänds till alla programmodulerna på det första nätverket. På så sätt kommer alla anordningarna på båda nätverken att bli infor- merade om alla andra anordningar som de kan tänkas vara in- tresserade av.
Där finns situationer när förutsägbara svarstider för RMI, alarm, händelser eller variabel publicering eller informationsåtkomst år nödvändigt för att erhålla realtidsfunktionalitet. Detta åstadkoms genom att reservera en del eller delar av en kanals resurspool av bandbredd endast för en tjänsts behov. Kanalhanteraren håller reda pä varje kanals reservationer, det vill säga den tillåtna tra- fikbelastningen för varje kanal och typen av meddelanden som släpps igenom den reserverade bandbreddsresursen.
Figur 6 visar bandbreddsresursen hos en kanal. En kanal inne- håller initialt en bandbreddsresurs del 80 som inte kan reserve- ras och en del 82 som är tillgänglig för en eller flera reservatio- ner. Den bandbreddsresursen 80 som inte kan reserveras an- vänds för alla andra meddelanden. De reserverade bandbredds- resurserna används endast för dedikerade meddelanden. När en reservering är nödvändig reserveras den del av bandbreddsre- sursen 81 tills inga mer reservationer kan göras. Såsom visas i figur 6 har tre delar 82, 83, 84 av bandbreddsresurspoolen 81 reserverats. Den del av bandbreddsresurspoolen som ännu inte har blivit reserverad används temporärt för alla andra meddelan- den. 10 15 20 25 30 35 524 262 24 När en tjänst behöver en reserverad väg, det vill såga band- bredd, till en annan tjänst för sina meddelanden sänder den ut en reservationsbegäran. Begäran överförs till kanalhanteraren. Ka- nalhanteraren frågar den kanal som ska användas om dess bandbredd. Om kanalen har tillräckligt med bandbredd och ka- nalhanteraren tillåter att delar av den reserveras, kommer kanal- hanteraren att skapa ett reservationsbegäransmeddelande som sänds till nästa kanalhanterare, om det finns någon, i kedjan. När nästa kanalhanterare mottager ett reservationsbegäransmedde- lande frågar den först den kanal som användes för de inkom- mande meddelandena om dess bandbredd. Alltså om mål- tjänsten finns i en annan programmodul måste kanalhanteraren fråga den kanalen som användes för de utgående meddelandena om dess bandbredd.
Slutligen när meddelandet når programmodulen, som håller till i mål-tjänsten, kommer kanalhanteraren ifråga att fråga den här tjänsten om dess bandbredd. All reservationsbegäran är beviljad om varje kanal och tjänst har tillräckligt med bandbredd och varje kanalhanterare uppskattar att det är möjligt att hantera den re- serverade vågen. Den sist besökta kanalhanteraren kommer då att skicka ett reservationssvarsmeddelande innehållande den be- viljade bandbredden till den kanalhanterare som ursprungligen sände ut förfrågan. Om någon reservationsbegäran inte kan be- viljas kommer kedjan av förfrågningar att misslyckas. Den sist besökta kanalhanteraren kommer då att sända iväg ett reserva- tionssvarsmeddelande innehållande den lägst beviljade band- bredden som finns tillgänglig till kanalhanteraren som ursprungli- gen sänder begäran. Om all tillgänglig bandbredd redan har re- serverats för någon av instanserna kommer reservationssvars- meddelandet att återvända med en beviljad bandbredd som är noll. I detta fall kommer inte någon reservation att ske. Kanal- hanteraren kommer att sända ett svar till tjänsten som ursprung- ligen sänder reservationsbegäran, för att tala om ifall reservatio- nen blev beviljad. 10 15 524 262' 25 Fleservationsbegäran innefattar en möjlighet för att acceptera en lägre bandbredd än begärd. Om det är accepterat att ha en lägre bandbredd sätts en flagga benämnd acceptera lägre flagga till sann i reservationsbegäran. Annars sätts acceptera lägre flaggan till falsk. Beviljandeprocessen beror på acceptera lägre flaggan.
Om acceptera lägre flaggan är satt till falsk kommer kedjan av begäran att misslyckas så fort som begäran inte kan uppfyllas.
Emellertid om acceptera låg flaggan är satt till sann kommer ked- jan av begäran att fortsätta och den lägst beviljade bandbredden kommer att returneras via reservationssvarsmeddelandet.
Föreliggande uppfinning är inte begränsad till de visade utfö- ringsformerna utan kan varieras och modifieras inom ramen för de följande kraven. Till exempel vilka hanterare som finns i pro- grammodulen kan varieras beroende pä vilken funktionalitet som önskas av programmodulen.

Claims (38)

10 15 20 25 30 35 524 262 26 PATENTKRAV
1. En metod för att tillhandahålla ett system av intelligenta an- ordningar anslutna till varandra genom ett nätverk, varvid anord- ningarna interagerar med varandra och automatiskt upptäcker nya anordningar genom att sända och ta emot meddelande över nätverket, varvid metoden innefattar att: a) en intelligent anordning ansluts till en annan intelligent an- ordning via en anslutning som har ett kommunikationsprotokoll, b) anslutningen upptäcks och anslutningens kommunikations- protokoll identifieras och c) för var och en av anordningarna skapas en kanal, anpassad för att sända och mottaga meddelanden mellan anordningarna över det identifierade kommunikationsprotokollet, var och en av kanalerna är anpassade för att översätta och tolka meddelanden av det identifierade kommunikations protokollet och d) ett meddelande sänds från den ena av nämnda anordningar till den andra anordningen via nämnda kanaler.
2. En metod enligt krav 1, innefattande nya kanaler skapas genom en upprepning av stegen a - c hos krav 1 för åtminstone ytterligare en intelligent anordning som är ansluten till en av de andra anordningarna via en anslutning som har ett annat kom- munikationsprotokoll.
3. En metod enligt krav 1 eller 2, innefattande stegen att en av anordningarna kopplas från en annan anordning, frånkopplingen upptäcks och för var och en av anordningarna tas de icke anslut- na kanalerna bort.
4. En metod enligt något av föregàende krav, varvid nämnda protokoll är något av TCP/IP, UDP/TCP/IP, Bluetooth eller noll- modem, telefonmodem, GSM, GPRS. 10 15 20 25 30 35 ø u v u nu u 524 262 27
5. En metod enligt något av kraven 2 - 4, innefattande stegen att ett meddelande med ett destinationsadressfält skapas och meddelandena sänds via åtminstone en av kanalerna hos anord- ningen.
6. En metod enligt krav 5, innefattande stegen ett direkt meddelande skapas genom att en destinationsadress läggs i destinationsadressfältet, varvid destinationsadressen in- nefattar adressen till åtminstone en sändande kanal och åtmin- stone en mottagande kanal och meddelandet sänds via den kanal som specificeras i destinationsadressen.
7. En metod enligt något av kraven 2-6, innefattande stegen att: - ett direkt meddelande mottages på en av kanalerna hos an- ordningen, - meddelandets destinationsadress läses, - om destinationsadressen motsvarar anordningens adressen avsånds meddelandet till en hanterare hos anordningen för vidare behandling och tolkning, annars sänds meddelandet vidare via en av de andra kanalerna hos anordningen, vil- ken kanal är specificerad i destinationsadressen.
8. En metod enligt krav 7, innefattande att adressen för den mottagande kanalen tas bort från destinationsadressen hos med- delandet efter mottagande av meddelandet.
9. En metod enligt krav 8, innefattande att adressen för den vidarebefordrande kanalen tas bort från destinationsadressen hos meddelandet innan meddelandet sänds vidare.
10. En metod enligt krav 5 innefattande stegen att ett utsänd- ningsmeddelande skapas och meddelandet sänds via alla kana- lerna hos anordningen. 10 15 20 25 30 35 s u 0 v o. 524 262 28
11. En metod enligt något av kraven 2-10, innefattande stegen att ett utsändningsmeddelande tas emot på en av kanalerna hos anordningen och utsändningsmeddelandet sänds vidare via alla de andra kanalerna hos anordningen.
12. En metod enligt något av kraven 5, 6, 10, innefattande att adressen till den enhet som genererade meddelandet läggs in i ett vägvalsfält i meddelandet.
13. En metod enligt något av kraven 7-9 och 11, innefattande att adressen hos den mottagande kanalen läggs in i ett vägvals- fält i meddelandet efter mottagande av meddelandet från en ka- nal.
14. En metod enligt kraven 12 eller 13, innefattande att adres- sen för den sändande kanalen läggs in i vägvalsfältet i medde- landet före sändning eller vidarebefordran av meddelandet.
15. En metod enligt något av kraven 12-14, innefattande att föl- jande steg utförs när en ny kanal har skapats: - ett sökmeddelande skapas, - sökmeddelandet sänds via alla tidigare kanaler hos anordning- en, - svar på sökmeddelandet tas emot från andra anordningar an- slutna till anordningen via de tidigare kanalerna, och - svaren vidarebefordras via den nya tillagda kanalen.
16. En metod enligt krav 15, innefattande att sökmeddelandet sänds via den nya kanalen, svaren på sökmeddelandet mottas från andra anordningar anslutna till anordningen via den nya ka- nalen och svaren vidarebefordras via alla de tidigare kanalerna.
17. En metod enligt något av de föregående kraven, innefattan- de att en del av bandbredden hos kanalerna som ansluter två in- telligenta anordningar reserveras för sändning och mottagande av meddelande från en specifik källa i en av anordningarna till en specifik destination i den andra anordningen. 10 15 20 25 30 35 u . | n nu 524 262 29
18. En metod enligt krav 17, innefattande att ett meddelande för reservationsbegäras skapas, meddelandet för reservations- begäran sänds och nämnda kanaler tillfrågas om de har tillräck- ligt med bandbredd.
19. En metod enligt krav 18 varvid meddelandet för reserva- tionsbegäran innehåller storleken på den begärda bandbredden och en option för att acceptera lägre bandbredd.
20. Ett system innefattande ett antal intelligenta anordningar anslutna till varandra genom ett nätverk, varvid anordningarna är anpassade för att interagera med varandra och att automatiskt upptäcka nya anordningar genom att sända och mottaga medde- lande över nätverket, varvid var och en av de intelligenta anord- ningarna har en hårdvaruenhet (6) och en mjukvaruenhet (4), kännetecknat av att nätverket innefattar ett flertal anslutningar med olika kommunikationsprotokoll och att nämnda mjukvaruen- het innefattar medel (24a-24d) för att upptäcka en ny anslutning mellan anordningarna, att identifiera kommunikationsprotokollet hos den nya anslutningen och för att skapa en kanal (9a-9c) an- passad för att översätta och tolka meddelanden av det identifie- rade kommunikations protokollet och att i samverkan med andra kanaler sända och mottaga meddelanden mellan anordningarna över det bestämda kommunikationsprotokollet.
21. Ett system enligt krav 20, kännetecknat av att nämnda upp- täckande och skapande medel (24a-24d) är anpassat för att kän- na igen ett antal fördefinierade kommunikationsprotokoll och att skapa kanaler (9a-9c) anpassade för att sända och mottaga meddelanden mellan anordningarna över nämnda fördefinierade kommunikationsprotokoll.
22. Ett system enligt krav 20, kännetecknat av att nämnda upp- täckande och skapande medel innefattar ett antal kanaldrivare (24a-24d) som var och en är anpassad för att känna igen ett för- definierat kommunikationsprotokoll och för att skapa en kanal 10 15 20 25 30 35 n ø ø - .o 524 262 30 anpassad för att sända och mottaga meddelanden mellan anord- ningarna över nämnda fördefinierade kommunikationsprotokoll.
23. Ett system enligt något av kraven 20-22, kännetecknat av att nämnda upptäckande och skapande medel (24a-24d) är an- passat för att upptäcka fránkoppling av anordningarna och för att ta bort kanalen vid frånkoppling.
24. Ett system enligt något av kraven 20-23, kännetecknat av att mjukvaruenheten innefattar en meddelandehanteringsenhet (28-31) som hanterar skapandet av nya meddelanden och tar hand om meddelanden mottagna från andra anordningar.
25. Ett system enligt något av kraven 20-24, kännetecknat av att nämnda meddelandehanteringsenhet innefattar moduler för hantering av fjärranrop (30), för prenumeration på data (31) och för att upptäcka och hämta information om nya anordningar (29).
26. Ett system enligt något av kraven 24-25, kännetecknat av att mjukvaruenheten innefattar en kanalhanteringsenhet (22) som hanterar mottagande, sändning och vidarebefordran av medde- landen via kanalerna hos anordningen och skickar över medde- landen till och från meddelandehanteringsenheten.
27. Ett system enligt krav 26 kännetecknat av att meddelande- hanteringsenheten (28-31) är anpassad för att skapa ett medde- lande som har ett destinationsadressfält och kanalhanteringsen- heten (22) är anpassad för att sända meddelandet via en eller flera av kanalerna (9a-9c) hos anordningen i beroende av inne- hållet i adressfältet.
28. Ett system enligt krav 26 eller 27, kännetecknat av att ka- nalhanteringsenheten (22) är anpassad för att ta bort adressen för den mottagande kanalen från destinationsadressen hos det mottagna meddelanden och för att ta bort adressen för den vida- rebefordrande kanalen från destinationsadressen hos vidarebe- fordrade meddelanden. 10 15 20 25 30 35 - ø » ~ u. 524 262 31
29. Ett system enligt något av kraven 26-28, kännetecknat av att kanalhanteringsenheten (22) är anpassad för att uppdatera ett vägvalsfält i meddelandet genom att lägga till adressen för den sändande kanalen till vägvalsfältet innan sändning eller vidare- befordran av meddelandet och att lägga till adressen för den mottagande kanalen till vägvalsfältet efter att meddelandet har mottagits från en kanal.
30. Ett system enligt något av kraven 20-29, kännetecknat av att var och en av kanalerna innefattar en bandbreddsdel (8) till- gänglig för åtminstone en reservation för meddelanden från en specifik källa i en första intelligent anordning till en specifik des- tination i en annan intelligent anordning, ansluten till den första anordningen via nätverket, och en bandbreddsdel (80) som inte kan reserveras.
31. En dataprogramprodukt för att tillhandahålla kommunikation i ett system av intelligenta anordningar anslutna till varandra ge- nom ett nätverk, varvid datorprogramprodukten innefattar ett da- taläsbart medium på vilket finns ett datorläsbart programmedel som när det körs på ett datorsystem får datorsystemet att utföra åtminstone stegen b och c hos krav 1.
32. En datorprogramprodukt enligt krav 31, som får datorsy- stemet att utföra stegen hos nàgot av kraven 2-19.
33. Ett datorläsbart medium för att tillhandahålla kommunika- tion i ett system av intelligenta anordningar anslutna till varandra genom ett nätverk, varvid ett program finns skrivet på det dator- läsbara mediet, varvid programmet är sådant att det får datorn att utföra åtminstone stegen b och c hos krav 1.
34. Ett datorläsbart medium enligt krav 33, varvid programmet får datorn att utföra stegen hos något av kraven 2-19. 10 15 20 25 - - o - .o 524 262 32
35. En datordatasignal för att tillhandahålla kommunikation i ett system av intelligenta anordningar anslutna till varandra genom ett nätverk, i form av ett meddelande kommunicerat mellan an- ordningarna, varvid anordningarna är anpassade för att interage- ra med varandra och automatiskt upptäcka nya anordningar, kånnetecknat av att nämnda anordningar innefattar ett flertal ka- naler anpassade för att sända och mottaga meddelanden mellan anordningar över olika kommunikationsprotokoll och att medde- landena har ett adressfält innefattande namn på alla kanalerna genom vilket meddelandet måste passera på sin väg till sin des- tination.
36. En datordatasignal enligt krav 35 kännetecknad av att med- delandet passerar genom åtminstone tre kanaler på väg till sin destination och nämnda adressfält innefattar namnet på nämnda åtminstone tre kanaler.
37. En datordatasignal enligt krav 35 eller 36 kännetecknad av att meddelandet har ett vägvalsfält innefattande namnen på alla kanaler genom vilka meddelandet måste passera på sin väg till den sist besökta platsen.
38. En datordatasignal enligt något av kraven 35-37, känne- tecknat av att meddelandet innefattar en begäran om reservation av bandbredd i en eller flera av kanalerna.
SE0103535A 2001-10-24 2001-10-24 Metod och system för automatisk samverkan mellan intelligenta enheter i ett nätverk SE524262C2 (sv)

Priority Applications (4)

Application Number Priority Date Filing Date Title
SE0103535A SE524262C2 (sv) 2001-10-24 2001-10-24 Metod och system för automatisk samverkan mellan intelligenta enheter i ett nätverk
PCT/SE2002/001948 WO2003036873A1 (en) 2001-10-24 2002-10-24 A system of intelligent devices, a method for providing such a system and a computer data signal
US10/493,658 US7936779B2 (en) 2001-10-24 2002-10-24 System of intelligent devices, a method for providing such a system and a computer data signal
EP02782054.7A EP1446915B1 (en) 2001-10-24 2002-10-24 A system of intelligent devices, a method for providing such a system and a computer data signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0103535A SE524262C2 (sv) 2001-10-24 2001-10-24 Metod och system för automatisk samverkan mellan intelligenta enheter i ett nätverk

Publications (3)

Publication Number Publication Date
SE0103535D0 SE0103535D0 (sv) 2001-10-24
SE0103535L SE0103535L (sv) 2003-04-25
SE524262C2 true SE524262C2 (sv) 2004-07-20

Family

ID=20285747

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0103535A SE524262C2 (sv) 2001-10-24 2001-10-24 Metod och system för automatisk samverkan mellan intelligenta enheter i ett nätverk

Country Status (4)

Country Link
US (1) US7936779B2 (sv)
EP (1) EP1446915B1 (sv)
SE (1) SE524262C2 (sv)
WO (1) WO2003036873A1 (sv)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7760654B2 (en) * 2004-09-24 2010-07-20 Microsoft Corporation Using a connected wireless computer as a conduit for a disconnected wireless computer
US7603460B2 (en) 2004-09-24 2009-10-13 Microsoft Corporation Detecting and diagnosing performance problems in a wireless network through neighbor collaboration
US7317914B2 (en) 2004-09-24 2008-01-08 Microsoft Corporation Collaboratively locating disconnected clients and rogue access points in a wireless network
US8254411B2 (en) * 2005-02-10 2012-08-28 International Business Machines Corporation Data processing system, method and interconnect fabric having a flow governor
US20060239190A1 (en) * 2005-04-25 2006-10-26 Matsushita Electric Industrial Co., Ltd. Policy-based device/service discovery and dissemination of device profile and capability information for P2P networking
EP1875689B1 (fr) * 2005-04-28 2014-11-26 Orange Procede de routage, station emettrice-receptrice et programme d'ordinateur pour la mise en uvre du procede
US7802009B2 (en) 2007-06-26 2010-09-21 Microsoft Corporation Automatic reverse engineering of message formats from network traces
US10200325B2 (en) 2010-04-30 2019-02-05 Shazzle Llc System and method of delivering confidential electronic files
US8819412B2 (en) * 2010-04-30 2014-08-26 Shazzle Llc System and method of delivering confidential electronic files
CN103262469A (zh) * 2010-12-22 2013-08-21 日本电气株式会社 通信装置、用于设定通信装置的方法以及程序
US9571489B2 (en) * 2011-08-12 2017-02-14 Sony Corporation System and method for performing commands from a remote source
US9924242B2 (en) 2012-04-20 2018-03-20 Itron Global Sarl Automatic network topology detection and fraud detection
FR3017762A1 (fr) * 2014-02-14 2015-08-21 Orange Notification d'une information de consommation de bande passante a un fournisseur de service dans un reseau de telecommunications
US11079417B2 (en) 2014-02-25 2021-08-03 Itron, Inc. Detection of electric power diversion
US10571493B2 (en) 2014-02-25 2020-02-25 Itron, Inc. Smart grid topology estimator
US9568522B2 (en) 2014-10-20 2017-02-14 Itron, Inc. Electrical phase identification
US9781231B2 (en) * 2014-11-19 2017-10-03 Itron, Inc. Application platform operable on network node
US9835662B2 (en) 2014-12-02 2017-12-05 Itron, Inc. Electrical network topology determination
US10312681B2 (en) 2015-05-28 2019-06-04 Itron, Inc. Automatic network device electrical phase identification
US20190004990A1 (en) 2017-07-01 2019-01-03 Stephen R. Van Doren Techniques to support mulitple interconnect protocols for an interconnect
US11716558B2 (en) 2018-04-16 2023-08-01 Charter Communications Operating, Llc Apparatus and methods for integrated high-capacity data and wireless network services
WO2020077346A1 (en) 2018-10-12 2020-04-16 Charter Communications Operating, Llc Apparatus and methods for cell identification in wireless networks
US11201839B2 (en) 2019-10-17 2021-12-14 Charter Communications Operating, Llc Method and apparatus for transporting data traffic using classifications
US11843474B2 (en) 2020-02-11 2023-12-12 Charter Communications Operating, Llc Apparatus and methods for providing high-capacity data services over a content delivery network
US11985641B2 (en) 2020-04-22 2024-05-14 Charter Communications Operating, Llc Node apparatus and methods for providing high-capacity data services via a content delivery network architecture
US11570015B2 (en) 2020-04-22 2023-01-31 Charter Communications Operating, Llc Premises apparatus and methods for aggregated high-capacity data services
US11800498B2 (en) 2021-03-01 2023-10-24 Charter Communications Operating, Llc Logical control channels and implementation in a network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3122606B2 (ja) * 1995-12-15 2001-01-09 株式会社日立製作所 メッセージ受信制御方式
WO1997035410A1 (en) * 1996-03-18 1997-09-25 General Instrument Corporation Dynamic bandwidth allocation for a communication network
US6751221B1 (en) * 1996-10-04 2004-06-15 Kabushiki Kaisha Toshiba Data transmitting node and network inter-connection node suitable for home network environment
US6892230B1 (en) * 1999-06-11 2005-05-10 Microsoft Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
JP4151191B2 (ja) * 2000-03-27 2008-09-17 富士通株式会社 移動通信システム及びその構成装置
WO2001086393A2 (en) 2000-05-09 2001-11-15 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
JP4266962B2 (ja) * 2005-06-16 2009-05-27 キヤノン株式会社 通信装置、その制御方法及びプログラム

Also Published As

Publication number Publication date
SE0103535D0 (sv) 2001-10-24
US7936779B2 (en) 2011-05-03
EP1446915A1 (en) 2004-08-18
WO2003036873A1 (en) 2003-05-01
SE0103535L (sv) 2003-04-25
EP1446915B1 (en) 2018-03-07
US20050063317A1 (en) 2005-03-24

Similar Documents

Publication Publication Date Title
SE524262C2 (sv) Metod och system för automatisk samverkan mellan intelligenta enheter i ett nätverk
EP1542409B1 (en) Protocol for multi-hop ad-hoc networks
JP4957225B2 (ja) 中継サーバおよび中継通信システム
JP2004252974A (ja) ホームネットワークデバイスへの効率的なアクセスが可能な制御ポイントサーバシステム及びそのための方法
CN104272656A (zh) 软件定义网络中的网络反馈
JP4479647B2 (ja) 経路生成システム、経路生成方法、経路管理サーバ、中継装置、端末装置および制御プログラム
EP3146673A1 (en) Method for mounting a device at a server in a network
JP2010512092A (ja) IPv4ネットワークベースのIPv6サービス提供システムにおける制御トンネル及びダイレクトトンネルの設定方法
JPH09237240A (ja) システム管理/ネットワーク対応表示方法
JPS62109451A (ja) データ伝送ネットワークの通信パス確立・不可用性データ収集方法
CN101364976B (zh) 一种建立通信通道的方法、装置及数据通信系统
JP2006262193A (ja) 制御装置、パケット転送方法およびパケット処理装置
US20190199622A1 (en) Data packet forwarding unit in a data transmission network
CN101911593B (zh) 网络定位服务方法、装置和系统
CN111541688B (zh) 一种兼容多协议的嵌入式系统、数据处理方法及装置
US20060168320A1 (en) Network topology discovery service
EP1338123A1 (en) A method for an internet communication
JP7139252B2 (ja) 転送装置
CN102265563B (zh) 识别通信网络中的业务流的方法和设备
US6738829B1 (en) System and method for implementing a generic enhanced network driver
CN110166487B (zh) 局域网设备信息传输方法、主设备、存储介质及智能设备
CN104717096A (zh) 一种事件处理方法和装置
JP2004171540A (ja) 生産設備用制御装置、生産設備制御システムおよび生産設備用制御装置による生産設備の制御方法
JP2010146246A (ja) マルチエージェントシステム用フレームワークコンピュータプログラム、ネットワークシステム、及びエージェント間通信方法
CN112260924A (zh) 一种应用于电力物联网的uPnP网桥构建方法

Legal Events

Date Code Title Description
NUG Patent has lapsed