The SWITCH project (Software Workbench for Interactive, Time Critical and Highly self-adaptive Cloud applications) addresses the urgent industrial need for developing and executing time critical applications in Clouds.Time critical applications such as disaster early warning, collaborative communication and live event broadcasting can only realise their expected business value when they meet critical requirements for performance and user experience.
The SWITCH Interactive Development Environment (SIDE) subsystem provides interfaces for all user- and programmer-facing tools, by exposing a collection of graphical interfaces and APIs that tie SWITCH’s services to a Web-based environment. SIDE will be engineered using fully responsive HTML5 on the front end, providing interactivity and end-user device portability, and the back-end Web services (hooks) and APIs will be constructed using Python and tools such as Django, Flask, or similar.
The very high requirements on network and computing services, particularly for well-tuned software architecture with sophisticated data communication optimisation, mean that development of such time critical applications is often customised to dedicated infrastructure, and system performance is difficult to maintain when infrastructure changes.This fatal weakness in the existing architecture and software tools yields very high development cost, and makes it difficult fully to utilize the virtualised, programmable services provided by networked Clouds to improve system productivity.
The project aims at improving the existing development and execution model of time critical applications by introducing a novel conceptual model (application-infrastructure co-programming and control model), in which application QoS/QoE, together with the programmability and controllability of the Cloud environments, can all be included in the complete lifecycle of applications. Based on this conceptual model, SWITCH provides an interactive environment for developing applications and controlling their execution, a real-time infrastructure planner for deploying applications in Clouds, and an autonomous system adaptation platform for monitoring and adapting system behaviour.
The SWITCH consortium has well-balanced partners with complementary expertise from both academic and industrial backgrounds. By demonstrating the software using diverse use cases, the consortium specifically aims at exploitation of the business potential of the SWITCH results.
The Dynamic Real-time Infrastructure Planner (DRIP) subsystem provides services for defining customised virtualized runtime environments based on the data flow and quality constraints of an application that the developer assembled in the SIDE subsystem. Besides automatic planning on the virtual runtime environment, the developer can also limit the source provider(s) for DRIP or even provide an abstract runtime environment.
The Autonomous System Adaptation Platform (ASAP) subsystem provides tools and services for monitoring: the application performance measured against selected metrics (quality attributes), and the quality level that the runtime environment is receiving from the resource provider(s). Based on the monitoring information, the ASAP subsystem diagnoses the runtime status of the application, and autonomously takes action to adapt the system behaviour if some quality attributes fail to match the operational constraints.
Our use case works without a management component, every component can interact with others components in a autonomous way, the data flow is accomplished without an extra logic, only thanks to linking the components (SIDE must accomplish this task).
The following steps detail a basic data flow in our infrastructure:
1. SIP VoIP call from Internet enters into the UC infrastructure through Proxy-Edge (security layer).
2. Proxy-Edge pass through the call to Proxy-Core.
3. Proxy-Core checks source user credentials against authentication DDBB.
4. In success access, Proxy-Core pass the call to cluster of VoIP servers to process the call.
5. At last, our users can talk together.
Implementation cases (Simulation mid/Jan, Call center now. )
CU: composition of the application QoS at different levels (individual component or multi components)
UvA: Simulation (High performance/Infrastructure), Call center scheduling, location awareness planning,
UL: Call center (Load balance, time range, knowledge base etc.)