CSC521 Wearable Computer Report

25
Report on WEARABLE COMPUTER for CSC 521 - ANALYSIS OF OPERATING SYSTEMS AMAIR MAIRAJ ANKUSH PANDIT KRUTARTH MITHAWALLA NICK IPE MATHEW

description

This is a report on the topic wearable computers for the class Operating Systems. Content was prepared by each individual contributor and combined by me.

Transcript of CSC521 Wearable Computer Report

Page 1: CSC521 Wearable Computer Report

Report on

WEARABLE COMPUTERfor

CSC 521 - ANALYSIS OF OPERATING SYSTEMS

AMAIR MAIRAJ

ANKUSH PANDIT

KRUTARTH

MITHAWALLA

NICK IPE MATHEW

RAMAN NARAYANAN

Page 2: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

1. INTRODUCTION TO WEARABLE COMPUTERS

In simple terms, a wearable computer is a computer that could be worn on the body. Wearable

computers could be anything from a small wrist mounted system to a bulky head mounted

display as shown below:

Figure 1

Figure 2

Today, the computers have shrunk from room size to palm size in order to fit better with our

lifestyle. From being just passive accessories such as laptops and personal digital assistant’s,

computers have moved to wearable appliances that form an integral part of our personal

space.

1

Page 3: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

1.1 Features of Wearable Computers:

1. Consistency - One of the most important features of a wearable computer is

consistency. There is always a constant interaction between the computer and the user

and hence there is no need to turn the device on or off.

2. Multi-Tasking - Another feature is the ability to do multi-tasking. It is not necessary to

stop what you are doing in order to use the device. Wearable computer provides

computational support even when the user’s hands, voice, eyes, or attention is actively

engaged with the physical environment.

3. Mobility - Wearable computers must go where the wearer goes. They are always on and

their wearer can access them anytime. The wearable computers must accompany us in

our everyday life and offer help and we need it, even before we ask for it.

1.2 An Example of a Wearable Computer

In most of the applications, a wearable computer is a combination of devices like a belt,

backpack computer, head mounted display, wireless communication hardware, and some input

device such as a touch pad.

2

Page 4: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

Wearable computers have been applied to several areas such as health monitoring systems,

information technologies, and media development and for entertainment purposes.

2. Design of a Conceptual Wearable Computer

Having studied the various types of wearable computers and considering the features that we

discussed, we as a group have designed a wearable computer, which is conceptual.

Our design consists of different blocks, wherein the first block of applications includes a watch,

which would have the feature of a pulse monitor. This would monitor the pulses and provide

the heartbeat rate. It would also help the user in finding out the blood pressure levels. As a

power wearable computer is also a part of this system, it would give suggestions and send

warnings if the levels of the blood pressure increases.

Peripheral-1

In the second block, we have a music controller along with a camera and a remembrance agent.

Remembrance agent is software developed at MIT media laboratory. This software runs

continuously in the background, indexing everything that is stored on the computers hard disk.

It can make suggestions based on the most recent sentence, paragraph, or the input text given.

Let us consider an example wherein the remembrance agent senses the user’s location, filters it

through the existing data, finds that the user has overdue library books, and reminds him that

the books need to given back.

3

Page 5: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

Peripheral-2

The third block would contain the Voice over internet protocol (VOIP) along with a search

option and web browsing.

Peripheral-3

The last block would contain a mobile phone and GPS (Global Positioning System). This

technological combination has already made life simple at a common mans reach, I-Phone, the

most appreciated, which is still topping the wish list of many explains how the combination is a

luxury feature on phone. Based on the similar grounds of I-Phone our conceptual design, will

receive commands as voice commands, which would initialize the GPS in the cell phone. The

carrier ad the hand held device would play crucial roles. The route will be calculated by the built

in GPS and it will be announced out through the speaker of the hand held device.

Peripheral-4

4

Page 6: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

The complete conceptual design is given below.

Finally, we have our sophisticated high-end wearable computer, which consists of the

configuration of a smart computer with a powerful CPU. Each of the blocks explained are

actually peripherals connected to this master computer, which is at its best in terms of storage,

processing rate, memory and most importantly the convenience of being portable.

3. Key Properties

The key properties of a wearable computer are:

1. Near-Transparency: The sensors of the wearable computer should be transparent or

near transparent. Transparency is key to adoption by most users. To achieve real

pervasiveness, sensors should be integrated near-transparently with the users routines

and living environment, including their garment, shoes, accessories, cars, furniture, etc.

Needless to say, sensors should also be “transparent” to the user’s health – they should

5

Page 7: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

not cause allergic responses or induce undesirable health conditions.

2. Favorable Accuracy and Reliability vs. Cost of Operation: The application would obtain

high accuracy and reliability data using relatively inexpensive sensors. The emphasis is

on monitoring, not diagnosing.

3. Secure Communication: Users should be able to choose their desired level of privacy in

parts of or in all collected data with respect to access by relatives and friends, health

insurance providers, and health-care professionals.

4. 4As: This concept relates to “anywhere, anytime, anyone, any device.” The system

should make the recorded data and its analysis available to the user in a 4A-style,

according to user-specified privacy scenarios. Users may choose to store all or parts of

the data on their PCs, independent on-line repository, or on a smartcard

4. Challenges

To provide wearable computing, designers must overcome significant challenges. Some of the

most challenging issues is that of power use and heat dissipation.

4.1 Power use

Power is perhaps the most limiting factor in mobile technology. Wearable computing presents

particular variations of this problem. Ultimately, wearable computers are clothes. A user might

wear a display in a pair of sunglasses, keep a computer in a belt buckle, and have a keyboard

woven into a jacket. When the wearable computer’s functionality is spread among subsystems

distributed over the body, power distribution becomes complicated. If the components’ battery

lives are too short, the user will soon get frustrated with the effort needed to keep the system

powered. One solution is to create long-lasting power supplies. Another possibility is to use

6

Page 8: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

primary chemical batteries, which are relatively long lasting compared to rechargeable ones.

However, large-scale adoption would result in serious environmental disposal issues.

The obvious alternative is secondary batteries. However, rechargeable batteries require that

the user remember to maintain them, which can be a problem. Ideally, recharging the wearable

computer and its peripherals should be implicitly coupled with the normal acts of dressing.

Alternatively, some wearable peripherals could generate power from human actions or from

the phenomena they sense.

4.2 Heat dissipation

When specifying processors for wearables, MIPS per watt are a much more important

parameter than raw processing speed. Devices in contact with human skin should not much

exceed 40⁰ Celsius. In fact, heat dissipation is one of the foremost limiting factors in the design

of high-end laptops, and providing heat dissipation is a source of considerable expense. Designs

must channel heat away from the processor, or else it will suffer thermal shutdown.

With a wearable computer, the user’s thermal environment changes routinely, often to the

computer’s benefit. For example, even a weak airflow can significantly increase heat

dissipation. While walking, the airflow about an arm-mounted computer is significantly

enhanced by the arm’s pendulum-like movement. In fact, the airflow along the forearm is

turbulent in many situations, effectively doubling the heat dissipation of calmer air movement.

Another idea is to use the wearable computer’s close proximity to the human body to aid in

cooling. More aggressive systems might employ thermal regulation via active thermal

reservoirs. For example, cooling systems could exploit the heat capacity of the computer’s

batteries. While charging, users could chill batteries so that the wearable computer could

7

Page 9: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

transfer heat into them during operation. For some batteries, this warmth could increase

battery life.

Careful use of resources might help avoid many heat generation crises for a wearable

computer. For example, developers could write applications for wearable computers with heat

dissipation in mind. The computer can delay disk maintenance, downloads, and batch jobs until

it senses a cooler environment. Depending on perceived user need, a slower network

connection might be appropriate to allow more time for heat dissipation. With such methods,

performance is reserved for user interactions, and the effective average power consumption

can be higher without causing uncomfortable spikes in heat generation.

5. Architecture of the Wearable Computer

8

Page 10: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

5.1 Features of the Real-Time Operating System

The design features that are needed in the wearable computers are very well satisfied by a real

time operating system. A few features of real-time operating systems that are useful for

wearable computers are discussed below.

1) Scheduling

Scheduling is the process of managing the different tasks that are present in the system by as -

signing priorities to the processes and arranging it in such a way that all process complete execu-

tion before the deadline. There are three different states that a task can be in at any point of

time, namely a) running, b) ready, c) blocked. At any point of time it is only one process will

be in the running state and the rest of the process can be either in the blocked state or ready

state.

The tasks that are ready for running are placed in the ready list and the data structure that is

used to store the information about the tasks depends on the number of tasks that are to be

scheduled.

2) Power Management

In case of devices which are operated on battery the energy consumption of the device is defi-

nitely a critical factor which should be considered while designing the applications and operating

system for such devices. There is a lot of research which has been done in the past to reduce the

amount of energy consumed by the device and performing the same operation. One of the

methods is the execution of the processes on multiple supply voltages. In using multiple volt-

ages, the greatest challenge is to allocate the optimum voltage for the processes. When the pro-

cesses are executed at the optimum voltage level there is a drastic reduction in the energy con -

sumption. As far as wearable computers are concerned power management is a very critical is-

sue.

9

Page 11: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

3) Interrupt Handling

Interrupt handling is an important feature of real-time operating system. In an aperiodic envi-

ronment there is always a possibility that a process comes in which should be serviced regard-

less of the priority of the process which is running. These processes are called interrupts and

there should be a protocol to handle such interrupts. In case of wearable computers the inter-

rupt handlers play a vital role for instance let us assume a wearable computer which has got

many applications in addition to heart monitoring. When the wearable computer is running one

of the process which is high priority there can be a situation when the heart monitor reading

should be displayed for it is critical. This particular process is then considered as interrupt and

therefore should be handled properly. Inorder to handle such interrupt there is definitely a need

for interrupt handling.

5.2 Features of the Distributed System

A wearable computer as a whole can have different devices connected to it and each device can

have an operating system running on it. When these operating systems are connected and the

process of one device is executed on the other device they form distributed computing

environment.

There are different features of distributed computing that can enhance the performance of the

wearable computers and some of them are as follows:

1) Resource sharing

In case of distributed computing the resources of different devices can be used together result -

ing in the improved performance. One such situation is using battery power of one device from

another. If the process of one device is sent to other device the battery power that would have

been used otherwise would be saved.

10

Page 12: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

2) Control & Management

In future there can be situations such that not only the devices of the wearable computer are

connected but the wearable computer as a whole is connected to the internet or is connected

to others systems using wireless LAN and the wearable computers can be controlled from re-

mote locations.

6. Power Scheduling

The concept of scheduling in wearable computers should not only take care of the fact that the

tasks complete execution before their deadline but should also take into consideration the

voltage used in scheduling tasks. The main reason for considering the voltage factor is because

wearable computers are small devices and if more number of processes are run, there is a

possibility that the battery power in the device is drained and the device will be switched off.

The energy consumption of the system as a whole can be reduced significantly by the

scheduling decisions. The scheduling and the voltage are related with the fact that different

tasks execute at different voltages. Therefore taking into consideration the tasks along with the

voltage in which the tasks can run a scheduling of the tasks can be done in such a way that it

results in saving energy.

In order to perform voltage scheduling, it is assumed that the processor has variable supply

voltage in runtime.

The scheduling algorithm which is explained in [4] does not take into consideration the time

taken to shift from one voltage level to another voltage level. For example it takes 70micro

seconds to shift from 1.2V to 3.8V on a ipARM processor. This time which takes to move from

one voltage level to another voltage level is spent without performing any task. Even though

11

Page 13: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

the time spent spent is small comparatively the amount of time wasted in the transition from

one voltage level to another can be reduced.

Consider the following scenario that explains about the transition of the voltage levels.

Assume four processes, where each process can be split into different tasks T1,T2,T3,T4 and the

tasks execute in different voltages. The voltages at which the tasks execute and the time

duration for which the tasks execute are given in the diagram below. The voltage is mentioned

above the tasks and the time for which the tasks executes in mentioned below the task and it

can be taken is seconds.

Considering only the voltage and the time taken for the schedule there can be schedule as

below:

12

Page 14: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

It is assumed that the time taken for transition from one voltage to another is same. In the

above schedule the time duration that it for the transition is not taken into consideration. As a

result of which there is a time duration 70 micro seconds for the transition from Process4 -Task

1 to Process2 -Task1, similarly for Process2-Task 1 to Process3 -Task1 and Process3-Task 1 to

Process1 -Task1 resulting in 210 micro seconds. This time wastage can be reduced by taking

into account the time that it takes to move from one voltage level to another voltage level.

The schedule can be like the one as below taking into consideration the time factor that it takes

to move from one voltage level to another voltage level.

13

Page 15: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

In the above schedule the transition takes place just once and the amount of time wasted

without performing any operation is just 70 micro seconds and is decreased significantly from

210 microseconds.

6.1 Algorithm

This is a sample algorithm which takes into account the time factor to change from one voltage

to another voltage. Use the present scheduling algorithm to create schedules

Create two queues: one for Voltage1 (1.2V) another for Voltage2(3.8V)

Push the tasks that execute in Voltage1 to queue1

Push the tasks that execute in voltage2 to queue2

Check the current voltage level

14

Page 16: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

If the current voltage level is Voltage 1

{

Then pick up queue1

Execute all tasks in queue1

When the queue is empty

Pick up queue2

}

Else if the current voltage level is voltage2

{

Then pick up queue2

Execute all tasks in queue2

When the queue is empty

Pick up queue1

}

Fill the queues and repeat above process

15

Page 17: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

7. Distributed Power Management

Given limited energy resources, it is essential to design applications in such a way as to allow

their continued functionality despite scarce energy resources. This relies on achieving self-

management via code migration and on-the-fly handling of error conditions. The system should

be designed in such a way to allow continued functionality despite depleting energy resources

and failing computational nodes and communication links.

During critically low levels of energy resources or increasingly rampant intermittent failures, it is

desirable to re-map application execution from one device to another. Deciding if and when to

perform remapping involves tradeoffs. For example, with low energy resources, remapping

should occur early enough so as to have sufficient energy to complete. Acting too early can lead

to unused energy resources going to waste, while acting too late may result in permanent

failure. Techniques like code migration and remote mapping have been used to implement this.

Code migration remaps executing code to available nodes when the battery depletes past a

predetermined threshold. This energy resource threshold is set conservatively so as to ensure

migration even in the presence of intermittent link failures.

Remote execution is an alternative to code migration. In a system employing remote execution,

each application that will be run on any node in the system must be duplicated on every node

in the system. Using remote execution, applications simply need to transfer their application

state and subsequently transfer control of execution to the destination node at a desired point

in time to complete migration. Transfer of state is inexpensive compared to full application

copying, as the text segment need not be transmitted. This is particularly useful when

communication is prohibitively expensive, as is the case in wireless networks. The disadvantage

is the requirement of ample memory on each device to store every application.

16

Page 18: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

7.1 Proposed Solution

The solution proposed is a means of improving code migration and remote execution by

borrowing ideas from both.

The primary goal is to distribute the time at which migration of application code occurs without

allowing energy resources to fall to a critical threshold. This can be achieved by distributing the

application load among the nodes of the distributed system. As always, some nodes (devices)

will be used more often than others. So it is possible to share the load of these frequently used

nodes with those that are used less frequently. Thus, an energy intensive application will share

its load with other nodes so as to conserve its own energy. This results in more complete usage

of the energy resource. It also has a beneficial impact on the case of catastrophic failures, in

which case the spare node could restart execution.

8. Conclusion

This project has looked into the field of wearable computers. An architecture for a wearable

computer is also proposed. The paper proposes a new power scheduling algorithm that is more

efficient than existing algorithms. The project also proposes a new power management

technique. The efficiency of these two solutions are not tested and so remain as the future

work of this project.

Overall, this project gave an insight into the field of wearable computers and computing. This is

a vast field that has encompassed various disciplines of computing. The progress of wearable

computers indicates a potential future that will involve artificial intelligence and robotics. This is

one discipline that must be constantly investigated.

17

Page 19: CSC521 Wearable Computer Report

CSC521 - Analysis of Operating Systems Wearable Computers

References:

1. Marculescu, D., Zamora, N. H., Stanley-Marbell, P., and Marculescu, R. 2003. Fault-Toler-

ant Techniques for Ambient Intelligent Distributed Systems. In Proceedings of the 2003

IEEE/ACM international Conference on Computer-Aided Design (November 09 - 13,

2003). International Conference on Computer Aided Design. IEEE Computer Society,

Washington, DC, 348.

2. Kirovski, D., Oliver, N., Sinclair, M., and Tan, D. 2007. Health-OS:: a position paper. In

Proceedings of the 1st ACM SIGMOBILE international Workshop on Systems and Net-

working Support For Healthcare and Assisted Living Environments (San Juan, Puerto

Rico, June 11 - 11, 2007). HealthNet '07. ACM, New York, NY, 76-78

3. Quan, G. and Hu, X. 2001. Energy efficient fixed-priority scheduling for real-time systems

on variable voltage processors. In Proceedings of the 38th Conference on Design Auto-

mation (Las Vegas, Nevada, United States). DAC '01. ACM, New York, NY, 828-833.

4. Gruian, F. 2001. Hard real-time scheduling for low-energy using stochastic data and DVS

processors. In Proceedings of the 2001 international Symposium on Low Power Elec-

tronics and Design (Huntington Beach, California, United States). ISLPED '01. ACM, New

York, NY, 46-51.

5. Starner, T. 2001. The Challenges of Wearable Computing: Part 1. IEEE Micro 21, 4 (Jul.

2001), 44-52.

18