Month: October 2012

Sandro Brunner

sandroSandro Brunner is a researcher at the ICCLab.

After an IT apprenticeship and a few subsequent years working in the ICT industry he joined the Technical University of Applied Sciences Zurich (HSZ-T), which has been integrated into the Zurich University of Applied Sciences, to further his computer science studies and to get his bachelor.

During his industry tenure he gained broad knowledge and practical skill in software and systems engineering.

In his bachelor-thesis “Concept of Migrating an Application into the Cloud” he devised a generic migration method with wich applications can be migrated into the cloud. This was the starting point of his research on applications designed to run on the cloud out of which the initiative “Cloud-Native Applications” was born which is currently his main field of research.

ICCLab Talk at the “INTEL European Research and Innovation Conference 2012”

Header Image

The ICCLab was invited to speak at the Intel European Research & Innovation Conference incorporating Research@Intel Europe, 22 October 2012 – 23 October 2012

Andy Edmonds was talking about “Open Cloud Standards” and Thomas M. Bohnert was reviewing “Dependability in the World of Clouds” (slides are available here).

About ERIC 2012

The 2012 Intel European Research and Innovation Conference will take place at the UPC campus/Princesa Sofia Gran Hotel in Barcelona, Spain, from October 22-23. The theme of this year’s conference is ‘Building a Smart, Sustainable and Inclusive society through Research and Innovation partnership’ and there will be a number of distinct focus areas included within the event. Additionally we celebrate the 10th anniversary of Intel Labs Barcelona.

Conference Goals

Promote a world class research and innovation ecosystem in Europe through focused research and innovation between enterprise, academia and policy makers and advance further understanding of applied strategic research in the following areas;

    • Computer Architecture – New trends in computer architecture on a broad set of topics including Processor, Memory, Interconnects, SoC, Dependability, Parallelism, Power and Performance Modeling among others.
    • Social Innovation – A new mindset and a new strategic direction which holds a great potential to transform economies, to fuel innovation and to improve the lives of people around the world.
    • Securing Clouds and Mobility – The convergence of mobile, automotive, and the cloud from a security and risk perspective.
    • Sustainable Connected Cities – Advancing compute, communication and social constructs to deliver breakthrough innovations in system architecture, algorithms, and societal participation


Day One

  • 11.00-12.00 – Registration & Lunch
  • 12.00-14.00 – ERIC Opening Plenary Sessions
  • 14.15-17.30 – Track Sessions Part 1:
    • Computer Architecture
    • Social Innovation
    • Securing Clouds & Mobility
    • Sustainable Connected Cities
  • 19.00 onwards – 10th Anniversary Intel Labs Barcelona Celebration Dinner

Day Two

  • 09.00-10.30 – Keynotes
  • 10.30-10.45 – Coffee Break
  • 10.45-12.00 – Research@Intel Europe Showcase
  • 12.00-13.00 – Lunch
  • 13.00-16.30 – Track Sessions Part 2
    • Computer Architecture
    • Social Innovation
    • Securing Clouds & Mobility
    • Sustainable Connected Cities

Academic Services

The members of ICCLab and SPLab are actively contributing to the academic cloud computing and service-oriented application communities to stay at the forefront of technology. The following list contains some of the community services and involvements.

Editorial Boards

Professional Service

  • Program Committee Chair and Tutorials Chair, IEEE/ACM International Conference on Utility and Cloud Computing (IEEE/ACM UCC 2016)
  • Workshops Chair, IEEE Symposium on Service-Oriented System Engineering (IEEE SOSE 2016)
  • Workshops Chair, IEEE/ACM International Conference on Utility and Cloud Computing (IEEE/ACM UCC 2015)
  • Workshops Chair, IEEE International Conference on Communications (IEEE ICC 2013)
  • General Chair, 2nd International Workshop on Data Center Performance (DCPerf 2012)
  • Symposium Chair, Int. ICST Conference on Communications Infrastructure, Systems and Applications in Europe (EuropeComm 2011)

Steering and Advisory Committees

  • Architecture and Steering Board Member of the European Future Internet Public-Private-Partnership (FI-PPP)
  • Steering Committee Member of the European Future Internet Public-Private-Partnership Technology Foundation (FI-WARE)
  • Steering Committee Member of the EU FP7 IP GEYSER project (GEYSER)
  • Steering Committee Member of the European Technology Platform (ETP) eMobility (eMobility), finished 2013
  • Advisory Board Member of the EU FP7 NOVI project (NOVI), finished 2013

Workshop Organization

  • International Workshop on Cloud Robotics (IWCR’16), co-located with CLOSER 2016
  • First International Workshop on Cloud Native Applications Design and Experience (CNAX’16), co-located with IEEE SOSE 2016
  • International Workshop on Automated Incident Management in Cloud (AIMC’15), co-located with EuroSys’15
  • Cloud Automation, Intelligent Management and Scalability Workshop (CAIMS’14), co-located with IEEE/ACM UCC’14
  • 1st IEEE MobileCloud Networking Workshop, Budapest, Hungary, co-located with IEEE ICC 2013
IEEE Broadband Wireless Access Workshop Series

Reviewer Activities

Members of the ICCLab and SPLab are frequently serving as reviewers for renowned conferences and journals, e.g. CloudCom, CLOSER, NetSoft, UCC, FGCS, TCC and TPDS.

ICCLab at the SDCD 2012: Supporting Science with Cloud Computing

SDCD 2012: Supporting Science with Cloud Computing

The Swiss Distributed Computing Day is an annual meeting of users and providers of distributed computing technologies. This year’s theme is “Supporting Science with Cloud Computing” and it will be held on November 19 2012 at the University of Bern.  The event is free of charge and the registration deadline is November 15th.

Date: November 19, 2012

Location: University of Bern, Kuppelraum, Hochschulstrasse 4, Bern

Registration: the event is free of charge, deadline November 15th (limited space, early registration recommended)



9:45 – 10:15 Registration/Coffee

10:15 – 10:30 Welcome and Introduction [FMI/SwiNG: Dean Flanders]

SESSION 1: Science

10:30 – 11:00 Geology Studies Using Grid Resources [UZH: Stephan Gruber]

11:00 – 11:30 Human Brain Simulation Project [EPFL: Thomas Heinis]

11:30 – 12:00 The EcoCloud Project [EPFL: Anne Wiggins]

12:00 – 13:00 Lunch

SESSION 2: Cloud Architecture

13:00 – 13:30 Academic Compute Cloud Project at ETH [ETH/SystemsX: Peter Kunszt]

13:30 – 14:00 From Bare-Metal to Cloud [ZHAW/ICClab: Andrew Edmonds]

14:00 – 14:30 Review of CERN Data Center Infrastructure [CERN: Gavin McCance]

SESSION 3: Research Cloud Consortiums

14:30 – 15:00 Big Science in the Public Clouds: Watching ATLAS proton collisions at CloudSigma [CloudSigma: Michael Higgins]

15:00 – 15:30 Supporting Research with Flexible Computational Resources [University Oxford: David Wallom]

15:30 – 16:00 Coffee break

16:00 – 16:30 The iPlant Collaborative: Science in the Cloud for Plant Biology [University of Arizona/iPlant: Edwin Skidmore]


16:30 – 17:00 Tiny Particle within Huge Data [ETH: Christoph Grab]

17:00 – 18:00 Roundtable discussion: Cloud Strategies and thoughts for Researchers in Switzerland

ICCLab Invited to European Commission Cloud Expert Group

The ICCLab (Andy and Thomas) is invited to participate to the next meeting of the Cloud Expert Group which will take place in October 29-30, 2012 in Brussels.

The previous work of the Cloud Expert Group (“Advances in Clouds”) has clearly shown that Cloud Computing still requires research and development work in multiple domains (e.g. software & services, networks, security, complex systems, etc.).

The aim of the workshop is to refine the research topics identified in the above mentioned report, provide more details and develop a roadmap with priorities and actions.

To better shape the workshop discussions, position papers (no longer than 2 pages) are submitted on any of the following topics:

  • Data management, communications & networks
  • Resource description & usage, resource management
  • Programmability & usability
  • Federation, interoperability, portability
  • Security
  • Business and cost models, expertise & usability

Andy will provide a position paper on cloud standards, federation, and interoperability from the ICCLab’s perspective. The slides will be online after the event.

ICCLabs Present on OCCI at OWF/CloudCamp Paris

ICCLab is just back from Open World Forum in Paris after being part of the organisation of the “Open Cloud, Open Standards” session that was run in conjunction with CloudCamp. It was an excellent session and Simon Wardley was the master of MC’ing. There was a number of presentations to kick off the day and that was followed by very interesting and energetic round table discussions. The ICCLab presented on OCCI and you can see that presentation here (PDF here):

The topics of discussion during the day revolved around:

  • “Does the Cloud need standards?”
  • “Government role in Cloud, beneficial or dangerous intervention?”
  • “What do we mean by standards anyway – specification or reference model?”
  • “Whose standards – de jeure or defacto?”
  • “Should those standards be open?”
  • “Is there any such thing as an open API or are all APIs open?”

Stay tuned for an upcoming blog post where we discuss the out comes of the session.

Call for Participation : Cloud-based Service Platforms for the Future Internet

We would like to announce the 7th Workshop (Fachgespraech) on Next Generation Service Delivery Platforms, “Cloud-based Service Platforms for the Future Internet”, of the GI/ITG specialist group on Communications and Distributed Systems “Kommunikation und Verteilte Systeme (KuVS)”.

29th of November 2012, Technopark Building, Jägerstrasse 2, CH-8406 Winterthur, Room LT AE130, Winterthur, Switzerland



830-900 – Welcome


  • Robert Jenkins “Delivering Reliable Performance from a Public IaaS Cloud” (slides), CTO CloudSigma
  • Jyrki Huusko, Research Group Leader, VTT
  • Philip Healy, Irish Centre for Cloud Computing and Commerce (IC4)
  • Matthias Keller, Research Associate, Uni Paderborn
  • Sam Johnston, Director Cloud Innovation at Equinix

1040-1100 – Break


  • Jaime Martin Losa “eProsima RPC over DDS: Integrating Services in the Cloud” (slides), CTO, eProsima
  • Florian Antonescu, Research Associate, SAP/Uni Bern
  • Jean-Pierre Laisne, Open Source Manager, CompatibleOne, Bull
  • Guilherme Machado, Research Associate, Uni Zurich
  • Theo Lynn, Director,Irish Centre for Cloud Computing and Commerce (IC4)

1240-1400 – Lunch


  • Dominic Greenwood, COO, Whitestein Technologies
  • Julius Mueller, Research Associate, Fraunhofer FOKUS
  • Brian Trammell, Research Associate, ETH Zürich
  • Riccardo Murri, Research Associate, Uni Zurich
  • Sean Murphy, Entrepreneur/Senior Researcher, University College Dublin

1540-1600 – Break


  • Christof Marti, Assoc Prof, ICCLab/ZHAW
  • Alessandra Scicchitano, System Engineer, SWITCH
  • Bernhard Tellenbach, Assoc Prof, ZHAW
  • Oliver Friedrich, Senior Researcher, Deutsche Telecom
  • Thijs Metsch, Senior Researcher, INTEL

18.00 – Wrap Up (TMB, ICCLab)

How to get there

The event will take place at the:
Technopark Building, Jägerstrasse 2, CH-8406 Winterthur, Room LT AE130.

By rail: From Zurich central train station: take a regular train (IC,IR) from Zurich to Winterthur central station or S12 to Winterthur central station or S7 to Winterthur central station

By airplane: take a regular train from Zurich-Airport to Winterthur central station or S12 to Winterthur central station or S16 to Winterthur central station

Trains take about 25min from Zurich central station to Winterthur central station. Public transport schedules are available at: A ticket should be around ~25CHF (one-way)

At Winterthur central station take a walk to the campus, walking distance approx. 12 minutes.

Hotels in Winterthur:
Zhaw has special rate conditions with the following city centre located hotels. Please ask in any case for zhaw – pricing when making reservations Hotel Wartmann / Tel 0041 52 260 07 07
Hotel Loge / Tel 0041 52 268 12 00
Hotel Krone (Sorell Hotels) Hotel Banana City / Tel 0041 52 268 16 16 Other accommodations and information about Winterthur:
Another option: Stay in Zurich & commute

Hotels in Zurich

Call for Presentations

As the formerly divided Telco and IT industry continues to converge in the “Future Internet”, demand for “Cloud-based Service Platforms” is sharply rising. This important topic is thus made subject of this workshop and presentations are welcome in any domain related to cloud-based service delivery, that is service delivery and cloud hosting technology that adopts, exploits, consumes, or provides any kind of cloud attributes.

It is the objective of this series of workshops to support intense discussions among researchers from industry and academia in this challenging area gluing together applications and different network types.

Topics of interest include (but are not limited to):

  • On-demand, elastic, and metered computing and service delivery
  • Software-as-a-service, Platform-as-service, Storage as a service, Data-as-a-Service, Process-as-a-Service
  • Cloud computing programming and application development
  • Trust, privacy, and security for clouds and cloud-based service platforms
  • Cloud and service platform performance (QoS, power-efficiency, load balancing, etc)
  • Cloud and services SLAs, business models and pricing policies, subscription model
  • Enabling virtualisation and hosting technologies, novel data centers and nano-centers concepts and technologies
  • Orchestration and composition of services and applications hosted in data centres and clouds
  • Pre-packaged applications and services hosted in the cloud, licensing and support policies
  • Novel cloud-based applications and services
  • Mobile cloud computing
  • Test-beds, pilots, and field trials, standardisation and regulatory issues

Important Dates and Submission Information:

  • October 23, 2012:  Deadline for Abstracts (2-3 pages max)
  • November 6, 2012: Final Program
  • November 29 2012: Workshop at the ICCLab at ZHAW in Winterthur
  • September 20, 2012: Register via email
  • Paper submission and registration: info [at] kuvs-ngsdp [dot] org
  • Language is English

Paper submission (Language is English) and registration:

Local (Swiss) Chairs

T. M. Bohnert and Prof G. Baudinot (ZHAW), Prof Dr T. Braun (Uni Bern), Prof Dr B. Stiller (Uni Zurich), Prof Dr B. Plattner (ETH)

Steering Board

Dr. Heinrich Arnold, Deutsche Telekom AG – Laboratories, Germany, Dr. Wolfgang Kellerer, DOCOMO Communications Laboratories Europe GmbH, Germany, Prof. Dr. Thomas Magedanz, Technische Universität Berlin, Germany, Dr. Karsten Schröder, Telefonica o2 Germany, Prof. Henning Schulzrinne, Columbia University, USA, Dr. Steffen Weichselbaum, Vodafone D2 GmbH, Germany


OpenFlow – Setting up A Learning Switch

If you are also interested in SDN architecture and want to use the OpenFlow specification for it, a good starting point is the tutorial on OpenFlow has its roots at Stanford University and provides the communication between the data- and the control-plane in a SDN based network architecture. In this article we will show you how to setup a system that implements a learning switch using the OpenFlow specification.

First thing you need are OpenFlow-ready switches or, if you don’t want to buy them, a virtual switch that implements and supports OpenFlow will do just as well. For the second use-case exists a tool called mininet, with which you can create easily an OpenFlow-based SDN network topology. In this article we will use mininet, which you will need to install first or download the virtual appliance from github. We recommend the virtual appliance instead of a native installation because there are a lot of development tools also for OpenFlow in the virtual appliance.

After installing mininet just run the following command, that creates a topology with 3 hosts connected to one switch and a remote controller.

[gist id=3834980]

For the first controller use POX. POX is a easy to use control-plane to get quick first results. The POX controller is coming out of the NOX project, witch was the first controller for OpenFlow. In contrast to NOX, it has a better performance for components written in python. To install the controller itself, it’s nothing more then cloning the git repository and firing up the controller. In order to install the controller, running it and doing some first tests, have a look at the tutorial.

When a OpenFlow-ready switch receives a package and the switch has no flowtable-entry for that package, the switch sends the package to the controller. In OpenFlow, every switch (physical or virtual) has its own flowtable. This table contains information, how the incoming package “flows” trough the network. The switch from our created topology has at the moment no flowtable-entry. Thus, we create a very simple component-class for the controller that implements learning switch logic that has the following tasks to do, if two hosts want to communicate (e.g. host-1 and host-2):

  1. A package arrives at the switch and we have no flowtable-entry that matches our package -> the package will be send to the controller.
  2. The controller performs now various checks on the package
    1. Do we know the MAC-address and the switch-port from the sender (host-1)? No, we store this information in the controller, because we know at which port the package has received and who the sender was.
    2. Do we know the MAC-address and the switch-port of the recipient (host-2)? No, we flood the package to every port from the controller.

The recipient (host-2) will send an answer to the sender (host-1) but this time the controller has already some information.

  1. host-2 sends an answer back to host-1 but we have still no flowtable-entry in our switch -> the package will be send to the controller once more.
    1. Do we know the MAC-address and the switch-port from the sender (host-2)? No, we store this information in the controller, because we know at which port the package has received and who the sender was.
    2. Do we know the MAC-address and the switch-port from the recipient (host-1)? YES, we stored it before in the controller. The controller can deliver the package at the port where the recipient (host-1) is.
  2. Now we know the MAC-address and the port of the two hosts in our controller. We can install a flowtable-entry in the switch for these two hosts

The two hosts can now send packages to each other, without the need of the controller, because our switch has learned the MAC-addresses and the ports of the two hosts. If the controller knows both hosts, he can setup a flowtable-entry in the switch. Now let us have look at the python code for the component-class in the POX-controller.

First thing we need in the controller is a component-class where an object is created for every connected switch. When switch shows up at the controller, the constructor from this component-instance will be called and a connection object for that switch will be passed to the constructor.

Next we need a launch function outside our component-class but somewhere, where POX can find it. The name of the component is specified by the command line option when the POX controller starts. Simply we put our launch function inside our component, where also our component-class MyCtrl is.

[gist id=3863852]

Inside the launch function is an eventListener attached by name. The listener expects an eventTyp, that is passed as string to the listener and a method or function witch should be called, when the eventTyp is raised. Our component-class on the other hand implements also an _handle_PacketIn function that is used to listen to the PacketIn events. These events are fired from the switch to the controller.

[gist id=3864066]

Our component-class only listens to the PacketIn event from the switch where the package is parsed and after that, passed to the logic of the learning switch. The function act_like_lswitch makes all the things discussed above:

  • Manage our macStore
  • Installing flowtable-entrys if necessary
  • Forwarding packages if necessary
  • Decide, if the switch must act as a hub

[gist id=3864113]

The two functions, self.send_packet and self.act_like_hub, will be discussed later. If we have the destination port and MAC address in our macStore list, the component-class installs a flowtable-entry in the switch. With the match structure provided by openflow, the switch then decides, witch packages has to follow the installed flowtable-entry. This is done by the ofp_match object from the ofp_flow_mod class. In this component-class, the flowtable-entry should match all packages, that arrives at a specific port on the switch with the MAC-address from the destination host. Then, the ofp_actions object appends a new action that specifies the output port for the package that targets our match. Appending the action to the ofp_actions object does not affect the switch, thus we must send the flow modification to the switch by invoking self.connection.send(fm). Do you remember, the connection object is set in the constructor of our component-class and we can use it, to send information’s like flowtable modifications to the switch. The function self.send_packet encapsulates some error handling and the logic, to send packages in a generic way to any network device in our infrastructre thus, its a helper function. The function self.act_like_hub on the other hand, encapsulates the logic for flooding packages to every port except the input port.

That’s all. Fire up the virtual network infrastructure with mininet with the command above and also start the controller with log level DEBUG as follows:

[gist id=3864371]

If we’re calling mininet> pingall in the mininet console, we can see the following output in the console where our controller is running (depends on the mnininet infrastructure)

[gist id=3864376]

By running the mininet command mininet> pingall a second time, you should see no further debug messages in the controller console. The reason for this is exact the effect we want to achieve. The switch can forward the packages now by itself and you can check with the dpctl tool the flowtable of the switch witch could look like the following:

[gist id=3864747]

This simple implementation should give you an idea, what further things can be done with OpenFlow. There are still a lot of unsolved problems in our component-class like:

  • The macStore list must be multidimensional to store the MAC addresses from more than one switch
  • Automatic handle changes at the input ports of the switch
  • A more meaningful error handling

Our next steps at the ICCLab will be configuring a physical switch for OpenFlow and use this switch with a productive controller to flow the traffic in our Lab. And of course, we will publish our experiences with OpenFlow right here on our website.

ICCLab Colloquium : Stephan Haller from Vigience

Special thanks to Stephan Haller (Head of Solution & Service Delivery – International) for his visit and talk about  Vigience’s cloud applications and services.

Vigience is a globally active SME, providing high-quality products and consulting services in the area of cloud computing, mobile business and SAP. They serve their clients through their offices in Japan, Switzerland and the USA. The presentation (downlad slides) introduces the company as well as its two main products, QuiXilver and Overcast:

  • QuiXilver is a secure PaaS solution developed for teams of information workers. It is both a social collaboration platform to share files, communicate better, and manage projects as well as a platform to easily develop additional productivity and cloud data base applications.
  • Overcast™ is a business cloud computing environment to rapidly develop and deploy enterprise system add-ons and mash-ups. Overcast works with the leading business cloud platforms such as, Microsoft SharePoint and NetSuite. Enterprise connectivity is added through the Overcast Enterprise Gateway as a native service to these platforms, removing the need to install or learn a new middleware tool. Thus enterprise data from SAP, SQL Server or Oracle based systems can be exposed to the cloud in mere minutes in a scalable and secure way.

About Stephan
Stephan Haller (Head of Solution & Service Delivery – International)
Stephan leads the international solution and service delivery team, i.e. he manages consulting projects and ensures a high-quality service. His professional background includes many years at SAP where he was a Development Architect and Research Program Manager (RFID / Internet of Things).

Upcoming Events: Swiss OpenStack User Group and OCCI Working Group Meetings

In coordination with ZH-Geeks, the ICCLab will be hosting the very first Swiss OpenStack user group meeting on the 15th of Novemeber. In addition to Tim Bell there will be a number of other speakers who will present on various OpenStack topics. Tim Bell runs the infrastructure team at CERN where they run a very large installation of OpenStack. Tim is also a member of the OpenStack foundation management board and one of the main drivers of the OpenStack-based IaaS needed to analyse the 25PB of data a year from the LHC. If anyone wants to submit a lightening talk (talk with slides of no more than 10 mins) on their work with OpenStack please let Andy Edmonds know. We would encourage as many of you to attend! Please sign up at the following site.

Also, on the 13th of Novemeber the Open Cloud Computing Interface working group will be having a day long meeting to discuss and improve the current specification. This event as an excellent means to influence one of the most prominent cloud standards today. If you wish to attend please get in touch with Andy Edmonds and also add your name to the list of attendees.