Submittedforpublication clipboardtheuserselectsanitemononecomputerandinvokesthestandardCopycommandthenselectsatargetontheothercomputerandinvokesthestandardPastecommandCopyandpasteismoretranspare ID: 244820
Download Pdf The PPT/PDF document "SynchronizingClipboardsofMultipleCompute..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
SynchronizingClipboardsofMultipleComputersRobertC.MillerandBradA.MyersSchoolofComputerScienceCarnegieMellonUniversity5000ForbesAvePittsburgh,PA15213USA+1-412-268-7571rcm,bam@cs.cmu.eduABSTRACTThispaperdescribesanewtechniquefortransferringdatabetweencomputers,thesynchronizedclipboard.Touseasynchronizedclipboard,theuserselectsanitemononecom-puterandinvokesthestandardCopycommand,thenselectsatargetonanothercomputerandinvokesthestandardPastecommand.Synchronizedclipboardsarewell-suitedforasin-gleusermovingdataamongseveralcomputersincloseprox-imity.Wedescribeanimplementationofsynchronizedclip-boardsthatworksacrossawiderangeofexistingsystems,in-cluding3ComPalmPilots,MicrosoftWindowsPCs,andanyJava-capableplatforms(suchasUnixandMacintosh).Ourimplementationaddsnonoticeableoverheadtolocalcopyandpasteoperations.KEYWORDS:Synchronizedclipboard,networkclipboard,datatransfer,letransfer,drag-and-drop,pick-and-drop,dis-tributedsystems,ubiquitouscomputing,PebblesINTRODUCTIONAscomputingdevicesproliferate,andmoreusersownandusemultiplecomputerssuchasdesktopcomputers,lap-tops,andpersonaldigitalassistants(PDAs)theproblemofmovingdataamongone'sowncomputersbecomesincreas-inglyimportant.Twocommonuserinterfaceparadigmsad-dresstheproblemofdatatransfer:Downloading.Fromonecomputer,theuservisitsan-othercomputerandcopieslestoorfromit.DownloadinginterfacesincludewebbrowsersandFTPclients.Synchronization.Synchronizationsharesacollectionofdatabetweentwo(ormore)computerssothatchangesmadebyoneareseenbytherest.ExamplesincludePDAsynchronization(likePalmPilotHotSync)andversioncon-trolsystems(likeCVS).Thispaperdescribesanewtechnique,asynchronizedclip-board,thatcombinesthesimplicityofdownloadingwiththetransparencyandmulti-waytransferaspectsofsynchroniza-tion.Asynchronizedclipboardextendsthefamiliarcopy-and-pastemodelusedformovingdataamongapplicationsonasinglecomputer,byautomaticallysynchronizingtheclipboardsofmultiplecomputers.Touseasynchronized Submittedforpublication clipboard,theuserselectsanitemononecomputerandin-vokesthestandardCopycommand,thenselectsatargetontheothercomputerandinvokesthestandardPastecommand.Copy-and-pasteismoretransparentthandownloading,be-causeitmovesdatawithoutrequiringtheusertonameeithercomputerorbrowsethrougharemotelesystem.Inourmodel,eachuserhasapersonalclipboardgroupconsistingofthecomputersontheirdesks(andintheirpock-ets),whichallshareasynchronizedclipboard.Othercom-putersmaytemporarilyjointheclipboardgroup,forinstanceifvisitorsormeetingparticipantswanttocarryawaydataontheirportablecomputers.Twousersshouldnotshareasynchronizedclipboardforlong,however,becausetheirclipboardoperationswouldinterfere.Furthermore,clipboardcontentsarehiddenstate,socopieddatamustbepastedbe-foretheuserforgetsaboutit.Thusasynchronizedclipboardmakessenseforasingleusertransferringdatabetweencom-putersonthesamedesk,butnotfortransferringbetweenacomputeratworkandanotherathome.Therestofthispaperdescribesthesynchronizedclipboardimplementationwehavebuilt,whichhastwocomponents.OnecomponentsynchronizestheclipboardsofoneormorePalmPilotswithaWindowsPC.TheothersynchronizesagroupofJava-capablecomputersacrossanetwork.OnWin-dows,weuseplatform-dependentcodetosynchronizethesystemclipboarddirectly.Onotherplatforms,wefallbacktoplatform-independentJavacodethatsimulatesclipboardeventswithbuttons.SYNCHRONIZINGPDAANDPCCLIPBOARDSThe3ComPalmPilotalreadysupportsdatasynchronizationwithaPCthroughHotSync,butHotSyncisinconvenientformovingasmallpieceoftext,suchasanemailaddressoraURL.FormingaHotSyncpartnershipalsotransfersprivateinformationtothePC,whichisundesirablefortemporaryinteractionswithotherusers'computers.WeimplementedsynchronizedclipboardsupportforPilotsasaHackmasterhack[1]thatinterceptsclipboard-relatedsystemtrapsonthePilotandredirectsthemtothePCclip-board(currentlybyaserialcable,eventuallybywirelessin-frared).SincethePCclipboardisthesynchronizedclip-board,copy-and-pasteoperationsonthePCdonotneedtobeinterceptedormodiedinanyway.ThePilotclipboard onlysupportscopyingandpastingtext,sothesynchronizedversionofitissimilarlylimited.APilotcanbeaddedorremovedfromthePC'sclipboardgroupsimplybyconnectingordisconnectingitfromthePC.EverycopyorpasteoperationonthePilottriggersanattempttocontactthePC.IfthePCisconnectedandresponding,thenthePCclipboardisusedfortheoperation.IfthePCdoesnotrespondwithinabrief,unnoticeabletimeout,thenthePilotassumesitisdisconnectedandusesitsownclipboardinstead.WhenacopyorpastesuccessfullycontactsthePC,abeepinformstheuserthataremotetransferhasoccurred.OurPilotsynchronizedclipboard,releasedtothepublicun-derthenameRemoteClipHack,isoneofafamilyofap-plicationsdevelopedbythePebblesproject[2].AlongwiththeotherPebblesapplications,RemoteClipHackhasbeendownloadedover12,000timesinrecentmonthsandhasgen-eratedstrongpositivefeedbackfromusers.SYNCHRONIZINGCLIPBOARDSACROSSANETWORKBasedonourfavorableexperiencewithsynchronizedclip-boardsonthePilot,webuiltRemoteClip,aprototypesystemforsynchronizingclipboardsacrossthenetwork.UnlikethePilotsystem,whichusesaclient-serverarchitecturecenteredonthePC'sclipboard,RemoteClipispeer-to-peer.Thesyn-chronizedclipboardisownedbythemachinewherethemostrecentcopyoperationoccurred.WritteninJava1.1andderivedfromtheAcme.Servewebserver[3],RemoteClipusesanHTTP-basedprotocoltocommunicatewithitspeersacrossthenetwork.Intheprototype,aclipboardgroupisconguredmanuallybyrunningRemoteCliponeveryma-chineinthegroupandspecifyingtheothermachinesinthegroupascommand-linearguments.SincetheJavaAPIdoesnotprovidesufcientclipboardsupporttoimplementsynchronization,weusenativecode(throughtheJavaNativeInterface)toaccessthesystemclip-boarddirectly.TheprototypedoesthisonlyonWindows,butsimilartechniquesarepossibleonUnixandMacintosh.OnWindows,RemoteClipregistersitselfasaclipboardviewerinordertobenotiedwhentheWindowsclipboardchanges.WhenacopyoperationputsdataontheWindowsclipboard,RemoteClipsendsHTTPrequeststotheothermembersofitsclipboardgrouptotakeownershipofthesyn-chronizedclipboard.OthergroupmembersrespondtothisrequestbytakingovertheirownWindowsclipboards(with-outspecifyingclipboardcontentsyeti.e.,dataisnotactu-allytransferreduntilneededtosatisfyapaste).Thesynchro-nizedclipboardownercanmodifyitsclipboardrepeatedlywithoutnetworktrafc,soasequenceoflocalcopiesandpastes(thecommoncase)proceedsatfullspeed.Onotherplatforms,RemoteClipisnotnotiedofcopiesorpastesinotherapplications,sowerequiretheusertosimu-latetheseeventsusingCopyandPastebuttonsintheRemoteClipwindow.Copyacquiresownershipofthesynchronizedclipboard(copyingthelocalclipboardtoit),andPastepastesthesynchronizedclipboardtothelocalclipboard.Inadditiontotext,RemoteClipcantransferlesanddi-rectories,packingthemintoaZIParchivethatisunpackedautomaticallybythereceiver.NativeWindowscodesup-portscopyingandpastinglesdirectlyintheWindowslebrowser.Theplatform-independentcodeusesale-selectiondialogboxtochoosethelestocopy.Anumberofdesirablefeaturesarenotyetsupportedbytheprototype,includingsecurity,richerdataformats(likepic-tures),dynamically-conguredclipboardgroups,androbustsynchronization(guaranteeingexactlyoneclipboardowneratatime).Theseproblemshaveoff-the-shelfsolutions.RELATEDWORKPick-and-drop[4]enablesdatatransferbetweenpen-basedcomputersbypickingupanitemfromonecomputerwithapenanddroppingitonanother.Pick-and-droprequiresspecializedhardware,whereassynchronizedclipboardsworkwithawiderangeofexistinghardwareandsoftwaresystems.Severalprogramsexportclipboarddataacrossthenetwork,suchastheClipBookViewerincludedinWindows,butnoneprovideseamlesssynchronizationofclipboardsacrossthenetwork.CONCLUSIONSynchronizedclipboardsextendthecopy-and-pastemodel,alreadyfamiliartousersfordatatransferbetweenapplica-tions,toallowseamlessdatatransferbetweencomputers.WehavedescribedasynchronizedclipboardimplementationthattransfersdataamongPalmPilots,WindowsPCs,andanyJava-capableplatforms.ACKNOWLEDGMENTSWearegratefultoEdwardKeyes(forHackmaster),JefPos-kanzer(forAcme.Serve),BenBostwickandCarlEvankovich(forPebbles),andEricTilton,AndrewFaulring,andLauraCassenti(forhelpfuldiscussions).REFERENCES1.DaggerwareInc.Hackmaster.www.daggerware.com2.Myers,B.A.,Miller,R.C.,Bostwick,B.,andEvankovich,C.HighlyCustomizableInputandOut-putDevices:UsingaPDAtoExtendtheDesktopUserInterface.SubmittedforpublicationtoUIST'99.www.cs.cmu.edu/pebbles/3.Poskanzer,J.Acme.Serve.www.acme.com4.Rekimoto,J.Pick-and-Drop:ADirectManipulationTechniqueforMultipleComputerEnvironments.Pro-ceedingsUIST'97,pp.31-39.