Skip to main content
Log in

Formalization and Analysis of Haystack Architecture from Process Algebra Perspective

  • Published:
Mobile Networks and Applications Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

References

  1. 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

  2. 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

  3. 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

  4. Brookes SD, Hoare CAR, Roscoe AW (1984) A theory of communicating sequential processes. J ACM 31(3):560–599

    Article  MathSciNet  Google Scholar 

  5. 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)

  6. 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

  7. Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  8. 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

  9. 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

  10. 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

  11. Lowe G, Roscoe AW (1997) Using CSP to detect errors in the TMN protocol. IEEE Trans Software Eng 23(10):659–669

    Article  Google Scholar 

  12. Roscoe AW (1997) The theory and practice of concurrency. Prentice Hall, Englewood Cliffs

    Google Scholar 

  13. Roscoe AW (2010) Understanding concurrent systems. Texts in Computer Science, Springer

  14. 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

  15. 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

  16. 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

  17. Wu X, Zhu H (2016) Formalization and analysis of the REST architecture from the process algebra perspective. Future Generation Comp Syst 56:153–168

    Article  Google Scholar 

  18. 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

    Google Scholar 

  19. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Huibiao Zhu.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11036-019-01433-1

Keywords

Navigation