The Cloud4Home project strives to enhance services and service delivery by moving from the current "in the cloud" vs. "at the edge" model of cloud computing to a hybrid model in which services can easily leverage both types of resources.
Concurrent with the rapid gains in popularity of cloud computing facilities and infrastructure is an even more impressive continued increase in the capabilities of the end devices used in the Internet's periphery. In fact, major hardware manufacturers are releasing new end devices as frequently as every six months, whereas server systems typically experience a multi-year replacement cycle. This raise the interesting challenge of how to best combine cloud-provided services, like those offered commercially, with services that can efficiently run on consumer devices like smartphones, iPads or netbooks, laptops and desktops nodes, and game consoles. In particular, purely end-point based solutions cannot take advantage of the large storage and computational capacities present in large scale datacenters. Conversely, current "thin client" models in which end devices "simply access the Internet" can suffer from high and variable delays in accessing and using remote resources. Preferable to either extreme would be a solution that (1) can leverage the lower costs of using local resources and exploiting locally available state and avoid potential issues with data privacy or security for cloud-based operation, while at the same time (2) utilize Internet resources when those are not encumbered by undue costs like high latency or undue communication overheads.
The specific technical requirements for such enhanced services include: -jointly using remote cloud platforms with local, nearby resources available in the home, office or other "private" environment; -decoupling the physical location of state and service execution from the applications that interface with such services/state, and -exposing higher-level "properties" of the diverse capabilities of the aggregate resources and then use this heterogeneity to better meeting application requirements and satisfy service policies.
To achieve these goals, this project introduces the system-level abstraction of resource containers, which represent pools of resources in the Cloud4Home environment tagged with specific properties or features. Resource containers will be realized for and evaluated with representative @home and server systems and with services that combine computational with storage needs. If successful, the Cloud4Home prototype can be a valuable vehicle to explore the myriad of other challenges in these environments - from dynamic resource discovery to security and privacy.
Concurrent with the rapid gains in popularity of cloud computing facilities and infrastructure is an even more impressive continued increase in the capabilities of the end devices used in the Internet’s periphery. These devices rely on cloud backend services to support diverse client applications, including emerging interactive, latency-sensitive and data-rich applications, like assisted living technologies, smart and proactive health, self-driving cars, solutions for smart cities, and end user-personalized applications based on emerging devices like Google Glass or EEG headsets. Meeting the requirements of such applications with existing device-remote cloud model is inadequate, due to the prohibitive latency variability that is inherent in remote-cloud interactions, as well as due to the bottlenecks this will create in the Internet and remote datacenters alike. In constrast, this project developed solutions that will permit the aggregate use of resources "at the edge", in homes, offices, or elsewhere in the end users' environment, for such future services. The resulting edge cloud technologies allow (i) dynamic creation of edge cloud assemblies, consisting of mix of hardware resources or service components present at the edge or in remote clouds, and (ii) flexible and dynamic service configuration across such distributed and highly diverse infrastructure components. Service composition is goverened by both resource availability (e.g., battery life, network bandwidth or cost), as well as end user's policies, context and intent. (iii) The later gave rise to novel system level abstractions -- intent, context and competence -- that, unlike in existing traditional cloud solutions, are needed in these highly diverse edge environments to support the dynamic reconfiguration and management of these more end-user-facing infrastructures. (iv) Important concerns regarding access control and resource sharing are addressed in a scalable manner by leveraging end-user information otherwise available in widely-used social networks like Facebook and LinkedIn. (v) The project demonstrated the impact of the developed technology through development of several innovative application benchmarks and use cases that examplify future highly personalized, data-rich and interactive client services. (vi) This work also identified that the increase of the number and diversity of client devices at the edge, comes with a corresponding rapid increase in apps for such devices, and that the pure service of app distribution -- downloads for new installs and app updates -- will create a significant bottleneck in the device-cloud ecosystem. The edge cloud solutions developed under this award are suitable for addressing future challenges surrounding app distribution as well. The outcomes of this research are dissemminated through multiple publications and presentations at industry and academic venues. During this project, numerous students, including undergrads and under-represented minorities, gained experience working with systems software and application stacks for client devices -- a sought after skill by future employers. Student engagement was facilitated through special projects in existing undergraduate and graduate level courses, and through thesis-related research activities. The research also created new collaborations among the PI and researchers in other areas of Computer Science, as well as help seed new industry programs related to the project.