hp sharedx: a tool for real time collaboration

14
A/1)+ 1994 H%6+%33:P!#*!1$ J.41-!+ 23 HP Sha"edX: A Tl f" Real’Time Cllab"a$in With this real-time communication product, two or more remote users can share and interact with the same X-protocol-based applications from their workstations. Windows are shared in such way that it almost seems as if all the participants in the shared session are sitting at the same workstation, running the same application. b& Daniel Ga"finkel, B"%ce C. Wel$i, and Thma# W. Yi! HP S(!1%$ )2 ! #.,,4-)#!3).- 3..+ 3(!3 %73%-$2 3(% )-$42318:23!-$!1$ W)-$.6 S823%, 3. %-!"+% 1%!+:3),% 2(!1)-’ .& :/1.3.#.+:"!2%$ !//+)#!3).-2 "%36%%- 36. .1 ,.1% 1%,.3% 42%12 !-$ $)2/+!82. W)3( HP S(!1%$ 42%12 #!- 2(!1% )-&.1,!3).- 6)3( .-% !-.3(%1 5)! ! 6.1*23!3).- 6)3(: .43 "%)-’ )- 3(% 2!,% +.#!3).-. B%)-’ !"+% 3. 2(!1% )-&.1,!3).- .5%1 ! -%36.1* )- 1%!+ 3),% )2 ! 5%18 %&&%#3)5% /1.$4#3)5)38 3..+. T(% &.++.6)-’ 36. %7: !,/+%2 2(.6 (.6 $)2/+!8)-’ !//+)#!3).-2 !#1.22 ! #.,/43%1 -%36.1* #!- )-#1%!2% /1.$4#3)5)38: S823%, !$,)-)231!3).-. M!18 )2 ! 2823%, !$,)-)231!3.1 &.1 2%5%1!+ -%36.1*2 $)231)"43%$ .5%1 2%5%1!+ 6)$%+8 $)2/%12%$ "4)+$)-’2. W(%- ! 42%1 .- ! /!13)#4+!1 -%36.1* %-#.4-3%12 6(!3 ,!8 "% !- !//+)#!3).- .1 2823%, /1."+%,, M!18 #!-, 6)3( 3(% 42%1'2 #../%1!3).-, %23!"+)2( ! #.,,.- (HP S(!1%$) 6)-$.6 6)3( 3(% 42%1'2 2823%,. W)3( 3()2 2(!1%$ 6)-$.6 M!18 #!- 2%% !-$ $)!’-.2% 3(% 42%1'2 /1."+%, 6()+% 3(% 42%1 )2 6!3#()-’ 6(!3 2(% )2 $.)-’. S(% #!- /%1: &.1, 3()2 3!2* 6)3(.43 +%!5)-’ (%1 $%2*, 42)-’ 3(% $)!’-.23)# 3..+2 !5!)+!"+% !3 (%1 6.1*23!3).-. R%,.3% $%,.-231!3).-2.F.1 2.,% -%6 .1 #.,/+%7 2.&36!1% /!#*!’%2, 3(%1% ,!8 "% .-+8 ! (!-$&4+ .& /%./+% 6(. !1% !"+% 3. $%,.-231!3% 3(% 2.&36!1% %&&%#3)5%+8. HP S(!1%$ ’)5%2 3(%2% /%./+% !- .//.134-)38 3. (!5% ! 5)134!+ /1%2%-#% !3 1%,.3% +.#!3).-2 .- 3(% -%36.1*. H%6+%33:P!#*!1$'2 W.1* M!-!’%,%-3 O/%1!3).- 1.43)-%+8 42%2 HP S(!1%$ 3. $%,: .-231!3% !$5!-#%$ &%!341%2 .& )32 HP W.1*M!-!’%1 $!3!"!2% /1.$4#3 &1., 3(% $%2*2 .& %-’)-%%12 )- F.13 C.++)-2, C.+.: 1!$. 3. /1.2/%#3)5% "48%12 !++ .5%1 3(% 6.1+$. A+2., 5!1).42 /!13-%12 6(. !1% $%5%+./)-’ !$$)3).-2 3. W.1*M!-!’%1 42% HP S(!1%$ 3. $%,.-231!3% 3(%)1 6.1* )- /1.’1%22 3. 3(% %-’)-%%12 )- F.13 C.++)-2, !++.6)-’ -%6 &%!341%2 3. "% %5!+: 4!3%$ 9+)5%" 6)3(.43 31!5%+. HP S(!1%$ #!- !##.,/+)2( $)2/+!8 2(!1)-’ "%#!42% .& 3(% -!341% .& 3(% 2823%, )3 )2 "4)+3 4/.-, 3(% W)-$.6 S823%,. 1,2 T(% W)-$.6 S823%,, *-.6- 2),/+8 !2 , )2 ! -%36.1*%$ 6)-$.6 2823%, !++.6)-’ !//+)#!3).-2 14--)-’ .- .-% #.,/43%1 3. $)2/+!8 .- !-.3(%1 (2%% 9 W)-$.6 S823%, C+)%-3/S%15%1 A1#()3%#341%" .- /!’% 25). T()2 -%36.1*%$ !2/%#3 !++.62 2(!1)-’ .& %7/%-2)5% ()’(:2/%%$ #.,/43%12 !,.-’ 2%5%1!+ 42%12 .- +.6:#.23 :"!2%$ $)2/+!8 23!3).-2. F413(%1,.1%, )2 $%2)’-%$ 3. "% )-3%1./%1!"+% )- (%3%1.’%: -%.42 #.,/43)-’ %-5)1.-,%-32. A//+)#!3).-2 14--)-’ .- .-% 5%-$.1'2 (!1$6!1% #!- $)2/+!8 3(%,2%+5%2 .- !-.3(%1 5%-: $.1'2 $)2/+!8 "8 !$(%1)-’ 3. 3(% /1.3.#.+ 23!-$!1$. H%3%1.: ’%-%)38 )2 !##.,,.$!3%$ "8 !"231!#3)-’ 3(% !//+)#!3).-'2 5)%6 .& 3(% $)2/+!8 24"2823%,, )-#+4$)-’ 3(% ’1!/()#2 (!1$: 6!1%, )-/43 $%5)#% #.-31.+, ,%,.18 ,!-!’%,%-3, !-$ $!3! &.1,!32. I-3%1!#3).- 6)3( 3(% $)2/+!8 23!3).- .##412 3(1.4’( ! 6%++:$%&)-%$ /1.3.#.+, 6()#( /1.5)$%2 ! #.-2)23%-3 6!8 &.1 !//+)#!3).-2 3. 6.1* 6)3( ! 6)$% 5!1)%38 .& $)2/+!8 $%5)#%2, &1., PC2 3. ()’(:1%2.+43).-, $%%/:#.+.1 6.1*23!3).-2. (!2 "%#.,% 3(% )-$42318 23!-$!1$ 6)-$.6 2823%, &.1 6.1*23!3).-2 )- /!13 "%#!42% .& )32 -%36.1*%$ !-$ (%3%1.’%: -%.42 -!341%. HP S(!1%$ "4)+$2 .- 3(% W)-$.6 S823%, "8 1%31!-2,)33)-’ 3(% /1.3.#.+ 231%!, 3. ,4+3)/+% $)2/+!8 23!3).-2, 3(42 2),4+3!-%.42+8 $)2/+!8)-’ ! 2)-’+% !//+)#!3).- .- ,4+3)/+% #.,/43%1 $)2/+!82.S.,% *%8 &%!341%2 .& HP S(!1%$ !1%: N. #(!-’%2 !1% -%%$%$ 3. %7)23)-’ !//+)#!3).-2 3. 2(!1% 3(%,. HP S(!1%$ !++.62 42%12 3. 2(!1% 5)134!++8 !-8 !/: /+)#!3).-, 1!3(%1 3(!- &.1#)-’ 42%12 3. 42% 2/%#)!++8 61)33%-, #.++!".1!3)5% !//+)#!3).-2. U2%12 2%% ! #./8 .& 3(% !//+)#!3).- 3. 3(% "%23 !")+)38 .& 3(%)1 $)2/+!8 $%5)#%. I& -%#%22!18, HP S(!1%$ 6)++ $%’1!$% 3(% 04!+)38 .& 3(% $)2/+!8%$ ),!’%2 3. ,!3#( 3(% #!/!")+)3)%2 .& 3(% $)2/+!8 (!1$6!1%. R4--)-’ !//+)#!3).-2 #!- "% 2(!1%$ 6)3(.43 /1).1 2%34/. U2%12 -%%$ -.3 1%23!13 !//+)#!3).-2 3(%8 6!-3 3. 2(!1%; 3(% !//+)#!3).- #!- "% 2(!1%$ )- )32 #411%-3 23!3%. T()2 )2 ),/.1: 3!-3 )- #.-24+3)-’ %-5)1.-,%-32 6(%1% 42%12 ,!8 -.3 *-.6 (.6 3(%8 ’.3 3(%)1 !//+)#!3).- )-3. )32 #411%-3 23!3%. T(% 1%#%)5)-’ ,!#()-%2 (,!#()-%2 1%#%)5)-’ 3(% 2(!1%$ !/: /+)#!3).-) -%%$ -. ,.$)&)#!3).-2 .1 2/%#)!+ 2.&36!1% )-23!++%$. S)-#% /1.3.#.+ )2 3(% #.,,4-)#!3).- ,%#(!-)2,, 3(% 1%#%)5)-’ ,!#()-% #!- "% !-8 :#!/!"+% $)2/+!8 $%5)#%. R%#%)5%12 .& ! 2(!1%$ !//+)#!3).- #!- )-3%1!#3 6)3( )3 !2 6%++ !2 3(% 2%-$%1 (3(% ,!#()-% 2%-$)-’ 3(% 2(!1%$ !//+)#!3).-). R%#%)5%12 #!- $%,.-231!3% ./%1!3).- .& 3(% !//+)#!3).- 1!3(%1 3(!- $%2#1)")-’ 3. 3(% 2%-$%1 6(!3 3. $..

Upload: hoanghuong

Post on 23-Dec-2016

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: HP SharedX: A Tool for Real Time Collaboration

�/1)+� �� �%6+%33:�!#*!1$� �.41-!+� � � � � � � ��

� � ���"����� �� � �� � "� ����'���� ���� "�$� �

With this real-time communication product, two or more remote users canshare and interact with the same X-protocol-based applications from theirworkstations. Windows are shared in such way that it almost seems as ifall the participants in the shared session are sitting at the sameworkstation, running the same application.

�&� ������ ��"�������� �"%��� �� ���$��� ���� �� ��#� ��� ��!

��� �(!1%$ � )2� !� #.,,4-)#!3).-� 3..+� 3(!3� %73%-$2� 3(%�

)-$42318:23!-$!1$� � �)-$.6� �823%,� 3.� %-!"+%� 1%!+:3),%

2(!1)-'� .&� :/1.3.#.+:"!2%$� !//+)#!3).-2� "%36%%-� 36.� .1

,.1%� 1%,.3%� 42%12� !-$� $)2/+!82�� �)3(� ��� �(!1%$ � 42%12� #!-

2(!1%� )-&.1,!3).-� 6)3(� .-%� !-.3(%1� 5)!� !� 6.1*23!3).-� 6)3(:

.43� "%)-'� )-� 3(%� 2!,%� +.#!3).-�

�%)-'� !"+%� 3.� 2(!1%� )-&.1,!3).-� .5%1� !� -%36.1*� )-� 1%!+� 3),%

)2� !� 5%18� %&&%#3)5%� /1.$4#3)5)38� 3..+�� �(%� &.++.6)-'� 36.� %7:

!,/+%2� 2(.6� (.6� $)2/+!8)-'� !//+)#!3).-2� !#1.22� !� #.,/43%1

-%36.1*� #!-� )-#1%!2%� /1.$4#3)5)38�

• �823%,� !$,)-)231!3).-�� �!18� )2� !� 2823%,� !$,)-)231!3.1� &.12%5%1!+� -%36.1*2� $)231)"43%$� .5%1� 2%5%1!+� 6)$%+8� $)2/%12%$

"4)+$)-'2�� �(%-� !� 42%1� .-� !� /!13)#4+!1� -%36.1*� %-#.4-3%12

6(!3� ,!8� "%� !-� !//+)#!3).-� .1� 2823%,� /1."+%,�� �!18� #!-�

6)3(� 3(%� 42%1�2� #../%1!3).-�� %23!"+)2(� !� #.,,.-� ���

�(!1%$ �� 6)-$.6� 6)3(� 3(%� 42%1�2� 2823%,�� �)3(� 3()2� 2(!1%$

6)-$.6� �!18� #!-� 2%%� !-$� $)!'-.2%� 3(%� 42%1�2� /1."+%,

6()+%� 3(%� 42%1� )2� 6!3#()-'� 6(!3� 2(%� )2� $.)-'�� �(%� #!-� /%1:

&.1,� 3()2� 3!2*� 6)3(.43� +%!5)-'� (%1� $%2*�� 42)-'� 3(%� $)!'-.23)#

3..+2� !5!)+!"+%� !3� (%1� 6.1*23!3).-�

• �%,.3%� $%,.-231!3).-2�� �.1� 2.,%� -%6� .1� #.,/+%7� 2.&36!1%/!#*!'%2�� 3(%1%� ,!8� "%� .-+8� !� (!-$&4+� .&� /%./+%� 6(.� !1%

!"+%� 3.� $%,.-231!3%� 3(%� 2.&36!1%� %&&%#3)5%+8�� ��� �(!1%$

')5%2� 3(%2%� /%./+%� !-� .//.134-)38� 3.� (!5%� !� 5)134!+� /1%2%-#%

!3� 1%,.3%� +.#!3).-2� .-� 3(%� -%36.1*�� �%6+%33:�!#*!1$�2� �.1*

�!-!'%,%-3� �/%1!3).-� 1.43)-%+8� 42%2� ��� �(!1%$ � 3.� $%,:

.-231!3%� !$5!-#%$� &%!341%2� .&� )32� ��� �.1*�!-!'%1� $!3!"!2%

/1.$4#3� &1.,� 3(%� $%2*2� .&� %-')-%%12� )-� �.13� �.++)-2�� �.+.:

1!$.� 3.� /1.2/%#3)5%� "48%12� !++� .5%1� 3(%� 6.1+$�� �+2.�� 5!1).42

/!13-%12� 6(.� !1%� $%5%+./)-'� !$$)3).-2� 3.� �.1*�!-!'%1� 42%

��� �(!1%$ � 3.� $%,.-231!3%� 3(%)1� 6.1*� )-� /1.'1%22� 3.� 3(%

%-')-%%12� )-� �.13� �.++)-2�� !++.6)-'� -%6� &%!341%2� 3.� "%� %5!+:

4!3%$� 9+)5%�� 6)3(.43� 31!5%+�

��� �(!1%$ � #!-� !##.,/+)2(� $)2/+!8� 2(!1)-'� "%#!42%� .&� 3(%

-!341%� .&� 3(%� 2823%,� )3� )2� "4)+3� 4/.-�� 3(%� � �)-$.6� �823%,��

�(%� � �)-$.6� �823%,�� *-.6-� 2),/+8� !2� �� )2� !� -%36.1*%$

6)-$.6� 2823%,� !++.6)-'� � !//+)#!3).-2� 14--)-'� .-� .-%

#.,/43%1� 3.� $)2/+!8� .-� !-.3(%1� �2%%� 9 � �)-$.6� �823%,

�+)%-3��%15%1� �1#()3%#341%�� .-� /!'%� ���� �()2� -%36.1*%$

!2/%#3� !++.62� 2(!1)-'� .&� %7/%-2)5%� ()'(:2/%%$� #.,/43%12

!,.-'� 2%5%1!+� 42%12� .-� +.6:#.23� :"!2%$� $)2/+!8� 23!3).-2�

�413(%1,.1%�� � )2� $%2)'-%$� 3.� "%� )-3%1./%1!"+%� )-� (%3%1.'%:

-%.42� #.,/43)-'� %-5)1.-,%-32�� �//+)#!3).-2� 14--)-'� .-� .-%

5%-$.1�2� (!1$6!1%� #!-� $)2/+!8� 3(%,2%+5%2� .-� !-.3(%1� 5%-:

$.1�2� $)2/+!8� "8� !$(%1)-'� 3.� 3(%� � /1.3.#.+� 23!-$!1$�� �%3%1.:

'%-%)38� )2� !##.,,.$!3%$� "8� !"231!#3)-'� 3(%� !//+)#!3).-�2

5)%6� .&� 3(%� $)2/+!8� 24"2823%,�� )-#+4$)-'� 3(%� '1!/()#2� (!1$:

6!1%�� )-/43� $%5)#%� #.-31.+�� ,%,.18� ,!-!'%,%-3�� !-$� $!3!

&.1,!32�� �-3%1!#3).-� 6)3(� 3(%� $)2/+!8� 23!3).-� .##412� 3(1.4'(� !

6%++:$%&)-%$� /1.3.#.+�� 6()#(� /1.5)$%2� !� #.-2)23%-3� 6!8� &.1

!//+)#!3).-2� 3.� 6.1*� 6)3(� !� 6)$%� 5!1)%38� .&� $)2/+!8� $%5)#%2�

&1.,� ��2� 3.� ()'(:1%2.+43).-�� $%%/:#.+.1� 6.1*23!3).-2�

� (!2� "%#.,%� 3(%� )-$42318� 23!-$!1$� 6)-$.6� 2823%,� &.1

6.1*23!3).-2� )-� /!13� "%#!42%� .&� )32� -%36.1*%$� !-$� (%3%1.'%:

-%.42� -!341%�� ��� �(!1%$ � "4)+$2� .-� 3(%� � �)-$.6� �823%,

"8� 1%31!-2,)33)-'� 3(%� � /1.3.#.+� 231%!,� 3.� ,4+3)/+%� � $)2/+!8

23!3).-2�� 3(42� 2),4+3!-%.42+8� $)2/+!8)-'� !� 2)-'+%� !//+)#!3).-

.-� ,4+3)/+%� #.,/43%1� $)2/+!82�� �.,%� *%8� &%!341%2� .&� ��

�(!1%$ � !1%�

• �.� #(!-'%2� !1%� -%%$%$� 3.� %7)23)-'� � !//+)#!3).-2� 3.� 2(!1%3(%,�� ��� �(!1%$ � !++.62� 42%12� 3.� 2(!1%� 5)134!++8� !-8� � !/:

/+)#!3).-�� 1!3(%1� 3(!-� &.1#)-'� 42%12� 3.� 42%� 2/%#)!++8� 61)33%-�

#.++!".1!3)5%� !//+)#!3).-2�

• �2%12� 2%%� !� #./8� .&� 3(%� !//+)#!3).-� 3.� 3(%� "%23� !")+)38� .&3(%)1� $)2/+!8� $%5)#%�� �&� -%#%22!18�� ��� �(!1%$ � 6)++� $%'1!$%

3(%� 04!+)38� .&� 3(%� $)2/+!8%$� ),!'%2� 3.� ,!3#(� 3(%� #!/!")+)3)%2

.&� 3(%� $)2/+!8� (!1$6!1%�

• �4--)-'� !//+)#!3).-2� #!-� "%� 2(!1%$� 6)3(.43� /1).1� 2%34/��2%12� -%%$� -.3� 1%23!13� !//+)#!3).-2� 3(%8� 6!-3� 3.� 2(!1%�� 3(%

!//+)#!3).-� #!-� "%� 2(!1%$� )-� )32� #411%-3� 23!3%�� �()2� )2� ),/.1:

3!-3� )-� #.-24+3)-'� %-5)1.-,%-32� 6(%1%� 42%12� ,!8� -.3� *-.6

(.6� 3(%8� '.3� 3(%)1� !//+)#!3).-� )-3.� )32� #411%-3� 23!3%�

• �(%� 1%#%)5)-'� ,!#()-%2� �,!#()-%2� 1%#%)5)-'� 3(%� 2(!1%$� !/:/+)#!3).-�� -%%$� -.� ,.$)&)#!3).-2� .1� 2/%#)!+� 2.&36!1%

)-23!++%$�� �)-#%� � /1.3.#.+� )2� 3(%� #.,,4-)#!3).-� ,%#(!-)2,�

3(%� 1%#%)5)-'� ,!#()-%� #!-� "%� !-8� :#!/!"+%� $)2/+!8� $%5)#%�

• �%#%)5%12� .&� !� 2(!1%$� !//+)#!3).-� #!-� )-3%1!#3� 6)3(� )3� !2� 6%++!2� 3(%� 2%-$%1� �3(%� ,!#()-%� 2%-$)-'� 3(%� 2(!1%$� !//+)#!3).-��

�%#%)5%12� #!-� $%,.-231!3%� ./%1!3).-� .&� 3(%� !//+)#!3).-

1!3(%1� 3(!-� $%2#1)")-'� 3.� 3(%� 2%-$%1� 6(!3� 3.� $.�

Page 2: HP SharedX: A Tool for Real Time Collaboration

��� � � � � � � %&�!� ���� ��+!�((.��� �&�� �$)&#�!

����� �� � ��� ���&���� '�#��&�&����*�&� �&���(��()&�� �#�� ��(�� �!$+'� �)&�#�� �#�(��!� ��'%!�-� �$##��(�$#�

Workstation Display

XApplication

Xlib

SXConnector

Xlib

XServer

Xlib

HP SharedXExtension

LAN

Redraw

76

3

8

SXReceiverService2 “Yes”

1 “May I Share to You?”

1

XServer

4 Open Display Connection

5 Create Windows

6 Request to Redraw

8 Remote Redraw

Local Redraw

Workstation Display

HP SharedXConnector 8

5

Shared Application

Sender Receiver

1

2

2

Xlib

���� &�'(� $�� (��'� �&(��!�� �$*�&'� (��� �&���(��()&�� $�� (��� ��

���&���� '-'(�"�� (��� )'�&� "$��!� �#�� )'�&� �#(�&����� �$&� '��&.

�#��� �#� $*�&*��+� $�� (��� !$+.!�*�!� "����#�'"� (��(� ")!(���'('

(��� �� %&$($�$!� �#�� "�&��'� �#%)(� �*�#('�� �#�� ��#�!!-�� �� ��.

'�&�%(�$#� $�� �$+� '��&�#�� �'� ���$"%!�'���� +�(�� ��'%!�-'� $�

�����&�#(� *�')�!� (-%�'� �#�� �����&�#(� &�'$)&��'�

�� ������� �� ���� ����

��� ���&���� �$#'�'('� $�� (�&��� �$"%$#�#('�� (��� ��� ���&���

)'�&� �#(�&����� � #$+#� �'� (��� �$##��($&��� (��� ��� ���&���

&����*�&� '�&*����� �#�� (��� ��� ���&���� �,(�#'�$#� ($� (��� �

'�&*�&� �'��� ����� ���� ���� �$##��($&� �'� (��� '�#��&�'� �$#(&$!� �$&

'��&�#�� �#�� )#'��&�#�� +�#�$+'�� �#��!�#�� �#�� ��'��!�#�� &�.

���*�&� �#%)(�� ��'%!�-�#�� '��&�#�� '(�()'�� �#�� '$� $#�� ���� &�.

���*�&� '�&*���� �'� �#� $%(�$#�!� %&$��''� $#� (��� &����*�&�'� "�.

���#�� (��(� '�"%!����'� '��&�#�� +�#�$+'� �#�� �#�&��'�'� '��)&�(-�

���� ��� ���&���� �,(�#'�$#� �'� �� !$+.!�*�!� "����#�'"� (��(

'��&�'� +�#�$+'�� ��%'� (�$'�� +�#�$+'� )%� ($� ��(��� �#�

"�&��'� �#%)(� �&$"� ")!(�%!�� )'�&'�� ���'�� (�&��� �$"%$#�#('

�&�� ��'�&����� �#� "$&�� ��(��!� !�(�&�

#� ��� ���&���� '�''�$#� ����#'� +��#� (��� )'�&� �(� (��� '�#��#�

+$& '(�(�$#� '%������'� �� &����*�&� �#�� %)'��'� (��� Share� �)(($#�#� (��� ��� ���&���� �$##��($&� +�#�$+� ������ ��� �(�&� (��� Share�)(($#� �'� %)'���� (��� '�#��&� '�!��('� (��� +�#�$+� ($� '��&�� �-

�!�� �#�� (��� "$)'�� �)(($#� $*�&� (��� ��'�&��� +�#�$+�� �#��

(��� ��'�&��� +�#�$+� �'� '�!��(��� (��� �$!!$+�#�� �*�#('� $��)&

��(+��#� ��� ���&���� %&$��''�'� $#� (��� '�#��&� �#�� &����*�&

+$& '(�(�$#'� '�$+#� �#� ����� ��� ����� '(�%� �$&&�'%$#�'� ($� �

#)"��&� ��&�!��� �#� ����� ������� ��� ���� ��� ���&���� �$##��($&� +�#�$+�

Page 3: HP SharedX: A Tool for Real Time Collaboration

�+-%'� ���� �!2'!//6���&�- � �*0-)�'� � � � � � � ��

�� ������� ������ ������������� �� ���� ����

The X Window System, commonly referred to as X, is an industry-standard, network-transparent window system. X presents to the user a hierarchy of resizable over-lapping windows providing device independent graphics. A graphical user interface iscommonly included as an integral part of the X Window System.

The principal feature that distinguishes X from a conventional window system is itsnetwork transparency. The X Window System allows window applications or cli-ents to access the display only through the X server, which is a separate processthat arbitrates resource conflicts and provides display, keyboard, and mouseservices to all clients accessing the display (Fig. 1). X can support a spectrum ofhardware displays ranging from small monochrome units to advanced graphicssystems with up to 32 bits of color per pixel.

The client and the server exchange information only by means of the X WindowSystem protocol which can be implemented via any reliable byte stream. In theHP-UX* implementation of X, as in most others, this byte stream is implementedas a socket, which is a logical data connection between two processes on thenetwork. Clients may reside locally with the display server or on a remote systemacross the local area network (LAN). A performance optimization bypasses thephysical LAN when the client and the server are on the same computer.

Because the client program and the display server are two separate entities, thetarget display can be specified at the time the application client is run. The clientprogram is indifferent. It sends out X protocol commands via calls to the X library(Xlib), which in turn calls the network service functions to communicate with thetarget X server.

Fig. 1. X Window System client/server architecture.

Application

User Interface Toolkit

X Library (Xlib)

Network Services

LAN

Network Services

X Server

Display

��� �$!� �*))!�/*-� .!) .� �� (!..�#!� *1!-� /$!� )!/2*-&� /*� /$!

��� �$�-! �� -!�!%1!-� .!-1%�!� *)� /$!� -!�!%1!-�.� (��$%)!�� �$!

-!�!%1!-� .!-1%�!� %.+'�4.� �� 2%) *2� �.&%)#� /$!� 0.!-� �/� /$!

-!�!%1!-� .4./!(� /*� ���!+/� �� .$�-! � 2%) *2� "-*(� /$!� .!) !-

��%#�� ��

��� �$!� -!�!%1!-� +�..!.� ���&� �� 4!.� *-� )*� -!.+*).!� /*� /$!

�*))!�/*-�� �"� /$!� �).2!-� %.� )*�� /$!� .!) !-� %.� %)"*-(! � /$�/

���!..� %.� !)%! � /*� /$!� -!�!%1!-�.� (��$%)!�

�� �"� /$!� �).2!-� %.� 4!.� �*-� %"� /$!� -!�!%1%)#� (��$%)!� *!.� )*/

$�1!� /$!� -!�!%1!-� .!-1%�!��� /$!� �*))!�/*-� .!) .� �� .+!�%�'� �

+-*/*�*'� -!,0!./� �.$�-!� 2%) *2� �� /*� -!�!%1!-� ���� /*� /$!

.!) !-�.� �� .!-1!-�� �$!� �� .!-1!-�.� (�%)� !1!)/� '**+� -!�*#)%5!.

/$!� .$�-!� 2%) *2� -!,0!./� �.� *)!� %-!�/! � �/� /$!� ��� �$�-! �

!3/!).%*)�� �/� ��''.� /$!� �++-*+-%�/!� "0)�/%*)� %)� /$!� !3/!).%*)

/*� $�) '!� /$!� -!,0!./�

���� ��� �$!� ��� �$�-! �� -!�!%1!-� .!-1%�!� 2%) *2�

�� �$!� ��� �$�-! �� !3/!).%*)� *+!).� �� �*))!�/%*)� *1!-� /$!

)!/2*-&� /*� /$!� -!�!%1!-�.� �� .!-1!-�� �$%.� %.� *)!� 2%/$� /$!� �'%�

��''� XOpenDisplay�

��� �$!� ��� �$�-! �� !3/!).%*)� �-!�/!.� 2%) *2.� *)� /$!� -!6

�!%1!-�.� .�-!!)� /*� (�/�$� /$*.!� *)� /$!� .!) !-�.� .�-!!)�

��� �.� /$!� 2%) *2.� �-!� �-!�/! � �) � (�++! �� /$!� -!�!%1!-�.�

�� .!-1!-� #!)!-�/!.� �� -!,0!./� /*� -! -�2� /$!� )!2'4� �-!�/!

2%) *2.�

�� �$!� �++'%��/%*)� -!.+*) .� �4� -! -�2%)#� /$!� �*)/!)/.� *"� �''

*"� %/.� 2%) *2.�� �� +-*/*�*'� -�2%)#� -!,0!./.� /*� -! -�2� /$!

2%) *2.� �-!� $�) '! � '*��''4� �4� /$!� .!) !-�.� �� .!-1!-�� �.

0.0�'�� �0/� .%)�!� /$!� �++'%��/%*)� %.� )*2� .$�-! �� /$!� +-*/*�*'

%.� !""!�/%1!'4� !�$*! � /*� /$!� -!�!%1!-� � � � %)� �%#�� ���� �$%.� %.

$*2� /$!� -!�!%1!-� %.� �-*0#$/� 0+� /*� �/!� 2%/$� /$!� .!) !-

2$!)� /$!� .$�-!� %.� %)%/%�/! �� �)�% !)/�''4�� )*)!� *"� /$!� -!6

.*0-�!.� �#-�+$%�.� �*)/!3/.�� "*)/.�� �) � .*� *)�� !3%./� *)� /$!

-!�!%1!-� 2$!)� /$!� -!,0!./.� ./�-/� "'*2%)#� "-*(� /$!� .$�-!

�++'%��/%*)�� �!.*0-�!.� *)� /$!� -!�!%1!-� �-!� �-!�/! � 2$!)� /$!4

�-!� )!! ! �� /$�/� %.�� �/� /$!� +*%)/� /$!4� �-!� "%-./� 0.! �� �) � )*/

2$!)� /$!4� �-!� �-!�/! � �4� /$!� .$�-! � �++'%��/%*)�� �.� �� -!.0'/�

/$!� %)+0/� "-*(� /$!� �++'%��/%*)� /*� /$!� .!) !-�.� �� .!-1!-� �)

*0/+0/� "-*(� /$!� .!) !-�.� �� .!-1!-� /*� /$!� -!�!%1!-�.� �� .!-1!-

(%#$/� '**&� '%&!� /$!� "*''*2%)#� ./-!�(.�

�)+0/ �0/+0/

ClearWindow( win1 ) ClearWindow( win1a )DrawLine( win1, gc1, x, y ) gc1a = CreateGC( win1a, … )DrawLine( win2, gc2, x, y ) DrawLine( win1a, gc1a, x, y )

gc2a = CreateGC( win2a, … ) DrawLine( win2a, x, y )

Page 4: HP SharedX: A Tool for Real Time Collaboration

��� � � � � � � �02),� ����� �%7,%44<�!#+!2$� �/52.!,

��������� ��������

The following are some graphics terms that may be of help in reading parts of thisarticle that discuss graphics.

Color Map. A very high-speed look-up table that maps the numbers stored in theframe buffer (video memory) to actual color values which are converted to analogvoltages and sent to the monitor.

Frame Buffer. The video memory of a display device in which each elementrepresents one picture element, or pixel. The frame buffer is divided into twoparts: onscreen memory (current visible image) and offscreen memory (graphicsmemory that is never visible).

Graphic Context. A set of attributes such as foreground and background colors,line styles, and fill patterns which are used by X clients to specify how the X servershould render the drawing requests it receives.

Image Planes. The primary display memory on HP’s display systems, used forrendering complex images.

Offscreen Memory. A portion of the frame buffer that cannot be displayed on themonitor. In all other respects, offscreen memory behaves the same as on-screen(visible) memory. Starbase and X use offscreen memory to hold character, cursor,pixmap, and scratch information for rapid transfers to onscreen memory.

Pixmap. A rectangle of image data maintained in offscreen memory when there isroom, and in virtual memory when there is no room in offscreen memory.

Rendering. Any form of drawing operation, including text, line, and raster output.Rendering may occur to onscreen memory, offscreen memory, or virtual memory.

Visual Type. The color map capabilities of a given display. Common visual typessupported on HP displays include 1-bit static gray (or monochrome), 8-bit pseudocolor (having 256 color map cells of RGB values), and 24-bit direct color (using 8bits each for red, green, and blue values).

�/4%� 4(!4� 4(%3%� !2%� /.,9� 2%02%3%.4!4)/.3� /&� 4(%� $2!7).'

#/--!.$3� 3%.4� &2/-� 4(%� !00,)#!4)/.� !.$� 4(%� 3%.$%2�3�

3%26%2�� �(%� 0!2!-%4%23� win1a� !.$� win2a� #/22%30/.$� 4/� 4(%� $)&<&%2%.4� 7).$/73� #2%!4%$� ).� 34%0� ��� �(%� )$%.4)&)%23� win1a�� gc2a�!.$� 3/� /.� 2%02%3%.4� 2%3/52#%3� /.� 4(%� 3%.$%2�3� $)30,!9� 7()#(

!2%� -!00%$� 4/� 2%3/52#%3� win1a�� gc2a�� !.$� 3/� &/24(� /.� 4(%� 2%<#%)6%2�3� $)30,!9�

�.#%� 4(%� 2%$2!7� 34%0� )3� &).)3(%$�� 4(%� 3(!2%� #/..%#4)/.� )3

%34!",)3(%$�� �2/-� (%2%� /.�� 4(%� 47/� $)30,!93� !2%� +%04� ).

39.#(2/.):!4)/.� "9� %15)6!,%.4� � 02/4/#/,� "%).'� 3%.4� 4/� %!#(

3%26%2�

���� ����

�(%� ��� �(!2%$ � #/..%#4/2� ��)'�� �� )3� !.� � �).$/7� !00,)#!<

4)/.� 4(!4� #/.4!).3� !,,� 4(%� #/.42/,3� 4(!4� %.!",%� 53%23� 4/� 3%4� 50

!.$� #/.42/,� !00,)#!4)/.� 3(!2).'�� �3).'� 4!3+� !.!,93)3�� 7%

$%3)'.%$� 4(%� ��� �(!2%$ � #/..%#4/2� 4/� -!4#(� 4(%� 53%2�3� 4!3+

&,/7�� 4(53� 02/6)$).'� ).45)4)6%� #/.42/,3� 4/� 4(%� #/-0,%8� /0%2!<

4)/.� /&� 3(!2).'� !.� !00,)#!4)/.�� �/-%� /&� 4(%� 53!"),)49� &%!452%3

/&� 4(%� #/..%#4/2� 7).$/7� ).#,5$%�

• �.� !$$2%33� "//+� ��)'�� ���� !##%33)",%� &2/-� 4(%� Receivers� -%.5)4%-� ).� 4(%� #/..%#4/2� 7).$/7�� 4/� +%%0� !.$� /2'!.):%� #/-<

-/.� 2%#%)6%23� !.$� !,,/7� 53%23� 4/� 30%#)&9� 2%#%)6%23� "9� 53%2

.!-%� 2!4(%2� 4(!.� -!#().%� .!-%

• �� 3(!2%$� 0/).4%2� �#!,,%$� !� 4%,%0/).4%2��� !6!),!",%� &2/-� 4(%Windows� -%.5� )4%-� ).� �)'�� �� &/2� 53%23� 4/� 0/).4� 4/� !2%!3� /&3(!2%$� !00,)#!4)/.3� $52).'� #/,,!"/2!4)/.

����� ��� �� 7).$/7� 3(/7).'� 4(%� !$$2%33� "//+�

• �%6%2!,� #5%3�� ,)+%� #(!.').'� !� 7).$/7� 4)4,%� 3/� 4(!4� 4(%� 53%2#!.� +%%0� 42!#+� /&� 4(%� 7).$/73� "%).'� 3(!2%$�� 4(%� 53%23� 2%<

#%)6).'� 3(!2%$� 7).$/73�� !.$� 4(%� 2%#%)6%23� 4(!4� #!.� 3%.$

).054� 4/� 4(%� 3(!2%$� !00,)#!4)/.

• �!2)/53� ,%6%,3� /&� $)!,/'� ).&/2-!4)/.� ��/2� %8!-0,%�� 7(%.� 4(%53%2� 34!243� 53).'� ��� �(!2%$ �� !� Normal� $)!,/'� ,%6%,� )3� 3%4� ')6<).'� 4(%� 53%2� #/-0,%4%� 34!453� ).&/2-!4)/.� !"/54� 4(%� 15!,)49� /&

4(%� 3(!2%$� !00,)#!4)/.�� �(%.� 4(%� 53%2� 3%43� 4(%� $)!,/'� ,%6%,

4/� Experienced�� /.,9� #2)4)#!,� %22/23� !2%� 2%0/24%$��• �84%.3)6%� /.,).%� (%,0� ).&/2-!4)/.�� ).#,5$).'� !� 42/5",%3(//4<).'� 3%#4)/.� &/2� $)!'./3).'� !.$� &)8).'� 02/",%-3� 7(%.� 3(!2).'

!00,)#!4)/.3�

�&4%2� 4(%� &)234� 2%,%!3%� /&� ��� �(!2%$ �� 7%� '!4(%2%$� ).&/2-!<

4)/.� /.� 4(%� 02/$5#4� 4/� $%4%2-).%� -!*/2� 53!"),)49� )335%3�� �2/-

4()3� !.!,93)3� 4(2%%� -!*/2� )335%3� %-%2'%$�

• �(%� .%%$� 4/� !../4!4%� !� 3(!2%$� 7).$/7• �(%� .%%$� &/2� !� ;3(!2%$� 7()4%"/!2$�� 4/� !33)34� ).� #/,,!"/2!4)/.• �(%� $)&&)#5,49� !.$� 3%#52)49� )-0,)#!4)/.3� /&� 4(%� 2%#%)6%2�3'2!.4).'� $)30,!9� !##%33� 4/� 4(%� 3%.$%2� &/2� 3(!2%$� !00,)#!4)/.3�

�(%� &)234� 47/� 53!"),)49� )335%3� !2%� !$$2%33%$� "9� 4(%� ��

�(!2%$ � �()4%"/!2$� �3%%� ;�()4%"/!2$�� �� �%7� �/-0/.%.4

/&� ��� �(!2%$ �� /.� 0!'%� ��� �(%� 4()2$� )335%� )3� !$$2%33%$� "9

4(%� ��� �(!2%$ � 2%#%)6%2� 3%26)#%� �$%3#2)"%$� "%,/7��� !� 02/<

'2!-� 4(!4� )3� ).6/+%$� /.� 4(%� 02/30%#4)6%� 2%#%)6%2�3� -!#().%

7(%.� 3(!2).'� )3� !44%-04%$�

� �� �� ����

�(%.� !� 3(!2).'� 2%15%34� )3� -!$%� 4/� 4(%� #/..%#4/2� 6)!� 4(%

Share� "544/.�� 4(%� #/..%#4/2� 3/&47!2%� &)234� 42)%3� 4/� ).6/+%� 4(%2%#%)6%2� 3%26)#%� 02/'2!-� /.� 4(%� 2%#%)6%2�3� #/-054%2�� �(%

2%#%)6%2� 3%26)#%� $)30,!93� !� $)!,/'� "/8� /.� 4(%� 2%#%)6%2�3� $)3<

0,!9� ��)'�� ��� �(%� $)!,/'� "/8� ).&/2-3� 4(%� 53%2� 4(!4� 4(%� 3%.$%2

7!.43� 4/� 3(!2%� !� 7).$/7� !.$� !3+3� &/2� !� 9%3� /2� ./� 2%30/.3%�

�&� 4(%� 53%2� 3%,%#43� 9%3�� 4(%� 2%#%)6%2� 3%26)#%� '2!.43� !##%33� 4/

4(%� 2%#%)6%2�3� $)30,!9� &/2� 3(!2).'�

�(%� #/..%#4/2� #!.� '%4� /.%� /&� 4(2%%� 2%30/.3%3� &2/-� 4(%� 2%<

#%)6%2� 3%26)#%�� �(%� 2%#%)6%2� #!.� !.37%2� 9%3�� ).� 7()#(� #!3%

4(%� #/..%#4/2� 7),,� 3(!2%� 4(%� 30%#)&)%$� 7).$/7�� �(%� 2%#%)6%2

#!.� !.37%2� ./�� ).� 7()#(� #!3%� 4(%� #/..%#4/2� 7),,� $)30,!9� !

$)!,/'� "/8� ).&/2-).'� 4(%� 3%.$%2� 4(!4� !##%33� 0%2-)33)/.� 7!3

$%.)%$�� �!34,9�� 4(%� 2%#%)6%2� 3%26)#%� -!9� ./4� "%� 02%3%.4�� ).

7()#(� #!3%� 4(%� #/..%#4/2� 7),,� !44%-04� 4/� 3(!2%� 7)4(� 4(%

2%#%)6%2�3� -!#().%�

Page 5: HP SharedX: A Tool for Real Time Collaboration

�(*"$� ���� ��/$�,,3���#�*�� �'-*&�$� � � � � � � ��

����� ��� �"���*�&,� �(($"��,"'&� +!�*"& � �*�!",��,-*�+�� ���� ��&,*�$"2��� (+�-�'+�*.�*� �*�!",��,-*��� ���� ��($"��,��� �*�!",��,-*��� ���� �!�*"& 3

$"�*�*1� �*�!",��,-*��� ���� �&,� *�,��� �*�!",��,-*��

Application

X Server X Server

(c)

SharingLibrary

Application

InputManager

X Server X Server

(b)

Application

Application

Pseudoserver

X Server X Server

(a)

Application

XServer

SX Extension

(d)

X Server

�&��� ��� �!�*���� !�+� +!�*��� /"&�'/+� ,'� ,!�� *���".�*�� ",

,�$$+� ,!�� *���".�*� +�*."��� ,'� *�%'.�� �"+($�1� ����++� �*'%� ,!�

+�&��*�� �!"+� (*�.�&,+� (*'��++�+� ',!�*� ,!�&� ��� �!�*���� '&

,!�� +�&��*� �*'%� %�#"& � -&�-,!'*"2��� �'&&��,"'&+� ,'� ,!�

*���".�*�+� �"+($�1�

�� ���� �� ����������

�!�� ��� �!�*���� �0,�&+"'&+� �*�� $'/3$�.�$� *'-,"&�+� *�+('&+"3

�$�� �'*� "&,�*��(,"& � ��,�� +,*��%+� ,!�,� �$'/� "&� �&�� '-,� '�� ,!�

�� +�*.�*� �-*"& � �� +!�*"& � +�++"'&�� �!�+�� *'-,"&�+� %�* �� "&3

(-,� �*'%� %-$,"($�� *���".�*+� �&�� �&+-*�� ,!�,� ,!�� *���".�*+�

�"+($�1+� �*�� -(��,��� (*'(�*$1�

��.�*�$� *'-(+� '�� *�+��*�!�*+� !�.�� �,,�%(,��� �(($"��,"'&

+!�*"& � "&� ,!�� �� /"&�'/� +1+,�%� �&."*'&%�&,��� �!�+�� "%($�3

%�&,�,"'&+� ��&� ��� �$�++"�"��� "&,'� �'-*� �"���*�&,� �*�!",��,-*�+�

���!� /",!� "&!�*�&,� +,*�& ,!+� �&�� /��#&�++�+� �+��� �" �� ��

�!�� %�"&� '�$� '�� +!�*"& � �� �(($"��,"'&+� "+� ,'� �&+-*�� ,!�,� ,!�

�(($"��,"'&� �&�� ,!�� ��+"�� �� +�*.�*� �'&�,� !�.�� ,'� �!�& �� ,'

/'*#� "&� �� +!�*"& � �&."*'&%�&,�� �!"+� *�)-"*�+� +'%�� +'*,� '�

"&,�*����� %��!�&"+%� ��,/��&� ,!�� �(($"��,"'&� �&�� ,!�� �

+�*.�*�

1� ��*� ,!�� %'+,� ('(-$�*� �*�!",��,-*�� �'*� /"&�'/� +!�*"& � "&

�� "+� ,!�� ��&,*�$"2��� (+�-�'+�*.�*� �*�!",��,-*�� ��" �� ���� �!"+

�*�!",��,-*�� ($���+� �� (*'��++� *�+('&+"�$�� �'*� '-,(-,� %-$,"3

��+,"& � �&�� "&(-,� %�* "& � ��,/��&� ,!�� +!�*��� �(($"��,"'&+

�&�� ,!�� �� +�*.�*�† � �!"+� �*�!",��,-*�� "+� ,!�� %'+,� �$�0"�$��� �-,

† Output multicasting is the generation of multiple streams of requests from a single stream.Input merging involves coalescing multiple streams of events into a single stream.

+-���*+� �*'%� (�*�'*%�&��� (*'�$�%+�� �.�&� �1� -&+!�*��� �(($"3

��,"'&+�� ����-+�� ",� ($���+� �� (*'��++� ��,/��&� ,!�� �(($"��,"'&

�&�� ,!�� �� +�*.�*�

�,!�*� �(($"��,"'&� +!�*"& � +1+,�%+� !�.�� -+��� �� *�($"��,��

�*�!",��,-*�� �'*� +!�*"& � /"&�'/+� ��" �� ���� �!�� *�($"��,��

�*�!",��,-*�� *-&+� �� �'(1� '�� ,!�� �(($"��,"'&� �'*� ���!� *���".�*

'�� ,!�� +!�*��� �(($"��,"'&� �&�� #��(+� ,!�+�� �'("�+� +1&�!*'3

&"2��� �1� +�&�"& � "��&,"��$� "&(-,� ,'� ���!�� �$,!'- !� ,!"+� �*�!"3

,��,-*�� '(,"%"2�+� ,!�� "%� �� �'*� ���!� *���".�*� '�� ,!�� +!�*��

�(($"��,"'&�� ",� !�+� ���&� +!'/&� ,'� ��� �"��"�-$,� ,'� #��(� ,!�

"&+,�&��+� '�� ,!�� �(($"��,"'&� +1&�!*'&"2��� �&�� &��*$1�

"%('++"�$�� ,'� ���� -+�*+� ,'� �&� �0"+,"& � +!�*"& � +�++"'&�

�!�� +!�*"& 3��(��$�� $"�*�*1� ��" �� ��� %'.�+� ,!�� '-,(-,� %-$,"3

��+,"& � �&�� "&(-,� %�* "& � �'-&�� "&� ,!�� (+�-�'+�*.�*� �*�!"3

,��,-*�� "&,'� ,!�� $"�*�*1� '�� �� �-&�,"'&+� ��$"��� $"&#��� "&,'� ,!�

�(($"��,"'&�� 1� %'."& � ,!�� +!�*"& � "&,'� �&� �0"+,"& � (*'��++

�&�� *�%'."& � ,!�� (+�-�'+�*.�*� (*'��++�� (�*�'*%�&��� "+

�&!�&����� �-,� �(($"��,"'&+� "&� +-�!� �� +1+,�%� ��&&',� ��� +-*�

'�� +!�*��"$",1�� �",!�*� ����-+�� ,!�1� !�.�� &',� $"&#��� /",!� ,!"+

+(��"�$� $"�*�*1�� '*� ����-+�� ,!�1� �*�� *-&&"& � '&� �� %��!"&�� "&

,!�� &�,/'*#� ,!�,� �'�+� &',� !�.�� ,!�� +!�*"& 3��(��$�� $"�*�*1�

�!�� "&,� *�,��� +!�*"& � �*�!",��,-*��� /!"�!� "+� -+��� "&� ��

�!�*����� %'.�+� ,!�� '-,(-,� %-$,"��+,"& � �&�� "&(-,� %�* "&

*'-,"&�+� "&+"��� ,!�� +�&��*�+� �� +�*.�*� ��" �� ���� �!"+� �*�!",��3

,-*�� �&+-*�+� ,!�,� �$$� �(($"��,"'&+� �*�� +!�*"& 3��(��$��� /!"$�

�$"%"&�,"& � ,!�� (+�-�'+�*.�*� (*'��++�

(continued on page 29)

Page 6: HP SharedX: A Tool for Real Time Collaboration

��� � � � � � � ��� �� ����� ������������� ������

������� ���� �� ���� ���������� ��� �� � ����

Whiteboard, a general-purpose image viewer and annotation X application, is anew addition to HP SharedX. Whiteboard evolved from users’ needs to annotategraphic images in shared applications. Although it is impractical to annotate im-ages in live X applications because of limitations in the X Window System, White-board allows users to share snapshots (portions) of their display and to annotatethose snapshots. Not only is Whiteboard useful for adding annotation to computerimages, it can also be used to create original images. As an X application, White-board is treated just like any other X application when it is shared in the HPSharedX environment.

Some of the other features that make Whiteboard convenient, powerful, and veryfunctional when shared include:

• Annotation performed on an image can be erased without destroying the originalimage.

• Any region of the user’s screen can be copied and pasted into the Whiteboarddrawing area, even if the region contains areas of different X visual types. Thisability to copy an arbitrary region containing multiple visual types is a new capa-bility for X applications.

• When shared, Whiteboard knows when input is coming from the sender or receiver.Thus, it can respond differently according to the source of input. This capability isused to ensure that receivers are restricted in what screen regions they can copyto the Whiteboard.

Fig. 1 shows a typical Whiteboard display.

Annotating ImagesThe main feature that differentiates Whiteboard from other drawing applications isthe concept of erasable and unerasable layers. Maintaining two layers allowsusers to erase image annotations without affecting the image being annotated.

When an image is loaded into Whiteboard, it is in the unerasable layer. Annotationcan be performed in the erasable layer and then erased without destroying theoriginal image. This is analogous to drawing an image on a real-world whiteboardin indelible ink, annotating the image in erasable ink, and then erasing the boardleaving the original image. This user model is convenient in collaborative situationswhere changing just the image annotation is desired. For convenience, Whiteboardallows annotation to be hidden temporarily to reveal the unerasable image.

Copying Multivisual RegionsCopying a region from the screen is not as trivial as one might suspect. To an Xprogrammer, using the Xlib function XCopyArea to copy a root window region intoan XPixmap buffer might seem like an obvious solution. However, XCopyArea cannothandle cases in which the selected region includes areas of multiple visual typesor visual types different from that of Whiteboard; the source and destination visualtypes must be the same to use XCopyArea. In more recent X displays, a screen cansimultaneously support multiple visual types differing in depth and types of colormaps. Therefore, it is possible to have child windows of differing visual types in thewindow hierarchy, which is not an uncommon situation.

An algorithm was developed to convert all image data in the selected region to thedestination visual type. This algorithm involves scanning the selected region for allwindows and parts of windows, coalescing those of the same visual types intosubregions, then reading and converting each subregion to the correspondingsubregion of the destination pixmap (paste buffer). If any subregion in the selectedregion matches the visual type of the buffer, a simple XCopyArea call is used totransfer the image information. Otherwise, the conversion algorithm uses functions inHP’s Image Library to convert each subregion to the destination visual type.

If the X server on which Whiteboard is running supports deeper visual types thanthe default, Whiteboard keeps the paste buffer in the deepest visual type available,even though Whiteboard is running in the default (shallower) visual type. Thistechnique maintains the buffer contents at the highest possible color fidelity, sothat when a scaled paste is done, making the image larger, the resulting imagedoes not contain pronounced dither patterns.

Recognizing the Source of User InputWhiteboard is the first application that is able to detect the source of user inputwhen the program is shared. Whiteboard uses a feature of the HP SharedX exten-sions to the X server on the sender to examine events and determine the source ofinput. Based on whether the sender or receiver generates the input, Whiteboardperforms a different operation when the Copy Region button is pressed. When thesender presses the Copy Region button, Whiteboard allows the user to select aregion on the sender’s screen to copy. However, for security reasons a receivershould not be able to copy the sender’s whole display. Instead, a Copy Regionoperation by the receiver confines the function to the Whiteboard drawing area.

Fig. 1. A typical Whiteboard display. Thewhite arrow with the circle on the end and thetext illustrate a typical annotation. The pictureon the right, which shows a zoomed-in portionof the main image, is an example of copyingand pasting a portion of an image into theWhiteboard.

Page 7: HP SharedX: A Tool for Real Time Collaboration

�,.&(� � � �"3("007�� '�.!� �+1.*�(� � � � � � � ��

Ideally, Whiteboard should perform the copy from the display from which input isinitiated. Unfortunately, because Whiteboard does not have a direct connection tothe receiver’s display when the application is shared, no copying operations can beinitiated from the receiver’s screen. Although the implemented Copy Region functiondoes not present the most ideal solution, it does maintain complete functionalityfor the sender while providing the receiver with a reasonable substitute for thecopy operation.

�%"� �!2�*0�$"/� +#� 0%"� ��� �%�."!�� "40"*/&+*� �. %&0" 01."

�&*0"$.�0"!� /%�.&*$� �. %&0" 01."�� &* (1!"�

• �*5� �� �,,(& �0&+*� �*� �"� /%�."!� �0� �*5� 0&)"

• �*/%�."!� �,,(& �0&+*/� !+� *+0� /1##".� �� ,".#+.)�* "� ,"*�(05

• �%�.&*$� ,".#+.)�* "� &/� +,0&)&6"!� �" �1/"� /0�0"� &*#+.)�0&+*

��+10� 0%"� �� /".2".� &/� !&." 0(5� � "//&�("� 0+� 0%"� /%�.&*$� )" %7

�*&/)�� ��0%".� &),(")"*0�0&+*/� ."-1&."� 0%"� /%�.&*$� )" %�7

*&/)� 0+� -1".5� 0%"� �� /".2".� /0�0"� +2".� 0%"� *"03+.'�� /(+3&*$

!+3*� 0%"� /%�.&*$� ,.+ "//��

�%"� )�&*� !&/�!2�*0�$"� +#� 0%"� ��� �%�."!�� �. %&0" 01."� &/� 0%"

*""!� 0+� )+!&#5� 0%"� �� /".2".�� 3%& %� ."-1&."/� � "//� 0+� 0%"

/+1. "� +!"� #+.� 0%"� �� /".2".�� �/&*$� 0%"� /%�.&*$7(&�.�.5� �,7

,.+� %�� �*� �,,(& �0&+*� �*� �"� (&*'"!� 3&0%� �� /%�.&*$7 �,��("

�(&�� �*!� �*� 0%"*� �"� .1*� 3&0%� �*5� /0�*!�.!� �� /".2".�

�(0%+1$%� 0%"/"� �. %&0" 01."/� #+.� /%�.&*$� �,,(& �0&+*/� !&##".�

0%"� ��/& /� +#� /%�.&*$� �*� �,,(& �0&+*� �."� 0%"� /�)"� #+.� "� %

�3&0%� 0%"� "4 ",0&+*� +#� 0%"� .",(& �0"!� �. %&0" 01."��� �%"/"

��/& /� &* (1!"� )�'&*$� &*/0�* "/� +#� 3&*!+3/� +*� ." "&2"./�

!&/,(�5/�� " %+&*$� 0%"� ."*!".&*$� ."-1"/0/� +#� �*� �,,(& �0&+*� 0+

"� %� ." "&2".�� )�0 %&*$� ."/+1. "/� +*� 0%"� /"*!".� )� %&*"

3&0%� 0%+/"� +*� 0%"� ." "&2&*$� )� %&*"/�� �*!� )".$&*$� &*,10

"2"*0/� #.+)� 0%"� )1(0&,("� �� /".2"./� &*0+� �� /&*$("� /0."�)� �*!

."01.*&*$� 0%"� &*#+.)�0&+*� �� '� 0+� 0%"� �,,(& �0&+*�� �%"� #+(7

(+3&*$� /" 0&+*/� $&2"� �� !"0�&("!� (++'� �0� %+3� ��� �%�."!�

!"�(/� 3&0%� /+)"� +#� 0%"/"� &//1"/� &*� /%�.&*$� �,,(& �0&+*/�

����������� ��� �� ������

�,,(& �0&+*/� �."� !&/,(�5"!� +*� ��� 3+.'/0�0&+*/� &*� +*"� +#� 03+

3�5/�� �%"5� �."� "&0%".� !&/,(�5"!� 2&�� 0%"� �� /".2".� 1/&*$� �

,.+0+ +(�� +.� !&/,(�5"!� !&." 0(5� 1/&*$� !&." 0� %�.!3�."� � "//

������� ���� �((+3/� �,,(& �0&+*/� 0+� �5,�//� 0%"� �� /".2".� 0+

."*!".� $.�,%& /� +*� 0%"� !&/,(�5�� �&* "� ��� �%�."!�� +,".�0"/

�5� ."0.�*/)&00&*$� �� ,.+0+ +(� 0+� 0%"� ." "&2".�/� !&/,(�5�� �,,(&7

�0&+*/� ��/"!� +*� �� �*� �"� /%�."!�� 3%&("� ���� ,.+$.�)/

�**+0� �"� /%�."!� !&." 0(5�� �%"� /0�0& � &)�$"/� #.+)� ���� �,,(&7

�0&+*/� �*� �"� /%�."!� �5� +,5&*$� 0%"&.� 3&*!+3/� &*0+� 0%"

�%&0"�+�.!� �,,(& �0&+*� !"/ .&�"!� +*� ,�$"� ���

�.+$.�)/� 0%�0� ."*!".� 0%.+1$%� 0%"� ���� )" %�*&/)� &* (1!"

0%+/"� 0%�0� 1/"� 0%"� �0�.��/"� $.�,%& /� ,� '�$"� +.� ���† � ,.+7$.�))&*$� &*0".#� "�� �+3"2".�� 0%"� ,.+$.�))&*$� &*0".#� "

!+"/� *+0� )�'"� 0%"� #&*�(� !"0".)&*�0&+*� +#� 0%"� ."*!".&*$� ,�0%�

�+.� "4�),("�� �0�.��/"� ,.+$.�)/� �*� �"� .1*� 3&0%� �� $.�,%& /

!.&2".� 0%�0� ")&0/� �� ,.+0+ +(� &*/0"�!� +#� 1/&*$� ����� �%&("

0%"."� &/� 1/1�((5� /+)"� ,".#+.)�* "� ,"*�(05� #+.� 1/&*$� 0%"/"

!.&2"./�� &0� !+"/� �((+3� 0%"� �,,(& �0&+*� 0+� �"� /%�."!�

�2"*� &#� �*� �,,(& �0&+*� &/� ��/"!� +*� ��� &0� )�5� *+0� /%�."� ,".7

#" 0(5�� �+.� "4�),("�� 0%"� �1!&+� �,,(& �0&+*� +#� ��� ��+3".

1/"/� �� ,.+0+ +(� 0+� !&/,(�5� &0/� +*0.+(� ,�*"(� �10� &*0".� 0/� 3&0%

0%"� �1!&+� /".2".� 0+� $"*".�0"� /+1*!�� �2"*� 0%+1$%� 0%"� +*0.+(

,�*"(� /%�."/� ,.+,".(5�� 3%"*� 0%"� ." "&2".� ,."//"/� 0%"

† PEX are 3D enhancements to the X protocol.

����� ��� �*� ��� �%�."!�� +*#&$1.�0&+*� &*� 3%& %� +10,10� #.+)� �� /%�."!

�,,(& �0&+*� &/� *+0� " %+"!� +*� 0%"� ." "&2".�� �*� 0%&/� �/"� 0%"� +10,10� &/

$+&*$� 0+� 0%"� �1!&+� /".2".� 3%& %� '*+3/� *+0%&*$� ��+10� 0%"� ." "&2".�

RenderingGraphics

XApplication

XServer

HP SharedXExtension

AudioServer

PlayingSound

ToReceiver

AudioHardware

Display

AudioControlPanel

,(�5� �100+*�� 0%"� �1!&+� &/� ,(�5"!� +*(5� +*� 0%"� /"*!".�/� �1!&+

/".2".� �/""� �&$�� ���

�*+0%".� "4�),("� +#� �,,(& �0&+*/� 0%�0� !+� *+0� /%�."� ,".#" 0(5

�."� 0%+/"� �,,(& �0&+*/� 0%�0� 1/"� �� "40"*/&+*/�� �%"� �� "40"*7

/&+*� &/� �� )" %�*&/)� #+.� "40"*!&*$� 0%"� �,��&(&05� +#� 0%"� �

�&*!+3� �5/0")�� �%&("� 0%"� +."� �� ,.+0+ +(� &/� /0�*!�.!

�)+*$� �((� �� /".2"./�� �� "40"*/&+*/� 2�.5� �)+*$� �� /".2".� &)7

,(")"*0�0&+*/�� ��� �%�."!�� +*(5� ."0.�*/)&0/� +."� �� ,.+0+ +(�

/+� �,,(& �0&+*/� 0%�0� 1/"� �� "40"*/&+*/� 3&((� %�2"� (&)&0�0&+*/

3%"*� /%�."!�� �+.� "4�),("�� &#� �*� �,,(& �0&+*� 1/"/� &*,10� !"7

2& "/� +0%".� 0%�*� 0%"� '"5�+�.!� �*!� )+1/"� 2&�� 0%"� �� &*,10

"40"*/&+*�†† � 0%"� ." "&2".� 3&((� /""� �� +,5� +#� 0%"� 3&*!+3� �10

3&((� *+0� �"� ��("� 0+� &*0".� 0� 3&0%� 0%"� �,,(& �0&+*� 3&0%� 0%"/"

�!!&0&+*�(� &*,10� !"2& "/�

�%"."� �."� ,�.0/� +#� 0%"� +."� �� ,.+0+ +(� 0%�0� ��� �%�."!�� �*7

*+0� %�*!("� ,.+,".(5�� �*"� "4�),("� &/� 0%"� �� )" %�*&/)� #+.

10� �*!� ,�/0"�� �%&/� )" %�*&/)� 1/"/� �� /0�*!�.!� &*0".,.+ "//

)"//�$&*$� /5/0")� #+.� 0.�*/#"..&*$� !�0�� #.+)� +*"� �� ,.+$.�)

0+� �*+0%".�� �+3"2".�� �� ." "&2".� �**+0� 10� �*!� ,�/0"� �"7

03""*� �� /%�."!� �,,(& �0&+*� �*!� +*"� +*� 0%"� (+ �(� )� %&*"�

�%"� 03+� �,,(& �0&+*/� �**+0� +))1*& �0"� /&* "� 0%"5� �."� *+0

+**" 0"!� !&." 0(5� 0+� 0%"� /�)"� �� /".2".�

������������� ���� ������������ �����������

�%"*� �� /%�."� ."-1"/0� &/� )�!"� 0+� �� ." "&2".�� ��� �%�."!�� )1/0

#&./0� "/0��(&/%� �*� �� +**" 0&+*� 0+� 0%"� ." "&2".�/� �� /".2".�� �0� &/

+2".� 0%&/� +**" 0&+*� 0%�0� ��� �%�."!�� 3&((� )�*�$"� 0%"

/%�."!� 3&*!+3/�� ."0.�*/)&0� ."*!".&*$� ."-1"/0/�� �*!� $"0� ."7

"&2".� &*,10�� �%"� !&/,(�5� +**" 0&+*� &/� )�!"� 1/&*$� 0%"� �

(&�.�.5� ��(&���

�(&�� &/� 0%"� (&"*07/&!"� (&�.�.5� +#� #1* 0&+*/� 1/"!� �5� �((� �� �,,(&7

�0&+*/�� �%"/"� #1* 0&+*/� ."�0"� 0%"� ,.+0+ +(� ."-1"/0/� 0%�0

†† The X input extension allows applications to receive input from input devices such as graphicstablets, knob boxes, button boxes, and so on.

Page 8: HP SharedX: A Tool for Real Time Collaboration

��� � � � � � � �.0'*� ����� �#5*#229��!)�0"� �-30,�*

#!-+#� 2&#� �� .0-2-!-*� .�!)#21� 1#,2� -4#0� 2&#� "'1.*�7� !-,9

,#!2'-,� 2-� 2&#� �� 1#04#0� 2-� 0#/3#12� !0#�2'-,� -$� 5',"-51�

"0�5',%� 2-� 2&-1#� 5',"-51�� �,"� 1-� -,�� �*2&-3%&� 2&#� ��

�&�0#"�� #62#,1'-,� '1� ',� 2&#� 1#,"#0�1� �� 1#04#0�� '2� !-++3,'9

!�2#1� 5'2&� 2&#� 0#!#'4#0�1� �� 1#04#0� 31',%� �*' �� �&'1� +�)#1� 2&#

1#,"#0�1� �� 1#04#0� �..#�0� 2-� 2&#� 0#!#'4#0�1� �� 1#04#0� 2&#� 1�+#

�1� �,7� -2&#0� �� !*'#,2�

�&#� ��� �&�0#"�� #62#,1'-,�� &-5#4#0�� &�1� 1-+#� 0#/3'0#+#,21

2&�2� �0#� "'$$#0#,2� $0-+� -2&#0� �� !*'#,21�� 1-� 5#� +�"#� 1-+#

!&�,%#1� 2-� �*' � 2-� �!!-++-"�2#� 2&#1#� 0#/3'0#+#,21�� �&#

$'012� !&�,%#� 5#� +�"#� 2-� �*' � 5�1� 2-� !0#�2#� �� +#!&�,'1+� 2-

0#!-4#0� $0-+� 0-)#,� "'1.*�7� !-,,#!2'-,1�� �,� ��� .0-%0�+1

2&�2� *-1#� 2&#'0� !-,,#!2'-,� 2-� 2&#� �� 1#04#0� ,-0+�**7� .0',2� �,

#00-0� +#11�%#� �,"� #6'2�� �-0� +-12� �� .0-%0�+1�� 2&#'0� -,#� !-,9

,#!2'-,� 2-� 2&#� �� 1#04#0� '1� 2&#'0� *'$# *--"�� �,"� '$� '2� '1� 0-)#,�

2&#7� +�7� �1� 5#**� 2#0+',�2#�� �&#� 1#,"#0�1� �� 1#04#0� 12'**� &�1

.*#,27� 2-� "-� '$� '2� *-1#1� �� 1&�0',%� !-,,#!2'-,�� �,"� 2&31� '2

1&-3*"� "#$','2#*7� ,-2� 2#0+',�2#�� �*' � !�**1� �� 31#091.#!'$'#"

0-32',#�� XIOErrorHandler�� 5&#,� �� "'1.*�7� !-,,#!2'-,� '1� 0-)#,��,� ��� �&�0#"��1� 4#01'-,� -$� XIOErrorHandler�� 2&#� 0-32',#� !*#�,13.� "�2�� 1203!230#1� 0#*�2#"� 2-� 2&#� 0-)#,� "'1.*�7� !-,,#!2'-,�

1#,"1� �� ,-2'$'!�2'-,� 2-� 2&#� ��� �&�0#"�� 31#0� ',2#0$�!#�� �,"

(3+.1� �!)� 2-� �� *-!�2'-,� ',1'"#� 2&#� �� 1#04#0� 2-� !-,2',3#

.0-!#11',%�

�� 1'+'*�0� .0- *#+� -!!301� 5&#,� 2&#� 0#+-2#� �� 1#04#0� '1� ,-2

0#1.-,"',%�� �&'1� !�,� &�..#,� $-0� �� 4�0'#27� -$� 0#�1-,1� 13!&� �1

2&�2� �,-2&#0� .0-%0�+� +�7� &�4#� 2�)#,� #6!*31'4#� �!!#11� 2-� 2&#

�� 1#04#0�� 2&#� ,#25-0)� #25##,� 2&#� 25-� !-+.32#01� +�7� #

4#07� 317�� -0� 2&#� 0#!#'4#0�1� �� 1#04#0� +�7� #� 317� &�,"*',%

0#/3#121� $0-+� -2&#0� !*'#,21�� �,� �,7� !�1#�� �� .0-%0�+1� 5�'2

',"#$','2#*7� $-0� 0#/3#121� 2-� #� 1#04'!#"� #$-0#� .0-!##"',%�

5&'!&� '1� ,-2� 2&#� "#1'0#"� #&�4'-0� $-0� 2&#� 1#,"#0�1� �� 1#04#0�

�&#0#$-0#�� ��� �&�0#"�� &�1� �""#"� �� 2'+#-32� &�,"*#0� 2-� �*'

2&�2� �**-51� 2&#� 1#,"#0�1� �� 1#04#0� 2-� 0#!-4#0� $0-+� �� ,-,0#9

1.-,1'4#� 0#!#'4#0�� �$2#0� �� 1#!-,"1� -$� 5�'2',%� -,� �� 0#!#'4#0�1

�� 1#04#0�� ��� �&�0#"�� !*-1#1� 2&#� "'1.*�7� !-,,#!2'-,� �,"� ,-2'9

$'#1� 2&#� 1#,"#0� 2&�2� 2&#� 0#!#'4#0�1� 1712#+� '1� ,-2� 0#1.-,"',%�

�&#� $',�*� !&�,%#� 5#� +�"#� 2-� �*' � &�,"*#1� $�'*30#1� 2-� #12� 9

*'1&� �,� �� �"'1.*�7�� !-,,#!2'-,�� �-0+�**7� 5&#,� �� "'1.*�7

!-,,#!2'-,� $�'*1�� 2&#� .0-%0�+� '1� ,-2� %'4#,� �� 0#�1-,� $-0� 2&#

$�'*30#�� �� +#!&�,'1+� 5�1� �""#"� 2-� #620�!2� 2&#� 0#�1-,� $-0

"'1.*�7� !-,,#!2'-,� $�'*30#� $0-+� �*' � �,"� 2-� 0#230,� 2&�2� ',$-09

+�2'-,� 2-� 2&#� 31#0� ',2#0$�!#�� �&'1� ',$-0+�2'-,� �**-51� 2&#� 31#0

2-� "'�%,-1#� .0- *#+1� +-0#� #�1'*7� 5&#,� �22#+.2',%� 2-� 1&�0#

5',"-51�

����� ��� ����� � ����

�&#,� 31#01� 1&�0#� �,� �..*'!�2'-,�� 2&#7� 313�**7� &�4#� �� !*#�0

'"#�� -$� 5&�2� !-,12'232#1� 2&#� �..*'!�2'-,� �,"� 5&�2� 1#2� -$� 5',9

"-51� 1&-3*"� #� 1&�0#"�� �-12� �..*'!�2'-,1� !-,1'12� -$� �� 1',%*#

.0-%0�+� 5'2&� �� 1',%*#� !-,,#!2'-,� 2-� 2&#� �� 1#04#0�� �-0� 2&#1#

.0-%0�+1�� '2� '1� #�17� $-0� ��� �&�0#"�� 2-� 1&�0#� 2&#� 0'%&2� 5',9

"-51�� �-5#4#0�� �,� �..*'!�2'-,� !�,� !-,1'12� -$� +-0#� 2&�,� -,#

.0-%0�+� �#�%��� ��� �-$2�#,!&��� -0� �� 1',%*#� .0-%0�+� !�,� "'19

.*�7� 1#4#0�*� 5',"-51� 2&�2� 1&-3*"� ,-2� #� %0-3.#"� 2-%#2&#0

�#�%��� 2&#� ��� ���� $'*#� +�,�%#0� !�,� "'1.*�7� +3*2'.*#� 5',"-51�

#�!&� *--)',%� �2� �� "'$$#0#,2� "'0#!2-07��� �� 31#0� -$� 2&#� ��� ���

$'*#� +�,�%#0� 313�**7� 5�,21� (312� -,#� 5',"-5� 2-� #� 1&�0#"�

5&'*#� �� 31#0� -$� ��� �-$2�#,!&� +�7� #6.#!2� 2&#� "# 3%%#0� 2-

#� 1&�0#"� �*-,%� 5'2&� 2&#� 12�2'!� �,�*78#0�

�0-+� 2&#� .-',2� -$� 4'#5� -$� 2&#� �� 1#04#0�� 5',"-51� .�02�)#� -$

25-� 0#*�2'-,1&'.1�� �,#� '1� �� .�0#,29!&'*"� 0#*�2'-,1&'.�� 5&'!&

"#$',#1� �� 5',"-5� 20##� 5'2&� �**� 5',"-51� �1� "#1!#,"�,21� -$

2&#� 0--2� 5',"-5�� �&#� -2&#0� 0#*�2'-,1&'.� '1� 2&�2� ',� 5&'!&

#�!&� 5',"-5� '1� -5,#"� 7� �� "'1.*�7� !-,,#!2'-,�� ��!&� 5',9

"-5� '1� 3,'/3#*7� '"#,2'$'#"� 7� '21� 5',"-5� '"#,2'$'#0�� �� 9 '2

,3+ #0� ',� 5&'!&� 1#4#,� -$� 2&#� '21� �0#� 2&#� 1�+#� $-0� 5',"-51

-5,#"� 7� 2&#� 1�+#� !*'#,2�� �&#1#� 1#4#,� '21� �0#� !�**#"� 2&#

0#1-30!#� �1#�

�..*'!�2'-,1� 27.'!�**7� !-,1'12� -$� -,#� -0� +-0#� 2-.9*#4#*� 5',9

"-51� ',� 5&'!&� �..*'!�2'-,1� "'1.*�7� ',$-0+�2'-,�� �#!�31#

5',"-51� �0#� 0#*�2'4#*7� ',#6.#,1'4#� 2-� !0#�2#�� 2&#7� �0#� 31#"

#62#,1'4#*7� ',1'"#� �,� �..*'!�2'-,�1� 2-.9*#4#*� 5',"-5� $-0

#4#072&',%� $0-+� "0�5',%� �0#�1� 2-� 322-,1� �,"� +#,31�

�&#,� 2&#� 31#0� 1#*#!21� �,� �..*'!�2'-,� 2-� 1&�0#�� ��� �&�0#"�

+312� 1#*#!2� �� %0-3.� -$� 5',"-51� 2&�2� #12� 0#.0#1#,2� 2&#� �..*'9

!�2'-,� 2-� 1#,"� 2-� 2&#� 0#!#'4#0�1� "'1.*�7�� ��� �&�0#"�� +�)#1

25-� �113+.2'-,1 � �**� 2-.9*#4#*� 5',"-51� #*-,%',%� 2-� �

1',%*#� !*'#,2� !-,,#!2'-,� �'�#��� &�4',%� 2&#� 1�+#� 0#1-30!#� �1#�

#*-,%� 2-� �� 1',%*#� �..*'!�2'-,�� �,"� �**� !&'*"� 5',"-51� -$� �

1&�0#"� 2-.9*#4#*� 5',"-5� 1&-3*"� #� 1&�0#"� 5'2&� 2&�2� 2-.9

*#4#*� 5',"-5�

�1',%� 2&#1#� �113+.2'-,1�� '$� 2&#� 1#,"#0� 1&�0#1� �,� ��� ���� $'*#

+�,�%#0� 5',"-5�� ��� �&�0#"�� 5'**� 1#,"� 2-� �� 0#!#'4#0� �**� $'*#

+�,�%#0� 5',"-51�� �1#01� &�4#� 2&#� -.2'-,� -$� 1#*#!2',%� ShareAlone� $0-+� �� .3**9"-5,� +#,3�� 32� 2&#7� !-3*"� #�1'*7� $-0%#25&'!&� �..*'!�2'-,1� 2-� "-� 2&'1� $-0�� �-5#4#0�� ��� �&�0#"�� !�,

#� !-,$'%30#"� 2-� 0#1.-,"� "'$$#0#,2*7� 2-� 2&#� +�',� Share� 322-,$-0� "'$$#0#,2� �..*'!�2'-,1�� �-0� +�,7� �..*'!�2'-,1�� ��

�&�0#"�� '1� 1&'..#"� .0#!-,$'%30#"� 2-� 1&�0#� -,*7� 2&#� �..*'!�9

2'-,�1� 1#*#!2#"� 2-.9*#4#*� 5',"-5� �,"� '21� !&'*"0#,�

�&#� -2&#0� .0- *#+� +#,2'-,#"� � -4#�� 2&�2� -$� +3*2'.*#� .0-9

%0�+1� 2&�2� 1&-3*"� #� 1&�0#"� 2-%#2&#0�� &�1� ,-2� ##,� �"9

"0#11#"� "'0#!2*7�� �&'*#� �..*'!�2'-,� "#4#*-.#01� !-3*"� 31#� 2&#

��� �&�0#"�� !-++�,"� *',#� ',2#0$�!#� 2-� 2'#� 2&#'0� �..*'!�2'-,1

2-%#2&#0�� ��� �&�0#"�� "-#1� ,-2� .0-4'"#� �� 1'+.*#� +#!&�,'1+

$-0� %0-3.',%� 5',"-51� $0-+� "'$$#0#,2� .0-%0�+1�� �7.'!�**7�

$-0� 2&#1#� �..*'!�2'-,1� 2&#� 31#0� +312� +�,3�**7� 1&�0#� �**� 2&#

"#1'0#"� 5',"-51�

������ ��������

��� �&�0#"�� �**-51� -2&� 2&#� 1#,"#0� �,"� 2&#� 0#!#'4#01� -$� �

1&�0#"� �..*'!�2'-,� 2-� ',2#0�!2� 5'2&� �,� �..*'!�2'-,�� �,� ��

�..*'!�2'-,� ',.32� !-,1'121� -$� #4#,21� $0-+� 2&#� 31#0�1� ',.32

"#4'!#1� �,"� /3#0'#1� 2&�2� 2&#� �..*'!�2'-,� +�)#1� � -32� 2&#1#

"#4'!#1�� �-0� #6�+.*#�� 2&#� �..*'!�2'-,� !�,� /3#07� 2&#� .-1'2'-,

-$� 2&#� +-31#� !301-0�� 5&'!&�� '$� 2&#� �..*'!�2'-,� '1� 1&�0#"�� &�1

�1� +�,7� 4�*3#1� �1� 2&#0#� �0#� 4'#5#01� -$� 2&#� �..*'!�2'-,�

�-12� �..*'!�2'-,91&�0',%� 1712#+1� '+.*#+#,2� -,#� -$� 25-� ',9

.32� +#0%',%� .-*'!'#1 � $*--0� .�11',%� -0� $0##9$-09�**�� �&#� $*--09

.�11',%� 1!&#+#� �**-51� -,#� 31#0� �2� �� 2'+#� 2-� ',.32� 2-� 2&#

�..*'!�2'-,�� 5'2&� 2&#� !&-'!#� -$� 2&#� 31#0� 5&-� &�1� 2&#� $*--0

+�,3�**7� !-,20-**#"� 7� �� +-"#0�2-0�� �&#� $*--09.�11',%

1!&#+#� #,130#1� 2&�2� ',.32� '1� ,-2� +'6#"� $0-+� +3*2'.*#� 31#01�

32� '2� 0#/3'0#1� #6.*'!'2� 31#0� �!2'-,� 2-� !&�,%#� 2&#� ',.32� $*--0�

�&#� $0##9$-09�**� .-*'!7� �**-51� �,7-,#� 2-� ',.32� 5'2&-32� #6.*'!'2

�!2'-,�� 32� '2� '1� .0-,#� 2-� ',2#0+'6#"� ',.32� $0-+� +3*2'.*#� 31#01�

Page 9: HP SharedX: A Tool for Real Time Collaboration

&( "� ����� ��-"�**2���!�(�� �%+($�"� � � � � � � ��

���� ��� ���(���� $&+*� #%��"�� ��""��� ������� ����� �������

)� �� �/�( �� %�� *��)�� *-%� #�*�%�)�� �$� *� )� )���#��� %$"/� %$�

+)�(� �*� �� * #�� ��$� � ,�� $&+*� *%� *��� )��(��� �&&" ��* %$�� ��+)�

+)�(� $&+*� �%�)� $%*� ���%#�� $*�(# .���� �%-�,�(�� $&+*� #�/

���$��� �#%$�� +)�()� �/$�# ��""/� - *�%+*� �.&" � *� ��* %$�� �+*

%$"/� ��*�(� �� )&�� � �� &�( %�� %�� $��* , */� �/� *��� �+((�$*� +)�(

� , $�� $&+*�

�$� ��� * %$� *%� �$)-�( $�� *��� &(%�"�#� %�� $*�(# .��� $&+*�

�/$�# �� �"%%(� &�)) $�� )%",�)� *��� &(%�"�#� %�� $&+*� '+�( �)�

�� )� #�*�%�� �"-�/)� (�*+($)� *��� )*�*�� %�� *��� +)�(�)� $&+*

��, ��)� �+((�$*"/� %(� #%)*� (���$*"/� $*�(��* $�� - *�� *���

�&&" ��* %$�

���� � $�"� ���""�$��� %�� ��$�" $�� $&+*� �(%#� #+"* &"�� +)�()� )

*(�$)"�* $�� *��� ��*+�"� $&+*� �,�$*� *��*� %��+((��� %$� �� (��� ,�(

$*%� �$� �,�$*� *��*� �%+"�� ��,�� %��+((��� %$� *��� )�$��(�� �(�$)2

"�* $�� �� - $�%-� ��$* � �(� )� *( , �"� ����+)�� ��� ���(���� #� $2

*� $)� �� #�&& $�� %�� -� ��� (��� ,�(� - $�%-)� �%((�)&%$�� *%

-� ��� )�$��(� - $�%-)�� �(�$)"�* $�� *��� !�/�%��)� $� *��

�,�$*� #�))���� )� #%(�� � �� �+"*�

���� !�/�%��� )&�� � ��� $� �$� �,�$*� )� �$� $��.� $*%� �� #�&& $�

*��"�� %�� "%� ��"� !�/� )/#�%")� *��*� ��$� ,�(/� �(%#� %$�� �� )�(,�(

*%� �$%*��(�� �%(� �.�#&"��� %$�� )�(,�(� ��$� #�&� !�/�%��� �� *%

*��� "�**�(� 1���� -� "�� �$%*��(� )�(,�(� ��$� #�&� *��� )�#�� !�/2

�%��� *%� *��� "�**�(� 10��� ���� !�/�%��� #�&& $�� *��"�� )� "%����

$*%� *��� )��(��� �&&" ��* %$� -��$� *��� � )&"�/� �%$$��* %$� )

#����� �+*� *��� #�&& $�� ��$� ��� ���$���� �/$�# ��""/�

���$� �$� �,�$*� - *�� �� !�/�%��� )� (��� ,��� �/� ��� ���(���

�(%#� �� (��� ,�(�� *� )� *(�$)"�*��� $*%� �� !�/� )/#�%"� ��)��� %$

*��� �+((�$*� #�&& $�� �%(� *��� (��� ,�(�)� �� )�(,�(�� ��� ���(���

)��(���)� *��� )�$��(�)� !�/�%�(�� #�&& $�� *%� )��� �� �$/� !�/2

�%��� #�*���)� *��*� )�#�� !�/� )/#�%"�� ��� *� �%�)�� *��� #�*�� $�

!�/�%��� )� (�*+($��� $� �$� $&+*� �,�$*� *%� *��� �&&" ��* %$�� ��

$%� �%((�)&%$� $�� !�/�%��� %$� *��� )�$��(�)� #��� $�� �. )*)�

*��� !�/� �,�$*� )� � )��(���� ) $��� $%� "%� ��"� !�/�%��� ��$� ��

)�$*� *%� *��� �&&" ��* %$�

���� �"%-� � ��(�#� $� � ��� � )�%-)� *��� %&�(�* %$� %�� *��� $&+*

#�(� $�� (%+* $��� $�"+� $�� �/$�# �� �"%%(� &�)) $�� �%$*(%"

�$�� �,�$*2�%��� *(�$)"�* %$�

���� ������ �������� ������ ��� ���� ���������

��� ���(���� +)�)� �� 1"�0/�� �""%��* %$� )���#�� �%(� � )&"�/� (�2

)%+(��)� )+��� �)� �%"%()�� & .#�&)�� �(�&� �)� �%$*�.*)�� �$�

�%$*)�� �%� # $ # 0�� $ * �"� )��( $�� * #�� �$�� *��� #&��*� %$� *��

(��� , $�� #��� $��� � )&"�/� (�)%+(��)� �(�� �""%��*��� %$"/� -��$

$������ �%(� �� (�$��( $�� (�'+�)*�� �%(� �.�#&"��� �� )��(��� �&&" 2

��* %$� #�/� �""%��*�� �� "�(��� & .#�&� *��*� )� %$"/� � )&"�/��� �%(

)%#�� �((%(� �%$� * %$�� ��� *��*� �((%(� �%$� * %$� $�,�(� %��+()

�+( $�� *��� )��( $�� )�)) %$�� *� -%+"�� ��� �� -�)*�� %�� * #��

�$�� (�)%+(��)� *%� #�!�� �$� $)*�$��� %�� *��� & .#�&� %$� *��

(��� ,�(�)� #��� $��

�$��� �""%��*���� *��� � )&"�/� (�)%+(��� #�&& $�� )� #� $*� $��

)%� *��*� �+*+(�� (�'+�)*)� �%(� *��*� )�#�� � )&"�/� (�)%+(��� �(�

)�* )� ��� - *�%+*� �%$*��* $�� *��� (��� , $�� �� )�(,�(�� �%(� �.�#2

&"��� �� �$� �&&" ��* %$� (�'+�)*)� �� " $�� ��� �(�-$� *%� �� )��(��

- $�%-�� ��� ���(���� &�(�%(#)� *��� �%""%- $�� &(%���+(��

draw the line to the local display;for each remote instance of the windowbegin

if a remote instance of the graphic context has alreadybeen allocated,

use that instance,else

���� ��� �"%-���(*� �%(� *��� ��� ���(���� $&+*� #�(� $�� (%+* $��

InputEvent

Received

Is Input fromUser WhoHas theFloor?

Yes

No

Is this UserAllowed toGive Input?

No

Yes

Is any InputDevice “Grabbed”

by this Applica-tion?

Yes

No

Has EnoughTime Elapsed

for the Input toChange?

No

Yes

Give theFloor tothis User

Translate the InputEvent and Return to

the Application

DiscardInput

allocate a new remote graphic context and map it tothe local graphic context;

draw a line to the window instance with the graphiccontext instance;

end;

���$� *��� �""%��* %$� %�� �� � )&"�/� (�)%+(��� �� ")�� ��� ���(���

+)�)� )�,�(�"� #��$)� *%� (��%,�(�� �$� *��� ��)�� %�� & .#�&)�� ��

���(���� �%$* $+�)� %&�(�* %$� %�� *��� �&&" ��* %$� - *�%+*� *��

+)�� %�� *��*� #���� �$�� $%* � �)� *��� +)�(� %�� *� )� ) *+�* %$�� �$

%*��(� ��)�)�� ��� ���(���� - ""� )+�)* *+*�� %*��(� � )&"�/� (�2

)%+(��)� �%(� *��� %$�)� *� ��$$%*� �""%��*��� ���� $�.*� *-%� )��* %$)

&(%, ��� ��*� "��� �.�#&"�)� %�� *-%� � )&"�/� (�)%+(��)� ��

���(���� - ""� �(����+""/� ���(����� �%"%()� �$�� �%$*)�

�������� ������

���� #�$���#�$*� %�� � )&"�/� (�)%+(��)� )+��� �)� �(�&� ��

�%$*�.*)� �$�� - $�%-)� $� ��� ���(���� )� �� ("/� )*(� ��*�%(2

-�(�� �%#&�(��� *%� *��� #�$���#�$*� %�� �%"%()�� ���� �%�"� %�

� )&"�/ $�� ��$* ��"� #���)� %$� �""� )��(��� - $�%-)� (�'+ (�)

#�&& $�� �%"%()� �(%#� *��� )�$��(�)� � )&"�/� *%� *��� (��� ,�(�)

� )&"�/� �$�� ���(�� $�� *��� �%"%()� �(����+""/� �� *��� �.��*�

�%"%()� �(�� +$�,� "��"��

Page 10: HP SharedX: A Tool for Real Time Collaboration

��� � � � � � � �.0(*� ���� �$5*$229� ") 0#� �-30, *

�'$� 2$0+� .(6$*� 0$%$01� 2-� 2'$� ,3+!$0� 2' 2� 0$.0$1$,21� � "-*-0

4 *3$�� �'$� .(6$*� " ,� !$� -,$� -%� 25-� 27.$1�� 0$ #9-,*7�� 5'("'

0$.0$1$,21� � "-*-0� 2' 2� #-$1� ,-2� "' ,&$� ,#� " ,� 2'$0$%-0$� !$

""$11$#� !7� +3*2(.*$� .0-&0 +1� 1(+3*2 ,$-31*7�� -0� 0$ #�

50(2$�� 5'("'� " ,� !$� "' ,&$#� ,#� (1� $6"*31(4$*7� 31$#� !7�

1(,&*$� ..*(" 2(-,�

�(6$*1� 0$� "-,4$02$#� 2-� "-*-01� $(2'$0� !7� 31(,&� 2'$� .(6$*� 1� ,

(,#$6� (,2-� � "-*-0� + .� � � *--)93.� 2 !*$�� -0� !7� 20$ 2(,&� 2'$

.(6$*� 1� � 0$.0$1$,2 2(-,� -%� 2'$� "-*-0� (21$*%�� �'$� (,2$0.0$2 9

2(-,� -%� 2'$� .(6$*� (1� ! 1$#� -,� 2'$� 4(13 *� 27.$�† � -%� 5'("'� 2'$0$

0$� 1(6� (,� 2'$� �� 5(,#-5� 1712$+�� �'0$$� -%� 2'$1$� **-5� �� .0-9

&0 +1� 2-� **-" 2$� 0$ #�50(2$� "$**1� �&0 71" *$�� .1$3#-� "-*-0�

,#� #(0$"2� "-*-0��� 5'(*$� 2'$� -2'$0� 2'0$$� .0-4(#$� � %(6$#� 1$2� -%

"-*-01� �12 2("� &0 7�� 12 2("� "-*-0�� ,#� 203$� "-*-0��

�-� #(4(#$� 2'$� 1(6� 4(13 *� 27.$1� ,-2'$0� 5 7�� %-30� -%� 2'$+

�12 2("� &0 7�� &0 71" *$�� 12 2("� "-*-0�� ,#� .1$3#-� "-*-0�� 31$�

1(,&*$� "-*-0� + .� 2-� + .� � .(6$*� (,2-� � &0 7� 4 *3$� -0� ,� ���

20(.*$2� ��(&1�� � � ,#� �!��� �'$1$� #(1.* 71� 27.(" **7� 31$� !$25$$,

-,$� ,#� $(&'2� .* ,$1�� 1-� 2'$(0� "-*-0� + .1� 27.(" **7� 12-0$

!$25$$,� � ,#� � � "-*-0� 4 *3$1�� �,-2'$0� 4(13 *� 27.$�� #(0$"2

"-*-0�� 31$1� 2'0$$� "-*-0� + .1�� -,$� $ "'� %-0� 0$#�� &0$$,�� ,#

!*3$�� �'$� .(6$*� (1� #$"-+.-1$#� (,2-� 2'0$$� (,#$6$1� %-0� *--)93.

(,� 2'$� 2'0$$� "-*-0� + .1� �1$$� �(&�� �"��� �'$� * 12�� 203$� "-*-0�� #$9

"-+.-1$1� 2'$� .(6$*� #(0$"2*7� (,2-� 0$#�� &0$$,�� ,#� !*3$� 4 *3$1

† Color map capabilities (see glossary on page 26).

�1$$� �(&�� �#��� �03$� "-*-0� ,#� #(0$"2� "-*-0� 27.(" **7� 31$� $(2'$0

� -0� �� .* ,$1�� 7($*#(,&� ���� � -0� ����� � "-*-01�

�30� "-*-0� + ..(,&� 1-*32(-,� ##0$11$1� 25-� /3$12(-,1�� �(4$,

2'$� 1$,#$0�1� ,#� 0$"$(4$0�1� 4(13 *� 27.$1�� ,#� 2'$� 1(8$1� -%� 2'$(0

"-*-0� + .1� �,3+!$0� -%� #(%%$0$,2� "-*-01� 4 (* !*$��

• �-5� 0$� 2'$� 4 (* !*$� "-*-01� 31$#� 2-� !$12� #4 ,2 &$�

• �-5� (1� "-*-0� + ..(,&� + (,2 (,$#�

Using the Best Colors Available. � �'$� )$7� 2-� "-*-0� + 2"'(,&� (1

*5 71� 2-� ' 4$� � "-*-0� 2' 2� (1� "*-1$� $,-3&'� (%� 2'$� $6 "2� "-*-0

(1� 3, 4 (* !*$�� �%� 2'$� 0$"$(4$0�1� "-*-0� #(1.* 7� 1712$+� (1� 12 2("�

13..-02(,&� -,*7� 0$ #9-,*7� "-*-01�� 2'$� 1-*32(-,� (1� 1(+.*$�� + .

$ "'� 1$,#$0� "-*-0� (,2-� 2'$� "*-1$12� 0$"$(4$0� "-*-0�� �-0� 0$"$(49

$01� 5(2'� #7, +("� "-*-0� 1712$+1� 2' 2� 13..-02� 0$ #�50(2$� "-*9

-01�� � "-*-0� 0 +.� (1� "0$ 2$#�� �'$� "-*-0� 0 +.� "-,2 (,1� � 1$2� -%

"-*-01� $4$,*7� #(120(!32$#� 2'0-3&'-32� 2'$� ���� "-*-0� 1. "$��

2'0$$9#(+$,1(-, *� 1. "$� #$%(,$#� !7� 6$1� -%� 0$#�� &0$$,�� ,#

!*3$� 4 *3$1� �1$$� �(&�� ���� �'$� !$,$%(2� -%� 2'$� 0 +.� (1� 2' 2� ,7

"-*-0� + 2"'$1� � 0 +.� "-*-0� 5(2'(,� 1-+$� + 6(+3+� "-*-0

#(%%$0$,"$� (,� 2'$� "-*-0� 1. "$�� �-5$4$0�� 2'$� + 6(+3+� "-*-0

#(%%$0$,"$� + 7� 12(**� !$� * 0&$0� 2' ,� (1� #$1(0 !*$�� 1-� 2'$� 0 +.� (1

� % **! ")� (%� ,� $6 "2� "-*-0� + 2"'� " ,,-2� !$� **-" 2$#�

�� "-*-0� 0 +.� 00 7� ,#� 2'$� 4 *3$1� %-0� 2'$� 0$"$(4$0�1� "-*-0

+ .� 0$� "0$ 2$#� 5'$,� 2'$� #(1.* 7� "-,,$"2(-,� (1� + #$� 2-� 2'$

0$"$(4$0� %-0� 1' 0(,&�� �(&�� �� 1'-51� ,� $6 +.*$� -%� � "-*-0

Green Value = 0X0000

����� ��� �-30� 0$.0$1$,2 2(-,1� %-0� 2'$� "-*-0� + &$,2 �� � �� �'$� 0$ #9-,*7� &0 7� *$4$*� �12 2("� &0 7� -0� &0 71" *$�� $/3(4 *$,21� %-0� + &$,2 ��

�!�� �$ #9-,*7� 12 2("� "-*-0� -0� .1$3#-� "-*-0� 0$.0$1$,2 2(-,1�� �"�� �(0$"2� "-*-0� 0$.0$1$,2 2(-,� -%� + &$,2 �� �'$� .(6$*� (1� 1.*(2� (,2-� (,#$6$1� (,2-

2'$� "-*-0� + .�� �#�� �03$� "-*-0� 0$.0$1$,2 2(-,�� �'$� .(6$*� 4 *3$� (1� 1.*(2� (,2-� . 021�� ,#� $ "'� . 02� (1� 1" *$#� 2-� "0$ 2$� 2'$� 4 *3$1� %-0� 2'$� #(%%$0$,2

1' #$1� -%� 0$#�� &0$$,�� ,#� !*3$� %-0� + &$,2 �

0XFFFF

0X0000

0XFFFF

0XABCD

0X688D

0X0123

0XDEAD

0

1

2

3

4

5

254

255

Pixel = 3Gray Level Equivalent to

Magenta = 26765 10

(a)

0X0000

0

1

2

3

4

5

255

Pixel = 3RGB Values = (0XFFFF, 0X0000,OXFFFF) = Magenta

(b)

0XFFFF

R G B

0XFFFF

(c)

Red Value = 0XFFFF

Red Index = 5 Green Index = 2

0X0000

Blue Index = 4

0XFFFF

Pixel = 0X00050204 (hex)

(d)

Red Value =0XFFFF

Green Value =0X0000

Blue Value =0XFFFF

Pixel = 0X00FF00FF (hex)

Scale to Range:0-0XFFFF

RGB = (0XFFFF, 0X0000, 0XFFFF) = Magenta

Blue Value = 0XFFFF

Page 11: HP SharedX: A Tool for Real Time Collaboration

�.0'*� ���� �#5*#229��!)�0"� �-30,�*� � � � � � � ��

���� ��� �� 2&0##9"'+#,1'-,�*� 0#.0#1#,2�2'-,� -$� 2&#� !-*-0� 0�+.� $-0� �,

�9 '2� !-*-0� "'1.*�7� 5'2&� $-30� 1&�"#1� -$� *3#�� $-30� 1&�"#1� -$� 0#"�� �,"

#'%&2� 1&�"#1� -$� %0##,�

Red

(Fou

r Sha

des)

0

2/3

1/3

1

0 1/7 2/7 3/7 4/7 5/7 6/7 11/3

2/3

1Blue (Four Shades)

Green (Eight Shades)

0�+.� �00�7� 2&�2� !-,2�',1� .-',2#01� 2-� 2&#� !-*-0� +�.� -,� 2&#

0#!#'4#0�� �&#� 4�*3#1� ',� 2&#� !-*-0� +�.� �0#� "#2#0+',#"� $0-+

2&#� 2&0##9"'+#,1'-,�*� !-*-0� 0�+.� +#,2'-,#"� � -4#�� �1� #�!&

#,207� '1� �**-!�2#"� ',� 2&#� 0#!#'4#0�1� !-*-0� +�.�� 2&#� ',"#6� 2-

2&�2� #,207� '1� 1#,2� �!)� 2-� 2&#� 1#,"#0� �,"� .*�!#"� ',2-� 2&#� 0�+.

�00�7� 2� *#�� !0#�2',%� �� 2� *#� -$� ',"#6#1� ',2-� 2&#� 0#!#'4#0�1

!-*-0� +�.�

�&#� 1'8#� -$� 2&#� !-*-0� 0�+.� "#.#,"1� -,� 2&#� 1'8#� �,"� 27.#� -$

2&#� "#12',�2'-,� 4'13�*� 27.#�� �-0� %0�71!�*#� 4'13�*� 27.#1�� �� %0�79

1!�*#� 0�+.� -$� 3.� 2-� � 4�*3#1� '1� �**-!�2#"�� �-0� "'0#!2� !-*-0

4'13�*1�� 3.� 2-� � *#4#*1� -$� 0#"�� %0##,�� �,"� *3#� $-0� �� 2-2�*� -$

���� � "'12',!2� !-*-0� 4�*3#1� �0#� �**-!�2#"�� �,� -2&� -$� 2&#1#

4'13�*� 27.#1�� � *#4#*1� .0-4'"#� #,-3%&� 0#1-*32'-,� 2-� #,130#� �

%--"� !-*-0� +�2!&� 5'2&-32� 31',%� #6!#11'4#� !-*-0� +�.� #,20'#1�

�&#� 0�+.� 31#"� $-0� #'%&29.*�,#� .1#3"-� !-*-0� !-,1'121� -$� �**

!-+ ',�2'-,1� -$� $-30� #4#,*7� 1.�!#"� 4�*3#1� -$� 0#"�� #'%&2� 4�*9

3#1� -$� %0##,�� �,"� $-30� 4�*3#1� -$� *3#�� $-0� �� 2-2�*� -$� �� 7� �� 7

�� �� �� !-*-01�� �&#� 0�+.� 2�)#1� 3.� &�*$� -$� 2&#� �4�'*� *#� !-*-01

',� �,� #'%&29.*�,#� !-*-0� +�.�

���� ���� �&#� !-*-0� 0�+.� �00�7� !-,2�',',%� ',"#6#1� ',2-� 2&#� 0#!#'4#0�1

!-*-0� +�.�� �-2&� -$� 2&#1#� '2#+1� �0#� !0#�2#"� 5&#,� 2&#� !-,,#!2'-,

#25##,� 1#,"#0� �,"� 0#!#'4#0� '1� $'012� #12� *'1&#"�

18

19

21

25

0

1

2

3

128

BlackR G B

Ramp ArrayIndex Table

255

0

18

255

Black

Color Map

0 00

19 0 1/30

20 0 2/30

0 1025

ReceiverSender

Indexes Sentto Receiver

���� ���� �� 25-9"'+#,1'-,�*� 0#.0#1#,2�2'-,� -$� 2&#� !-*-0� 1.�!#� 31#"

7� 2&#� !-*-09+�2!&',%� �*%-0'2&+�

1/7 2/7 3/7 4/7 5/7 6/7 10

1/3

2/3

1

0

Blue

Red

Green

Point B Point A

�'%&29.*�,#� .1#3"-� !-*-0� 4'13�*� 27.#1� �0#� 2&#� +-12� !-++-,

�,"� +-12� "'$$'!3*2� 27.#� 2-� "#�*� 5'2&� 1',!#� ,-2� #,-3%&� !-*-01

#6'12� 2-� !-4#0� 2&#� !-*-0� 1.�!#� �"#/3�2#*7� 5'2&� �� 0�+.�� �-

!-+.#,1�2#� $-0� *�0%#� !-*-0� #00-01�� ��� �&�0#"�� (3"'!'-31*7

31#1� 2&#� 0#+�',',%� !-*-0� !#**1� �4�'*� *#� ',� �""'2'-,� 2-� 2&#

0�+.�� �-0� �,7� %'4#,� !-*-0�� 2&#� $-**-5',%� !-*-09+�2!&',%

�*%-0'2&+� '1� 31#"� 2-� +�.� 2&#� 1#,"#0�1� !-*-01� -,2-� !-*-01� -,

2&#� 0#!#'4#0�

�� �$� 2&#� �� �..*'!�2'-,� -,� 2&#� 1#,"#0� �**-!�2#"� 2&#� !-*-0� �1

0#�"�50'2#�� 2&#,� �22#+.2� 2-� �**-!�2#� �� +�2!&',%� 0#�"�50'2#

!-*-0� -,� 2&#� 0#!#'4#0�� �� 0#�"�50'2#� !-*-0� '1� ,##"#"� 1',!#� 2&#

�..*'!�2'-,� +�7� !&�,%#� 2&#� !-*-0� -$� 2&#� �**-!�2#"� .'6#*� �2

1-+#� *�2#0� 2'+#� �,"�� 2-� +�',2�',� !-*-0� �!!30�!7�� 2&#�

0#!#'4#0�1� +�2!&',%� !-*-0� +312� #� !&�,%#"� �1� 5#**�

�� �$� 2&#� �..*'!�2'-,� �**-!�2#"� �� 0#�"9-,*7� !-*-0� -0� '$� 2&#

� -4#� �**-!�2'-,� $�'*#"�� $',"� 2&#� !*-1#12� !-*-0� $0-+� 2&#� 0�+.

-0� �� .0#4'-31*7� �**-!�2#"� 0#�"9-,*7� !-*-0�� �$� 2&�2� !-*-0� '1

!*-1#� #,-3%&� 2-� 2&#� "#1'0#"� !-*-0�� 31#� '2� �1� 2&#� +�2!&�

��� �$� 2&#� !*-1#12� 0#�"9-,*7� !-*-0� '1� ,-2� !*-1#� #,-3%&�� 207� 2-

�**-!�2#� �� ,#5� 0#�"9-,*7� !-*-0�� �$� 2&'1� 13!!##"1�� �""� 2&#

!-*-0� 2-� 2&#� *'12� -$� �**-!�2#"� 0#�"9-,*7� !-*-01� �,"� 0#230,� 2&#

,#5� .'6#*� �1� 2&#� +�2!&�

��� �$� 2&#� 0#�"9-,*7� !-*-0� !-3*"� ,-2� #� �**-!�2#"�� 31#� 2&#

!*-1#12� .'6#*� $0-+� 12#.� � 1',!#� '2� '1� 2&#� #12� �4�'*� *#� +�2!&�

�-2'$7� 2&#� 31#0� 2&�2� 2&#� !-*-01� "-� ,-2� +�2!&� #6�!2*7�

�'%�� � 1&-51� �� 25-9"'+#,1'-,�*� 0#.0#1#,2�2'-,� -$� 2&#� !-*-0

1.�!#� %'4#,� ',� �'%�� ��� ��!&� !'0!*#� #,!-+.�11#1� !-*-01� 2&�2

�0#� !*-1#� #,-3%&� 2-� �� .�02'!3*�0� !-*-0� 0�+.� 4�*3#� �0#.0#9

1#,2#"� 7� 2&#� .-',2� ',� 2&#� +'""*#� -$� #�!&� !'0!*#��� ��!&� -$� 2&#

.-',21� 0#.0#1#,21� �� 0#�"9-,*7� !-*-0� 2&�2� &�1� �*0#�"7� ##,

�**-!�2#"� -,� 2&#� 0#!#'4#0�1� �� 1#04#0�

�&#� !-*-09+�2!&',%� �*%-0'2&+� $'012� !&#!)1� 2-� 1##� '$� �� !-*-0� '1

!*-1#� #,-3%&� 2-� �,� �*0#�"7� �**-!�2#"� !-*-0�� �-',2� �� ',� �'%��

'1� !*-1#� #,-3%&� 1-� �,-2&#0� !#**� '1� ,-2� �**-!�2#"� �12#.� � ',

�*%-0'2&+��� �&31�� $-0� .-',2� ��� ��� 0#"�� ��� %0##,�� �,"� 1-+#

4�*3#� $-0� *3#� '1� 31#"�

�-',2� �� ',� �'%�� � '1� ,-2� !*-1#� #,-3%&� 2-� �,7� �**-!�2#"� !-*-0�

1-� �� !-*-0� '1� �**-!�2#"� �,"� .-',2� �� '1� �""#"� 2-� 2&#� *'12� -$

�4�'*� *#� !-*-01� �12#.� �� -$� 2&#� �*%-0'2&+��� �$� �� !�,,-2� #

�**-!�2#"� ',� 2&#� !-*-0� +�.�� 2&#� !*-1#12� !-*-0� '1� 1#*#!2#"� 2&�2

&�1� �*0#�"7� ##,� �**-!�2#"�� �*2&-3%&� 2#!&,'!�**7� '2� '1� ,-2

!*-1#� #,-3%&� �12#.� �� -$� �*%-0'2&+��

Page 12: HP SharedX: A Tool for Real Time Collaboration

��� � � � � � � �46.0� ����� �*;0*88?�&(/&6)� �3962&0

"-*� ).++*6*2(*� '*8;**2� 8-*� )*7.6*)� (3036� &2)� 8-*� (&2).)&8*

(3036� .7� 1*&796*)� &7� 8-*� 791� 3+� 759&6*7�

).++� � �)*7.6*)%6*)� �� &(89&0%6*)��� �

�)*7.6*)%,6**2� �� &(89&0%,6**2��� �

�)*7.6*)%'09*� �� &(89&0%'09*��

"-*� (3036� ;.8-� 8-*� 1.2.191� ).++*6*2(*� .7� 8-*� (037*78� (3036�� �

(037*� *239,-� 8-6*7-30)� ;&7� )*8*61.2*)� *14.6.(&00=� 83� 348.?

1.>*� 8-*� &((96&(=� 3+� (3036� .1&,*7� ;-.0*� 1.2.1.>.2,� 8-*� 291?

'*6� 3+� 6*(*.:*6� (3036� (*007� 97*)�� !.2(*� .1&,*7� 8*2)� 83� -&:*

(3036� 8-*1*7� �.�*��� 8-*� (30367� &6*� (0978*6*)� .2� &� +*;� 6*,.327

3+� 8-*� (3036� 74&(*��� &� +&.60=� -.,-� )*,6**� 3+� (3036� &((96&(=

(&2� '*� 3'8&.2*)� ;.8-398� *<(*77.:*� )*1&2)� +36� (3036� (*007�

Private Color Maps.� �2� $� ).740&=� -&7� &� )*+&908�� 7-&6*)� (30361&4� 8-&8� 1378� &440.(&8.327� 97*�� �+� &2� &440.(&8.32� 2**)7� 136*

(30367� 8-&2� &6*� &:&.0&'0*� .2� 8-*� )*+&908� (3036� 1&4�� .8� (&2

(6*&8*� &2)� 97*� &� 46.:&8*� (3036� 1&4� 3:*6� ;-.(-� .8� -&7� (31?

40*8*� (328630�� #-*2� &2� &440.(&8.32� 97.2,� &� 46.:&8*� (3036� 1&4

-&7� .87� ;.2)3;� +3(97*)�� 8-&8� &440.(&8.32�7� (3036� 1&4� .7

.278&00*)� �(34.*)� .283� 8-*� ).740&=� -&6);&6*�� '=� 8-*� $� ;.2?

)3;� 1&2&,*6�� �2� ).740&=7� 8-&8� 7944368� 320=� 32*� (3036� 1&4

.2� -&6);&6*� �1378� 3+� 8-*� 03;?*2)� ).740&=7��� *:*6=8-.2,� 32

8-*� *28.6*� 7(6**2� .7� ).740&=*)� 97.2,� 8-*� .278&00*)� (3036� 1&4�

#-*2� &� 46.:&8*� (3036� 1&4� .7� .278&00*)�� &00� &440.(&8.327� 97.2,

8-*� )*+&908� (3036� 1&4� 8&/*� 32� 6&2)31� (30367�� �7� 7332� &7� &2

&440.(&8.32� 97.2,� 8-*� )*+&908� (3036� 1&4� ,&.27� 8-*� +3(97�� 8-*

)*+&908� (3036� 1&4� .7� 6*.278&00*)�� &2)� 8-*� &440.(&8.32� ;.8-� 8-*

46.:&8*� (3036� 1&4� ;.00� -&:*� 6&2)31� (30367�� �7� 8-*� (966*28

(3036� 1&4� 7;.8(-*7� '&(/� &2)� +368-� +631� )*+&908� 83� 46.:&8*�

8-*� 97*6� 7**7� (3036� +0&7-.2,�� "-*� 97*6� 8=4.(&00=� 46*+*67� 83

).740&=� 7-&6*)� ;.2)3;7� ;.8-� 8-*� )*+&908� (3036� 1&4� 83� &:3.)

8-.7� .66.8&8.32�

#-*2� &� ;.2)3;� .7� 7-&6*)� 83� 6*(*.:*67� ;.8-� ).740&=� 8=4*7

8-&8� -&:*� 6*&);6.8*� (3036� 1&47�� &� (3036� 6&14� .7� (6*&8*)� 32

8-*� 6*(*.:*6�7� $� ).740&=�� "-*� 6&14� .7� (6*&8*)� .2� 8-*� )*+&908

(3036� 1&4� 83� 6*)9(*� 8-*� 463'&'.0.8=� 3+� (3036� +0&7-.2,�� �+� 8-*

)*7.6*)� 6&14� (&2238� +.8� .2� 8-*� )*+&908� (3036� 1&4�� .8� .7� 40&(*)

.2� &� 46.:&8*� (3036� 1&4�

"-*� 7=78*1� 97*6� .28*6+&(*� .7� 979&00=� 8-*� +.678� 463(*77� 83� &003?

(&8*� 4.<*07�� &2)� 8-*� 4.<*07� ;.8-� 8-*� 71&00*78� .2)*<*7� &6*� &003?

(&8*)� +.678�� #-*2� &� 46.:&8*� (3036� 1&4� .7� 97*)�� ��� !-&6*)$

(34.*7� 731*� 3+� 8-*� 03;*6� 4.<*0� :&09*7� +631� 8-*� )*+&908� (3036

1&4� .283� 8-*� 46.:&8*� (3036� 1&4�� "-.7� ;&=�� ;-*2� $� 7;.8(-*7

'*8;**2� 8-*� 8;3� (3036� 1&47�� 8-*� (30367� 97*)� '=� 8-*� 7=78*1

97*6� .28*6+&(*� )3� 238� +0&7-�� "-*� 291'*6� 3+� 4.<*07� (34.*)� .7

348.1.>*)� 83� 6*)9(*� (3036� +0&7-.2,� ;-.0*� 0*&:.2,� (3036� (*007

+36� 0&8*6� &003(&8.32�

Keeping Track of Pixel Mapping. � "3� 1.2.1.>*� 8-*� 291'*6� 3+8.1*7� 8-*� (3036� 1&8(-.2,� &0,36.8-1� .7� *<*(98*)�� &� 1&44.2,

3+� 46*:.3970=� 1&8(-*)� 4.<*07� .7� 1&.28&.2*)�� �.++*6*28� 1&4?

4.2,� 1*8-3)7� &6*� 97*)� )*4*2).2,� 32� 8-*� 6&2,*� 3+� 4377.'0*

7*2)*6� (3036� :&09*7�� �36� 71&00� 6&2,*7� �94� 83� ���� ).++*6*28

(30367�� &� 7.140*� &66&=� .7� 97*)�� .2� ;-.(-�

receiver_pixel = map [sender_pixel]

#-*2� 8-*� 7*2)*6� .7� &� ��?40&2*� ).740&=�� 8-.7� &4463&(-� ;390)

6*59.6*� ��� 1*,&'=8*7� 3+� 1*136=�� 73� &� 136*� 1*136=?*++.(.*28

1&44.2,� 7(-*1*� .7� 2**)*)�� !.2(*� 8-*� ,3&0� .7� 83� 463)9(*

(037*� (30367� +36� 8-*� 6*(*.:*6� 6&8-*6� 8-&2� *<&(8� (3036� 1&8(-*7�

6*73098.32� 3+� 8-*� 7*2)*6� (3036� .7� 6*)9(*)� '*+36*� &440=.2,� 8-*

(3036� 1&44.2,�� *)�� ,6**2�� &2)� '09*� :&09*7� 3+� 8-*� (3036� &6*

6*)9(*)� 83� +396� '.87� 6&8-*6� 8-&2� *.,-8� '.87� +36� *&(-� 40&2*�

;-.(-� 6*79087� .2� ��� ����� 0*:*07� 3+� *&(-�� "-97�� 8-*� 838&0� 291?

'*6� 3+� 4377.'0*� (3036� :&09*7� .7� ���� ��� ��� &� 6*&732&'0*� 7.>*

+36� &� 1&44.2,� &66&=�� �+� color()� .7� &� +92(8.32� 8-&8� 6*89627� 8-* ��� :&09*7� 3+� &� 4.<*0�� &2)� crunch()� .7� &� +92(8.32� 8-&8� (32:*687&2� ��� 86.40*8� 83� &� 291'*6� .2� 8-*� 6&2,*� …���� �+396� '.87

4*6� 4.<*0��� 8-*2� 8-*� 1&44.2,� .7� &7� +3003;7�

receiver_pixel = map [crunch (color (sender_pixel))]

"-*� 6*7908� 3+� 8-.7� 1&44.2,� .7� 8-&8� &00� (30367� (037*� 83� &� 1&44*)

(3036� &6*� 1&44*)� ;.8-� 8-&8� (3036�� "-.7� 1*8-3)�� (&00*)� (3036?

>32*� 1&44.2,�� ,.:*7� +&78� 4*6+361&2(*� &2)� &)*59&8*� (3036

1&8(-.2,�� ;-.0*� /**4.2,� 1*136=� 97*� +&.60=� 71&00�

������� ����

"-*� +3287� .2� ;-.(-� &440.(&8.327� ).740&=� 8*<8� (&2� '*� 74*(.+.*)

'=� 8-*� 97*6� .2� 8-*� $� #.2)3;� !=78*1�� �631� 8-*� 7*8� 3+� +3287

7944368*)� '=� 8-*� $� 7*6:*6�� 8-*� 97*6� 7*0*(87� &� +328� 8-&8� .7

&*78-*8.(&00=� 40*&7.2,�� !.2(*� 8-*6*� &6*� 23� 78&2)&6)� +3287� .2� $�

*&(-� $� 7*6:*6� (&2� 7944368� &� ).++*6*28� 7*8� 3+� +3287�

"3� 1&.28&.2� (327.78*2(=� '*8;**2� 8-*� 7*2)*6� &2)� 6*(*.:*6� 3+

&� 7-&6*)� &440.(&8.32�� .8� .7� .14368&28� 8-&8� 8*<8� '*� ).740&=*)� .2

&� 7.1.0&6� +328� 32� 8-*� 6*(*.:*6�7� ).740&=�� ��� !-&6*)$� *1403=7

&� +328� 1&8(-.2,� &0,36.8-1� 83� *2796*� &� (037*� +328� 1&8(-�

�3287� .2� $� -&:*� '38-� &� 2&1*� &2)� (-&6&(8*6.78.(7�� �� +328� (&2

'*� 03&)*)� '=� 74*(.+=.2,� *.8-*6� .87� 2&1*� 36� .87� (-&6&(8*6.78.(7

97.2,� 8-*� $� �3,.(&0� �328� �*7(6.48.32� �$����� +361&8�� ��

!-&6*)$� +.678� 86.*7� 83� 1&8(-� 8-*� +328� '=� 2&1*� 7.2(*� .8� .7� 92?

0./*0=� 8-&8� +3287� ;.8-� 8-*� 7&1*� 2&1*� ).++*6�� �+� 8-*� +328� ;.8-

8-*� 7&1*� 2&1*� .7� 92&:&.0&'0*� 32� 8-*� 6*(*.:*6�7� $� 7*6:*6�

+3287� &6*� 1&8(-*)� '=� 8-*.6� (-&6&(8*6.78.(7�

"-*� $���� )*7(6.48.32� )*+.2*7� � � (-&6&(8*6.78.(7� 3+� &� +328

79(-� &7� .87� 7.>*�� (-&6&(8*6� 7*8�� ;*.,-8�� 70&28�� &2)� 78=0*�� #-*2

1&8(-.2,� +3287� +36� 8-*� 496437*� 3+� 7-&6.2,� &2� &440.(&8.32�

731*� 3+� 8-*7*� (-&6&(8*6.78.(7� &6*� 136*� .14368&28� 8-&2� 38-*67

.2� (-337.2,� 8-*� +328� ;.8-� 8-*� (037*78� (-&6&(8*6.78.(7�

��� !-&6*)$� 3'8&.27� &� 0.78� 3+� &00� $���� 8=4*� +3287� +631� 8-*

6*(*.:*6�7� $� 7*6:*6� &8� ).740&=� (322*(8.32� 8.1*�� #-*2� &� +328

1&8(-� .7� 2**)*)�� 8-*� 7396(*� +328�7� (-&6&(8*6.78.(7� &6*� (31?

4&6*)� 83� 8-37*� &:&.0&'0*� 32� 8-*� 6*(*.:*6�7� $� 7*6:*6�� �

;*.,-8*)� 791� 3+� ).++*6*2(*7� 3+� 8-*� (-&6&(8*6.78.(7� .7� (&0(9?

0&8*)� &2)� 8-*� +328� ;.8-� 8-*� 1.2.191� ).++*6*2(*� .7� (327.)*6*)

8-*� (037*78� 1&8(-�

"-*� ;*.,-8.2,� 3+� (-&6&(8*6.78.(7� ;&7� )*8*61.2*)� 8-639,-� &

(31'.2&8.32� 3+� .289.8.32� &2)� 3'7*6:&8.32�� #.8-� 8-*� *<(*48.32

3+� (-&6&(8*6� 7*8�� ).7(977*)� '*03;�� .8� 7**17� (0*&6� 8-&8� 7.>*� .7

8-*� 1378� .14368&28� (6.8*6.32�� ;.8-� ;.)8-� 8&/.2,� 46*(*)*2(*

3:*6� -*.,-8�� "-.7� .7� 4&680=� '*(&97*� 1&2=� $� &440.(&8.327� ;6.8*

8*<8� .2� 8;3� ).++*6*28� ;&=7�� �2*� ;&=� .7� 83� 4&77� &� ;-30*� 786.2,

3+� (-&6&(8*67� 83� 8-*� 7*6:*6� &2)� 0*8� .8� )*8*61.2*� 8-*� 03(&8.32

3+� *&(-� (-&6&(8*6� '&7*)� 32� .87� /23;0*),*� 3+� 8-*� +328�� "-*

38-*6� ;&=� .7� +36� 8-*� 463,6&1� 83� (328630� 8-*� 74&(.2,� &2)� 7*2)

32*� (-&6&(8*6� &8� &� 8.1*� 83� 8-*� $� 7*6:*6�� "-*� 463,6&1� 1978

8-*2� /23;� &'398� 8-*� (-&6&(8*6� ;.)8-7� +36� 8-*� +328� .2� 97*�� �2

8-.7� 1*8-3)�� 8-*� 463,6&1� -&7� 23� /23;0*),*� 8-&8� 8-*� 6*?

(*.:*6� 1&=� '*� 97.2,� &� ).++*6*28� +328� ;.8-� ).++*6*28� 74&(.2,7�

&2)� (-&6&(8*67� 1&=� 3:*60&4� 36� '*� ;.)*0=� 74&(*)� +36� 8-*.6

7.>*�� �+� 8-*� +.678� 1*8-3)� .7� 97*)�� 8-*� 6*(*.:*6�7� $� 7*6:*6� ;.00

(366*(80=� 74&(*� 8-*� (-&6&(8*67� +36� 8-*� +328� .2� 97*�� '98� 8-*

437.8.327� 3+� (-&6&(8*67� ;.8-.2� 8-*� ;.2)3;� ;.00� '*� .2(366*(8�

Page 13: HP SharedX: A Tool for Real Time Collaboration

�57.1� �� � �*<1*99A &(0&7)� �4:73&1� � � � � � � ��

�+� '49-� 2*9-4)8� &7*� :8*)�� &8� 9-*>� &7*� .3� 9*72.3&1� *2:1&9478�

9-*� 7*(*.;*7� .8� +&(*)� <.9-� &� 2*88>� 2.=9:7*� 4+� .3(477*(9�

85&(.3,8� &3)� (-&7&(9*78� .3� .3(477*(9� 548.9.438�

�349-*7� .25479&39� +&(947� <.9-� 7*85*(9� 94� 85&(.3,� .8� <-*9-*7

&� +439� .8� 5745479.43&1� 47� 243485&(*)�� 745479.43&1� +4398� :8*

).++*7*39� <.)9-8� +47� ).++*7*39� (-&7&(9*78�� <-.1*� &� 243485&(*)

+439� :8*8� 9-*� 8&2*� 85&(*� +47� &11� (-&7&(9*78�� �3� 2489� (&8*8�� .9

.8� '*99*7� 94� 2&9(-� &� 243485&(*)� +439� 94� &349-*7� 2434A

85&(*)� +439�� *;*3� .+� 9-*>� &7*� 4+� 81.,-91>� ).++*7*39� 8.?*�� 9-&3� 94

2&9(-� .9� <.9-� &� 5745479.43&1� +439� 4+� 9-*� 8&2*� 8.?*�� �.0*<.8*�

2&9(-.3,� &� 5745479.43&1� +439� <.9-� &349-*7� 5745479.43&1� +439

9*3)8� 94� ,.;*� 9-*� '*89� &55*&7&3(*�� &3)� .+� 9-*� 9>5*+&(*8� &7*

8.2.1&7�� 9-*� (-&3(*� .8� -.,-� 9-&9� 85*(.+.(� (-&7&(9*7� <.)9-8� <.11

'*� 8.2.1&7�

"-*� .88:*� 4+� (-&7&(9*7� 8*98� .8� &3� *&8>� 43*� +47� &3� �3,1.8-

85*&0.3,� 5*7843� 94� .,347*�� �12489� &11� +4398� -&;*� .)*39.(&1

(-&7&(9*78� .3� 9-*� 7&3,*� 4+� (-&7&(9*78� 2489� 4+9*3� :8*)� �9-*

�!���� (-&7&(9*78�� 3:2'*7*)� ��� 94� ���� "-*� ).++*7*3(*8� 1.*

2&.31>� .3� 9-*� :55*7� 7&3,*�� 9-*� (-&7&(9*78� 3:2'*7*)� ��� 94

���� &3)� '*>43)�� "-.8� .8� <-*7*� (-&7&(9*78� <.9-� 85*(.&1�

&((*398�� :8*)� .3� 2489� �:745*&3� 1&3,:&,*8�� &7*� +4:3)�� �+

&((*39*)� (-&7&(9*78� &7*� :8*)�� 9-*� ).++*7*3(*� .3� (-&7&(9*7� 8*98

.8� ;*7>� .25479&39�

"-.8� .88:*� '*(42*8� 247*� .25479&39� <-*3� (-&7&(9*7� 8*98� +47

5.(94,7&28� 47� *39.7*1>� ).++*7*39� &15-&'*98� &7*� :8*)�� �+� 9-*

(-&7&(9*7� 8*9� )4*8� 349� 2&9(-�� 9-*� 7*(*.;*7� .8� ,.;*3� 2*&3.3,A

1*88� ,&7'&,*�� �:9� <-&9� (4389.9:9*8� &� 2&9(-�� �4*8� 9-*� 3&2*

4+� 9-*� (-&7&(9*7� 8*9� -&;*� 94� 2&9(-� *=&(91>�� 47� &7*� 9-*7*� 247*

47� 1*88� *6:.;&1*39� (-&7&(9*7� 8*98� 9-&9� -&;*� ).++*7*39� 3&2*8�

"-*8*� .88:*8� -&;*� 349� '**3� &))7*88*)� .3� 9-*� (:77*39� +439

2&9(-.3,� &1,47.9-2�� �47� � � !-&7*)$� 94� <470� &((*59&'1>

<.9-� 9-*8*� 9>5*8� 4+� (-&7&(9*78�� .9� .8� '*89� 94� -&;*� 9-*� 8&2*

+439� 43� 8*3)*7� &3)� 7*(*.;*7� 2&(-.3*8�

���� ������

"-*� 5*7+472&3(*� 4+� � � !-&7*)$� )*5*3)8� 43� 9-*� (-&7&(9*7.8A

9.(8� 4+� 9-*� 3*9<470� (433*(9.43�� 9-*� 5*7+472&3(*� 4+� 9-*

<47089&9.438� .3;41;*)�� 9-*� &551.(&9.43� '*.3,� 8-&7*)�� &3)� 9-*

45*7&9.438� 5*7+472*)� <.9-� 9-*� &551.(&9.43�� "-*7*� &7*� 9-7**

3*9<470.3,� +&(9478� 9-&9� &++*(9� 5*7+472&3(*�� 3*9<470� 85**)

47� '&3)<.)9-�� 1.3*� )*1&>8�� &3)� 3*9<470� 14&)�� �3(7*&8*)� 14&)

.8� 74:,-1>� *6:.;&1*39� 94� )*(7*&8*)� '&3)<.)9-�� *7+472&3(*

.3(7*&8*8� ).7*(91>� <.9-� 3*9<470� '&3)<.)9-�� :5� 94� &� 1.2.9� 4+

&'4:9� �� 0'.98�8� +47� &3� :314&)*)� 3*9<470�� �*>43)� 9-&9�

49-*7� +&(9478� 1.2.9� 5*7+472&3(*�� �.3*� )*1&>8� &7*� 4+� ,7*&9*7

.25479&3(*� <-*3� 8-&7.3,� 4;*7� &� <.)*� &7*&� 3*9<470� �#����

!(7**3� :5)&9*� 9.2*8� .3(7*&8*� 5745479.43&11>� 94� 1.3*� )*1&>8�

�.;*3� &� 3*9<470� <.9-� 7*&843&'1*� '&3)<.)9-�� � � !-&7*)$

5*7+472&3(*� <.11� '*� ,7*&91>� &++*(9*)� '>� 9-*� 5*7+472&3(*� 4+

9-*� (425:9*78� .3;41;*)� .3� 9-*� 8-&7.3,�� *85*(.&11>� 9-*� 8*3)A

.3,� 2&(-.3*�� #-*3� :8*78� -&;*� &� (-4.(*� 4+� <-4� 8*3)8� &3)

<-4� 7*(*.;*8�� 9-*� 5*7843� <.9-� 9-*� +&89*7� 2&(-.3*� 8-4:1)� '*

9-*� 8*3)*7�

�551.(&9.438� ;&7>� <.)*1>� .3� -4<� 9-*>� 2&0*� :8*� 4+� $�� �47

*=&251*�� &3� &551.(&9.43� 7*(*.;*8� &3� *=548*� *;*39� +742� 9-*

$� 8*7;*7�� .3).(&9.3,� 9-&9� 842*� 5479.43� 4+� &� <.3)4<� -&8� /:89

'*(42*� ;.8.'1*� &3)� 9-*7*+47*� 3**)8� 7*)7&<.3,�� !42*� &551.A

(&9.438� 7*)7&<� 9-*� *39.7*� <.3)4<�� <-.1*� 49-*78� &7*� 247*

*++.(.*39� &3)� 431>� 7*5&.39� 9-*� 5479.43� 9-&9� .8� *=548*)�� �

<47)� 574(*88.3,� &551.(&9.43� 2&>� :5)&9*� 9-*� *39.7*� <.3)4<

*;*7>� 9.2*� 9-*� :8*7� 9>5*8� &� 1*99*7�� #-.1*� 9-.8� 8(-*2*� <4708

&((*59&'1>� <-*3� 349� 8-&7.3,�� 9-.8� &551.(&9.43� .8� 3*&71>�

:3:8&'1*� <-*3� 8-&7*)�

�+� &551.(&9.43� <.3)4<8� (&3� '*� 7*8.?*)�� 9-*� 8*3)*7� (&3� .2A

574;*� 5*7+472&3(*� '>� 2&0.3,� <.3)4<8� 82&11*7�� �184�� :8*78

4+9*3� (42*� 94� 7*(4,3.?*� 814<� 45*7&9.438�� �+� 7*8.?.3,� (&3� '*

)43*� '*+47*� 89&79.3,� 9-*� 8-&7.3,� 8*88.43�� 9-*7*� <.11� '*� 1*88

)*2&3)� 43� 9-*� 3*9<470�� �+� 9-*� &551.(&9.43� .8� 89.11� 944� 814<

<-*3� 8-&7*)�� 9-*� 8*3)*7� (&3� 9&0*� 83&58-498� 4+� .9� <.9-� 9-*

#-.9*'4&7)� &3)� 8-&7*� 9-*� #-.9*'4&7)�

�&?>� &114(&9.43� 4+� 7*84:7(*8� .3� � � !-&7*)$� &++*(98� 5*7+47A

2&3(*� .3� 842*� .39*7*89.3,� <&>8�� �47� *=&251*�� 9-*� #-.9*A

'4&7)� :8*8� 9<4� 1&7,*� 5.=2&58� +47� 9-*� )7&<.3,� &7*&�� 43*� +47

9-*� *7&8&'1*� 1&>*7� &3)� 43*� +47� 9-*� :3*7&8&'1*� 1&>*7�� "-*

*7&8&'1*� 5.=2&5� .8� &114(&9*)� .22*).&9*1>� <-*3� 9-*� #-.9*A

'4&7)� .8� 8-&7*)�� "-*� 49-*7�� -4<*;*7�� .8� 349� :8*)� :39.1� 9-*

:8*7� )4*8� &3� *7&8*� 45*7&9.43�� "-*� :8*7� 2&>� '*� 9>5.3,� 842*

9*=9� .394� 9-*� )7&<.3,� &3)� 9-*3� -.9� 9-*� '&(085&(*� 0*>�� �9� 9-&9

54.39�� 9-*� #-.9*'4&7)� &3)� &11� 49-*7� $� 574,7&28� 43� 9-*� 8*3)A

*7�8� ).851&>� @+7**?*�� <-.1*� 9-*� :3*7&8&'1*� 5.=2&5� .8� (7*&9*)

43� 9-*� 7*(*.;*7�8� $� 8*7;*7�

#-*3� 247*� 9-&3� 43*� 7*(*.;*7� .8� .3;41;*)� .3� &� 8-&7.3,� 8*8A

8.43�� 9-*� 2*9-4)� 4+� (433*(9.43� '*(42*8� .25479&39�� �+� 9-*7*

.8� 43*� 7*(*.;*7�� &3)� 9-*� 5&79.*8� .3;41;*)� <&39� 94� &))� &� 8*(A

43)�� *.9-*7� 9-*� 8*3)*7� 47� 9-*� 7*(*.;*7� (&3� 8-&7*� 94� 9-*� 3*<

5*7843�� "-*� +.789� 7*(*.;*7� 8-&7.3,� 94� 9-*� 8*(43)� 7*(*.;*7� .8

(&11*)� )&.8>(-&.3.3,�� "-*� 8*3)*7� 8-&7.3,� 94� 247*� 9-&3� 43*

7*(*.;*7� .8� (&11*)� +&33.3,� 4:9�� #.9-� 9-*� 7.,-9� (42'.3&9.43� 4+

)&.8>(-&.3.3,� &3)� +&33.3,� 4:9�� &3� &551.(&9.43� (&3� '*� 8-&7*)

94� &� 1&7,*� 3:2'*7� 4+� 5*451*�

�*9*72.3.3,� &3� 459.2&1� (43+.,:7&9.43� +47� 43*A94A2&3>

8-&7.3,� .8� 247*� (4251*=� <-*3� 9-*� (425:9*78� ;&7>� .3� 5*7+47A

2&3(*� 47� <-*3� 9-*� 3*9<470� 1.308� '*9<**3� 9-*� 5&79.*8� ;&7>�

!42*� ,*3*7&1� 7:1*8� +47� 459.2.?.3,� 5*7+472&3(*� &7*�

• "-*� +&89*89� 2&(-.3*8� 8-4:1)� '*� )&.8>(-&.3.3,�� &3)� 814<

2&(-.3*8� 8-4:1)� &11� '*� 1*&;*8� .3� 9-*� 8-&7.3,� 97**�

• #-*3� 842*� 4+� 9-*� 7*(*.;*78� &7*� (433*(9*)� '>� &� ����� <-.1*

49-*78� (&3� 431>� '*� 7*&(-*)� 4;*7� &� #���� 9-*� 3:2'*7� 4+

#��� (433*(9.438� 8-4:1)� '*� 2.3.2.?*)�

�47� *=&251*�� .+� &� 8*3)*7� .3� �4147&)4� .8� 8-&7.3,� &� <.3)4<� 94

+.;*� 7*(*.;*78� .3� �*<� %470� &3)� 9-7**� 7*(*.;*78� .3� �&1.+473.&�

.9� .8� 2489� *++.(.*39� +47� 9-*� 8*3)*7� 94� 8-&7*� 9-*� <.3)4<� 94� 9-*

+&89*89� 7*(*.;*7� .3� �*<� %470� &3)� 9-*� +&89*89� 7*(*.;*7� .3

�&1.+473.&� &3)� -&;*� 9-48*� 7*(*.;*78� 8-&7*� 94� 49-*78� 43� 9-*

8&2*� 14(&1� 3*9<470�

� ���� ��

"-*� .251*2*39&9.43� 4+� � � !-&7*)$� 57*8*39*)� 8*;*7&1� 574'A

1*28�� �.789� &3)� +47*2489�� 8.3(*� 9-.8� 9>5*� 4+� 9*(-3414,>� .8

3*<�� 34� +4:3)&9.43� 4+� 5&89� *=5*7.*3(*� <&8� &;&.1&'1*� 94

':.1)� :543�� *85*(.&11>� <-*3� .9� (&2*� 94� )*8.,3.3,� 9-*� �

!-&7*)$� :8*7� .39*7+&(*�� "-*� :8*7� .39*7+&(*� )*8.,3� (-&11*3,*8

<*7*� 841;*)� '>� &551>.3,� -:2&3� +&(9478� )*8.,3� 9*(-3.6:*8�

.3(1:).3,� :8*7� 9&80� &3&1>8.8� &3)� -:2&3� +&(9478� 9*89.3,�� "-*

� � !-&7*)$� *=9*38.43� 57*8*39*)� &� 949&11>� ).++*7*39� (-&1A

1*3,*�� .3(1:).3,� -&3)1.3,� .35:9� +742� 2:19.51*� 84:7(*8� .3� &

8&3*� 2&33*7� &3)� &551>.3,� $� 57494(41� (:8942.?*)� +47� &� 2&A

(-.3*� 4+� 43*� 9>5*� &3)� 2&55.3,� .9� 94� 2&(-.3*8� 4+� ;*7>� ).++*7A

*39� 9>5*8�� "-*� � � !-&7*)$� *=9*38.43� (-&11*3,*8� <*7*� 2*9

'>� :3)*789&3).3,� 9-*� 3&9:7*� 4+� 9-*� $� <.3)4<� 8>89*2� &3)

Page 14: HP SharedX: A Tool for Real Time Collaboration

��� � � � � � � �8914� ����� �->4-;;B )+3)9,� �7<96)4

/9)+-.<44?� ,-/9),16/� ;0-� ,1:84)?� 15)/-� >0-6� 9-+-1=-9� ,1:84)?

9-:7<9+-:� ,7� 67;� 5);+0� ;07:-� 7.� ;0-� :-6,-9�:� ,1:84)?�� �4;07</0

;0-9-� )9-� 67� 8-9.-+;� )6:>-9:� ;7� )6?� 7.� ;0-:-� +0)44-6/-:�� ;0-

=)4<-� 7.� � � "0)9-,'� .)9� 7<;>-1/0:� 1;:� 4151;);176:�

�� ������� ��

�)6?� 16,1=1,<)4:� 0)=-� +76;91*<;-,� ;7� � � "0)9-,'�� .975� 1;:

+76+-8;176� );� � � �)*:� ;7� 1;:� *-+7516/� )� 897,<+;�� ";-=-

�7>,-9� )6,� 014� �<:;� 84)?-,� )� 5)279� 974-� 16� 161;1);16/� ;0-

� � =-6;<9-� 16;7� +744)*79);1=-� ;774:� )6,� 0-48-,� >1;0� ;0-� 161B

;1)4� � � "0)9-,'� 897;7;?8-�� #0)63:� )4:7� ;7� �)6+?� �-,@-9:31

)6,� �)6� �41+316/-9�� � � "0)9-,'� >7<4,� 0)=-� 6-=-9� *-+75-

)� 897,<+;� >1;07<;� ;0-19� :<8879;�� "8-+1)4� ;0)63:� ;7� �7-

�-9:+0�� >07:-� =1:176� +)991-,� � � "0)9-,'� .975� )6� � � �)*:

897;7;?8-� ;7� )� +755-9+1)4� 897,<+;�� #0)63:� ;7� !)6,?�

�9)6:76� 16� 897,<+;� 5)93-;16/� .79� 01:� =)4<)*4-� 168<;� )6,� :<8B

879;�� #0)63:� )4:7� ;7� ;0-� ,-:1/6� )6,� 1584-5-6;);176� ;-)5� 7.

�706� �?96-:�� �9-,� "89)/<-�� !1+0� &14,5)6�� "<:)6� �976;+@)3�

-99?� &-44:�� �-..� &77,�� �-6� �<9/-::�� ";-=-� &74.�� )6,� �)9?

�76-:�� #0)63:� ;7� �7*� �-6<:)� .79� 16.795);176� 76� �

"0)9-,'� 8-9.795)6+-�� �16)44?�� ;0)63:� ;7� �)6� !?4-:� .79� 0-9

16:1/0;� 16;7� <:-9:� )6,� ;):3:�

������ ���

��� ��� ��� �)44� )6,� ��� ��� �?-9:�� A'�� �� &16,7>� "?:;-5� ";)6,)9,� .79

�1:;91*<;-,� �758<;16/� �6=19765-6;:��� ��&��$$(�����"�� � %"����

%74�� ��� 67�� ��� �+;7*-9� ������ 88�� � B���

�� ��� ��� �976:;-16�� ����� ">--;:-9�� )6,� &�!�� (7,-9�� A"?:;-5� �-:1/6

.79� �758);1*141;?� 7.� )� �1/0B -9.795)6+-� �9)801+:� �1*9)9?� )6,� #0-� '

&16,7>� "?:;-5��� ��&��$$(�����"�� � %"���� � %74�� ���� 67�� �� �-+-5*-9

������ 88�� B��

�� ��� ��� �)<>-9:�� A�744)*79);176� #9)6:8)9-6+?� 16� �-:3;78� #-4-+76.-9B

-6+16/� �6=19765-6;:��� �!%$�"� �'#$��#� �� "�$ "'� ���������

��! "$� � (��(�(����� ";)6.79,� $61=-9:1;?�� �<4?� �����

��� ��� �)9.163-4� )6,� !���� �9)6:76�� A� �� �758)91:76� 7.� �8841+);176

"0)916/� �9+01;-+;<9-:� 16� ;0-� '� �6=19765-6;��� �" �������#� �� �����(

$� �� ���� �<6-� �����

��� ��� !�� �7?;76�� -;� )4�� A"0)916/� �++-::� ;7� �1:84)?� !-:7<9+-:� 16� ;0-

";)9*):-�'��� �-9/-� "?:;-5��� ��&��$$(�����"�� � %"���� � %74�� ���� 67�

�� �-+-5*-9� ������ 88�� B�

HP-UX is based on and is compatible with UNIX System Laboratories’ UNIX* operating system.It also complies with X/Open’s* XPG3, POSIX 1003.1 and SVID2 interface specifications.

UNIX is a registered trademark of UNIX System Laboratories Inc. in the U.S.A. and other countries.

X/Open is a trademark of X/Open Company Limited in the UK and other countries.