1 / 22

Autonomous Agents-based Mobile-Cloud Computing

Autonomous Agents-based Mobile-Cloud Computing . Mobile-Cloud Computing (MCC). MCC refers to an infrastructure where the data storage and data processing can happen outside of the mobile device.

liona
Télécharger la présentation

Autonomous Agents-based Mobile-Cloud Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Autonomous Agents-based Mobile-Cloud Computing

  2. Mobile-Cloud Computing (MCC) • MCC refers to an infrastructure where the data storage and data processing can happen outside of the mobile device. • Mobile-cloud applications move computing into powerful and centralized computing platforms located in clouds. • Advantages: Extending battery lifetime, improving processing power, increasing availability, dynamic resource provisioning... • Applications: Augmented reality, security/emergency, mobile healthcare, mobile gaming, mobile commerce…

  3. Research Problem • In MCC, an inflexible split of computation between the mobile and cloud platformscauses sub-optimal runtime performance. There is need for a mobile-cloud computation framework that achieves optimal performance under varying runtime conditions, without sacrificing security. Autonomous agents, when augmented with self-protection and self-performance evaluation capability, are effective tools for high-performance, secure MCC.

  4. Challenges • Interoperability and standardization • Efficient and effective computation offloading: • Variable bandwidth • Mobile service availability • Difficulty of runtime conditions estimation • Security: • Multi-tenancy in cloud causes vulnerability • Offloaded code prone to tampering • End-to-end security of mobile code at risk Any mechanism needs to satisfy: Real-time response under intermittent network connection Minimum communication cost with mobile platform Limited computation overhead

  5. AN AUTONOMOUS agents-BASED computation offloading FRAMEWORK FOR MCC (AAMCC) • P. Angin, B. Bhargava. “An Agent-based Optimization Framework for Mobile-Cloud Computing,” Journal of Wireless Mobile Networks, Ubiquitous Computing, and Dependable Applications, Vol. 4, No. 2, 2013.

  6. Mobile (Autonomous) Agents • A mobile agent is a software program with mobility, which can be sent out from a computer into a network and roam among the nodes in the network autonomously to finish its task on behalf of its owner. • Mobile agent migration follows these steps: • Process suspension/new process creation • Process conversion into a message with all state information • Message routing to destination server • Message reconstitution into executable • Execution continuation with next instruction

  7. Why Mobile Agents for MCC? • Agents can provide better support for mobile clients (reduced network communication) • Agents facilitate real-time interaction with server • Agent-based transactions avoid the need to preserve process state • Agent-based modules are capable of moving across different platforms transparently • Agent-based modules can be augmented with self-protection and performance evaluation capability

  8. JADE Agent Development Environment

  9. AAMCC Components • Autonomous application modules: Chunk of application code packed in a mobile agent, that is executable on a cloud host. • Cloud directory service: Maintains an up-to-date database of VMIs available for use in the cloud • Cloud hosts (VMIs): Host containers of the mobile agents sent to the cloud • Offloading manager (execution manager): Makes the decision regarding the execution platform of the different program partitions More later

  10. How to Construct Autonomous Application Modules

  11. Migrate M2 AAMCC in Action Cloud Cloud Directory Service HostA Cont.A R2 Get cloud host list HostA, HostB Mobile HostB Execution Manager R3 Cont.B Result? App: P1 Move to HostA P2 Move to HostB P3

  12. Experiments with AAMCC Application 1: Face Recognition • Given the picture of a person, identify the most similar face to it in a set of pictures • Android 4.2 device emulator vs. AAMCC, under average speed Wi-Fi network With online data: Local-only data:

  13. Experiments with AAMCC (cont.) Application 2: Sudoku • Given a Sudoku puzzle with a given list of initially filled cells, find all possible solutions • Motorola Atrix4G (1 GHz dual-core, 1 GB RAM) with Android 2.3 vs. AAMCC, under average speed Wi-Fi network

  14. Experiments with AAMCC (cont.) Application 3: NQueens Puzzle • Given an NQueens puzzle for an N x N board, find all possible solutions • Motorola Atrix4G device with Android 2.3 vs. AAMCC, under average speed Wi-Fi network Number of solutions: All solutions:

  15. Elements of Context in MCC • User preference • Device context: • Device characteristics (memory, processor etc.) • Energy • Workload • Quality of service: • Data connection type, bandwidth • Cloud resource availability • Situational context: location, time, sensors… Our focus

  16. Effects of Context on AAMCC Face recognition with local-only data, 32-picture set Face recognition with local-only data Multi-threaded NQueens returning # of solutions

  17. Offloading Decision-Making • Easy to make offloading decision for a single application module: if (cost_to_offload < cost_to_execute_locally) then offload else execute on device cost_to_offload = time to send code and data to cloud + time to get response from cloud + time to execute in cloud • Not so easy to decide for multipleinter-dependent application modules

  18. Multi-Component Offloading Decision-Making Offline steps: • Identify dependencies between offloadable application modules • Construct execution tree based on dependencies • Insert cost statistics into tree Online steps: • Calculate offloading costs • Run cost optimization algorithm

  19. Application Execution Tree • Represents interactions between modules • Root of the tree: entry node (main method) • If x is the child of y, y invokes x No cyclic dependencies! mx: cost to execute x on device – cost to execute children of x cx: amount of data to transfer to offload x (separate from parent)

  20. Offloading Manager Cost Model Assumption: Execution cost for any module in the cloud is negligible compared to execution cost on device cdx: local execution cost for x ccx: cloud execution cost for x b: available bandwidth xs: set of sub-modules (children) of x

  21. Execution Tree Cost Optimization 0.7 42 (9+1+19<42)? local: offload c=29, local 0.1 (19+.03+.1<0.7)? local:offload c=0.7, offload 19 42 0.6 9 1 19 0.03 123 3 c = 19, local c = 0.03, local c = 9, offload c = 1, offload Depth-first traversal: O(E)

  22. Experiments with Offloading Manager • Synthetic application with 6 offloadable modules • Motorola Atrix 4G + medium AMI on EC2 • Each module has different computation/data transfer requirements

More Related