Prototyping a Web-of-Energy Architecture for Smart Integration of Sensor Networks in Smart Grids Domain
Abstract
:1. Introduction
- The aggregator controls low voltage power that is transferred to the usual places, where it is consumed with metering and billing functionalities.
- The Energy Service Companies (ESCOs) will play an important role in the future electricity market as energy-oriented commercial businesses. ESCOs can be described as specialists in providing a broad range of comprehensive energy solutions, including the design and implementation of energy saving projects, energy conservation, energy infrastructure outsourcing, power generation and energy supply and risk management.
- A VPP can either operate large numbers of relatively small-sized generators, responsive loads and storage units on behalf of owners (in this case, prosumers) or operate its own Distributed Energy Resources (DERs).
2. Related Work
2.1. Smart Grids and Web of Energy
- Remote access form substations to central servers.
- Management and monitoring of DERs.
- Supervisory Control and Data Acquisition (SCADA) distribution to secondary substations.
- Electrical Vehicle Supply Equipment (EVSE) management.
2.2. Web of Things
- From heterogeneity to homogeneity: a device sends data captured with a specific format and protocol through a WoT translator, which translates the data into a common format and the protocol into HTTP.
- From homogeneity to heterogeneity: the actor receives this data and decides to act on the device, for example, changing its configuration. It then sends an instruction using the HTTP protocol and a format common to the WoT translator which, in turn, translates the protocol and format of the data into the specific protocol and format of the device.
3. From the Smart Grid to the Web of Energy
3.1. Smart Grid Architecture Modules
- Context-aware security. This module aims to individually provide the needed security level for the proper operation of every smart function. For instance, for the use case of Smart Metering, this module can update all the encryption keys of the Smart Grid once an unauthorized access to the metering infrastructure has been detected.
- Hybrid Cloud Data Management: This module provides a data storage and processing system that intrinsically adapts to the Smart Grid’s topology in a scalable and flexible way. Also, it implements an algorithm (also referred to as orchestrator) to decide whether collected data should be stored at the private cloud or could be placed at the public cloud. Such decisions are taken considering the smart functions’ requirements (e.g., reliability, delay, and cybersecurity) associated with the collected data [12].
- Web of Energy: This module provides a ubiquitous (i.e., web based) monitoring interface [12] that enables a seamless management of the whole IoT architecture of the Smart Grid. In addition to providing a mechanism to communicate humans and machines, it also enables the interactions among those IoT resource-constrained and small devices (i.e., machine to machine) through the HTTP protocol. Note that the aforementioned context-aware security module might decide to add an extra layer of security by switching from HTTP to HTTPS in accordance with the device features, network status, and smart function under execution demands. This is done through an open API that both couples and decouples all the modules. Hence, this module also acts as a bridge between the distributed storage layer—that takes care of all the Smart Grid’s Big Data concerns—and the context-aware security layer—that gives the necessary access control and cybersecurity mechanisms.
3.2. Web of Things Architecture
- Accessibility: It enables a consistent access to all types of IoT devices by exposing their functionalities through a RESTful HTTP API.
- Findability: It provides the discovery of the representations of the different devices, uniformly modeling the access method (through the HTTP protocol) and establishing relations between them at the moment of their representation.
- Sharing: It is in charge of preserving the privacy between the device representations. It also manages the authentication and authorization to access the representations by actors who do not own the device.
- Composition: It enables the integration between the different representations of the devices that, ultimately, allows the integration between the different functionalities of the physical devices.
3.2.1. Accessibility Layer
3.2.2. Findability Layer
3.2.3. Sharing Layer
3.2.4. Composition Layer
3.3. Web of Things and Web of Energy Protocols
3.4. Complementing the Web of Things Architecture
- Although certain IoT devices can support HTTP stacks, there are many of them that can only support lighter protocols due to their limited resources. Although ideally a narrow range of IoT protocols (e.g., CoAP and MQTT) would facilitate the integration of the devices to the Internet and the Web, a basic and indispensable requirement for the devices to be part of the Web is that they can be connected to the Internet.
- The architecture must provide abstractions so that developers can interact independently with the devices of the communication protocol, either towards the heterogeneity of the IoT protocols or towards the homogeneity of the WoT protocols.
- The architecture must be able to scale horizontally and provide self-healing for its systems. It must permit the on-demand deployment of resources.
- In the WoE architecture, the devices have to become virtual objects [40] or things, although virtual objects created from aggregations of other virtual objects can also be created.
- Each virtual object will be accessible from an HTTP REST interface and, in case the features of the virtual object allow it, from a WebSocket link.
- The architecture must allow executing authentication and authorization protocols towards the different devices involved.
- Protocol Abstraction Layer: The objective of this layer is to provide an abstraction layer for developers to interact with physical devices, both for developers of architecture functionalities at the more internal layers as well as for application developers for Smart Grid that, as already specified, group different protocols. The goal is not only to expose the IoT devices as HTTP REST resources, but to provide developers with abstraction mechanisms of both HTTP and the IoT protocols. In this sense, the premise exposed in [9] of enabling access to physical devices through an HTTP interface is maintained.
- REST to VO/Query: The purpose of this layer is to translate the different URIs generated from the information of physical devices to actions on virtual objects or Things. In this way, we do not act directly on physical devices but through virtual objects. This layer also includes an interface for more complex queries about a Thing or the relationships of different Things.
- Authorization: This layer is responsible for requesting and granting access to virtual objects or Things.
- Virtual Objects: When physical devices must perform actions on other physical devices they will send the instruction against a virtual representation (virtual object or Thing). The objective of this virtual representation is to increase the resources and functionalities of physical devices. We cannot provide a detailed list of added features, as they are specific to each solution. Even so, our goal is to provide a method (code injection) so that these functionalities can be added dynamically. Some common functionalities are related to reasoning (artificial intelligence) or caching.
- Proxy Layer: The architecture of the WoT presented in [9] proposes that all representations of the devices use web technologies (e.g., HTTP) to communicate and expose their characteristics and achieve homogeneous access to the devices, both between devices and between devices and humans. However, using web technologies for all types of communication between specific servers of the WoT will not always be optimal. The motivation of this layer is therefore to show that efficient communication between servers can be carried out through a protocol that is not within web technologies. However, it is important to mention that even those services should have an HTTP interface for the integration in the WoT.
3.5. Web of Energy Implementation
3.5.1. First Approach: PHP Implementation
- PHP web servers follow a very strict execution model that hinder the use of web technologies such as WebSocket. This is because WebSocket connections are permanent, whereas PHP servers delimit the connection with the client until a certain time limit or until the script execution is finished, since its main execution model is “load, execute, and die”. There are alternatives to this execution model like the one implemented in React PHP [44] (reactor pattern), but this library is not available for large-scale production environments such as WoT.
- PHP, an interpreted language, is slower than compiled languages. In addition, with the execution model discussed above, main developers have never been concerned with optimizing the generated instructions or eliminating multiple memory leaks. Now, with the arrival of PHP 7, an improvement in performance has been achieved [45], although the other reasons discussed in this list are still valid.
- There are very few libraries focused on functionalities that involve mathematical calculations intrinsic to Machine Learning or distributed computing models. This is due, once again, to the idiosyncrasies of this type of languages, which are mainly used to serve dynamic web pages.
3.5.2. Second Approach: Actor Model Implementation
- Send messages to other Actors
- Create new Actors
- Designate how to manage the next received message
- Distribution and Flexibility: One of the basic principles of the model is the creation of new actors. This facilitates the use of computing resources not only in the same node but distributed in different nodes since the communication is asynchronous and transparent between local and remote node actors. Besides being able to create new actors, they can also be eliminated and, therefore, permit the management of the use of resources.
- Self-Healing: This property is not based on any principle of the theoretical Actor Model, but all the libraries that implement this model also implement it since the creation of Erlang [51], due to its great practical use. By definition, the state of an actor is isolated in that actor and can only communicate with the outside through messages. Self-healing takes advantage of this isolation principle to manage the failure of a given actor. For example, Akka [52] implements parental supervision. The creation of actors by another actor results in the creation of a hierarchy with a parent actor. In the event of the failure of a “child” actor, the “parent” actor can decide how to manage this failure: restart it or not, for example. Thanks to the isolation between actors and the supervision between actors, execution errors can be isolated and managed in a controlled manner. Actor state recovery mechanism involve event sourcing [53] techniques, where messages that change the state of the actor are logged and replayed when the actor restarts.
4. Prototypes, Initial Model, and Emulation Setting
4.1. Layer Prototypes
- Virtual Objects Space: Each physical device is represented by a virtual object and this in turn represented by one or more actors. This layer defines the logic and abstractions necessary for each device to be represented by one or more actors, in such a way that the data flow, taking as a starting point the reception of data from a protocol of what we consider to be heterogeneous or IoT (e.g., MQTT), is transformed into a homogeneous protocol (proxy layer) so that it can be understood by the other parts of the architecture.
- Proxy layer: According to the needs of this proof of concept, the proxy layer has been implemented through a publisher/subscriber protocol. In this way, the virtual objects that represent the devices can publish the captured data and can subscribe to messages also collected by other devices or to action messages sent by other devices.
- Protocol Abstraction Layer: Contains the implementations that interface between different protocols such as MQTT, WebSocket, or HTTP.
4.2. Initial Model
- MQTT Section: It consists of those devices that communicate through the MQTT protocol and the servers or services responsible for translating MQTT into an “understandable” protocol.
- Virtual Objects Space and Proxy Layer: This section is made up of those modules responsible for representing each physical device through a virtual object and the publisher/subscriber protocol.
- HTTP/WebSocket: Analogous to the MQTT section, it includes those devices that communicate with the architecture through web protocols and the services responsible for translating these protocols into a protocol “understandable” by the internal layers of the architecture.
- Device: A device or smart gateway. In a Smart Grid setting, a smart meter or any other intelligent electronic device can be the Device.
- MQTT Broker: An MQTT server or broker that handles subscriptions and publications and deliveries messages from publishers to subscribers.
- MQTT ActorSystem: An Actor System responsible for translating the MQTT protocol to a homogeneous protocol. It is also responsible for allocating virtual objects by deploying the corresponding actors.
- Proxy Layer: A publish/subscribe system and a database.
- WebSocket ActorSystem: An Actor System responsible for translating the WebSocket protocol to a homogeneous protocol. It is also responsible for allocating virtual objects by deploying the corresponding actors.
- WebSocket Client: For example, a browser that supports the WebSocket protocol.
- In step 1, an actor named MQTT Master that has been initially allocated in the MQTT ActorSystem subscribes to a wildcard topic such as +/config/out to receive incoming information about new devices. The plus sign in the wildcard topic means that the subscription is to all topics that match a string prepended by /config/out.
- A Device which communicates via MQTT initiates a registration process with the MQTT ActorSystem via the MQTT broker. As shown in steps 2 to 7, the Device subscribes to a topic dedicated to configuration purposes, which includes the registration process, and sends a registration request to the MQTT Master. If the registration process is successful, which is the flow shown, the MQTT Master deploys a dedicated actor responsible for handling the messages sent over the configuration topic and the data topic (dataTopicOut). The actor also subscribes to the Proxy Layer to receive messages directed to the device (step 6). Finally, the actor responds with an ACK (“OK” message) to the Device communicating that the registration process was successful. The virtual object that represents the Device and associated information is registered in the system’s database (action not shown in Figure 7). Note that the actions prepended with the prefix “vo” (virtual object), (e.g., voSubscribe) correspond to actions performed by a dedicated actor, thus the voSubscribe action is performed by the actor deployed by MQTT Master in step 4. Also, the topic or message used in a “vo” action contains the ID of the virtual object and therefore messages and topics do not collide between Virtual Objects.
- The WebSocket Client sends a message to the WebSocket ActorSystem, concretely to an actor named WebSocket Master, to initiate a registration process that starts at step 8 and ends at step 10. If successful, the WebSocket Master deploys a new actor which will be responsible for handling the messages sent over the previously established WebSocket connection (WSConn). The subscription process ends at step 11 when the dedicated actor sends and ACK (“OK” message) meaning that the registration process was successful. As with the MQTT registration process, the associated information is saved into the database.
- Steps 12 and 13, exemplify a WebSocket Client query requesting for available virtual objects the dedicated actor response with appropriate data. The process of the actor querying the database is not shown in Figure 7. Then, in step 14, the WebSocket Client sends a message indicating what virtual objects to watch or subscribe to. Once the dedicated actor receives this information, it subscribes to the corresponding virtual object topics to receive updates of them in step 15. Variables in square brackets “[]” indicate a list of those variables.
- Finally, steps 16 to 18 show how messages produced by the Device are consumed by the WebSocket Client.
4.3. Emulation Setting
- Mosquitto has been used as the MQTT server [54].
- Akka [52] has been used through the Scala API as an implementation of the Actor Model in Regions A and B. Note that the Erlang Virtual Machine allows actors to be hot deployed and that the characteristics of the Java Virtual Machine make this functionality harder to implement. Nevertheless, the OSGi framework provides the necessary means to accomplish this task, which could be useful for implementing Software Defined Utilities in the same way as used in Software Defined Networks [1,16]. Both in Erlang and Akka, an actor does not correspond to a system thread, but instead, a few threads, usually as many as the number of cores, are scheduled to process each actor mailbox when new messages arrive in order to optimize resources.
- For the Proxy Layer with the publish/subscribe function, a publish/subscribe cluster implementation has been used with Akka-Cluster.
- The Play Framework [55] has been used as WebSockets and HTTP server.
- MongoDB [56] has been used as the database to store available virtual objects.
5. Experimentation and Results
5.1. Experiment 1
5.2. Experiment 2
5.3. Discussion between Experiments 1 and 2
5.4. Web of Energy, Proof of Concept
5.5. Discussion and Conclusions
6. Conclusions
7. Future Work
Acknowledgments
Author Contributions
Conflicts of Interest
References
- Martín de Pozuelo, R.; Ponce de León, M.; Howard, J.; Briones, A.; Horgan, J.; Sánchez, J. Software defined utility: A step towards a flexible, reliable and low-cost smart grid. In Proceedings of the International Conference on Smart Grid Systems, Barcelona, Spain, 7–9 September 2016. [Google Scholar]
- Gungor, V.; Sahin, D.; Kocak, T.; Ergut, S.; Buccella, C.; Cecati, C.; Hancke, G. Smart grid and smart homes: Key players and pilot projects. IEEE Ind. Electron. Mag. 2012, 6, 18–34. [Google Scholar] [CrossRef]
- Rodríguez-Molina, J.; Martínez-Núez, M.; Martínez, J.-F.; Pérez-Aguiar, W. Business models in the smart grid: Challenges, opportunities and proposals for prosumer profitability. Energies 2014, 7, 6142–6171. [Google Scholar] [CrossRef]
- Navarro, J.; Zaballos, A.; Sancho-Asensio, A.; Ravera, G.; Armendariz-Inigo, J.E. The information system of INTEGRIS: Intelligent electrical grid sensor communications. IEEE Trans. Ind. Inform. 2013, 9, 1548–1560. [Google Scholar] [CrossRef]
- Shah, G.A.; Gungor, V.C.; Akan, O.B. A cross-layer QoS-aware communication framework in cognitive radio sensor networks for smart grid applications. IEEE Trans. Ind. Inform. 2013, 9, 1477–1485. [Google Scholar] [CrossRef]
- Khan, A.A.; Rehmani, M.H.; Reisslein, M. Cognitive radio for smart grids: Survey of architectures, spectrum sensing mechanisms, and networking protocols. IEEE Commun. Surv. Tutor. 2016, 18, 860–898. [Google Scholar] [CrossRef]
- Maziku, H.; Shetty, S. Software Defined Networking enabled resilience for IEC 61850-based substation communication systems. In Proceedings of the 2017 International Conference on Computing, Networking and Communications (ICNC 2017), Santa Clara, CA, USA, 26–29 January 2017; pp. 690–694. [Google Scholar]
- Zaballos, A.; Vallejo, A.; Selga, J. Heterogeneous communication architecture for the smart grid. IEEE Netw. 2011, 25, 30–37. [Google Scholar] [CrossRef]
- Guinard, D. A Web of Things Application Architecture—Integrating the Real-World into the Web. Ph.D. Thesis, ETH Zurich, Zurich, Switzerland, 2011. [Google Scholar]
- Caballero, V.; Vernet, D.; Zaballos, A.; Corral, G. Web of Energy: Hacia la integración inteligente para las redes de sensores en Smart Grids. In Proceedings of the XIII Jornadas de Ingenieria Telematica—JITEL2017, Valencia, Spain, 27–29 September 2017; Universitat Politècnica València: Valencia, Spain, 2017; pp. 30–39. (In Spanish). [Google Scholar]
- Navarro, J.; Sancho-Asensio, A.; Zaballos, A.; Jiménez-Ruano, V.; Vernet, D.; Armendáriz-Iñigo, J.E. The management system of INTEGRIS. In Proceedings of the 4th International Conference on Cloud Computing and Services Science, Barcelona, Spain, 3–5 April 2014; pp. 3–5. [Google Scholar]
- Vernet, D.; Zaballos, A.; Martín de Pozuelo, R.; Caballero, V. High performance web of things architecture for the smart grid domain. Int. J. Distrib. Sens. Netw. 2015, 11, 347413. [Google Scholar] [CrossRef]
- Miorandi, D.; Sicari, S.; De Pellegrini, F.; Chlamtac, I. Internet of things: Vision, applications and research challenges. Ad Hoc Netw. 2012, 10, 1497–1516. [Google Scholar] [CrossRef]
- W3C Member Submission 24 August 2015. Available online: https://www.w3.org/Submission/wot-model/ (accessed on 7 December 2017).
- Shadbolt, N.; Berners-Lee, T.; Hall, W. The semantic web revisited. IEEE Intel. Syst. 2006, 21, 96–101. [Google Scholar] [CrossRef]
- Martín de Pozuelo, R.; Navarro, J.; Corral, G.; Zaballos, A. Prototyping a software defined utility. Energies 2017, 10, 818. [Google Scholar] [CrossRef]
- Iwata, J. Making Markets: Smarter Planet. Available online: https://www.ibm.com/investor/events/investor0512/presentation/05_Smarter_Planet.pdf (accessed on 12 November 2017).
- Gartner Gartner Says the Internet of Things Installed Base Will Grow to 26 Billion Units By 2020. Available online: https://www.gartner.com/newsroom/id/2636073 (accessed on 7 December 2017).
- Gartner Gartner Says 6.4 Billion Connected “Things” Will Be in Use in 2016, up 30 Percent from 2015. Available online: http://www.gartner.com/newsroom/id/3165317 (accessed on 7 December 2017).
- Fielding, R.T. Architectural Styles and the Design of Network-Based Software Architectures. Ph.D. Thesis, University of California, Oakland, CA, USA, 2000. [Google Scholar]
- Trifa, M.V. Building Blocks for a Participatory Web of Things: Devices, Infrastructures, and Programming Frameworks. Ph.D. Thesis, ETH Zurich, Zurich, Switzerland, 2011. [Google Scholar]
- MQTT V3.1 Protocol Specification. Available online: http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html (accessed on 7 December 2017).
- Shelby, Z.; Hartke, K.; Bormann, C. The Constrained Application Protocol (CoAP); Internet Engineering Task Force: Fremont, CA, USA, 2014. [Google Scholar] [CrossRef]
- Trifa, V.; Wieland, S.; Guinard, D.; Bohnert, T. Design and implementation of a gateway for web-based interaction and management of embedded devices. In Proceedings of the 2nd International Workshop on Sensor Network Engineering, (IWSNE 09), Marina Del Rey, CA, USA, 8–10 June 2009; pp. 1–14. [Google Scholar] [CrossRef]
- ThingWorx Enterprise IoT Solutions and Platform Technology. Available online: https://www.ptc.com/en/products/iot (accessed on 7 December 2017).
- IBM. IBM Watson IoT—IoT Platform. Available online: https://www.ibm.com/internet-of-things/platform/watson-iot-platform (accessed on 7 December 2017).
- Octoblu Octoblu|Integration of Everything. Available online: https://octoblu.github.io/ (accessed on 7 December 2017).
- EVRYTHNG EVRYTHNG IoT Smart Products Platform. Available online: https://evrythng.com/ (accessed on 7 December 2017).
- Bizer, C.; Heath, T.; Idehen, K.; Berners-Lee, T. Linked data on the web (LDOW2008). In Proceedings of the 17th International Conference on World Wide Web (WWW ’08), Fira, Greece, 8–10 June 2008; ACM Press: New York, NY, USA, 2008; p. 1265. [Google Scholar]
- World Wide Web Consortium. RDF 1.1 Concepts and Abstract Syntax; World Wide Web Consortium, 2014. Available online: https://www.w3.org/standards/techs/rdf#w3c_all (accessed on 7 December 2017).
- Adida, B.; Birbeck, M.; McCarron, S.; Pemberton, S. RDFa in XHTML: Syntax and Processing; Recommendation. World Wide Web Consortium, 2008. Available online: https://www.w3.org/TR/2008/REC-rdfa-syntax-20081014/ (accessed on 7 December 2017).
- Bechhofer, S. OWL: Web ontology language. In Encyclopedia of Database Systems; Springer: New York, NY, USA, 2009; pp. 2008–2009. [Google Scholar]
- Guinard, D.; Fischer, M.; Trifa, V. Sharing using social networks in a composable Web of Things. In Proceedings of the 2010 8th IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOM Workshops), Mannheim, Germany, 29 March–2 April 2010; pp. 702–707. [Google Scholar]
- Gregorio, J.; de hOra, B. The Atom Publishing Protocol; Network Working Group, 2007. Available online: https://bitworking.org/projects/atom/rfc5023.html (accessed on 7 December 2017).
- 1Worx ThingWorxComposerTM—1Worx. Available online: http://www.1worx.co/the-thingworx-platform/thingworx-composer/ (accessed on 7 December 2017).
- IBM Node-RED. Available online: https://nodered.org (accessed on 7 December 2017).
- Ur, B.; Pak Yong Ho, M.; Brawner, S.; Lee, J.; Mennicken, S.; Picard, N.; Schulze, D.; Littman, M.L. Trigger-Action Programming in the Wild. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems (CHI ’16), San Jose, CA, USA, 7–12 May 2016; ACM Press: New York, NY, USA, 2016; pp. 3227–3231. [Google Scholar]
- Dijk, E.; Rahman, A.; Fossati, T.; Loreto, S.; Castellani, A. Guidelines for HTTP-CoAP Mapping Implementations; CoRE Working Group, 2016. Available online: https://tools.ietf.org/html/rfc8075 (accessed on 7 December 2017).
- Collina, M.; Corazza, G.E.; Vanelli-Coralli, A. Introducing the QEST broker: Scaling the IoT by bridging MQTT and REST. In Proceedings of the 2012 IEEE 23rd International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC), Sydney, Australia, 9–12 September 2012; pp. 36–41. [Google Scholar]
- Nitti, M.; Pilloni, V.; Colistra, G.; Atzori, L. The virtual object as a major element of the internet of things: A survey. IEEE Commun. Surv. Tutor. 2016, 18, 1228–1240. [Google Scholar] [CrossRef]
- Khan, M.; Silva, B.; Han, K. A web of things-based emerging sensor network architecture for smart control systems. Sensors 2017, 17, 332. [Google Scholar] [CrossRef] [PubMed]
- Cass, S. The 2016 Top Programming Languages. Available online: https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2016 (accessed on 25 January 2018).
- Usage Statistics and Market Share of Server-Side Programming Languages for Websites. Available online: https://w3techs.com/technologies/overview/programming_language/all (accessed on 7 December 2017).
- Reactphp/React. Available online: https://github.com/reactphp/react (accessed on 7 December 2017).
- Get Performance Insight into the Upcoming Release of PHP 7. Available online: http://www.zend.com/en/resources/php7_infographic (accessed on 7 December 2017).
- Hewitt, C.; Bishop, P.; Steiger, R. Session 8 formalisms for artificial intelligence a universal modular ACTOR formalism for artificial intelligence. In Advance Papers of the Conference; Stanford Research Institute: Menlo Park, CA, USA, 1973; Volume 3, p. 235. [Google Scholar]
- Agha, G. Actors: A Model of Concurrent Computation in Distributed Systems; MIT Press: Cambridge, MA, USA, 1986; ISBN 0-262-01092-5. [Google Scholar]
- Sutter, H. The free lunch is over: A fundamental turn toward concurrency in software. Dr. Dobb’s J. 2005, 30, 202–210. [Google Scholar]
- Diaz Sanchez, D.; Simon Sherratt, R.; Arias, P.; Almenarez, F.; Marin, A. Enabling actor model for crowd sensing and IoT. In Proceedings of the 2015 International Symposium on Consumer Electronics (ISCE), Madrid, Spain, 24–26 June 2015; pp. 1–2. [Google Scholar]
- Hiesgen, R.; Charousset, D.; Schmidt, T.C.; Wählisch, M. Programming actors for the internet of things. ERCIM NEWS, 2015; 25. [Google Scholar]
- Armstrong, J. Programming Erlang: Software for a Concurrent World; Pragmatic Bookshelf: Raleigh, NC, USA, 2007. [Google Scholar]
- Lightbend Akka. Available online: https://akka.io/ (accessed on 7 December 2017).
- Fowler, M. Event Sourcing. Available online: https://martinfowler.com/eaaDev/EventSourcing.html (accessed on 13 January 2018).
- An Open Source MQTT v3.1 Broker. Available online: http://mosquitto.org/ (accessed on 7 December 2017).
- Lightbend Playframework. Available online: https://playframework.com/ (accessed on 7 December 2017).
- MongoDb. Available online: https://www.mongodb.com/ (accessed on 13 January 2018).
- Bormann, C.; Hoffman, P. Concise Binary Object Representation (CBOR); Internet Engineering Task Force: Fremont, CA, USA, 2013; Available online: https://tools.ietf.org/html/rfc7049 (accessed on 7 December 2017).
- DataPort—PecanStreet. Available online: https://dataport.pecanstreet.org (accessed on 13 January 2018).
- Selga, J.M.; Zaballos, A.; Navarro, J. Solutions to the computer networking challenges of the distribution smart grid. IEEE Commun. Lett. 2013, 17, 588–591. [Google Scholar] [CrossRef]
- Silos, Á.; Señís, A.; de Pozuelo, R.; Zaballos, A. Using IEC 61850 GOOSE Service for Adaptive ANSI 67/67N Protection in Ring Main Systems with Distributed Energy Resources. Energies 2017, 10, 1685. [Google Scholar] [CrossRef]
- Atzori, L.; Girau, R.; Martis, S.; Pilloni, V.; Uras, M. A SIoT-aware approach to the resource management issue in mobile crowdsensing. In Proceedings of the 2017 20th Conference on Innovations in Clouds, Internet and Networks (ICIN), Paris, France, 7–9 March 2017; pp. 232–237. [Google Scholar]
- Girau, R.; Martis, S.; Atzori, L. Lysis: A platform for iot distributed applications over socially connected objects. IEEE Internet Things J. 2017, 4, 40–51. [Google Scholar] [CrossRef]
- Marche, C.; Nitti, M.; Pilloni, V. Energy efficiency in smart building: A comfort aware approach based on Social Internet of Things. In Proceedings of the 2017 Global Internet of Things Summit (GIoTS), Geneva, Switzerland, 6–9 June 2017; pp. 1–6. [Google Scholar]
HTTP | WebSocket | CoAP | MQTT | XMPP | AMQP | DDS | |
---|---|---|---|---|---|---|---|
Topology | Req/Resp | Two-way, realtime | Req/Resp | Pub/Sub | Pub/Sub and Req/Resp | Pub/Sub | Pub/Sub |
Architecture | P2P | P2P | P2P | Broker | P2P | P2P or Broker | Global Data Space |
Transport Level | TCP | TCP | UDP | TCP | TCP | TCP | TCP/UDP |
Encryption | TLS | TLS | DTLS | TLS | TLS | TLS | TLS/DTLS |
Authentication | TLS | TLS | DTLS | User/Pass | TLS | SASL | TLS/DTLS |
QoS | - | - | Confirmable | 3 | - | 3 | 23 |
Resource | Specifications | Services |
---|---|---|
VM 1 | 2 × 2.4 GHz Intel Xeon (4 cores per processor), 4 GB RAM | Mosquitto, MQTT ActorSystem |
VM 2 | 3 × 2.4 GHz Intel Xeon (4 cores per processor), 6 GB RAM | Proxy Layer, HTTP/WebSocket Server and ActorSystem |
MacBook Pro | 2.7 GHz Intel Core i7 (2 cores per processor), 8 GB RAM | MQTT Devices, WebSocket Client |
Variable | Value |
---|---|
Devices | {1k, 2k, 3k, 4k, 5k, 6k, 7k, 9k} |
Payload Size (bytes) | {4} |
Burst Interval (ms) | {1000, 5000} |
Bursts | {3} |
Variable | Value |
---|---|
Devices | {1000} |
Payload Size (bytes) | {272, 408, 544, 680, 816, 952, 1224} |
Burst Interval (ms) | {1000, 5000} |
Bursts | {3} |
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Caballero, V.; Vernet, D.; Zaballos, A.; Corral, G. Prototyping a Web-of-Energy Architecture for Smart Integration of Sensor Networks in Smart Grids Domain. Sensors 2018, 18, 400. https://doi.org/10.3390/s18020400
Caballero V, Vernet D, Zaballos A, Corral G. Prototyping a Web-of-Energy Architecture for Smart Integration of Sensor Networks in Smart Grids Domain. Sensors. 2018; 18(2):400. https://doi.org/10.3390/s18020400
Chicago/Turabian StyleCaballero, Víctor, David Vernet, Agustín Zaballos, and Guiomar Corral. 2018. "Prototyping a Web-of-Energy Architecture for Smart Integration of Sensor Networks in Smart Grids Domain" Sensors 18, no. 2: 400. https://doi.org/10.3390/s18020400
APA StyleCaballero, V., Vernet, D., Zaballos, A., & Corral, G. (2018). Prototyping a Web-of-Energy Architecture for Smart Integration of Sensor Networks in Smart Grids Domain. Sensors, 18(2), 400. https://doi.org/10.3390/s18020400