In recent years, there has been a huge growth in mobile applications. More mobile users are able to access Internet services via their mobile devices e.g., smartphones and tablets. Some of these applications are highly interactive and resource intensive. Mobile applications, with limited storage capacity, slow processors and limited battery life, could be connected to the remote servers in clouds for leveraging resources. For example, weather applications use a remote service that collects weather data and make this data available through a well-defined API. This represents a static partitioning of functionality between mobile devices and a remote server that is determined at run-time.Regardless of the network distance between the cloud infrastructure and the mobile device, the use of a remote service is well suited for mobile device applications with relatively little data to be transferred. However, long distances between a mobile device and remote services make this approach unsuitable for applications that require larger amounts of data to be transferred and/or have a high level of interactiveness with the user This includes mobile video communications (e.g., Skype, Face-Time, Google-Hangout), gaming applications that require sophisticated rendering and cloud media analysis that can be used to offer more personalized services. The latency incurred with this architecture makes it difficult to support real-time and interactive applications. A related problem is that the static partitioning strategy is not always suitable for all network conditions and inputs. For example, let us consider a speech recognition application. The performance depends on the size of the input and the type of connectivity to the backbone. Another challenge is that the communication medium between the mobile application and the remote service includes wireless links. Wireless links are more error prone and have less bandwidth than wired links. Often a mobile application may be disconnected.One approach to addressing these challenges is the use of a proxy. A proxy is computing power that is located at the network edge. This allows it to address problems with latency. It is possible for a proxy to have services that allow for offloading tasks from either the cloud or the mobile device and to deal with communication challenges between the mobile application and the mobile device.This work proposes a proxy-based system that acts as a middleware between the mobile application and the remote service. The proposed middleware consists of a set of proxies that provide services. The proposed middleware includes services for proxy discovery and selection, mechanisms for dealing with balancing loads on proxies and handoff. A prototype was developed to assess the effectiveness of the proposed proxy-based system.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.