System Support for Computer Mediated ... - Semantic Scholar

13 downloads 15115 Views 76KB Size Report
System Support for Computer Mediated Multimedia. Collaborations. Harrick M. Vin. P. Venkat Rangan. Multimedia Laboratory. Department of Computer Science ...
System Support for Computer Mediated Multimedia Collaborations Harrick M. Vin P. Venkat Rangan Multimedia Laboratory Department of Computer Science and Engineering University of California at San Diego La Jolla, CA 92093-0114 E-mails: [email protected], [email protected]; Phone: (619) 534-5419

Mon-Song Chen IBM T. J. Watson Research Center P. O. Box 704 Yorktown Heights, NY 10598, USA E-mail: [email protected], Phone: (914) 784-7209

ABSTRACT

MOTIVATION

Future advances in networking and storage will enable a wide spectrum of computer mediated structured collaborations among individuals. In this paper, we present a model that can capture diverse types of structured collaborations. The model combines both efficiency and power via a hierarchy of three abstractions, at the lowest level of which are streams for media communication modulated by access rights of participants within collaborations. The higher two levels of abstractions are sessions, which represent collections of semantically related media streams, and conferences, which represent temporally related sequences of sessions. Using these abstractions, the model supports unification of both synchronous and asynchronous collaborations, sophisticated access control, and intra-group and inter-group collaborations, yielding a powerful set of building blocks for constructing multimedia applications and a rich environment for carrying out structured multimedia collaborations.

Future advances in networking and storage will enable a wide spectrum of computer mediated structured collaborations among individuals, ranging from simple meetings and conferences to classrooms and examinations, and from corporate negotiations, work flow tasks, and team design endeavors to courtroom hearings, each with its own unique set of requirements for media communication. The system support necessary for supporting the establishment of such a wide range of collaborative activities, and subsequently managing and controlling their progress, is the subject matter of this paper. Collaborations involve exchange of media information among all their participants, with media exchange being either synchronous (as in a telephone conversation), or asynchronous (as in electronic mail). Structured collaborations, whether synchronous or asynchronous, usually involve diverse modes of participation by their various participants. For instance, a session at a convention usually involves a sequence of presentations by its speakers and questions posed by its attendees, each of which must be permitted by its chairperson. A classroom is similar to a conference session except that it has only one speaker, who also serves as the chairperson. An examination, on the other hand, involves a proctor and examinees, with communication restricted to that between the proctor and examinees, but absolutely no communication among examinees themselves. Negotiations among corporate groups may involve both intra-group and inter-group communication, which may need to be separated for purposes of confidentiality. If such a wide range of col-

KEYWORDS Multimedia collaboration management, synchronous and asynchronous collaborations

 In proceedings of the 1992 ACM Conference on Computer Supported Cooperative Work (CSCW’92), Toronto, Canada, Pages 203-209,November 1992

laborative activities are to be supported using computer systems, a common software framework with a sufficiently rich semantic expressibility is essential. In this paper, we present a model that can capture diverse types of structured collaborative activities and develop software paradigms for carrying out such activities in distributed multimedia systems. The model combines both efficiency and power via a hierarchy of three abstractions, at the lowest level of which are streams for media communication modulated by access rights of participants within collaborations. The higher two levels of abstractions are sessions, which represent collections of semantically related media streams, and conferences, which represent temporally related sequences of sessions. Using these abstractions, the model supports unification of both synchronous and asynchronous collaborations, sophisticated access control, and intra-group and inter-group collaborations, yielding a powerful set of building blocks for constructing multimedia applications and a rich environment for carrying out structured multimedia interactions. A prototype collaboration management system based on this model is being implemented at the UCSD Multimedia Laboratory.

REQUIREMENTS FOR MANAGING MULTIMEDIA COLLABORATIONS The simplest of collaborations involve exchange of media information among all their participants, with media exchange being either synchronous or asynchronous. Whereas synchronous collaborations involve contemporaneous exchange of media information, asynchronous collaborations are characterized by recipients’ discretionary delays after transmission by senders. During such intervening delays, the media information in transit may have to be managed by servers (such as storage and mail servers). Traditionally, collaborations have been classified into these two categories, and different paradigms have been used by the system to manage them, thereby necessitating separate programming as well as user interfaces for their management. Unification of both synchronous and asynchronous collaborations into a single paradigm permits co-existence of both types of collaborations within a single multimedia application, and even the same collaboration may sometimes be synchronous and at other times asynchronous, shuttling from one to another depending on users’ participation schedules. Collaborations, whether synchronous or asynchronous, can be established by setting up media communication channels among its participants. Establishing a structured collaboration requires mechanisms for the initiator to specify the permitted modes of participation for each of the invitees, as well as for each of the invitees to express their desired mode of participation. Controlling the progress of a collaboration requires mechanisms for changing the set of participants and their modes of participation dynamically, (either by the initiator or by a participant himself), a special case of which is floor

control. Alterations of modes of participations may also need to be constrained depending on the collaboration semantics (e.g., in a courtroom hearing, witnesses cannot change their desired mode of participation after its initiation). A participant may be permitted to simultaneously participate in multiple collaborations (using same or different media). Furthermore, a collaboration may itself be an aggregation of other collaborations, since such a multi-level collaboration is a natural paradigm for expressing meetings between two or more sub-groups of users (e.g., corporate meetings in which managers together with their multi-level groups participate). Thus, a system for managing structured multimedia collaborations should provide: (1) a model for unifying the representation of synchronous and asynchronous collaborations, (2) a high-level framework for specifying access rights that can characterize the semantics of structured collaborative environments, and (3) techniques for instantiating and managing the progress of collaborations.

MODELING MULTIMEDIA COLLABORATIONS At the most basic level of multimedia collaborations is the need for transport of media information between participants. Media transport can be built upon either 1-to-1, or 1-to- n, or m-to-1, or m-to-n communication paradigms. However, the chosen paradigm will have to be implemented on the underlying network, and must, hence, be designed so as to make use of network services efficiently. Since most networks currently provide multicast services, the paradigm at this lowest level of our model is a communication channel from a sender to a set of receivers, which we will call as a stream. Each stream encapsulates the permitted access rights of both the sender and the receiver with respect to the media exchanged on the stream. In order to capture both synchronous and asynchronous collaborations, it is necessary to associate temporal attributes with each media stream. If the earliest and the latest times defining the transmission interval of a stream are denoted by: [ETT, LTT], and those of reception by: [ERT, LRT], a completely synchronous collaboration requires that ERT not exceed ETT. On the other hand, in a wholly asynchronous collaboration, ERT exceeds LTT. In fact, in all, there can be 13 possible temporal relationships [3, 6] (namely, before, meets, during, overlaps, starts, ends, and equal plus the inverse relations - except equal) between two intervals, and each of them results in a different kind of stream. Furthermore, since each stream may have multiple receivers, the same stream can be characterized differently relative to different receivers. A stream, however, is a very rudimentary form of communication. A collaborative activity consists of a collection of media streams carrying media information from various senders to various receivers, who are all taking part in a collective endeavor during a common activity period. Such a collection of streams is referred to as a session, and is the paradigm at the next higher level above streams in our model.

Each session is characterized by a start time and an end time. We have chosen to regard the ERT of the streams constituting a session as the start of the active period of the session, and the LTT of those streams as the end of that period. In order to have a well-defined period of activity of a session, the ERTs of all its streams are constrained to be identical, and so should their LTTs. Thus, the ERT and LTT of a stream become attributes of the session containing the stream, and are presented as part of the specification of the session but not the stream. Whereas the session provides a convenient abstraction for a collective activity in a common time span, a complete collaborative endeavor may, in general, involve several periods of collective activity, possibly with dependencies between the outcomes of some periods and causations of others. All such sessions, whose activity periods are temporally related, go to constitute a conference, which is the term denoting a complete collaborative endeavor. In our model, a conference is also the unit of resource allocation for information archival, and hence, the latest time, until which the information transmitted on any of the streams during any of the sessions constituting a conference is available for retrieval, is considered to be common to all the streams. Hence, LRT is identical for all streams of all sessions of a conference, and is, therefore, stored as part of specification of conferences, rather than as part of either streams or sessions. Based on these intuitive ideas, we present precise definitions of the stream, session, and conference abstractions in the following subsections:

Stream A stream S is defined as a 4-tuple:

S = [media, sender, receiverList, ETT] where media represents the communication media (such as, audio and video); sender denotes the permitted sender of media information; receiverList represents list of permitted receivers; and ETT defines the earliest time at which the transmission of media can be initiated. A user is a member of the receiverList if and only if he possesses access rights to receive media transmitted by sender. Media transmission from sender cannot be initiated before ETT. The association of ETT with streams provides an important feature: participants can pre-record the media information that they intend to be made available during a collaboration. An excellent illustration of the use of this feature is in the case of an examination, in which the instructor can pre-record the questions, but students can begin to access the questions only during examination. In cases where the transmission of media on a stream is initiated in advance of reception by its receivers, the media information in transit is stored by storage servers for subsequent retrieval by receivers.

Session A session

is formally defined as a triple: =

[S , ERT, LTT]

where S = fS1 ; S2 ; :::; Sng represent a set of media streams; and ERT and LTT denote the earliest receive time and the latest transmission time, respectively. Media streams can have existence only insofar as they are associated with a session, but never independently. The interval [ERT, LTT] defines the activation period of a session. Since a stream encapsulates the permitted access rights of both sender and the receiver with respect to the media exchanged on the stream, a session denotes collective access rights of all participants with respect to all of its constituent streams. Furthermore, the inheritance of activation period by the streams constituting a session enables each participant to transmit and receive media information simultaneously, thereby yielding a well-defined period of activity. Thus, a session represents a semantic context, and aggregates all the media streams associated with the context. Nested sessions can be captured by permitting the sender or any member of receiverList in a stream to be either an individual user or a session. If the sender is a session (rather than an individual participant), then the stream carries a mix of the media information transmitted by the session’s participants intending to communicate with the stream’s receivers. On the contrary, if a member of the receiverList is a session, then, effectively, each participant of the session has the rights to receive the media information transmitted by the stream’s sender. Even though such streams containing sessions as participants can always be flattened into streams containing purely individual participants, the former approach provides a mechanism for separating intra-group and inter-group communication, and serves as a better (more natural and efficient) abstraction to model inter-group and inter-organization collaborations. As an illustration, consider a meeting between two groups of managers belonging to two different organizations, for deciding upon policies for technical cooperation between their organizations. The nature of the meeting requires that members of each group discuss a policy among themselves before communicating it to the other group. Such a meeting can be modeled so as to consist of two sessions 1 and 2 , each handling intra-group discussions within an organization. Each session serves as a sender of a stream for which the other session serves as a receiver, yielding two such streams, both of which constitute a nested session , with participation in either 1 or 2 automatically implying participation in . In general, a session can be represented by a directed graph G = (P ; E ), where P represents the union of the sets of sender and receiverList for each of its constituent streams, and for each Pi ; Pj 2 P , a directed edge (Pi; Pj ) 2 E if and only if user Pj has the access right to receive media information transmitted by Pi . Each node which has at least

one outgoing edge is a transmitter in the session, and that which has at least one incoming edge is a receiver. A special kind of a session, in which all the participants receive exactly the same set of media streams is referred to as a confluence. In a confluence, all the participants can be regarded as transmitting media information to the confluence as a whole, and all the receivers can be regarded as receiving mixed media stream from the confluence as a whole. Most commonly held sessions fall under this category. Confluences provide an excellent opportunity for optimizing network bandwidth usage. This is because, in a confluence, rather than transmitting individual media streams from senders to receivers, media streams transmitted by all the senders can be mixed together and broadcast to all the receivers on the network [7]. Given a graph representing a session, a sub-graph within the graph can be identified as representing a confluence if and only if the degree of incoming edges at each receiver is exactly equal to the number of transmitters in the sub-graph. This principle can be used to automatically detect confluences within a session, and optimize network bandwidth usage. This is illustrated in Figure 1, which represents an inter-organizational meeting session through mediators (namely, M1 and M2 ). Members of each organization (namely, fP1 ; P2; P3 g and fP4 ; P5 ; P6g) have closed-door discussions amongst themselves, and then communicate the consolidated views of their organization to the other through the mediators. Such a session is amenable to decomposition into three confluences c1 , c2 , and c3 , consisting of the set of participants fP1 ; P2 ; P3; M1 g, fP4 ; P5 ; P6 ; M2 g, and fM1 ; M2 g, respectively. Session P2

P4 M1

P1

M2 P5

P6

P3

C1

P1

P2

C2

P3

M1

C3

M2

P4

P5

P6

Figure 1: Decomposition of a session into confluences

Conference A conference C can be formally defined as a pair:

C

=

[T , LRT]

where T = fT1 ; T2 ; :::; Tkg denotes the set of temporal ordering relations between sessions constituting the conference; and LRT represents the latest time until which media information transmitted on any of the streams during any of the sessions constituting the conference is available for retrieval. In general, ordering of the activity periods of sessions i and j can be represented by any of the 13 temporal relations possible (mentioned at the beginning of this section). Since a session encapsulates the collective access rights of all its participants with respect to all its constituent streams, temporal ordering of sessions denote dynamic changes in the access rights of its participants. Furthermore, recursive temporal relations among sessions constituting a conference makes the conference persistent (as opposed to transient). Mutual recursion yields periods of activity separated by periods of inactivity, and can be used to realize periodic meet ings. For example, a temporal relation i i indicates that session i is to be re-activated  units of time after the termination of its previous activation. Even a meeting room may be regarded as a conference that becomes active when it is being used, but reverts to being inactive when not in use. For such conferences, the needed system resources (such as network bandwidth) can be reserved in advance, and their periodic invocations can be made automatic. Conferences such as telephone conversations, on the other hand, are transient ones.

;

Discussion Whereas a stream encapsulates the permitted access rights of both the sender and the receiver with respect to media exchange, a session represents a collaborative activity consisting of a collection of media streams, and a conference denotes temporally ordered sequence of sessions that together constitute a complete collaborative endeavor. These abstractions together provide a framework for capturing the semantics of various structured collaborative environments. The inclusion of temporal attributes in the model unifies the interfaces and management of both synchronous and asynchronous collaborations, thereby permitting participants to inter-operate between synchronous and asynchronous collaborations. Specifically, based on the values of ETT, ERT, LTT, and LRT associated with a media stream, it can be characterized as synchronous or asynchronous as follows: If ETT = ERT = LRT, then the stream denotes synchronous exchange of media information. On the other hand, if ETT < LRT, then media information transmitted by the sender may be requested by a recipient after its discretionary delays, thereby capturing the asynchronous nature of media exchange. For such asynchronous media exchange, a storage server records the media being transmitted, and retrieves it upon request. However, the involvement of servers (such as, storage or mail servers) in the media exchange is completely transparent to the users, yielding complete unification of synchronous and asynchronous collaborations.

INTERFACES ENCES

FOR

MANAGING

CONFER-

Basic Operations  INSTANTIATE[conferenceSpec, participantList, timingInfo] ! [conferenceDesc, confController] Instantiating a conference requires the specification of the type of the conference, a set of invitees, and a set of timing values that define the activity periods of session. Invocation of this operation by the instantiator (who becomes the confController) results in invitations being sent to all the invitees.

 JOIN[objectDesc] ! objectInfo Each invitee, on receiving an invitation, can independently accept or decline the invitation. An invitee can accept the invitation by JOINing, and thereby becoming a participant of the conference. JOINing a conference returns information regarding its constituent sessions (through objectInfo). A participant can then JOIN any of the sessions, which in turn provides information regarding its constituent streams. Transmission or reception of media information to or from the streams can be initiated by the invocation of SEND and RECEIVE operations, respectively. A participant can terminate his or her participation within a session or a conference by invoking the LEAVE operation. Similarly, a conference controller can terminate a conference by invoking the TERMINATE operation.

 SEND[sessionDesc, streamList, duration] A participant can initiate transmission of media information to streams constituting a session by invoking the SEND operation. Whereas invoking SEND on a synchronous media stream initiates the transmission to only the participants who have desired to receive media information from that stream, invoking SEND on an asynchronous stream initiates an additional transmission to a storage server.

 RECEIVE[sessionDesc, streamList] A participant can initiate reception of media information from streams constituting a session by invoking the RECEIVE operation. If a RECEIVE is invoked on a synchronous media stream, reception directly from the media stream is initiated. On the contrary, invocation of a RECEIVE by a participant with respect to an asynchronous stream initiates reception of media information either from a storage server or from the sender of the stream. The transmission or the reception of media information on a stream can be terminated by either a STOP or a PAUSE operation. A PAUSE operation may either have a destructive semantics, which causes resources (such as,

bandwidth and processing time) to be deallocated during the PAUSE, or a non-destructive semantics, in which resources remain allocated. If a destructive PAUSE is specified, a subsequent RESUME has to acquire the necessary resources before resuming the operation.

 CHANGEACCESSLIST[sessionDesc, newStreamList] The permitted access rights of participants associated with a session can be altered, or new participants can be invited to join a session already in progress using the CHANGEACCESSLIST operation.

 CHANGETEMPORALRELATION[conferenceDesc, newTemporalRelations] The sessions constituting a conference can be altered by the conference controller dynamically by invoking the CHANGETEMPORALRELATION operation.

 CHANGECONTROLLER[conferenceDesc, newController] The controller of conferenceDesc can be changed by the invocation of this operation. This operation can be invoked only by the conference controller.

Editing Operations Streams can also be manipulated in a manner similar to string manipulation using INSERT, DELETE, and REPLACE operations. Precise semantics of these operations depend on synchronous or asynchronous nature of the streams being manipulated. Interesting effects can be obtained by inserting asynchronous streams into synchronous streams, and vice versa. For instance, while receiving media information transmitted on a synchronous stream (say S1 ), insertion of an interval from another stream (say S2 ) terminates the reception of media from S1 , and initiates the reception from S2 . On completion of the inserted interval from S2 , the reception from S1 is resumed. However, since S1 is a synchronous stream, media information transmitted on S1 during the interval cannot be retrieved. On the contrary, if S1 represents an asynchronous media stream, then reception from S1 can be resumed from the point at which it was terminated. Multiple sessions can be coalesced into a single session using the MERGE operation. There are several alternatives by which temporal attributes and streams of component sessions can be combined to obtained a merged session. Whereas temporal attributes can be derived by taking the minimum or the maximum of those of the component sessions, component streams can be combined by taking the intersection or union of their respective attributes (such as media, sender, and receiverList). For instance, two streams with identical media and sender can be combined to yield a single stream with the receiverList computed as either the union or intersection of receiverLists of the component streams. Similarly, taking the merge via union of two streams with different senders

and media yields four separate streams, each with a different combination of sender and media, but all of them with the same receiverList (obtained by taking the union of the receiverLists of the two streams being merged). The dual of MERGE is SPLIT, which partitions a session to create two or more new sessions. MERGE and SPLIT operations can be optionally destructive to the sessions on which they operate. The interfaces provided for the M ERGE and the SPLIT operations are as follows: MERGE[listOfSessionDesc] SPLIT[sessionDesc, listOf [listOfStreams]]

Query Operations A set of query operations are necessary to determine properties of sessions, and conferences, such as the name of its creator, current set of participants, controller of a conference, etc. A common interface for all such operations is given by:

of the panel based on our model, on the other hand, is independent of whether or not some of the panelists pre-record their presentations. In our model, each of the presentations as well as the question-answer period can be realized as separate sessions, each with its own set of access rights for all the panelists and attendees. The entire panel discussion can be represented as a temporally ordered sequence of these sessions. Figure 2 shows such a representation for a panel discussion consisting of three panelists (namely, P1 , P2 , and P3 ) and n attendees (namely, A1 , A2 , ..., An ), where sessions 1 , 2 , and 3 represent the prepared presentations of the panelists P1 , P2 , and P3, respectively; and 4 represents the question-answer session. Whereas, during session 1 , 2 , and 3 , only panelist P1, P2, and P3, respectively, have the right to transmit media information and all the other participants can only receive information, during session 4 , any of the panelists or attendees can transmit and receive media information (as shown by the directed arcs in Figure 2). Panel

QUERY[opcode, objectDesc, listOfParameters]

Panelist1

Panelist2

Panelist3

ψ1

ψ2

ψ3

where opcode identifies the operation, objectDesc identifies the session or the conference being queried, and the listOfParameters represent operation-specific parameters.

Question-Answer

ψ4

P1

P1 P3

P2

P3

P2

ILLUSTRATION A1

In order to illustrate the use of the collaboration model presented in the abover sections, let us consider a collaboration that involves both multiple media exchanges (some of which maybe serial and some of which overlapped), and dynamic changes in access rights. An example is a panel discussion (usually held at professional conferences, conventions, etc.), that involves prepared presentations by a set of panelists followed by on-the-fly questions and answers between panelists and attendees. Whereas the prepared presentations by panelists’ can be pre-recorded (and hence may need to be handled as asynchronous collaborations), the question-answer period requires contemporaneous participation of panelists and the attendees. During his or her presentation, a panelist alone has the right to transmit media information, whereas during the question-answer period, any participant may transmit. Furthermore, it is desirable to permit any of the panelists to join the panel at any time after its instantiation, and pre-record their presentations. The sequence of presentations of panelists during the progress of the panel can be handled through a simple floor control mechanism. However, this would require physical presence of panelists during the panel, and does not afford the flexibility to permit an arbitrary subset of panelists’ presentations to be asynchronous (i.e., pre-recorded), while retaining the question-answer session as synchronous. A realization

A2

Ak

Session consisting of 1 stream

An

A1

A2

Ak

An

Session consisting of (n+3) streams

Figure 2: Semantic representation of a panel Notice that the specification of a panel discussion as described in Figure 2 is independent of the origin of media information and the type of media exchange (namely, synchronous or asynchronous). Consequently, several different instantiations of panel discussions with various combinations of pre-recorded and contemporaneous presentations by panelists’ can be derived from such a unified specification. In order to instantiate a panel discussion, the initiator (whose role is possibly taken up by the panel chair) has to specify the list of panelists and attendees, the time of initiation of the panel, the order of presentations, the duration of each presentation, and the duration for which the proceedings of the panel may be retrieved. The temporal constraints resulting from such an instantiation are depicted in Figure 3. Sessions 1 , 2 , and 3 permit their panelists to prerecord their presentations prior to ERT1, ERT2, and ERT3, but after ETT1, ETT2, and ETT3, respectively, permitting the panelists to participate in an asynchronous manner. However, 4 , which represents the question-answer session, requires synchronous participation of both panelists and atten-

LRT ETT1

LTT1 Ψ1

system based on this model is being implemented at the UCSD Multimedia Laboratory.

ERT1 LTT2

ETT2

Ψ2 ERT2 ETT3

REFERENCES

LTT3 Ψ3 ERT3 LTT4

Ψ4 ETT4, ERT4

T Activity period of the panel session

Figure 3: Instantiation of a panel dees. An attendee joining the panel, say at time T (ETT4 < T < LTT4), can retrieve panel proceedings upto time T in an asynchronous manner, after which the attendee is automatically switched into a synchronous mode of participation.

CONCLUDING REMARKS In recent years, several conferencing systems have been proposed and prototyped to improve the effectiveness of personto-person collaborations. Lantz [5] have studied conferencing architectures for text and graphics. Dewan [4] has addressed the issue of sharing and coupling among windows displaying shared workspace. Ahuja et al at AT&T Bell Laboratories [2] and Aguilar et al at SRI [1] propose architectures for person-to-person audio and/or video conferencing. Connection management architectures for providing flexible control of media connections among users and/or servers were addressed in [8, 10], and a preliminary framework for modeling collaborations was proposed in [9]. However, most of these systems have separately considered synchronous and asynchronous collaborations, and unification of the two into a single paradigm have not received much attention. Additionally, system support abstractions based on formal specification of access rights and temporal relations have not been explored. Our model presented in this paper employs temporal relations and a general access control mechanism (in place of simple floor control) to support a wide spectrum synchronous and asynchronous multimedia collaborations. The model combines both efficiency and flexibility via a hierarchy of abstractions, the lowest level of which are streams for efficient media communication on networks, and the higher two levels of which are sessions and conferences that capture synchronous and asynchronous collaborations. These abstractions provide a powerful set of collaboration building blocks and yield a rich environment for constructing multimedia applications. A prototype collaboration management

[1] L. Aguilar, J.J. Garcia-Luna-Aceves, D. Moran, E.J. Craighill, and R. Brungardt. Architecture for A MultiMedia Tele-Conferencing System. Proceedings of the SIGCOMM’86 Symposium on Communications Architectures and Protocols, Stowe, VT, pages 126–136, August 5-7, 1986. [2] S.R. Ahuja, J. Ensor, and D. Horn. The Rapport Multimedia Conferencing System. In Proceedings of COIS’88 Conference on Office Information Systems, Palo Alto, CA, pages 1–8, March 23-25, 1988. [3] J.F. Allen. Maintaining Knowledge about Temporal Intervals. Communications of the ACM, 26(11):832– 843, November 1983. [4] P. Dewan. A Tour of the Suite User Interface Software. In Proceedings of the 3rd ACM SIG-GRAPH Symposium on User Interface Software and Technology, pages 57–65, October 1990. [5] K.A. Lantz. An Experiment in Integrated Multimedia Conferencing. In Proceedings of CSCW’86, pages 267– 275, December 1986. [6] T.D.C. Little and A. Ghafoor. Synchronization and Storage Models for Multimedia Objects. IEEE Journal on Selected Areas in Communications, 8(3):413–427, April 1990. [7] Srinivas Ramanathan, P. Venkat Rangan, Harrick M. Vin, and Thomas Kaeppner. Optimal Communication Architectures for Multimedia Conferencing in Distributed Systems. In Proceedings of the 12th International Conference on Distributed Computing Systems, Yokohama, Japan, June 1992. [8] P. Venkat Rangan and D. C. Swinehart. Software Architecture for Integration of Video Services in the Etherphone Environment. IEEE Journal on Selected Areas in Communication, 9(9):1395–1404, December 1991. [9] P. Venkat Rangan and Harrick M. Vin. Multimedia Conferencing as A Universal Paradigm for Collaboration. In Multimedia Systems, Applications, and Interaction, Chapter 14, Lars Kjelldahl (editor), Springer-Verlag, Germany, April 1991. [10] Harrick M. Vin, P.T. Zellweger, D.C. Swinehart, and P. Venkat Rangan. Multimedia Conferencing in the Etherphone Environment. IEEE Computer - Special Issue on Multimedia Information Systems, 24(11):69– 79, October 1991.

Suggest Documents