Enhancing Mobile-Cloud Computing with Autonomous Agents Framework

Slide Note
Embed
Share

Autonomous Agents-based Mobile-Cloud Computing (MCC) refers to moving computing tasks to powerful centralized platforms in the cloud, offering advantages like extending battery life and dynamic resource provisioning. However, an inflexible split of computation between mobile and cloud platforms leads to sub-optimal performance. A solution lies in utilizing autonomous agents with self-protection and self-evaluation capabilities to achieve optimal performance and security in MCC frameworks. Challenges include interoperability, efficient computation offloading, security vulnerabilities, and real-time response requirements.


Uploaded on Sep 12, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

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 1

  3. Research Problem In MCC, an inflexible split of computation between the mobile and cloud platforms causes 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. 2

  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: 1. Real-time response under intermittent network connection 2. Minimum communication cost with mobile platform 3. Limited computation overhead 3

  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. 4

  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: 1. Process suspension/new process creation 2. Process conversion into a message with all state information 3. Message routing to destination server 4. Message reconstitution into executable 5. Execution continuation with next instruction 5

  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 6

  8. JADE Agent Development Environment 7

  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 8

  10. How to Construct Autonomous Application Modules 9

  11. 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 P2 P3 Move to HostA Move to HostB 10

  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: 11

  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 Atrix 4G (1 GHz dual-core, 1 GB RAM) with Android 2.3 vs. AAMCC, under average speed Wi-Fi network 12

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

  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 14

  16. Effects of Context on AAMCC Face recognition with local-only data, 32-picture set Face recognition with local-only data Instance Memory Core s 1 1 2 8 Small Medium Large 2x large 1.7 GB 3.75 GB 7.5 GB 30 GB Multi-threaded NQueens returning # of solutions 15

  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 16

  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 17

  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) 18

  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 19

  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) 20

  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 21

Related