A service platform for development deployment and runtime management of real-time online services
1. A Service Platform for Development,
Deployment and Runtime Management
of Real-Time Online Services
Dominik Meiländer and Sergei Gorlatch
University of Muenster, Germany
24th February 2012 S-Cube Industry Workshop, Thales
2. S-Cube Virtual Campus
Relevant Knowledge Model terms:
– Software Engineering Life-Cycle
– Service Adaptation
– Grid & Cloud Computing
Relevant learning packages in Virtual Campus
– JRA-1.1: Designing and Migrating Service-Based Applications
– JRA-1.2: Adaptation and Evolution of Service Based Applications
– JRA-2.3: Service Infrastructure Management
The research leading to these results has received funding from S-Cube,
the European Network of Excellence in Software Services and Systems.
3. Real-Time Online Interactive Apps (ROIA)
Real-Time Online Interactive Applications (ROIA), e.g., online games or interactive
e-learning, are large-scale Internet apps with challenging requirements:
Huge number of concurrent users in a single application instance
(e.g., more than 40.000 simultaneous participants in Eve Online)
Very high update rate of the app state (up to 100 Hz)
Short response time to user actions (0.1 – 1.5 ms)
Variable user load, daytime-dependent
3 / 17
4. ROIA Development and Provision
Clients Clients
Current ROIA development:
Choose a distribution/parallelization concept
Create & maintain a customized run-time monitoring/controlling
Implement trust and security (authentication, authorization, ...)
Optimize for low-bandwidth and high-latency connections
RTF liberates developer from these cumbersome tasks…
4 / 17
5. The Real-Time Framework (RTF)
RTF is a high-level development API & runtime environment that enables:
Simplified app. development via parallelization and distribution techniques.
Hiding and optimizing communication & synchronization (sockets in C++).
Scalable and seamless use of resources (servers).
Service adaptation and QoS for a changing user demand.
5 / 17
6. Real-Time Application Loop
A model for application execution: Real-Time Loop
Operated with high frequency (5-100Hz), in real time
1. Transfer user actions from the clients, receive in the server
2. Process the new game state: apply app logic, move entities
3. Transfer the app state update to the clients
6 / 17
7. Distributing the App State for Parallelism
RTF supports a variety of application state distributions and allows the developer
to combine different distributions
Game World Game World
Single
Game Server
Game Entities (Avatars, NPCs, items)
Basic Single Server Multi-Server Zoning
Game World
[..] instance [..]
servers
[..] [..] shadow entity
active entity
Multi-Server Instancing Multi-Server Replication
7 / 17
8. Combining the Distribution Concepts
RTF supports all three distribution concepts and their combinations
Developer’s task: define zones and their possible replication
RTF’s role: automatically manages distribution, parallel computation of entities
and all necessary communications
– (re)assignment of zones to the servers during runtime in a seamless way for
the developer, e.g., because of overload
– management related tasks, e.g. gathering of monitoring data
8 / 17
10. Case Study: RTF Integration in Quake III
Quake III: Popular commercial FPS game
– Fully fledged, fast-paced game
– Hand-optimized for high performance
and low network traffic
Limitation of Quake III: does not scale
Solution: RTF’s support for scalability
– RTF replaced the network module
of the Quake III game engine
– Quake III was modified for multiple servers
using RTF’s support for replication
Experimental Results:
– In-game response time with RTF is nearly
equal to the original implementation
– RTF can scale Quake III (next slide)
11. ROIA Development and Adaptation
along the S-Cube Lifecycle Model
Two coexisting cycles support each other during application lifetime
Evolution (right cycle):
– Design-time iteration cycle, supporting long-term changes due to, e.g.,
changing user preferences, continuous adaptation actions
– Targeted by RTF
Adaptation (left cycle):
– Runtime cycle addressing adaptation to support short-term changes, e.g.,
daytime-dependent user load
– Targeted by our novel
RTF-RMS (Resource
Management System)
addressing ROIA adaptation
on Clouds (next slide)
12. ROIA on Clouds
ROIA benefit from using Clouds/Infrastructure-as-a-Service (IaaS ):
– Choosing optimal hardware for particular ROIA
– Distribution of ROIA processing on arbitrary number of resources
– Dynamic adaptation of ROIA sessions
– Efficient and economic resource usage
State-of-the-art:
– Cloud platforms offer adaptation services based on generic system
information (e.g., CPU load, bandwidth, etc.)
– Open challenge: Adaptation mechanisms taking into account application-
specific monitoring information & real-time communication QoS
Our RTF-RMS (Resource Management System) provides:
1. Cloud resource allocation: addressing specific challenges on Cloud like
startup times, static leasing periods, etc.
2. ROIA adaptation on Clouds: addressing real-time QoS requirements of
ROIA
RTF-RMS is built on top of the Real-Time Framework (RTF)
12 / 17
13. RTF-RMS: Resource Allocation
Cloud resource allocation in RTF-RMS addresses the following challenges:
Startup time optimization: Cloud resources are started in advance and stored in the
Resource Buffer
Utilization of static leasing periods: dispensable resources are stored in the
Resource Buffer until they are demanded again or their leasing period finishes
Minimizing cost-overhead: analytical model for Resource Buffer size
13 / 17
14. RTF-RMS: Adaptation
RTF-RMS implements adaptation according to the S-Cube Lifecycle Model:
1. Operation & Management: receive monitoring values from RTF
2. Identify adaptation need: check monitoring data against trigger rules
3. Identify adaptation strategy: choose among four different adaptation strategies
4. Enact adaptation: enact the chosen adaptation strategy using RTF
14 / 17
15. RTF-RMS: Adaptation Strategies
RTF-RMS chooses between the following four adaptation strategies:
1. User migration: client connections are
switched seamlessly between two application
servers replicating the same zone
2. Replication enactment: new servers are
added to provide more computation power to a
highly frequented zone by replicating it
3. Resource substitution: running resources are
substituted by more powerful resources
4. Remove resource: dispensable resources are Replication: a single zone is processed
removed by multiple application servers
15 / 17
16. Identify Adaptation Strategy: Example
Monitoring data is summarized in zone reports
Average load is compared with thresholds
– e.g., addResourceThreshold update rate: 25 Hz
16 / 17
17. Experiments
Experimental setup:
– Fast-paced 3D online game
– 260 clients are simulated by bots moving
randomly & shooting at opponents
– update rate should be > 25 Hz
User migration (top picture):
– Avg. update rate increased from
25 Hz to ~100 Hz
Replication enactment (bottom picture):
– Integration in app processing in ~15 s
– Without resource buffer: > 130 s
– Avg. update rate increased from
> 20 Hz to ~100 Hz
Result: RTF-RMS adaptation improves QoS
for a changing number of users
17 / 17
18. Industrial Collaborations
Previous and existing collaboration with industry
– Spinor Gmbh (Germany): game engines
– Darkworks (France): video games
– BMT Cordah Ltd (UK): e-learning/training
Looking for new industrial scenarios and
collaborations
– Interactive training scenarios requiring real-
time communication
– High-performance real-time interactive
simulations
18 / 17