Anyone watching this blog knows that I do enjoy a good video game. And over the last two years I've been pleasantly surprised at the great environment and social landscape that has been manifested in the XBox Live experience. But this last few weeks, all of that landscape has been taken to a new level with the release of Halo 2 on XBox Live. Brief summary....AMAZING!!!
But I think what is more amazing is the computing going on behind the scenes in the Halo 2 Live world. Now, first let me disclaim, I am not a member of that team nor do I know how they implement things, but let me relate what I see (and hundreds of thousands of others have been playing on) and how I see some parallels to the next generation of services.
If you visit Bungie's online stats page at http://www.bungie.net/stats you will see the sheer volume of users online, matches played and number of total players. That's at a high level. Now go down one level more. To make that easy, drill into one of the leaderboards, the list of people that basically live in front of their TV <grin> and you'll see a number of users. Drill into one and you can see their rankings and then move from there into the games that they have played. Each game statistic page also connects you with other users that can be viewed, as well as each statistic from the game that was played. Now here is the kicker (and for this you need Passport to sign in) you can click on the "Game Viewer". This view shows a variety and views of maps of the battle area, with icons representing the players, that show the kills for each player where they occured, and even the weapon used at the time. Correlate that back to the number of matches in a 24 hour period (if we believe Bungie's numbers over this last weekend there was over a million in one day) and WOW!!! Imagine the data capture, metadata, archival and recreation of that data for viewing and analysis.
Seeing this application, clearly a server based application, makes me think that enterprise critical systems need to act in the the same way.
- Data needs to be stored at all levels and related to a number of objects, users, groups or activities. This also applies to metadata. This may imply an object model, or it may just beg for runtime or just in time correlation of data entities.
- The data should be available in a number of ways (in this case we have web, XBox, Messenger, etc.) thus allowing visibility to a number of entities and reporting levels. In a true Service Oriented Architecture that is message based, the loose coupling facilitates a variety of consumers and capabilities.
- Prioritization of tasks and corresponding criticality is important. In this case, clearly the task of RUNNING the XBox Live service takes top critical order. On the bottom is the capture of the type of weapon used at the time of kill. In between here is a sliding scale that operationally allows you to dial up/down or order tasks that can be turned off/on as load changes, and those which the system NEEDS to run.
- Recreating a certain transaction or business process with the state at that time is absolutely critical in financial applications. So building applications that can self-generate to return to a past state (or future if we like) is important for system scale and flexibility. It also assists in modeling, planning and optimizing business processes. If I were forming a clan on Halo 2, I would analyze potential members stats and their kill/movement habits as best I could using the Game Viewer, before enlisting them. Same applies to financial transactions and rules...as well as compliance.
- The holistic service offering can be unified through voice, video, content, reporting and other user experiences and by each of those being provided as a service you can leverage across applications.
- Leverage the commonality of a base "arena" in which to play. In an enterprise system this provides the high level constraints, resources and capabilities that allow for flexibility in that operating environment, and some degree of control. This also gives a standardized base platform for system modeling, analysis and recreation.
That's all for now. I would encourage those who have not seen to take a look at the Bungie site and drill into the levels of reporting, capture and how that might apply to real time systems and transaction processing elements in the financial enterprise. And if anyone is really interesting, send me your Gamertag...mine is "IHateTheDrake"....happy gaming!!
- Josh Lee