The movies have a long history of exciting people with impossible control systems. The first year Star Trek was on the air, the set received visits from all the automatic door manufacturers. They all wanted to know how they got the doors to open so well, so quickly. All left disappointed after finding the secret was stage hands. Behind the set. With levers.
A few summers back, the big Tom Cruise hit was Minority Report, set in the near future. Cruise's character flees while being tracked by a high-tech police station. As he runs down the street, each store and each bar he passes scans his retinas, and displays an ad just for him. Comely maidens call him by name, and beckon him to try on some pants, to have a Guinness, to buy the next volume in a series, or even how he liked his last purchase. Meanwhile his pursuers are tracking requests for his identity. Colin Farrel’s character asks “Where are these stores in this order”. Fifth Street someone replies, and the squad cars are off.
Maybe I’m weird, but I think about the system architectures of the movies. And this movie struck me not as far out but as something that with a few assumptions, and proper attention to a service oriented architecture (SOA), one could build with off-the-shelf parts today. Here are the surfaces and the XML pay loads.
- Generic intelligent camera systems. Each camera watches the street and attempts to capture an iris scan. When it does so, it transmits a BIAS message to the company Customer Relationship Manager (CRM) and then tracks the person whose image it acquired until it is lost in the crowd
<CamId><TimeStamp><BIAS Payload>
- CRM Server at corporate HQ contacts government biometric database for a match on the BIAS package it has received from the camera.
<CompanyId><TranId><BIAS Payload>
- Government biometric database responds with a match while logging request for billing and, in this case, police tracking. The Identity that matches the BIAS packet is returned
<TranId><SSN><FirstName><LastName>
- CRM Server looks in customer databases, selects type of ad, and sends request with personalization information to Ad server
<AdRequest><PersonalizationData><CamId><TimeStamp>
- Ad Server generates custom ad, contacts Camera, and requests if it still knows where the person whose ID was captured at a certain time is.
<TranId><TimeStamp><Location>
- If the Camera is still tracking the person, it sends back to the Ad Server a geo-tagged location. Otherwise it sends back some sort of negative acknowledgement.
<TranId><GeoRSS>
- Ad Server selects holo-projector based upon reported current location and transmits ad. With Ad successfully delivered, Ad Server notifies CRM system for bill-back purposes.
<TranId><AdName><DeliveryTime>
Simple. Each system works well within the parameters of what you could do today. Just a series of minor upgrades. None of the systems require deep knowledge of the process of any of the others. And any of the components can be outsourced without changing the interface.
This is what interfaces for the enterprise require.