managing and sharing collaborative files through www

Download Managing and sharing collaborative files through WWW

Post on 02-Jul-2016

213 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Future Generation Computer Systems 17 (2001) 10391049

    Managing and sharing collaborative files through WWWRuey-Kai Sheu a, Yue-Shan Chang b,, Shyan-Ming Yuan a

    a Department of Computer and Information Science, National Chiao-Tung University, Hsin-Chu, Taiwan, ROCb Department of Electronic Engineering, Ming Hsing Institute of Technology, 1 Hsin-Hsing Road, Hsin-Fong, Hsin-Chu 304, Taiwan, ROC

    Abstract

    The increasing complexity and geographical separation of design data, tools and teams have demanded for a collaborativeand distributed management environment. In this paper, we present a practical system, the CFMS, which is designed to managecollaborative files on WWW. Wherever remote developers are, they can navigate the evolutions and relationships betweentarget files, check in and check out them conveniently on web browsers using CFMS. The capabilities of CFMS includethe two-level navigation mechanism for version selection, the relationship model that conceptually manages the relationshipsbetween physical files as well as the prefix-based naming scheme that can uniquely identify requested objects. 2001 ElsevierScience B.V. All rights reserved.

    Keywords: Collaborative file management; Prefix-based naming scheme; Relationship model

    1. Introduction

    The increasing complexity and geographical sepa-ration of design data, tools and teams have demandedfor a collaborative and distributed management envi-ronment. That is, companies need good managementtools to leverage the skills of manipulating the mosttalented and experienced resources, wherever in thecompany or the somewhere they are located.

    Major challenges for collaborative file managementinclude version control, configuration management,concurrency access control, environment heterogene-ity, and the dispersion of developers [1]. Take theelectronic design automation (EDA) paradigm, e.g.,design teams realize that the number of tools neededto implement complex systems is ever increasing,

    Corresponding author. Tel.: +886-3-557-2930;fax: +886-3-559-1402.E-mail addresses: rksheu@cis.nctu.edu.tw (R.-K. Sheu),ysc@mhit.edu.tw (Y.-S. Chang), smyuan@cis.nctu.edu.tw(S.-M. Yuan).

    and such tools are generally provided by many dif-ferent suppliers [2]. At the same time, developersat different sites would parallelize the developmentswith many variants of each component, which mightcontain and share many files and many versions ofeach file. When controlling versions, developers haveto deal with versions and configurations that are or-ganized by files and directories. This is inconvenientand error-prone, since there is a gap between dealingwith source codes and managing configurations. It isnecessary for engineers to be capable of identifyingthe items which they are developing or maintaining.

    In this paper, we concentrate on issues of developinga web-based and visualized collaborative file manage-ment system. The web-based design has advantages ofeliminating the need to install and administrate clientsoftwares, resolving the cross-platform problems, pro-viding the accessibility for distributed developers, andhaving a uniform and compatible interface for differ-ent users. Not only does the proposed CFMS have allthe advantages of web-based environments, but alsocaptures and manages change requests among team

    0167-739X/01/$ see front matter 2001 Elsevier Science B.V. All rights reserved.PII: S0 1 6 7 -7 3 9X(01 )00045 -0

  • 1040 R.-K. Sheu et al. / Future Generation Computer Systems 17 (2001) 10391049

    members transparently. Through the proposed two-level navigation version selection mechanism, CFMSusers can define and choose the configuration ofthe developed component dynamically and visually.Without directly operating the bothersome chaos ofphysical files, users only need to manipulate the con-ceptual relationships between requested files on web.

    The rest of the paper is organized as follows. InSection 2, we discuss the related works about collab-oration management tools. In Section 3, CFMS sys-tem models are detailed. Section 4 briefly introducesthe CFMS system architecture. Section 5 shows theimplementation of CFMS. Finally, the conclusion isgiven in Section 6.

    2. Related works

    There are several collaboration management toolsin many paradigms. To illustrate, RCS [3], SCCS [4],DSEE [5], and ClearCase [6] concern the activitiesfor cooperative system development. RCS and SCCSare the most widely known version management sys-tem. These systems are built on the notion of vault[7] from where users must extract all of the sources,even you do not plan to change them. Besides, paral-lel development will result in even more copies. Thesecopies are not under the control of configuration sys-tems and may lead to more problems because they donot support concurrency control facilities. There areseveral later tools, such as CVS [8], built on top ofRCS. These tools improve the management of privatework areas, but do not really solve the fundamentalproblem inherent in vaults.

    DSEE and ClearCase are tools of the second-generation configuration management environment,which advance upon earlier tools for defining andbuilding configurations. They solve the problemsinherent in vaults through the use of a virtual file sys-tem. Intercepting native operating system I/O calls,they hook into the regular file system at user-definedpoints by user-specified rules. Intercepting systemcalls will tight the private work areas with the cen-tral data center together and introduce problemsencountered in traditional systems. Additionally, therule-based configuration mechanism is too complexto be used for web users.

    To solve problems of old systems we designthe CFMS as a moderate three-tier architecture. A

    middle-tier is introduced to decouple the front-endusers and the back-end file system, and simplifythe system complexity. In CFMS, a conceptual rela-tion model is proposed. Instead of the text-based orrule-based methodologies used in traditional tools,front-end users could traverse the relationship graphto define or navigate configurations The web-basedCFMS will promote the collaboration managementparadigm into the distributed heterogeneous environ-ment.

    3. System model

    Three essential system models which compose ofthe three-tier model, the relationship model and theprefix-based naming scheme for collaborative filemanagement are clearly identified in this section.These three models are orthogonal and are integratedto form the building blocks of the CFMS.

    3.1. Three-tier model

    In comparison with the vault-based and virtual filedesign of traditional collaboration management tools,the three-tier model looses the tight-couple relationbetween the client side representations of requestedobjects and the back-end file systems. In the front-end,users of different sites could define configurations fortheir private workspaces and use SCCS-like checkin/out operations to access the requested files. In themiddle-tier, the relationships between all the managedfiles are constructed and presented by a bi-directiongraph. Front-end users can surf back-end files bytraveling the relationship graph. The third-tier is thevast file system, which consists of many types of filesgenerated by different tools. Each physical file couldbe uniquely identified and conceptually versioned inthe second-tier. That is, the second-tier hides the com-plexity of directly manipulating the physical files andprovides higher flexibility and extensibility for CFMS.Fig. 1 shows the three-tier architecture of the proposedweb-based collaborative file management system.Front-end browsers show the user-selected configura-tion graphs, which might share nodes in the centralrelationship graph. The middle-tier hides the com-plexity to manage the relations for the third-tier flatfiles.

  • R.-K. Sheu et al. / Future Generation Computer Systems 17 (2001) 10391049 1041

    Fig. 1. Three-tier architecture of CFMS.

    3.2. Relationship model

    The CFMS uses logic structures to manage files,which are organized into a three-level hierarchicalarchitecture and they are projects, libraries and filesfrom the highest level down to the lowest one. Aproject is the achievement of a specific objective. Itinvolves several libraries as well as stand-alone files.A library is a frequently used group of files. The re-lationship model identifies the correlations betweenmanaged logic structures and classifies them into sixcategories: version, build, configuration, equivalence,hyper-link and sibling. The main contribution of thispaper is to identify and clarify these concepts intoorthogonal, rather than sequential relationships.

    Version. Version relationships are composed ofbranches and derived items, and can be representedby two-dimensional graphs. In Fig. 2, the generic

    Fig. 2. The generic version graph of a logic structure.

    version graph is described. Object A.1 is the root ofthe version history for the logic structure A. ObjectA.1.2 is a new version of A.1 after the creation timeof A.1.1. The relationship between A.1 and A.1.2 isthe branch relation. Other edges in the version historyare derived relations. The logic structure A could bea file, a library or a project.

    Build. Build relation stands for the aggregation ofa specific logic structure. Fig. 3 shows the versiongraph as well as the build relation of the logic structureA. The logic structure A is composed of two logicstructures X and Y. Both X and Y could be any logicstructures that are lower or equal to the level of A inthe hierarchy of logic structures.

    Equivalence. Equivalence relationships are dif-ferent representations of a logic structure in differ-ent development stages or platforms. For example,a C++ source program could be compiled as a

  • 1042 R.-K. Sheu et al. / Future Generation Computer Systems 17 (20