Comp150CPA: Clouds and Power-Aware Computing
Classroom Exercise 13
Designing Clouds
Spring 2011

group member 1: ____________________________ login: ______________

group member 2: ____________________________ login: ______________

group member 3: ____________________________ login: ______________

group member 4: ____________________________ login: ______________

group member 5: ____________________________ login: ______________

In class we have explored the higher-level aspects of designing a cloud application, including the building blocks and some common patterns. Let's explore this in more detail.

  1. What are the design tradeoffs involved between storing all information in a DHT object and linking to other DHT objects via object handles? Why would you choose one method over the other?

  2. Exactly when would you use Map/Reduce instead of DHTs to solve a problem? When would DHTs be preferable instead?
  3. The Bar Corporation wants to sell access information to their location-aware service. Each query from a cellphone is stored along with the user's identity and GPS location. Customers of the Bar Corporation can query for a specific user's location, or for all users currently near a specific place of interest (e.g., a restaurant). Queries will be real-time and the SLA will be tight. How would you architect a cloud solution to this problem? What information would you store where, and why?

  4. You want to write a location-aware service for locating ticket scalpers at concerts. Scalpers register and are tracked in real time. Users can query for the scalpers near them. The scope of the project includes hundreds of simultaneous concerts. How would you architect the solution? Why?