A system is complex that it comprises multiple views such as strategy/version n, strategy/version n+1, concept, analysis, design, implementation, structure, behavior, and input/output data views. Accordingly, a system is defined as a set of interacting components forming an integrated whole of that system’s multiple views.
Since structure and behavior views are the two most prominent ones among multiple views, integrating the structure and behavior views is a method for integrating multiple views of a system. In other words, structure-behavior coalescence (SBC) results in the coalescence of multiple views. Therefore, it is concluded that the SBC architecture is so proper to model the multiple views of a system.
In this book, we use the SBC architecture description language (SBC-ADL) to describe and represent the systems architecture of Smart Healthcare Cloud Applications and Services IoT System (SHCASIS). An architecture description language is a special kind of system model used in defining the architecture of a system. SBC-ADL uses six fundamental diagrams to formally grasp the essence of a system and its details at the same time. These diagrams are: a) architecture hierarchy diagram, b) framework diagram, c) component operation diagram, d) component connection diagram, e) structure-behavior coalescence diagram, and f) interaction flow diagram.
Systems architecture is on the rise. By this book’s introduction and elaboration of the systems architecture of SHCASIS, all readers may understand clearly how the SBC-ADL helps architects effectively perform architecting, in order to productively construct the fruitful systems architecture.
In the second part of this article series, we discussed BLE GAP roles, possible states in each of the roles and how to optimise power consumption in the advertising state.
In this part, we will talk how to optimise power consumption in scanning and initiating states.
Power optimisation in the scanning state
Scanning state is used by observer devices who listen to the advertising packets. So, power optimisation in scanning state is the key to saving power in observer devices. Power consumption in scanning state depends on the ratio of scanning window to scanning interval, duplicate filtering, whitelist and receiver gain.
The device consumes radio current continuously during the scanning window. As discussed in the first part of the series, continuous current of high magnitude reduces battery capacity significantly and hence shall be looked into more carefully in such designs. Devices with small scanning window to scanning interval ratio (with small scanning window values) consume less average current. But, it also reduces the chances of receiving an advertisement packet quickly. So, this parameter shall be selected appropriately based on the application.
Let us take an example where the observer is intended to receive sensor data from a wireless sensor node that is broadcasting measured data. Wireless sensor node usually reads the data from sensors at fixed intervals and advertise the data once in all advertising channels. Let’s say the advertising interval is ‘x’ milliseconds. Whenever device reads the sensor data, it updates the advertising packet. To receive the advertising packets from this wireless sensor node, observer’s scanning window, wireless sensor node’s advertising event and the channel number of both must overlap. To reduce the power consumption on the observer side, the device has to be configured in such a way that scanning window is shortened and also gets aligned with the advertising event.
After power ON, scanning window may not be aligned with the advertising event. To get advertisement packet quickly for the first time, set a large scanning window that increases the chances of receiving advertising packet (Figure 1). Once observer receives the advertising packet for the very first time from the broadcaster, stop scanning and restart the scanning after ‘x-y’ millisecond where ‘y’ is around 1 milliseconds (‘y’ is the time required for the device to start scanning window when start scanning command is issued from application). Set scanning window to ’13+y’ milliseconds (to accommodate adv random delay of 10 milliseconds and time taken to advertise in all channels in an advertising event) and set the scanning interval to ‘x-y’ milliseconds as shown in Figure 1. Though the scanning window is set to ‘13+y’ milliseconds, once the advertisement packet is received, scanning shall be stopped immediately and restarted after ‘x-y’ milliseconds. This helps to reduce the scanning window and current consumption.
Figure 1: Aligning scan window with advertising event after power on
Every time observer receives an advertising packet, it shall follow the same process as explained above. In case observer fails to receive an advertising packet during any scan interval, scanning window shall be increased by 10 milliseconds in every consecutive interval until it receives an advertising packet or scanning window reaches the limit set by the application (Figure 2). This example assumes application know when scanning window is over so that scanning can be stopped and restarted with updated scanning window and timings can be maintained to receive advertising packet in next scanning interval. If the application doesn’t know when scanning window ends then restart scanning with initial scanning window and scanning interval values instead of increasing scanning window size as shown in Figure 2.
Figure 2: Adjusting scanning window after missed advertisement packet
However, the above method will not work if the observer has to receive sensor data from more than one broadcaster. To receive advertisement packets from multiple broadcasters, a time synchronisation mechanism shall be implemented between all the broadcasters and the observer. This is to help the broadcasters to avoid packet collision and let the observer receive a packet from each device without fail. The observer can start scanning few milliseconds before the time at which a particular broadcaster will advertise. Time synchronisation can be done by either broadcasting the current time stamp from one of the devices and all other devices get synchronised by receiving the current stamp in the broadcasted packet and updates the local timer or establishing a connection with the peer device which is used for synchronising the local time after connection. However, connection based method is a time and power consuming method. This time synchronisation has to be done regularly to avoid the drifts due to clock inaccuracies. To implement time synchronisation method, senor nodes/broadcasters should be capable of either acting as observers and broadcasters or peripherals to establish connections.
The above suggestions are under the assumptions that advertising interval is known. For applications where system designer doesn’t have control over broadcasters, values of scan windows and scanning interval based on your power budget and how quickly you want to get the packet.
Duplicate filtering and whitelist features can help saving some power in observer devices. Duplicate filtering filters duplicate advertisement packets for application layer which helps in reducing CPU processing time. Whitelist helps in filtering devices from which device does not want to receive advertising packet. So, if a device is not in the whitelist, application layer does not need to be involved. In Bluetooth Low Energy v4.2 the resolving list is maintained in the link layer that is used to resolve Resolvable Private Addresses (RPA) and hence can resolve and filtered RPA as well at the link layer and hence save more power.
Receiver gain directly impacts peak and average power during scanning state and is the most important parameter to be tuned while optimising power consumption in scanning state Most BLE devices allow to select receiver gain that in turn determines receiver sensitivity and hence gain. If a broadcaster is in close proximity to the observer or transmitting at high power, receiver gain can be set to minimum to save power.
Power optimisation in Initiating state
The initiating state is used by a central device to scan for a particular peripheral device and establish a connection. Current consumption during an initiating state in a central device is similar to scanning state in the observer. However, a central device is in the initiating state for a very small period of time compared to scanning state in an observer. The ratio of scanning window to scanning interval should be higher to quickly get and advertisement packets and send a connection request. One can set scan window as following:
Scan window = scan interval = advertising interval+10 ms
It helps in establishing the connection faster. But this approach doesn’t help in reducing current if advertising interval of the peripheral is large. Current consumption during initiating state depends on advertising interval and type of advertisement as well. If the peripheral is doing high duty cycle directed advertisement, central can receive the advertisement packets quickly that helps in reducing time to establish a connection and current consumption during initiating state. If a central device is able to receive first advertisement packet and send connection request quickly, it helps reducing peripheral’s power consumption as well. So, if the central device operates on a rechargeable battery or wall powered and can afford a higher power consumption, it is better to keep high scanning window to scanning interval ratio to help reduce power consumption at peripheral side.
Similar to scanning state, receiver gain effects the current consumption by radio during initiating state. So, receiver gain shall be selected based on peripheral’s proximity and transmit power.
In a nutshell, to optimise power consumption in scanning and initiating states, receiver gain shall be set to the minimum possible if allowed by the device and application. Appropriate selection of scanning interval and scanning window to scanning interval ratio are key to decide power consumption in these two states. Duplicate filtering, whitelist, resolving list is also very useful in optimising power in scanning states
In part 4 of this series, we will talk about power optimisation in connection state.
The post Improving battery life in Bluetooth Low Energy Connected Things – Part 3 appeared first on Internet Of Things | IoT India.
In a recent study in 2016, Gartner estimates that 6.4 billion connected devices will be used by companies worldwide. By 2020, it will top 20 billion. The increasing use of IoT devices in our corporate networks brings the promise of unparalleled coordination and productivity. But it also brings the promise of multiplied threat vectors and vulnerabilities.
Companies must react to this changing environment. The old methods of data protection relied on defensible perimeters around large, corporate data centers. More companies, however, are adopting mobile, IoT, and cloud technologies that live outside the data center. The perimeter is now becoming a thing of the past.
Below are seven strategies to help equip the enterprise business meet the challenges of the current (and future) technology landscape. This, by no means, is exhaustive. Rather, they are stepping stones to create a defense-in-depth model as you secure your sensitive data.
The First Thing to Realize: There is No Perimeter
Back in 2014, Google laid the groundwork for looking at data protection in a whole new way with BeyondCorp, their internal data security initiative, co-authored by Rory Ward and Betsy Beyer. Here is part of their opening statement:
The perimeter security model works well enough when all employees work exclusively in buildings owned by an …
- Your quick guide to implementing TensorFlow in your day-to-day machine learning activities
- Learn advanced techniques that bring more accuracy and speed to machine learning with the help of this cookbook
- Upgrade yourself to the second generation of machine learning with this guide on TensorFlow
TensorFlow is an open source software library for Machine Intelligence. The independent recipes in this book will teach you how to use TensorFlow for complex data computations and will help you gain more insights into your data than ever before. You’ll work through recipes on training models, model evaluation, sentiment analysis, regression analysis, clustering analysis, artificial neural networks, and deep learning, each using Google’s machine learning library TensorFlow.
We’ll start with the fundamentals of the TensorFlow library and you will learn about variables, matrices, and various data sources. Moving ahead, you will get hands-on experience of Linear Regression techniques with TensorFlow. The next chapters cover important high-level concepts such as neural networks, CNN, RNN, and NLP through real-world examples in every recipe.
Once you are well versed with the TensorFlow ecosystem, the last chapter will teach you to take it to production.
What you will learn
- Become familiar with the basics of the TensorFlow machine learning library
- Get to know Linear Regression techniques with TensorFlow
- Learn SVM’s with practical hands-on recipes
- Implement neural networks and improve predictions
- Apply NLP and sentiment analysis to your data
- Master CNN and RNN through real-world recipes
- Take TensorFlow into production
About the Author
Nick McClure is currently a senior data scientist at PayScale, Inc. in Seattle, WA. Prior, he has worked at Zillow and Caesar’s Entertainment. He got his degrees in Applied Mathematics from The University of Montana and the College of Saint Benedict and Saint John’s University.
He has a passion for learning and advocating for analytics, machine learning, and artificial intelligence. Nick occasionally puts his thoughts and musing on his blog, fromdata.org, or through his twitter account, @nfmcclure.
A few standards are starting to come together, but it looks like the battles will go on for a few more yearsA few brave souls predict internet of things standards will start to gel this year, but…
Outgoing FCC chairman Tom Wheeler urges his successors not to undo controversial open internet order, which he says is key to a vibrant cloud computing marketplace.
““As everything goes…
1Sheeld+ is the updated version of 1Sheeld, allows you to use your iPhone, iPad and Android devices as a multi-purpose Arduino shield.Experience over 40 Arduino shields on your iPhone and Android
Works with iPhone 4S and later generations (iOS 9 and above) and Android 4.3 and above devices
Compatible with most of the Arduino boards you love including Uno, Mega and Due
Includes sensor shields, input/output shields, communication shields and social media shields
Uses a standard Bluetooth module to HM-10 (BLE 4.0)
Big Data processing and analysis are penetrating the healthcare industry further and further. Telemedicine, EHR, wearables, and Internet of Things getting more and more popular, the medical sphere is accumulating more and more healthcare records. To make this data useful, practitioners need a convenient access to the information, as well as the ability to easily interpret and interact with it. So, let’s see how the medical specialists use Big Data approaches.
Electronic Health Records
EHR is real-time electronically-stored information about a patient (demographics, allergies, test results, medical history, etc.) in a digital record. The benefit it brings is clear: less paperwork, more control over data, an authorized instant access to it of all the clinicians involved, and automated workflow.
Wearables have already conquered the consumer electronics market: they are used by millions of people. IDTechEX expects the wearables market to grow to $40 billion in 2018. The devices can not only track the number of steps a person makes per day but also monitor chronic diseases (Parkinson’s, diabetes, heart diseases) and send the information directly to the medical specialists. In such a way, loads of healthcare information is accumulated and doctors get large healthcare databases that can be used in the treatment …
The submission deadline is March 5, 2017.
Event schedule: July 23 – 27, 2017 – Nice, France
From Internet of Thinks (IoT) to Internet of People (IoP) and Internet of…