Skip to main content
Log in

The mailbox problem

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

We propose and solve a synchronization problem called the mailbox problem, motivated by a particular type of interaction between a processor and an external device or between two threads. In this problem, a postman delivers letters to the mailbox of a home owner and uses a flag to signal a non-empty mailbox. The owner must remove all letters delivered to the mailbox and should not walk to the mailbox if it is empty. We present algorithms and an impossibility result for this problem.

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.

Institutional subscriptions

Similar content being viewed by others

Roman Rietsche, Christian Dremel, … Jan-Marco Leimeister

References

  1. Abadi M., Lamport L.: The existence of refinement mappings. Theor. Comput. Sci. 82(2), 253–284 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  2. Ellen, F., Lev, Y., Luchangco, V., Moir, M.: SNZI: scalable nonzero indicators. In: PODC ’07: Proceedings of the Twenty-Sixth Annual ACM Symposium on Principles of Distributed Computing, pp. 13–22. ACM, New York (2007). doi:10.1145/1281100.1281106

  3. Herlihy M.P.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)

    Article  Google Scholar 

  4. Herlihy M.P., Wing J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)

    Article  Google Scholar 

  5. Lamport L.: A new solution of Dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)

    Article  MATH  MathSciNet  Google Scholar 

  6. Lamport L.: Proving the correctness of multiprocess programs. IEEE Trans. Softw. Eng. SE 3(2), 125–143 (1977)

    Article  MathSciNet  Google Scholar 

  7. Lamport L.: On interprocess communication—part II: algorithms. Distrib. Comput. 1, 86–101 (1986)

    Article  MATH  Google Scholar 

  8. Lamport L.: The temporal logic of actions. ACM Trans. Program. Lang. Syst. 16(3), 872–923 (1994)

    Article  Google Scholar 

  9. Lamport, L.: The PlusCal algorithm language. In: Leucker, M., Morgan, C. (eds.) Proceedings of the 6th International Colloquium on Theoretical Aspects of Computing, Springer, Berlin. Lecture Notes in Computer Science, vol. 5684, pp. 36–60 (2009). Current information on PlusCal can be found at http://research.microsoft.com/users/lamport/tla/pluscal.html. The page can also be found by searching the Web for the 25-letter string obtained by removing the “-” from uid-lamportpluscalhomepage

  10. Lampson B.W., Redell D.D.: Experience with processes and monitors in mesa. Commun. ACM 23(2), 105–117 (1980)

    Article  Google Scholar 

  11. Lynch N.A.: Distributed algorithms. Morgan Kaufmann, San Mateo (1995)

    Google Scholar 

  12. Peterson G.L.: Concurrent reading while writing. ACM Trans. Program. Lang. Syst. 5(1), 46–55 (1983)

    Article  MATH  Google Scholar 

  13. Saltzer, J.H.: Traffic control in a multiplexed computer system. Project MAC Technical Report MAC-TR-30, M.I.T. (1966)

  14. Yu, Y., Manolios, P., Lamport, L.: Model checking TLA + specifications. In: Pierre, L., Kropf, T. (eds.) Correct Hardware Design and Verification Methods. Springer, Berlin. Lecture Notes in Computer Science, vol. 1703, pp. 54–66, 10th IFIP wg 10.5 Advanced Research Working Conference, CHARME ’99 (1999)

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Aguilera, M.K., Gafni, E. & Lamport, L. The mailbox problem. Distrib. Comput. 23, 113–134 (2010). https://doi.org/10.1007/s00446-010-0102-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-010-0102-8

Keywords

Navigation