Wednesday, September 2, 2009

Cynth Wannemaker: Architecting for Scale

In 1969, who at Bell Labs could have imagined that the newborn Unix would define the structure of operating system for decades to come?  Who could have imagined that some programs written in those years would still be in use generations later?  What is it about an architecture that lends itself to longevity?  How does it remain applicable?

Another project with a most unusual evolution is the Brightstar project.  In 2007, Sun Microsystems released Project Darkstar, a Java-based development framework and runtime environment for the generation of highly scalable, easily-programmed high-interaction online games.  A few months after Oracle's acquisition of Sun, the project forked and Project Brightstar was born.

Project Brightstar sought to utilize the scalability offered by Darkstar, but decentralizing some aspects of it so that users could define desired operation and integrate them into the larger system, balancing user privacy with the need to reliably communicate with the other systems (the supercloud).  Brightstar modified Darkstar's architecture, enabling users to define "rooms", essentially small servers hosted by clients of the supercloud with public and private interfaces.  A given "room" would communicate as much state as desired with the supercloud, but maintain a private internal state which users "in the room" would have access to.

A good system gives a developer flexibility within a highly ordered framework.  Piping in Unix allowed widely disparate programs to be seamlessly linked together.  A developer could write an application entirely independent of others, and have it made accessible by the entire system through commonly defined input and output mechanisms.  Brightstar's rooms soon rapidly expanded the potential scope of Darkstars worlds in a similar manner.

Users were soon creating worlds within worlds, online communities of a type of depth previously unseen.  No longer limited by the create/upload/share structure previously predominant on the internet, rich, multi-media, multi-faceted two-way interaction with other users expanded rapidly.  The public world remained accessible, consistent, and low latency as the private worlds and their rules expanded.  Within a few years, economies of a scope unheard of in virtual worlds were emerging.  Regulators were quick to attempt taxation, but lacked the ability to effectively monitor, or even shut down these transactions.  Over a contentious period of decades, these online communities had amassed a sufficient amount of financial influence, that they began to see political representation.

Today, I interview Cynth Wannemaker, appointed architect of Deutschon in 2038.  Deutschon was the first online community to be legally regarded as a nation-state, including diplomatic representation in the United Organizations (formerly United Nations).

Kurt: Cynth Wannemaker, you're arguably one of the most influential programmers in the world in your time.  How did you become involved with Brightstar room architecture?
Wannemaker: I was involved in Brightstar I was a teenager.  I often frequented various online neighborhoods, first just visiting, but soon taking on public responsibilities: I would monitor requests for communication from other communities, I would help organize small projects within the community to expand it.  I was originally just using simple tools, but I eventually needed to get into scripting.  I began studying algorithms so I could find ways to monitor the internal economy, make sure that it wasn't being manipulated from within or outside.
Kurt: What was your first major project?
Wannemaker: There is a profound advantage and challenge in the ability to easily create a private room within the room or supercloud.  Lets say I want to create a virtual "building" in an online city.
Kurt: Can you quickly explain "city"?
Wannemaker: Basically, it's what "rooms" turn into when they get large enough.  Anyway, I want to make a building, with an exposed interface of doors and windows, but private internals.  Now, the way Brightstar is structured, the building cannot communicate with the supercloud without using the city's interfaces.  So what do you do when a building wants to perform a private transaction with a building in another city?  Normally, the city would forbid any external private transactions--the city, naturally, needs to understand what messages it is sending.
Kurt: To prevent the leaking of secrets, or to maintain internal logical consistency?
Wannemaker: Both.  Though, in a way, though those are two sides of the same problem.  I worked on a system where a building could request a security token from the city, and thus be given permission send an encrypted communication out of the city.  The catch, however, is that it must identify all the city's private information that was used to define the message.  It's an interesting and challenging problem: prove the data you're using without showing how you're using it.
Kurt: Why do you think Brightstar was the first system to achieve the kind of broad, rich interaction that it did?
Wannemaker: Honestly, I know embarrassingly little about the technicalities of Brightstar's origins.  But I get the impression that it was the first scalable way in which users could interact with a broad variety of other users and media without a pre-defined purpose.
Kurt: Interesting.  And where do you think this is all heading?
Wannemaker: Well, I--
Kurt: Oh, wait.  I'm sorry.  The worm hole appears to be collapsing, I'll have to follow up another time, thank you greatly for speaking with us on a--

I really need to get that problem fixed.  Reality doesn't seem to like being torn apart.

In conclusion, Project Darkstar presented a well thought-out architecture, freeing the programmer from addressing the system's overall complexity, while insuring that the programmer's code doesn't negatively impact the whole system.  It's a good framework for a game, but an excellent foundation for a far more flexible system.  Tiered concurrency is already done in many applications.  It shouldn't be too long before the concept is applied to Darkstar, and it's true potential is unlocked.

No comments:

Post a Comment