HomeDocumentProject MembersFuture PlanOther Links |
|
|
|
Web services are modular web applications that can be independently deployed and invoked by other software or services on the web. This offers enterprises the capability to integrate in-house business services with external Web services to conduct complex business transactions. For many distributed applications, the runtime performance (e.g. end-to-end delay, overall cost, service reliability and availability) of complex services are very important. . In QCWS project, we propose a broker-based framework to facilitate dynamic integration and adaptation of QoS-aware Web services with end-to-end QoS constraints. We also design various service selection and adaptation algorithms used by QoS brokers in different situations. |
|
|
|
QoS Attributes: In QCWS, we consider following QoS attributes for a service s :
Web service integration: We consider six basic service integration models in QCWS, as shown in Figure 1. |
|
|
Figure 1:Models of Service Flow Integration
|
|
For a complex service composed by several component services, the performance is measured by its end-to-end quality. Figure 2 shows a service process example. Suppose the response time and the cost of service i are ti and ci, the total response time T and the cost C of the whole system can be calculated as: T = tA +max(tB + p1 * tD + p2 * tE, tC + K * tF)+tG C = cA + cB + p1 * cD + p2 * cE + cD + K * cF+cF |
|
|
Figure 2: Service Process Integration Example |
|
|
|
The main motivation behind our QBroker framework is to help users identify and select component services for building their distributed service process. A broker can be used to conduct service integration for clients according to their needs. In our design, a broker has the Service Info Manager, the Selection Manager, the Composition Manager, and the Adaptation Manager to conduct service information tracking, composition, selection, and adaptation respectively. Figure 3 shows the architecture of QBroker. (Publication [C1],[C4])
Figure 3: QBroker Architecture |
|
|
|
In QBroker, service composition with QoS assurance is conducted in two steps: service planning and service selection, as shown in Figure 4. They are accomplished by the Composition Manager (CM) and the Selection Manager (SM) respectively. The mapping from a user request to process plans (step 1) only considers the functional requirements of the service request and has no consideration for QoS requirements. The second step is the most important and challenging step in QoS service composition. In this step, SM maps the functional graph produced by CM to a service candidate graph and constructs an executable distributed process. The mapping from a functional graph to an executable application is decided by the distributed performance of services and manages a user's QoS requirements.
Figure 4. QoS Web service composition
In our research, the service selection problem can be modelled using either the combinatorial model or the graph model. The biggest difference between the two models lies on their ability to account for the network QoS factor (transmission delay, cost, etc.) Algorithms using the combinatorial model have no flow concept and can not do the accurate estimation about network QoS values. While the algorithms solving the graph model can accurately take network QoS values into consideration but at the cost of a high algorithm complexity. Another dimension of the service selection problem is the number of QoS constraints to be considered. The problem can be solved by different algorithms if the end-to-end process has only one QoS constraint or multiple QoS constraints. So there are 4 different problem formulations. Each can be solved by different algorithms.
|
|
|
|
During the execution of a complex business process, if one component service fails or becomes overloaded, a mechanism is needed to ensure that the running process is not interrupted and the failed service is quickly and efficiently replaced. In QCWS, we design two algorithms to solve the problem. The first algorithm uses the backup path approach so that the predecessor of a failed service may quickly switch to a predefined backup path. The second algorithm uses the replacement path approach to re-construct a new process by skipping a failed service. All these dynamic adaptations can be done by business process itself or QBroker to handle single point failure. Producing the information needed for dynamic adaptation only increases the business process composition time by a constant factor regardless of the system size. (Publication [C5]) |
|