[ieee 2009 13th international conference on computer supported cooperative work in design -...

6

Click here to load reader

Upload: rahat

Post on 21-Mar-2017

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: [IEEE 2009 13th International Conference on Computer Supported Cooperative Work in Design - Santiago, Chile (2009.04.22-2009.04.24)] 2009 13th International Conference on Computer

Proceedings of the 2009 13th International Conference on Computer Supported Cooperative Work in Design

Adaptive User Defined Transaction Approach for CSCW

Tshoganetso Khachana, Anne James, Rahat IqbalDept. ofComputing and the Digital Environment, Coventry University, United Kingdom

(khachant, ajames, r.iqbal)@coventry.ac.uk

Abstract

This paper examines how web services can be usedto aid co-operative working for design applications,particularly with regard to transaction management.Design applications classically are long running. Userstypically check documents out to work on them, andthen check them back in later. While checked out otherusers cannot work on them. We propose a model whichwill increase throughput. We achieve this by optionallyrelaxing all ACID properties. The model will beadaptive to meet different situations with differentcharacteristics. For instance in some cases it will beappropriate to just relax atomicity. In others it may beappropriate to relax isolation and atomicity whilemaintaining consistency. In our model we will explorehow far ACID properties of a transaction andcombinations thereof can be relaxed in collaboratingdesign applications whilst still maintaining a reliableuser service. The proposed model can be used in manyareas ofapplication.

Keywords: CSCW, Transaction Management, WebService, User Defined, ACID properties.

1. Introduction

Transactions are traditionally characterised byACID properties [1]. ACID properties are: Atomicity,Consistency, Isolation and Durability. Atomicity meansall or nothing, i.e. either the transaction takes placecompletely or not at all. Consistency implies that onlyvalid data may be written in the database. Isolationrequires that multiple transactions taking place at thesame time should have no impact on each other'sexecution. No transaction should see the results ofanother transaction before it completes. Lastlydurability means that changes made are savedpermanently. For transactional systems these propertieshave served operational systems well. However, theybecome a failing when transactions are long running andrequire multiple users to share the same data. Forexample in collaborative applications like that ofYounas et al.[2] of developing collaborative editingapplications (CEA) it can be a big flaw to use the classicACID properties. This is because the applicationrequires people to work together to share someinformation, which may mean the relaxation of

978-1-4244-3535-7/09/$25.00 ©2009 IEEE

isolation. Apart from that the application is long runningand this also cannot be handled by traditional ACIDproperties.

Computer Supported Cooperation Work (CSCW) isincreasingly becoming a key to business organisation.Especially important are applications which involvedesign and production like movie making andconstruction projects. A lot of tools have beenintroduced to support such collaborations. CSCW is away in which the computer provides the support to aidcollaboration between users in any kind of placeespecially the business world. Jiang et al. [3] referred toCSCW as a work process involving a group of peopleacting together in a shared context to perform the sametask in order to achieve a pre-defined goal. Users worktogether in a collaborative way to have the work donewithout comprising data integrity and reliability. Twotypes application on which much research has beenbased are design/authoring and Workflow ManagementSystems (WfMS)

In workflow systems a group of users works on thesame task to achieve the same goal work with differentobjects while in design applications the users work onthe same objects but possibly different tasks. Differentapproaches can be used in collaboration systems likeleaving the concurrency control to the users,implementing floor control or using database-likeapproaches. The database approach is good for shortrunning transactions but not for long running transactionlike those found in CSCW systems. Long durationdesign applications are more likely to fail. To supportcooperative work, transaction models must thereforesometimes relax ACID properties.

The paper is organised as follows. Firstly somebackground is given on work already done in relaxingACID properties. Next we look at particular issues incollaborative applications. We then present our webservices approach for transaction management andfinally offer some conclusions.

2. Background on ACID relaxation

Traditionally ACID properties can lead to resourcesbeing held for a long period of time even days for longrunning business transactions. Businesses cannot affordto have their resources held for a long period of time. Itis not good for throughput. To take care of the flaws oftraditional ACID properties, different extended

362

Page 2: [IEEE 2009 13th International Conference on Computer Supported Cooperative Work in Design - Santiago, Chile (2009.04.22-2009.04.24)] 2009 13th International Conference on Computer

transactional models have been adopted in web services.Models which relax mainly atomicity and isolation havebeen proposed by different researchers since 80s.

The Tentative Hold Protocol (THP) [4] is based ontransaction models like the traditional ACID model. It isan advanced transactional model which took transactionmanagement in a web services environment to anotherlevel by relaxation of ACID properties. It reserves theresources required in a transaction. Many clients canmake a reservation on one item, provided the item is nottaken. For example in cases where three people make atransaction in reserving a ticket. Transaction A, Band Ccan reserve ticket number 456. But if it happens thattransaction B confirms the ticket, transaction A and Cwill be notified that the ticket is no longer available.The resource which is the ticket was not blocked at thetime of the reservation. Compensation has to be used toreturn the system to a consistent state in a situationwhere a transaction failed or aborted.

Zhao et al. [5] introduced a reservation-basedextended transaction protocol which is similar to theEscrow transactional method. The Escrow method isintended for both long-lived local transactions anddistributed transactions. Escrow uses a two-phasecommit protocol for distributed transactions. Howeverthis method fails when it comes to business transactions.The protocol of Zhao et al [5] reserves (reservationphase) and cancels/confirms (confirmation/cancellationphase) to coordinate the tasks of business activitiesacross multiple businesses. This protocol does notdepend on compensation. The model demonstrates thatthe use of compensating transactions has much higherprobability of inconsistencies, especially when the dataspreads across multiple enterprises as the intention ofthe web services.

Yang et al. [6] presented a Transaction-Awareprotocol for a Web Service Transaction Coordinator(taTHP). This protocol grants maximum autonomy ofisolation. This means that clients can think that they arethe only ones making reservation on the resource.Clients cannot see how many reservations have beenmade in a particular resource. Looking at our aboveticket 456 example, the client of transaction A will notknow that the transaction B client has made areservation on the same ticket. It allows several clientsto place a tentative hold on the same resource andconfirm availability before the completion of atransaction just like THP. When a client executes theactual business transaction the other clients will receivea notification informing them that the reservation in nolonger valid. THP tried to introduce a maximum holdsize and duration time in order to improve coordinationbut it still had a problem in terms of coordination. It isan issue since THP does not know which request to begranted and which ones to be rejected. This is due to thefact that THP is not aware of the transaction context andthe success probability of the transaction. Being awareof success probability can be vital since the resource

manager will know which resources should be grantedto which transaction to increase throughput.

On the other hand Choi et al.[7] presented a modelthat will maintain consistency while relaxing isolation.The protocol uses a dependency management protocolcalled Web services Transaction Dependencymanagement Protocol (WTDP), to detect inconsistencybetween dependent transactions. This inconsistency canhappen in a case in which a dominant transaction failsor aborts a transaction before completion. This protocolallows participants to automatically supply relatedinformation to other participants. For exampleparticipant B will give information that participant Cneeds. Let's say C needs some information of theincoming income from B for his transaction, B willconstantly be supplying that information during theprocess and that information will be closely monitored.If it happens that B fails, C will be able to detect thisand both transactions will be rolled back to a consistentstate. Interestingly Alrifai et al. [8] introduced a modelsimilar to Choi et al. The models also extend the WS­transaction [9] protocol for concurrent control in webservices environments. The extension is based ontransaction dependency graph which is maintained bythe service provider. The mechanism avoids directcommunication with the coordinators for securityreasons while in the Choi et al. model directcommunication is not a problem, because WTDP canhandle confidential data by distributing it. Eachcoordinator manages its own completion dependencies.However the Alrifai et al model sends twice the numberof messages which can be time consuming and costly.Their protocol uses a serialisation graph, which containsall the dependencies that are seen from the provider'spoint of view.

Bottcher et al. [10] looked at another model whichreduces the number of transaction aborts and blockingin a transaction. The model is based on Web ServiceTransaction Specification [11] and is an extension toexisting atomic commit protocols. The transactionenters the suspend phase after the read phase. Thesuspend phase is non-blocking and in this phase theresource manager can still abort the transaction if thereis a need to grant a request to another transaction. Toreduce the number of aborts in a situation of missingvotes or conflicts, the new approach identified thosesub-transactions that are repeatable or reusable insteadof aborting and restarting all sub-transactions of aglobal transaction.

Ding et al. [12] introduced a model which isdesigned by new software called internetware which isdesigned for the open dynamic nature of the webservices environment. An internetware application iscomposed of existing services which are combined toform composite services according to the user'srequirements. Since the model is made of primitiveservices, its transactional capability is normallydescribed by two properties, retriable and compensable.

363

Page 3: [IEEE 2009 13th International Conference on Computer Supported Cooperative Work in Design - Santiago, Chile (2009.04.22-2009.04.24)] 2009 13th International Conference on Computer

According to Ding et al. the eXIstIng research ofTransaction Composite Service (TCS) depends on theanalysis of the composition structure and a handlingmechanism in order to guarantee the atomicity. Toenforce relaxed atomicity the composition structure ofTCS has to be analysed and there has to be a guaranteethat there exists at least one must-succeed path after thenon-compensable service. The proposed model relaxesatomicity. Users are able to define different relaxedatomicity constraints for different TCS according toapplication-specific requirements, which includesacceptable configuration and preference. This approachcan handle complex application requirements, avoidunnecessary failure recoveries and perform thetransaction management work automatically.

Preference is used in places where more than onechoice has to be made. The most preferred one mustsucceed over the least preferred one. For example whereflight and train are invoked in parallel, flight mustsucceed and train be compensated. Likewise if money isan issue and B&B and hotel are invoked in parallelB&B must succeed and hotel be compensated. But insituation of where there is no preference any cansucceed. For example in the case of FedEx and EMSany can succeed depending on the situation. Thetransaction management is done by the systemautomatically not by the user manually. Since therelaxed criterion is defined by users according to theapplication-specifics requirements, users express theirspecific requirements through the set and order of TCSconfigurations which must be acceptable. All acceptableTCS configuration are ordered according to preference.No matter which service succeeds or fails the executionmust end with a legal configuration since the processmay be critical for business.

Ding et al. [12] have moved a step further inrelaxing of ACID properties by allowing the users todefine their requirements. This is good sincecustomisation is taking places which can cater fordifferent individual needs. However they have notlooked at different situations where different applicationcharacteristics will be used. That is looking at asituation in which different ACID properties will berelaxed in one model. They only looked at relaxingatomicity which may not meet the needs of particularsituations in the business environment. There is a needfor a model which will cater differing relaxations indiffering circumstances. This is the novelty of ourmodel.

The various models described have solved somechallenges arising from the classic ACID model fromthe database point of view. However there is still a lot todo to overcome issues that are faced in CSCWapplications like locking of the resources for longperiods. We build on previous work presented here tointroduce a new model that will increase throughput incollaborative applications. We propose the Adaptive

user-defined Transaction relaxing Approach (AuTrA)to fulfill these needs.

2. Issues of collaborative applications

Collaborative applications allow work to done by agroup of people in different places in a cooperativeworld. However they still have their weakness and a lotof research is being done to solve or improve thoseweaknesses. We demonstrate some issues ofcollaborative applications by the use of an example.

As an example let us consider a case study byYounas et. al.[2] of a collaborating editing application(CEA). A CEA is a component-based softwaredevelopment in which different programmers developdifferent components. Emma is responsible forcomponent I(Cl), the design of the user interface, Riceis responsible for component 2 (C2), the design of theapplication logic and Maria is responsible forcomponent 3(C3), the design of the manipulationprogram. The programmers share data using theirseparate systems. The programmers are only allowed toedit their own components but can view other parts tohelp with their development. For example Maria mightask to share some data with Emma to see if the userinterface matches with the data manipulation.

This example shows a few flaws with collaboratingapplication, the application is component based, andonly the programmer in that component, for exampleCl, is the only one who is allowed to make the changesin that component. The application uses the rigid ACIDproperty of all or nothing to maintain consistency whichis not good for cooperative applications whichsometimes can manage with partial results, dependingon the situation. The divide and conquer method theyuse is delaying. Lets us look at a situation in whichMaria needs some information from Rice to continuewith her programming in the middle of her task. But ithappens that Rice has not finished with the informationthat Maria needs. For her to continue she has to waitand that kind of start to finish dependency can be timeconsuming and not effective to the collaboratingenvironment.

Let us look at another example which will furtherhelp us to see the difficulties in collaborativeapplications. Let us assume that we have a softwaredevelopment company called Tonic. It happens thatTonic has a project to develop software for one of theirclients, Sunny Ltd. The project consists of the projectmanager who manages the whole project, a developer,an analyst and a tester.

364

Page 4: [IEEE 2009 13th International Conference on Computer Supported Cooperative Work in Design - Santiago, Chile (2009.04.22-2009.04.24)] 2009 13th International Conference on Computer

Project Manager (Jack)

~name : string~address : string~contact : string

'getworkersNameO'getworkdoneO'addMoreWorkersO

Figure 1. Developers

The process of reaching the goal of the product,which is working software for the client, involves thedevelopment having to go through different phases.Brown is responsible for the analysis of the softwarewhich is one of the phases in the development process.In this case he will look at one of the processes he has tocover which is producing UML diagrams. Stef will becollaborating with Brown to program the software, inthis case from the UML diagrams produced by Brown.Bob will do the testing of the program looking at partsof Brown's UML diagram like the use cases. Exchangeof information will be taking place between thesecolleagues at all times.

Looking at the scenario we conclude that dividingthe development into phases is a good practice, but itcan be spoilt by the fact that it is phase-centered.Consider a case where Stef realises that Brown hasincluded an incorrect relationship between class A andB. Stef cannot change that and continue. The data islocked and only Brown can access it. Locking ofresources is not effective when it come to collaboratingapplication. In this scenario we assume that the peoplein the project can work in any phase meaning they havesufficient knowledge in all the development phases.

Again when it comes to consistency which ismaintained by all or nothing this can be a failing. In asituation where Brown has failed, stopped designing orpartially finished designing the UML diagram that Stefneeds for him to program class C, even if Stef knows theUML diagram and knows the logic to continue his taskhe cannot continue to program. It is all or nothing, sosince Brown's part which is part of Stefs task has failedor is only partially complete, Stef's part cannotcontinue.

3. Adaptive User-defined TransactionRelaxing Approach (AuTrA)

Our main aim is to increase throughput oftransactions in collaborating applications. In order toachieve this we propose to introduce a new transactional

approach in collaborating applications, the Adaptiveuser-defined Transaction relaxing Approach (AuTrA).

Different researchers have made progress inintroducing a transactional approach into collaboratingapplications. For example Younas et.al [2], used theSaCReD criteria which does not enforce rigid isolation.Campbell [13] used the notification lock algorithm tohelp people coordinate their collaborative work. Godart[14] introduced a model that will relaxes atomicity andisolation in collaborative work.

We propose a model that will not only relax oneACID property but all of the ACID properties. Thereason we relax all ACID properties is to cater for allneeds in development of the system. Looking at ourscenario it might be good to relax atomicity at somepoint at the same time as relaxing isolation which meansa model which can cater of relaxing more than oneACID property is needed.

In our scenario using our proposed model, Stef andBrown can have access to the same resource at the sametime to make changes. If we look at a situation in whichBrown and Stef both get hold of UML diagram tochange the association, the question we ask ourselves iswhich changes will made permanently and whichchanges will be made redundant if it happens that theywant to save at the same time. In that kind of situationwe will use the blocking of the resource, the one thathad wanted to commit first is the one that is given apriority. After the changes have been made, let us sayStef changes, Brown will be notified of the changes andmechanism which caters for consistency from Brown'sphase will check the changes for consistency. On top ofthat, a dependency mechanism for the replicate madewill be put in place and maintained during Brown'sphase and there will be some limits on how manychanges have to be made. This will relax isolation andalso will be not block the resources like in the scenarioof the Younas et. al case study [2]. We will also useweights when relaxing isolation. The weights will beassigned to transactions as constraints to identify theimportance or vitalness of a transaction. For example incases where circular waiting is detected, criticalinformation will be identified through weights. In ourcase if there is a circular waiting between Brown andStef, the weighting will be used to identify whichinformation requirements must be prioritised.

We propose that our model be user-defined, that isthe workers or the people who are involved in thesoftware development will be the ones who will decidehow they relax the ACID properties. The degree ofrelaxation of the properties should meet the requirementof the business application.

Relaxing durability will be done in cases whereconsistency has been relaxed. Pending/awaiting changescan be allowed to be committed even if the data is notconsistent but the changes may not be made permanent.A final check will be made when the dominantprocedure is ready to commit and some committed

365

Page 5: [IEEE 2009 13th International Conference on Computer Supported Cooperative Work in Design - Santiago, Chile (2009.04.22-2009.04.24)] 2009 13th International Conference on Computer

Negotiate

Evaluation

Figure 2. AuTrA Model

included in our next papers will be the architecturewhich will be based on web services, mechanisms andalgorithms of our model, prototype implementation,testing and evaluation. This model has the potential toimprove throughput since it enables relaxation of alltraditional ACID properties. It can be used in manyareas of applications

References

[1] A. Silberschartz, H. F. Koth and S. Sudarshan,"Database system concepts. " 3rd Edition. Singapore: MeGraw Hill. 1997[2] M. Younas, and R. Iqbal, "Developingcollaboration editing applications using Web Services",Coventry University.Coventry,UK, 2000.

[3] J. Jiang, G. Yang, Y. Wu and M. Shi, "CovaTM:A transaction model for cooperative application",Department of computer science. Tsinghua University,2002.[4] J. Roberts, T. Collier, P. Mula and K. Srinivasan,"Tentative hold protocol part 2: Technicalspecification". http://www.w30rg/TR/tenhold. 2007.[5] W. Zhao, L.E. Moser and P.M Melliar-Smith, "AReservation-Based Extended Transaction Protocol",IEEE Transactions on parallel and distributed

systems, 2008,19, (2).[6] W. Yang, Z. Liu and W. X. Ling, "taTHP: ATransaction-Aware Protocol for Web ServicesTransaction Coordination", 2006, pp. 1-4.[7] S. Choi, H. Jang, J. Kim, S.M. Kim, J. Song andY. Lee, "Maintaining consistency under isolationrelaxation of web services transactions", Web

Information Engineering, WISE ,3806.Springer: Berlin

Germany, 2005, pp.245-257.[8] M. Alrifai and P. Dolog, "Transaction ConcurrencyControl in Web Service Environment", Proceedings of

the European Conference ofWeb Services, 2006.

[9] F. Cabrera, G. Copeland, B. Cox, T. Freund, J.Klein, T. Storey and S. Thatte," Web ServicesTransaction (WS-Transaction)" BEASystems,International Business Machines Corporation,Microsoft Corporation, Inc.,http://www.ibm.com!developerworks/library/wstranspec,2001.[10] S. Bottcher, L. Gruenwald and S. Obermeier,"Reducing Sub-Transaction Abort and Blocking TimeWithin Atomic Commit Protocols", Springer: Berlin

Germany, 2006, pp. 59-72.[11]L. F. Cabrera, G. Copeland, and M. Feingold,"Web Services Transactions specifications - WebServices Atomic Transaction", http://www-

where atomicity isrelaxed

in case where~----I..---... consistency &

Sensor durability is relaxed Pre- commit

isolation oratomicity relaxe

This paper presented a new proposed relaxed modelfor transaction management in order to increasethroughput in collaborative design and othercooperative applications. The adaptive user-definedrelaxed transactional model for CSCW will allowpeople working together to make changes in any phasethey feel the change is needed, while at the same timemaintaining consistency and data integrity. The model isnon-blocking as long as it is not the commit stage. Theefficiency of this model will be tested through differentsimulation experiments. Our proposed model is still atan abstract stage. Further developments which will be

changes from other procedures may have to beretracted. For example consider again the case whereStef changed some UML diagram and it happened thatBrown for some reason was busy checking Bob'schanges which he did while testing. With our modelStef can continue with her programming, therebyrelaxing consistency, and will not save the changesimmediately, thereby relaxing durability. Stefs changeswill be pending waiting for Brown's phase to check forconsistency. After Brown's phase has checked forconsistency, Stefs phase can save the part that was notsaved permanently. If the changes do not meet therequirements for maintaining consistency, Brown'sphase can inform Stef of that and Stefs changes will notbe made permanent. This will increase throughput sinceStef has not had to wait. The only drawback is that itmight be possible that Stef has done some work which isnot consistent and thus wasted. This is why it isimportant that the nature of the application area isknown so as to make the correct decisions on the degreeof relaxation of ACID properties. That is the reason whywe use a sensor in our proposed model which candevelop trends, and know when to make a correctdecision on the degree of relaxation of ACID properties.

366

Page 6: [IEEE 2009 13th International Conference on Computer Supported Cooperative Work in Design - Santiago, Chile (2009.04.22-2009.04.24)] 2009 13th International Conference on Computer

128.ibm.comldeveloperworks/library/specificationlws­tX,2005.[12] X. Ding, J. Wei and T. Haung, "User-DefinedAtomicity Constraints: A More Flexible TransactionModel for Reliable Service Composition", Springer­

Verlag: Berlin Germany, 2006, pp. 168-184.[13] J. D. Campbel, "Coordination for multi-personvisual program development", Journal of visual

language and computing', 2006, 17, pp. 46-77.[14] C. Godart, "Coo: A transactional model to supportcooperating software developers coordination",Proceedings of 4th European software Conference,

Garmisch, LNCS 717, 1993, pp. 361-379.[15] S. Bottcher, L. Gruenwald, and S. Obermeier,

"An Atomic Web Service Transaction Protocol forMobile Environment", EDBT -Workshop Privacy

Information Management (PIM 2006), MunichGermany, 2006.[16] W. Zhao, L. E. Moser and P. M. Melliar-Smith,"A reservation-based coordinating protocol for webservices", Proceedings of the IEEE international

conference ofweb services, 2005.

[17] B. Limthanmaphon and Y. Zhang, "Web servicecomposition transaction management", Proceedings of

15th Australian conference on database, in proceeding

ofNew Zealand conference in Research and Practice in

Information Technology, 2004, 27, pp.171-179.[18] M. Rusinkiewicz, W. Klas, T. Tesch, J. Walsch

and P.Muth, "Towards a cooperative transaction model:The cooperative activity model", Proceedings of the

21st VLDB conference, 1995.

[19] A.C Ellis and S.J Gibbs, "Concurrency control ingroupware systems", 1989.[20]H. Garcia-Molina and K. Salem, "SAGAS",Proceedings of ACM SIGMOD conference, 1987, pp.249-259.[21] M.Younas and K. Chao, "A tentative commitprotocol for composite web services", Journal of

computer system science ,2006,72, pp.1226-1237.[22] P. E. O'Neil,"The Escrow Transactional Method",ACM Transaction Database System, 11,(4), 1986,pp.405-430.

367