Abstract
As a storage system architecture optimized for Facebook’s photo application, Haystack has four main advantages than before, including high throughput and low latency, fault-tolerance, cost-effectiveness and simplicity. With its widespread use, its validity and other major properties abstracted from the architecture need to be analyzed in a formal framework. However, to the best of our knowledge, there is nearly no research conducted to describe the communications and properties in Haystack. In this paper, we focus on the internal design of serving and uploading a photo of Haystack architecture and apply Communicating Sequential Processes (CSP) to formalize them in detail. By feeding the models into the model checker Process Analysis Toolkit (PAT), we have verified some crucial properties, including basic property and supplementary properties. Basic property contains Deadlock Freedom. Supplementary properties include synchronous concurrent access, asynchronous concurrent access, synchronous concurrent access with the same client, synchronous concurrent upload and synchronous concurrent upload with the same client. Finally, according to the verification results, we believe that from the CSP’s perspective, the properties of Haystack architecture is valid, which means that it meets the requirements of the documents of Facebook.












Similar content being viewed by others
References
Albesher A, Alhussain T (2013) Privacy and security issues in social networks: an evaluation of facebook. In: ISDOC 2013 international conference on information systems and design of communication, ISDOC’13, Lisboa, Portugal, July 11-12, 2013, pp 7–10
Batista GC, Miers CC, Koslovski GP, Pillon MA, Gonzalez NM, Jr MAS (2018) Using externals idps on openstack: a security analysis of openid connect, facebook connect, and openstack authentication. In: 32nd IEEE international conference on advanced information networking and applications, AINA 2018, Krakow, Poland, May 16-18, 2018, pp 920–927
Beaver D, Kumar S, Li HC, Sobel J, Vajgel P (2010) Finding a needle in Haystack: facebook’s photo storage. In: 9th USENIX symposium on operating systems design and implementation, OSDI 2010, October 4-6, 2010, Vancouver, BC, Canada, Proceedings, pp 47–60
Brookes SD, Hoare CAR, Roscoe AW (1984) A theory of communicating sequential processes. J ACM 31(3):560–599
Fei Y, Zhu H, Wu X, Fang H, Qin S (2018) Comparative modelling and verification of Pthreads and Dthreads. J Softw Evolution Process 30(3)
Gummadi PK, Dunn RJ, Saroiu S, Gribble SD, Levy HM, Zahorjan J (2003) Measurement, modeling, and analysis of a peer-to-peer file-sharing workload. In: Proceedings of the 19th ACM symposium on operating systems principles 2003, SOSP 2003, Bolton Landing, NY, USA, October 19-22, 2003, pp 314–329
Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, Englewood Cliffs
Huang Q, Birman K, van Renesse R, Lloyd W, Kumar S, Li HC (2013) An analysis of facebook photo caching. In: ACM SIGOPS 24th symposium on operating systems principles, SOSP’13, Farmington, PA, USA, November 3-6, 2013, pp 167–181
Jung J, Krishnamurthy B, Rabinovich M (2002) Flash crowds and denial of service attacks: characterization and implications for cdns and web sites. In: Proceedings of the eleventh international world wide web conference, WWW 2002, May 7-11, 2002, Honolulu, Hawaii, USA, pp 293–304
Liu A, Popovic M, Zhu H (2017) Formalization and verification of the PSTM architecture. In: 24th Asia-Pacific software engineering conference, APSEC 2017, Nanjing, China, December 4-8, 2017, pp 427–435
Lowe G, Roscoe AW (1997) Using CSP to detect errors in the TMN protocol. IEEE Trans Software Eng 23(10):659–669
Roscoe AW (1997) The theory and practice of concurrency. Prentice Hall, Englewood Cliffs
Roscoe AW (2010) Understanding concurrent systems. Texts in Computer Science, Springer
Saroiu S, Gummadi PK, Dunn RJ, Gribble SD, Levy HM (2002) An analysis of internet content delivery systems. In: 5th symposium on operating system design and implementation (OSDI 2002), Boston, Massachusetts, USA, December 9-11, 2002
Sciarretta G, Armando A, Carbone R, Ranise S (2016) Security of mobile single sign-on: a rational reconstruction of facebook login solution. In: Proceedings of the 13th international joint conference on e-business and telecommunications (ICETE 2016) - vol 4, SECRYPT, Lisbon, Portugal, July 26-28, 2016, pp 147–158
Sharma R, Jain A, Rastogi R (2013) A new face to photo security of facebook. In: Sixth international conference on contemporary computing, IC3 2013, Noida, India, August 8-10, 2013, pp 415–420
Wu X, Zhu H (2016) Formalization and analysis of the REST architecture from the process algebra perspective. Future Generation Comp Syst 56:153–168
Xie W, Zhu H, Wu X, Xiang S, Guo J, Vinh PC (2017) Modeling and verifying HDFS using process algebra. MONET 22(2):318–331
Xu C, Zhu H, Xie W (2017) Modeling and verifying identity authentication security of HDFS using CSP. In: 24th Asia-Pacific software engineering conference, APSEC 2017, Nanjing, China, December 4-8, 2017, pp 259–268
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Yin, J., Zhu, H. & Vinh, P.C. Formalization and Analysis of Haystack Architecture from Process Algebra Perspective. Mobile Netw Appl 25, 1125–1139 (2020). https://doi.org/10.1007/s11036-019-01433-1
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11036-019-01433-1