Vidal's library
Title: Decentralizing Execution of Composite Web Services
Author: Mangala Gowri Nanda, Satish Chandra, and Vivek Sarkar
Book Tittle: Proceedings of the Object-Oriented Programming, Systems, Languages and Applications Conference
Publisher: ACM
Year: 2004
Abstract: Distributed enterprise applications today are increasingly being built from services available over the web. A unit of functionality in this framework is a web service, a software application that exposes a set of "typed" connections that can be accessed over the web using standard protocols. These units can then be composed into a composite web service. BPEL (Business Process Execution Language) is a high-level distributed programming language for creating composite web services. Although a BPEL program invokes services distributed over several servers, the orchestration of these services is typically under centralized control. Because performance and throughput are major concerns in enterprise applications, it is important to remove the ineciencies introduced by the centralized control. In a distributed, or decentralized orchestration, the BPEL program is partitioned into independent sub-programs that interact with each other without any centralized control. Decentralization can increase parallelism and reduce the amount of network trac required for an application. This paper presents a technique to partition a composite web service written as a single BPEL program into an equivalent set of decentralized processes. It gives a new code partitioning algorithm to partition a BPEL program represented as a program dependence graph, with the goal of minimizing communication costs and maximizing the throughput of multiple concurrent instances of the input program. In contrast, much of the past work on dependence-based partitioning and scheduling seeks to minimize the completion time of a single instance of a program running in isolation. The paper also gives a cost model to estimate the throughput of a given code partition. Experimental results show that decentralized execution can substantially increase the throughput of example composite services, with improvements of approximately 30% under normal system loads and by a factor of two under high system loads.

Cited by 8  -  Google Scholar

@InProceedings{nanda04a,
  author =	 {Mangala Gowri Nanda and Satish Chandra and Vivek
                  Sarkar},
  title =	 {Decentralizing Execution of Composite Web Services},
  booktitle =	 {Proceedings of the Object-Oriented Programming,
                  Systems, Languages and Applications Conference},
  year =	 2004,
  googleid =	 {r08LO_20ROoJ:scholar.google.com/},
  publisher =	 {{ACM}},
  abstract =	 {Distributed enterprise applications today are
                  increasingly being built from services available
                  over the web. A unit of functionality in this
                  framework is a web service, a software application
                  that exposes a set of "typed" connections that can
                  be accessed over the web using standard
                  protocols. These units can then be composed into a
                  composite web service. BPEL (Business Process
                  Execution Language) is a high-level distributed
                  programming language for creating composite web
                  services. Although a BPEL program invokes services
                  distributed over several servers, the orchestration
                  of these services is typically under centralized
                  control. Because performance and throughput are
                  major concerns in enterprise applications, it is
                  important to remove the ineciencies introduced by
                  the centralized control. In a distributed, or
                  decentralized orchestration, the BPEL program is
                  partitioned into independent sub-programs that
                  interact with each other without any centralized
                  control. Decentralization can increase parallelism
                  and reduce the amount of network trac required for
                  an application. This paper presents a technique to
                  partition a composite web service written as a
                  single BPEL program into an equivalent set of
                  decentralized processes. It gives a new code
                  partitioning algorithm to partition a BPEL program
                  represented as a program dependence graph, with
                  the goal of minimizing communication costs and
                  maximizing the throughput of multiple concurrent
                  instances of the input program. In contrast, much of
                  the past work on dependence-based partitioning and
                  scheduling seeks to minimize the completion time of
                  a single instance of a program running in
                  isolation. The paper also gives a cost model to
                  estimate the throughput of a given code
                  partition. Experimental results show that
                  decentralized execution can substantially increase
                  the throughput of example composite services, with
                  improvements of approximately 30\% under normal
                  system loads and by a factor of two under high
                  system loads. },
  keywords =     {multiagent workflow},
  url = 	 {http://jmvidal.cse.sc.edu/library/nanda04a.pdf},
  cluster = 	 {16880816303001784239}
}
Last modified: Wed Mar 9 10:16:16 EST 2011