FI123400B - Method and device for controlling the scheme of a web service - Google Patents

Method and device for controlling the scheme of a web service Download PDF

Info

Publication number
FI123400B
FI123400B FI20105461A FI20105461A FI123400B FI 123400 B FI123400 B FI 123400B FI 20105461 A FI20105461 A FI 20105461A FI 20105461 A FI20105461 A FI 20105461A FI 123400 B FI123400 B FI 123400B
Authority
FI
Finland
Prior art keywords
schema
information
computer program
identifier
binary
Prior art date
Application number
FI20105461A
Other languages
Finnish (fi)
Swedish (sv)
Other versions
FI20105461A0 (en
FI20105461A (en
Inventor
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 FI20105461A priority Critical patent/FI123400B/en
Publication of FI20105461A0 publication Critical patent/FI20105461A0/en
Publication of FI20105461A publication Critical patent/FI20105461A/en
Application granted granted Critical
Publication of FI123400B publication Critical patent/FI123400B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/146Coding or compression of tree-structured data

Description

Menetelmä ja laite verkkopalvelun skeeman hallitsemiseksiMethod and device for controlling the scheme of a web service

AlaArea

Keksintö liittyy menetelmään ja laitteeseen verkkopalvelun skeeman hallitsemiseksi. Erityisesti keksintö liittyy binäärisissä verkkopalveluissa hyö-5 dynnettävien skeemojen hallitsemiseen tietokonepalvelimien tai solmujen välillä tietokoneverkoissa.The invention relates to a method and apparatus for controlling a scheme of a web service. In particular, the invention relates to the management of circuits used in binary network services between computer servers or nodes in computer networks.

TaustaBackground

Seuraava tekniikan tason kuvaus saattaa käsittää oivalluksia, löytöjä, käsityksiä tai selostuksia tai assosiaatioita selostuksineen, jotka eivät ole 10 alalla tunnettuja ennen esillä olevaa keksintöä, vaan ovat keksinnön aiheuttamia. Jotkut tällaisista keksinnön seikoista saatetaan mainita erikseen seuraa-vassa, kun taas eräät muut tällaiset keksinnön seikat ilmenevät asiayhteydestään.The following description of the prior art may include insights, discoveries, conceptions, or descriptions, or associations, with descriptions not known in the art prior to the present invention, but resulting from the invention. Some such aspects of the invention may be specifically mentioned below, while other such aspects of the invention will be apparent from their context.

Moderneissa kommunikaatio-ja tietokoneverkoissa tiedonvaihto oh-15 jelmien ja tietokoneiden välillä on tärkeä tekijä. Erilaiset ohjelmat, tietokoneet ja prosessorit vaihtavat tietoja ilman ihmisen osallisuutta. Eri ympäristöissä käytetään erilaisia verkkoja ja protokollia. Internetissä siirtokontrolliprotokol-la/lnternet-protokolla (the Transmission Control Protocol/lntemet Protocol TCP/IP) on kommunikaation perusprotokolla. TCP/IP huolehtii paketeissa lähe-20 tettävän tiedon koostamisesta ja purkamisesta. IP huolehtii osoituksesta siten, että paketit toimitetaan oikeaan kohteeseen. TCP/IP:n päällä käytetään hyper-tekstisiirtoprotokollaa (Hypertext Transfer Protocol HTTP) asia-kas/palvelinprotokollana. Ohjelma voi lähettää HTTP-pyynnön palvelimelle, joka vastaa toisella HTTP-viestillä.In modern communication and computer networks, the exchange of information between software and computers is an important factor. Different programs, computers and processors exchange information without human intervention. Different environments use different networks and protocols. On the Internet, the Transmission Control Protocol / Internet Protocol (TCP / IP) is the basic communication protocol. TCP / IP takes care of the compilation and decompression of the data transmitted in packets. The IP takes care of the detection so that packets are delivered to the correct destination. TCP / IP uses Hypertext Transfer Protocol HTTP as a client / server protocol. The program can send an HTTP request to a server that responds with another HTTP message.

$2 25 Yhteentoimivien viestien vaihtaminen käyttämällä palvelimien Inter- o ^ netissä tarjoamia API-rajapintoja (Application Program Interfaces) toteutetaan 0 verkkopalveluiden avulla. Verkkopalvelu voidaan toteuttaa monin tavoin, $2 yleensä käyttämällä REST-mallia (Representational State Transfer), joka sisäl- 1 tää esimerkiksi HTTP:n kaltaisen verkkoprotokollan sisäiset piirteet sekä hyö-30 tykuorman koodaamisen XML-kielellä (Extensible Markup Language), tai etä- ^ kutsuna SOAP:in (Simple Object Access Protocol) kautta, o SOAP on Internetin palveluviestiprotokolla, jota käytetään laajasti ° Internetissä tietokonepalvelimien välisten automaattisten viestien lähetykses sä. SOAP tarjoaa avorakenteisen formaatin tietokoneiden välisten viestien 35 vaihtoon minkä tahansa tarkoituksen saavuttamiseksi. Tällä hetkellä SOAP- 2 viestin sisältö koodataan käyttäen XML:ää. XML:ää voidaan käyttää esittämään mitä tahansa informaatiota. Viestit koostuvat rakenteisista XML-tageista. Kun SOAP-viestejä lähetetään Internetin yli, viestit käyttävät sovellusprotokol-laa, kuten HTTP:ta yli TCP/IP:n tai SIP:iä (Session Initiation Protocol) yli 5 TCP/IP:n.$ 2 25 The exchange of interoperable messages using the Application Program Interfaces (APIs) provided by the servers on the Internet is accomplished through 0 web services. The web service can be implemented in many ways, typically $ 2 using the REST (Representational State Transfer) model, which includes, for example, the internal features of a network protocol such as HTTP, as well as coding the payload in Extensible Markup Language (XML), or remote ^ called via Simple Object Access Protocol (SOAP), o SOAP is an Internet service message protocol that is widely used on the Internet to send automatic messages between computer servers. SOAP provides an open-format format for exchanging computer-to-computer messages 35 for any purpose. Currently, the content of the SOAP-2 message is encoded using XML. XML can be used to represent any information. The messages consist of structured XML tags. When SOAP messages are sent over the Internet, the messages use an application protocol such as HTTP over TCP / IP or SIP (Session Initiation Protocol) over 5 TCP / IP.

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 laitteisiin hyvin 10 nopeasti esimerkiksi automaatiossa, mittauksissa, seurannassa ja ohjauksessa.Low-power wireless networks, such as IEEE 802.15.4-based embedded and sensor networks, have very limited packet transmission resources. These networks are very energy efficient and the circuit technology is cheap. As a result, technology is moving into embedded devices very rapidly, for example in automation, measurement, tracking and control.

Nykyiset verkkopalveluteknologiat ovat aivan liian monimutkaisia (otsikot, sisällön jäsentäminen) ja raskaita (suuri otsikko- ja sisältörasite) heikkotehoisissa langattomissa verkoissa. Viime aikoina on kehitetty binäärisiä 15 verkkopalveluprotokollia heikkotehoisia langattomia verkkoja varten. Binäärinen verkkopalveluratkaisu sisältää sopivan verkkopalveluprotokollan (esimerkiksi yksinkertaistettu HTTP tai binäärinen verkkopalveluprotokolla, kuten Constrained Application Protocol CoAP) käytön sekä tehokkaan sisällön koodauksen (esimerkiksi Efficient XML Interchange EXI, binäärinen XML tai Fast 20 Infoset Fl).Current web service technologies are far too complex (titles, content parsing) and heavy (heavy header and content load) on low-performing wireless networks. Recently, binary 15 network service protocols have been developed for low-power wireless networks. The binary web service solution includes the use of a suitable web service protocol (e.g., simplified HTTP or a binary web service protocol, such as Constrained Application Protocol CoAP), and efficient content coding (e.g., Efficient XML Interchange EXI, binary XML or Fast 20 Infoset Fl).

Tyypilliset verkkopalvelut käyttävät XML:ää sisällön koodaamiseen hyödyntäen XML-skeemoja, joiden nimiavaruusinformaatio on hyvin tunnettua tai helposti saatavilla. Edelleen jopa täsmällisen skeemainformaation puuttuessa XML-dokumentti voidaan jäsentää päätepisteellä. Tämä ei kuitenkaan 25 päde binäärisissä verkkopalveluissa. Jotta täytetään erittäin pienen yleisrasit-teen vaatimukset, XML-koodausteknologiat, kuten EXI, hyödyntävät kaistan 5 ulkopuolista skeemainformaatiota (ns. skeemainformoitua tilaa EXI:ssä). Bi-Typical web services use XML to encode content utilizing XML schemas whose namespace information is well known or readily available. Furthermore, even in the absence of accurate schema information, an XML document can be parsed with an endpoint. However, this does not apply to binary web services. To meet the requirements of a very low overhead, XML encoding technologies such as EXI utilize out-of-band 5 schema information (so-called schema-informed space in EXI). bi-

C\JC \ J

^ nääristen verkkopalveluiden kehittämisessä tarvitaan paljon komponentteja, ° esimerkiksi sulautettuja asiakaslaitteita, välipalvelimia ja palvelimia. Jotta tämä 30 järjestelmä toimisi tehokkaimmin, kaikilla komponenteilla täytyy olla oikea | skeemainformaatio ja niiden tulee pystyä tunnistamaan mitä skeemaa käyte- tään mihinkin binääriseen verkkopalvelun hyötykuormaan.^ Many components are needed for the development of virtual network services, such as embedded client devices, proxy servers, and servers. For this system to work most efficiently, all components must have the correct | schema information and must be able to identify which schema is being used for which binary payload of the web service.

CDCD

J Yleensä jos skeemaa on käytetty viestin koodaamisessa, skeeman ° tunnus on voitu sisällyttää viestin otsikkoon. Tämänhetkinen tekniikan taso ku- 00 35 vaa kuitenkin vain sitä, kuinka skeemainformaatiota käytetään hyötykuorman koodaamiseen tai dekoodaamiseen, mutta ei sitä, kuinka skeemoja tunniste- 3 taan, hallitaan ja optimoidaan koko binäärisen verkkopalvelujärjestelmän (nimeltään toimialue) yli.J Usually, if the schema has been used to encode the message, the schema ID may have been included in the message header. However, the present state of the art only illustrates how schema information is used to encode or decode payload, but not how schema is identified, managed, and optimized over the entire binary network service system (called domain).

Lyhyt kuvausQuick description

Keksinnön tavoitteena on saada aikaan parannettu ratkaisu verkko-5 palvelun skeeman hallitsemiseksi tietokonepalvelimien tai solmujen välillä tietokoneverkoissa.An object of the invention is to provide an improved solution for controlling the scheme of a network 5 service between computer servers or nodes in computer networks.

Esillä olevan keksinnön eräänä piirteenä esitetään laite, joka käsittää prosessorin; muistin, joka sisältää tietokoneohjelmakoodin, joka on konfi-guroitu prosessorin avulla aikaansaamaan sen, että laitteella ainakin: ohjataan 10 binäärisen verkkopalvelujärjestelmän skeemainformaation tallennusta, jotka skeemat kuvaavat binääristen XML-viestien koodauksen/dekoodauksen; tarjotaan rajapinta skeemainformaation pitämiseksi ajankohtaisena jokaisessa binäärisen verkkopalvelujärjestelmän komponentissa.An aspect of the present invention is provided by a device comprising a processor; a memory containing computer program code configured by the processor to cause the device to at least: control the storage of schema information of the 10 binary web service systems, the schematics depicting encoding / decoding of binary XML messages; providing an interface for keeping schema information current on each component of the binary web service system.

Esillä olevan keksinnön toisena piirteenä esitetään menetelmä, jos-15 sa: ohjataan binäärisen verkkopalvelujärjestelmän skeemainformaation tallennusta, jotka skeemat kuvaavat binääristen XML-viestien koodauksen/dekoodauksen; ja tarjotaan rajapinta skeemainformaation pitämiseksi ajankohtaisena jokaisessa binäärisen verkkopalvelujärjestelmän komponentissa.In another aspect of the present invention, there is provided a method if-15a: controlling the storage of schema information for a binary web service system, said schematics illustrating encoding / decoding of binary XML messages; and providing an interface for keeping schema information current on each component of the binary network service system.

20 Esillä olevan keksinnön eräänä piirteenä esitetään laite, joka käsit tää välineet binäärisen verkkopalvelujärjestelmän skeemainformaation tallennuksen ohjaamiseksi, jotka skeemat kuvaavat binääristen XML-viestien koodauksen/dekoodauksen; välineet, joilla tarjotaan rajapinta skeemainformaation pitämiseksi ajankohtaisena jokaisessa binäärisen verkkopalvelujärjestelmän 25 komponentissa.An aspect of the present invention is provided with a device comprising means for controlling the storage of schema information of a binary web service system, said schematics illustrating encoding / decoding of binary XML messages; means for providing an interface for keeping chart information current in each of the 25 components of the binary network service system.

COC/O

^ Esillä olevan keksinnön eräänä piirteenä esitetään laite, joka käsit- ™ tää prosessorin; muistin, joka sisältää tietokoneohjelmakoodin, joka on konfi-An aspect of the present invention is provided by a device comprising a processor; a memory that contains computer program code that is confi

CVJCVJ

9 guroitu prosessorin avulla aikaansaamaan sen, että laitteella ainakin: ladataan ™ skeema, joka kuvaa binääristen XML-viestien koodauksen/dekoodauksen; ir 30 analysoidaan skeemaa yhdellä tai useammalla testihyötykuormalla; optimoi-9 gourced by a processor to cause the device to at least: load a ™ schema depicting encoding / decoding of binary XML messages; ir 30 analyzing the schema with one or more test payloads; to optimize

CLCL

daan skeemaa analyysin perusteella; muodostetaan koodikirjasto skeeman ^ perusteella.schema based on analysis; creating a Code Library based on schema ^.

o ° Kuviolistao ° Pattern list

Esillä olevan keksinnön suoritusmuotoja kuvataan seuraavassa vain 35 esimerkinomaisesti viitaten oheisiin kuvioihin, joissa 4 kuvio 1 kuvaa esimerkkiä järjestelmästä, jossa keksinnön suoritusmuotoja voidaan soveltaa; kuviot 2A, 2B ja 2C ovat vuokaavioita, jotka kuvaavat keksinnön suoritusmuotoja; 5 kuviot 3A, 3B, 4A, 4B ja 4C ovat vuokaavioita, jotka kuvaavat kek sinnön suoritusmuotoja; ja kuvio 5 kuvaa esimerkkiä hallintalaitteesta.Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which Figure 4 illustrates an example of a system in which embodiments of the invention may be applied; Figures 2A, 2B and 2C are flow charts illustrating embodiments of the invention; Figures 3A, 3B, 4A, 4B and 4C are flow charts illustrating embodiments of the invention; and Figure 5 illustrates an example of a control device.

Suoritusmuotojen kuvausDescription of Embodiments

Seuraavat suoritusmuodot ovat esimerkinomaisia. Vaikka selitys voi 10 viitata ’’yhteen” suoritusmuotoon tai ’’joihinkin” suoritusmuotoihin useissa kohdissa, tämä ei välttämättä tarkoita, että kukin sellainen viittaus kohdistuu samaan suoritusmuotoon tai -muotoihin tai että kyseinen piirre soveltuu vain yhteen suoritusmuotoon. Eri suoritusmuotojen yksittäisiä piirteitä voidaan myös yhdistää muiden suoritusmuotojen aikaansaamiseksi.The following embodiments are exemplary. Although the description may refer to "" one "embodiment or" "some" embodiments at several points, this does not necessarily mean that each such reference is to the same embodiment or embodiments, or that the feature is applicable to only one embodiment. The individual features of the various embodiments may also be combined to provide other embodiments.

15 Kuten on jo todettu, modernit sovellukset, joita ajetaan tietojenkäsit telylaitteistossa, joka on yhdistetty kommunikaatio- ja tietokoneverkkoihin, kommunikoivat toistensa kanssa. Verkkopalvelumenetelmät, kuten SOAP tai REST, suunniteltiin tarjoamaan sopiva alusta eri ympäristöissä, eri käyttöjärjestelmillä ja eri tietokoneissa ajettavien sovellusten väliseen kommunikaati-20 oon.15 As already stated, modern applications run on data processing equipment connected to communication and computer networks communicate with one another. Web service methods, such as SOAP or REST, were designed to provide an appropriate platform for communication between applications running in different environments, operating systems, and different computers.

Yleensä verkkopalvelut hyödyntävät XML-kieltä sisällön koodaukseen. Lähetetyt viestit ovat XML-dokumentteja, jotka sisältävät annetut elementit, joista osa on välttämättömiä ja osa valinnaisia. Verkkopalvelut saattavat hyödyntää XML-skeemoja, jotka kuvaavat sitä, kuinka tieto on koodattu 25 viesteihin ja mitkä elementit ovat välttämättömiä ja mitkä valinnaisia. Käytän-Generally, web services use XML to encode content. Sent messages are XML documents that contain given elements, some of which are necessary and some are optional. Web services may utilize XML schemas that describe how information is encoded into messages and which elements are necessary and optional. In practice

COC/O

^ nössä skeema kuvaa viestien hyötykuorman koodauksessa käytettävää kie- ™ Noppia ja sisältää yleensä linkkejä muihin viittauksiin, kuten nimiavaruuksiin.In principle, the schema describes the language Dice used to encode the payload of messages and generally includes links to other references such as namespaces.

CVJCVJ

9 Skeema on kuvaus XML-dokumentin rakenteesta. Myös muut muotoinformaa- ™ tion kuvauskielet, kuten Abstract Syntax Notation One (ASN.1), hyödyntävät I 30 informaation kieliopin ja rakenteen skeemamaista kuvausta.9 Schema is a description of the structure of an XML document. Other form description ™ languages, such as Abstract Syntax Notation One (ASN.1), utilize schematic description of I 30 information grammar and structure.

Kuvio 1 kuvaa esimerkkiä verkosta, jossa keksinnön suoritusmuoto- ^ ja voidaan soveltaa. Kuvion 1 esimerkkiverkko käsittää heikkotehoisen langat- m ° toman verkon 110, Internet/lntranetin 122 ja IP-pohjaisen verkon, jossa on pal- o ^ velin 104. Heikkotehoinen langaton verkko voidaan yhdistää Inter- 35 net/lntranettiin ja IP-pohjaiseen verkkoon välisolmulla 106, joka on fyysisesti 5 joko Internet/lntranetin ja heikkotehoisen langattoman verkon välissä oleva langaton reititin tai reunapalvelin IP-verkossa. Välisolmun looginen toiminnallisuus voidaan toteuttaa jopa palvelimessa.Figure 1 illustrates an example of a network in which embodiments of the invention may be applied. The exemplary network of Figure 1 comprises a low-power wireless network 110, an Internet / Intranet 122, and an IP-based network having a server 104. The low-power wireless network may be connected to an Internet / Internet and IP-based network by proxy 106. , which is physically 5 either a wireless router between an Internet / Internet intranet and a low-power wireless network or an edge server on an IP network. The proxy node's logical functionality can even be implemented on a server.

Internet/lntranetissä 122 ja IP-pohjaisessa verkossa, jossa on palve-5 Iin 104, viestintä toteutetaan käyttämällä XML-koodausta ja lähetetään HTTP:n avulla yli TCP/IP:n.In the Internet / Intranet 122 and the IP-based network with the service 104, the communication is implemented using XML coding and transmitted over TCP / IP via HTTP.

Heikkotehoinen langaton verkko 110 voi olla monihyppyverkko, joka käsittää joukon langattomia heikkotehoisia solmuja. Tässä yksinkertaistetussa esimerkissä on kuvattu yksi solmu 108.The low-power wireless network 110 may be a multi-hop network comprising a plurality of wireless low-power nodes. In this simplified example, one node 108 is described.

10 Eräässä suoritusmuodossa langattoman verkon 110 langattomat linkit voidaan toteuttaa käyttämällä IEEE 802.15.4:ää, jossa on Internet Protocol v6 (6lowpan), IEEE 802.15.4:ää, jossa on ZigBee, Bluetooth tai Bluetooth Ultra Low Power (ULP), heikkotehoista langatonta LAN:ia (Low Power Wireless Local Area Network), yksityistä heikkotehoista radiota, solukkoradiojärjes-15 telmää tai mitä tahansa muuta järjestelmää, joka soveltuu heikkotehoiseen lähetykseen. IEEE tulee sanoista Institute of Electrical and Electronics Engineers.In one embodiment, wireless links of wireless network 110 may be implemented using IEEE 802.15.4 with Internet Protocol v6 (6lowpan), IEEE 802.15.4 with ZigBee, Bluetooth, or Bluetooth Ultra Low Power (ULP), low-power wireless LAN (Low Power Wireless Local Area Network), private low power radio, cellular radio system, or any other system suitable for low power transmission. IEEE stands for Institute of Electrical and Electronics Engineers.

Binäärinen verkkopalvelujärjestelmä hyödyntää verkkopalveluproto-kollia (joko binääristä protokollaa tai täyttä HTTP:tä) ja binääristä koodattua 20 hyötykuormasisältöä. Näitä binäärisiä tekniikoita sovelletaan tyypillisesti rajoitetussa verkossa tai rajoitetuilla laitteilla, joilla ei ole resursseja tai kapasiteettia täydellisten verkkopalveluiden toteuttamiseksi. Kuviossa 1 heikkotehoinen langaton verkko 110 on tällainen rajoitettu toimialue, joka koostuu rajoitetusta solmusta 108, joka hyödyntää binääristä verkkopalveluprotokollaa ja hyöty-25 kuormatietoa 114. Välisolmua tai välipalvelinta 106 voidaan käyttää binääristen verkkopalveluprotokollien väliseen muuntamiseen sekä hyötykuormien muun-5 tamiseksi täydellisiksi verkkopalveluiksi 112. Tällaista välipalvelinta voidaanThe binary web service system utilizes the web service protocol (either binary protocol or full HTTP) and binary coded payload content. These binary techniques are typically applied on a limited network or on limited devices that do not have the resources or capacity to provide complete network services. In Figure 1, a low-power wireless network 110 is such a limited domain consisting of a limited node 108 utilizing a binary network service protocol and payload payload 114. The proxy node or proxy 106 may be used to convert binary network service protocols to payload services 11. can be

C\JC \ J

^ käyttää myös välimuistina tai tarjoamaan lisäturvaa rajoitetulle toimialueelle ° siten, ettei protokollia muunneta tai hyötykuormia koodata. Jos hyötykuorma 30 pysyy koodattuna 112, palvelimen 104 täytyy olla tietoinen myös hyötykuor-| man koodausta koskevasta skeemainformaatiosta.^ can also be used as a cache or to provide additional security for a limited domain ° so that protocols are not modified or payload encoded. If the payload 30 remains encoded 112, the server 104 must also be aware of the payload | man encoding schema information.

Jotta kuvion 1 järjestelmäarkkitehtuuri toimisi tehokkaasti, hyöty-In order for the system architecture of Figure 1 to work effectively,

COC/O

J kuorman sisällön koodaamiseen käytetään kaistan ulkopuolista skeemainfor- ° maatiota. Tämä on tyypillisesti XML-skeemainformaatiota, jota käytetään esi- 00 35 merkiksi XML-sisällön ja EXI:n tai Fast Infoset -formaattien väliseen koodauk- 6 seen/dekoodaukseen. Sen yksikön, jolla hyötykuormaa halutaan jäsentää, koodata tai dekoodata, täytyy tuntea oikea skeemainformaatio.J out-of-band schema information is used to encode the content of the load. This is typically XML schema information used, for example, for encoding / decoding between XML content and EXI or Fast Infoset formats. The unit with which the payload is to be parsed, coded or decoded must know the correct schema information.

Eräässä suoritusmuodossa kuvion 1 verkko käsittää hallintalaitteen 102 ja skeemakonfiguraatiomuistin 120, joka on toiminnallisesti yhdistetty hal-5 lintalaitteeseen. Binääriseen verkkopalvelujärjestelmään kuuluvan verkon yksi tai useammat komponentit 104, 106, 108 hyödyntävät hallintalaitteen hallitsemaa skeemainformaatiota.In one embodiment, the network of Figure 1 comprises a control unit 102 and a circuit configuration memory 120 operatively connected to a control unit 5. One or more components 104, 106, 108 of the network belonging to the binary network service system utilize schema information managed by the control device.

Hallintalaite 102 on konfiguroitu aikaansaamaan skeemanhallintara-japinta 116a - 116c, jota käytetään kaikilla järjestelmän komponenteilla. Hallin-10 talaitteella 102 on rajapinta 118 myös skeemamuistin 120 kanssa. Hallintalaite voidaan toteuttaa ja sijoittaa monin tavoin. Tyypillisesti laite 102 on erillinen sovellus erillisessä palvelimessa. Se voidaan integroida yhteen järjestelmän muista komponenteista, kuten palvelimeen 104 tai välisolmuun tai välipalveli-meen 106.The control device 102 is configured to provide a schema control interface 116a to 116c used with all system components. The Hall-10 device 102 also has an interface 118 with a schema memory 120. The control device can be implemented and positioned in many ways. Typically, device 102 is a separate application on a separate server. It can be integrated with one of the other system components, such as server 104 or proxy or proxy 106.

15 Jotta binäärinen verkkopalvelujärjestelmä toimisi tehokkaasti, sa man skeemakonfiguraation täytyy olla saatavilla kaikille komponenteille. Eräässä suoritusmuodossa hallintalaite 102 on konfiguroitu ylläpitämään skeemaan liittyvää informaatiota ja tarjoamaan verkkopalvelujärjestelmälle informaatiota skeemanhallintarajapinnan 116a - 116c kautta. Yhden toimialueen 20 skeemainformaation tulee olla yhdenmukaista. Toimialue voidaan määritellä joukoksi verkkopalvelukomponentteja (solmuja, välipalvelimia ja palvelimia), joita hallinnoidaan hallintayksiköllä, joka jakaa saman skeemakonfiguraation. Hallintayksikkö voi ylläpitää useita toimialueita, ja komponentit voivat osallistua useisiin toimialueisiin (tässä tapauksessa toimialueiden väliset skeematun-25 nusavaruudet eivät saa limittyä).15 For a binary web service system to work effectively, the same schema configuration must be available for all components. In one embodiment, the management device 102 is configured to maintain schema-related information and provide information to the network service system through the schema management interface 116a-116c. The schema information of one domain 20 should be consistent. A domain can be defined as a set of network service components (nodes, proxies, and servers) that are managed by a management unit that shares the same schema configuration. A management unit can maintain multiple domains, and components can participate in multiple domains (in this case, the inter-domain schema-space may not overlap).

Yhden toimialueen skeemoille on määrätty ainutlaatuinen tunniste, 5 SchemalD. Tunniste voi olla kokonaisluku, mutta se voi myös olla aakkosnu-Single domain schemas are assigned a unique identifier, 5 SchemalD. The tag can be an integer, but it can also be an alphabet-

C\JC \ J

^ meerinen nimi tai mikä tahansa muu sopiva tunnus. Eräässä suoritusmuodos- ° sa hallintalaite 102 on konfiguroitu määrittämään kullekin toimialueen skeemal ta 30 le yksilöllinen tunnus ja ylläpitämään informaatiota tunnuksista ja toimialueelle | määritetyistä skeemoista. Hallintalaite 102 voi tallentaa tunnuksiin ja skeemoi- hin liittyvän informaation muistiin 120.^ a meridian name or any other appropriate identifier. In one embodiment, the management device 102 is configured to assign a unique identifier to each domain schema 30 and to maintain information about the identities and the domain | defined schemes. Management device 102 may store information related to IDs and schemas in memory 120.

CDCD

J Jos kyseessä on XML-skeema, skeemaan liittyvä informaatio voi ol- ° la URI, joka osoittaa Internetissä olevaan varsinaiseen skeemaan. URI tulee 00 35 sanoista Uniform Resource Identifier. Esimerkki URI:sta on verkko-osoite (Uni- 7 form Resource Locator, URL). Esimerkkinä Internetissä olevaan skeemaan osoittavasta URI:stä on: http://www.example.com/SensorData.xsdJ In the case of an XML schema, the schema-related information may be a URI pointing to the actual schema on the Internet. The URI comes from the Uniform Resource Identifier. An example URI is a Uniform Resource Locator (URL). An example of a URI pointing to a schema on the Internet is: http://www.example.com/SensorData.xsd

Eräässä suoritusmuodossa hallintalaite on konfiguroitu seuraamaan 5 kunkin laitteeseen kuuluvan toimialueen skeemainformaatiojoukkoa. Informaatio voidaan tallentaa muistiin 120. Skeemainformaatio voi sisältää toimialueen, SchemalD:n, joka on aina yksilöllinen tietyn toimialueen sisällä, ja skeemaan liittyvän URI:n, joka on voitu tallentaa paikallisesti tai etänä. Skeemainformaatio voi myös käsittää muuta konfiguraatioinformaatiota. Seuraavassa on esi-10 merkki www.example.com -nimisen toimialueen skeemainformaatiosta:In one embodiment, the control device is configured to track a set of schema information for each domain within the device. The information may be stored in memory 120. Schema information may include a domain, SchemalD, which is always unique within a given domain, and schema-related URI, which may be stored locally or remotely. Schema information may also comprise other configuration information. The following is a pre-10 example of schema information for a domain named www.example.com:

Toimialue SchemalD Skeema www.example.com O http://www.example.com/Default.xsd www.example.com 1 http://www.example.com/SensorData.xsd www.example.com 2 http://www.exampie.com/EneravMessaQe.xsd 15 www.example.com 3 http://www.exampie.com/Actuator.xsdDomain SchemalD Schema www.example.com O http://www.example.com/Default.xsd www.example.com 1 http://www.example.com/SensorData.xsd www.example.com 2 http: / /www.exampie.com/EneravMessaQe.xsd 15 www.example.com 3 http://www.exampie.com/Actuator.xsd

Edellä olevassa esimerkissä skeemainformaatio käsittää informaatiota neljästä eri skeemasta, joiden SchemalD:t ovat O, 1,2 ja 3.In the example above, the scheme information comprises information from four different schemes having SchemalD's of O, 1,2, and 3.

Kun järjestelmän komponentti (solmu, välipalvelin tai palvelin) vastaanottaa koodatun verkkopalveluhyötykuorman, sen täytyy tuntea skeema 20 dekoodatakseen sen. Eräässä suoritusmuodossa SchemalD sisältyy joko verkkopalveluprotokollan otsikkoon, esimerkiksi HTTP:n sisältötyyppiseen otsikkoon tai muiden protokollien vastaavaan hyötykuormatyyppiin, tai itse hyö-tykuormakoodauksen otsikkoon. EXI-standardissa tällainen SchemalD:n kenttä on omassa hyötykuormaotsikossaan, joka voidaan dekoodata, vaikka hyöty-25 kuorman skeemaa ei vielä tunneta. Vaihtoehtoisesti SchemalD voi sijaita heti protokollaotsikon jälkeen, mutta juuri ennen koodattua hyötykuormaa, erään- 5 laisena ’’maagisena tavuna”. Kun koodatun hyötykuorman SchemalD on mää-When a system component (node, proxy, or server) receives an encrypted network service payload, it must know the schema 20 to decode it. In one embodiment, SchemalD is included either in the header of the web service protocol, for example in the HTTP content type header or in the corresponding payload type of other protocols, or in the payload encoding header itself. In the EXI standard, such a SchemalD field is in its own payload header, which can be decoded even though the payload scheme is not yet known. Alternatively, SchemalD may be located immediately after the protocol header, but just before the encoded payload, as a "magic byte". When the encoded payload SchemalD is

C\JC \ J

^ ritetty, skeemainformaatio haetaan, tarkistetaan ja käytetään sitten dekooda- ° uksessa.The interleaved, schema information is retrieved, checked, and then used in decoding.

CVJCVJ

30 Eräässä suoritusmuodossa skeemakonfiguraatioinformaatio ja sii- | hen liittyvät skeemat tallennetaan paikallisesti kuhunkin komponenttiin. Hallin- talaitteen 102 skeemakonfiguraatiorajapintaa 116a - 116c käytetään samanIn one embodiment, the circuit configuration information and the silicon related schemas are stored locally on each component. The schema configuration interface 116a - 116c of the control device 102 is used for the same

CDCD

J skeemakonfiguraation ylläpitämiseksi saman toimialueen kaikissa komponen- ° teissä.J to maintain the schema configuration for all components in the same domain.

o 00 35 Hallintalaitteen 102 tallentamaa informaatiota voidaan päivittää mo nin eri tavoin. Eräässä suoritusmuodossa skeemat on asennettu kaikkiin kom- 8 ponentteihin hallintatyökalun avulla. Uuden skeeman lisääminen järjestelmään käynnistetään manuaalisesti käyttäjän tai tietokonerajapinnan välityksellä. Tätä menetelmää voidaan kutsua staattiseksi tavaksi.00 00 The information stored by the control unit 102 can be updated in many different ways. In one embodiment, the circuits are installed on all components by means of a management tool. Adding a new schema to the system is triggered manually via the user or a computer interface. This method can be called a static method.

Eräässä suoritusmuodossa järjestelmän komponentit automaatti-5 sesti etsivät ja konfiguroivat uutta skeemainformaatiota. Uuden skeeman lisääminen järjestelmään tapahtuu automaattisesti skeemaetsinnän kautta, kun uusia skeemoja havaitaan. Tätä menetelmää voidaan kutsua dynaamiseksi tavaksi.In one embodiment, the system components automatically search for and configure new schema information. Adding a new schema to the system is done automatically through schema search when new schema is detected. This method can be called a dynamic method.

Kuvio 2A on vuokaavio, joka kuvaa keksinnön erästä suoritusmuoto toa. Kuvio 2A kuvaa esimerkkiä yleisestä menetelmästä skeemojen hallitsemiseksi binäärisessä verkkopalvelujärjestelmässä. Eräässä suoritusmuodossa menetelmä suoritetaan kuvion 1 mukaisessa hallintalaitteessa 102.Fig. 2A is a flowchart illustrating one embodiment of the invention. Figure 2A illustrates an example of a general method for controlling schematics in a binary web service system. In one embodiment, the method is performed in the control device 102 of Figure 1.

Menetelmä alkaa, kun hallintatyökalun käyttöliittymä aloittaa staattisen skeemasijoituksen 200A tai aloitetaan dynaaminen skeemaetsintäprosessi 15 200B, jossa havaitaan, että tietty skeema pitäisi lisätä binääriseen verkkopal- velualueeseen ja että kaikki komponentit tukevat sitä.The method begins when the management tool interface initiates a static schema deployment 200A or initiates a dynamic schema discovery process 15200B where it is discovered that a particular schema should be added to the binary web service area and supported by all components.

Ensin vaiheessa 202 skeeman URI (voi osoittaa paikallismuistiin tai etäverkkoresurssiin), toimialueinformaatio ja mahdollisesti muu konfiguraatioin-formaatio tuodaan prosessiin. Informaation tuo prosessiin joko hallintatyökalu, 20 järjestelmän komponentti, joka vastaanottaa järjestelmälle tuntemattomalla skeemalla koodatun hyötykuorman, tai järjestelmän komponentti, joka alkaa tarjota palvelua, joka hyödyntää järjestelmälle tuntemattomalla skeemalla koodattua hyötykuormaa.First, in step 202, the schema URI (can point to a local memory or a remote network resource), domain information, and possibly other configuration information is brought into the process. The information is brought into the process either by a management tool, a system component receiving a payload encoded by the unknown scheme, or a system component beginning to provide a service that utilizes a payload encoded by the unknown scheme.

Vaiheessa 204 skeema haetaan vastaanotetusta URI:sta.In step 204, the schema is retrieved from the received URI.

25 Vaiheessa 206 skeeman oikeellisuus tarkistetaan käyttämällä sopi- vaa skeemantarkistustyökalua.In step 206, the correctness of the schema is checked using a suitable schema check tool.

5 Jos tarkistus epäonnistuu vaiheessa 208, vikakoodi voidaan palaut-5 If the check fails at step 208, the DTC can be reset.

C\JC \ J

^ taa staattiseen tai dynaamiseen prosessiin.^ static or dynamic process.

° Vaiheessa 210 pyydetään vapaa SchemalD oikeaa skeemaa var- 30 ten. Eräässä suoritusmuodossa vapaa SchemalD voidaan määrittää kysele- | mällä skeemakonfiguraatiomuistista 120.In step 210, a free SchemalD is requested for the correct scheme. In one embodiment, free SchemalD can be determined by query | by schema configuration memory 120.

Vaiheessa 212 uusi SchemalD sitten tallennetaan skeeman URI:nIn step 212, the new SchemalD is then stored in the schema URI

COC/O

J ja mahdollisesti itse skeeman ja muun konfiguraatioinformaation kanssa ° skeemakonfiguraatiomuistiin 120.J and possibly with the schema itself and other configuration information to the schema configuration memory 120.

00 35 Seuraavaksi päivitetty skeemakonfiguraatio asennetaan kaikkiin ky seiseen toimialueeseen kuuluviin komponentteihin. Tässä esimerkissä olete- 9 taan, että komponenttilistaa ylläpidetään muistissa 120. Hallintalaite käsittää skeemakonfiguraatiorajapinnan 116A -116C ja kunkin järjestelmän komponentin kanssa. Eräässä suoritusmuodossa rajapintaa käytetään soveltamalla työn-tömenetelmää, jossa hallintalaite päivittää kunkin komponentin konfiguraation.00 35 The next updated schema configuration will be installed on all components within the domain. In this example, it is assumed that the component list is maintained in memory 120. The management device comprises a circuit configuration interface 116A-116C and each system component. In one embodiment, the interface is used by applying a push method in which the control unit updates the configuration of each component.

5 Eräässä suoritusmuodossa rajapintaa käytetään soveltamalla vetomenetel-mää, jossa kukin komponentti kyselee hallintalaitteelta uutta skeemainformaa-tiota. Kysely voidaan suorittaa tietyin väliajoin.In one embodiment, the interface is used by applying a pull method in which each component requests new control information from the control. The query can be run at certain intervals.

Kuvio 2A kuvaa työntömenetelmää asennusta varten. Vaiheessa 214 komponenttilista luetaan ensin muistista 120.Figure 2A illustrates a push method for installation. In step 214, the component list is first read from memory 120.

10 Vaiheessa 216 uusi skeema lähetetään vuorotellen jokaiselle kom ponentille käyttämällä konfiguraatiorajapintaa 116A -116C.10 In step 216, a new schema is alternately transmitted to each component using the configuration interface 116A-116C.

Menetelmä päättyy vaiheessa 218.The method ends in step 218.

Kuvio 2B kuvaa vetomenetelmää asennusta varten. Menetelmä alkaa vaiheessa 220, joka vastaa kuvion 2A vaihetta 212.Figure 2B illustrates a pulling method for installation. The process begins at step 220 which corresponds to step 212 of Figure 2A.

15 Vaiheessa 222 hallintalaite vastaanottaa järjestelmän komponentilta uutta skeemainformaatiota koskevan pyynnön. Pyyntö tulee konfiguraatioraja-pinnan 116A -116C kautta.In step 222, the control receives a request from the system component for new circuit information. The request comes through the configuration boundary interface 116A-116C.

Vaiheessa 224 hallintalaite määrittää, onko uusia skeemoja vastaanotettu viimeisen päivityksen jälkeen.At step 224, the control unit determines whether new schemes have been received since the last update.

20 Jos on, uusi skeema tai uudet skeemat lähetetään komponentille käyttämällä konfiguraatiorajapintaa 116A - 116C vaiheessa 226. Jos ei, komponenttia informoidaan vaiheessa 228, että päivitystä ei ole saatavilla.If so, the new schema or new schema (s) is sent to the component using the configuration interface 116A-116C in step 226. If not, the component is informed in step 228 that no update is available.

Menetelmä päättyy vaiheessa 230.The process ends in step 230.

Eräässä suoritusmuodossa, erityisesti kun on kyse sulautetuista 25 solmuista, joudutaan ehkä laatimaan uutta laiteohjelmistoa tai jokin suoritetta-va koodi joudutaan ehkä lähettämään solmulle, jotta se voi käsitellä uutta o skeemaa. Kun kyse on solmuista, joilla on käsittelytehoa, riittää pelkkä uudenIn one embodiment, especially with embedded nodes, new firmware may need to be created, or some executable code may have to be sent to the node in order to handle the new scheme. When it comes to nodes with processing power, just a new one is enough

CvJCVJ

^ skeeman lähettäminen rajapinnan kautta. Kuvio 2C kuvaa tällaista suoritus- ° muotoa. Eräässä suoritusmuodossa kuvion 2C menetelmä voi korvata kuvion^ sending schema via interface. Figure 2C illustrates such an embodiment. In one embodiment, the method of Figure 2C may replace the pattern

CvJCVJ

30 2A vaiheen 216 tai kuvion 2B vaiheen 226.30 2A step 216 or FIG. 2B step 226.

£ Menetelmä alkaa vaiheessa 232. Menetelmän alussa uusi skeema ja solmu, johon skeema lähetetään, ovat tunnettuja.£ The method starts at step 232. At the beginning of the method, the new schema and the node to which the schema is sent are known.

CDCD

J Vaiheessa 234 määritetään solmutyyppi. Solmutyyppi osoittaa, tar- ^ vitseeko solmun koodi tai laiteohjelmisto päivitystä tai uudelleenlaadintaa vai ^ 35 riittääkö skeemainformaation lähettäminen.J In step 234, the node type is determined. The node type indicates whether ^ the node code or firmware needs to be updated or recompiled, or ^ 35 whether sending schema information is sufficient.

1010

Jos koodi ei tarvitse päivitystä, skeemainformaatio lähetetään solmulle vaiheessa 236.If the code does not require an update, schema information is sent to the node in step 236.

Muussa tapauksessa solmun koodi tai laiteohjelmisto laaditaan vaiheessa 238 tukemaan uutta skeemainformaatiota ja laadittu koodi lähetetään 5 solmulle vaiheessa 240. Sen sijaan että koodi laaditaan hallintalaitteessa, skeemaa tukeva koodi voidaan ladata Internetistä tai muistista 120.Otherwise, the node code or firmware is generated in step 238 to support the new schema information and the generated code is sent to the 5 nodes in step 240. Instead of generating the code on the control unit, the schema-supporting code can be downloaded from the Internet or memory 120.

Menetelmä päättyy vaiheessa 242. Sama menetelmä voidaan toistaa kaikille solmuille, joille skeemainformaatio täytyy lähettää.The method ends in step 242. The same method can be repeated for all nodes to which schema information must be sent.

Kuvion 2B vetomenetelmässä hallintalaite voi laatia koodin tai laite-10 ohjelmiston dynaamisesti, kun kukin solmu kyselee skeemainformaation muutoksista. Eräässä suoritusmuodossa hallintalaite laatii koodit etukäteen ja tallentaa uuden koodin tai laiteohjelmiston. Solmun kysellessä muutoksista hallintalaite voi vastavuoroisesti lähettää laaditun koodin.In the pull method of Figure 2B, the control device may dynamically generate code or firmware 10 as each node inquires about changes in circuit information. In one embodiment, the control unit generates the codes in advance and stores the new code or firmware. When the node requests changes, the control unit can reciprocally send the generated code.

Kuvio 3A on vuokaavio, joka kuvaa keksinnön erästä suoritusmuo-15 toa. Kuvio 3A kuvaa esimerkkiä staattisesta skeemansijoitusmenetelmästä. Eräässä suoritusmuodossa menetelmä suoritetaan kuvion 1 binääriseen verk-kopalvelujärjestelmään yhdistetyssä palvelimessa tai tietokoneessa. Eräässä suoritusmuodossa menetelmä voidaan toteuttaa hallintatyökalun ohjelmisto-moduulilla, jota ajetaan hallintalaitteessa tai muussa palvelimessa tai tietoko-20 neessa.Fig. 3A is a flowchart illustrating an embodiment of the invention. Figure 3A illustrates an example of a static scheme placement scheme. In one embodiment, the method is executed on a server or computer connected to the binary network service system of Figure 1. In one embodiment, the method may be implemented by a management module software module run on a management device or other server or computer.

Staattisessa skeemansijoitusmenetelmässä uusi skeema voidaan lisätä binääriseen verkkopalvelualueeseen käyttämällä manuaalista asennusmenetelmää, joka toteutetaan esimerkiksi käyttöliittymän tai minkä tahansa sopivan tietokonesovellusrajapinnan kautta.In the static schema deployment method, the new schema can be added to the binary web service area using a manual installation method implemented, for example, through a user interface or any suitable computer application interface.

25 Menetelmä alkaa vaiheessa 302.The method begins at step 302.

Vaiheessa 304 skeema ladataan tietokoneeseen. Skeema voi ollaIn step 304, the schema is downloaded to the computer. The schema can be

COC/O

5 etukäteen suunniteltu skeema tai se on voitu suunnitella sopivalla työkalulla.5 a pre-designed scheme or it may have been designed with a suitable tool.

C\JC \ J

^ Työkalu voi olla hallintatyökalun ohjelmistomoduuli.^ The tool may be a management module software module.

° Vaiheessa 306 ladattu skeema tarkistetaan käyttämällä sopivaa 30 alalla tunnettua tarkistusmenetelmää. Jos skeema ei läpäise tarkistusta, se | ladataan uudelleen.In step 306, the loaded scheme is checked using a suitable verification method known in the art. If the schema fails the check, it | reloading.

Vaiheessa 308 tarkistettu skeema tallennetaan väliaikaisesti muis-At step 308, the verified schema is temporarily stored in the memory

COC/O

J tiin 310. Sovellettaessa käyttöliittymään käyttäjälle voidaan tarjota interaktiivi- ° nen vaihe optimointien ja korjausten ehdottamiseksi skeemaan, ja mahdollisia 00 35 hyötykuormia on suunniteltu parhaan koodaustehon saavuttamiseksi. Ensiksi 11 vaiheessa 312 itse skeema analysoidaan käyttämällä tietoa koodaustekniikas-ta ja skeeman piirteistä.J to 310. When applied to the user interface, the user can be provided with an interactive step to propose optimizations and corrections to the schema, and potential payloads are designed to achieve the best coding performance. First, in step 312, the schema itself is analyzed using information on coding techniques and schema features.

Seuraavaksi käyttäjä voi ladata yhden tai useamman testihyöty-kuorman vaiheessa 314.Next, the user may load one or more test payloads in step 314.

5 Vaiheessa 316 kukin testihyötykuorma koodataan käyttämällä sen hetkistä skeemaa.5 At step 316, each test payload is coded using the current scheme.

Vaiheessa 318 koodauksen tulokset analysoidaan. Tämä analyysi voi sisältää esimerkiksi koodatun ja alkuperäisen hyötykuorman välisen kokoeron, ei-optimaalisten kenttien (esim. merkkijonojen) tunnistuksen ja ehdo-10 tuksia parempaa hyötykuormasuunnittelua varten. Eräässä suoritusmuodossa tämä testihyötykuorman (-kuormien) analyysi sisältää skeeman täydellisyyden tarkastamisen testihyötykuormaan (-kuormiin) nähden, millä varmistetaan, että jokainen hyötykuormien elementti on määritelty skeemassa. Epätäydelliset skeemat eivät ole niin tehokkaita käytettäessä binäärisiä XML-tekniikoita. Seu-15 raavaksi kunkin elementin tietoja voidaan analysoida suhteessa skeeman tietotyyppiin, jolloin voidaan tunnistaa tarpeettomia merkkijonoja ja monimutkaisia rakenteita. Myöskään sellaisia nimiavaruuksia, joita ei ole määritelty skeemassa, ei voida pakata tiukkoihin skeemainformoituihin koodauksiin, joten ne tunnistetaan silloin, kun ne aiheuttavat suuria merkkijonorasitteita.In step 318, the coding results are analyzed. This analysis may include, for example, the size difference between the coded and the original payload, the identification of non-optimal fields (e.g., strings), and suggestions for better payload design. In one embodiment, this analysis of the test payload (s) includes checking the completeness of the schema for the test payload (s) to ensure that each payload element is defined in the schema. Incomplete schemas are not as effective with binary XML techniques. Next, the data in each element can be analyzed in relation to the schema data type, thus identifying unnecessary strings and complex structures. Also, namespaces that are not defined in the schema cannot be packaged in tight schema-coded encodings, so they are recognized when they cause heavy string strain.

20 Vaiheessa 320 skeema- ja hyötykuorma-analyysin tulos annetaan käyttäjälle tai tallennetaan.In step 320, the result of the schema and payload analysis is provided to the user or stored.

Vaiheessa 322 päätetään, asennetaanko 202 uusi skeema järjestelmään vai palataanko parantamaan hyötykuormaa (-kuormia) tai itse skeemaa paremman suorituskyvyn aikaansaamiseksi. Eräässä suoritusmuodossa 25 kuvattu parannusjakso on puoliautomatisoitu prosessi. Eräässä suoritusmuo-dossa analysointi-ja optimointivaiheita suoritetaan haluttu määrä. Haluttu mää-5 rä voi olla ennalta määritelty määrä tai se voidaan vastaanottaa syötteenäAt step 322, it is decided whether to install the new scheme 202 in the system or to return to improve the payload (s) or the scheme itself to achieve better performance. In one embodiment, the enhancement cycle described is a semi-automated process. In one embodiment, the desired number of analysis and optimization steps are performed. The desired amount may be a predetermined amount or may be received as an input

C\JC \ J

^ käyttöliittymältä. Eräässä suoritusmuodossa skeeman ja hyötykuorman (- ° kuormien) tehottomien piirteiden analyysin perusteella voidaan skeemaan ja 30 myös hyötykuormiin tehdä vähittäisiä muutoksia käyttäen koodaustehokkuu-| den tuloksia onnistumisen mittana.^ from the interface. In one embodiment, analysis of the ineffective features of the schema and payload (- ° loads) allows for gradual changes to the schema and also to the payload using coding efficiency | results as a measure of success.

Jos skeema asennetaan, se viedään kuvion 2A skeemanasennus-If the schema is installed, it will be exported to the schema installation diagram of FIG. 2A.

COC/O

J menetelmään.J method.

° Kuviot 3A ja 3B kuvaavat keksinnön toista suoritusmuotoa. Tässä 00 35 suoritusmuodossa hallintatyökalun ohjelmistomoduulia voidaan hyödyntää ku vion 3A yhteydessä kuvatun prosessin suorittamisessa uuden koodikirjaston 12 tuottamiseksi, jotta upotettujen laitteiden kehittäjät voivat käyttää tätä uutta skeemaa laiteohjelmiston kehityksessä. Tässä suoritusmuodossa prosessi suoritetaan kuvion 3A mukaisesti vaiheeseen 324 saakka, josta prosessi jatkuu kuvion 3B mukaisesti. Hallintatyökalun ohjelmistomoduuli voidaan siten 5 konfiguroida analysoimaan ja optimoimaan skeemaa ja testaamaan skeemaa useilla eri hyötykuormilla.Figures 3A and 3B illustrate another embodiment of the invention. In this embodiment, the management tool software module can be utilized to perform the process described in connection with Figure 3A to produce a new code library 12 for embedded device developers to use this new schema for firmware development. In this embodiment, the process is performed as shown in Figure 3A up to step 324, from which the process continues as shown in Figure 3B. The management tool software module can thus be configured to analyze and optimize the schema and to test the schema with a variety of payloads.

Vaiheessa 326 optimoidusta skeemasta luodaan laiteohjelmistokir-jasto. Vaiheessa 328 laiteohjelmistokirjasto tallennetaan muistiin 120. Tätä laiteohjelmistoa voidaan käyttää myöhemmin kuvion 2C menetelmässä. Pro- 10 sessi päättyy vaiheeseen 330. Prosessi voidaan toteuttaa hallintatyökalun oh-jelmistomoduulityökaluna, jota ajetaan hallintalaitteessa tai muussa palvelimessa tai tietokoneessa. Työkalusta ei tarvitse olla online-yhteyttä binäärisen verkkopalvelun komponentteihin, kun kuvioiden 3A ja 3B mukaista prosessia ajetaan.In step 326, a firmware library is created from the optimized schema. In step 328, the firmware library is stored in memory 120. This firmware can be used later in the method of Figure 2C. The process ends in step 330. The process may be implemented as a management tool software module tool run on a management device or other server or computer. The tool does not need to be online connected to the components of the binary web service when running the process of Figures 3A and 3B.

15 Kuviot 4A - 4C ovat vuokaavioita, jotka kuvaavat keksinnön suori tusmuotoja. Kuviot kuvaavat esimerkkejä dynaamisesta skeemansijoitusmene-telmästä, jossa toimialueen komponentit alustavat menettelyn uuden skeeman asentamiseksi toimialueelle. Kuviot esittävät kolme eri esimerkkiä, joissa skeema voitaisiin etsiä dynaamisesti.Figures 4A-4C are flow charts illustrating embodiments of the invention. The figures illustrate examples of a dynamic schema allocation method in which domain components initiate a procedure for installing a new schema on a domain. The figures show three different examples where the schema could be dynamically searched.

20 Kuvio 4A kuvaa esimerkkiä 402, jossa välipalvelin voi vastaanottaa solmulta ilmoituksen sen tarjoamista resursseista. Tällainen ilmoitus sisältää informaatiota sen resursseja koskevista syöte-/tulostehyötykuormaskeemoista (esimerkiksi WADL-kielellä, Web Application Description Language, tai WSDL-formaatissa, Web Services Description Language). Tällainen tilanne voi syntyä 25 esimerkiksi, kun uusi solmu asennetaan toimialueelle.Figure 4A illustrates an example 402 in which a proxy can receive a notification from a node about the resources it provides. Such notice contains information about the input / output payload schemes for its resources (for example, in WADL, Web Application Description Language, or, in WSDL, Web Services Description Language). This may be the case, for example, when installing a new node on a domain.

Vaiheessa 404 välipalvelin jäsentää ilmoituksen ja määrittää ilmoi-5 tuksessa olevien skeemojen lukumäärän.In step 404, the proxy parses the notification and determines the number of schemas in the notification.

(M(M

^ Vaiheessa 406 välipalvelin hakee skeeman.^ In step 406, the proxy server retrieves the schema.

° Vaiheessa 408 välipalvelin tarkistaa, onko skeema tunnettu toimi-In step 408, the proxy checks if the schema is known

C\JC \ J

30 alueella. Eräässä suoritusmuodossa välipalvelin kyselee 118 skeemaa muistis-| ta 120.30 area. In one embodiment, the proxy requests 118 schemas from memory | he 120.

Vaiheessa 410 uusien skeemojen LIRIT lähetetään hallintalaitteelle J 102 rajapinnan 116 (116A -116C) kautta. Vaiheet 406 - 410 suoritetaan kaikil- ? le ilmoituksen skeemoille. Menetelmä jatkuu 412 kuvion 2A mukaisesti.In step 410, the LIRITs of the new circuits are transmitted to the control unit J 102 via interface 116 (116A-116C). Steps 406 through 410 are performed on all? le notification schemes. The process continues 412 as shown in Figure 2A.

C\1 13C \ 1 13

Kuvio 4B kuvaa esimerkkiä 414, jossa välipalvelin tai palvelin on vastaanottanut uuden pyynnön ei-koodatulla hyötykuormalla (esimerkiksi täydessä verkkopalvelun HTTP-pyynnössä).Figure 4B illustrates an example 414 in which a proxy or server has received a new request with a non-coded payload (e.g., a full web service HTTP request).

Vaiheessa 416 välipalvelin tai palvelin poistaa täydellisen skeeman 5 URI:n itse hyötykuormasta. Hyvin muodostettu XML-hyötykuorma sisältää skeeman URI:n.In step 416, the proxy or server removes the complete schema 5 from the URI itself payload. A well-formed XML payload contains a schema URI.

Vaiheessa 418 skeeman URI lähetetään hallintalaitteelle 102 rajapinnan 116 (116A -116C) kautta. Menetelmä jatkuu 420 kuvion 2A mukaisesti.In step 418, the schema URI is transmitted to the control device 102 via interface 116 (116A-116C). The process continues 420 as shown in Figure 2A.

Kuvio 4C kuvaa esimerkkiä 422, jossa toimialueen solmussa oleva 10 sovellus pyytää uuden skeeman käyttöä. Tällainen tilanne voi syntyä esimerkiksi, kun toimialueen solmulle päivitetään uusia palveluita. Vaihtoehtoisesti solmu voi pyytää sellaisen skeeman käyttöä, joka on olemassa, mutta solmu ei tiedä, mitä SchemalD:tä pitäisi käyttää.Figure 4C illustrates an example 422 in which an application in the domain node 10 requests the use of a new schema. This may be the case, for example, when new services are updated for a domain node. Alternatively, the node may request the use of a schema that exists, but the node does not know which SchemalD should be used.

Vaiheessa 424 tarkistetaan, onko skeema toimialueen konfiguraati- 15 ossa.Step 424 checks whether the schema is in the domain configuration.

Jos ei ole, löydetään uuden skeeman URI. URI voi osoittaa Internetiin tai solmu voi tallentaa skeeman. Skeeman URI lähetetään hallintalaitteelle 102 rajapinnan 116 (116A - 116C) kautta vaiheessa 432. Menetelmä jatkuu 434 kuvion 2A mukaisesti.If not, a new schema URI is found. The URI can point to the Internet or the node can save the schema. The scheme URI is transmitted to the control device 102 via interface 116 (116A-116C) in step 432. The method continues 434 as shown in Figure 2A.

20 Jos skeema on olemassa, vaiheessa 426 tarkistetaan, onko skee man ID tuntematon. Jos ei, menetelmä päättyy vaiheessa 430.If a schema exists, step 426 checks whether the schema ID is unknown. If not, the method terminates in step 430.

Jos SchemalD on tuntematon, uusi SchemalD pyydetään hallinta-laitteelta 102 rajapinnan 116 (116A - 116C) kautta vaiheessa 428.If SchemalD is unknown, a new SchemalD is requested from control device 102 via interface 116 (116A to 116C) in step 428.

Menetelmä päättyy vaiheessa 430.The method ends in step 430.

25 Kuvio 5 kuvaa esimerkkiä hallintalaitteesta 102. Hallintalaite 102 voidaan toteuttaa elektronisena digitaalisena tietokoneena, joka voi käsittää o työmuistin (RAM) 500, keskusyksikön (CPU) 502 ja järjestelmäkellon 504.Figure 5 illustrates an example of a control unit 102. The control unit 102 may be implemented as an electronic digital computer, which may comprise: o working memory (RAM) 500, central processing unit (CPU) 502, and system clock 504.

C\JC \ J

^ CPU 502 voi käsittää joukon rekistereitä, aritmeettisen logiikkayksikön ja ohjani usyksikön. Ohjausyksikköä ohjaa sekvenssi ohjelmaohjeita, jotka on siirretty ^ 30 CPU:hun työmuistista. Ohjausyksikkö voi käsittää joukon mikro-ohjeita perus- | operaatioita varten. Mikro-ohjeiden toteutus voi vaihdella riippuen CPU:n toteu- tuksesta. Ohjelmaohjeet voidaan koodata ohjelmointikielellä, joka voi olla korte» J kean tason ohjelmointikieli, kuten C, Java, jne., tai matalan tason ohjelmointi- ? kielellä, kuten konekielellä tai assemblerilla. Elektroninen digitaalinen tietokone ™ 35 voi myös käsittää käyttöjärjestelmän, joka voi toteuttaa järjestelmäpalveluita ohjelmaohjeilla kirjoitetulle tietokoneohjelmalle. Hallintalaite 102 on konfiguroitu 14 olemaan yhteydessä heikkotehoisen langattoman verkon ja Internet/lntranetin kanssa sopivaa rajapintaa 506 käyttäen. Rajapinta voi käsittää langattoman lähetin-vastaanottimen, joka on konfiguroitu varustamaan laite langattomalla yhteydellä, ja lähetin-vastaanottimen, joka on konfiguroitu varustamaan laite 5 Internet-yhteydellä. Lähetin-vastaanottimet voidaan toteuttaa käyttämällä alalla tunnettuja ratkaisuja. Lisäksi laite voi käsittää käyttöliittymän 608, kuten näytön ja näppäimistön. Solmu voi käsittää muistin 500 ohjelmiston ja muiden tietojen tallentamista varten. Laite käsittää prosessointiyksikön 502, joka on konfiguroitu suorittamaan kuvioiden 2A ja 2B yhteydessä kuvatun prosessin. Prosessoin-10 tiyksikkö voi olla konfiguroitu ohjaamaan binäärisen verkkopalvelujärjestelmän skeemainformaation tallentamista, jotka skeemat kuvaavat binääristen XML-viestien koodauksen/dekoodauksen; ja ohjaamaan laitetta tarjoamaan rajapinta skeemainformaation pitämiseksi ajankohtaisena jokaisessa binäärisen verkkopalvelujärjestelmän komponentissa, jolloin rajapinta on konfiguroitu kommu-15 nikoimaan sopivia protokollia ja menetelmiä hyödyntävän järjestelmän komponenttien kanssa.The CPU 502 may comprise a plurality of registers, an arithmetic logic unit, and a control unit. The control unit is controlled by a sequence of program instructions that have been transferred to ^ 30 CPUs from the working memory. The control unit may comprise a set of micro instructions in the basic | for operations. The implementation of the micro instructions may vary depending on the implementation of the CPU. Programming instructions can be coded in a programming language that can be a horn »J-level programming language such as C, Java, etc., or low-level programming? language, such as machine language or assembler. The Electronic Digital Computer ™ 35 may also comprise an operating system that can provide system services to a computer program written in program instructions. The management device 102 is configured 14 to communicate with the low-power wireless network and the Internet / Internet intranet using a suitable interface 506. The interface may comprise a wireless transceiver configured to provide the device with a wireless connection and a transceiver configured to provide the device 5 with an Internet connection. Transceivers may be implemented using solutions known in the art. In addition, the device may comprise a user interface 608, such as a display and a keyboard. The node may comprise a memory 500 for storing software and other data. The apparatus comprises a processing unit 502 configured to perform the process described in connection with Figures 2A and 2B. The processing unit 10 may be configured to control the storage of schema information for the binary web service system, which schematics describe the encoding / decoding of the binary XML messages; and controlling the device to provide an interface for keeping schema information current on each component of the binary network service system, the interface being configured to communicate with system components utilizing appropriate protocols and methods.

Eräässä suoritusmuodossa laite voidaan toteuttaa ohjelmistona rei-tittimessä tai binääriseen verkkopalvelualueeseen liitetyssä tietokoneessa tai heikkotehoisen langattoman verkon ja Internet/lntranetin välisessä välipalveli-20 messa tai solmussa tai reunapalvelimessa IP-verkossa.In one embodiment, the device may be implemented as software on a router or a computer connected to a binary network service area, or on a proxy or low-end wireless network and Internet / Internet intranet, or on a node or edge server on an IP network.

Eräässä suoritusmuodossa toteutetaan tietokoneohjelma jakoväli-neellä, joka ohjelma käsittää ohjelmaohjeet, jotka ladattuna elektroniseen laitteeseen toteuttavat tietokoneprosessin, joka käsittää: ohjataan binäärisen verkkopalvelujärjestelmän skeemainformaation tallennusta, jotka skeemat ku-25 vaavat binääristen XML-viestien koodauksen/dekoodauksen; ja tarjotaan raja-pinta skeemainformaation pitämiseksi ajankohtaisena jokaisessa binäärisen 5 verkkopalvelujärjestelmän komponentissa.In one embodiment, a computer program is implemented on a distribution medium, the program comprising program instructions which, when downloaded to an electronic device, implements a computer process comprising: controlling the storage of schema information for a binary web service system; the schematics illustrating encoding / decoding binary XML messages; and providing an interface for keeping schema information current in each of the components of the binary network service system.

C\JC \ J

^ Tietokoneohjelma voi olla lähdekoodimuodossa, objektikoodimuo- ° dossa tai jossain välimuodossa, ja se voi olla tallennettuna jonkin kaltaiseen 30 välittäjään, joka voi olla mikä tahansa kokonaisuus tai laite, joka pystyy välit-| tämään ohjelman. Tällaisiin välittäjiin kuuluvat esimerkiksi tallenneväline, tieto- konemuisti, lukumuisti ja ohjelmistonjakelupaketti. Riippuen tarvittavasta pro-The computer program may be in source code, object code, or some intermediate form, and may be stored in some form of intermediary, which may be any entity or device capable of relaying | this program. Such mediators include, for example, storage media, computer memory, read-only memory, and a software distribution package. Depending on the required pro-

COC/O

J sessointikyvystä tietokoneohjelma voidaan suorittaa yhdessä elektronisessa ° digitaalisessa ohjaimessa tai se voidaan jakaa ohjainjoukon kesken.From the processing capability, the computer program may be executed in one electronic ° digital controller or may be distributed among a set of controllers.

00 35 Alan ammattimiehelle on selvää, että teknologian kehittyessä kek sinnöllinen ajatus voidaan toteuttaa monin tavoin. Keksintöjä sen suoritus- 15 muodot eivät ole rajoittuneet yllä kuvattuihin esimerkkeihin vaan niitä voidaan muunnella vaatimusten puitteissa.00 35 It will be clear to one skilled in the art that as technology advances, the inventive concept can be implemented in many ways. Embodiments of the invention are not limited to the examples described above, but may be modified within the scope of the claims.

COC/O

δδ

C\JC \ J

ii

CVJCVJ

oo

CVJCVJ

XX

cccc

CLCL

δδ

LOLO

OO

δδ

CVJCVJ

Claims (22)

1. Laite, joka käsittää prosessorin (502); muistin (500), joka sisältää tietokoneohjelmakoodin, joka on konfigu-5 roitu prosessorin avulla aikaansaamaan sen, että laitteella ainakin: ohjataan binäärisen verkkopalvelujärjestelmän skeemainformaation tallennusta, joka järjestelmä käsittää useamman kuin yhden järjestelmäkom-ponentin, kuten palvelimia, välipalvelimia ja langattomia heikkotehoisia solmuja, joka skeemainformaatio sisältää skeeman URI:n (Uniform Resource Identi-10 tier) ja määrätyn tunnisteen ja toimialueen, ja jotka skeemat kuvaavat binääristen XML-viestien koodauksen/dekoodauksen; tarjotaan rajapinta skeemainformaation pitämiseksi ajankohtaisena jokaisessa binäärisen verkkopalvelujärjestelmän komponentissa.An apparatus comprising a processor (502); a memory (500) containing computer program code configured by the processor to cause the device to at least: control the storage of schema information of the binary network service system comprising more than one system component such as servers, proxies and low-power wireless nodes, schema information includes a schema URI (Uniform Resource Identi-10 tier) and a specified identifier and domain, which schematics encode / decode binary XML messages; providing an interface for keeping schema information current on each component of the binary web service system. 2. Patenttivaatimuksen 1 mukainen laite, jossa prosessori ja tieto-15 koneohjelmakoodin sisältävä muisti on edelleen konfiguroitu aikaansaamaan sen, että laite: vastaanottaa skeemaan liittyvän osoitteen; määrää skeemalle tunnisteen; tallentaa skeeman ja tunnisteen; 20 jakaa skeemaa koskevaa informaatiota järjestelmän komponenteille.The device of claim 1, wherein the processor and memory containing the computer program code are further configured to cause the device to: receive an address associated with the schema; assigns a schema identifier; Save schema and tag; 20 distributes schema information to system components. 3. Patenttivaatimuksen 1 tai 2 mukainen laite, jossa prosessori ja tietokoneohjelmakoodin sisältävä muisti on edelleen konfiguroitu aikaansaamaan sen, että laite: tarkistaa skeeman oikeellisuuden ennen skeeman tallennusta ja ja- 25 kamista. COThe device of claim 1 or 2, wherein the processor and the memory containing the computer program code are further configured to cause the device to: verify the schema's validity before storing and distributing the schema. C/O ^ 4. Jonkin edellä olevan patenttivaatimuksen 1 - 3 mukainen laite, ™ jossa prosessori ja tietokoneohjelmakoodin sisältävä muisti on edelleen konfi- CVJ 9 guroitu aikaansaamaan sen, että laite: ™ lähettää kullekin järjestelmän komponentille skeemaa koskevan 3. viestin rajapinnan kautta.The device according to any one of claims 1 to 3, wherein the processor and the memory containing the computer program code are further configured to cause the device: ™ to transmit to each system component via a schema 3. message. 5. Jonkin edellä olevan patenttivaatimuksen 1 - 4 mukainen laite, ^ jossa prosessori ja tietokoneohjelmakoodin sisältävä muisti on edelleen koniini? guroitu aikaansaamaan sen, että laite: o CVJ vastaanottaa komponentilta uusia skeemoja koskevan pyynnön rajapinnan kautta ja vastaa lähettämällä tallennettua skeemaa koskevaa informaatiota.The device according to any one of claims 1 to 4, wherein the processor and the memory containing the computer program code are still cone? gurued to cause the device: o the CVJ to receive a request for a new schema from the component via the interface and respond by sending information about the stored schema. 6. Jonkin edellä olevan patenttivaatimuksen 1 - 5 mukainen laite, 5 jossa prosessori ja tietokoneohjelmakoodin sisältävä muisti on edelleen konfi- guroitu aikaansaamaan sen, että laite: vastaanottaa järjestelmään toiminnallisesti yhdistetyltä tietokoneelta tietoa uudesta järjestelmään lisättävästä skeemasta rajapinnan kautta.The device according to any one of claims 1 to 5, wherein the processor and the memory containing the computer program code are further configured to cause the device to: receive from the computer functionally connected to the system information about the new scheme to be added to the system via an interface. 7. Jonkin edellä olevan patenttivaatimuksen 1 - 6 mukainen laite, 10 jossa prosessori ja tietokoneohjelmakoodin sisältävä muisti on edelleen konfi- guroitu aikaansaamaan sen, että laite: vastaanottaa järjestelmän komponentilta rajapinnan kautta pyynnön lisätä järjestelmään uusi skeema, joka pyyntö käsittää skeeman osoitteen.The device according to any one of claims 1 to 6, wherein the processor and the memory containing the computer program code are further configured to cause the device to: receive a request from a system component via the interface to add a new schema to the system comprising the schema address. 8. Jonkin edellä olevan patenttivaatimuksen 1 - 7 mukainen laite, 15 jossa skeemainformaatio käsittää skeeman tunnisteen, skeeman osoitteen ja järjestelmän tunnisteen.The device according to any one of claims 1 to 7, wherein the schema information comprises a schema identifier, a schema address, and a system identifier. 9. Jonkin edellä olevan patenttivaatimuksen 1 - 8 mukainen laite, jossa prosessori ja tietokoneohjelmakoodin sisältävä muisti on edelleen konfi-guroitu aikaansaamaan sen, että laite: 20 laatii solmun laiteohjelmiston tai koodin tukemaan uutta skeemain- formaatiota; ja lähettää laiteohjelmiston tai koodin solmulle.The device according to any one of claims 1 to 8, wherein the processor and the memory containing the computer program code are further configured to cause the device to: 20 generate a node's firmware or code to support the new circuit information; and sends the firmware or code to the node. 10. Menetelmä,tunnettu siitä, että ohjataan binäärisen verkkopalvelujärjestelmän skeemainformaation 25 tallennusta, joka järjestelmä käsittää useamman kuin yhden järjestelmäkom-ponentin, kuten palvelimia, välipalvelimia ja langattomia heikkotehoisia solmu-5 ja, joka skeemainformaatio sisältää skeeman URI:n (Uniform Resource Identi- C\J ^ fier) ja määrätyn tunnisteen ja toimialueen, ja jotka skeemat kuvaavat binääris- ° ten XML-viestien koodauksen/dekoodauksen; ja CVJ 30 tarjotaan rajapinta skeemainformaation pitämiseksi ajankohtaisena | jokaisessa binäärisen verkkopalvelujärjestelmän komponentissa.A method, characterized by controlling the storage of schema information 25 of a binary network service system comprising more than one system component such as servers, proxies and low-power wireless nodes 5, which schema information includes a schema URI (Uniform Resource Identifier C). And a specified identifier and domain, which schematics describe the encoding / decoding of binary XML messages; and CVJ 30 are provided as an interface for keeping chart information current each component of the binary web service system. 11. Patenttivaatimuksen 10 mukainen menetelmä, jossa edelleen: CD J vastaanotetaan skeemaan liittyvä osoite; ° määrätään skeemalle tunniste; 00 35 tallennetaan skeema ja tunniste; ja jaetaan skeemaa koskevaa informaatiota järjestelmän komponenteille.The method of claim 10, further comprising: receiving the address associated with the schema CD J; ° assigning a scheme identifier; 00 35 storing the schema and the identifier; and distributing schema information to the system components. 12. Patenttivaatimuksen 10 tai 11 mukainen menetelmä, jossa edelleen: 5 lähetetään kullekin järjestelmän komponentille skeemaa koskeva viesti rajapinnan kautta.The method of claim 10 or 11, further comprising: transmitting a schema message to each system component via an interface. 13. Jonkin edellä olevan patenttivaatimuksen 10-12 mukainen menetelmä, jossa edelleen: vastaanotetaan komponentilta uusia skeemoja koskeva pyyntö raja- 10 pinnan kautta ja vastataan lähettämällä tallennettua skeemaa koskevaa informaatiota.The method of any one of claims 10 to 12, further comprising: receiving a request for a new schema from the component via the interface and responding by transmitting information about the stored schema. 14. Jonkin edellä olevan patenttivaatimuksen 10-13 mukainen menetelmä, jossa skeemainformaatio käsittää skeeman tunnisteen, skeeman osoitteen ja järjestelmän tunnisteen.The method of any one of claims 10 to 13, wherein the schema information comprises a schema identifier, a schema address, and a system identifier. 15. Jonkin edellä olevan patenttivaatimuksen 10-14 mukainen me netelmä, jossa edelleen: laaditaan solmun laiteohjelmisto tai koodi tukemaan uutta skeemain-formaatiota; ja lähetetään laiteohjelmisto tai koodi solmulle.The method of any one of claims 10 to 14, further comprising: generating a firmware or code for the node to support the new schema information; and sending the firmware or code to the node. 16. Tietokoneohjelmatuote, joka koodaa tietokoneohjelman ohjeet tietokoneprosessin suorittamiseksi minkä tahansa patenttivaatimuksen 10-15 mukaisen menetelmän mukaisesti.A computer program product which encodes instructions for a computer program to perform a computer process according to the method of any one of claims 10 to 15. 17. Tietokoneohjelman jakeluväline, joka on tietokoneen luettavissa ja joka koodaa tietokoneohjelman ohjeet tietokoneprosessin suorittamiseksi 25 minkä tahansa patenttivaatimuksen 10-15 mukaisen menetelmän mukaisesti.A computer program distribution medium that is computer readable and encodes instructions for a computer program to perform a computer process according to the method of any one of claims 10 to 15. 18. Patenttivaatimuksen 17 mukainen tietokoneohjelman jakeluväli- 5 ne, joka käsittää ainakin yhden seuraavista välineistä: tietokoneen luettavissa CM ^ oleva väline, ohjelmantallennusväline, tallennusväline, tietokoneen luettavissa ^ oleva muisti, tietokoneen luettavissa oleva ohjelmistojakelupaketti ja tietoko- ^ 30 neen luettavissa oleva kompressoitu ohjelmistopaketti.A computer program distribution medium according to claim 17, comprising at least one of a computer readable medium, a program storage medium, a storage medium, a computer readable memory, a computer readable software distribution package and a computer readable compressed software package. 19. Laite, tunnettu siitä, että siinä on välineet (502) binäärisen verkkopalvelujärjestelmän skeemainfor-co J maation tallennuksen ohjaamiseksi, joka järjestelmä käsittää useamman kuin o £ yhden järjestelmäkomponentin, kuten palvelimia, välipalvelimia ja langattomia ^ 35 heikkotehoisia solmuja, joka skeemainformaatio sisältää skeeman URI:n (Uni- form Resource Identifier) ja määrätyn tunnisteen ja toimialueen, ja jotka skeemat kuvaavat binääristen XML-viestien koodauksen/dekoodauksen; välineet (502), joilla tarjotaan rajapinta skeemainformaation pitämiseksi ajankohtaisena jokaisessa binäärisen verkkopalvelujärjestelmän kom-5 ponentissa.A device characterized in that it has means (502) for controlling the storage of schema information of a binary network service system comprising more than one system component such as servers, proxy servers and wireless low power nodes, the schema information including schema URI a Uniform Resource Identifier and a specified identifier and domain, which schematics describe the encoding / decoding of binary XML messages; means (502) for providing an interface for keeping schema information current in each component of the binary network service system. 20. Patenttivaatimuksen 19 mukainen laite, joka käsittää välineet skeemaan liittyvän osoitteen vastaanottamiseksi; välineet tunnisteen määräämiseksi skeemalle; välineet skeeman ja tunnisteen tallentamiseksi; 10 välineet skeemaa koskevan informaation jakamiseksi järjestelmän komponenteille.The apparatus of claim 19, comprising means for receiving an address associated with a schema; means for assigning an identifier to the scheme; means for storing the schema and the tag; 10 means for distributing schema information to system components. 21. Laite, joka käsittää prosessorin (502); muistin (500), joka sisältää tietokoneohjelmakoodin, joka on konfigu-15 roitu prosessorin avulla aikaansaamaan sen, että laitteella ainakin: ladataan skeema, joka kuvaa binääristen XML-viestien koodauksen/dekoodauksen; analysoidaan skeemaa yhdellä tai useammalla testihyötykuormalla; optimoidaan skeemaa analyysin perusteella; 20 muodostetaan skeeman perusteella koodikirjasto siihen liittyvän XML:n koodaamiseksi/dekoodaamiseksi skeeman mukaisesti.A device comprising a processor (502); a memory (500) containing computer program code configured by the processor to cause the device to at least: load a schema depicting encoding / decoding of binary XML messages; analyzing the schema with one or more test payloads; optimizing the scheme based on the analysis; 20 is a schematic representation of a Code Library for encoding / decoding the associated XML according to the schema. 22. Patenttivaatimuksen 21 mukainen laite, jossa prosessori ja tietokoneohjelmakoodin sisältävä muisti on edelleen konfiguroitu aikaansaamaan sen, että laite toistaa analysointi-ja optimointivaiheita halutun määrän verran. CO δ C\J i CVJ o CVJ X cc CL δ LO O δ CVJThe device of claim 21, wherein the processor and the memory containing the computer program code are further configured to cause the device to repeat the analysis and optimization steps as desired. CO δ C \ J i CVJ o CVJ X cc CL δ LO O δ CVJ
FI20105461A 2010-04-28 2010-04-28 Method and device for controlling the scheme of a web service FI123400B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FI20105461A FI123400B (en) 2010-04-28 2010-04-28 Method and device for controlling the scheme of a web service

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20105461 2010-04-28
FI20105461A FI123400B (en) 2010-04-28 2010-04-28 Method and device for controlling the scheme of a web service

Publications (3)

Publication Number Publication Date
FI20105461A0 FI20105461A0 (en) 2010-04-28
FI20105461A FI20105461A (en) 2011-10-29
FI123400B true FI123400B (en) 2013-03-28

Family

ID=42133300

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20105461A FI123400B (en) 2010-04-28 2010-04-28 Method and device for controlling the scheme of a web service

Country Status (1)

Country Link
FI (1) FI123400B (en)

Also Published As

Publication number Publication date
FI20105461A0 (en) 2010-04-28
FI20105461A (en) 2011-10-29

Similar Documents

Publication Publication Date Title
US9418052B2 (en) Method and apparatus for web service schema management
US20140244809A1 (en) Service configuration method and apparatus
US8195814B2 (en) Method and apparatus for virtualizing resources
Lampesberger Technologies for web and cloud service interaction: a survey
EP2031525B1 (en) System and method for processing extensible markup language (XML) documents
CN101341724B (en) System and method for history driven optimization of web services communication
FI125393B (en) A method, apparatus and system for use in a web service
Moritz et al. Beyond 6LoWPAN: Web services in wireless sensor networks
US20130212215A1 (en) Method, apparatus and system for addressing resources
Käbisch et al. Efficient and flexible XML-based data-exchange in microcontroller-based sensor actor networks
Kovatsch Scalable Web technology for the Internet of Things
Kyusakov et al. Efficient structured data processing for web service enabled shop floor devices
Schmitt et al. TinyIPFIX: An efficient application protocol for data exchange in cyber physical systems
KR102025631B1 (en) Gateway server for relaying between iot device on non-tcp/ip network and iot server based on onem2m and method thereof
JP2005174120A (en) Web service connection processing method, system, and program
JP2006285962A (en) System and method using targeted variant input for testing data format
Kabisch et al. Optimized XML-based Web service generation for service communication in restricted embedded environments
US20070130312A1 (en) Web service provision apparatus and method and web service request apparatus and method
FI123400B (en) Method and device for controlling the scheme of a web service
Chu et al. OMA DM v1. x compliant Lightweight Device Management for Constrained M2M devices
CN113765872B (en) Method and system for converting and adapting self-adaptive data format
Sahlmann et al. MOCAP: Towards the Semantic Web of Things.
CN113992641A (en) Data processing method, device, equipment and storage medium
Leggieri et al. Interoperability of two RESTful protocols: HTTP and CoAP
Käbisch et al. XML-based Web service generation for microcontroller-based sensor actor networks

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 123400

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