Apr 03 2014

Dancing with CHOReOS

Virtual Trip might be a mighty strong enterprise solutions provider (with tons of successful projects and happy clients) but we also take research very seriously ? not just in the form of R&D for future products, but also cutting edge academic research.

In fact, we are proud to have just completed another such major research project, helping create the CHOReOS Integrated Development and Runtime Environment. The project, which tackles the problem of running ultra large scale internet services that work with huge amounts of heterogeneous devices, was developed by a consortium of academic organisations and industry partners from six European countries under EU’s Seventh Framework programme.

But what is CHOReOS exactly? Without getting into technical jargon, we can explain it by the problem it tries to solve, which is that our current approaches of organising networked devices break down in a world where everything, from our cellphone to our fridge, are networked (the “internet of things”) and intertwined into a huge amount of services (the “internet of services”). A world, in other words, which we are rapidly approaching, as the number of smart connected devices is estimated to surpass 2.2 billion units in 2017.

CHOReOS tackles this very problem of organising an inordinate amount of devices (since everything that can will be connected) that are also heterogeneous (since they have different technical specifications and understand different protocols). It does so by doing away with the old approach of “orchestrating” them (where there is a service that acts as a conductor and control is centralised and local) and replacing it with the notion of “choreography” (which is distributed, in the same way that dancers follow some general instructions without a single point of control).

CHOReOS (from the Greek “choros”, meaning dance) is a middleware technology that enables the execution of distributed coordination logic across different systems and devices. By providing an integrated development and runtime environment, it handles all aspects of the “choreography”, from the specification of the global coordination logic and the discovery of available services, down to the translation of messages between the different devices and operating systems.

If all these sound too abstract, perhaps a concrete example will help you grasp the full power and potential of the technology. To showcase CHOReOS, we created DynaRoute, a dynamic personal organiser (think “Google Now”, but customisable and with infinite flexibility), and tested it in vivo by simulating a tourist visit. During the live showcase, DynaRoute handled site-seeing and tour guide services, taxi request, routing and pickup, traffic alerts, shopping tips, nearby friends notifications and meeting scheduling.

In the process, DynaRoute (taking advantage of the underlying CHOReOS framework), organised and handled several mobile phones, flight information, a fleet of 12 cooperating taxis, location, traffic, temperature, noise and air pollution sensors and dozens of different services (from proximity notifications to route scheduling based on traffic).

After three years of hard work, intense R&D, and extended cross-european collaboration, the CHOReOS project completed its final revue on November 6, 2013, in Brussels. We, at Virtual Trip, are excited to have helped create such an important piece of tomorrow’s infrastructure, and look forward to the future commercial applications of the project.

P.S. Oh, and did we mention that CHOReOS is also open source? In order to lower the barrier to access the technology and facilitate its’ adoption, we have released the IDE parts under the Eclipse Public License, and the runtime modules under the LGPL. You can grab the sources here.

Be Sociable, Share!