Setty Rajeshwar Rao:19MCS0054: Name
Setty Rajeshwar Rao:19MCS0054: Name
TASK Scheduling:
The need for increased performance of mobile device directly conflicts with the desire for
longer battery life. Offloading computation to resourceful servers is an effective method to
reduce energy consumption and enhance performance for mobile applications.
Today, most mobile devices have fast wireless link such as 4G and Wi-Fi, making cloud
platform a good destination for computation offloading.
Android provides mechanisms for creating mobile applications but lacks a native
scheduling system for determining where code should be executed.
This paper presents Jade, a system that adds sophisticated energy-aware computation
offloading capabilities to Android applications.
Jade monitors device and application status and automatically decides where code should
be executed.
Jade dynamically adjusts offloading strategy by adapting to workload variation,
communication costs, and device status.
Jade minimizes the burden on developers to build applications with computation offloading
ability by providing easy-to-use Jade API. Evaluation shows that Jade can effectively
reduce up to 35% of average power consumption for mobile device while improving
application performance.
Cloud computing can enhance the computing capability of mobile systems by offloading.
However,
the communication between the mobile device and the cloud is not free. Transmitting
large data to cloud consumes much more energy than processing data in mobile device,
especially in a low bandwidth condition.
Further, some processing tasks can avoid transmitting large data between mobile device
and server.
Those processing tasks (encoding, rendering) are as the compress algorithm, which can
reduce the size of raw data before it is sent to server. In this paper, we present an energy
efficient task scheduling strategy (EETS) to determine what kind of task with certain
amount of data should be chosen to be offloaded under different environment.
We have evaluated the scheduler by using an Android smart phone.
The results show that our strategy can achieve 99% of accuracy to choose the right action
in order to minimize the system energy usage.
With a rapid development of embedded systems, high speed wireless networks and could
computing, mobile devices (e.g., smart phone, tablets, wearable devices, etc.) are
increasingly becoming a common stuff of human daily life.
We use mobile devices to do many of our jobs that we used to do on desktop.
Nonetheless, the more mobile devices we have, the less happiness we are with the battery
lifetime.
This is because we are still using the traditional power supplying method and materials.
Computing offloading technique is proposed with the objective to migrate the complex
computation works from resource-limited devices to powerful machines.
Simple task does not take too much time to execute, so it does not need offloading [7].
Complex applications will consume more energy than the simple one.
So in this section we will classify the applications with complex computation task. With the
off loading’s help,
we can put the rendering work on cloud, as shown in After the rendering result is ready,
the data will be sent back to mobile device.
The energy spent on computation part will be saved with an extra cost of data
communication. Sometimes, it is not worth to offload rendering work from mobile client to
server when the data size is big and the network bandwidth is slow.
The mobile device will keep communication with cloud servers for a long time. For some
compression like applications, we would better to do compress work on mobile device than
to do it on the cloud servers. The data size can be reduced after it is processed.
The mobile client has to offload the program code and data to the server. Now, cloud
computing changes this assumption.
Many mobile devices have cloud storage service. Offloading can use the data stored in the
cloud.
This will significantly reduce the energy consumption on data transmission. The execution
workflow is shown in.
The input file of an application could come from local files or remote storage service. The
execution code is only on mobile device. Then, we can choose to offload computation task to
virtual machine or run locally in mobile device. How to store the output result data of the
application is depended by user settings.
Cloud Storage
(&²
Cloud VMs
MIDDLE WARE:
The role of mobile middleware has become increasingly important as diverse platforms and
devices have entered the mobile space.
As a result, many mobile middleware vendors offer development services to deal with a
fast-growing mobile hardware and software market.
Mobile apps are no different, but they also come with additional unique challenges
For example, because mobile apps run on devices with less processing power and memory than a
typical desktop, IT may need to offload more of the processing to back-end servers.
IT often updates mobile app front ends more frequently than back-end systems or the APIs that
facilitate communication, which can complicate connectivity -- especially if app updates are not
concurrent across all the devices.
A mobile app must also be able to work across different connection types, including 4G
networks, public Wi-Fi and corporate networks, which can change as end users change
locations. These changing networks can also lead to intermittent connectivity, which makes
it necessary for apps to have offline connectivity.
Many developers customize their apps to support connectivity to different resources, which
can be a long process.
Middleware platforms can help enable and simplify connectivity between mobile apps
and back-end systems no matter the type of system or its location. Middleware sits
between the back-end resources and mobile apps, abstracting the complexities that
come with connecting to resources. Middleware also uses standards-based
technologies such as Simple Object Access Protocol and REST.
With middleware platforms, developers have a single gateway to back-end systems, which
makes it easier for them to connect their mobile apps to corporate resources.
They don't need to customize each version of an app to accommodate the requirements of
the individual systems.
IT admins can modify those systems without breaking all the applications; they only need
to update the middleware.
But middleware does more than just manage connectivity.
A comprehensive platform also handles issues such as scaling, load balancing, concurrent
processing and transaction management.
In addition, the platform ensures that the connections and back-end systems are protected
and secure, incorporating authentication, encryption and other protection technologies as
necessary.
Some middleware platforms also make it possible to implement custom logic that carries
out specific operations based on app requests, such as tailoring data to specific locations.
If an organization is deploying a few mobile apps and connectivity to the back-end
resources is simple and straightforward, middleware might be overkill.
But a more complex operation may require significant effort to implement all the
capabilities that middleware provides
On the other hand, an organization might need a middleware platform that also
supports more traditional types of apps and services.
The mobile environment imposes critical requirements such as accessibility, reach ability,
adaptability, trustworthiness, and universality.
To comply with such requirements, industries came up with what are now known as
middleware platforms, including Java ME, Symbian, .NET, Android and the I Phone.