28 August 2008

Cloud User Shell (cush) multi-call executable prototype released

After much discussion of what goes on below the water line (in the provider/enabler space), hopefully this prototype release will refocus energy and get the creative juices flowing above it (with the users themselves). The idea is to follow Unix's example (as explained below) by seamlessly blending cloud resources into existing working environments. See examples below for some ideas of what is possible - my favourite is taking a local file and pipelining it through two web based services (the first is a rudimentary spam filter and the second appends legal notices), but being able to interact with HTTP in general from the command line is quite cool. Support for true bidirectional pipes (eg via CONNECT rather than simplex POSTs) and remote instantiation of pipelines is... well... in the pipeline. As is dealing with content types (verbs and nouns having already been catered for), mapping arguments to the query string and a flexible authentication infrastructure (all of which will require some thought and creation of static interfaces).

Cloud User Shell (cush) is a multi-call executable, bringing cushy, RESTful cloud control to the command line.

Philosophy

It follows the wildly successful Unix philosophy:

This is the Unix cloud computing philosophy:

  1. Write programs components that do one thing and do it well.
  2. Write programs components to work together.
  3. Write programs components to handle text HTTP streams, because that is a universal interface.

RESTful

It is also RESTful, clearly delineating the 3 sides of the REST Triangle:

  • Verbs (constrained) e.g. GET
  • Nouns (unconstrained) e.g. URIs (http://samj.net/])
  • Content Types (constrained, optional */*) e.g. HTML (text/html)

Installation

To install the python prototype cush.py

Usage

Usage: cush [verb] [noun]
or: [verb] [noun]

eg: get http://samj.net

Cloud User SHell (cush) is a multi-call binary (like BusyBox) that combines
many useful cloud computing utilities into a single executable. Most people
will create a link to cush for each function they wish to use and cush will

act like whatever it was invoked as, but it can also be called directly and
passed the command as the first parameter.

Currently defined functions:
@, @@, delete, get, head, ls, post, propfind, put, rm

Examples

All of these work alongside your favourite shell, eg bash

Send files to/from the cloud and process them as if they were local:

$ echo "The quick brown fox jumps over the lazy dog." | put http://local/uploads/brown.txt
$ get http://localhost/uploads/brown.txt
The quick brown fox jumps over the lazy dog.

$ get http://local/uploads/brown.txt | sed -e 's/brown/red/' | put http://local/uploads/red.txt

Even when they are:

$ get http://local/uploads/red.txt > /tmp/red.txt

$ get file:///tmp/red.txt
The quick red fox jumps over the lazy dog.

Dereference URIs with shorthand syntax (equivalent to GET command):

$ @ http://localhost/uploads/brown.txt

The quick brown fox jumps over the lazy dog.

Manipulate data in the cloud by listing (ls) and removing (rm) URIs like local files:

$ ls http://localhost/uploads/colours/

brown.txt
red.txt
$ rm http://localhost/uploads/colours/red.txt
$ ls http://localhost/uploads/colours/
brown.txt

Set up HttpPipelines (like Unix pipelines) for data processing:

The following shows an rfc822 email message being pipelined through two URIs for spam filtering (which adds a X-Spam-Flag: YES header if it finds 'Viagra') and a legal notice (which appends 'This message is confidential.').

$ cat rfc822-spam.txt |@ http://localhost/cgi-bin/spam-vapouriser.cgi |@ http://localhost/cgi-bin/legal-notifier.cgi

X-Spam-Flag: YES
Received: by 10.150.96.14 with HTTP; Tue, 5 Aug 2008 04:52:14 -0700 (PDT)
Message-ID: <21606dcf0808050452l74eee336g6bac459463c17f79@mail.gmail.com>

Date: Tue, 5 Aug 2008 13:52:14 +0200
From: "Sam Johnston" <samj@samj.net>
To: "Sam Johnston" <samj@samj.net>
Subject: Cloud Computing User Shell (cush)

MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Delivered-To: samj@samj.net

Check out Viagra - it rocks.


This message is confidential.

Obtain and manipulate structured data (eg titles of the items in a feed, weather in Sydney):

$ get http://feeds.feedburner.com/samj | xpath //rss/channel/item/title

Found 24 nodes:
-- NODE --
<title>Cloud standards: not so fast...</title>-- NODE --
<title>Cloud computing and Open Source software</title>-- NODE --
...
$ get http://weather.yahooapis.com/forecastrss?p=ASXX0112 | xpath /rss/channel/item/yweather:condition

Found 1 nodes:
-- NODE --

Obtain information about URIs and technical debugging:

$ head http://samj.net/
content-length: 0
server: GFE/1.3
last-modified: Mon, 25 Aug 2008 22:04:36 GMT
etag: "55ed4707-7cbc-4208-9cbc-cbc6105bc682"

cache-control: max-age=0 private
date: Thu, 28 Aug 2008 00:22:45 GMT
content-type: text/html; charset=UTF-8

25 August 2008

Cloud standards: not so fast...

The rate of innovation amongst cloud computing providers is mind boggling - developments are building on each other (for example look at the ecosystem which has sprung up overnight around Amazon Web Services) and advances are being made at a furious rate.

Accordingly, the recent drive for 'cloud standardisation', while inevitable, is ill-conceived and premature. Standards bodies are typically not fertile grounds for agile innovation and involving existing consortiums like IEEE and W3C at this early stage could well be like throwing a wet blanket over everything. What we need are simple, rugged, market tested interfaces defined by the innovators in each area (virtualisation, storage, services, etc.) and indeed patterns and defacto standards are already starting to appear.

For example for cloud databases we are seeing collections of entities with attributes and values emerging and before long multilingual libraries should rein these interfaces in to a point where a reasonable common ground can be codified as a standard. Trying to do this the other way around is putting the cart before the horse and will surely end with bad standards (some would say WS-* fits this category).

3tera were originally spearheading the movement and they just happen to have Cloudware() and it's catchy "Cloud Computing Without Compromise™" to solve the standards 'problem' (fortunately "the architecture is vendor agnostic so that third party vendors, not just 3tera, can participate in the system"). While 'several small cloud-computing firms including Elastra and Rightscale are already on board with 3Tera's standards group', the big fish were understandably less enthusiastic, for example Amazon being 'open to the idea [of creating a cloud computing standard] if we can do so in such a way that enables us to continue innovating quickly and delivering on [our] focus for our customers'.

The Enomaly guys have been firing up about standards too but have since pulled their heads in a bit and released a nice looking API for their virtualisation platform which is more in line with how the standards process ought to work. That said, the scope of their 'The Standardized Cloud' post is a little scary (covering all sorts of details that cloud computing users should never even have to think about) and it's unsurprising one of the first responses was already 'quibbling on the details'. There's some evidence that grid computing previously ventured down this road too, and the seeminly endless WS-Man thread that drilled down into the bowels of SNMP ought to give pause to even the most committed standards junkie.

Note that I'm not the only one who thinks someone's getting ahead of themselves. Let's not forget too that most of the banter is coming from people selling virtualisation management products which are but a very small piece of the cloud computing puzzle. Let's all just calm down a bit and let the dust settle - there'll be plenty of time for writing standards soon and in the mean time some juicy opportunities for those who can bridge the gaps.

Anyway here's a post I sent a few days ago on this topic:
I'm glad I'm not alone in thinking standardisation efforts are premature. I have grave concerns about trying to toss a standardisation blanket over all the innovation currently taking place at a furius rate and believe that doing so now would be at best unnecessary and at worst dangerous (we all know what happened to grid computing when they started wandering down this path - see the WS-* thread if you need an example that's closer to home).

This is not to say I'm anti-standards; quite the contrary (I'm currently serving as an 'invited' expert for W3C, have contributed to OASIS most recently on ODF, etc.), it's just that we don't yet have enough cloud users, enablers & providers to churn out sensible ones, and we're doing just fine without them (in fact the absence of such standards creates opportunities for companies like Enomaly to act as translators in the interim).

As a concrete example, take data stores (SimpleDB, AppEngine's datastore, MS SSDS, etc.) - we're just now getting to the point where patterns are starting to emerge which could result in some form of standard interface, but this will best be done by putting the users, enablers and providers in a room together and seeing what comes out.

Compute cloud interfaces are also quite similar, and have common functions with legacy virtualisation that should be addressed. Ditto for storage. But in each case it is the people directly involved in these areas who should churn out standards, when a statistically significant quorum has been achieved.
Update:My favourite whipping boystartup (Enomaly) are drawing attention to themselves yet again, pressing on with their closed 'interoperability' forum, this time sprouting off about another useless TLA: 'Unified Cloud Interface (UCI)'. Using XMPP in cloud computing architectures is of course nothing new and it's no surprise that the announcement garnered no response. Meanwhile back at the ranch their flagship software still isn't production ready, but with the boss (Reuven Cohen) too busy 'having a great time' and talking rubbish it's hardly surprising. Anyway here's there idea of interop and yet another example of them doing more damage than good:

16 August 2008

Cloud computing and Open Source software

Here is a post I just made to the cloud computing group in the 'Power of opensource!!!' thread. I thought was relevant for blog readers as well as it asks whether IT is still nervous about Open Source software:
In terms of Open Source, I believe the vast majority of cloud computing solutions today are run on open source software stacks, or at least open source operating systems (eg Linux). On the client side a large and increasing number of users are using open source browsers (eg Firefox).

I don't see anything that will change this on the server side - at these scales you just need to be able to get in and tweak the stack from the network driver through the database itself and you've got a snowflake's chance in hell of doing that with most proprietary systems.

I also believe this trend will continue, particularly on the client side where the cost of the hardware will continue to drop to the point where software licensing cannot be carried on top of it - even the first generation of CherryPal, Eee PC and XO machines, at around $200, can't support a $100 OS license (plus apps etc).

In terms of the actual licensing, now that software is merely 'performed' rather than 'conveyed' the 'triggers' for most licenses requiring release of modifications don't fire so licenses like the Affero GPL are appearing to address this 'loophole'.

Finally, vendors who have found themselves in the unfortunate position of being in competition with open source products ought to be very careful about calling into question the value that it provides - we've heard it all before and are using it extensively anyway.
In summary, Open Source is here and here to stay. Cloud computing is user-centric so users don't need to worry so much about what software they are using, but the overwhelming majority of software on both server and client side will be Open Source before long (much of it already is).

A new risk for Open Source today is the 'service provider loophole', whereby changes can be made to server side software that is never distributed and thus kept secret. We've covered this ground before, for example when using databases like MySQL with proprietary software, but much of the innovation is now taking place in the applications of the software rather than the software itself. I hope to see licenses like the Affero GPL (which address this weakness) being widely adopted by purveyors of network based software. The best example I've seen of this so far is Identi.ca's assault on Twitter (which is incredibly useful but notoriously unreliable).

15 August 2008

Dell Denied: 'Cloud Computing' both desciptive and generic

USPTO have already denied Dell's cloud computing trademark application:
A non-final action has been mailed. This is a letter from the examining attorney requesting additional information and/or making an initial refusal. However, no final determination as to the registrability of the mark has been made.
This all sounds fairly harmless but the argument presented is solid - its no wonder it's taken them a few days to put together.

First they've argued that 'the applied-for mark merely describes a feature and characteristic of applicant’s services'. A mark is merely descriptive if it describes an ingredient, quality, characteristic, function, feature, purpose or use of the specified services. That is, 'cloud computing' simply describes a type of computing in the same way that 'yellow bananas' describes a (common) type of banana.

Furthermore, they have declared 'cloud computing' generic, in that it is 'incapable of functioning as a source-identifier for applicant’s services'. This makes sense given that few of us think 'Dell' when we think of 'cloud computing', even in this context.

This is good news for cloud computing in general, and proof that the term is taking hold. It will be interesting to see if Dell continue flogging this particular dead horse, or get on with building the hardware that will power the next generation of computing.

10 August 2008

Cloud computing and the coming clone wars

All this talk about Dell's place in the cloud computing ecosystem has got me thinking... I've been saying for a long time now that the hardware market will turn into a bloodbath, with squeezes on the server side coming from horizontal scaling/commoditised hardware, multi-core processing, virtualisation, etc. as well as on the client side from cheap computers that we'll (hopefully) soon be able to purchase by the kilo. It is no surprise then that the traditional vendors are clamouring for their slice of the (next generation) pie. And who better to service our cloud computing needs than the very same people who have been fitting out data centers for decades?

The problem is that a 'cloud computer' (on both sides of the fence) is a completely different beast than traditional client/server devices. Rather they are (or at least can be):
  • Smaller, a lot smaller (think cigarette packet)
  • Cheaper, a lot cheaper, like an order of magnitude cheaper (think <$100 before long). They last a lot longer too.
  • Greener, drawing only a few watts instead of hundreds (think 2-5W)
The JackPC pictured here isn't a great example because it currently lacks a capable browser (though I've addressed this with them so maybe they'll add a recent browser at some point) but you can still run one on the server and access it via terminal services, and it illustrates my point well.

I was in fact so convinced of the trouble ahead for traditional hardware that I even built a prototype of an ultra-cheap PC over 5 years ago now. I was looking for something fast, secure, environmentally friendly and easy to support (which meant absolutely no moving parts) and ended up with a Debian GNU/Linux based design. The idea was that it would have no persistent storage (booting itself over the Internet), offloading as much as it could to 'the cloud' (which at the time meant my Xbox cluster running Linux). Unfortunately back then the Mozilla browser was still playing catchup and tools like Google Docs didn't exist so OpenOffice.org (itself in a sorry state, having just morphed from StarOffice) were required on the client. This arrangement worked nicely on the LAN by offloading much of the work to terminal servers via rdesktop (an RDP client written by a scarily clever young guy called Matt Chapman who worked with me at UNSW). However at home the 256/64k 'standard' ADSL Internet connection in Australia just didn't cut it - people won't wait 10-20 minutes for their machines to start even if they only need to do so every once in a while (eg to pick up security fixes).

Hang on, did I just say Xbox cluster? Yes, it's amazing what lengths you'll go to when you have some time but limited budget (datacenter space was still expensive back then). With servers still going for a few grand a piece and the Xbox selling with a reasonably capable processor, adequate RAM and a relatively sizeable hard drive for only a few hundred it was a no brainer. Apache doesn't need much in the way of resources (even if the things it hosts including PHP, Perl, Ruby and Python do), nor does infrastructure like mail servers (qmail), dns servers (djbdns), etc. Yes it was a pain having to solder 29-wire modchips into half a dozen devices to bypass the DRM and no doubt they raised some eyebrows in the datacenter where they were hosted, but they did their job well for a long time and were even used for some fairly large jobs. This was the first taste of cloud computing (on a very small scale) and I've been hooked ever since.

I'll leave you with one final thought for today... the picture on the left is one of Google's first production servers. It now lives in the Computer History Museum and there's at least one more like it which I've seen 'in the flesh' at their Mountain View HQ. These are not so different from my Xbox cluster (though the software on these machines made some people extremely rich), and are evidence of the completely different approach needed to build something like the Google platform. The focus now is on size, efficiency, heat, performance per Watt and per dollar, interconnectivity, density, and a bunch of other factors that only really become apparent when you roll up your sleeves and try to do it yourself (The Google Guide to Datacenter Construction is a book you won't see at your local bookstore any time soon - this is a key component of their 'secret sauce').

The thought for the day then is where are the logos? There's no Intel Inside logo on the JackPC or the CherryPal, nor a HP, IBM or Dell logo on Google's rack...

09 August 2008

In defense of Dell and where to from here...

Does Dell deserve to be lynched for attempting to register the 'cloud computing' trademark? I guess that depends a lot on their motives (which we will likely never know). If they sought to protect their business from one of their competitors doing exactly the same thing then it is more excusable than if it were an attempt to gain an unfair advantage by way of a state sanctioned monopoly over the term. I like Dell and I've recommended their machines for a long time - they made PCs about price and played a key role in their commoditisation (which in turn put them into the hands of people who could never have otherwise afforded them). Their hardware for the most part finds a good balance between cost and quality and their enterprise kit holds its own against more expensive offerings. Like many, I've had good times and bad times with their support, but I'm not envious of their position (computers are complex yet cheap machines and support is hard to get right).

Granted, Dell were caught with their hand in the cookie jar (and likely would have got away with it were it not by pure fluke that I stumbled on their application), but they didn't, and there's something to be said for our leaving the cookie jar out on the counter in the first place. That is to say, perhaps we should be taking a closer look at the USPTO's 'flawed processes' which allowed them to get this far in the first place, or further up the chain in terms of the legislation which makes it possible? For example we could start by prohibiting non-arbitrary trademarks which apparently works well in the UK where you can only register 'descriptive' trademarks that aren't actually descriptive, like Arctic Bananas™ which do not exist, as opposed to Brazilian Bananas which do. There are no doubt many other measures that could be deployed but (although I feel like one sometimes), I am not a lawyer.

Another thing to keep in mind relates to how the international trademark system itself works. Thanks to the Madrid System it's not just USPTO we have to keep an eye on - there's some 80 members and a registration with any one of them can be expanded to any or all of the others within the following 6 months. When marks filter through from other countries they have the opportunity to object, though I'm not sure whether they actually do in practice, nor whether there is any way for the general public to intervene. Mitsubishi, for example, may have had trouble extending the Pajero trademark into Spain for fear of causing offense.

USPTO have been taking quite a beating of late, mostly over controversial patents, but now over controversial trademarks as well. Like Dell, I don't envy USPTO's situation - they literally need to be experts in everything but we all know the saying 'jack of all trades, master of none'. The assigned attorney for example is a young woman who likely has no formal training in computing and could well have been dealing with a trademark for juice extractors before this one and DVD vending machines afterwards. All we know about her is that she looks pretty in a wedding dress (yes, someone actually bothered to look her up), and even that is more than we ever needed to know... if having an Internet presence (however small) were a requirement for holding a trademark then a quick Internet search could do most of the work for them. They could even use cloud computing in the form of Amazon Mechanical Turk to affordably outsource the process! Indeed I've seen notes in files about examiners conducing Internet searches and it is amazing that this isn't an integral (and largely automated) step; adding the results of a web search for the term at the time of application to the file would be incredibly helpful for post-mortems too.

Ok so here's some ideas for USPTO:
  • Raise the bar for being the first to use a term; that is, make prior art a serious problem for trademark applicants as it is for patents
  • Modernise the Trademark Electronic Search System (TESS) to make it more accessible to the public (eg so that we can deep link to applications, files, documents, etc.)
  • Expose activity feeds for applications, registrations, etc. so we have the largest possible window to object
  • Lower the bar for 'lightweight' objections (eg identification of prior use)
  • Examine objections throughout the lifecycle of the trademark, possibly charging registrants for processing of (legitimate) objections
  • Expose APIs to make trademark monitoring services like TrademarkSafeguard more accessible (at $375 per year this costs more than the trademark application itself!)
  • Release the data the public needs in order to assess the applications (eg the Trademark Gazette) - 'printing' an XML file is free.
On our side we can also pitch in, provided we are given the tools we need (above) to do so. There are similar efforts underway already for patents, but one very effective measure would be to set up something like Wikipedia's New Pages patrol, whereby all new pages are flagged until approved. In reality most of the people reading this post will care about classes 9 and 42 (and possibly 35, 38 and 41) so already most of the noise will be filtered out.

Something like this would be fairly easy to implement, but without a feed of the applications it's unfeasible so the ball's in USPTO's court.

08 August 2008

Sanity as a service: marketing gone mad

There's been much ado over Dell's (thus far unsuccessful) attempt to grab a large slice of the cloud computing landscape ('clown computing' is still available, thanks Dave), but it seems this is just the tip of the iceberg. Here's some other gems:
Here's seven other IT terms that shouldn't be trademarked, and if you want to see if your favourite buzzword is under fire you can do so yourself with USPTO's Trademark Electronic Search System (TESS)

USPTO may well have some broken and flawed processes, but sanity often prevails. For those of you sitting on embarassing applications that need to be taken out the back and shot before they come back to haunt you, here's your loaded gun...

06 August 2008

Dell's Notice of Allowance for 'cloud computing' CANCELED


No sooner do I finish posting about Dell, USPTO and 'Trademark Insanity' than does USPTO go an update the status of the offending trademark:
Current Status: The Notice of Allowance for this application was canceled.
So much for 'we now have six months to file our statement of use for the trademark, and will decide what we will do during that time'... Oh well, I guess I won't bother sending them my resume any time soon.

For USPTO, while you're at it there still remains the issue of the Web 3.0 trademark you registered to flowchart.com a month or two ago...

Update: Seems we're not out of the woods yet, the notice of allowance has been canceled and it's back under examination, but presumably the window for opposition is still closed so it's up to USPTO now. No new documents have been added to the file as yet.
2008-08-06 - Case Returned To Examination
2008-08-05 - Notice of Allowance canceled
2008-07-08 - Notice of allowance - mailed
2008-04-15 - Published for opposition
Update: Computerworld eventually picked this up around 21:00 UTC. U.S. patent office to revisit Dell's 'cloud computing' trademark The company had received near-final approval of the moniker. IP attorney suspects a primary (senior) examiner "looked at it and probably agreed with some of the arguments that were made public.". They also mention that Dell own cloudcomputing.com but who cares?

Update: 7 August 2008 07:00 UTC New documents filed by USPTO: 'Prosecution History for Canceling NOA' and 'ITU Unit Action'. According to the various trademark statuses this relates to 'Intent to Use' applications, but there doesn't appear to be any other useful information. According to internetnews.com 'Reasons for withdrawal could include a late filing of an extension of time to oppose, or a late opposition, before the allowance was issued. There may also be some manner of informality that was caught that the Office believes needs to be fixed. Or, in fact, The Office may have reviewed the application and determined that the mark is in fact generic and, as such, is barred from registration, and is returning the application to the Examiner to issue the appropriate refusal.' Jessica Litman also said 'I expect the media coverage was what inspired the cancellation'.

Update: According to John Dvorak who 'tried all [he] could and did not find any such usage before 2007' 'Dell has every right to cloud computing trademark'. I guess he didn't try searching for 'cloud computing 2006' because then he would have found this little chestnut from Eric Schmidt as noted by ZDnet on 23 August 2006:
We call it cloud computing – they should be in a ‘cloud’ somewhere.
Something similar for 2005 ought to turn up this press release:
Following a successful one-year trial of the ‘Cloud Computing’ initiative...
There's also plenty of discussion about the various components of cloud computing too, like these 2003 predictions for 2004. And let's not forget the NYT article I found from half a dozen years beforehand. On the other hand I've had a quick look for Dell being in any way associated with cloud computing before March 2007 and turned up nothing.

Dell, USPTO and 'Trademark Insanity'

It's not even been a week since I revealed my discovery of Dell's trademark application #77139082 in the cloud-computing Google Group, and a few weeks since I actually discovered it. I was too busy at the time trying to find a consensus definition and write an encyclopaedic reference for cloud computing to worry about a pending trademark application that I figured wouldn't affect me or my business, as I had long since given up on selling and recommending hardware in favour of 'true' cloud computing solutions like Amazon's Elastic Compute Cloud. I also assumed that those affected would call their lawyers and the matter would be swiftly extinguished (Update: Maybe they did.).

It seems I underestimated both the chilling effects of the trademark and the public reaction as we've already seen:
On Dell's side of the fence:
  • Dell originally declined to comment.
  • David Frink told Computerworld "The intent is to protect our intellectual property in our growing cloud computing business, ... Our intent is not to stop others from using the term.", except in their "narrow" definition. When it was pointed out that the definition Dell provided doesn't sound "narrow", Frink reiterated that the trademark has not been opposed.
  • Jess Blackburn claimed that at the time of the filing (March 2007) the term 'cloud computing' was not common, but many others have disputed this typically citing earlier news articles. "A registered trademark on this term would not give Dell the exclusive use of it ... It would protect us from others using the term specifically as it relates to our solution.". She also said that they hadn't decided how it would be used: "We now have six months to file our statement of use for the trademark, and will decide what we will do during that time, ... We have and will continue to conduct appropriate due diligence around adoption and use of this trademark to ensure we do not infringe on anyone else’s intellectual property."
Fortunately all is not lost:
  • According to internetnews.com it has the 'durability of a glass hammer' in that 'legal experts say it liable to lose the first time the company tries to enforce the trademark'.
  • A University of Michigan law professor (Jessica Litman) notes "Your trademark is subject to cancellation. It gives you a property right in a brand name, but if it enters the language as the name for something, there's not a lot you can do about it ... By now everybody's using [the term 'cloud computing'], and the law is quite clear that even though it's not Dell's fault, if the phrase is now a generic phrase for that kind of computing, nobody can own a trademark for it, because people need to be able to describe the generic product," "If they try to enforce the trademark, they may not be able to ... Their trademark lawyer may say yes, procedurally you have rights here but as a practical matter this is not going to work as a trademark because too many people use cloud computing in a non-trademark way. Dell may decide it's not worth it."
  • Trademark Attorney Frank Duffin says the public needs to associate 'cloud computing' with Dell: '"If it does not indicate origin with Dell and could apply to HP or IBM, then it doesn't serve as an indicator of origin and it does not serve as a trademark," In which case IBM, HP, and probably Sun, Amazon and anyone else using the term "cloud computing" to sell a product or service will gang up on Dell, and Litman said its chances aren't good.
  • New York IP firm Ostrolenk Faber's Peter S Sloane says third parties "can still petition to cancel the registration on the ground that the mark is merely descriptive". pointing out that Wikipedia defines cloud computing "as a 'style' of computing and a 'general concept.' "These definitions are not consistent with any claim to exclusivity of the term as a trademark."
  • Shutts & Bowen's Joe Englander also sees challenges ahead for the trademark. The term cloud computing is "generic" for computers that are connected to the internet, he says.
  • Bromberg and Sunstein LLP's Keith Toms concedes that 'Dell will probably get this trademark' but notes 'Whether or not they can defend it remains to be seen -- and I'm skeptical about that', adding that 'You can't steal a generic term from the lexicon and make it your own'
  • UPenn's Language Log calls for an end to descriptive trademarks and a reader notes the 'UK system works quite well in allowing only 'descriptive' trademarks which aren't actually descriptive. So, if you wanted to trademark Arctic Bananas™ you could do so, but you wouldn't be allowed Brazilian Bananas™'
So where to from here?

Dell brags about its long history of enforcing trademarks on the Internet (not only pursuing cybersquatters but also the registrars themselves), so if they do press on with the formalities of registration it seems likely they will throw their weight behind enforcement. Indeed they have to both use and enforce the registration or they risk losing the trademark for non-use. On the other hand, many trademark attorneys and law experts have said that they've got a snowflake's chance in hell of prevailing with this 'glass hammer', and if they so much as try they run the risk of being lynched by the mob (they've already had a taste of that this week).

It seems they've not helped their case by using the generic term generically themselves (though generocide presumably doesn't apply to an already generic term). According to Keith Toms (an IP attorney): "On Dell's blog ['In the clouds'] they use the phrase 'cloud computing' in a generic sense which is trademark law no-no number one ... If it's a generic thing, no one will recognize the trademark." And who better to explain the generic concept of cloud computing to us (from Dell's point of view) than Forrest Norrod, VP & GM—Data Center Solutions (the division responsible for Dell's cloud computing solutions) in his inaugural video blog post (download):


Hi, welcome into the clouds. I'm Forrest Norrod, I'm the general manager for Dell's Data Center Solutions division which is responsible for Dell's cloud computing solutions and I'd like to welcome you here to this video log, this blog, this site, where we hope to facilitate a discussion around the next wave in computing: the 'cloud computing' phenomenon. We think that cloud computing is an important paradigm shift (although nowdays I guess I hesitate to use that word) but it is a technology, an approach to deliver computing services that you're starting to see getting traction in the consumer space, in things like many of the applications for example that Google is distributing, Google or Yahoo. And you see it starting in the enterprise space, things like Salesforce.com's software as a service for sales teams delivered via the cloud, or probably more, most notably in Amazon's EC2 and S3 compute and storage services 'by the drink' if you will, delivered by a very rapidly growing and highly reliable cloud service. So here we think that are the harbinger of things to come. The applications that point the way to what might become the most significant wave in computing in quite some time. And we'd like to have the dialog here and facilitate the discussion around how will the cloud develop. Will there be... how many clouds will there be? Will there be 5, will there be 50,000, will there be 5 million? What is a cloud? There's quite a bit of debate over the definition of what cloud computing really is, or what it encompasses. We also want to talk about some of the new businesses that are going to be enabled by cloud computing. Every significant paradigm shift in computing (I use that word again) has generated new businesses and created new applications that nobody really thought of. We also want to talk about what are some of the issues that need to be resolved to support applications and to grow these clouds at the size and scale and ramp that are going to have to be put in place to support these applications. So we think, we hope, that this is going to be a rich dialog. We invite your participation and we certainly welcome the conversation as we look forward into the clouds.
Regardless, Dell it seems aren't ready to concede defeat just yet, stating that they 'now have six months to file [their] statement of use for the trademark, and will decide what [they] will do during that time'. Toms notes "The reason for intellectual property law is to assert it against other people as a sword. There is not much value in sitting back on a trademark and not enforcing them... But in this case, I'd prefer to be council for the defense". Trying to sit it out is not all that unsurprising given they believe it's a billion dollar business, but proceeding to registration will not go unnoticed this time, and the reaction both from the public and from the others in the industry who want a slice of the pie will be swift, severe, and likely effective.

Personally I don't have a problem with Dell - I've been recommending their hardware to large enterprise clients for over a decade and been responsible for many (commission-less) sales over the years, but I've long since moved on to cloud computing where hardware becomes someone else's problem. I resist[ed] the (strong) urge to make comment in my original post (out of respect for the Dell people on [the] list, apparently including Michael Dell himself) and I will do so again now, except to say that there's more than enough room for everyone so I hope that sanity prevails.

That said, I am somewhat curious though as to whether Dell, while 'ensur[ing they] do not infringe on anyone else’s intellectual property', licensed the Hyperscale registered trademark, and also what exactly it was USPTO was thinking when they registered the Web 3.0 trademark to flowchart.com a month or two ago...

Update: Sanity prevailed: 'The Notice of Allowance for this application was canceled.'

Update: Dell is in the cloud computing doghouse until they put the application out of its misery or it expires after 6 months, whichever comes first.

Note: Image used without permission but with thanks to boingboing gadgets. See 'Dell trademarked "Cloud Computing" and no-one noticed' article which declares the application 'bogus', cloud computing a 'generic technical term' and 'saturated buzzword used by countless companies and journalists to try and make the server-client model sexy' and Dell itself a 'bunch of disgusting shysters'. Why don't you tell us how you really feel? :)

05 August 2008

The case against 'private clouds' - a [counter]example.

In my last post (The future of cloud computing - an army of monkeys?) I took exception to the concept of a 'private cloud', as presented by a number of hardware & software vendors who would have us believe that it is 'any large, intelligent and/or reliable cluster' (typically while trying to sell the same). I suggested that we should call a spade a spade (a cluster a cluster), but I didn't go into a great deal of detail as to why it is impossible to emulate some of the key features of cloud computing in-house, most notably, peak-load engineering, but more generally unleashing the true potential of a global service oriented architecture.

Let's use a concrete [counter]example:
I spend a lot of time in a small town dominated by two very large companies working on difficult environmental problems that, for the sake of the argument, require a bunch of computing horsepower for modeling every other day. Yesterday $CUSTOMER would have called $VENDOR to ask for $CLUSTER, and the vendor(s) (quite possibly the same vendor for both) would implement two identical datacenters, both engineered for the (identical) peak load of these two companies (that is, exactly double what is required).

In this simple example they could have come to some time sharing arrangement and dealt with the same security problems grids deal with (remember these guys are competitors working on the same problems) but that only works for a very small number of clients, and often not at all.

A cloud provider on the other hand would have been able to securely share the hardware between these two companies, while abstracting the capex, running costs, etc. The customers would pay for the 'overhead' of the cloud provider, but said provider would only have to buy half the hardware, half the staff, half the real estate, etc. and the customer wouldn't have to worry about building and maintaining it so they still win.

Another very significant win for their being 'in the cloud' is that once they've done their modeling they can easily build on top of other cloud services. For example they can slap the results straight onto a map hosted by another provider without having to buy /very/ expensive mapping software, middleware, integration and of course the maps themselves (Actually since the results are not public they still typically have to pay something, but a fraction of what it would have cost before).
In this case they are a 'client' of The Cloud, a second rate citzen if you like, but then by pumping the results back out to the stakeholders (employees, clients, suppliers and/or other cloud users) they can become a full participant, in much the same way that participation is a key characteristic of Web 2.0 (itself a key component of cloud computing).

A purist view? Perhaps, however it's becoming increasingly clear that this is how computing will look in the (not too distant) future and the technology itself is a reality today. Before you sign the purchase order for that shiny new 'private cloud', do yourself a favour and be sure you and your vendor are on the same wavelength by challenging them to explain why their cloud is not a cluster, without resorting to saying "It's the vibe...".

At the end of the day these companies can get on with making widgets with a reduced bottom line and without having to worry about becoming computing experts (which is the equivalent of building your own power station to keep the lights on). The increases in agility and efficiency will give these early adopters a significant advantage over their competitors who remain shackled to legacy systems.

Updated: 5 August 2008 10:00 UTC This on the other hand is a 'private cloud'... don't forget to check out The Flight of the Conchords' hilarious but potentially NSFW 'Business Time' YouTube video at the bottom.