This Article 
 Bibliographic References 
 Add to: 
Quiver: Consistent and Scalable Object Sharing for Edge Services
July 2008 (vol. 19 no. 7)
pp. 878-889
We present Quiver, a system that coordinates service proxies placed at the "edge" of the Internet to serve distributed clients accessing a service involving mutable objects. Quiver enables these proxies to perform consistent accesses to shared service objects, by migrating the objects to the proxies performing operations on those objects. These migrations dramatically improve performance when operations involving an object exhibit geographic locality, since migrating this object into the vicinity of proxies hosting these operations will benefit all such operations. Other workloads benefit from Quiver dispersing the compute load across the proxies, and saving the costs of transmitting operation parameters over the wide-area when these are large. Quiver also supports optimizations for single-object reads that do not involve migrating the object. We detail the protocols for implementing object operations and for accommodating the dynamic addition, involuntary disconnection and voluntary departure of Quiver proxies. We also evaluate Quiver through experiments on PlanetLab. Finally, we discuss the use of Quiver in two example settings: an e-commerce application and a distributed network traffic modeling service.

[1] S. Sivasubramanian, M. Szymaniak, G. Pierre, and M. van Steen, “Replication for Web Hosting Systems,” ACM Computing Surveys, vol. 36, no. 3, pp. 291-334, Sept. 2004.
[2] A. Davis, J. Parikh, and W.E. Weihl, “Edgecomputing: Extending Enterprise Applications to the Edge of the Internet,” Proc. 12thInt'l World Wide Web Conf. (WWW), 2004.
[3] J. Tatemura, W. Hsiung, and W. Li, “Acceleration of Web Service Workflow Execution through Edge Computing,” Proc. 13th Int'l World Wide Web Conf. (WWW), 2003.
[4] C. Papadimitriou, “The Serializability of Concurrent Database Updates,” J. ACM, vol. 26, no. 4, pp. 631-653, Oct. 1979.
[5] P.A. Bernstein, V. Hadzilacos, and N. Goodman, Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.
[6] N. Budhiraja, K. Marzullo, F.B. Schneider, and S. Toueg, “Chapter8: The Primary-Backup Approach,” Distributed Systems, second ed., S. Mullender, ed., 1993.
[7] M. Herlihy and J. Wing, “Linearizability: A Correctness Condition for Concurrent Objects,” ACM Trans. Programming Languages and Systems, vol. 12, no. 3, pp. 463-492, 1990.
[8] Q. Luo, S. Drishnamurthy, C. Mohan, H. Pirahesh, H. Woo, B.G. Lindsay, and J.F. Naughton, “Middle-Tier Database Caching for e-Business,” Proc. ACM SIGMOD '02, June 2002.
[9] M. Altinel, C. Bornhvd, S. Krishnamurthy, C. Mohan, H. Pirahesh, and B. Reinwald, “Cache Tables: Paving the Way for an Adaptive Database Cache,” Proc. 29th Int'l Conf. Very Large Data Bases (VLDB'03), Sept. 2003.
[10] K. Amiri, S. Park, R. Tewari, and S. Padmanabhan, “DBProxy: A Dynamic Data Cache for Web Applications,” Proc. 19th IEEE Int'l Conf. Data Eng. (ICDE '03), Mar. 2003.
[11] W. Li, O. Po, W. Hsiung, K.S. Candan, D. Agrawal, Y. Akca, and K. Taniguchi, “CachePortal II: Acceleration of Very Large Scale Data Center-Hosted Database-Driven Web Applications,” Proc. 29th Int'l Conf. Very Large Data Bases (VLDB '03), Sept. 2003.
[12] C. Plattner and G. Alonso, “Ganymed: Scalable Replication for Transactional Web Applications,” Proc. Fifth ACM/IFIP/Usenix Int'l Middleware Conf. (Middleware), 2004.
[13] C. Olston, A. Manjhi, C. Garrod, A. Ailamaki, B.M. Maggs, and T.C. Mowry, “A Scalability Service for Dynamic Web Applications,” Proc. Second Biennial Conf. Innovative Data Systems Research (CIDR), 2005.
[14] M. Rabinovich, Z. Xiao, and A. Aggarwal, “Computing on the Edge: A Platform for Replicating Internet Applications,” Proc. Eighth Int'l Workshop Web Content Caching and Distribution (WCW), 2003.
[15] B. Urgaonkar, A.G. Ninan, M.S. Raunak, P. Shenoy, and K. Ramamritham, “Maintaining Mutual Consistency for Cached Web Objects,” Proc. 21st Int'l Conf. Distributed Computing Systems (ICDCS '01), Apr. 2001.
[16] Y. Amir, C. Danilov, M. Miskin-Amir, J. Stanton, and C. Tutu, “Practical Wide-Area Database Replication,” Technical Report CNDS-2002-1, Johns Hopkins Univ., 2002.
[17] J. Holliday, R. Steinke, D. Agrawal, and A. El-Abbadi, “Epidemic Algorithms for Replicated Databases,” IEEE Trans. Knowledge and Data Eng., vol. 15, no. 3, 2003.
[18] L. Gao, M. Dahlin, J. Zheng, L. Alvisi, and A. Iyengar, “Dual-Quorum Replication for Edge Services,” Proc. Sixth ACM/IFIP/Usenix Int'l Middleware Conf. (Middleware), 2005.
[19] A. Bernstein and N. Goodman, “Concurrency Control in Distributed Database Systems,” ACM Computing Surveys, vol. 13, no. 2, pp. 185-221, 1981.
[20] M.T. Özsu and P. Valduriez, “Distributed and Parallel Database Systems,” ACM Computing Surveys, vol. 28, no. 1, pp. 125-128, 1996.
[21] M. Nuttall, “A Brief Survey of Systems Providing Process or Object Migration Facilities,” ACM Operating Systems Rev., vol. 28, no. 4, pp. 64-80, Oct. 1994.
[22] D.S. Milojičić, F. Douglis, Y. Paindaveine, R. Wheeler, and S. Zhou, “Process Migration,” ACM Computing Surveys, vol. 32, no. 3, pp. 241-299, Sept. 2000.
[23] S. Sivasubramanian, G. Alonso, G. Pierre, and M. van Steen, “GlobeDB: Autonomic Data Replication for Web Applications,” Proc. 15th Int'l World Wide Web Conf. (WWW), 2005.
[24] K. Raymond, “A Tree-Based Algorithm for Distributed Mutual Exclusion,” ACM Trans. Computer Systems, vol. 7, no. 1, pp. 61-77, Feb. 1989.
[25] M. Naimi, M. Trehel, and A. Arnold, “A $\log({\rm N})$ Distributed Mutual Exclusion Algorithm Based on Path Reversal,” J. Parallel and Distributed Computing, vol. 34, no. 1, pp. 1-13, 1996.
[26] M.J. Demmer and M.P. Herlihy, “The Arrow Distributed Directory Protocol,” Proc. 12th Int'l Symp. Distributed Computing (DISC '98), pp. 119-133, 1998.
[27] A. Samar, “Quiver on the Edge: Consistent, Scalable Edge Services,” PhD dissertation, Carnegie Mellon Univ., Aug. 2006.
[28] R. Gallager, P. Humblet, and P. Spira, “A Distributed Algorithm for Minimum-Weight Spanning Trees,” ACM Trans. Programming Languages and Systems, vol. 5, no. 1, pp. 66-77, 1983.
[29] B. Awerbuch, “Optimal Distributed Algorithms for Minimum Weight Spanning Tree, Counting, Leader Election and Related Problems,” Proc. 19th ACM Symp. Theory of Computing (STOC '87), pp. 230-240, 1987.
[30] M. Khan and G. Pandurangan, “A Fast Distributed Approximation Algorithm for Minimum Spanning Trees,” Proc. 20th Int'l Symp. Distributed Computing (DISC '06), pp. 355-369, 2006.
[31] J. Kruskal, “On the Shortest Spanning Subtree of a Graph and the Traveling Salesman Problem,” Am. Math. Soc., vol. 7, pp. 48-50, 1956.
[32] X. Lin, “Delay Optimizations in Quorum Consensus,” Proc. 12thInt'l Symp. Algorithms and Computation (ISAAC '01), pp.576-586, 2001.
[33] F. Oprea and M.K. Reiter, “Minimizing Response Time for Quorum-System Protocols over Wide-Area Networks,” Proc. Int'l Conf. Dependable Systems and Networks (DSN '07), June 2007.
[34] A. Gupta, B.M. Maggs, F. Oprea, and M.K. Reiter, “Quorum Placement in Networks to Minimize Access Delays,” Proc. 24thACM Symp. Principles of Distributed Computing (PODC'05), pp. 87-96, July 2005.
[35] TPC Benchmark W V1.8. Transaction Processing Performance Council, http:/, 2002.
[36] V. Yegneswaran, P. Barford, and S. Jha, “Global Intrusion Detection in the DOMINO Overlay System,” Proc. 11th Ann. Network and Distributed System Security Symp. (NDSS '04), Feb. 2004.
[37] M. Bailey, E. Cooke, F. Jahanian, N. Provos, K. Rosaen, and D. Watson, “Data Reduction for the Scalable Automated Analysis of Distributed Darknet Traffic,” Proc. Internet Measurement Conf. (IMC '05), Oct. 2005.
[38] X. Jiang and D. Xu, “Collapsar: A VM-Based Architecture for Network Attack Detention Center,” Proc. 13th Usenix Security Symp., Aug. 2004.

Index Terms:
Edge services, Migration, Serializability
Michael K. Reiter, Asad Samar, "Quiver: Consistent and Scalable Object Sharing for Edge Services," IEEE Transactions on Parallel and Distributed Systems, vol. 19, no. 7, pp. 878-889, July 2008, doi:10.1109/TPDS.2007.70790
Usage of this product signifies your acceptance of the Terms of Use.