m u
nicati n g; <llld sharing datJ among p�1rticipants who
can be loc1tcd a111where in a building, a cin·, a countr\',
or the 11 01'i d . E�Kh partici pJnt has either a
l'C,a work
s�1tion,
o 1· <l hp
ropcomputer. Some machines contain
3-D
[!;IA>hics �1cbpters
with hard\\'JIT acceleration.( Comf•u
ter· .1idcd design/com
purer-assisted manu flctu ringI CAD/C:Aiv! ] applications l i ke Parametric
Tec lmolos>�' CorpoLltion's
[
PTC] Pro/ENCINEERusc hardll'are accelerators
throughOpenCL' or
Direct3 D' progrJmming protocols. ) Other computers do not conL1in 3 - D <KcelerJtor boards and pro1·ide 3-D
cap<lbi l i ties through software -only routines on two
dimensional ( 2 -
D )
hardware. In a typical collaboration,a person II'Jnting to shJre a specific 3 - D graphical dis
pia\· of a
p<lrt
or model telephones others to discuss thedesign i n progress. After the initial cont<Kt, the col lab orators rn:1y conti nue the telephone call or switch to the audio fu nction of the :�pplication . The graphics part appears on e<Kh particip<mt's screen along with Jssoci
ated ked1o:1rd and mouse
c1
cnts. As the coi!Jboratorsdiscuss the II'Ork, the1· ma1· each interact ll'ith the d is play to highlight, rotate, :md clJJ.nge the look or design
of the 3 - D parr. In this wJy, even though the partici
pants a n : scp<lrated by some distance, thev nlJy interact
as i f thel' ll'ere all sitting :�round a table 11·orki ng, con- 1-ersing, <lnd designi ng the 3-D part.
Current softw:�re th:n bcilitatcs computer- based collabor:Hion runs through a range ofcap:1bilities ri·om the earliest fcm11s of electronic mail to the most recent oHeri ngs of complete col laborarj,·e sh<lri ng of the computer. E\Jmp lcs i n c l u de \Vi nFramc technolog1·
rl·om
Citrix SI'Stcms, I nc . , Neu'vleeting ri·om M icrosoft Corporation, Netscape Communicator from NetscapcCommu nicuions Corpor:Hion, and other products
ri·orn Sun Microsystems, Hewlett- Pack:lrd , and Si I icon Graphics I nc . These p:�cbgcs offer l cl·cls of compu ter sharing and col labor:�tion h·om 1·ideocon krencing :md
file sharing ro ful l application sharing. E:�ch implemen
tation runs on specific oper:�ting systems. AJthough thcv usc l'<lrious u ndcrlving comm unic1tion protocols,
most recent designs ll'ork
o1·cr
local arc�1 :�nd wide are;�net11·orks ( LANs/WAL'\s ) , including the I mernet. for
example, the NctMecting product provides confcr
encing tools l i ke chat, whiteboard , rile tr:msrcr, audio :�nd l'ideocon krenci ng, :md non-real-time, sclectcd
ll'indoll' 2 - D :1pplic1tion sharing mu T l 2 0 protocols
lavcrcd on the Tr:�nsmission Contml Protocol/
I nternet Protocol
( TCP/I P ) .'
NetMcctin g runs onlvon Microsoft platforms (Wi ndows
95
J nd WindowsNT operati ng svstems ) . The current products are defi
cient, holl'cvcr, i n that thev do not support m u ltiple
operating SI'Stcms, do not operate in rc:1l time, and do
not share 3-D graphics. User Interface
I n this section, ll'e descri be our c hoice of a simple user i n terface
r<x
the sh:1ring aro of a desktop :md our design of the Shared Desktop Manager for client server computing.Manv col laboration tools ror sh:1ring computer
i n formation ( graphical desktop, ke\·bo<lrd , mouse , :md
audio or·:� given computer)
ll'ere
complete s�·stems andrequired too much efft>rt on the part of the users just
to leJrn how to share i n formation . A fOcus on learning
collaboration tools often req u i res users to become
e\perts in the collaborJtion soft\\'are r:Hhn th:m in the appl ications that they lll<ll' sh<lre . Since the 1·,1rious 3-D graphics packages that needed to be sh:�rcd II'Crc com
plicated in themselves, we decided ro i m pl ement a simple user i nterrace i n the Shared Desktop Jpplica tion thJt nearh· all audiences could easi h· lc:1rn and usc.
.
.
In the Sh:1red Deskrop design, 11 c dcsign:ned part of the desktop screen as '' sharing <lrc:\ . Graphics objects such as icons and appl ications located within the sharing area can be ,Kccssed by all conference particip:�nts. To share a ne11 applicnion , '' p;�rticip;�nt mo1·es the appl ication i n to the sharing <lrea. To remo1·e :�n <lpplication, a participant moves it outside the sharing area. If the sh<lri n g area encompasses the entire desktop of the initiating participant, all Jpplica tions :�re sh:1red. \Ve used st:mdard pu.l l -do11·n menus :md 11·idgcts prm·ided
lw
either the U � I X X Motiftoo l kjt or the M:icrosott Wind oil's l ibraries. We named the sluring area the "viewport" ; i t is l'icwcd on the desktop :1s :1 user-defi ned «rca of rcccmgular size and location . Ani' gr:�phical object placed i n to the l'ic\1- port is 111<lrkcd as shareable ll'ith c lient users i n a col l a boration . We designed the 1'ie\1pon s o that it is
always on the bottom of a given stack of windows on a desktop. Thus, when ShJred Desktop is minimized, so is its
l'icll'port.
The objects th::lt h:�d been ll'ithin the 1ie\\'porr arc returned to the initiator's desktop <1n d <tre no longer sh,lrcd . vVith a quick minim i;ation, the server colh1borator can pause <1111's
hari n g thJt was in progress withou t d iscon necti ng tt·om the client users . figure l i l l ustrates aU \: I X
seri'Cr ll'ith <l Shared Desktop 1·icwpon connected ro se1·er<1l client s1·stems. The sen·er's 1·iell'porr cont<lins no sh,l red objects within i ts confi nes, and each client screen s hows a viewport received from the server.The viewport can be set to represent the entire visi ble desktop, or it can be set to equal on h· the size of a
gi1·en :�pplicnion on the screen . Acccml i ngh·, a user who is JCting JS the sen·er can determine holl' much of
a given desktop to s hare among the client col labora
tors. The concept of a viewport is valu<lblc because the principal collabor:�tor ( at the s..::r1·er) em quickil' glance at
tbe
screen ;md determine 11 hat to Glpture and send to other participants. ( The objects and appl icationssent ti-om the server Jt-c d esignated
bv
solid l ines in Figure 1 . ) The S hJred Desktop application requires no ti.1rther Jction to set up <lll :1ppliotion tor sh<lring.Each client sends kevboard <llld mouse e1·enrs to the scn·er to control am· appl ication p resent in the l'iell·
port ( remote control is shown as dashed l ines in
Figure l ). Server and clients synchroni ze cursor move ments so th:�t anv conkrcnce mem ber em ll'atch
as others 11l<lkc changes to a shared applicnion. This allows the cu rsor to become '' pointer du ring :1 session. Shared Desktop i mplements an "Jnarch�·" rorm or·
remote comrol , with <Il l mice Jnd keyboards actil'e
si rntl ltaneouslv.
44
SERVER D I GITAL UNIX MAC H I N E
r - - -
,
I I:
:
I�
:
I I y I I I I VIFWPORT W.NDO\V CLIENT 1 DIGITAL U N I X MAC H I N E CLI ENT 2 WINDOWS 95 MACHINE CLI ENT 3 WI NDOWS NT MACH I N E KEY:GRAPHICS, AUDIO, AND MOUSE - - - - AUDIO, KEYBOARD, AND MOUSE
Figure 1
Server Deskrop witl1 Viewport and C l ienrs
When a user initiates a collaboration, the audio is otT by default but remains integral ro a session as a conve n ience (as opposed to using tbe telephone ). Through a pull-down menu operation, the server enables audio for all participants in one operation. The usual audio management tools used to set microphone recording levels and speaker/headset play- back levels are avail
able. As Figure
l
indicates, the UNIX machine collectsaudio and distributes i t to the three client collabora tors. Likewise, the three clients collect audio and send
it back to the server for mixing. In this way, all partici
pants can hear one another and interact with \\'hatevcr objects appear i n the viewport on the server's screen.
Figure