A. CPS Architecture
According to 14, Cyber-Physical Systems (CPS) are those systems which bring the Physical and the Virtual world together. When combining the computation and physical process of CPS, they provide information feedback loops through the use of sensors between the various interconnected devices. SGs are an obvious example of this, where measurements are collected and analysed by the SM which will, in turn, affect the operation of the physical system by economic and remedial actions 15.
Although there seems to be a consensus on the definition of CPS, no consensus has been reached on the different architectural relationships and compositions of CPS 16. According to 17, Liu et al. proposed a CPS architecture made up of three layers: Physical System, Information System and User layers. Similarities can be derived between these and those proposed by 18, 19 and 20 for IoT devices, which operate mainly on three layers termed Perception, Network, and Application layers. These three layers are discussed below:
– Perception (or Physical System) Layer, which is also referred to as the sensors layer. The purpose of this layer is to acquire the data from the environment with the help of actuators, RFID tags, cameras, GPS and other sensor networks 20. Within the context of SG systems, these are made up of devices such as the SM and charging stations for Plug-in Hybrid Electric Vehicles (PHEV). The main task of this layer is to collect information and transmit this over the network layer. These sensors can perform node collaboration in local and wide area networks to be analysed at a later stage by the application layer 18.
– Network (or Information Systems) Layer serves as the transport layer for data routing and transmission to different devices over the Internet. This layer operates by using technologies such as WiFi, LTE, Bluetooth, 3G, Zigbee etc. In the case of smart meters, the ZigBee communication protocol, which has been defined under the IEEE 802.15.4 standard, is used for such devices 15. Being that ZigBee was built with low powered devices in mind, the ability for such devices to communicate at a distance is limited.
– Application (or User) Layer validates the integrity and confidentiality of the data being received while analysing and processing such information to make sure that the right decision is taken when issuing commands to be executed by the physical units 21. This decision-making process would be enabled through human-computer interaction whereby information is aggregated and parsed through complex algorithms 17.
According to 22, there are three core functions that CPS requires to ensure that future demands for the application are met. These include real-time processing, storage, and accessibility. These are the following:
– Real-time processing: CPSs need to ensure that they can run autonomously and that the information is transmitted bi-directionally to ensure that the desired tasks/requirements are processed and met on time 8. Unfortunately, due to the increased complexities of current and future applications and due to the limited resources inbuilt into these devices (such as memory size, battery capacity and processor speed), these demands are seldom met.
– Storage: the latest advances in CPS technology have substantially increased data storage requirements. These systems, however, are not general purpose machines and often have limited capabilities, including limited memory and storage availability.
– Accessibility: wireless technologies have brought about innovative advances in the CPS mobility space. They became deployed in applications where mobility is a necessity. An example of this includes the challenges in protocol design and performance, which have been on the rise since the inception of Plug-in Hybrid Electric Vehicles (PHEV), being that these devices are constantly on the move. These challenges mainly include the temporary or permanent inaccessibility of these devices. Mobility support is therefore key.
The following section describes the main concepts of cloud computing and highlights how the CPS concerns mentioned above can be met.
B. Cloud Computing
The NIST Special Publication 800-145 definition of cloud computing “is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction” 23. In its simplest form, cloud computing is the provision of computing services (i.e. processing, storage, networking, analytics, etc.) over the internet (i.e. the cloud).
The whole concept of cloud computing is older than one might think. In the 1960s, John McCarthy had suggested the idea that computational devices can act as a utility provider, like water and electricity 24. At the time, mainframes were expensive and to make the most out of these devices, a new practice was created (i.e. to allow mainframe CPU timesharing from different terminals or access points). This is also referred to as time-sharing and is viewed by many as a core concept of cloud computing.
The NIST Special Publication 500-299 (Draft) highlights the actors involved in the provision of the cloud service which include 25 (see Fig. 2 below):
1. Service Consumer: the individual, group or company provisioned with the cloud service by the service provider.
2. Service Provider: the entity providing the cloud service (ex. Microsoft, Amazon, Google, etc.).
3. Carrier: the internet service provider which ensures that the service being provided by the Service Provider reaches the Service Customer.
4. Broker: an individual or business that acts as an intermediary between the service customer and the service provider during negotiations.
5. Auditor: the Services Provider’s systems are audited by an independent auditor who would obtain objective evidence to substantiate that the data is being held in a secure and trusted environment.
Compared to companies that have all the physical and logical infrastructure available in-house, there are three distinct types of services that cloud computing provides 23, 24, 8 (see Fig. 3). These are the following:
– Infrastructure-as-a-Service (IaaS) which is a virtualisation model providing a hardware on-demand platform to customers. Services also include monitoring of resources, logging access, load balancing and ensuring storage resilience such as backup, replication and recovery. This enables organisations to become leaner and agiler in that the option to buy, manage and configure the underlying infrastructure of the organisation is being dealt with by the Service Provider.
– Platform-as-a-Service (PaaS) builds on the IaaS service by adding the development tools to support the customer. Users have access to the application hosting environment which includes services such as session management, device integration, sandboxes and content management. PaaS allows customers to build and delivering of Web-applications without downloading and installing the software required to produce them.
– Software-as-a-Service (SaaS) supports all the areas covered by PaaS including applications in the cloud environment. This feature of cloud computing is accessible through Web-browsers. The SaaS service provides the ability for the consumer to run the application without the need to have it installed locally on the user’s computer.
The above cloud service types can be further categorised as private, public, community, and hybrid. Private clouds offer the highest security and control levels through the management of a cloud infrastructure within the same organisation or by a third party. On the other hand, public clouds are held by service providers and open for public use. Such public clouds include services the likes of Microsoft Azure 26 and Amazon AWS 27. A community cloud is similar to the private cloud-enabled to provide cloud services to similar groups of organisations. Hybrid cloud is a combination of two or more cloud computing techniques (i.e. Public, Private and Community).
For Cloud infrastructures to be feasible, they must have the following main characteristics available 8,22,28:
– Dynamic Provisioning: cloud environments must be scalable (increase or decrease workload) according to the resourcing needs of the consumer.
– Availability and reliability: of the cloud system are very important (given there is no issue with the carrier). Access to the hardware and software components should perform correctly and as expected. As such, the reliability of the cloud is a major concern given the distributed nature of cloud environments. Verification, validation and testing techniques should be used to ensure reliability of these systems.
– Security: cloud environments have security risks that need to be managed. Given the multi-tenancy nature and the sensitivity of the data being stored on cloud infrastructures, Virtual Memory Manager vulnerabilities could leave the system open to new attack vectors that may be exploited by an attacker. Security measures such as authentication, encryption, intrusion detection and prevention systems, trust management, etc., should be carefully designed based on the application requirements.
– Managed Metering: to optimise the service and to provide reporting information, cloud environments provide metering services. Given the dynamic provisioning nature, customers should be billed according to the services used during the billing period.
It has been stated that cloud computing will play an important role in future SG designs 29. The above shows that smart-grids can be supported with a common platform that enables energy management, multi-device integration, information management, layered architecture, and security.