For my PhD research I am investigating the theory and implementation of a global event system, and I am exploring some of the applications facilitated by employing a global event mechanism (which can be achieved by distributing the local event mechanisms provided by Microsoft's COM+ and Sun's JavaBeans).
The essential idea is to have a network of persistent distributed objects, where any authorized object can listen to events generated by other objects. Middlemen are employed to filter, forward, aggregate, and collate events; they can also intermediate between otherwise competing objects.
In this short note, we discuss an example application that can benefit from using global events: Automating Request-for-Proposals.
Today, if you want a collection of related items, you search for vendors of each of the items, get information from them, and then select from the appropriate vendors the items from that best satisfy your constraints. An good example of this is Bottom Dollar.
By contrast, when a government agency wants a task accomplished, where the task itself has several subtasks, the government publishes an RFP (Request for Proposals) for completing that task. Middlemen listen for announcements of RFPs, and then form collaborative groups of different companies and universities (who otherwise compete) to respond to the RFPs.
The fundamental question my research addresses is:
Can software and the Internet allow each of us to announce RFPs for all types of transactions -- even very small ones -- and can software middlemen listen to the thousands of transactional RFPs announced every minute, and then form just-in-time collaborations among different (often competing) organizations to fulfill those requests?
For example, if you want to arrange a ski trip in one of several places -- say Utah, Vermont, or Southern California -- you could visit several dozen Web sites today and get information on hotels, airfare, rental cars, rental ski equipment, ski lift rates, and so on, and then weigh all of the information to pick the best deal piecewise.
My goal is to design a system in which you could just announce the attributes you prefer and constraints you require for the vacation. Then, software middlemen compete as your personal "travel agents", attempting to compose the best package given those attributes and constraints, by contacting the end-vendors, collating a set of offers, and responding to your request with that suite of choices.
The theoretical part of the RFP example involves exploring ways of defining RFPs:
How do you specify the attributes that you want for your task so that listeners can understand them and respond to them?
The systems research parts of this application domain are also challenging:
How can you use distributed system technology available today to build a prototype system that supports electronic commerce using global events and middlemen?
Adam Rifkin, http://www.ifindkarma.com/attic/
PhD-Related Documents, Caltech Infospheres Project
Last modified: Fri May 8 06:16:59 PDT 1998