Microsoft to open-source cloud framework behind Halo 4 services

The distributed computing research project known as Project Orleans will be available in early 2015

The Halo 4 statistics service keeps track not just of the missions players have completed and their achievements but of individual weapons and shots fired

The Halo 4 statistics service keeps track not just of the missions players have completed and their achievements but of individual weapons and shots fired

Microsoft plans to open-source the framework that helps developers of cloud services like those behind the popular Halo 4 game.

Building cloud services for millions of users means connecting and coordinating thousands of servers, and handling tasks and information across all of them. Project Orleans is a framework built by the eXtreme Computing Group at Microsoft Research using .NET, designed so developers who aren't distributed systems experts can build cloud services that scale to cope with high demand and still keep high performance.

The Orleans framework was used to build several services on Azure, including services that are part of Halo 4, and Microsoft had an enthusiastic response when it released a public preview of the technology in April this year. Now Sergey Bykov of the eXtreme Computing Group says (http://orleans.codeplex.com/) they will open-source the project.

The code will be released under an MIT license and will be published on the GitHub site in early 2015 (instead of Microsoft's own CodePlex open source site); they say that they plan to accept contributions to the code from users.

Orleans is designed for building cloud services like social graphs (the list of friends on Facebook or the people you follow on Twitter), real-time analytics and interactive entertainment, and to work with large numbers of devices like smartphones or Internet of Things sensors. Halo 4 uses the framework for the presence service (which keeps track of all the game sessions, all the players and the status of each game) and the statistic service (which tracks details like when and where a shot was fired in a game and with which weapons, as well as the achievements and other personal information about players).

That information, displayed in the Halo Waypoint interface, is very important to players, according to Hoop Somuah of the Halo Cloud Services Team at 343 Industries, who explained how Halo uses Orleans at Microsoft's Build conference (https://channel9.msdn.com/Events/Build/2014/3-641).

"They need to know what the hot playlist is today, they need to know what the challenges are, they need to know where their friends have been, what their friends have been playing," Somuah said.

"Have their friends gotten more medals then them? They need to know all this and they need to react it and interact with their friends in real time. We need to deliver hundreds of thousands of updates per second to millions of players, and we have to get the right information to the right device at the right time," he said.

He called Orleans "a cloud native programming model that makes it possible to build services from the ground up, with the cloud in mind."

Orleans differs from other popular cloud app development platforms like Google App Engine because it's asynchronous; but it's also single threaded, so developers don't need to think about concurrency, locks or race conditions -- concepts that make concurrent programming complex to handle.

"With concurrency, it's hard not just to write the code but to conceptualize and think about what you need to do," Somuah said.

Orleans uses the idea of "grains" and "silos"; there are grains for each player in Halo 4 and there's a grain for every game of Halo 4 that's ever been played. Silos are the execution containers that hold the grains; there's one on each node and the Orleans system handles creating more silos if they're needed to handle more players and replacing any that fail under the load. Developers tell the grains what to do, but the Orleans systems take care of creating grains, reactivating them in a different silo if there's a problem, and garbage collecting them when they're no longer in use.

This makes it much easier for the developer, Somuah explained. "You don't care which machine in the data center a grain is running on or if it fails, you just work with the grains. You don't think about how many nodes you have in the system or worry about an IP address."

He compared it to not having to care about which stick of memory inside a computer a variable was stored on when writing code.

"You don't worry about that sort of thing when you're developing locally; why would you care about it when you're developing for the cloud?"

Join the Good Gear Guide newsletter!

Error: Please check your email address.

Tags application developmentMicrosoftsoftware

Our Back to Business guide highlights the best products for you to boost your productivity at home, on the road, at the office, or in the classroom.

Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Mary Branscombe

IDG News Service
Show Comments

Cool Tech

Crucial Ballistix Elite 32GB Kit (4 x 8GB) DDR4-3000 UDIMM

Learn more >

Gadgets & Things

Lexar® Professional 1000x microSDHC™/microSDXC™ UHS-II cards

Learn more >

Family Friendly

Lexar® JumpDrive® S57 USB 3.0 flash drive 

Learn more >

Stocking Stuffer

Plox Star Wars Death Star Levitating Bluetooth Speaker

Learn more >

Christmas Gift Guide

Click for more ›

Most Popular Reviews

Latest News Articles

Resources

GGG Evaluation Team

Kathy Cassidy

STYLISTIC Q702

First impression on unpacking the Q702 test unit was the solid feel and clean, minimalist styling.

Anthony Grifoni

STYLISTIC Q572

For work use, Microsoft Word and Excel programs pre-installed on the device are adequate for preparing short documents.

Steph Mundell

LIFEBOOK UH574

The Fujitsu LifeBook UH574 allowed for great mobility without being obnoxiously heavy or clunky. Its twelve hours of battery life did not disappoint.

Andrew Mitsi

STYLISTIC Q702

The screen was particularly good. It is bright and visible from most angles, however heat is an issue, particularly around the Windows button on the front, and on the back where the battery housing is located.

Simon Harriott

STYLISTIC Q702

My first impression after unboxing the Q702 is that it is a nice looking unit. Styling is somewhat minimalist but very effective. The tablet part, once detached, has a nice weight, and no buttons or switches are located in awkward or intrusive positions.

Featured Content

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?