Friday, July 29, 2011

Gone fishing!

I'm on holiday in Canada, visiting my in-laws. Usually it takes me a few days to wind down from work, but it happens and I relax for the rest of the holiday. (Well, until a few days before I cone back, when I start to think about work again!) Access to email is limited usually, as I'd need to borrow time on my father-in-laws machine. That extra effort is usually enough for me to only check email every few days.

Unfortunately this time I brought my iPad and iPhone, both of which I connected to the wifi. Checking email was too easy and as a result I was working every day! Fortunately it only took me about 4 days to realise this (with some not-so-subtle hints from family) and I disabled wifi. This means I can now get on with the holiday. Since we are out in the middle of nowhere this means sitting by the pool reading a book on my (wifi disabled) iPad, or fishing!

Facebook as Web 3.0?

I'm not on Facebook and think social networking sites are inherently anti-social (you can't beat a good pub!) However, I know many people who are into them and I've even decided to check out Google+. So they probably have a place in the web firmament.

But recently I've started to see more and more adverts substituting the good old vendor URL for a Facebook version, e.g., moving from www.mycompany.com to www.Facebook.com/mycompany. Now at first this might seem fairly innocuous, but when you dig deeper it's anything but! As I think Tim Berners-Lee has stated elsewhere, and I'm sure Google has too, the data that Facebook is maintaining isn't open for a start, making it harder to search outside of their sub-web. And of course this is like a data cloud in some ways: you're offshoring bits of your data to someone else, so you'd better trust them!

I don't want to pick on any single vendor, so let's stop naming at this point. Even if you can look beyond the lack of openness and the fact that you're basically putting a single vendor in charge of this intra-web, what about all of the nice things that we take for granted from http and REST? Things such as cacheing, intelligent redirects and HATEOAS. Can we be sure that these are implemented and managed correctly on behalf of everyone?

And what's to say that at some point this vendor may decide that Internet protocols are just not good enough or that browsers aren't the right view on to the data? Before you know it we would have a multiverse of Webs, each with their own protocols and UIs. Interactions between them would be difficult if not impossible.

Now of course this is a worst case scenario and I have no idea if any vendors today have plans like this. I'd be surprised if they hadn't been discussed though! So what does this mean for this apparent new attitude to hosting "off the web" and on the "social web"? Well for a start I think that people need to remember that despite how big any one social network may be, there are orders of magnitude more people being "anti-social" and running on the web.

I'm sure that each company that makes the move into social does so on the back of sound marketing research. Unfortunately the people making these decisions aren't necessarily the ones who understand what makes the web work, yet they are precisely the people who need it to work! I really hope that this isn't a slippery slope towards that scenario I outlined. Everyone on the web, both social and anti-social, would lose out in the end! Someone once said that "just because you can do something doesn't mean you should do something."

Thursday, July 21, 2011

The end of a space era

It's sad to see the end of the space shuttle era. I remember being excited to watch the very first launch whilst at school. I remember exactly where I was when Challenger was destroyed: at university stood in a dinner queue. I remember watching when they deployed (and then later fixed) Hubble. Again, I can remember where I was when Columbia was destroyed: at home watching! I've even been to see a launch and heard it come back a week or so later.

So it's fair to say that I grew up with the shuttle over these past 30 years and it's going to be strange not having it around any more. Despite the fact that it may never have been the perfect launch vehicle (I still recall early discussions around HOTOL, for instance), I think it did it's job well. I know I'll miss it.

Tuesday, July 19, 2011

Santosh's retirement

I think I've spoken a number of times about how important Professor Shrivastava has been in my academic and professional career over the past 25 years (ouch!) Well he's retiring soon and the University will never quite be the same, at least as far as I'm concerned. But at least I get a chance to speak at his retirement event. Congratulations Santosh and many thanks!

Monday, July 18, 2011

InfoQ and unREST

I wrote this article for InfoQ because I thought what JJ had said was interesting enough that a wider audience should consider it. I'm still not sure if I'm pleased, surprised or disappointed with the level of comments and discussion that it received. Something for me to contemplate when I'm on vacation I suppose.

Thursday, July 07, 2011

When email and vacation don't mix

I'm off on vacation soon for a couple of weeks. Going to Canada to visit my wife's parents. They live in the back-of-beyond, which is great for getting away from it all. As usual I've promised my wife I won't be taking my work laptop with me, which means that I won't have access to our VPN and hence no access to work email. In the past this used to bother me, because I always want to know what's going on in case there are problems at work. But it's obviously not conducive to a relaxing time.

Now I know some people who go on vacation and can read work email do read work email just to keep the amount of catch up they have to do when they return to a minimum. I expect that after a couple of weeks vacation I'll have several thousand emails to go through, so I can understand what they're doing. However, it won't work for me: I tried it a few times and I just can't help responding to emails if I see them! So what started as a 60 minute attempt during a vacation to cut down on the junk in my inbox ended up several hours later with me only about 10% of the way through. So I don't do that any more and I just take the hit when I get back.

However, I did figure out a compromise (pretty obvious really): I have a backup email address that is accessible off our VPN and which only certain people know about. They know they can get me on this at pretty much any time of the day or night. So if something comes up while I'm away this year, I can find out about it. Of course this has a slight downside in that I know immediately that any emails on that address are probably emergencies! Well, you can't win them all I suppose!

Sunday, June 26, 2011

When is a distributed system not a distributed system?

I've been involved with distributed systems since joining the Arjuna Project back in the mid 1980's. But distributed systems date back way before then, to at least the 1970's with the advent of the first RPC. There are a few definitions of what constitutes a distributed system, including Tanenbaum's "A collection of independent computers that appears to its users as a single coherent system" and this one "A distributed system consists of a collection of autonomous computers, connected through a network and distribution middleware, which enables computers to coordinate their activities and to share the resources of the system, so that users perceive the system as a single, integrated computing facility", though my favourite is still Lamports "You know you have a distributed system when the crash of a computer you’ve never heard of stops you from getting any work done". Back when I started in the area, someone at the University once said that a precise definition was difficult, but you should recognise a distributed system when you saw it.

What all of the definitions have in common is the notion that a distributed system consists of nodes (machines) that are connected by some distributed fabric, e.g., an ethernet. Distributed systems therefore pose problems that are no present in centralised, single machine systems, such as faults (independent failures can now occur) and hence failure detection. Various techniques, such as distributed transactions and replication have grown up to help deal with some of these issues. Other approaches, such as Voltan, also help to build fail-silent processes. And of course we have techniques such as message passing, RPC and shared tuple spaces, were developed to help make developing distributed applications easier. Though of course we learned that complete distribution opacity is not always a good idea. (We did a lot of the early work in this area.)

However, time has moved on and whilst distributed systems continue to be important in our every day lives, the fact is that many of the problems they present and many of the solutions that we have developed, are present within a local environment these days. Think of this like inner space versus outer space, if you like, but the way in which multi-core machines have become the norm means that we have failure independent nodes (cores this time) within a single machine. Alright, they're not connected by an ethernet, but there's a bus involved and they may, or may not, have shared memory too.

Of course none of this is new by any means. If you've ever experienced any of the parallel computing technologies that were the rage back in the 1980's and 1990's, such as the Transputer (excellent architecture and Occam was brilliant!) then you'll understand. There's always been a duality between them distributed systems. But back then parallel computing was even rarer than distributed computing, simply because the costs of the former were prohibitive (which is why a lot of parallel computing research was often done by running COTS hardware on a fast network, because it was cheaper!)

Times have certainly changed and we can no longer consign parallel computing to the realm of high performance computing, or niche areas. It's mainstream and is only going to increase. And I believe that this means distributed systems research and parallel computing efforts must converge. Many of the problems posed by both overlap and solutions for one may be relevant to the other. For instance, we've put a lot of effort into scalability in distributed systems, and failure detection and independence at the hardware (core) level is very advanced.

So when is a distributed system not a distributed system? When it's a centralised multi-core system!

Saturday, June 18, 2011

Open Source in action.

I've been with JBoss since 2005 and in that time I like to think I've experienced quite a bit about how open source works. It's been a wonderful learning experience for me and definitely turned me from someone who thought open source code and developers were somehow not as good as closed source equivalents into a person who knows that the opposite is most definitely the case!

Case in point: over the last 18 months or so we've been on an aggressive schedule for JBossAS 7, which has some pretty fundamental architectural changes in it. This would've been a challenge for any team (I remember how long it took us to implement HP-AS, for instance, and that team was also extremely skilled). But our teams are small and are responsible not only for development, but also for their communities too: open source means a lot more than just having your code in a public repository!

So these teams are putting in a lot of effort! They're pulling long hours too. Now of course that's not unique to open source or JBoss, but the developers are not doing this for their wages; they're doing it because they have a passion for open source and also for the history behind JBoss and our communities. They (we) believe that this is a game changer and not just another battle in the ongoing war. It's worth noting that I saw this in my Bluestone days too, both when we were independent and then part of HP. I think that the reasons behind that are very similar, only the protagonists have changed.

This release is also so fundamental to everything we are doing that even teams who wouldn't normally have much to do with AS are willing to pitch in, both during work hours and personal time. And what's more interesting is that I rarely have to ask them to help: it's a natural thing for them to do because they're as much a part of the AS community as others. From a personal perspective I've found the AS7 effort very enlightening. I've learned a lot, and much of it not just technical in nature. It is most definitely a good time to be in this role!

Sunday, June 12, 2011

Addicted?

My wife is an addictions counsellor with a strong background in psychology. It's amazed me the sorts of things that people can become addicted to and I won't go into them here! However, she's always said that the first step to addressing any addiction is for the addict to admit it. Now according to her I am addicted to work (her definition of work includes anything that involves a computer, including books and papers, so it's quite broad). I have to admit that I do spend an inordinate amount of time doing things that fall into that definition; even when I'm watching TV I'll usually have a book or laptop on my knee (now it's often my iPad). But I'm not sure I'd say I was an addict. And even if I am, I'm not sure I'd want to be "cured". I think a lot of my friends and colleagues would also fall into that category. But then that last statement does apply to many other forms of addiction. Hmmmm.

Saturday, June 11, 2011

New age developers?

I'm getting really tired (aka fed up) hearing about "new age" developers and applications, when certain people talk about the cloud. Look, there are only developers and applications! There's nothing "new age" about this. Some things change, as with each new wave of technology, but many things remain the same. Sure the problem space has changed and we are seeing new applications and approaches being developed, but let's not imbue mythical attributes to those applications or developers! They're no better or worse than developers or apps of the past. Though if you listen to some, "new age" means thinking and working so far outside the box that you're in the next reality! This is starting to get ridiculous and in the local vernacular it's getting on nerves! Evolution people, not revolution!

Sunday, June 05, 2011

Updating the history of Arjuna

Back in 2002 when I was still with HP and our transaction system was still called Arjuna, I wrote a paper with Santosh on the transition of what had started out purely as an academic vehicle for getting a few of us PhDs, into a rather successful product. Back then we conjectured what might happen in the next few years, but the reality has turned out to be even more interesting.

We've always talked about updating the paper, but it's never happened. So it was with interest that we were asked to write a new version as part of a book for Brian Randell's birthday. The paper is almost finished and it has been a lot of fun working on it and remembering all of the things that have happened in the intervening decade: HP leaving the middleware space and us starting again with Arjuna, Web Services transactions, joining JBoss and taking Arjuna there, Red Hat, REST and more. Not all of it will be in this paper, but then maybe that leaves room for yet another update?!

One thing that updating the paper clearly showed was that something that started life as an academic project has not only had an impact on many products over many years, but also an impact on the people who have worked on it. Individuals have come and gone from the team over the years and they've all left their mark on the system and vice versa. And like the system, they've been a great group of people! So whether it's called Arjuna, JBossTS or something else, it and this paper remain a tribute to them all.

Heisenberg and the CAP theorem

For many years I've been working on extended transactions protocols. The CORBA Activity Service, WS-TX and now REST-TX are efforts on that road. There are many similarities between the problems of long running transactions and large scale replication, so the facts that I did my PhD on both gave me some insights to helping resolve both.

One of the early pieces of research I did was on combining replication and transactions to create consistency domains, where a large number of replicas are split into domains and each domain (replica group) has a relationship with the others in terms of their state and level of consistency. Rather than try to maintain strong consistency between all of the replicas, which incurs overhead proportional to the number of replicas as well as their physical locality, we keep the number of replicas per domain small (and hopefully related) and grow the number of domains if necessary. Then each domain has a degrees of inconsistency with others in the environment.

The basic idea behind the model is that of eventual consistency: in a quiescent period all of the domains would have the same state, but during active periods there is no notion of global/strong consistency. The protocol ensures that state changes flow between domains at a predefined rate (using transactions). A client of the inconsistent replica group can enquire of a domain the state at any time, but may not get the global state, since not all updates will have propagated. Alternatively a client can request the global state but may not know the time it will take to be returned.

If you know Heisenbergs Uncertainty Principle then you'll know that it means you cannot determine the momentum and position of a particle at the same time (or other related properties). Thus it was fairly natural for me to use this analogy when describing the above protocol: an observer cannot know the global state of the system and when that will be the steady state at the same moment, i.e., it's one or the other. It's not a perfect analogy, but in a time when others seemed to like to bring physics into computing it seemed appropriate.

Now of course the original work was before the CAP theorem was formalised. So today we see people referring to that whenever they need to talk about relaxing consistency. And of course that is the right thing to do; if I were reviewing a paper today that was about relaxing consistency and the authors didn't reference CAP then I'd either reject it or have a few stern words to say to them. But I still thing Heisenberg is a way cooler analogy to make. However, I do admit to being slightly biased!

Dublin here I come!

I'm off to the Red Hat Partner Summit in Dublin in a few hours time. I'm giving a couple of presentations, one on the future of JBoss and one on how JBoss and the Cloud come together. I'm looking forward to them because the audience will be slightly different to those I've presented these topics to over the past few months, so it'll give me a chance to get much broader feedback. Plus it's been a while since I was in Dublin last, so hopefully there'll be a chance to get out and enjoy the place too.

Friday, June 03, 2011

Future of Middleware

There's a special event being organised as part of Middleware 2011 called the Future of Middleware Event (FOME). I've been asked to contribute to the event and associated paper/book, along with my friend, co-creator of Arjuna and long time mentor Professor Shrivastava. I'm looking forward to it, because it's related to quite a few things that I'm doing elsewhere too!

Thursday, June 02, 2011

Architectural discussions and plans

I haven't had a chance to blog here much recently because my attention has been elsewhere, particularly around JBoss specific activities. One of the ones I'm really enjoying at the moment is thinking about the future of JBoss. Since some of this is really independent of JBoss implementations and more to do with where I think middleware in general could/should go, I may try and keep some of the discussions here and cross link in both directions.

Friday, May 27, 2011

International Workshop on Clouds for Enterprises 2011

Call for Papers: The International Workshop on Clouds for Enterprises (C4E) 2011

http://nicta.com.au/people/tosicv/clouds4enterprises2011/

held at the 13th IEEE Conference on Commerce and Enterprise Computing (CEC'11, http://www.tudor.lu/cec2011)

on Monday, 5 September 2011 in Luxembourg, Luxembourg

Important dates:

Paper submission: Monday, 20 June 2011 (strict, except for re-submission of papers reviewed by CEC'11)

Notification of acceptance: Monday, 4 July 2011


Description:

Cloud computing is an increasingly popular computing paradigm that aims to streamline the on-demand provisioning of software (SaaS), platform (PaaS), infrastructure (IaaS), and data (DaaS) as services. Deploying applications on a cloud can help to achieve scalability, improve flexibility of computing infrastructure , and reduce total cost of ownership. However, a variety of challenges arise when deploying and operating applications and services in complex and dynamic cloud-based environments, which are frequent in enterprises and governments.

Due to the security and privacy concerns with public cloud offerings (which first attracted widespread attention), it seems likely that many enterprises and governments will choose hybrid cloud, community cloud, and (particularly in the near future) private cloud solutions. Multi-tier infrastructures like these not only promise vast opportunities for future business models and new types of integrated business services, but also pose severe technical and organizational problems.

The goal of this workshop is to bring together academic, industrial, and government researchers (from different disciplines), developers, and IT managers interested in cloud computing technologies and/or their consumer-side/provider-side use in enterprises and governments. Through paper presentations and discussions, this workshop will contribute to the inter-disciplinary and multi-perspective exchange of knowledge and ideas, dissemination of results about completed and on-going research projects, as well as identification and analysis of open cloud research and adoption/exploitation issues.

This workshop invites contributions from both technical (e.g., architecture-related) and business perspectives (with governance issues spanning both perspectives). The topics of interest include, but are not limited to:

Technical Perspective:

- Patterns and best practices in development for cloud-based applications

- Deployment and configuration of cloud services

- Migration of legacy applications to clouds

- Hybrid and multi-tier cloud architectures

- Architectural support for enhancing cloud computing interoperability and portability

- Architectural principles and approaches to cloud computing

- Cloud architectures for adaptivity or robustness

- Evaluation methods for cloud architectures

- Architectural support for dynamic resource management to support computing needs of cloud services

- Cloud architectures of emerging applications, such as mashup of enterprise/government services

- Impact of cloud computing on architecture of software and, more generally, IT systems

Enterprise/Government Application Perspective:

- Case studies and experience reports in development of cloud-based systems in enterprises and governments

- Analyses of cloud initiatives of different governments

- Business aspects of cloud service markets

- Technical and business support for various cloud service market roles, such as brokers, integrators, and certification authorities

- New applications and business models for enterprises/governments leveraging cloud computing

- Economic evaluation of cloud-based enterprises

Governance Perspective:

- Service lifecycle models

- Architectural support for security and privacy

- Architectural support for trust in/by cloud services

- Capacity planning of services running in a cloud

- Architectural support for quality of service (QoS) and service level agreement (SLA) management

- Accountability of cloud services, including mechanisms, algorithms and methods for monitoring, analyzing and reporting service status and usage profiles

- IT Governance and compliance, particularly in hybrid and multi-tier clouds


Review and publication process:

Authors are invited to submit previously unpublished, high-quality papers before

***20 June 2011***.

Due to the limited time for review, this is a strict paper submission deadline and extensions will be given only to re-submission of papers reviewed by CEC'11 (authors of these papers will have about 3 days after CEC'11 notification to improve their papers). Papers published or submitted elsewhere will be automatically rejected. All submissions should be made using the EasyChair Web site http://www.easychair.org/conferences/?conf=c4e2011.

Two types of submissions are solicited:

* Full papers – describing mature research or industrial case studies – up to 8 pages long

* Short papers – describing work in progress or position statements – up to 4 pages long

Papers presenting and analyzing completed projects are particularly welcome. Papers about on-going research projects are also welcome, especially if they contain critical, qualitative and quantitative analysis of already achieved results and remaining open research issues. In addition, papers about experiences and comparative analysis of using cloud computing in enterprises and governments are also welcome. Submissions from industry and government are particularly encouraged. In addition to presentation of peer-reviewed papers this one-day workshop will contain a keynote from an industry expert and an open discussion session on practical issues of migrating legacy enterprise and government applications to clouds.

All accepted papers (both full and short) will be published by the IEEE and included into the IEEE Xplore digital library. A follow-up journal issue with improved and extended versions of the best workshop papers is also planned.

Paper submissions must be in the IEEE conference paper format. Papers in other formats will be rejected automatically. Guidelines and templates for this format are available at: http://www.ieee.org/conferences_events/conferences/publishing/templates.html. All submissions should include the author's name, affiliation and contact details. The document format for all paper submissions is Adobe PDF.

All submissions will be formally peer-reviewed by at least 2 Program Committee members. The authors will be notified of acceptance by

***4 July 2011***.

Since this date is very close to the deadline that the workshop chairs have for submission of camera-ready papers to the IEEE, there will be very short time (if any) for improving accepted submissions into camera-ready versions of the final papers. Further information about the procedure will be provided to the authors closer to the notification date.

At least one author of every accepted paper must register for the whole CEC’11 conference (there is no separate workshop registration) and present the paper.

Inquiries about paper submission should be e-mailed to Dr. Vladimir Tosic (vladat at server: computer.org) and include "Clouds for Enterprises 2011 Inquiry" in the Subject line.

Workshop Chairs:

Dr. Vladimir Tosic, NICTA, Australia; E-mail: vladat (at: computer.org) – primary workshop contact

Dr. Andrew Farrell, HP Labs, UK; E-mail: andrew.farrell (at: hp.com)

Dr. Karl Michael Göschka, Vienna University of Technology, Austria; E-mail: Karl.Goeschka (at: tuwien.ac.at)

Sebastian Hudert, University of Bayreuth, Germany; E-mail: sebastian.hudert (at uni-bayreuth.de)

Prof. Hanan Lutfiyya, University of Western Ontario, Canada, E-mail: hanan (at: csd.uwo.ca)

Dr. Michael Parkin, Tilburg University, The Netherlands, E-mail: m.s.parkin (at: uvt.nl)

Workshop Program Committee (to be completed):

Danilo Ardagna, Politecnico di Milano, Italy

Tina Balke, Uni. Bayreuth, Germany

Paul L. Bannerman, NICTA, Australia

Rajkumar Buyya, Uni. Melbourne, Australia

Shiping Chen. CSIRO, Australia

Torsten Eymann, Uni. Bayreuth, Germany

Felix Freitag, Uni. Politècnica de Catalunya, Spain

Lorenz Froihofer, A1 Telekom Austria, Austria

Ian Gorton, PNNL, USA

Matti Hiltunen, AT&T Labs, USA

Christophe Huygens, Katholieke Uni. Leuven, Belgium

Hans-Arno Jacobsen, Uni. Toronto, Canada

Bastian Koller, HLRS, Germany

Kevin Lee, Murdoch Uni., Australia

Mark Little, Red Hat, UK

Yan Liu, PNNL, USA

André Ludwig, Uni. Leipzig, Germany

John Mace, Newcastle Uni., UK

Patrick Martin, Queens Uni., Canada

Leandro Navarro, Uni. Politècnica de Catalunya, Spain

Rui Oliveira, Uni. Minho, Portugal

José Orlando Pereira, Uni. Minho, Portugal

Nicolas Repp, TU Darmstadt, Germany

Giovanni Russello, CREATE-NET, Italy

Derong Shen, Northeastern University, China

Philipp Stephanow, Fraunhofer SIT, Germany

Francois Taiani, Lancaster Uni., UK

Yazhe Tang, Xi'an Jiaotong Uni., China

Eddy Truyen, Katholieke Uni. Leuven, Belgium

Hiroshi Wada, NICTA, Australia

Philipp Wieder, TU Dortmund, Germany

Guido Wirtz, Uni. Bamberg, Germany

Yun Yang, Swinburne Uni. of Tech., Australia

Liangzhao Zeng, IBM Research, USA


Monday, May 16, 2011

Ubiquitous Computing

Another cross post about JBossEverywhere.

Compute and Data Clouds

I've discussed several times about the need for public and private clouds. Unfortunately it's still possible to find people and vendors who believe that only public clouds are "true" clouds, whatever that means. From a purely technical perspective I am disappointed because the scientist in me always tries to take an objective stance. Factor in the business side and I can understand why they make these statements. It doesn't make it right in my book though.

However, I want to move the debate on because I think some stances are unlikely to change any time soon. So I began to think of the real reasons behind cloud: what brought us to where we are today, both social as well as technical. In some ways this is related to the posting I'll make later on the vision behind JBossEverywhere, but even that goes back even further to the root of cloud: grid computing and ubiquitous computing.

I was involved in some of the grid efforts in the early 2000's, particularly around the area of transactions and, independently, Web Services. In fact it was several of my friends and colleagues, several of whom were working for me at Arjuna, who wrote a seminal paper on the subject that really did stir up a hornets nest at the time.

However, I digress. If you look back at the grid work at the time, it had really coalesced into two different, though related, use cases: compute grids, where the networked resources worked in parallel on a (typically) small set of data that was farmed out to them by some central server(s), and the data grid, where the resources cooperate on processing a (typically) large data set that may have taken hours or days to download to them and which they may all share. The software and architecture of both types of grids could be markedly different for very good reasons, including fault tolerance and security.

Well I think those same reasons need to be applied to the cloud. Why would someone go to the expense of setting up a private cloud, for instance, versus a public clouds? Why would you use a hybrid approach? Ultimately I believe it is because of the data, and have said so before: the cloud will go to the data and not the other way around. But why? For the same reasons as the grid. If you have lots of data that would take hours or days to upload to a cloud, then you probably don't want to go the public route as failures (e.g., the AWS outage) could cost you valuable time and money, not forgetting the headache of ensuring that that much data can remain secure! But if you can split the data into logical quanta that can be processed relatively independently, then you could gain from the public cloud, even if just as an "overflow" mechanism when your private cloud runs out of capacity, as securing smaller amounts of data can be easier to accomplish and a failure should be more self contained.

Hmmm, I wonder if there's also a suitable analogy to make here with traditional ACID transactions and long running (extended) transactions?

Anyway, I believe that the public, private or hybrid debates should move on and we need to be talking about compute and data clouds. At that level the choice of *where* to host the work becomes more obvious and should be taken out of the hands of subjective vendor debates.

Papers, papers everywhere ...

Recently I got harangued by a couple of people for not having a list of my papers and books on the blog. (Go figure!) So here goes, and probably eventually I'll link to downloadable versions (until then just remember that Google Is Your Friend!)

Note, this does not include standards and specifications I've worked on! Furthermore, it's definitely out of date by a few years as well as me forgetting a few things that have happened over the past 20. Check here for a more accurate list, though I suspect even that has some problems.

Journals
  • M.C. Little and D.L. McCue, “Construction and Use of a 
Simulation Package in C++," C User's Journal Vol. 12, Number 3, March 1994.
  • G.D. Parrington, S.K. Shrivastava, S.M. Wheater and M.C. Little, "The Design and Implementation of Arjuna," USENIX Computing Systems Journal, Vol 8, No 3, 1995.
  • D.B. Ingham, M.C. Little, S.J. Caughey, and S.K. Shrivastava, "W3Objects: Bringing Object-Oriented Technology to the Web," World Wide Web Journal, Issue 1, pp. 89-105.
  • D.B. Ingham, S.J. Caughey, and M.C. Little, "Fixing the Broken-Link Problem: The W3Objects Approach," Computing Networks & ISDN Systems, Vol. 28, No. 7-11, pp. 1255-1268.
  • D.B. Ingham, M.C. Little, S.J. Caughey, and S.K. Shrivastava, "W3Objects: Distributed Objects and the Web," Dr. Dobb's Sourcebook, Vol. 22, No. 13, pp. 19-25, January/February 1997.
  • M.C. Little and S.K. Shrivastava, "Providing end-to-end transactional Web applications using the Object Transaction Service", OMG Success Story, August 1998.
  • M.C. Little and S.K. Shrivastava, "Java Transactions for the Internet" (Extended version), Special Issue of the Distributed Systems Engineering Journal, Volume 5, Number 4, December 1998.
  • L.B. Arief, M.C. Little, S.K. Shrivastava, N.A. Speirs and S.M. Wheater, "Specifying Distributed System Services", BT Technology Journal, Vol. 17 No. 2 April 1999, pp. 126-136.
  • Mark C. Little and Santosh K. Shrivastava, "Integrating Group Communication with Transactions for Implementing Persistent Replicated Objects", Lecture Notes in Computer Science, vol. 1752, Springer-Verlag, pp. 238-253.
  • Mark C. Little, Stuart M. Wheater, David B. Ingham, C. Richard Snow, Harry Whitfield, and Santosh K. Shrivastava, "The University Student Registration System: A Case Study in Building A High-Availability Distributed Application Using General Purpose Components", Lecture Notes in Computer Science, vol. 1752, Springer-Verlag, pp. 453-471.
  • Mark Little, “Transactions and Web Services”, HP Middleware Developer Journal, February 2002.
  • M. C. Little, N. A. Speirs and S. K. Shrivastava, “Using Bloom Filters to Speed-up Name Lookup in Distributed Systems”, The Computer Journal, Vol. 45, Issue 6, pp. 645-652 Oxford University Press/British Computer Society, 2002.
  • S. Dalal, S. Temel, M. Little, M. Potts and J. Webber, “Coordinating Business Transactions on the Web”, IEEE Internet Computing, January 2003.
  • M. Little, “Transactions and Web Services”, Communications of the ACM Special Issue, Volume 46, Issue 10, October 2003, pp. 49-54.
  • I Houston, M. C. Little et al, “The CORBA Activity Service Framework for Supporting Extended Transactions”, Software: Practice and Experience, Vol. 33, Issue 4, pp. 351-373, 2003.
Articles
  • “The Business Transactions Protocol”, Developer.Com, March 2002, http://softwaredev.earthweb.com/sdtech/article/0,,12065_1121331_4,00.html
  • “SOAP for the masses”, WebServices.org, July 24th 2005.
  • “Web Services Transactions and Heuristics”, WebServices.org, 10th March 2005.
  • “The OASIS WS-CAF Approach to Web Services Business Transactions”, WebServices.org, 25th January 2005.
  • “The Smorgasbord of Web Services Transactions”, WebServices.org, 17th January 2005.
  • “End-to-end transactionality: myth or reality?”, Java Developer Journal, March 2002, pp. 56-62.
  • “An overview of support for extended transaction models in J2EE”, Developer.com, May 2002.
  • “The Business Transactions Protocol”, Developer.com, May 2002.
  • J. Webber, V. Corrales, M. Little and S. Parastatidis, “Making web services work”, Application Development Advisor, November/December 2001 issue.
  • B. Martin and M. Little, “ACID is Good. Take it in Short Doses”, The ServerSide article, October 2004, http://www.theserverside.com/articles/article.tss?l=AcidShortDoses.
  • S. Parastatidis, M. Little and J. Webber, “Stateful Interactions in Web Services”, Web Services Journal, May 2004.
  • M. Little and J. Webber, “Introducing WS-CAF”, Web Services Journal, November 2003.
  • M. Little and T. Freund, “A comparison of Web services transaction protocols”, IBM DeveloperWorks article, October 2003. http://www-106.ibm.com/developerworks/webservices/library/ws-comproto/
  • M. Little and J. Webber, “Introducing BPEL4WS 1.0”, Web Services Journal, July 2003.
  • M. Little and J. Webber, “Introducing WS-Transaction part 2”, Web Services Journal, June 2003.
  • J. Webber and M. Little, “Introducing WS-Transaction part 1”, Web Services Journal, May 2003.
  • J. Webber and M. Little, “Introducing WS-Coordination”, Web Services Journal, April 2003.
Conferences/Workshops
  • M.C. Little and S.K. Shrivastava, "Replicated K-Resilient Objects
in Arjuna," Proceedings of IEEE Workshop on the Management of Replicated Data, pp. 53-58, Houston, Texas, November 1990.
  • D.L. McCue and M.C. Little, "Computing Replica Placement in a Distributed System," Proceedings of the IEEE Workshop on Replicated Data, pp. 58-61, Monterey C.A., November 1992.
  • M.C. Little, D.L. McCue and S.K. Shrivastava, "Maintaining Information about Persistent Replicated Objects in a Distributed System," Proceedings of Thirteenth International Conference on Distributed Computing Systems, pp. 491-498, Pittsburgh, May 1993.
  • M.C. Little and D.L. McCue, "The Replica Management System: a Scheme for Flexible and Dynamic Replication," Proceedings of the Second International Workshop on Configurable Distributed Systems, Pittsburgh, March 1994.
  • M.C. Little and S.K. Shrivastava, "Using Application Specific Knowledge for Configuring Object Replicas," Proceedings of the Third International Conference on Configurable Distributed Systems, pp. 169-176, Annapolis, Maryland, May 6-8, 1996.
  • S.M. Wheater and M.C. Little, "The Design and Implementation of a Framework for Configurable Software," Proceedings of the Third International Conference on Configurable Distributed Systems, pp. 136-143, Annapolis, Maryland, May 6-8, 1996.
  • M.C. Little, S.K. Shrivastava, S.J. Caughey, and D.B. Ingham, "Constructing Reliable Web Applications using Atomic Actions," Proceedings of the Sixth International World Wide Web Conference, Santa Clara, USA 7-11 April 1997.
  • S.J. Caughey, D.B. Ingham, and M.C. Little, "Flexible Open Caching for the Web," Proceedings of the Sixth International World Wide Web Conference, Santa Clara, USA 7-11 April 1997.
  • D.B. Ingham, S.J. Caughey, and M.C. Little, "Supporting Highly Manageable Web Services," Proceedings of the Sixth International World Wide Web Conference, Santa Clara, USA 7-11 April 1997.
  • M.C. Little and S.K. Shrivastava, "Distributed Transaction in Java," Contribution to High Performance Transaction Systems (HPTS) workshop, Monterey, Sept. 1997.
  • S.J. Caughey, M.C. Little and S.K. Shrivastava, "Checked Transactions in an Asynchronous Message Passing Environment", The 1st IEEE International Symposium on Object-oriented Real-time distributed Computing, Kyoto, Japan. April 1998.
  • M.C. Little and S.M. Wheater, "Building Configurable Applications in Java," The 4th International Conference on Configurable Distributed Systems (ICCDS'98), Annapolis, Maryland, USA, May 4-6, 1998.
  • M.C. Little and S.K. Shrivastava, "Java Transactions for the Internet," The 4th Conference on Object-Oriented Technologies and Systems (COOTS'98), Santa Fe, New Mexico, USA, April 1998.
  • M.C. Little and S.K. Shrivastava, "Understanding the Role of Atomic Transactions and Group Communications in Implementing Persistent Replicated Objects," The 8th International Workshop on Persistent Object Systems: Design Implementation and Use, Tiburon, California, USA, 30th August - 1st September 1998.
  • M.C. Little and S.K. Shrivastava, "Integrating the Object Transaction Service with the Web", Proceedings of the 2nd IEEE Workshop on Enterprise Distributed Object Computing (EDOC'98), November 3-5 1998, La Jolla, California.
  • G. Morgan, S.K. Shrivastava, P.D. Ezhilchelvan and M.C. Little, "Design and Implementation of a CORBA Fault-tolerant Object Group Service", Proceedings of the Second IFIP WG 6.1 International Working Conference on Distributed Applications and Interoperable Systems, DAIS'99, Helsinki, June 1999.
  • M.C. Little and S.K. Shrivastava, "Implementing high availability CORBA applications with Java", Proceedings of the IEEE Workshop on Internet Applications, San Jose, California, June 1999.
  • M.C. Little, "Object decomposition in transactional applications", Contribution to the Eighth International Workshop on High Performance Transaction Systems, Pacific Grove, California, September 26-29, 1999.
  • M.C. Little and S.K. Shrivastava, "A method for combining replication with cacheing", IEEE International Workshop on Reliable Middleware Systems (WREMI'99), Proceedings of the 18th IEEE Symposium on Reliable Distributed Systems, Lausanne, Switzerland, October 19-22, 1999.
  • P.D. Ezhilchelvan, S.K. Shrivastava and M.C. Little, “A Model Architecture for Conducting Hierarchically Structured Auctions”, Proceedings of the 4th IEEE Symposium on Object-Oriented Real-time Computing (ISORC), May 2001, Magdeburg, Germany.
  • M. Little, S. Shrivastava and S. Wheater, “Theory and Practice of building Reliable Distributed Applications”, Proceedings of the 3rd International Symposium on Distributed Objects and Applications, September 2001, Rome, Italy.
  • M.C. Little et al, “The CORBA Activity Service Framework for Supporting Extended Transactions”, Proceedings the IPIC/ACM International Conference on Distributed Systems Platforms (Middleware 2001), November 2001, Heidelberg, Germany.
  • M. C. Little and S. K. Shrivastava, “An Examination of the Transition of the Arjuna Distributed Transaction Processing Software from Research to Products”, In Proceedings of the 2nd USENIX Workshop on Industrial Experiences with Systems Software (WIESS '02), Boston, MA, USA, 8 December 2002 (Co-located with OSDI '02)
USENIX Association.
  • A. I. Kistijantoro, G. Morgan, S. K. Shrivastava and M.C. Little, “Component Replication in Distributed Systems: a Case study using Enterprise Java Beans”, 22nd IEEE/IFIP Symposium on Reliable Distributed Systems (SRDS2003), Florence, October 2003.
  • M. Little, “Full Circle for Web Services Transactions?”, Proceedings of the High Performance Transaction Systems Workshop, Asilomar, October 2003.
  • M. Little and E. Newcomer, “Interposition, Web Services and the Bable Fish”, Proceedings of the High Performance Transaction Systems Workshop, Asilomar, October 2003.
  • M. Little, “Web services transactions: past, present and future”, Proceedings of the XML 2003 conference, Philadelphia, December 2003.
  • M. Little, “Models for Web services transactions”, Proceedings of SIGMOD 2004, Paris, France, June 2004.
  • M. Little, “An Open Standards Approach to Web Services Business Transactions”, Proceedings of XML Open 2004, Cambridge University, September 2004.
  • D. Bunting and M. Little, “Business Process Context: Context, coordination and transactions in the Web Services architecture”, Proceedings of XML 2004, Washington DC, November 2004.
  • M. Little and D. Bunting, “WS-CAF and the Web Services architecture”, Proceedings of XTECH 2005, Amsterdam, The Netherlands, May 2005.
  • M. Little and S. Shrivastava, “The evolution of a transaction processing system”, Proceedings of the High Performance Transaction Systems Workshop, Asilomar, September 2005.
  • M. Little, “Blackadder and the micro-kernel approach to Web Services transactions”, Proceedings of the High Performance Transaction Systems Workshop, Asilomar, September 2005.
  • M. Little, E. Newcomer and G. Pavlik, “WS-CAF: Contexts, Coordination and Transactions for Web Services”, Proceedings of the High Performance Transaction Systems Workshop, Asilomar, September 2005.
  • M. Little, G. Pavlik and A. Kumar, “The Session Concept for Web Services”, Proceedings of XML 2005, Atlanta, GA, November 2005.
  • M. Little, G. Pavlik and A. Kumar, “The need for sessions in Web Services”, Proceedings of 3rd European Conference on Web Services, Sweden, November 2005.
  • M. Little, “The need for a general context definition in Web Services”, Proceedings of the W3C Workshop on the Web of Services, February 2007.
  • M. Little, “Transactions and open source: two steps forward, one step backwards?”, Proceedings of the High Performance Transaction Systems Workshop, Asilomar, October 2007.
  • M. Little, “High Performance Name Lookups”, Proceedings of the High Performance Transaction Systems Workshop, Asilomar, October 2009.
  • M. Little, “REST-based transactions”, Proceedings of the High Performance Transaction Systems Workshop, Asilomar, October 2009.
  • Achmad I. Kistijantoro, Graham Morgan, Santosh K. Shrivastava, and Mark C. Little, “Enhancing an Application Server to Support Available Components”, IEEE Transactions on Software Engineering, Vol. 34, No. 4, pp. 531-545, July/August 2008.
Others
  • “Replication of Transactional Objects”, International Symposium on Distributed Objects and Applications (DOA’01), Rome, Italy, September 2001.
  • “The development of Web Transactions”, OMG Web Services Workshop, San Jose, March 2002.
  • “Transactions and Web Services: present and future”, OMG Workshop, Zurich, March 2002.
  • “Beyond the Stock Quote: BTP, the long and short IT (Internet Transactions)”, JavaOne, San Francisco, March 2002.
  • “Extended transactions”, ServerSide.com Tech Talk, February 2003.
  • “Demystifying Java Transaction Processing”, JavaOne, San Francisco, July 2004.
  • “The Future of Grid Technologies”, JavaOne, San Francisco, June 2005.
Project Deliverables
  • G. Ferrari, P. Ezhilchelvan and M. Little, “Realistic and Tractable Modelling of Multi-tiered E-business Service Provisioning”, TAPAS Project deliverable, April 2005.
  • S.M. Wheater and M.C. Little, "The Design and Implementation of a Framework for Extensible Software," BROADCAST Project Technical Report.
  • M.C. Little and S.K. Shrivastava, "Object Replication in Arjuna," BROADCAST Project Techical Report, 50, October 1994.
  • G.D. Parrington, S.K. Shrivastava, S.M. Wheater and M.C. Little, "The Design and Implementation of Arjuna," BROADCAST Project Techical Report, 65, October 1994.
  • M.C. Little and S.K. Shrivastava, "Object Replication in Arjuna," Draft Version Newcastle University, Computing Science Laboratory, August 1993.
  • M.C. Little, D.L. McCue and S.K. Shrivastava, "Maintaining Information about Persistent Replicated Object in a Distributed System," BROADCAST Project Techical Report, October 1993.
  • S.K. Shrivastava, P.D. Ezhilchelvan and M.C. Little, "Understanding Component Failures and Replications in Distributed Systems," ISA Technical Report, UNT/TR1, May 1990.
  • S.K. Shrivastava, G.N. Dixon, M.C. Little, G.D. Parrington, F. Hedayati and S.M. Wheater, "The Design and Implementation of Arjuna," Technical Report Series, 280, University of Newcastle upon Tyne, Computing Laboratory, March 1989.
Books
  • M. Little, J. Maron and G. Pavlik, “Java Transaction Processing: Design and Implementation”, Prentice Hall. July 2004.
  • J. McGovern, A. Williamson, M. Little, A. Jain et al, “The J2EE 1.4 Bible”, Wiley Associates, December 2003.
  • J. McGovern, M Little et al. “Enterprise Service Oriented Architecture”, Prentice Hall. Publication date to be announced.
  • Chapter on Web Services Transactions, MIT Press Publication on “The Web Services Architecture”, 2005.

Sunday, May 15, 2011

A worrying lack of physics!

Half of my undergraduate degree was spent in advanced physics, including astronomy, astrophysics and high-energe particle physics. I loved all of those subjects and they continue to influence me today. Despite moving from academia to various companies, I've stayed pretty close to the University, so it's with great sadness that I've witnessed the collapse of subjects such as physics within it over the past few years.

Therefore, it's even more worrying to read articles such as this. People who don't really understand the importance of science are making judgements about its future without seeking the right level of consultancy, or listening to what they are being told. But then what's new? Maybe they'll understand history more?