In an earlier post, I talked about the Internet of Things and how this will transform both the storage industry and our use of storage. In this blog, I'll explore some possible ramifications of the Internet of Things in a real world setting, see how the Internet of Things will drive new storage requirements, and will demand new forms of storage. For this example, I'll take the case of an airport as well as the passenger’s experience at an airport - examined from the perspective of the passenger, the airlines, and the stores found in the airport.
To start, imagine the passenger experience at an airport. If I were the passenger, what would I want to know about as I land? For my itinerary, I want to know the gate where my connecting flight leaves, how long it will take me to get there, and the best route to take to get to this gate. Most likely, I’ll want to know where the nearest restroom is en route to my next gate. Depending on how long I have between connections and the time of day, I may want to know where I can get a cup of coffee, a beer, a meal, a magazine or book, or where the nearest airline lounge is located. If I were at the end of my flight, I would want to know where the rental car desk is located (if I have rented a car), otherwise I'd want to know where the nearest taxi stand is along with the projected wait for a taxi.
For the airline, what would they want to know? As an immediate need (for a particular flight), how far away are the passengers who need to board - and how many more passengers will be able to board if they hold the flight for five or ten minutes? For deplaning passengers, which ones have tight connections and can they be allowed to exit first? How many carts should be at the gate to transport passengers? For long term needs, how can the assignment of flights to gates be optimized based on connection time, number of passengers making the connection, and the like?
Within the airport, what might the storeowners wish to know? Of the people walking by, how many are looking for a coffee, a book, or a souvenir? How many have the time to stop? If that number is a lot, perhaps the storeowner can make sure that the employees are ready for the rush, rather than restocking or performing other duties that could better be performed at slack times. Of the customers who do stop, how many have extra time before their flight? Perhaps it is worthwhile to encourage passengers to linger by adding charging stations or the like?
What kind of storage could handle all these needs? What kind of system would be necessary?
For starters, there is such a mix of information that no one technology would fit all the needs. For certain information, such as flight arrival/departure times, distances between gates, store locations, etc, an online database would be best. It would be optimized for quick query and retrieval of information and managed in a way that takes advantage of the fact that this information is generally static, potentially even being replicated across multiple database instances for scale and speed of access.
However, the information needs to be personalized. When I am making a connection, I want to know how long it will take me to walk to the gate at that time, not how long it will take a "standard person" to do it. For this, the raw information needs to be combined with the information about me, which is best stored either on a personal device or in the cloud but accessed via credentials that only I possess. This information would then be combined with information about my itinerary, information about the current congestion in the airport, and information about my other preferences. This is highly transient information which needs to be tracked and stored real-time for quick decision making so that I can receive an offer that I have time to stop for a latte and that the store 100 feet on the left can have it ready for me by the time I reach there - would I like to order it? These calculations would necessitate a big data analytic system, gathering a ton of information quickly together, processing it, and making personalized recommendations. Some of this information would be deleted soon after it was gathered, while other portions would be saved in a cloud based analytic system for later processing - was I able to make my connection okay? Was the offer of a latte effective? Which stores did I visit to browse? Did large crowds slow me down as much as anticipated? Was the assignment of flights to gates today an improvement from the assignment the previous weeks?
However, as any experienced traveler knows, airplane timetables are rather subject to change. Much of the information mentioned earlier will need to be readjusted and reprocessed in response to gate changes, weather delays, mechanical delays, and more. The list of passengers with tight connections will need to be re-evaluated based on real-time information about the arrival of the flight and the projected departure time of all connections. The list of passengers in danger of missing a connection will need to be updated based on the current wait time in passport control or pre-customs baggage claim (for international connections), updated based on wait times for inter-terminal shuttles, or updated based on how many of the moving walkways happen to be out of service in a terminal.
Clearly, there is a need for multiple forms of storage for all these needs:
- Storage for low latency, fast query of generally static information - likely a database on a block storage system, stored or cached locally at the airport, as much of this information has limited value elsewhere. Given the scale of this and the need for fast queries, a no SQL database with a highly optimized layout would be most appropriate. Much of the initial analysis could be done in batch mode, offline, based on the static information from the itineraries, where the latency of processing is hidden from the consumer. This information could be uploaded daily for use by the traveler, the airline, etc. As reality intervenes, portions of the processed results would need to be updated and ideally the vast majority of the pre-calculated information would remain valid despite the effects of some intermittent thunderstorms causing sporadic flight delays. However, a major snowstorm affecting airports like Denver and Chicago would clearly have a much larger impact, requiring a much more capable real-time processing system to cope.
- Storage for personal information and preferences about individual travelers. As this is not specific to an airport, this would be best stored on a cloud based system, accessible globally. Perhaps some of this information would be cached temporarily at the airport for faster access while I am there, but purged afterwards.
- Contextual information about my itinerary, connections, etc. Again, as this is not airport specific, this would be stored in a cloud based system for global accessibility, but also to allow updates by airlines or other parties as flight delays or other causes may change this information.
- Real time data about my location and activities in the airport, updated frequently, stored locally at the airport and used to provide the most up to date recommendations to help guide me through the airport. While the details of this information are potentially uninteresting for long term storage, anonymized summaries of this information would be invaluable for the airport managers, for airport store owners, for airlines, and anyone else seeking to improve the customer experience of flying. This would be stored in large, big data analytic systems, in central locations, for consumption by various audiences.
The benefits of the Internet of Things will come from those who are willing to rethink how critical information is gathered, stored, combined, and utilized to deliver insights and benefits that would never have been possible previously. I've presented one example above, showing how an interconnected world can optimize the experience of flying. As we rethink storage in the world of the Internet of Things, what other experiences can you think of which could be reimagined for such a world?