FI123499B - Menetelmä ja laite viestien prosessoimiseksi - Google Patents

Menetelmä ja laite viestien prosessoimiseksi Download PDF

Info

Publication number
FI123499B
FI123499B FI20085409A FI20085409A FI123499B FI 123499 B FI123499 B FI 123499B FI 20085409 A FI20085409 A FI 20085409A FI 20085409 A FI20085409 A FI 20085409A FI 123499 B FI123499 B FI 123499B
Authority
FI
Finland
Prior art keywords
message
binary
soap
xml
protocol
Prior art date
Application number
FI20085409A
Other languages
English (en)
Swedish (sv)
Other versions
FI20085409A0 (fi
FI20085409A (fi
Inventor
Mikko Saarnivala
Zachary Shelby
Original Assignee
Sensinode 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 Sensinode Oy filed Critical Sensinode Oy
Priority to FI20085409A priority Critical patent/FI123499B/fi
Publication of FI20085409A0 publication Critical patent/FI20085409A0/fi
Priority to US12/121,193 priority patent/US8135868B2/en
Priority to KR1020107027318A priority patent/KR101492846B1/ko
Priority to JP2011507954A priority patent/JP5345206B2/ja
Priority to PCT/FI2009/050353 priority patent/WO2009135995A1/en
Priority to EP09742195A priority patent/EP2286568A1/en
Priority to CN200980116111.6A priority patent/CN102017580B/zh
Publication of FI20085409A publication Critical patent/FI20085409A/fi
Application granted granted Critical
Publication of FI123499B publication Critical patent/FI123499B/fi

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • 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/08Protocols for interworking; Protocol conversion
    • 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/08Protocols for interworking; Protocol conversion
    • H04L69/085Protocols for interworking; Protocol conversion specially adapted for interworking of IP-based networks with other networks

Description

Menetelmä ja laite viestien prosessoimiseksi
Ala
Keksintö liittyy menetelmään ja laitteeseen viestien prosessoimiseksi. Erityisesti keksintö liittyy tietokonepalvelimien tai tietokoneverkkojen solmu-5 jen välisten automaattisten viestien prosessoimiseen.
Tausta
Seuraava taustan kuvaus saattaa käsittää oivalluksia, löytöjä, käsityksiä tai selostuksia tai assosiaatioita yhdessä selostusten kanssa jotka eivät ole tunnettuja ennen esitettyä keksintöä vaan ovat keksinnön aiheuttamia. Jot-10 kut tällaisista seikoista saatetaan mainita seuraavassa, kun taas eräät muut tällaiset keksinnön seikat ilmenevät asiayhteydestä.
Moderneissa kommunikaatio- ja tietokoneverkoissa tiedonsiirto ohjelmien ja tietokoneiden välillä on tärkeä tekijä. Erilaiset ohjelmat, tietokoneet ja prosessorit vaihtavat tietoja ilman ihmisen osallisuutta. Eri ympäristöissä käyte-15 tään erilaisia verkkoja ja protokollia. Internetissä siirtokontrolliprotokol-la/lnternet-protokolla (the Transmission Control Protocol/lnternet Protocol TCP/IP) on kommunikaation perusprotokolla. TCP/IP huolehtii paketeissa lähetettävän datan koostamisesta ja purkamisesta. IP huolehtii osoituksesta siten että paketit toimitetaan oikeaan kohteeseen. TCP/IP:n päällä käytetään hyper-20 tekstisiirtoprotokollaa (the Hypertext Transfer Protocol HTTP) asia-kas/palvelinprotokollana. Ohjelma voi lähettää HTTP pyynnön palvelimelle, ^ joka vastaa toisella HTTP viestillä.
^ SOAP (Simple Object Access Protocol) on Internetin palveluviesti- protokolla, jota käytetään laajasti Internetissä tietokonepalvelimien välisten g 25 automaattisten viestien lähetyksessä. SOAP tarjoaa muunneltavan formaatin g tietokoneiden välisten viestien lähetykseen minkä tahansa tarkoituksen saavut- ^ tamiseksi. Tällä hetkellä SOAP-viestin sisältö koodataan käyttäen XML:ää (Ex- o J tensible Markup Language). XML:ää voidaan käyttää esittämään mitä tahansa
CO
§ informaatiota. Viestit koostuvat järjestetyistä XML-tageista. Kun SOAP-viestejä
CVJ
30 lähetetään Internetin yli viestit käyttävät sovellusprotokollaa, kuten HTTP:ta yli TCP/IP:n tai SIP:iä (Session Initiation Protocol) yli TCP/IP:n.
2
Heikkotehoisilla langattomilla verkoilla, kuten IEEE 802.15.4 -pohjaisilla sulautetuilla ja sensoriverkoilla, on erittäin rajalliset resurssit pakettien lähettämiseen. Nämä verkot ovat hyvin energiatehokkaita ja piiriteknologia on halpaa. Tästä syystä teknologia on siirtymässä sulautettuihin järjestelmiin hy-5 vin nopeasti esimerkiksi automaatiossa, mittauksissa, seurannassa ja ohjauksessa.
Heikkotehoinen langaton standardi IEEE 802.15.4 on osoittautunut soveltuvaksi teknologiaksi langattomassa automaatiossa ja ohjauksessa. Sillä on kuitenkin erittäin rajalliset resurssit mitä tulee kehyskokoon (127 tavua, jos-10 ta noin 90 tavua on käytettävissä verkkoprotokollien jälkeen), siirtonopeuteen (250kt/s) ja verkkotopologiaan ja sillä on epäluotettava langaton kanava. Täten on hyvin ongelmallista käyttää HTTP:tä yli TCP/IP:n tietokoneiden välisillä yhteyksillä näissä verkoissa. XML-pohjaisen SOAP:n käyttö yli TCP/IP:n ja HTTP:n on hyvin tehotonta ja raskas ratkaisu heikkotehoisiin verkkoihin. Itse 15 asiassa yllä kuvattujen rajallisten resurssien valossa perinteisen SOAP:n käyttö on lähes mahdotonta koska tyypillinen SOAP-viesti vie kilotavuja dataa ja TCP ei ole sovellu kovin hyvin epäluotettaviin langattomiin verkkoihin.
Nykyiset sovellusprotokollat IP-pohjaisille heikkotehoisille verkoille on suunniteltuja sovellettu kustomoidusti siten että kukin sovellussuunnittelija 20 tekee oman tavuformaatin, joka tyypillisesti soveltuu käytettäväksi vain kyseisessä verkossa. Täten kommunikaatiokyvyt ovat hyvin rajalliset.
Lyhyt selostus
Eräs keksinnön tarkoitus on osoittaa parannettu ratkaisu tietokone-^ palvelimien tai tietokoneverkkojen solmujen välisten viestien koodaukseen.
^ 25 Keksinnön eräänä piirteenä esitetään laite, konfiguroitu lähettämään ° ja vastaanottamaan Extensible Markup Language (XML) -muotoisia Simple * Object Access Protocol (SOAP) -viestejä käyttäen sovellusprotokollaa ja lähe- o tysohjausprotokollaa/lnternet protokollaa (TCP/IP), viestin käsittäessä vies-
LO
g tielementtejä; vastaanottamaan ja lähettämään binäärisiä SOAP-viestejä käsit-
O
^ 30 täen binäärisen otsikon ja binäärisiä viestielementtejä; suorittamaan muunnos XML/SOAP-muotoisen viestin ja binäärisen SOAP-viestin välillä korvaamalla 3 kukin annetun muodon viestielementti toisen muodon viestielementillä; sisällyttämään muunnettaessa XML/SOAP-viesti binääriseen muotoon binääriseen otsikkoon sovellusprotokollapakettityyppi ja TCP/IP-kuittaustieto; ja valitsemaan muunnettaessa binäärimuotoinen SOAP-viesti XML/SOAP-muotoon so-5 vellusprotokollapakettityyppi ja vastekoodi binäärimuotoisen SOAP-viestin bi-nääriotsikon sisältämän tiedon perusteella.
Keksinnön toisena piirteenä esitetään menetelmä, käsittäen: lähetetään ja vastaanotetaan Extensible Markup Language (XML) -muotoisia Simple Object Access Protocol (SOAP) -viestejä käyttäen sovellusprotokollaa ja lähe-10 tysohjausprotokollaa/lnternet-protokollaa (TCP/IP), viestin käsittäessä vies-tielementtejä; vastaanotetaan ja lähetetään binäärisiä SOAP viestejä käsittäen binäärisiä viestielementtejä; suoritetaan muunnos XML/SOAP-muotoisen viestin ja binäärisen SOAP-viestin välillä korvaten kukin annetun muodon viestielementti toisen muodon viestielementillä; sisällytetään muunnettaessa 15 XML/SOAP-viesti binääriseen muotoon binääriseen otsikkoon sovellus-protokollapakettityyppi ja TCP/IP-kuittaustieto; ja valitaan muunnettaessa binäärimuotoinen SOAP-viesti XML/SOAP-muotoon sovellusprotokollapaketti-tyyppi ja vastekoodi binäärimuotoisen SOAP-viestin binääriotsikon sisältämän tiedon perusteella.
20 Keksinnön vielä toisena piirteenä esitetään laite, konfiguroitu lähet tämään ja vastaanottamaan binäärisiä Simple Object Access Protocol (SOAP) -viestejä jotka käsittävät binäärisen otsikon ja binäärisiä viestielementtejä, bi-näärisen otsikon käsittäessä sovellusprotokollapakettityypin ja lähetysohjaus-o protokollaa/lnternet-protokolla (TCP/IP)-kuittaustiedon, käytetyn nimiavaruu- £j 25 den ja koodauksen versionumeron, ja binääristen viestielementtien käsittäessä i g XML-viestielementtien binääriset vastineet.
•g Keksinnöllä on useita etuja. Keksinnön toteutusmuodot mahdollista- O.
^ vat universaalin viestijärjestelmän (SOAP) käytön heikkotehoisissa verkoissa o ^ missä tähän asti on käytetty enimmäkseen yksilöllisiä sovelluskohtaisia proto- 00 § 30 kollia. SOAP-viestien kompressointi ja dekompressointi on läpinäkyvää mah-
CNJ
dollistaen päätepiste-päätepiste -viestinnän. Viestintä voidaan välittää epäluotettavien siirtoprotokollien yli jolloin vältetään HTTP:n ja SOAP:n tarve tie 4 donsiirrossa. Binäärisesti koodattu SOAP on sovelias käytettäväksi heikkotehoisissa verkoissa myös ilman tarvetta dekompressointiin.
Kuvioluettelo
Esillä olevan keksinnön toteutusmuotoja kuvataan seuraavassa 5 esimerkinomaisesti viitaten oheisiin kuvioihin, joissa kuvio 1 kuvaa esimerkkiä verkosta jossa keksintöä voidaan soveltaa; kuvio 2 kuvaa protokollapinoja XML-pohjaisessa ja binääri-pohjaisessa SOAP-viestinnässä; 10 kuvio 3 on vuokaavio eräästä keksinnön toteutusmuodosta; ja kuviot 4A ja 4B kuvaavat esimerkkiä viestien vaihdosta.
Toteutusmuotojen kuvaus
Seuraavat toteutusmuodot ovat esimerkinomaisia. Vaikka selitys voi viitata ’’yhteen” toteutusmuotoon tai ’’joihinkin” toteutusmuotoihin useissa koh-15 dissa tämä ei välttämättä tarkoita että kukin sellainen viittaus kohdistuu samaan toteutusmuotoon tai -muotoihin tai että kyseinen piirre soveltuu vain yhteen toteutusmuotoon. Eri toteutusmuotojen yksittäisiä piirteitä voidaan yhdistää saavuttaen muita toteutusmuotoja.
Kuten on jo todettu, modernit sovellukset joita ajetaan tietojenkäsit-20 telylaitteistossa, joka on yhdistetty tiedonsiirto- ja tietokoneverkkoihin, kommunikoivat toistensa kanssa. SOAP (Simple Object Access Protocol) suunniteltiin cvj tarjoamaan sopiva alusta eri ympäristöissä, eri käyttöjärjestelmillä ja eri tieto- ° koneissa ajettavien sovellusten väliseen tiedonsiirtoon.
SOAP rakennettiin XML:n päälle. SOAP-viesti on XML-dokumentti, o 25 joka käsittää tiettyjä elementtejä, joista jotkin ovat vaadittuja ja jotkin optionaa- | lisiä. Kunkin SOAP-viestin tulee käsittää kirjekuorielementin (Envelope ele- o ment), joka määrittää XML-dokumentin SOAP-viestiksi. Kirjekuorielementti on
O
S XML-dokumentin juurielementti.
CO
o Viesti voi käsittää optionaalisen otsikon (header) joka käsittää otsik- 30 koinformaatiota. Otsikkoinformaatio käsittää sovelluskohtaista dataa viestistä.
5 SOAP-viestin tulee käsittää runko-osan (body element), joka käsittää viestin elementit, kuten kutsu- ja vasteinformaation. Runko-osa saattaa käsittää vaihtelevan määrän lapsielementtejä. Lisäksi SOAP-viesti voi käsittää vikaelementin joka käsittää tietoa mahdollisista virheviesteistä.
5 SOAP-viestit käsittävät nimiavaruusmääritykset (namespace decla rations). Nimiavaruudet identifioivat viestissä käytetyt viestielementit. Tyypillisesti nimiavaruudet määritellään XML-dokumentin juuriosassa. Nimiavaruudet voidaan myös määritellä siinä elementissä missä niitä käytetään.
Tällä hetkellä SOAP:ia ajetaan HTTP:n ja TCP/IP:n päällä. Sovellus 10 käyttää HTTP:tä ottaakseen yhteyttä palvelimeen joka käyttää TCP/IP-protokollaa. Sovellus saattaa lähettää pyyntöjä palvelimelle käyttäen HTTP-pyyntöä. Palvelin voi lähettää vasteita sovellukselle käyttäen HTTP-vastetta. Vaste käsittää statuskoodin joka kuvaa pyynnön statusta. ”200 OK” ja ”400 bad request” ovat esimerkkejä statuskoodeista.
15 Täten SOAP käyttää hyväksi HTTP-pyyntöjä ja -vasteita. SOAP- pyyntö voidaan kuvata tai sitoa HTTP POST tai HTTP GET -pyyntöön. HTTP POST pyyntö käyttää hyväksi ainakin kahta HTTP-otsikkoa: Content-Type ja Content-Length. Edellinen määrittää viestin MIME-tyypin ja pyynnön tai vasteen XML-rungossa käytetyn merkkikoodauksen. Jälkimmäinen käsittää pyyn-20 nön tai vasteen pituuden tavuissa. SOAP:n sitominen HTTP:hen määrittää esimerkiksi metodit joita käytetään ja kuinka luotettavuudesta huolehditaan.
Lisäksi SOAP:ia voidaan ajaa SIP:n ja TCP/IP:n päällä. SIP ja HTTP ovat molemmat sovellusprotokollia joita ajetaan TCP/IP:n päällä. SIP on o samankaltainen kuin HTTP ja käsittää samankaltaisen pyyntö-vaste- rakensi 25 teen.
i g Kuvio 1 havainnollistaa esimerkkiä verkosta, jossa keksinnön toteu- = tusmuotoja voidaan soveltaa. Kuvion 1 esimerkkiverkko käsittää heikkotehoi-
CL
sen langattoman verkon 100, Internet/lntranetin 102 ja IP-pohjaisen verkon o J jossa on SOAP-palvelimia 104. Heikkotehoinen langaton verkko voidaan yh- 00 g 30 distää Internet/lntranettiin ja IP-pohjaiseen verkkoon SOAP-välisolmulla 106,
CVJ
joka voi fyysisesti olla joko Internet/lntranetin ja heikkotehoisen langattoman verkon välissä oleva langaton reititin tai reunapalvelin IP-verkossa.
6
Internet/lntranetissä 102 ja IP-pohjaisessa verkossa jossa on SOAP-palvelimia 104 SOAP-viestintä on toteutettu käyttäen XML-koodausta ja se lähetetään käyttäen HTTP:tä yli TCP/IP:n.
Heikkotehoinen langaton verkko 100 voi olla monihyppyverkko kä-5 sittäen joukon langattomia heikkotehoisia solmuja 108A - 108G. Heikkotehoiset langattomat solmut 108A - 108G muodostavat verkon käyttäen langattomia linkkejä 110. Langattomat linkit 110 voidaan toteuttaa käyttäen IEEE 802.15.4 sekä Internet Protocol v6 (6lowpan), IEEE 802.15.4 sekä ZigBee, Bluetooth tai Bluetooth Ultra Low Power (ULP), Low Power Wireless Local 10 Area Network, yksilöllistä heikkotehoista radiota, solukkoradiojärjestelmää tai mitä tahansa muuta järjestelmää joka soveltuu heikkotehoiseen lähetykseen. IEEE tarkoittaa Institute of Electrical and Electronics Engineers.
Eräässä toteutusmuodossa heikkotehoisissa verkoissa hyödynnetään User Datagram Protocol (UDP):aa TCP/IP:n sijasta. UDP ei takaa luotet-15 tavuutta ja saavutettavuutta kuten TCP/IP. Lähetetyt viestit voidaan vastaanottaa eri järjestyksessä, ne voivat kahdentua tai mennä hukkaan. Tästä huolimatta protokolla on nopea ja tehokas ja sopiva heikkotehoisiin tilanteisiin. Heikkotehoisia verkkoja käytetään tyypillisesti langattomassa automaatiossa, ohjaus- ja sensorisovelluksissa. Keksinnön toteutusmuotojen käyttökelpoisuus 20 ei riipu heikkotehoisen verkon sovelluksesta.
Heikkotehoiset langattomat solmut 108A - 108G voivat toteuttaa SOAP-viestinnän käyttäen alla kuvattua binääristä koodausta. Nämä solmut voivat jatkolähettää, käyttää ja manipuloida binäärisiä SOAP-viestejä verkon o sisällä aivan kuten palvelimet IP-pohjaisessa verkossa XML-koodattuja viestejä 25 jä ilman muunnosta XML- ja binäärisen koodauksen välillä. Solmut voivat vaih- i g taa binäärisesti koodattuja SOAP-viestejä ilman verkon tukea, kuten solmut g 108F ja 108F kuviossa 1.
CL
^ Kun SOAP-viestejä välitetään heikkotehoisen verkon 100 ja IP- o ^ pohjaisen verkon 104 välillä viestit tulee muuntaa binäärisestä koodauksesta 00 § 30 XML-koodaukseen ja päinvastoin. Eräässä toteutusmuodossa muunnos suori en tetaan välisolmussa 106.
7
Kuvio 2 kuvaa protokollapinoja XML-pohjaisessa ja binääripohjai-sessa SOAP-viestinnässä. Kuviossa esitetään SOAP-palvelin 104, välisolmu 106 ja heikkotehoinen solmu 108A. SOAP-palvelin 104 ja välisolmu 106 ovat kytketty toisiinsa käyttäen IP-pohjaista verkkoa, kuten Internet/lntranet 102.
5 Välisolmu ja heikkotehoinen solmu 108A ovat kytketyt toisiinsa heikkotehoisella langattomalla linkillä 110.
Välisolmu 106 kommunikoi SOAP-palvelimien kanssa IP-pohjaisen verkon kautta käyttäen XML-koodattua SOAP-viestintää ja heikkotehoisten solmujen kanssa käyttäen binäärisesti koodattua SOAP-viestintää. XML-10 koodatussa SOAP-viestinnässä protokollapinot 200, 202 käsittävät fyysisen kerroksen jota seuraavat TCP/IP ja HTTP. SOAP lähetetään HTTP:n päällä käyttäen pyyntöjä/vastetta POST tai GET. SOAP-viestin sisältö on koodattu käyttäen XML:ää. HTTP voidaan korvata muilla sovellusprotokollilla kuten SIP:llä.
15 Binäärisesti koodattu SOAP-viestintä on kompressoitu versio XML- koodatusta viestinnästä. XML-tagit on korvattu binäärisillä vastineilla ja vastaavalla sidoksella. Binäärisesti koodattu SOAP-viestintä käsittää kaiken SOAP-viestinnän toiminnallisuuden mutta tarvitsee vain hyvin pienen siirtokapasiteetin, joten se on sopiva heikkotehoisiin ja pienen kapasiteetin verkkoihin. XML-20 koodatun SOAP:n muunnos ei ainoastaan koodaa XML-tagejä vaan myös ottaa huomioon HTTP- ja TCP/IP-sidokset. Täten SOAP voidaan lähettää epäluotettavien verkkojen yli.
^ Binäärisesti koodatussa SOAP:ssa heikkotehoisten solmujen ja vä- o lisolmun protokollapinot 204, 206 käsittävät radiokerroksen, verkkokerroksen ja 25 sitten binäärisen SOAP-koodauksen. Verkkokerros riippuu käytetystä langat-g tomasta teknologiasta. Verkkokerroksen voi perustus esimerkiksi olla IPv6 g (6lowpan) yli IEEE802.15.4:n UDP:n kanssa. Binäärisesti koodattua SOAP:ia
CL
^ ajetaan suoraan verkon ylitse ilman HTTP:ta. XML-koodaus on korvattu kom- o J paktilla binäärisellä koodauksella joka määritellään alempana. Tässä tapauk- 00 § 30 sessa SOAP on sidottu heikkotehoiseen langattomaan pinoon käyttäen epä-
CVJ
luotettavaa siirtoa, kuten UDP:ta.
8
Eräässä toteutusmuodossa verkkoyksikkö, joka on konfiguroitu suorittamaan SOAP-koodauksen muunnos XML:n ja binäärisen viestinnän välillä, käsittää prosessorin 206 joka hyödyntää muunnoksessa käytettävää kompres-sio/dekompressioalgoritmia, ja muistin 208 muunnoksen määrittävän hakutau-5 lukkojoukon tallentamiseksi.
Eräässä toteutusmuodossa joukko hakutaulukkoja kuvaavat kuinka tietty sidos (esim. SOAP/HTTP) kuvautuu heikkotehoiseen binääriseen SOAP-sidokseen. Hakutaulukot kertovat mitkä sidosten siirtometodit vastaavat toisi aan. Tämä kertoo kuinka luotettavuutta käsitellään ja mitä kompressiotekniik-10 kaa käytetään SOAP-otsikon ja rungon muunnoksessa.
Kuvio 3 on vuokaavio kuvaten keksinnön erästä toteutusmuotoa. Tässä käytetään HTTP:tä eräänä esimerkkinä sovellusprotokollasta.
Prosessi alkaa 300 kun täysi XML-koodattu heikkotehoiseen verkkoon kohdennettu SOAP-viesti vastaanotetaan välisolmussa 106. Välisolmu 15 suorittaa muunnoksen XML-koodauksesta binääriseen koodaukseen. Tässä oletetaan, että SOAP/XML on tarkistettu virheettömäksi.
Askeleessa 302 viestin nimiavaruus havaitaan viestistä ja verrataan välisolmun hakutaulukossa 208 oleviin nimiavaruuksiin.
Jos viestin nimiavaruutta ei löydetä hakutaulukoista 208, välisolmu 20 voi pyytää sitä tarpeen mukaan verkkopalvelimelta askeleessa 304. Nimiava- ruushakutaulukot voidaan päivittää kauko-ohjatusti samalla tavoin kuin uusia palveluita voidaan lisätä verkkoon. Jos hakutaulukon päivitys onnistui, prosessi alkaa uudestaan askeleessa 302. Jos hakutaulukon päivitys ei ollut onnistunut, o viestiä ei voida prosessoida ja se täytyy hylätä askeleessa 306.
cvj 25 Jos nimiavaruus on saatavilla prosessi jatkuu askeleessa 310.
g Askeleessa 310 koodauksen versionumero ja käytetty nimiavaruus g koodataan binääriseen SOAP-viestiin. Tyypillisesti versiokentän koodaus vie yhden tavun, o J Askeleessa 312 binäärisen SOAP-viestin otsikko koodataan. Koo- 00 § 30 daus perustuu osittain XML-koodatun viestin otsikkoon. SOAP-otsikon käsitte en lysäännöt voidaan koodata binääriseen otsikkoon. Lisäksi binäärinen otsikko 9 käsittää siirtoon liittyvää tietoa joka mahdollistaa viestin siirron epäluotettavissa verkoissa, missä HTTP-ja TCP/IP-menetelmät eivät ole käytettävissä.
Eräässä toteutusmuodossa koodauksen versio ja nimiavaruus koodataan binäärisen otsikon ensimmäisinä tavuina.
5 Eräässä toteutusmuodossa http-pakettityyppi ja vastekoodi (pyyntö, vaste ja koodi, ack, put jne.) koodataan binääriseen otsikkoon. TCP/IP-luotettavuus voidaan korvata Acknovvledgement-kentällä binäärisessä otsikossa. Acknovvledgement-kenttä ilmaisee pitääkö viestin vastaanottajan lähettää kuittaus (Acknowledgement) viestin lähettäjälle vastaanotettuaan viestin.
10 Otsikon ensimmäinen tavu ilmaisee otsikoiden lukumäärän. Loput otsikosta koodataan {otsikon tyyppi, arvo} tuplina. Täten kukin otsikon tagi koodataan kahdella tavulla. Otsikon tyypin koodi-ja arvo-vaihtoehdot sisältyvät hakutaulukkoihin. Muut otsikkotyypit voidaan määritellä tarpeen mukaan sidoksia varten.
15 Askeleessa 314 SOAP-viestin viestielementtien lukumäärä kooda taan otsikkotuplien jälkeen. Eräässä toteutusmuodossa viestielementtien lukumäärä koodataan yhtenä tavuna.
Seuraavaksi SOAP-viestin viestielementit koodataan yksi kerrallaan.
Askeleessa 316 viestielementin tagien lukumäärä ja viestielementin 20 pituus tavuina koodataan hakutaulukkoon 208 perustuen. Eräässä toteutus-muodossa tagien lukumäärä viestielementissä koodataan yhdellä tavulla ja viestielementin pituus tavuina koodataan yhdellä tavulla.
Askeleessa 318 viestielementin tagi koodataan käyttäen sopivaa 0 tuplaa {tagikoodi, datatyyppi, arvo}. Eräässä toteutusmuodossa tagikoodin ja cvi 25 datatyypin koodaus vie yhden tavun kukin. Arvon koodaus riippuu datatyypistä g ja tagin arvosta.
1 Tämä toistetaan 320 viestielementin jokaiselle tagille.
Tagit ketjutetaan käyttäen taulukkodatatyyppiä jolla on arvona ele-o J menttien lukumäärä taulukossa. Tagipäätöksiä ei käytetä, jolloin säästetään 00 g 30 tilaa. Koska tässä binäärisessä koodauksessa käytetään täsmällisiä kenttien
C\J
pituuksia, se on helppoa parsia ja samalla se on kompaktia. Datatyyppitauluk-koa käytetään muuntamaan standardi SOAP-datatyypit binäärisesti koodatuik- 10 si datatyypeiksi. Kaikkein tehokkaimmat datatyypit valitaan. Esimerkiksi XML-kokonaislukutyyppejä voi olla viittä erilaista tyyppiä. Kukin binäärinen tyyppi esitetään yhdellä tavulla hakutaulukossa.
Monimutkainen XML-koodattu tagi ja tagin arvo voidaan tavallisesti 5 kompressoida vain 3-5 tavuun binäärisessä koodauksessa. Esimerkiksi seu-raava XML-tagi vie 41 tavua.
<MeasurementValue>56</MeasurementValue>
On huomattava, että XML:ssä arvo 56 esitetään merkkijonona. Muunnoksessa tämä automaattisesti kompressoidaan pienimpään numerofor-10 maattiin, tässä tapauksessa 8-bittiseksi etumerkittömäksi kokonaisluvuksi. Käyttäen kuvattua binääristä koodausta yllä kuvattu XML-tagi voidaan koodata seuraavalla kolmella tavulla: 0xa5 // Tagin koodi hakutaulukosta 0x01 // Datatyyppi, tässä tapauksessa 8-bittinen etumerki- 15 tön kokonaisluku 56 //Tagin arvo Täten, 41-tavuinen XML-tagi voidaan koodata kolmetavuiseksi binääriseksi tagiksi. Varsinaiset binääriset arvot ylläkuvatussa koodauksessa ovat vain esimerkkejä mahdollisista arvoista.
20 Yllä olevat askeleet 316 - 320 toistetaan 322 jokaiselle SOAP- viestin viestielementille.
Muunnosprosessi päättyy askeleessa 324 kun kaikki viestielementit on koodattu. Kun muunnos XML-muotoisesta viestistä binäärimuotoiseksi vies-o tiksi on valmis, viesti voidaan lähettää käyttäen heikkotehoista verkkoprotokol- 25 laa, joka on määritetty kompressiokuvauksessa. Esimerkiksi tämä binäärinen i g SOAP-viesti voitaisiin lähettää käyttäen UDP:tä IPv6(6lowpan):n kanssa yli = IEEE802.15.4:n ja IEEE802.15.4-radiota.
CL
^ Vastakkaisessa siirtosuunnassa prosessi on käänteinen. Viestin πι ο ^ miavaruuden hakutaulukkoa 208 käytetään rekonstruoimaan täydellinen 00 g 30 XML/SOAP -viesti sekä sidoskuvaus valittuun sovellusprotokollaan kuten
CM
HTTP tai SIP. Täten binäärinen otsikko, joka käsittää sovellusprotokollapaketti- 11 tyypin ja vastetyypin, muunnetaan varsinaiseksi sovellusprotokollapaketiksi jolla on oikea pakettityyppi ja vastekoodi.
Seuraavassa on hyvin yksinkertainen esimerkki HTTP:tä käyttävästä SOAP-viestistä.
5 POST /Instock HTTP/1.1 Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn 10 <?xml version="l.0"?> <soap: Envelope xmlns:soap="http://www.w3.org/2 001/12/soap-envelope" soap : encodingstyle="http://www.w3.org/20 01/12/soap-15 encoding"> <soap: Body xmlns:m="StockNamespace"> <m:GetStockPrice> <m:StockName>CBC</m:StockName> </m:GetStockPrice> 20 </soap:Body> </soap:Envelope>
Viestissä käytetty nimiavaruus on StockNamespace. Oletetaan, että hakutaulukko 208 käsittää seuraavat muunnoskoodit StockNamespace-25 nimiavaruudelle: cvj ° Elementti Koodi i__
StockNamespace 0x01 o GetStockPrice 0x03 jr StockName 0xa4 Q_ σ> MeasurementValue 0xa5 o --
LO
CO
O
o C\1
Binäärisesti koodattu viesti esitetään alla. Jälleen, varsinaiset binää-30 riarvot ylläkuvatussa koodauksessa ovat vain esimerkkejä mahdollisista arvois- 12 ta. Kaikki 7/”:n jälkeen esitetty kullakin rivillä ovat kommenttia ja 0x03 on 8-bittisen heksadesimaaliluvuin esitys. Huomaa, että ylläkuvattu XML-viesti ei käsitä otsikkoa. Otsikko on kuitenkin koodattu binääriseen viestiin koska binäärinen otsikko käsittää HTTP-tietoa.
5 0x01 // Koodauksen versio and nimiavaruus 0x01 // Viestityypin otsikko 0x00 // Pyyntötyyppi, vastaa HTTP POST pyyntöä // Runko alkaa tästä 0x01 // Yksi viesti rungossa 10 0x03 // GetStockPrice viestikoodi 0x01 // Yksi tagi elementti 0x05 // Viestin pituus = 5 tavua 0xa4 // StockName tagi koodi 0x05 // Merkkojono datatyyppi 15 ' C' // ASCII koodi 'B' // ASCII koodi ' C // ASCII koodi
Alkuperäinen HTTP/SOAP/XML-viesti vei 394 tavua. Muunnettuna 20 binääriseksi koodaukseksi viesti vie vain 12 tavua ilman sisällön vähenemistä. Tämä sopii heikkotehoiselle langattomalle kehykselle, jossa tavallisesti on 40-100 tavun siirtokapasiteetti.
Eräässä toteutusmuodossa TCP/IP-luotettavuus voidaan korvata Acknovvledgement-kentällä binäärisessä otsikossa. Tämä mahdollistaa viestin 25 lähetyksen epäluotettavissa verkoissa, joissa HTTP- ja TCP/IP-menetelmät
CVJ
£ eivät ole käytettävissä.
CvJ
^ Eräässä toteutusmuodossa acknowledgement (kuittaus)- n mekanismia voidaan soveltaa seuraavasti.
O
Kun välisolmu 106 vastaanottaa binäärisen SOAP-viestin, joka Välien 30 tetään heikkotehoisen verkon ulkopuolelle käyttäen luotettavaa siirtoa, kuten σ> o TCP/IP, binäärinen kuittaus lähetetään välittömästi viestin lähettäjälle.
LO
§ Kun mikä tahansa heikkotehoinen SOAP-solmu vastaanottaa binää- o 00 risen SOAP-viestin, se vastaa kuittauksella. Kuitenkin jos vastaanottanut sol mu vastaa välittömästi viestiin vasteviestillä kuittausta ei tule lähettää.
13
Jos lähettävä solmu ei vastaanota vastetta tai kuittausta annetun ajan sisällä suoritetaan uudelleenlähetys.
Kuviot 4a ja 4B havainnollistavat esimerkkiä viestien vaihtoa kuit-tausmekanismissa. Kuvio 4A havainnollistaa esimerkkiä viestien vaihdosta 5 heikkotehoisen solmun 108Aja SOAP-palvelimen 104 välillä ja takaisin, väli-solmun 106 kautta. Aluksi heikkotehoinen solmu 108A lähettää binäärisen pyyntöviestin 400 välisolmulle 106. Viestin vastaanottaja on SOAP-palvelin 104. Solmu 108A on asettanut Acknovvledgement-kentän arvoksi viestin otsikossa TOSI. Välisolmu 106 vastaa kuittauksella 402.
10 Välisolmu 106 suorittaa muunnoksen binäärisestä viestistä XML- formaattiin ja lähettää täyden SOAP-pyynnön 404 HTTP (POST):a käyttäen varsinaiseen päätepisteeseen SOAP-palvelimelle 104. Tähän viestiin vastataan SOAP-vasteella HTTP 200 ”OK” viestillä 406. Vastaanotettuaan SOAP-vasteen välisolmu muuntaa tämän XML-muotoisen viestin binääriseksi vas-15 teeksi ja lähettää sen solmulle 108A.
Kuvio 4B havainnollistaa esimerkkiä viestien vaihdosta kahden heikkotehoisen solmun 108F ja 108G välillä heikkotehoisessa verkossa 100. Solmu 108F lähettää binäärisen SOAP-viestin 410 joka käsittää put-metodin solmulle 108G. Put-metodiin vastataan aina kuittauksella 412, koska put on 20 luonteeltaan yksisuuntainen viesti. Toisaalta, kun solmu 108F lähettää binäärisen pyynnön 414 toiselle solmulle 108G, se saa vastauksen SOAP-vasteena 416 ja kuittausta ei lähetetä.
Välisolmu 106 voidaan toteuttaa elektronisena digitaalisen tietoko-o neena, joka voi käsittää työmuistin (RAM), keskusprosessoriyksikön (CPU) ja w 25 järjestelmäkellon. CPU voi käsittää joukon rekistereitä, aritmeettisen logiik- i g kayksikön ja ohjausyksikön. Ohjausyksikköä ohjaa sekvenssi ohjelmaohjeita, g jotka on siirretty CPU:hun työmuistista. Ohjausyksikkö voi käsittää joukon mik-
CL
ro-ohjeita perusoperaatioita varten. Mikro-ohjeiden toteutus voi vaihdella riip-o ^ puen CPU:n toteutuksesta. Ohjelmaohjeet voidaan koodata ohjelmointikielellä, 00 g 30 joka voi olla korkean tason ohjelmointikieli kuten C, Java, jne., tai matalan ta-
C\J
son ohjelmointikielellä, kuten konekielellä tai assemblerilla. Elektroninen digitaalinen tietokone voi myös käsittää käyttöjärjestelmän, joka toteuttaa järjes- 14 telmäpalveluita ohjelmaohjeilla kirjoitetulle tietokoneohjelmalle. Solmu on kon-figuroitu olemaan yhteydessä heikkotehoiseen verkkoon ja Internet/lntranetiin sopivia rajapintoja käyttäen. Solmu käsittää prosessointiyksikön joka on konfi-guroitu suorittamaan kuvion 3 yhteydessä kuvatun muunnosprosessin. Solmu 5 voi käsittää muistin tallentamaan joukon hakutaulukoita 208. Eräässä toteutusmuodossa hakutaulukot on tallennettu toiseen laitteeseen joka on yhteydessä välisolmuun. Prosessointiyksikkö voi olla konfiguroitu pyytämään haku-taulukkoja verkkopalvelimelta tarpeen vaatiessa. Solmu voi olla langaton reititin, tai heikkotehoisen langattoman verkon ja Internet/lntranetin välissä tai reu-10 na palvelin IP-verkossa.
Eräässä toteutusmuodossa toteutetaan tietokoneohjelma jakoväli-neellä, joka ohjelma käsittää ohjelmaohjeet, jotka ladattuna elektroniseen laitteeseen, toteuttavat tietokoneprosessin, joka käsittää: vastaanotetaan ja lähetetään Extensible Markup Language (XML) -muotoisia Simple Object Access 15 Protocol (SOAP) -viestejä käyttäen sovellusprotokollaa ja siirto-ohjausprotokollaa/lnternet-protokollaa (TCP/IP), viesti käsittäen viestielement-tejä, vastaanotetaan ja lähetetään binäärisiä viestejä jotka käsittävät binäärisiä viestielementtejä, suoritetaan muunnos XML-muotoisen viestin ja binääriviestin välillä korvaten kukin annetun formaatin viestielementti toisen formaatin vies-20 tielementillä; mukaan lukien kun muunnetaan XML viesti binääriseen formaattiin sovellusprotokollapakettityyppi ja TCP/IP-kuittaustieto binääriseen otsikkoon; ja valitaan, kun muunnetaan binäärimuotoinen viesti XML-muotoon, so-vellusprotokollapakettityyppi ja vastekoodi binäärimuotoisen viestin binäärises-o sä otsikossa olevan tiedon perusteella.
cvj 25 Tietokoneohjelma voi olla lähdekoodimuodossa, objektikoodimuo- g dossa tai jossain välimuodossa, ja se voi olla tallennettuna jonkin kaltaiselle x välittäjälle, joka voi olla mikä tahansa kokonaisuus tai laite kykenevä välittä- mään ohjelman. Tällaisiin välittäjiin kuuluvat esimerkiksi tallenneväline, tieto-o J konemuisti, vain-luku muisti, sähköinen välittäjäsignaali, tietoliikennesignaali ja
CO
§ 30 ohjelmistonjakelupaketti. Riippuen tarvittavasta prosessointikyvystä tietoko-
CVJ
neohjelma voidaan suorittaa yhdessä elektronisessa ohjaimessa tai se voidaan jakaa ohjainjoukon kesken.
15
Alan ammattimiehelle on selvää, että teknologian kehittyessä keksinnöllinen ajatus voidaan toteuttaa monin tavoin. Keksintöjä sen toteutus-muodot eivät ole rajoittuneet yllä kuvattuihin esimerkkeihin vaan niitä voidaan muunnella vaatimusten puitteissa.
5
CVJ
δ
CVJ
CVJ
LO
O
X
X
Q.
O) o
LO
00
O
o
CVJ

Claims (37)

16
1. Laite, konfiguroitu lähettämään ja vastaanottamaan Extensible Markup Language (XML) -muotoisia Simple Object Access Protocol (SOAP) -viestejä (102) käyt-5 täen sovellusprotokollaa ja lähetysohjausprotokollaa/lnternet protokollaa (TCP/IP), viestin käsittäessä viestielementtejä; vastaanottamaan ja lähettämään binäärisiä SOAP-viestejä (110) käsittäen binäärisen otsikon ja binäärisiä viestielementtejä; tunnettu siitä, että laite on konfiguroitu 10 suorittamaan muunnos XML/SOAP-muotoisen viestin (102) ja bi näärisen SOAP-viestin (110) välillä korvaamalla kukin annetun muodon vies-tielementti toisen muodon viestielementillä; sisällyttämään muunnettaessa XML/SOAP-viesti (102) binääriseen muotoon (110) binääriseen otsikkoon sovellusprotokollapakettityyppi ja 15 TCP/IP-kuittaustieto; ja valitsemaan muunnettaessa binäärimuotoinen SOAP-viesti (110) XML/SOAP-muotoon (102) sovellusprotokollapakettityyppi ja vastekoodi binäärimuotoisen SOAP-viestin binääriotsikon sisältämän tiedon perusteella.
2. Vaatimuksen 1 mukainen laite, lisäksi konfiguroitu muunnettaes-20 sa XML/SOAP-viesti (102) binääriseen muotoon sisällyttämään binääriseen viestiin (110) käytetty nimiavaruus ja koodauksen versionumero.
3. Vaatimuksen 1 mukainen laite, lisäksi konfiguroitu hyödyntämään muunnoksessa hakutaulukkoja (208).
4. Vaatimuksen 3 mukainen laite, lisäksi konfiguroitu määrittämään g 25 viestissä käytetty SOAP-nimiavaruus ja valitsemaan hakutaulukot SOAP- g nimiavaruuden perusteella.
5. Minkä tahansa edellisen vaatimuksen mukainen laite, lisäksi kon- CL figuroitu lähettämään muunnettu viesti haluttuun kohteeseen, o
6. Minkä tahansa edellisen vaatimuksen mukainen laite, lisäksi kon- 00 § 30 figuroitu vastaanottamaan XML-muotoisia Simple Object Access Protocol CVJ (SOAP) -viestejä, jotka käsittävät viestielementtejä, 17 kompressoimaan XML-muotoinen viesti binääriseksi SOAP-viestiksi koodaamalla käytetty nimiavaruus ja koodauksen versionumero binääriseen otsikkoon, koodaamalla sovellusprotokollapakettityyppi ja TCP/IP-kuittaustieto binääriseen otsikkoon, korvaamalla kukin XML-viestielementti hakutaulukon 5 osoittamalla binäärisellä viestielementillä, ja lähettämään binäärisen otsikon käsittävä binäärinen SOAP-viesti haluttuun kohteeseen.
7. Vaatimuksen 6 mukainen laite, lisäksi konfiguroitu kompressoimaan XML-muotoisen viestin otsikot binäärisiksi {otsik- 10 kotyyppi, arvo} tupliksi, joissa tuplien otsikkotyyppien arvot on valittu hakutau-lukkojen perusteella ja tuplien arvokentät on valittu XML-muotoisen viestin arvojen perusteella.
8. Vaatimuksen 6 mukainen laite, lisäksi konfiguroitu ilmaisemaan SOAP-viestin viestielementtien lukumäärä binäärisenä 15 lukuna binäärisessä otsikossa kompressoitujen otsikkojen jälkeen.
9. Vaatimuksen 6 mukainen laite, lisäksi konfiguroitu kompressoimaan kukin viestielementti ilmaisemalla viestielementti- koodi, tagien lukumäärä viestielementissä ja viestielementin pituus ja komp-ressoimnalla kukin tagi tagikoodin, datatyypin ja data-arvon käsittävänä tupla-20 na.
10. Minkä tahansa edellisen vaatimuksen mukainen laite, lisäksi konfiguroitu vastaanottamaan binäärisen otsikon käsittävä binäärinen SOAP- 00 O Viesti; g 25 dekoodaamaan viestin binäärisestä otsikosta käytetty nimiavaruus g ja koodauksen versionumero; dekompressoimaan binäärinen SOAP-viesti XML-muotoiseksi vies- O. ^ tiksi korvaamalla kukin binäärinen viestielementti hakutaulukon osoittamalla o J XML-viestielementillä; CO § 30 valitsemaan sovellusprotokollapakettityyppi ja vastekoodi binäärisen Cvl SOAP-viestin binäärisen otsikon käsittämän tiedon perusteella; ja 18 lähettämään XML-muotoisen viestielementtejä käsittävä SOAP- viesti.
11. Minkä tahansa edellisen vaatimuksen mukainen laite, lisäksi konfiguroitu vastaamaan binäärimuotoiseen SOAP put-viestiin lähettämällä 5 binäärinen kuittausviesti binäärisen viestin lähettäjälle.
12. Minkä tahansa edellisen vaatimuksen mukainen laite, lisäksi konfiguroitu vastaamaan binäärimuotoiseen SOAP-viestiin, joka tulee dekom-pressoida, lähettämällä binäärinen kuittausviesti binäärisen viestin lähettäjälle.
13. Minkä tahansa edellisen vaatimuksen mukainen laite, lisäksi 10 konfiguroitu lähettämään binäärinen SOAP-viesti käyttäen User Datagram Protocol (UDP)-protokollaa.
14. Minkä tahansa edellisen vaatimuksen mukainen laite, lisäksi konfiguroitu lähettämään binäärinen SOAP-viesti käyttäen jotakin seuraavista siirtoteknologioista:
15. Vaatimuksen 4 mukainen laite, käsittäen muistin hakutaulukoi- den tallentamiseksi.
15. IEEE 802.15.4 sekä Internet Protocol v6 (6lowpan), - IEEE 802.15.4 sekä ZigBee, - Bluetooth - Bluetooth Ultra Low Power - Low Power Wireless Local Area Network.
16. Vaatimuksen 15 mukainen laite lisäksi konfiguroitu päivittämään hakutaulukoita kaukopalvelimelta jos hakutaulukkoa määritellylle nimiavaruu-o delle ei ole tallennettu laitteen muistiin. g 25
17. Minkä tahansa edellisen vaatimuksen mukainen laite, konfiguroi- g tu vastaanottamaan ja lähettämään Extensible Markup Language (XML) -muo- toisia Simple Object Access Protocol (SOAP)-viestejä käyttäen Hypertext □_ ^ Transfer Protocol (HTTP)-protokollaa. o
18. Minkä tahansa edellisen vaatimuksen 1-16 mukainen laite, kon- oo § 30 figuroitu lähettämään ja vastaanottamaan Extensible Markup Language (XML) (M muotoisia Simple Object Access Protocol (SOAP)-viestejä käyttäen Session Initiation Protocol (SlP)-protokollaa. 19
19. Minkä tahansa edellisen vaatimuksen mukainen laite, lisäksi konfiguroitu muunnettaessa XML/SOAP-viestiä binääriseen muotoon sisällyttämään binääriseen otsikkoon käytetty nimiavaruus ja koodauksen versionumero.
20. Menetelmä, käsittäen: lähetetään ja vastaanotetaan Extensible Markup Language (XML) -muotoisia Simple Object Access Protocol (SOAP) -viestejä (102) käyttäen so-vellusprotokollaa ja lähetysohjausprotokollaa/lnternet-protokollaa (TCP/IP), viestin käsittäessä viestielementtejä; 10 vastaanotetaan ja lähetetään binäärisiä SOAP-viestejä (110) käsit täen binäärisiä viestielementtejä; tunnettu siitä, että suoritetaan muunnos XML/SOAP-muotoisen viestin (102) ja binäärisen SOAP-viestin (110) välillä korvaten kukin annetun muodon viestielementti 15 toisen muodon viestielementillä; sisällytetään muunnettaessa XML/SOAP-viesti (102) binääriseen muotoon (110) binääriseen otsikkoon sovellusprotokollapakettityyppi ja TCP/IP-kuittaustieto; ja valitaan muunnettaessa binäärimuotoinen SOAP-viesti (110) 20 XML/SOAP-muotoon (102) sovellusprotokollapakettityyppi ja vastekoodi binäärimuotoisen SOAP-viestin binääriotsikon sisältämän tiedon perusteella.
21. Vaatimuksen 20 mukainen menetelmä, lisäksi käsittäen: muunnettaessa XML/SOAP-viesti (102) binääriseen muotoon sisäl-o lytetään binääriseen viestiin (110) käytetty nimiavaruus ja koodauksen versioon 25 numero. i
22. Vaatimuksen 20 mukainen menetelmä, lisäksi käsittäen: = hyödynnetään muunnoksessa hakutaulukkoja (208). Ω.
^ 23. Vaatimuksen 22 mukainen menetelmä, lisäksi käsittäen: σ> ’ o ^ määritetään viestissä käytetty SOAP-nimiavaruus ja valitaan haku- 00 § 30 taulukot SOAP-nimiavaruuden perusteella. C\J
24. Minkä tahansa edellisen vaatimuksen 20-23 mukainen menetelmä, lisäksi käsittäen: 20 lähetetään muunnettu viesti haluttuun kohteeseen.
25. Minkä tahansa edellisen vaatimuksen 20-24 mukainen menetelmä, lisäksi käsittäen: vastaanotetaan XML-muotoisia Simple Object Access Protocol 5 (SOAP) -viestejä, jotka käsittävät viestielementtejä, kompressoidaan XML-muotoinen viesti binääriseksi SOAP-viestiksi koodaamalla käytetty nimiavaruus ja koodauksen versionumero binääriseen otsikkoon, koodataan sovellusprotokollapakettityyppi ja TCP/IP-kuittaustieto binääriseen otsikkoon, korvataan kukin XML-viestielementti hakutaulukon 10 osoittamalla binäärisellä viestielementillä, ja lähetetään binäärisen otsikon käsittävä binäärinen SOAP-viesti haluttuun kohteeseen.
26. Minkä tahansa edellisen vaatimuksen 20-25 mukainen menetelmä, lisäksi käsittäen: 15 kompressoidaan XML-muotoisen viestin otsikot binäärisiksi {otsikko tyyppi, arvo} tupliksi, joissa tuplien otsikkotyyppien arvot on valittu hakutauluk-kojen perusteella ja tuplien arvokentät on valittu XML-muotoisen viestin arvojen perusteella.
27. Minkä tahansa edellisen vaatimuksen 20-26 mukainen mene-20 telmä, lisäksi käsittäen: vastaanotetaan binäärisen otsikon käsittävä binäärinen SOAP- viesti; dekoodataan viestin binäärisestä otsikosta käytetty nimiavaruus ja o koodauksen versionumero; g 25 dekompressoidaan binäärinen SOAP-viesti XML-muotoiseksi vies- g tiksi korvaamalla kukin binäärinen viestielementti hakutaulukon osoittamalla g XML-viestielementillä; CL valitaan sovellusprotokollapakettityyppi ja vastekoodi binäärisen o J SOAP-viestin binäärisen otsikon käsittämän tiedon perusteella; ja CO § 30 lähetetään XML-muotoinen viestielementtejä käsittävä SOAP-viesti. CVJ
28. Minkä tahansa edellisen vaatimuksen 20-27 mukainen menetelmä, lisäksi käsittäen: 21 vastataan binäärimuotoiseen SOAP put-viestiin lähettämällä binäärinen kuittausviesti binäärisen viestin lähettäjälle.
29. Minkä tahansa edellisen vaatimuksen 20-28 mukainen menetelmä, lisäksi käsittäen: 5 vastataan binäärimuotoiseen SOAP-viestiin, joka tulee dekompres- soida, lähettämällä binäärinen kuittausviesti binäärisen viestin lähettäjälle.
30. Minkä tahansa edellisen vaatimuksen 20-29 mukainen menetelmä, lisäksi käsittäen: talletetaan hakutaulukot muistiin.
31. Vaatimuksen 30 mukainen menetelmä, lisäksi käsittäen: päivitetään hakutaulukoita kaukopalvelimelta jos hakutaulukkoa määritellylle nimiavaruudelle ei ole tallennettu laitteen muistiin.
32. Minkä tahansa edellisen vaatimuksen 20-31 mukainen menetelmä, lisäksi käsittäen: 15 sovellusprotokolla on Session Initiation Protocol (SIP).
33. Minkä tahansa edellisen vaatimuksen 20-31 mukainen menetelmä, jossa sovellusprotokolla on Hypertext Transfer Protocol (HTTP).
34. Tietokoneohjelmatuote, joka koodaa tietokoneohjelmaohjeet tie-tokoneprosessin suorittamiseksi minkä tahansa vaatimuksen 20-31 mukaisen 20 menetelmän mukaisesti.
35. Tietokoneohjelman jakeluväline joka on tietokoneen luettavissa ja johon on koodattu tietokoneohjelmaohjeet tietokoneprosessin suorittaniisek- _ si minkä tahansa vaatimuksen 20-29 mukaisen menetelmän mukaisesti,
36. Vaatimuksen 35 mukainen tietokoneohjelman jakeluväline, kä- g 25 sittäen ainakin yhden seuraavista välineistä: tietokoneen luettavissa oleva väli- i g ne, ohjelmantallennusväline, tallennusväline, tietokoneen luettavissa oleva g muisti, tietokoneen luettavissa oleva ohjelmistojakelupaketti, tietokoneen luet- tavissa oleva signaali, tietokoneen luettavissa oleva telekommunikaatio sig-o J naali ja tietokoneen luettavissa oleva kompressoitu ohjelmistopaketti. CO § 30
37. Laite, konfiguroitu lähettämään ja vastaanottamaan binäärisiä C\J Simple Object Access Protocol (SOAP) -viestejä (110) jotka käsittävät binäärisen otsikon ja binäärisiä viestielementtejä, tunnettu siitä, että binäärisen 22 otsikon käsittäessä sovellusprotokollapakettityypin ja lähetysohjausprotokol-laa/lnternet-protokolla (TCP/IP)-kuittaustiedon, käytetyn nimiavaruuden ja koodauksen versionumeron, ja binääristen viestielementtien käsittäessä XML-viestielementtien binääriset vastineet. 5 co δ CVJ co cp LO O X X Q. O) o LO CO O o CVJ 23
FI20085409A 2008-05-05 2008-05-05 Menetelmä ja laite viestien prosessoimiseksi FI123499B (fi)

Priority Applications (7)

Application Number Priority Date Filing Date Title
FI20085409A FI123499B (fi) 2008-05-05 2008-05-05 Menetelmä ja laite viestien prosessoimiseksi
US12/121,193 US8135868B2 (en) 2008-05-05 2008-05-15 Method and apparatus for processing messages
KR1020107027318A KR101492846B1 (ko) 2008-05-05 2009-05-04 메시지들을 프로세싱하기 위한 방법 및 장치
JP2011507954A JP5345206B2 (ja) 2008-05-05 2009-05-04 メッセージを処理するための方法及び装置
PCT/FI2009/050353 WO2009135995A1 (en) 2008-05-05 2009-05-04 Method and apparatus for processing messages
EP09742195A EP2286568A1 (en) 2008-05-05 2009-05-04 Method and apparatus for processing messages
CN200980116111.6A CN102017580B (zh) 2008-05-05 2009-05-04 处理消息的方法和装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20085409 2008-05-05
FI20085409A FI123499B (fi) 2008-05-05 2008-05-05 Menetelmä ja laite viestien prosessoimiseksi

Publications (3)

Publication Number Publication Date
FI20085409A0 FI20085409A0 (fi) 2008-05-05
FI20085409A FI20085409A (fi) 2009-11-06
FI123499B true FI123499B (fi) 2013-06-14

Family

ID=39523064

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20085409A FI123499B (fi) 2008-05-05 2008-05-05 Menetelmä ja laite viestien prosessoimiseksi

Country Status (7)

Country Link
US (1) US8135868B2 (fi)
EP (1) EP2286568A1 (fi)
JP (1) JP5345206B2 (fi)
KR (1) KR101492846B1 (fi)
CN (1) CN102017580B (fi)
FI (1) FI123499B (fi)
WO (1) WO2009135995A1 (fi)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8397168B2 (en) 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
US7769806B2 (en) 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
JP5014212B2 (ja) * 2008-03-14 2012-08-29 キヤノン株式会社 メッセージ通信装置及びその制御方法及びコンピュータプログラム
CN102197691A (zh) * 2008-10-24 2011-09-21 三星电子株式会社 用于同步多个电子设备之中的属性的方法和系统
CN102422616B (zh) * 2009-05-12 2015-06-24 西门子公司 用于在一定数量的第一服务和一定数量的第二服务之间通信的方法
US8874793B2 (en) 2009-11-30 2014-10-28 Qualcomm Innovation Center, Inc. Methods and apparatus for improving header compression
KR101083494B1 (ko) * 2010-06-16 2011-11-16 엔에이치엔(주) 바이너리 패킷 중계 시스템 및 방법
CN102096704B (zh) * 2010-12-29 2013-03-20 北京新媒传信科技有限公司 一种xml的压缩方法和装置
EP2557752B1 (de) * 2011-08-11 2017-09-27 Siemens Aktiengesellschaft Verfahren und vorrichtung zum herstellen einer end-zu-end-kommunikation zwischen zwei netzwerken
WO2013088323A2 (en) * 2011-12-16 2013-06-20 Koninklijke Philips Electronics N.V. Operation of wireless resource-constrained devices in ip networks
US9531704B2 (en) 2013-06-25 2016-12-27 Google Inc. Efficient network layer for IPv6 protocol
US9191209B2 (en) 2013-06-25 2015-11-17 Google Inc. Efficient communication for devices of a home network
JP7226008B2 (ja) * 2019-03-26 2023-02-21 オムロン株式会社 管理装置、支援装置、管理方法、管理プログラムおよび記録媒体
CN111930705B (zh) * 2020-07-07 2023-03-14 中国电子科技集团公司电子科学研究院 二进制消息协议数据处理方法及装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010033554A1 (en) * 2000-02-18 2001-10-25 Arun Ayyagari Proxy-bridge connecting remote users to a limited connectivity network
WO2002061974A1 (fr) * 2001-01-31 2002-08-08 Net Time Corporation Systeme de communication de donnees, procede de communication de donnees, dispositif de transmission de donnees, assistant numerique personnel et dispositif portable
US20030172110A1 (en) * 2002-12-10 2003-09-11 Oracle International Corporation Methods and apparatus for invoking a document style server operation using an operation name in a SOAPAction header
US7647415B1 (en) * 2004-02-25 2010-01-12 Sun Microsystems, Inc. Dynamic web services stack
EP1577791B1 (en) * 2004-03-16 2011-11-02 Microdasys Inc. XML content monitoring
US7335026B2 (en) * 2004-10-12 2008-02-26 Telerobotics Corp. Video surveillance system and method
US8296354B2 (en) * 2004-12-03 2012-10-23 Microsoft Corporation Flexibly transferring typed application data
US7606267B2 (en) 2004-12-10 2009-10-20 Cisco Technology, Inc. Reducing the sizes of application layer messages in a network element
US7441185B2 (en) * 2005-01-25 2008-10-21 Microsoft Corporation Method and system for binary serialization of documents
US7844958B2 (en) * 2005-03-11 2010-11-30 Aptana, Inc. System and method for creating target byte code
US7453875B2 (en) 2005-03-23 2008-11-18 Microsoft Corporation Querying for services using soap over UDP
US7739586B2 (en) * 2005-08-19 2010-06-15 Microsoft Corporation Encoding of markup language data
US20070136412A1 (en) * 2005-10-25 2007-06-14 Yoshihiro Oba Integration of xml and tlv for query and/or responses in network discovery for mobile devices
US7738887B2 (en) * 2005-10-31 2010-06-15 Microsoft Corporation Voice instant messaging between mobile and computing devices
US20070115917A1 (en) * 2005-10-31 2007-05-24 Microsoft Corporation MTOM data transfer via TCP
US20070136492A1 (en) * 2005-12-08 2007-06-14 Good Technology, Inc. Method and system for compressing/decompressing data for communication with wireless devices
GB2439379A (en) * 2006-06-12 2007-12-27 Robert Denzil Onslow Providing confirmation of the receipt of files sent over the Internet
CN101047663A (zh) 2006-06-27 2007-10-03 华为技术有限公司 一种减少有效负荷的方法及系统
EP1928152B1 (en) * 2006-11-30 2013-05-29 Cassis International PTE Ltd. Process of communication between a device running Java ME and a server over the air with APDU under SOAP messages from/to an operator on a host, related system
US8739180B2 (en) * 2008-01-25 2014-05-27 International Business Machines Corporation Processing of MTOM messages

Also Published As

Publication number Publication date
US20090276451A1 (en) 2009-11-05
JP5345206B2 (ja) 2013-11-20
JP2011523804A (ja) 2011-08-18
EP2286568A1 (en) 2011-02-23
KR20110002881A (ko) 2011-01-10
WO2009135995A1 (en) 2009-11-12
US8135868B2 (en) 2012-03-13
FI20085409A0 (fi) 2008-05-05
FI20085409A (fi) 2009-11-06
CN102017580A (zh) 2011-04-13
CN102017580B (zh) 2015-01-07
KR101492846B1 (ko) 2015-02-12

Similar Documents

Publication Publication Date Title
FI123499B (fi) Menetelmä ja laite viestien prosessoimiseksi
US8195814B2 (en) Method and apparatus for virtualizing resources
Cirani et al. Internet of things: architectures, protocols and standards
CN109687995B (zh) 一种适用于资源受限型工业现场设备的基于CoAP的OPC UA报文传输方法
Shelby Embedded web services
CN102347947B (zh) 一种流媒体适配器、流媒体网络交互的系统及方法
US11088893B2 (en) Methods and devices for negotiating session descriptor parameters
CN109217983B (zh) 一种工业物联网的作业终端通信协议设计方法
EP1900174A1 (en) Signaling compression/decompression
CN111092854B (zh) 用于将从源设备发送的分组发送到目的地设备的方法
KR101607096B1 (ko) 2개의 네트워크들 사이에 엔드―투―엔드 통신을 확립하기 위한 방법 및 디바이스
CN102752320B (zh) 一种代理服务器主动压缩方法及代理服务器
US8918516B2 (en) Symbiotic client and server for embedded network system
CN105024923A (zh) 基于xmpp扩展消息的消息分类实现的方法及装置
Abangar et al. Improving the performance of web services in wireless sensor networks
CN104780182B (zh) HTTP chunked编码和IP包封装、解析方法
CN111865957A (zh) 帧结构及其方法和系统
CN102970113B (zh) 一种适用于多种智能网关的触发指令及触发方法
Kastner et al. Future trends in smart homes and buildings
CN111711563B (zh) 医用物联网网关
FI123400B (fi) Menetelmä ja laite verkkopalvelun skeeman hallitsemiseksi
Krishnamoorthy 4 Application protocols for IoT
Shivsharan IoT Protocols
Linking Course Overview
CN103733593A (zh) 用于建立通信的方法和装置

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 123499

Country of ref document: FI

Kind code of ref document: B

PC Transfer of assignment of patent

Owner name: ARM FINLAND OY

MM Patent lapsed
PC Transfer of assignment of patent

Owner name: PELION (FINLAND) OY