This dissertation has been submitted by a student. This is not an example of the work written by our professional dissertation writers.

The "Internet of things" is a term coined by Massachutes Institute of technology (MIT).The term describes a vision of the internet in the future where all "things" or objects are on one network. These "things" will contain:

  • A Unique identifier
  • Its own "individual digital presence"- it will know who and where it is.
  • The ability to process or exchange information
  • Can store data about itself
  • Is capable of participating in or making decisions relevant to its own destiny on a continuous basis?

The term Internet of things covers the whole infrastructure such as the hardware, software and services supporting the networking of physical objects. (European Commission, 2008)

A Brief History of the Internet

The first development to the present World Wide Web was Enquire. This contained a project management tool that "allowed pages of notes to be linked together and edited." (Anderson, 2007). Eventually, after the evolution of various technological and software developments was the World Wide Web created. With a browser/client that could view and edit pages of marked-up information (HTML). The edit function only really materialised in later browsers: Viola WWW and Mosaic (the current Netscape browser.).

Web 1.0

Introduced in 1994, web 1.0 consisted of an individual source (e.g. Website or a file) publishing information which could be viewed or downloaded by a client. This was a straight client-server network, so those individual clients were not able to fully interact with the source. The main purpose of web 1.0 was "to push information to a relatively passive audience." (Castelluccio, Michael, 2008). This "passive audience" would consist of users who would create their own websites. So, the majority of web 1.0 websites contained HTML tags scattered all across the web but without the ability for users to add to the website unless they understood HTML. This left internet interaction exclusive to people who were HTML literate.

Web 2.0

In 2008 web 2.0 became the associated term for the uprising of new products and services on the internet. The term was created four years previous by Dale Dougherty, vice president of O'Reilly Media Inc.2 Evolving from web 1.0, 2.0 represented a more peer to peer environment. This concept emphasized more the individual user having the ability to upload content (pictures, music, and videos) to a website. These websites took the form of blogs, wiki's, podcasts, RSS feeds and social networking sites. This user interaction coupled with improvements in networking technology, has made the internet more personal and accessible. According to (Anupriya Ankolekar et al, 2007), Web 2.0 is distinguished mainly from Web 1.0 by the following characteristics:

  • Community: Web 2.0 offers multiple users to work together and to share information. So the website is more effective than that of just having one contributor to the site. "Each contributor gains more from the system than she puts into it." Such community website examples would be the music file sharing service Napster and an event calendar Upcoming.
  • Mashups: Services from different sites can be brought together, in the creation of a new website such as using Google maps in your website.
  • Ajax: The base for the previous two characteristics, Ajax creates responsive user interfaces. Asynchronous JavaScript + XML, AJAX for short is a number of technologies ranging from CSS and XHTML for standards based presentation to XML for data retrieval and data interchange to JavaScript for "binding everything together" (Garrett, 2005). The traditional Web application model was based on the user's actions on a web interface triggering a HTTP request to a web server. And in turn the server sending a HTML page back to the client. This lead to stop/starting of information as it goes and comes back to the user. Ajax prevents this by having an ajax engine being placed between the client and server. Instead of a webpage the browser loads an ajax engine made of javaScript code. This engine creates a asynchronous connection with the user independent of the server. Every action which would normally result in an HTTP request generation now turns into a JavaScript call to the AJAX engine.

Web 3.0- The Semantic web

Web 3.0 or a semantic web is being proposed as the natural progression for the development of the Web. A definition from Paul Anderson in an article in the American scientific explains that the semantic web is about the shift from documents to data- the transformation of a space consisting largely of human-readable, text oriented documents, to an information space in which machine readable data, imbued with some sense of meaning "is being exchanged and acted upon". This "machine readable data" would consist of metadata. Defined by (NISO 2004) "Metadata is structured information that describes, explains, locates, or otherwise makes it easier to retrieve, use, or manage an information resource. Metadata is often called data about data or information about information."


There are current technologies which are being developed by the W3C (World Wide Web Consortium) which aims to bring development towards a Semantic Web. These technologies such as RDF (Resource Description Frame work) can be used to give "meaning" to the metadata on the World Wide Web. RDF according to (Berners-lee et al, 2001), encodes a "triple" (object, subject, verb) using XML tags. These tags are "hidden labels that annotate web pages" but these tags have no meaning to the document. With RDF, the document makes decisions that things (people, webpage's) have properties (is an author of) with certain values (another webpage). He goes on to develop that these objects can be identified by an URI (Universal Resource Identifier), the best known being a URL (Universal Resource Locator). The triples produced by RDF "form webs of info about related things." And with URI encoding the document, the URI makes sure that this information is not just words but is tied to a unique definition that everyone can find on the web?


But how can a machine differentiate between these terms/objects? OWL or Web Ontology Language is a formal language which represents ontologies (intelligent agents) in the semantic web. These "intelligient agents" will help relate various types of metadata from the RDF. According to (Berners-lee et al, 2001) ontologies have taxonomy and a set of interference rules.


  • Defines classes of objects and relations among them.
  • And can express a large number of relations among objects by assigning properties to classes and allowing subclasses to inherit such properties.

Interference Rules help distinguish similar terms, for example that an address from Sligo it, being in Sligo, must be in Co. Sligo, which is in Ireland. (Berners-lee et al, 2001) explains the computer doesn't truly "understand" any of this information, but it can now manipulate the terms much more effectively in ways that are useful and meaningful to the human user ?. With the ability to perform this function more accurate web searches can be produced, as the searches are based on a precise concept instead of using vague keywords.

Turn to the Internet of Things

The possibilities of the semantic web can give a base for the IOT to be developed, due to the quick, intelligent and personal nature of semantic technologies and to the fact that URI's can point to anything. This includes physical objects, which through RDF can promote their functionality (What they do and how they are controlled) (Berners-lee et al, 2001). (Artem Katasonov et al, 2008) suggests that for the IOT to happen the semantic base or (middleware) must be decentralised. This is suggested due to the high volume of devices connected to the internet, administrators will have it difficult in managing such a wide variety of unscalable information and media. There will be a need for "self-manageable complex systems". They also go on to argue that semantic technologies firstly, will function as the basis of heterogeneous components and the integration of data across many domains and secondly, will be used for the coordination of the intelligent agents "representing" those resources.

As previously mentioned in the last section, "intelligient agents" can roam as a "middleware" between the heterogeneous component and an "autonomous software agent". (Artem Katasonov et al, 2008) defines the role of the agent as having the ability to monitor the state of the component, make decisions on behalf of the component and to discover, request and utilize external help if needed. The agents offer a more flexible system, one in which networks will be monitored easily as information will be already processed.

What are Things?

The IOT will be based on these intelligent objects which will all communicate with the each other and the end user. These things as previously stated will be individual entities which can interpret and communicate with the internet. They will have an active part within the internet and have the ability to share information about themselves and their environment. (European Commission, 2008) gives a few examples of objects which do menial tasks but use very smart systems and advanced network connections:

Retail Example

Mobile Phones will have the ability to be used as credit cards, travel passes and to gain information from the internet. With the use of NFC (Near Field Communications) technology could this be possible. They estimate that there will be 1billion by 2015.

Another example given is a fully automated warehouse, where items are checked in and out. Orders can be passed directly to suppliers automatically. All the cause of RFID (Radio Frequency Identifiers) attached to goods and products. Manufacture's can view the market needs in real time, this saves time and energy leading to the whole process being more environmentally friendly.

E-health Example

RFID and sensor technologies will help in early diagnostics of patients help doctors make more informed decisions and it will produce alerts if a patient's health deteriorates. All information will be gathered through lightweight, intelligent sensors on the patient or by possible smart dust (microscopic computers) within the patient.

Energy Example

Through a network of sensors can temperature and lighting be dynamically controlled. This helps intelligent houses to reduce energy consumption without the loss of an individual's comfort.

Environment Example

The IOT will have an effect on how certain conditions (traffic, weather, air particles, water pollution, and the environment are monitored and examined.


Radio frequency Identification tags typically are small devices that can be embedded in or attached to objects for the purpose of identifying the object over a radio channel (Karjoth et al, 2005). RFID consists of a reader and a tag.

Uses of RFID technology

RFID has been in use now for many years. It started being used in World War II, by British planes to help them discover their own aircrafts using the Identification Friend or Foe (IFF) system. In the 1960's it was used by Los Alamos National Laboratory to gain access control to there company. People in the company wore RFID badges so they could be identified. This helped limit access to important areas in the company and also made it harder for badges to be forged. Since then RFID has being used to identify animals, track airline luggage, locate lost items, prevent theft and make toys more interactive. Recently, a few multi-national companies have shown an interest in this technology such as Wal-mart, Tesco, and the US Military. The main aims according to Roy Want is to make the cost of tags decrease, streamlining the tracking of stock, sales and orders (Want, 2006). With the ability to store information and to connect with tags over a digital communication network, RFID can track the journey an object makes between the factories, warehouses, vehicles, and stores (Want, 2006).


The tag, when attached to an object can be identified by the reader over a radio channel. Tags can be read easier and faster than that of normal barcodes, usually within the range of a few meters. An RFID tag contains two main components: An antenna which is a flat, metallic conductive coil which has the potential to be less than half a millimetre in size, is used to send and receive radio waves. An antenna can be printed, etched or stamped on a plastic foil or silicon chip which (Karjoth et al, 2005) defines as a substrate. The second component the silicon chip is a microchip or Integrated Circuit (IC). According to (Plaggenborg, 2006), the smallest IC is 0.15 mm x 0.15 mm and is 7.5 m thick.

Both the antenna and IC are attached to a plastic tag. The main types of RFID tags are active, passive and semi-passive.

  • Active tags contain their own internal power source. The word active is due to the fact that it uses an active radio frequency transmitter to communicate in a session with the reader. This gives active tags a better read range than passive tags, covering hundreads of meters. It can communicate through difficult environments such as water or heavy metal, which Plaggenborg states is impossible for passive tags. He goes on to say that active tags have a greater amount of memory and are more secure because of their more advanced IC processing capabilities.
  • Passive tags use electromagnetic waves from the reader to attract a connection to the tags antenna. Power is transferred from the reader to the tag through the electromagnetic waves. Because it does not need its own battery passive tags can have an unlimited lifespan (in theory). But a passive tags response is limited by the readers signal strength. The tags response or backscatter is limited by its range which is around four to five metres. Because of there simple design and low cost (five cent a tag), passive tags are mainly used in the retail industry.
  • Semi-passive tags contain both a small battery and require waves from the reader to send a response. The small battery within the tag is used for the IC's logic and to give a response to the reader through the antenna. Due to the small battery these tags have a short lifespan, they are more delicate and are very expensive.

Classes of Tags

Tags are separated into different classes depending on there functionality. This framework which was developed by the Auto ID centre and later by EPC (Electronic product Code), 1separates tags into five different classes. From class one to the greater functionality of class five.

Tag Memory

A tag's chip is either read-only memory (ROM) or read-write. Data which is embedded onto the chip at its manufacturing stage that can only be read was called class 0 tags. Tags can be used with static random access memory (SRAM) to produce what is called a Write Once Read Many (WORM) tag. The unique id in this tag type is permanently stored on the chip.12 Read-only chips are mainly used for tracking. Read-write allows the ability to change the chips ID and also to add some data to the tag's memory. Information can be programmed onto read-write chips but these are very expensive. EEPROM (a technique for erasing memory and overwriting it) can also be used for this process. Also chip's can be manufactured in such a way that the ID is cannot be altered but that information can still be written to memory. Passive tags can store from 32 bits to 128 kilobytes of data. Since active tags have their own battery they can afford to store more, some tags having the ability to store up to one megabyte of memory.13


(Plaggenborg, 2006) states that there are four frequency bands, each with their own characteristic in regards to communication. For example low frequencies can penetrate such conditions as water and metal but are much slower than that of high frequencies. High frequencies are faster but with the defect that they cannot penetrate the conditions mentioned. RFID operates on an unlicensed spectrum space called ISM (industrial, scientific and medical). The ISM frequencies vary on which country you are in.

There are two distinct systems in regards to its physical properties to which RFID communicates from the tag to the reader. Low frequencies and high frequencies use near field communication through the process of inductive coupling from a magnetic field. The reader creates a magnetic field between itself and the reader. The reader induces an electric current in the tags antenna. From this, the reader gains the tags ID and also gives power to the tags IC. The reader learns the tags ID, by varying the load on the antenna's coil which changes the current on the reader's communication coil.12 Ultra High frequency and Microwave frequency use far-field communication. It uses the physical property of backscattering, which is the process of the reader sending a continuous signal frequency that is reflected back by the tags antenna. The tag encodes the reflected signal with information using modulation (i.e. changing the amplitude of the waves returned).12 RFID uses a frequency spectrum similar to that of wireless and Bluetooth networks and hybrid tags are currently being developed for them to communicate.12


As with any established product and technology, RFID has many proposed standards. Standards provide many benefits such as universal procedures for all and interoperability between technologies. There are a number of bodies in the development of RFID Technology

  • ISO
  • EPC global
  • ETSI
  • FCC 12

(Plaggenborg, 2006) states the point that the main areas to which standards have being proposed are

  • Air interface protocols - These are ISO standards ranging from ISO 18000-1 to 7 and are concerned with how tags and readers communicate. EPC has its own set of standards similar to ISO's 18000-6 (860-960 MHZ range). These EPC tags are not interoperable with each other and are not interoperable with the ISO standard. So EPC are working on a new set of protocols (GEN 2) that can work with the class 0 and class 1 passive tags and should be closely aligned with the ISO standard.12
  • Data content and Encoding - This is concerned with "data formatting or organisation, numbering schemes" (Plaggenborg, 2006).
  • Conformance- This is the testing of products to see if they meet the standards.
  • Applications- How standards are used on certain labels13

Electronic Product Code

Is a unque code which is contained within an RFID tags memory. It is much the same as the barcode scheme UPC for identifying physical objects. EPC is differs from UPC as it has the capability to identify every single product item individually. For example when a shopkeeper scans a barcode the code relates to the type of product he is scanning (this packet is a packet of Jacob biscuits).If he scanned another packet of Jacob biscuits he would get the same result. In contrast, if he scanned an EPC tag he would be able to identify not just the make of the product but the individual product he is scanning. So this time when he scans another packet of Jacob biscuits, (that is not the original packet) it will come up with a different result.

EPC uses a 96 bit number to identify a product. This gives it a huge scope of numbers for product identification as opposed to UPC.

As shown in figure 3 The EPC code consists of many components. The header identifies what coding scheme is in use. There are many different schemes to which Matt Ward gives three examples Global Trade Identification Number GLTN, Serial Shipping Container Code SSCC and Global Location Number GLN.15 The Manger number defines the company that produced the product (Manufacturer). The object class identifies the actual product. The Serial number refers to the individual item/product. EPC's 96 bit code according to Matt Ward can identify "268 million companies", "each manufacturer can have 16 million" "object classes" and "68 billion serial numbers "for every individual object.

Matt Ward in his paper (Ward et al, 2006), also discuss about the EPC Network Architecture. He explains, clearly how RFID tags do not work in isolation but are part of an overall system be it a supply chain or any kind of logistical recording. He notes how the RFID tag can work as the primary key in representing a product within the database. A vision of this technology is being developed which is called the EPC Network Architecture. The architecture consists of many tags being connected through their readers to an organisations database or back-office enterprise system.

In the previous chapter we observed the possible middleware for the Semantic web. Well here are the key technologies which (Ward et al, 2006) suggests are appropriate for supporting the massive increase of information that will result from in an RFID system.

  • Savant is as he puts it is the middleware software system that links reader devices and processes the information streams from tags. It acts as the gateway to the enterprise systems and database applications, providing filtering, aggregation and counting of tag-based data. (Ward et al, 2006)
  • ONS Object Naming Service much like the Domain Name Service (DNS) on the World Wide Web helps translate the EPC code into a Uniform Reference Locator. This is where it looks up the location of where the tags associated database is.
  • Physical Mark up Language (PML) is an XML-based language which uses a standard vocabulary for describing physical objects, observations made by the RFID readers of these objects and observations made about the readers themselves and there exchanging of data throughout the EPC network (Ward et al, 2006). It uses two main vocabularies: one for communication between Savant and the enterprise applications and a second (Core PML) for communication throughout the EPC network. (Seong Leong,2004)

(Ward et al, 2006) notes indirectly about the IOT when he mentions of the possibilities of IPV6 as an alternative to EPC coding. IPV6 is a communication network standard which delegates the addressing and routing of data packets through a network. It is an improved addressing protocol from that of IPV4 which has the capacity up to 4 billion addresses. IPV6 can give 430 quintillion addresses for every inch of the worlds surface.15 But Ward explains that for a tag to have an IPV6 address, it would no longer be used as an assigned permanent identifier on objects. Saying this he highlights the fact that the U.S. military are investigating and planning to use IPV6 tags in the near future.

RFID Readers

Readers can be handheld or a fixed device. Examples of handheld readers are similar to that of barcode readers, but readers can be placed in PDA's or mobile phones. Class 5 tags are actually designed to be readers; they can read and exchange information with other tags.15 Fixed readers are used for electronic tolls or can be placed within walls or ceilings. Readers communicate with a tag to gain its id number. When the reader is held close to a passive tag, the tags antenna consumes the energy from the reader which in turn powers the IC. The IC responds information back. This depends on the type of tag. There are two main types of readers: ones in which the reader can only read information from the tag. These usually operate with an EPC class 1 tag. The other type is readers which can write information onto the tag. This depends on if the memory on the tag is read/write. According to (Ward et al, 2006), Readers are becoming more sophisticated and are beginning to act as an entry to the internet through supporting TCP/IP technologies and other such protocols as DHCP, UDP/IP and wireless 802.11.

RFID's Relevance to the Future of the Internet

From the research into this area we have seen that RFID has the components to develop a network of communicating things. Because RFID can both send and receive data about an object within various conditions e.g. underwater, through walls etc. We can communicate with solitary objects and their position, condition and other relevant information for whatever purpose they were placed on an object. Through examining various papers on this topic, most come to the conclusion that RFID as a technology is not attractive enough of a proposition for companies to develop at present. RFID is too expensive to be added too or implemented in a manufacturer's product. Currently, you can get the cheapest RFID's at 5 cent each.13

Matt Ward sees RFID tags as a stepping stone to ubiquitous computing. There will not be a fully fledged IOT but one in which will be developed systematically. He proposes that the internet will be extended to a level below computational devices, which consists of simpler devices/items. As the RFID technologies become more accepted in the market place, there will be more of a demand for tags that can achieve greater amounts of tasks. Similar to the pre requites we defined in section two, Matt notes the technological developments needed for their relevance in the internet of things.

Firstly, each of these items must be able to identify itself to other items and to the network in general. This is provided for by the introduction and development of RFID technology. Secondly, these items should include some element of embedded computational power in order to act with some level of intelligence. Thirdly, they will need to have some sense of their physical environment and geographical location. Continuing developments in computational science and electronics, particularly work on miniaturisation, tiny operating systems and wireless communication will make this vision increasingly realistic (Ward et al, 2006)

Near field communication

This is a new development in RFID, one of which use's near field coupling signalling between devices in the 13.56 MHZ band.11 This standard has the ability to read existing passive tags and aims to develop them to communicate with peer devices at a 20cm locality. It was set up by the Near-field communication forum. "The NFC standard aims to streamline the discovery process by passing wireless Media Access Control addresses and channel-encryption keys between radios through a near-field coupling side channel, which, when limited to 20 cm, lets users enforce their own physical security for encryption key exchange" (Want,2006). He also mentions how through this two way authentication process can a more reliable connection be made then that of Wireless and Bluetooth. Reliable in the sense that it would not form any association's with devices that aren't local.

Sensory RFID

Many commentators believe the next development of RFID will be an enabled sensory function. This will give tags the ability to make measurements about its surrounding environment based on such gauges as pressure, temperature, flow-rate and speed vibrations.15 These devices will be connected to the internet by radio frequencies or through wireless communication systems. Due to the batteries capacity, active tags would seem to be more qualified for development.13 Plaggenborg describes in his developmental paper of RFID about Mitsubishi's research team who developed location aware objects with light sensitive RFID tags. This consisted of an RFID reader with a projector to give precise feedback of a product's location. The device is aimed at the products in question. It projects a pattern over the product and each pixel shows a different code. This code with its identity is then communicated back to the handheld device. It then uses an (x, y) coordinate to visually give the user feedback. As we can see, it's not impossible for this technology if creatively used to be developed further.

Distributed Memory

The amount of memory a tag can store could be limitless if the tag can store and recover its information from a local database. But the tag could not be able to implicitly recover the information all the time. For tags to work more effective, it will need to utilise its self storing capability. Currently a tag can store from 200 to 8,000 bits.12 believes that tags in the future will have the ability to store more information. Leaving to more distributed information being placed in our surroundings.

Standardisations for the IOT

If the IOT is going to happen then interoperability is a must. There are currently a number of groups who are working on low power wireless communication standards between objects. ZigBee, 6LoWPAN, Z-Wave, and Bluetooth Low Energy are the main standards for this type of communication. But the base of communication for the Physical layers for Zigbee and 6LoWPAN is IEEE's 802.15.4.

IEEE's 802.15.4

Developed and maintained by the IEEE 802.15 working group, 802.15.4 is a low power wireless personal area network (LoWPAN) standard. Released in 2003, it was the first low power-radio standard.18 It is used as a specification for the physical (PHY) and medium access control (MAC) layers. To gain a complete protocol stack other standards are needed to define the higher layers. According to (Orrevad, 2009), the physical of the protocol uses three different frequency bands: 868-868.8 MHz within Europe which allows one communication channel, 902-928 MHz within North America that allows ten to thirty channels and 2400-2483.5 MHz range for the rest of the world and uses up to sixteen channels. This standard aims to work with multiple low cost nodes of a long lifespan. To achieve an IOT such attributes would have to be viable. But this low cost/ low power solution, limits the capability of both the microcontroller and the LoWPAN's links. The throughput is suggested to reach the 250Kbps limit. And the frame length is only 128 bytes. It uses short 16-bit link addresses, as well as IEEE EUI-64 addresses, to reduce header overhead and memory requirements. LoWPANs make contact over multiple hops. Microcontrollers which work with this standard usually have about 8 Kbytes of data RAM and 64 Kbytes of program ROM.

The main features of IEEE 802.15.4 highlighted within (Orrevad, 2009)'s informative paper are the fact of its use of carrier sense multiple access with collision avoidance (CSMA/CA) which avoids collisions, sharing a single channel with multiple users by using direct sequence spread spectrum (DSSS), with the ability to sleep it gives appropriate energy efficiency and through its use of guaranteed time slots (GTS) it can guarantee sensors transmission if they are critical in nature.


Frames contain a certain patterns in which other devices can understand. Differerent frames have different uses. There are four types of frames defined in the IEEE 802.15.4 standard :

  • Beacon, used by a coordinator to transmit beacons
  • A data frame, for different data transfers
  • An acknowledgement(ACK) frame, used for a confirmation of successful frame transfer
  • A MAC command frame, used for handling all MAC transfers between entities

The beacon, ACK, and MAC frames are mainly used for lower layer signalling.


Headers in the IEEE 802.15.4 standard consist of the physical layer (PHY) and medium access control (MAC) layer headers which contain different features that can be set when sending a packet. Maximum physical layer packet size including overhead is 102 octets.19 He adds, if you add link-layer security you add an extra 21 octets for an AES-CCM-128 encryption. This leaves 81 octets available for the higher levels of the protocol stack.

IPV6 integration

IPV6 is the newest version of the Internet protocol, which was created in the late 1990's as a solution to the limited number of IP addresses due to the ever increasing growth of the internet. It offers an almost unlimited address space. With an already working standard all used by the entire internet IPV6 would seem the perfect carrier for the transmitting of information between nodes on the IOT. IPV6 offers an open, lightweight, versatile, ubiquitous, manageable, scalable, stable, end-to-end solution for data delivery for the foreseeable future.19

Comparison of IPv6 and IEEE 802.15.4

Because 802.15.4 supports a very limited set of features, such as its low-power, low processing embedded devices over low-bandwidth wireless networks. It is impossible to use it with IPV6. Wireless sensor networks (WSN) are usually unreliable, so 802.15.4 uses small packets and addresses. IPV6 does not need worry about such problems. But technologies and standards are currently being developed which claim to overcome this problem.


IPV6 over Low-power Wireless Personal Area Networks (6LoWPAN) is used as a standard for the compressing of an IPV6 header so to give the ability to work with small, low power microcontrollers, mainly with the MAC/PHY layers of IEEE 802.15.4.

6LoWPAN history and standardization

Defined by the Internet Engineering Task Force (IETF), which is responsible for the creation of all core internet standards. 6LoWPAN is defined appropriately by (Shelby et al,2009) as: 6LoWPAN standards enable the efficient use of IPv6 over low-power, low-rate wireless networks on simple embedded devices through an adaptation layer and the optimization of related protocols. Released in 2007, with its RFC (Request for Comments) [RFC 4919] which explained the requirements and goals of using this standard. Then it released the RFC [RFC4944] which defined its "format and functionality". The working group furthered the development of this standard by introducing improvements in header compression [ID-6lowpan-hc], Neighbor Discovery [ID-6lowpan-nd], use cases [ID-6lowpan-uc] and routing requirements [ID-6lowpan-rr]. With these new improvements in 2008 IETF formed a new group called Routing over Low-power and Lossy Networks (ROLL). The group introduces requirements and solutions for routing in low-power, wireless, unreliable networks.

In 2008 ISA began standardization of a wireless industrial automation system called SP100.11a (also known as ISA100), which is based on 6LoWPAN.19 Currently another group IP for Smart Objects (IPSO) Alliance founded in 2008, it aims to promote the use of IP in smart objects and The Internet of Things in the marketplace. More groups are popping up such as the IP500 Alliance for recommendations on 6LoWPAN over 802.15.4 sub GHz radio communications, the Open Geospatial Consortium (OGC) which specifies IP-based solutions for geospatial and sensing applications. And In 2009 the European Telecommunication Standard Institute (ETSI) have begun working on Machine to Machine (M2M) standards, that contains an end-to-end IP architecture that is compatible with 6LoWPAN.19

Advantages of 6LoWPAN

  • Using IPv6 as a base for communication gives 6LoWPAN a standardized, lightweight, and an independent means of access to smart objects and other embedded network devices making them accessible from anywhere.
  • Several open source (uIP and lwIP) and commercial IP stacks are available for memory footprints.
  • The IP Smart Object (IPSO) Alliance [11] has attracted more than fifty members since it was set up. So, there is a influential group of developers that are interested in using 6LoWPAN.

Disadvantage of 6LoWPAN

Does not define a specification for the layers above IP. UDP is the most used transport layer, but there is no application layer. The IETF at their 75th meeting, talks where made an the production of a 6LowApp working group to solve the problem.19

The 6LoWPAN Architecture

The Wireless internet of low-power devices will be created by stub networks on the internet. Stub networks send and receive information but do not transfer information to other networks. The 6LoWPAN architecture is made of three different kinds of LoWPANS: Simple, Extended, and Ad hoc. A LoWPAN as defined by (Shelby et al, 2009) is a collection of 6LoWPAN nodes that share a common prefix (64 bits of IPV6 address). This means wherever a node in a LoWPAN is situated it still has the same IPV6 adress. Simple LoWPAN's are connected to one edge router. Extended networks are connected to several LoWPAN's routers and Ad hoc networks are not connected to the internet, but run on their own network.

Edge Routers connect to other IP networks and are important, as they transfer information in and out of the LoWPAN. They also control the 6LoWPAN compression and neighbour discovery for the LoWPAN .It also manages to work with nodes that use IPV4. With the same LoWPAN multiple edge routers can be supported cite (Shelby et al, 2009). Edge routers are connected to the internet by what (Shelby et al, 2009) calls a backhaul link such as DSL.

As previously said, nodes share the sameIPV6 prefix given out by the edge router. So that this process is efficient as possible nodes register with the edge router. This is called neighbour discovery. (Shelby et al, 2009) defines it in their book ?6LoWPAN: The Wireless Embedded Internet? as ?how hosts and routers interact with each other on the same link?. They go on to explain that nodes can associate themselves with more than one LoWPAN at the same time (called multi-homing). Nodes can move freely through the LoWPAN between LoWPAN's and edge routers. A multi-hop mesh topology may be needed if there are unexpected changes due to channel conditions. To account for this 6LoWPAN can either implement link-layer forwarding (Mesh-under) or by using IP routing (called Route Over).18 Just like any Wireless network, multiple LoWPAN's can overlap each other and when the node moves from one network to another its IP address will change.

How do LoWPAN nodes communicate with your IP node such as your laptop or PC? As with any IP node the LoWPAN nodes have an unique IPV6 address capable of sending and receiving packets. They can use pings and user datagram Protocol (UDP) as transport.

Through an Ad hoc network set up one router is selected as the edge router or as (Shelby et al, 2009) describes it the 'simplified edge router?. Simplfied due to the fact it only accomplishes two tasks : generating a unicast address and registering all its nodes with neighbour discovery. So is it much the same as a simple LoWPAN? Yes it is but without the ability of leaving its own network.

6LoWPAN compression

As already stated IPV6 packet cannot be used within an 802.15.4 frame. We can see by the maths that the header for IPV6 is 40 octets. If used with an 802.15.4 frame there are only 41 octets left for the application layer. An IPV6 header is compressed by the fact that nodes which use the same 6LoWPAN network share the most of their state information. (Orrevad, 2009) states the five common header fields used within 6LowPAN networks:

  • The IP version field is IPv6
  • The IPV6 interface identifiers (which is the bottom 64 bits) on the source and destination address can be made more accurate from the data link layer address, if the IPV6 source and destination are link local.
  • The packet length can be made more complete either from the layer two "Frame Length" in the IEEE 802.15.4 PPDU or from the "datagram_size" field in the fragment header (Orrevad, 2009)
  • If the Traffic Class and the Flow Label are zero
  • And if the next header is UDP, ICMP, or TCP

This ?compression? of similar entities within the packet can reduce the size from 40 octets to 2, using the LOWPAN_IPHC encoding.

Firstly, we can see in figure-- that both packets have a LoWPAN header followed by an IPv6 header compression byte indicating which fields are compressed. If UDP or IPv6 extension headers follow IPv6, then these headers can be compressed using what is called next-header compression (Shelby et a, 2009)CITE The top packet is the standard IPV6/UDP header which is 48 bytes in length. The lower packet is the 6LoWPAN/UDP packet compressed. This is associated with figure ? diagram which displays it in a simpler form. IPV6 header compression is indicated by LoWPAN_IPHC and the next-header compression byte is expressed by LoWPAN-NHC, with a checksum of 4 bytes. This illustrates how important compression is.

The protocol stack

The IPV6 LoWPAN protocol stack is very similar to the normal IP stack. There are only a few minor differences. The 6LoWPAN only supports IPV6 so there is an IPV6 network layer so to take full advantage of IPV6 over 802.15.4 and similar link layers (Shelby et al, 2009). The main tracsport protocol used in 6LoWPAN is the User Datagram Protocol (UDP). Using LoWPAN format this can be compressed. Due to its complexity, performance and efficiency issues , TCP is not commonly used as a transport protocol. And the Internet Control Message Protocol ICMPV6 is used for aontrol messaging such as ICMP echo, ICMP Neighbor discovery messages and ICMP destination unreachable.

The transition from this downsized IPV6 standard (6LoWPAN) to successfully communicating with the full IPV6 standard is managed by the edge routers. This process, we are reassured by (Shelby et al, 2009) is ?transparent, efficient and stateless each request as a independent transaction in both directions?. 'stateless? refers to the transition between the two protocols As we can see from Figure __, the stack for an edge router with 6LoWPAN support. Due to the fact that each node in a LoWPAN knows there compressed fields, the hosts and routers do not need to use a full IPV6 or UDP header.

Link layers for 6LoWPAN

With different link layer technologies in use between existing internet protocols, it is essential that there is interoperability on the network. The IEEE 802.15.4 is a widely used standard with 6LoWPAN. But 6LoWPAN is also used with other technologies such as sub-GHZ radio: which is used in low-power wireless embedded applications such as metering and remote control. And Power line communications which can be used to much the same benefits of 802.15.4 for home automation, energy efficiency monitoring and smart metering.


IP addressing for 6LoWPAN is similar to that of your ordinary IPV6 internet addressing on Ethernet networks. Defined by the RFC 2464 standard, the address is gathered from the prefix of the LoWPAN and the link layer address of the wireless interfaces (Shelby et al, 2009). The difference is in the way low-power wireless technologies such as 802.15.4 support link layer addressing, by mapping the link layer address with the IPV6 address for compression of the packet. Another difference according to (Shelby et al, 2009), is that 802.15.4 does not support multicast addressing but it does support broadcast addressing.

IPV6 are 128 bits in length and consist of a prefix of 64 bits and an Interface identifier (IID) of 64 bits. With Stateless address autoconfiguration (SAA), the IID can be made from the link-layer address of the wireless interface. In the case of 6LoWPAN compression, networks assume that the IID has a direct mapping to the link-layer address, so there is no need for address resolution. As the IPV6 address is created from a prefix and link-layer addresses which it knows, the more the header can be compressed


6LoWPAN needs to be able to autoconfigure itself to autonomous networks and devices without human intervention. Bootstrapping is first formed through the link layer making connection with its nodes within radio range. This involves configuring channel settings and security key and address settings (Shelby et al, 2009). Once this is successfully complete Neighbour discovery is used, which bootstraps the LoWPAN. There is basic neighbour discovery RPC 4861 and there is especially developed 6LoWPAN neighbour discovery. This protocol defines network auto configuration and the operation of hosts, routers and edge-routers in LoWPANs. There is a registry within edge router of the nodes in the LoWPAN. This makes IPV6 operations easier and reduces the likelihood of flooding on the network.

Mesh topologies

Mesh Topologies helps extend the network coverage. For this to happen, multihop forwarding is needed from one node to another cite(Shelby et al, 2009). 6LoWPAN does these using three different methods: With a Link-Layer mesh, LoWPAN mesh or through IP routing. The first two types (Link- Layer and LoWPAN mesh's) are considered Mesh-Under. This is because of its transparency to the Internet Protocol. The network stack is not routing any information between the nodes. The adaption layer (which is 6LoWPAN in between the data link and the network layer's) pretends to be a broadcast address by transparently routing and forwarding information within the LoWPAN.

The second type IP routing is considered as route over. The term means that routing is performed at the network layer, so all nodes support layer three protocol mechanisms such as IPV6 routing and ICMPV6. It is the very same process as standard IP stacks. Algorithims decide what will be the next hop by updating routing tables. cite(Shelby et al, 2009).

Internet integration

How do we connect to the internet/ other networks if we have altered the packets so to effectively work in our low powered networks? Zach Shelby also considers this issue in his book, by highlighting the main issues for Internet integration.

Max Transmission Unit: 6LoWPAN uses fragmentation and reassembly to work with the 1280 byte MTU size requirement. There is still a need for shrinking the packet size as the less fragmentation of the packets the better.

Application protocols: The main application protocols used on the web today (HTML, XML) uses very heavy payloads of several bytes/kilobytes and are way too large for 6LoWPAN nodes. Shelby advises that UDP should be used as the main protocol.

Firewalls and NATs: There could be problems with firewalls and network address translators mainly with "compressed? UDP ports and non-standard application protocols" which will be developed for 6LoWPAN applications.

IPV4 interoperability: It's inevitable a ipv6 node will have to interact with an ipv4 nodes or will go across ipv4 networks. This could be achieved by ipv6/ ipv4 tunnelling and address translation. This process may be implemented on an edge router or a local gateway router or by a "node that is designed to that job on the internet.

Security: As with any technology connecting with the World Wide Web security is a massive concern. Embedded devices are especially fragile as they have limited power and are autonomous. Due to limitations by the node and network, the full IPSec cannot be used. Either can advanced firewalls upon each node. Within the LoWPAN, a 128-bit AES encryption can be used, but when you move past the LoWPAN router this will be unacceptable as a form of security. Application layer end-to-end security will be needed.

Related Work in Low-Power WPANs

From research there is a whole host of companies which are currently researching into WPANs. And many have products and services on the market. We will be looking at a few of these standards which were defined in the introduction of this chapter.


Zigbee is another standard for low-power, embedded devices. Much the same as 6LowPAN, Zigbee uses the IEEE 802.15.4 MAC/PHY standard. And just like 6LowPAN promotion through IPSO, Zigbee has their own Zigbee alliance which is backed by 200 companies and sponsers CITE OVERAND. But what differs with Zigbee is that it has developed a complete protocol stack which works with the application and network layers. The Zigbee 1.0 standard began development in 2004 and the latest version was released in 2007. To develop interoperability between different products from different vendors, the Zigbee standard created different profiles of applications. These consisted of ?Home Automation, ZigBee Smart Energy, Commercial Building Automation, Telecommunication Applications, and Personal-, Home-, and Hospital Care.?CITE Overand The Zigbee layers which are defined above the 802.15.4 Mac/Phy layers are the network layer, Application Support Sub-layer (APS), and Zigbee Cluster Library (ZCL). Zigbees networking protocols are indirectly compatible with the internet. This leaves a security problem, with the translation gateway between Zigbee and the internet as there is two different protocols working together. There's an initiative called ?Zigbee/IP? which is an effort to implement the IEFT IPV6 standards (6LoWPAN, ROLL) to work with the Zigbee protocol stack.


Z-Wave is a wireless standard created for remote control in environments such as a home or business premises. Initially developed by a Danish company Zensys, they are now a division of Technology group SIGMA.CITE This standard has being developed to work at the sub-Gigahertz frequency ( around 900Mhz ) so preventing it from gaining interference from other wireless technology such as Wi-Fi, Bluetooth and cordless phones which operate at the 2.4 GHz ISM band. By operating on this band helps Z-wave to accomplish a long range communication with low power consumption. CITE Much Like Zigbee and 6LoWPAN, Z-wave has an applied alliance of 160 members. And Much like Zigbee these members are developing products for the open market while also further researching into this standard. But its likeness to Zigbee is also a disadvantage to them become an important standard for WPAN technology as they too are a proprietary standard, one which is not open to non -Zensys customers. Another problem facing the Z-Wave standard is that it offers very low bandwidth at 40 Kbit/ s.


Bluetooth works as a WPAN technology that can offer quick throughput to a low number of nodes all accessing within a small range. It works on IEEE 802.15.1 and 802.15.3 with the later offering better throughput and support for more nodes. Both standards are intending to operate using a battery, they can only work for small ?lifetimes? (Johnaton Hui et al, 2009) ranging from a few days to several weeks. There is a low energy version of Bluetooth (Bluetooth LE ) which became known in June 2007.CITE (Anderson) states that a version (v.0.9) was released in May 2009 but it was not appropriate for application development. So another version is currently being developed (V1.0) which should be released ?at the end of 2009 or beginning of 2010? (Anderson, 2007) Bluetooth LE has a bandwidth of 200 Kbit/ s and has the added advantage of being interoperable with the original standard. CITE But Bluetooth LE can only reach a distance of 10m.CITE

The Aware Home Research Initiative.

The Aware Home Research Initiative (AHRI) is a project developed by Georgia Institute of Technology. Beginning in 1998CITE, it is a working home used for many of the institutes own projects and it is also shared with other academic bodies. These projects include research into technologies which can support different circumstances in the home as: busy families, the aging living in homes and children with special needs. The main aim of the aware home is to create a ?living laboratory ?CITE which investigates the development of technologies which will improve the Quality of life within the home. They hope to produce an environment which can sense what is happening in the house at any time and can provide this to its occupants. The main area of investigation the initiative is using to develop their various technologies is context-aware computing and personalised information computing. It is expected that the project will give a better understating of human- computing interaction as well as help produce able technology which can give better quality of lives to the inhabitants within the home.

The Aware Home

Funded by the Georgia research alliance, The 5000 square foot site CITE, is a residential home which consists of two apartments which are identical and a basement and attic. The basement is used as a meeting, research, server, and workbench space. Because the house is being researched on, then there is a need for special customising such as a drop ceiling, wire trays in the halls and wider walls then you would have in a normal house.

Context Aware Computing

This consists of devices such as microphones, smart cameras and smart floor's. This can help track objects and individuals around the house, with both long term and short term memory. The aim of context aware computing is to understand the identity of a person, where the person is, what he or she is doing and what they are saying to each other. By the processing of daily activities of inhabitants they hope to improve it.

Context is defined by Ref ?Context is any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves.? Basically context is used to describe certain situations. Context awareness is defined by REF's simple understandable paper ?? as ?A system is context-aware if it uses context to provide relevant information and/or services to the user, where relevancy depends on the user's task.? Context aware computing is the processing of context that is detected within a given space. The Aware home project communicates context through object orientated design architecture. This hierarchical design uses objects (subclass) to represent specific tasks. These objects are grouped together based on similar behaviours/instances defined as ?classes ?CITE. Objects evoke a method through passing a message to a receiver which evokes the method. CITE The method that will be evoked is based on which class the object is part of. As an object is associated with many different types of classes, a problem occurs on deciding which class should the object used so to evoke the appropriate procedure. Abstraction is used to define the right class of inheritance for an individual problem. For their design we can see by figure that there are three different types of objects.

  • Context Widget ? Much like interface widgets, it is made up of attributes and call-backs. Attributes are pieces of context that are accessed through subscribing. Call-backs are representations which the widget uses to notify components who are subscribing to it. Components (application) query the widget to get the context information. The widgets themselves are designed using two methods. The first method being sendtosubcribe() which compares new context data with current subscriptions. If there is a match then the data is sent to the associated subscribers. The second method store() is just used to store similar data so context which happened so many days ago or ?context history? ref can be retrieved.
  • Context Server ? The Context server executes aggregation and abstraction. Aggregation is a type of abstraction which basically allows an application to communicate with one component for every entity it is interested in. CITE Context server's help in the processing of context, as the application does not have to subscribe to every widget but can just communicate with one server. The server is a subclass of the widget class, so it inherits all a widgets properties and its methods. So it has all the characteristics of a widget except for that of the attributes and call-backs which it does not calculate but inherits form the various widgets. The server also contains a Condition object, which helps it sieve the information from each of the methods from the widgets so that it gathers the information it is interested in.
  • Context Interpreter- The interpreter uses the interpredata() method and returns the data to whomever wanted (called) the data. Widgets, applications, servers and other interpreters can call the information. The interpreter can only convert the information but does not store it. So for example, the method could be given such information as sound and the location of an individual to decide he is entering one room from the other.

All applications use a baseobject class to help give basic communication for the widgets, servers and interpreters access to context. They are all subclasses to the baseobject class. Baseobject also deals with high level and low level data communication.

Ref gives the example of an application subscribing to a location widget, to inform him when Gregory is entering room 343 (a). When a presence is sensed (b) the location widget does a call-back to the application (c). The BaseObject takes over and decides to which method the data should be sent to. It has already set up a handle method for the object to which it is communicating with (d). To implement this processing of context for applications, Georgia tech has developed ?the Context Toolkit? which aides in the process mentioned above.

An example of where context awareness has being implemented in the aware home is that of the 'smart Floor?REF . The special floor is used to locate a person within the house based on his/her footsteps. This I done by ten load tiles which are placed throughout the house. These tiles contain a metal plate which protects four industrial load cells. Each of these load cells has the capacity of 500 pounds given the plate a total capacity of 2000 pounds CITE. From these cells data has being collected from 15 users from there left and right feet. While also collecting data on different shoe types that the people were wearing. Training data was collected from each person which helped them build a model of the footprint. This model was used to compare their ground reaction force (GRF). The Models they used for creating the users was the Hidden Markov Model (HMM) and simple feature-vector averaging. Interestingly with the GRF profiles the technology effectively identified the user 90% of the time. REF mentions the main priority in the development of the smart floor is integrating it with the Context toolkit.

Personalized Information Processing

This is the processing of information from the person. The aware home initiative aimed to do this by using sensors on the person. What they came up with was the ?The Wearable Motherboard? CITE or also known as the 'smart Shirt? CITE. The piece of clothing is fully woven and gives a suitable framework for sensing, monitoring and information processing CITE. It uses fiber as a source for the transport of data between devices that monitor the body. It can also send information to external sources such as other sensors. So the person wearing the garment can be connected to the outside world. The clothing itself consists of conductive fibers within the fabric with switchboxes. The switchboxes are attached to intersections between the fibers, which themselves are yarned into the fabric. The research team discovered that this gives them less achievable bandwidth and so to overcome this they decided to make the switchboxes more complex. The switchboxes can communicate and can perform local configuration for an ?external agent? CITE. When connected the external agent performs the global configurations. FPGA (field-programmable gate arrays) are used to route information throughout the ?in fabric network? REF. The FPGA that they used in there research CITE is an EEPROM chip fastened to fabric. When it is configured it can digitally communicate between points on the fabric such as sensors, communication devices and fibers that cross the switchbox. The device itself is 2.8x1.8 inches with a Motorola HC11 microcontroller. In their project they successfully communicated with an external device which was a Linux based computer that was used for the FPGA's global configuration. This type of development makes the concept PMIP possible. This technology can be used to gather useful information within the home wherever the user goes according to REF. The home can store the data gained from the garment. And likewise the home can pass information to the garment. Further development is being researched for the user to limit and control ?the type and level of information? REF the garment is giving to its surrounding environment.

PowerLine Positioning

The Powerline Positioning system is a location system used in the Aware home. Its idea is to use the electrical wiring in a standard home to send a low frequency signal which is then listened for by different positioning tags. These tags can transmit there position wirelessly back to the environment. REF boasts how there system does not acquire a dramatic change in the home's infrastructure to be implemented. It consists of two modules which are plugged into the extreme edges of the house, plus location tags placed on the object that needs to be located.

How it works?

The technology is based on equipment which is used by electricians that scans a house in looking for a wire. The device detects the loudest tone which tells him where the wire is. The Powerline positioning device uses two modules, one in which is placed near the fuse box, the other is placed the furthest possible distance from the first in the house (for example One on the second floor and one on the opposite corner of the basement). These two modules emit two different signals, which are transmitted to tags that detect the signal and send the information to a wireless receiver that is connected to a PC. The system uses a ?popular? fingerprinting technique. Which according to REF definition, it records the characteristics of a wireless system in a certain position and refers to that position when similar characteristics are observed again. The wireless receiver (which is connected to the PC) analyses the fingerprint and then maps its location. The tags use presence and amplitude deviations of the active modules signal. But from this paper REF talks of how they propose to distinguish tones based on phase difference in future papers. PLP uses an algorithm for its localization. It consists of first predicting the room in the house where the tag has being detected and then by predicting the sub areas of the detected room. The k-Nearest Neighbour (KNN) classification is used to determine both of these areas. The KNN works by recording samples of different tones of signal and then uses these samples to decide firstly which room in the house the tag is, and then where in this room is the tag situated. It labels these samples on a room, sub- room bases. k is the closest value to a tone which has being detected. What the value of k is, gives us an idea of how accurate the result is. For example if k is a large value then there is the risk that the classified result will be too vague for localization. So the k value should be long enough not to be a vague classification but short enough to accurately relate to a queried signal. When localizing a room the larger k value was found to be more appropriate while a smaller k value is needed for localizing sub-room areas. This is due to the fact that sub room locations cover a smaller area. A room is usually separated into five different regions (the four corners and the centre of the room)CITE, and the process which can be automated or manually configure on a handheld device developed KNN, gives suggestions on appropriate subsections that would be classified accurately. When a signal map has being completed of all the areas in the house and all the data has being labelled, KNN validates the data so to make sure all the k values are suitable for their respective regions. The tag receives information from either of the modules through its own antenna. This signal is sampled using a C++ application, the app performs a Fast Fourier Transform (FFT) which separates the signals for analysis CITE. Another application created in java connects to the FFT and reads the signals. It then displays an interface with the current location after it has been calculated. A Sony Vaio-U handheld computer was used as the interface. The application also uses a Weka toolkit, defined by REF ?WEKA provides a large collection of machine learning algorithm written in java for data pre-processing, classification, clustering, association rules, and visualisation, which can be invoked through a common Graphical user Interface (GUI)?. This helps execute the KNN queries, perform cross-validation and determines the k value in real time for the location model of the house.

Why it is a better option than existing localizers?

PLP are better than other localizer's such as that of GSM (Global System Mobile Communication) and WI-FI in many ways. PLP is a more viable option as it works on the existing electrical system and worries less about cellular or wireless coverage which can depend on the location of the house to either resource. REF also points out the amount of control given to users in using PLP in comparison. When working with GSM/WI-FI the user has no control over cellular towers or neighbouring access points, so the availability/reliability of the technology is not always guaranteed.

Currently papers on powerline have improved on this technology with a new Wideband version which can store up to 44 different frequencies in the powerline CITE

PowerLine event detect

Powerline event detection is a tool that can detect various electrical events within the home. Similar to PLP it uses the electrical wires around the home to distinguish and learn electrical events. It differentiates from other activity sensing technologies developed such as Tapia et al's ?activity recognition? REF which used small low cost sensors to identify activities within the home and MIT's current flow examiner REF which is somewhat similar to PED in that it uses electrical power to sense an activity. There technology examines the current flow of an appliance to decide what state it is in. Both of these related works have faults which PowerLine event detection does not have. With the case of Tapia et al 's use of sensors, there is a concern for power requirements, memory storage capability or the effect it has aesthetically on the home. The MIT's project shows a fault in its need for current sensors on all appliances.

How it works?

As previously stated PED is similar to PLP by using the electrical infrastructure in the sensing of activities. The PED model consists of an single module connected into the plugs socket which is connected to a PC that collects and analyses? the incoming electrical noise.

The analysis is based upon learning different characteristics of noise that is created when a devices is switched on or off. Through their research they found two types of noise produced by various appliances within the home. Transient noise which is a temporary noise that occurs externally from a appliance when it is switched on, causes a sudden surge of energy which is then lost in a matter of microseconds. Continuous noise is caused internally from the appliance and as the name suggests it is continuous in nature. Different appliances can be defined as being either/both transient and continuous. These types of appliances and be split into a subclass of three different sources for noise. Resistive loads, inductive loads and inductive loads with solid state switching. Resistive loads are associated with transient noise in which the appliance when running produces a noise that is basically undetectable (apart from the initial switching on/off of the appliance). Examples of this type of device would be a lamp or a toaster. Any device with a motor in it can be defined as being an inductive load. These create a noise from the brushes on the motor which is eternally ?breaking and stopping? CITE. An inductive load from solid state switching is found in computer power supplies, microwave ovens and dimmer switches. The noise is produced from MOSFETs (metal?oxide'semiconductor field-effect transistor) and TRIACs (triode for alternating current) found in the respective devices. The two classes (inductive load, inductive load with solid state switching) both produce transient (external switching) noise and continuous (internal switching).

The device they used to collect the frequencies was a custom data collector which had a powerline interface of three outputs. One the 60 Hz AC power signal, was used for testing, while the other two ranges 100 Hz ? 100 KHz and 50 KHz- 100 MHz where Pass band frequencies which where filtered through Band Pass filters. The output of the interface is then sent to an USB oscilloscope interface. This interface showed 100 million samples/sec which then can be seen from a simpler C++ API. This application can also perform the FFT on the signal to separate the frequencies. As with the power line positioning system, another java application with a WEKA toolkitCiT is used to display the information and to help with the machine learning.

This system gives very accurate results on finding out what devices are being used within the house. Of course this is not effective if you are using a portable device and it is has being noted that if two switches are hit at the same time errors can occur CIT. This approach of activity detection is very simple, flexible and is easy to implement in the home. It can be used with many different applications and can work with any number of devices.

Track Sense

TrackSense is an indoor localisation tool which has the ability to find out its own position within a room. It does this by using an infrared diode which projects an invisible grid pattern to the surface (walls and ceilings) of the room. This grid is detected by a small black and white camera with an infrared pass filter. From this it can calculate its ?3D position and pose in the room? Ref.

How it works?

While projecting the grid pattern onto the wall, edges of certain objects are calculated by a custom edge detection algorithm. Hough transform which locates certain features in a digital image, determines the parameters of the lines projected by the grid. Intersection points of each set of lines are calculated and their position can be found. Triangulation which is the locating of a point through measuring the distance or the directions of signals from two or three different points CITE, is used to gain the 3D position of the points. Its orientation can be estimated by comparing the output of an accelerometer and magnetometer CITE. The most attractive element of TrackSense is the fact as with the other technologies exhibited here, there is no need for additional infrastructure in the environment. And also its flexibility can be seen by REF when he accounts the fact that by using fingerprinting such as Wi-Fi and GSM you can gain your position not just in your house but in a more global environment. There technology has been proven to give 4cm accuracy with 2 degree accuracy in orientation.

Activity characterisation

Activity characterisation helps determine occupant's activities within the aware home. In the ceiling of the home there are 10 small cameras with the ability of performing computer vision techniques CITE. The cameras are set at a low resolution, so rather than recognizing certain activities the aware home team plan to use the low resolution to gain more resolution for motion data which would aid the sensor already within the house. By characterising inhabitant's motions applications, the data could potentially use it to learn the ?mood? of the house. E.g. are the inhabitants in the room moving a lot or are they more relaxed.

Developed Applications

The Aware Home has developed many applications based on studies within their Aware Home. The beauty of these applications is that there is little or no need for a change in the infrastructure of an ordinary home for them to work. The technologies mentioned are the basis for some of these applications.

Digital family portrait

The digital family portrait attempts to aid in reconnecting family members. The technology is a digital frame which gives information about a distant relative. It indicates the weather, measurements of activity in the house (activity characterisation) and gives contextual information from the sensors in the house. This helps give information to another loved one without causing any issues of privacy for the person in the other house.

The Technology Coach

This application offers ongoing feedback to aid the elderly in using medical devices for the first time. The system watches a device in use through different tracking technologies and then offers guidance to the individual.

Wheelchair Mobility issues

The aware home initiative is currently working with a group of social scientists to explore the abilities of PowerLine Positioning to track objects and people. Their main aim is to gain enough results to be able to identify mobility issues within the home CITE.


Another possible middleware infrastructure for the Internet of Things and one that is currently being used as a way of communicating with objects is XMPP. In this chapter we will look at how this protocol works, where it is being currently used and why it could be used as the base for machine to machine communication.


Before XMPP there was jabber. Published first in 1999 jabber was an open source for instant messaging and presence at its developing stage. In 2000 jabber 2.1 was published, and a Jabber Software Foundation was set up to further develop and document XML protocols that were used in jabber. In 2002 the JSF published a number of drafts about jabber to the IETF. This made jabber protocols more official. JSF called there new protocol XMPP (Extensible Messaging and Presence Protocol). Soon after an XMPP working group was established, and both the JSF and the XMPP parties worked to enhance certain features which were initially proposed in JSF's drafts. In 2004 both IETF and the XMPP working group published four relevant RFC's associated with XMPP (RFC: 2920,2921, 2922,2923). These covered a range of areas for XMPP such as instant messaging and presence support, end to end signing, object encryption and the core architecture of XMPP.

XMPP Architecture

XMPP works through both an client/server and client/client architecture. XMPP servers manage the connections (xml streams) between clients /servers. Servers also route xml stanzas within the streams in the XMPP network. Most connections can be implemented as the transport layer such as TCP or HTTP.

Addressing and the jabber identifier

Every entity of the XMPP network has a JID associated with the entities URI. A JID is made up of a node domain and resource. The node is the individual client, the domain is the domain name of the network or the ip address and the resource is a session, connection or object. A sample address name would be [email protected]/home. ?jdean? being the client, ? being the domain and ?/home? can be the software you are using, your location or your actual computer.

Streams and stanzas

XML streams are used for communication throughout the XMPP network. Streams are opened either side between a client / server or a client/ client connection. So a connection has two streams sending information. The stream itself is an XML document, whose size depends on the length of the communication/session. The messages sent within the session are constantly added to the document till it is completed. Streams send stanza's from one host to another. Firstly the stream is negotiated after a client has setup a TCP connection with the server. The stream is started by the client sending it's XML version element (e.g. <?xml version='1.0'?>) and then the stream open's using the <stream/> element. The server responds with its own version and stream, and it then initiates a security protocol which consists of a TLS (Transport Layer Security) and then a SASL (Simple Authentication and Security Layer) protocol. If the connection is successful, an <success/> element is sent back to the server.

Stanzas are defined by (Liuhto et al, 2005). There are three different stanza types, <message/>, <presence/> and <iq/>. Firstly <iq/> gives us an request/response mechanism for communication between hosts. The <message/> stanza represents the instant messaging ability in XMPP and the <presence/> stanza covers the presence attribute. These stanzas have five attributes in common.

  • to : Who will receive the stanza.
  • from: where the stanza came from. This can be added by the server. The stanza cannot be sent without it.
  • id: used by the sending entity in tracking stanza's it sends and receives1.
  • type: provides info about the stanza.
  • xml:lang: the language the stanza is in.

Info Query

This type of stanza is a request/ response between different entities. The stanza can take different forms such as get, set, result or error. The first two forms get and set describe the information: get for gaining information, set for modifying information. While the next two is used for answering a query: result is a positive answer and error is a negative answer.

<iq from =' [email protected] . lit/ yard '
to=' [email protected] . lit / balcony '
id='m940AE76 ' type ='get '>
</iq >

Instant Messaging

By using the <message/> stanza one to one communications, reporting errors and sending headlines can be achieved. The type of message is defined within the stanza, by the type attribute. These types can be

  • chat : the message is a one to one conversation within a session.
  • group chat: the message is sent from one person to many people in a chat environment.
  • headline: this message is automatically generated to one specific host or as a broadcast.
  • normal: this is just a single message to a recipient.
  • error: This message is in relation to the previous message.

As previously mentioned the server is responsible for the exchange of information between clients. The sender identifies the receiver using the JID held within the to attribute. The content of a message is defined in the <body > which is an element of < message>. The <body > can contain such elements as xml:lang, the subject and thread. The subject and thread are used to track conversations within the stream. The subject is the messages topic helping the sender and receiver to distinguish messages. While the thread is a machine readable id used identify whither a message is inside/outside a conversation.

Privacy lists are used in blocking communication to a certain JID, user or group. They are processed at the server. They use the <list/> element and the rules are defined in a sub/child element called <item/>. Within the <item/> element, four different attributes are used. type, value, action and order. The important attributes being the: type specified by the JID, group or subscription that the rule is matched too, the value is the JID or group that the rule is applied to and the action attribute which defines what will happen e.g. action= ?allow?.

[email protected]/orchard'
[email protected]/balcony'
<body>Hello, are you...</body>


Through the stanza, an entities presence is sent to the server which then updates any entity subscribed to that entities presence. This process is recorded within a roster. The entity can be in a number of states,

  • none: The users are not subscribed to each other.
  • from : That an entity has subscription to the users presence but the user does not have a subscription to the entity.
  • to : This is the same as the from state except it is the other way round (the user has a subscription but the contact has not.)
  • both : That both users are subscribed to each other.1

The presence consists of such information as whether the user is online or offline, the status of a message or the entities location. When a presence changes the user sends a presence stanza to the server without a type or a to attribute. The server will then send the stanza to the members in that user's roster with state from or both. Other information of a users status is found in the <status/> <show/> elements. Before the user is ending a session with the server it informs the server with a type attribute unavailable. The server then sends this status to all subscribed entities with the state from and both.

<iq [email protected]/balcony'type='result' id='roster\_1'>
<query xmlns='jabber:iq:roster'>
<item [email protected]' name='Marilyn'subscription='both'>
<item [email protected]' name='brando'subscription='from'>
<item [email protected]' name='pacino' subscription='both'>
</item> </query> </iq>

XMPP Extension Protocols

The various elements of XMPP that we have just seen are the base from which communication can be made. XMPP have developed standards for XMPP communication in such areas as file sharing, collaborative drawing and event publication/subscription. These standards are called XMPP Extension Protocols (XEP). Because XMPP is an open source standard, other companies have developed their own protocols to work with XMPP .We will be looking at two such protocols which use XMPP for their main standard for communication.

Google Wave

Google Wave has developed its own protocol (Google Wave Federation Protocol) which is an open source extension to XMPP. Google wave works with the real time ?communication and collaboration? REF (Clijsters, 2009) of hosts who converse using waves. The wave breaks up into a hierarchy of wavelets that a user can read, write or reply to in real-time. The Google Wave Federation Protocol is used to multiply those changes2. It uses XMPP for the discovering of IP addresses and ports, using SRV records (information on available services in a domain) and the TLS authentication and encryption of the connections. All these features are part of the XEP-01143, from which Google Wave uses.


A more extensive use of XMPP, and one in which is more associated with this paper is that of the OpenSpime. Created by the Wide Tag Inc., OpenSpime is a distribution network that provides all the functionalities needed for collecting data and in encrypting messages between two entities. Openspime offers such services as data reporting of an entity to a database, instant messaging between entities (Spimetalk) and in seeking data sent by a specific entity (Spimeseek).

What is a spime?

A spime is newly coined word by the sci-fi author Bruce Sterling. The term refers to a currently-theoretical object that is aware of its environment, can track its own history of use and can interact with its external environment by communicating data.4 But in relation to XMPP a 'spime? is a client. This is the case for all of the openspime architecture that is most of the protocol's objects is a renaming of the XMPP objects which provide the service. Such as the OSid (OpenSpime Identifer) are associated the JID within XMPP.


A Scopenode is used for collecting data from the spime. A spimes scope is based on its reason for collecting data. There is only one node per scope. A scopenode is also seen as a client within the XMPP architecture. Scopenodes can offer an interface for the format of the data that is being collected, the scopes, generating RSA keys and Spimeid authorization (which spimes send data to this Scopnode)


OpenSpime architecture also contains a Spimegate. This is the XMPP server and so is the most important part of the architecture. The Spimegate performs all the functions of an XMPP server such as authentication of a clients JID or in this case OSid, connecting to other Spimegates and by providing communication between clients. A separate server as part of a spimegate can also be used for the purpose of managing/generating all the nesscesary identifiers needed in the network. Such identifiers as the spime ID, Scope Node ID are organised and the server also provides certification of entities, managing RSA keys and all other information that OpenSpime do not encourage to be left on the Spimegate databases. The OpenSpime protocol uses two different XEP's, that of 0060 (Publishing and Subscribing) and 0189 (Public Key Publishing).


What makes XMPP so suitable for the internet of things? (Koekman et al, 2006) discusses its suitability for interactive TV in there research initiative Euro iTV. XMPP is advantageous to (Koekman et al, 2006) in namely three different ways. Firstly, because the architecture is decentralised any client can subscribe to any server within XMPP. This also makes it very scalable and flexible, as clients can be added and removed from the network without in adversely affecting it. The client is downloaded and is created in java. Secondly, any complex tasks as stated by (Koekman et al, 2006) are issued using the server (presence, status, and packet routing and user account management). This server can be setup by anyone as there is no master server. Thirdly XMPP can also be implemented to work with devices that have limited resources (in this case Koekman's set TV box). Other such examinations of the protocol, like (Vesterinen, 2006), squares XMPP up to other IM and presence protocols .The examination shows us a definite reason why XMPP is a viable option for communication between two entities in a Web of Things. It mentions how in comparison to another prominent IM and presence protocol SIP (Session Initiation Protocol), XMPP's low bandwidth usage is a more attractive option when using mobile technology.


Apart from the two previously mentioned technologies (Google Wave, OpenSpime), this protocol has already been used in various projects and applications to produce such attributes kin to entities in the IOT.

  • Nabatztag- is an object connected to the internet, humorously enough in the form of a rabbit. Nabatztag makes use of XMPP to gain information like the weather forecast, e-mail notifications, stock market reports, and news headlines, RSS-Feeds, basically anything accessed from the internet as it can be programmed to perform several tasks.
  • Tivo- similar to the research group Euro iTV, Tivo is in fact set top box that uses XMPP to get ?TV schedule? and 'software update notifications? in real-time (Lawrence, 2009).
  • Intuity Media Lab- A research group with the Intuity design company used XMPP to switch on/off a lamp with an android phone and a Google talk client.
  • Shion- is an application from audacious software for the MAC operating system, which can be used to control household appliances. It uses XMPP as the channel of communication from the device to the client that is issuing the commands.


  • Ankolekar, Anupriya; Krotzsch, Markus;Tran, Thanh; Vrandecic, Denny (2007), The Two Cultures: Mashing up Web 2.0 and the Semantic Web, University of Karlsruhe Germany
  • Anderson, Paul (2007), What is Web 2.0? Ideas, technologies and implications for education JISC
  • Angeles, Rebecca (2005), RFID Technologies: Supply-Chain Applications and Implementation Issues Information Systems Management
  • Berners-Lee, Tim; Hendler, James; Lassila, Ora (2001), The Semantic Web, Scientific
  • Blanchard, Brian (2009), Understanding the cloud
  • Broekstra, Jeen ; Kampman, Arjohn (2001), Sesame: A Generic Architecture for Storing and Querying RDF and RDF schema, On to Knowledge, Netherlands
  • Castelluccio, Michael (2008), A New Year, A new Internet Strategic Finance: Jan 2008, vol.89 issue 7, page 59 - 60
  • Garrett, Jesse, James (2005), AJAX: A New Approach to Web Applications Spider Strategies
  • Horracks, Ian; F. Patel-Schneider, Peter ; Van Harmelen, Frank (2003),
  • Hui, Johnathan; Culler, David; Chakrabarti Samita (2009), 6LoWPAN: Incorporating IEEE 802.15.4 into the IP architecture IPSO Alliance
  • Katasonav, Artem; Kaylona, Olena; Khriyenko, Oleksiy; Nikitin, Sergiy; Terziyan, Vagan (2008), Smart Semantic Middleware for the Internet of Things, University of Jyvaskyla Finland
  • Karjoth, Gunter; Moskowitz, Paul (2005), Disabling RFID Tags with Visible Confirmation: Clipped Tags Are Silenced IBM Research Division
  • Almaden - Austin - Beijing - Haifa - India - T.J.Watson - Tokyo - Zurich National Information Standards Organisation (2004), Understanding Metadata, NISO Press
  • Orrevad, Anders (2009) M2M Traffic Characteristics KTH Information and Communication Technology Sweden
  • Plaggenborg, Patrick (2006), Social RFID: Internet for things European Media Masters of Arts Rotterdam
  • Seong Leong, Kin; Leng Ng, Mun; W. Engels, Daniel (2004), EPC Network Architecture University of Adelaide
  • Shelby, Zach ; Bormann, Carsten (2009), 6LoWPAN: The Wireless Embedded Internet John Wiley & Sons, Ltd
  • Want, Roy (2006), An Introduction To RFID Technology Pervasive Computing United States of America
  • Ward, Matt; Van Kranenburg, Rob (2006), RFID: Frequency, standards, adoption and innovation JISC London
  • Williams, Bob (2008), What is the Real Business Case ?Internet of Things?? Section five
  • (2008), Early Challenges regarding the ?Internet of Things?, Commission of the European Communities, Brussels