Shared Data Decomposition Model for Improving Concurrency in Distributed Object-oriented Software Development Environments

분산 객체 지향 소프트웨어 개발 환경에서 동시성 향상을 위한 공유 데이타 분할 모델

  • Published : 2000.08.15

Abstract

This paper presents a shared data decomposition model for improving concurrency in multi-user, distributed software developments. In our model, the target software system is decomposed into the independent components based on project roles to be distributed over clients. The distributed components are decomposed into view objects and core objects to replicate only view objects in a distributed collaboration session. The core objects are kept in only one client and the locking is used to prevent inconsistencies. The grain size of a lock is a role instead of a class which is commonly used as the locking granularity in the existing systems. The experimental result shows that our model reduces response time by 12${\sim}$18% and gives good scalability.

본 논문에서는 다중 사용자를 지원하는 분산 소프트웨어 개발 환경에서 동시성을 향상시킬수 있는 공유 데이타 분할 모델을 제안한다. 제안된 모델에서는 공유 데이타에 해당하는 목표 소프트웨어 시스템을 프로젝트 역할을 기반으로 분할한 후, 분산 환경의 각 클라이언트에 분산시키고 이를 다시 뷰(view) 객체와 코어(core) 객체로 분할하여 저장한다. 여러 클라이언트가 참여하는 협동 작업에서는 뷰객체만을 각 클라이언트에 복사(replicate)하여 빠른 응답 시간을 보장하도록 하고, 코어 객체는 하나의 클라이언트에만 저장한 한 후 역할 단위의 잠금(locking) 기법을 이용하여 불일치 문제가 발생하지 않도록 하였다. 실험 결과, 제안된 모델은 기존 도구들에서 사용하는 클래스 단위의 잠금 기법보다 12${\sim}$18%의 성능 향상을 보였고, 클라이언트의 수가 증가하더라도 응답 시간이 급격히 증가하지 않아 확장성(scalability) 이 뛰어난 특징을 보였다.

Keywords

References

  1. J. Rumbaugh. , et al., Object-Oriented Modeling and Design, Prentice-hall, 1991
  2. 김태훈, 신우장, 김태균, 신영길, 우치수, '분산 객체지향 소프트웨어 개발 환경의 설계 및 구현', 한국 정보과학회 논문지 (C), 제 3권 2호, 1997년. 4월, pp. 139-151
  3. S. Greenberg and M. Roseman, 'Groupware Toolkits for Synchronous Work,' Computer Supported Cooperative Work, Trends in Software Series, John Wiley & Sons
  4. S. Greenberg and D. Marwood, 'Real Time Groupware as a Distributed System: Concurrency Control and its Effect on the Interface,' Proceedings of the ACM CSCW'94 Conference on Computer Supported Cooperative Work, pp. 207-217, 1994 https://doi.org/10.1145/192844.193011
  5. T.C. Nicholas Graham, T. Urnes, R. Nejabi, 'Efficient Distributed Implementation of Semi-Replicated Synchronous Groupware,' Proceedings of UIST '96, pp. 1-10, 1996 https://doi.org/10.1145/237091.237092
  6. F. pacull, A. Sandoz, and A. Schiper, 'Duplex: A Distributed Collaborative Editing Eivnironment in Large Scale,' Proceedings of the ACM CSCW '94 Conference on Computer Supported Cooperative Work, pp. 165-173, 1994
  7. J. C. Grundy, W. B. Mugridge, J. G. Hosking and R. W. Amor, 'Support for Collaborative, Integrated Software Development,' Proceedings of Software Engineering Environment '95, pp. 84-94, 1995 https://doi.org/10.1109/SEE.1995.393627
  8. J. Grundy, J. Hosking, and W. B. Mugridge, 'Inconsistency Management for Multiple-View Software Development Environments,' IEEE Transactions on Software Engineering, Vol. 24, No. 11, November 1998 https://doi.org/10.1109/32.730545
  9. M. Stefik, D. G. Bobrow, G. Foster, S. Lanning, and D. Tatar, 'WYSIWIS Revised: Early Experiences with Multi-User Interfaces,' ACM Transactions on Office Information Systems, Vol. 5, No. 2, pp. 147-167
  10. UML Semantics version 1.1, Rational Software, http://www.rational.com/uml, Sep. 1997
  11. D. Flanagan, Java Examples In A Nutshell, pp. 291-322, O'Reilly, 1997