Skip to main content

Service Combinators for Farming Virtual Machines

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5052))

Abstract

Management is one of the main expenses of running the server farms that implement enterprise services, and operator errors can be costly. Our goal is to develop type-safe programming mechanisms for combining and managing enterprise services, and we achieve this goal in the particular setting of farms of virtual machines. We assume each server is service-oriented, in the sense that the services it provides, and the external services it depends upon, are explicitly described in metadata. We describe the design, implementation, and formal semantics of a library of combinators whose types record and respect server metadata. We describe a series of programming examples run on our implementation, based on existing server code for a typical web application.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • AppLogic: Grid Operating System for Utility Computing. 3TERA (September 2006), http://0301.netclime.net/1_5/8/A/8/3teraAppLogic0906.pdf

  • Amazon Elastic Compute Cloud (Amazon EC2) - Limited Beta. Amazon Web Services LLC (August 2006), http://aws.amazon.com/ec2

  • Anderson, P.: Towards a High-Level Machine Configuration System. In: Proceedings of the 8th Large Installations Systems Administration (LISA) Conference, Berkeley, CA, pp. 19–26 (1994)

    Google Scholar 

  • Armstrong, B.: Professional Microsoft Virtual Server 2005. Wiley, Chichester (2007)

    Google Scholar 

  • Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I., Warfield, A.: Xen and the art of virtualization. In: Symposium on Operating Systems Principles (SOSP 2003), pp. 164–177 (2003)

    Google Scholar 

  • Bavier, A., Chun, B., Culler, D., Karlin, S., Muir, S., Peterson, L., Roscoe, T., Spalink, T., Wawrzoniak, M.: Operating system support for planetary-scale network services. In: NSDI 2004 (2004)

    Google Scholar 

  • Bhargavan, K., Fournet, C., Gordon, A.D., Tse, S.: Verified interoperable implementations of security protocols. In: 19th IEEE Computer Security Foundations Workshop (CSFW 2006), pp. 139–152 (2006)

    Google Scholar 

  • Bhargavan, K., Gordon, A.D., Narasamdya, I.: Service combinators for farming virtual machines. Technical Report MSR–TR–2007–165, Microsoft Research (2007)

    Google Scholar 

  • Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelsohn, N., Nielsen, H., Thatte, S., Winer, D.: Simple Object Access Protocol (SOAP) 1.1 (2000)

    Google Scholar 

  • Carpineti, S., Laneve, C., Padovani, L.: Piduce—a project for experimenting web services technologies (2006), http://www.cs.unibo.it/PiDuce/

  • Castagna, G., Vitek, J., Zappa Nardelli, F.: The seal calculus. Information and Computation 201(1), 1–54 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  • Christensen, E., Curbera, F., Meredith, G., Weerawarana, S.: Web Services Description Language (WSDL) 1.1 (2001)

    Google Scholar 

  • Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. In: Sixth Symposium on Operating System Design and Implementation (OSDI 2004), pp. 137–150 (2004)

    Google Scholar 

  • Garfinkel, S.: Commodity grid computing with Amazon’s S3 and EC2. login, 7–13 (February 2007)

    Google Scholar 

  • Goldsack, P., Guijarro, J., Lain, A., Mecheneau, G., Murray, P., Toft, P.: SmartFrog: Configuration and automatic ignition of distributed applications, 2003. In: Presented at 2003 HP Openview University Association conference (2003), http://www.hpl.hp.com/research/smartfrog/

  • Gordon, A.D.: V for Virtual. In: Algebraic Process Calculi: The First Twenty Five Years and Beyond, pp. 114–117 (2005) (Available as BRICS Note NS–05–3, University of Aarhus)

    Google Scholar 

  • Hoykhet, A., Lange, J., Dinda, P.: Virtuoso: A system for virtual machine marketplaces. Technical Report NWU-CS-04-39, Northwestern University, URL (2004), http://virtuoso.cs.northwestern.edu/NWU-CS-04-39.pdf

  • Huang, L., Hudak, P., Peterson, J.: HPorter: Using Arrows to Compose Parallel Processes. In: Hanus, M. (ed.) PADL 2007. LNCS, vol. 4354, pp. 275–289. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  • Preboot Execution Environment (PXE) Specification. Intel Corporation and SystemSoft (1999), available at http://www.pix.net/software/pxeboot/archive/pxespec.pdf

  • Lapadula, A., Pugliese, R., Tiezzi, F.: A Calculus for Orchestration of Web Services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 33–47. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  • Lienhardt, M., Schmitt, A., Stefani, J.-B.: OZ/K: A kernel language for component-based open programming. In: Generative Programming and Component Engineering (GPCE 2007) (2007)

    Google Scholar 

  • Meyer, R.A., Seawright, L.H.: A virtual machine time-sharing system. IBM Systems Journal 9(3), 199–218 (1970)

    Article  Google Scholar 

  • Nagaraja, K., Oliveira, F., Bianchini, R., Martin, R.P., Nguyen, T.D.: Understanding and dealing with operator mistakes in internet services. In: OSDI 2004: Proceedings of the 6th Symposium on Operating Systems Design & Implementation, Berkeley, CA, USA, pp. 61–76, USENIX Association (2004)

    Google Scholar 

  • Oppenheimer, D., Ganapathi, A., Patterson, D.A.: Why do Internet services fail, and what can be done about it? In: 4th Usenix Symposium on Internet Technologies and Systems (USITS 2003) (2003)

    Google Scholar 

  • Pallmann, D.: Programming Indigo: The Code Name for the Unified Framework for Building Service-Oriented Applications on the Microsoft Windows Platform. Microsoft Press (2005)

    Google Scholar 

  • Schmitt, A., Stefani, J.-B.: The Kell calculus: A family of higher-order distributed process calculi. In: Global Computing. LNCS, pp. 146–178. Springer, Heidelberg (2005)

    Google Scholar 

  • Syme, D., Granicz, A., Cisternino, A.: Expert F#. Apress (2007)

    Google Scholar 

  • Wolf, C., Halter, E.M.: Virtualization: from the desktop to the enterprise. Apress (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Doug Lea Gianluigi Zavattaro

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bhargavan, K., Gordon, A.D., Narasamdya, I. (2008). Service Combinators for Farming Virtual Machines. In: Lea, D., Zavattaro, G. (eds) Coordination Models and Languages. COORDINATION 2008. Lecture Notes in Computer Science, vol 5052. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68265-3_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-68265-3_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-68264-6

  • Online ISBN: 978-3-540-68265-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics