List Locking Protocol for XML Data Sharing
Eunjung Lee · The KIPS Transactions PartD · 2004
XML 트리를 공유하면서 여러 사용자가 동시에 수정할 수 있게 하기 위해서는 부분 트리의 삽입/삭제가 공유될 수 있어야 한다. 이를 위해서는 트리 데이터의 구소 변경 행위에 대한 통시성 제어가 가능해야 한다. 본 논문에서는 DTD 문서 타입 정보를 이용하여 XML 트리의 반복부에 대해서만 부분 트리의 삽입/삭제가 가능한 리스트 데이터 공유 모델을 제안한다. 제안된 리스트 데이터 공유 모델은 구조 변경 행위의 적용 결과가 항상 유효하며, 여러 사용자가 동시에 접근하는 경우에도 문서의 유효성을 보장할 수 있다. 리스트 데이터 공유 모델에서 반복부 자식 노드 리스트를 잠금의 대상으로 하는 리스트 잠금 프로토콜을 제안하였다. 이 잠금 프로토콜은 기존의 방법들과 비교하여 훨씬 간단하면서 적은 수의 잠금 객체만을 다루며, 높은 접근성을 가능하게 한다. 일반적으로 공유되는 XML 트리의 삽입 및 삭제는 흔히 반복부 데이터에 대해서 적용되는 경우가 많으므로 제안된 모델은 터미널 노드 데이터 값에 대한 기존의 접근제어 방법과 함께 사용하였을 때 효과적인 데이터 공유 방법을 제공할 수 있을 것으로 기대된다. For sharing XML data by many users, a way of concurrency and access control is required for isolating update actions such as inserting and deleting subtrees. Exisiting locking mechanisms as 2PL or MGL suffer low concurrency when applied to tree structures. In this paper, list data subtrees model is proposed based on the semantics expressed in DTD. In this model, tree updating actions such as inserting and deleting subtrees are considered only for the repetitive parts of XML trees. The proposed model guarantees that the result XML tree after applying a tree updating action is always valid, even when multiple users access the tree at the same time. Also, a new locking mechanism called list lock-ing protocol is proposed. The new locking protocol is expected to show better accessility with less number of locking objects compared to the Helmer's OO2PL model. Since update actions on a shared XML tree usually applied to the repetitive parts of the tree, the proposed model is expected to provide a useful way for efficient data sharing when combined with previous locking methods on terminal node data.