Intro


          Overview

BITXML

The BiTXml communication protocol has been designed to implement a presentation level of the (OSI-based) communication stack reference, with the main goal to standardize the way commands and control information are exchanged for the specific target of M2M communication demands (i.e. communication with generic devices with or without processing power on board - like sensors, actuators, as well as air conditioning systems, lifts, .. - or a combination of them).

 

The current protocol specification defines

 

1.      The abstraction of a BiTXml gateway

2.      The abstraction of a BiTXml controller

3.      The syntax and the semantic of a set of values used to exchange data between two communicating parties

4.      The syntax and semantic of a set of primary commands used to drive the devices connected to the BiTXml controller

 

The protocol syntax will be meta-coded in Xml Schema language.

The protocol semantic will be defined in natural language (no formalization will be provided).

 

 

        General description

 

The architectural reference model underlying the BiTXml protocol is shown in Fig. 1.

 

 

Fig. 1 - Architectural reference model

 

The main parts of the reference model are:

 

1.      BiTXml controller: any kind of software application speaking the BiTXml language, working as the master (commanding) unit for one or more gateways

2.      Network transport: any kind of network transport layer

3.      BiTXml gateway: any kind of software application, speaking the BiTXml language, working as an 'intelligent' remote execution unit

4.      I/O ports: any kind of connection port enabling the control of whatever device connected. Actually dealt connection ports range through analog and digital GPIOs and serial ports.

5.      Devices: any kind of physical device connectable to the available I/O ports.

 

 

While no detail may be given for the BiTXml controller component, being it the side where applications or middleware solutions as well may take the role of master unit, an architectural model for the gateway may be shown (see Fig. 2):

 

 

Fig. 2 - Gateway reference model

 

The gateway is surrounded by the network layer (right side of the drawing) and the device/ports drivers at the other side.

The gateway may be split into two main logical parts:

·         synchronous processing

·         asynchronous processing

 

The synchronous processing allows the basic execution of BiTXml commands, returning the replies for each executed command.

 

The asynchronous processing involves one or more executing unit, each one accomplishing a well-defined function within the system.

Currently defined asynchronous units are:

·         DNS: a custom protocol interpreter, described in Appendix A, specifically designed to allow the handling of gateways having their network address dynamically assigned (such as GPRS-networked devices). Master units, querying the DNS server – which would become a mandatory part of the overall master system -, can retrieve the current network address of the gateways in real time, thus allowing easier programming of controller to gateways interactions.

 

While the complete implementation of both the synchronous and asynchronous parts of the system exploits the whole power of the gateway architecture, an important point to be highlighted is the optionality of the whole set of asynchronous processes.

 


 

Copyright ©2006 Your Voice S.p.a. - All rights reserved