an application sharing configuration in which the invention is embodied in hostexecuted application - sharing software ( heas ) 28 is shown in fig2 . application 21 resides in memory 26 on a host 20 having , for example central processing unit ( cpu ) 22 , monitor 23 , mouse 24 , keyboard 25 and printer 29 and is shared with one or more guest computers , such as guest 30 . guest 30 has cpu 32 , monitor 33 , mouse 34 , keyboard 35 and printer 39 . guest 30 also has main memory 36 . each of host 20 and guest 30 include operating systems 27 and 37 , respectively . host 20 and guest 30 also are provided with application sharing software , heas 28 and guest - executed application - sharing software ( geas ) 38 . heas 28 and geas 38 enable host 20 and guest 30 to share application 21 , for example over network coupling 15 . it will be understood by one having ordinary skill that although a single guest and a single shared application are illustrated , conventional application sharing permits the sharing of multiple applications between a host and multiple guests . referring to fig3 an embodiment of the invention , which accurately , automatically and efficiently allows for a determination of correspondence between physical driver objects and the contents of logical driver objects , is further explained below . it will , of course , be apparent that the scope of the invention is not limited to this particular embodiment . using facilities provided in typical operating systems , for example the toolhelp library distributed with &# 34 ; microsoft &# 34 ; &# 34 ; windows &# 34 ; operating systems , or by some other means apparent to those skilled in the art , the invention finds each of the device contexts ( step 41 of fig3 ). a device context , as will be understood by a person having ordinary skill in the art , is a graphics environment such as a screen display or portion of a screen display , a bitmap , etc . each device context typically includes information associated with particular graphics objects , such as a pen and brush , currently &# 34 ; selected &# 34 ; into that device context which can be used for generating graphics in the context . graphics objects are known to be represented in logical and physical form , depending on the environment in which they are being communicated . the information obtainable from a device context typically includes details concerning the logical driver objects currently selected into the context , from which the content of the logical driver objects can be obtained . the invention records information concerning the identity of the device contexts and the logical driver objects currently selected into the device contexts ( step 42 ). the logical driver objects selected into the contexts are replaced with dummy graphics objects ( step 42 ). the dummy graphics objects are objects which need not have any defined meaning or function and are not cared about as actual graphics producing objects . they are used as tools to get &# 34 ; real &# 34 ; logical driver objects out of device contexts . the dummy graphics objects are added to a database of logical driver objects which may include logical driver objects not currently selected into a device context . in &# 34 ; microsoft &# 34 ; &# 34 ; windows &# 34 ; operating systems , such a database is known as a gdi local heap . in the next step , the invention uses the toolhelp library or some similar utility to query allocated memory associated with graphics module 14 , such as the gdi local heap , for an identification of a logical driver object , such as a pen , brush , font or other such graphics object . again using facilities provided in typical operating systems , for example the toolhelp library distributed with &# 34 ; microsoft &# 34 ; &# 34 ; windows &# 34 ; operating systems , or by some other means apparent to those skilled in the art , the handle of the logical driver object is enumerated and identified ( step 43 ). a handle of a logical driver object typically is the representation that an application , such as application 21 , uses to communicate with graphics module 14 about that particular logical driver object . after obtaining a handle for a logical driver object , a preferred embodiment requests , through normal application programming interface ( api ) means , such as through a & lt ; locallock & gt ; call in a &# 34 ; windows &# 34 ; &# 34 ; operating &# 34 ; system environment , to lock the handle and obtain a pointer to the logical driver object ( step 44 ), i . e ., obtain its current memory address . the handle is locked so that the logical driver object is prevented from moving to a different memory location . as discussed above , a physical driver object typically is created by a device driver , such as device driver 16 , the first time an application communicates with graphics module 14 using a particular logical driver object or when the particular logical driver object is selected into a device context . this occurrence provides a good opportunity to recognize correspondence between the contents of the logical driver object , which define the parameters of the graphics object , and the physical driver object subsequently created . the invention , therefore , provides an accurate , repeatable and efficient way to cause device drivers , such as device driver 16 , to recreate physical driver objects . the recreation can be observed to recognize a correspondence between the logical content of the logical driver object used by an application , such as application 21 , and a physical driver object . in an embodiment , the invention does this by creating a clone ( step 45 ) of the contents of the logical driver object identified in step 43 . the invention previously had identified the logical driver object and obtained its handle to identify its location in memory . the invention then duplicates the logical content , for example by making a & lt ; getobject & gt ; call to the api in a &# 34 ; windows &# 34 ; operating system , followed by a call of & lt ; createpen & gt ; ( for duplicating pens ), or & lt ; createbrush & gt ;, ( for duplicating brushes ) etc . the clone is provided a unique identifying handle and address in memory , like the original object from which it was created . the clone , however , never has been presented to graphics module 14 or selected into a context . graphics module 14 therefore never has obtained or caused device driver 16 to create a physical driver object corresponding to the logical contents of the clone . therefore , no physical driver object exists which corresponds to the logical contents of the clone . the invention locks the handle of the clone to obtain the clone &# 39 ; s memory address ( step 46 ). since the memory address of the clone and the memory address of the logical driver object from which the clone was created are now known , the contents of the logical driver object can be and are swapped with the contents of the clone ( step 47 ). the handle to the original logical driver object , which before possibly had been realized , i . e ., a physical driver object had been created and associated with the contents of the logical driver object , now identifies a logical driver object which has not been realized , i . e ., the contents of which have no associated physical driver object . the contents of the clone logical driver object , on the other hand , have a corresponding physical driver object . the invention then deletes the clone ( step 48 ). the deletion of the logical driver clone , the contents of which are associated with a physical driver object , causes operating system 27 to delete the associated physical driver object . steps 43 - 48 are then repeated for each existing logical driver object with the exception of the dummy graphics objects used in step 42 until all logical driver objects have been considered ( step 49 ). of course , if memory space is abundant , there is no need to sequentially repeat steps 43 - 48 for each logical driver object . instead , all logical driver objects can be processed at one time according to steps 43 - 48 . subsequently , the contents of the logical driver objects which had been selected into device contexts are returned to or &# 34 ; reselected &# 34 ; into the device contexts , in place of the dummy logical driver objects ( step 50 ). in an embodiment , the dummy logical driver objects are deleted . in a &# 34 ; microsoft &# 34 ; &# 34 ; windows &# 34 ; operating system environment , the reselection of the contents of the logical drivers into the device contexts causes recreation or &# 34 ; rerealization &# 34 ; of physical driver objects that correspond to the contents of the logical driver objects ( step 51 ). the recreation of the physical driver objects can be observed and recorded to recognize an association between logical driver content and physical driver objects ( step 52 ). as the content of other logical driver objects are &# 34 ; selected &# 34 ; into device contexts ( step 53 ), for example when switching pen color or object type , i . e ., pen to brush , the graphics module causes rerealization of physical driver objects for the content of those logical driver objects ( step 54 ). the invention identifies and records the association of and correspondence between the rerealized physical driver object and the content of the logical driver object ( step 55 ). in another embodiment , the physical driver objects are not rerealized when the contents of a logical driver object are selected into a device context , but when the application actually requests that graphics be generated in the particular contexts , such as when application 21 requires a display update or a print . for example , as the application requests graphics activity in the contexts , the physical driver objects for the logical driver object selected into those contexts are rerealized . moreover , as different graphics objects , i . e ., different logical driver content , are selected into various contexts , physical driver objects are rerealized when those objects are actually used for graphics activity in the context . the relationship between the logical driver contents used in the context and the physical driver object consequently created can be identified and recorded in accordance with the invention . in either embodiment , a separate table in memory can be established for recording an identification of the correspondence between logical driver content and physical driver objects . in another embodiment , the memory space holding a recreated physical driver object can be made larger than the object itself . the extra space preferably is used to store data identifying the correspondence of the physical driver object to the contents of a logical driver object . the invention is particularly useful in application sharing environments , such as the environment illustrated in fig2 . when a participant , such as one of host 20 or guest 30 , causes shared application 21 to modify an image on display monitor 23 of host 20 or print an image using printer 29 , the guest display monitor 33 must be correspondingly updated or an identical image printed by the guest printer 39 . in order to update guest monitor 33 or cause guest 30 to print an identical image on guest printer 39 , geas 38 must communicate with the graphics module of operating system 37 of guest 30 using a logical driver object with similar content as used by shared application 21 on host 20 . the invention , embodied in heas 28 , provides a way for heas 28 to associate the content of the logical driver objects used by shared application 21 with a physical driver object which may already have been created by forcing recreation of the physical driver object and observing the recreation . when graphics activity involving shared application 21 occurs on the host , geas 38 is made aware of the particular content of the logical driver object used during host graphics activity , enabling geas 38 to communicate with a gdi of guest operating system 37 using appropriate logical driver objects , such that guest display monitor 33 can be accurately updated or guest printer 39 accurately controlled to print an image . since many of the steps carried out by the invention preferably occur upon initialization of heas 28 , regardless of whether an application to be shared already is running , and regardless of whether some or all physical driver objects already have been created or realized , the invention allows application sharing software to be activated after the application being shared without any adverse affects on the accuracy of graphics objects communicated to the guest . application sharing also can be accurately ported to different operating systems and will be less affected by revisions to current operating systems , since graphics objects communications no longer are dependent on a programmers knowledge of a unique graphics module associated with a particular operating system or operating system revision . the present invention can be embodied in the form of computer - implemented processes and apparatuses for practicing those processes . the present invention also can be embodied in the form of computer program code embodied in tangible media , such as floppy diskettes , cd - roms , hard drives , or any other computer - readable storage medium , wherein , when the computer program code is loaded into and executed by a computer , the computer becomes an apparatus for practicing the invention . the present invention can also be embodied in the form of computer program code , for example , whether stored in a storage medium , loaded into and / or executed by a computer , or transmitted over some transmission medium , such as over electrical wiring or cabling , through fiber optics , or via electromagnetic radiation , wherein , when the computer program code is loaded into and executed by a computer , the computer becomes an apparatus for practicing the invention . when implemented on a general - purpose microprocessor , the computer program code segments configure the microprocessor to create specific logic circuits . it should be understood that various changes in the details , materials , and arrangements of the parts which have been described and illustrated in order to explain the nature of this invention may be made by those skilled in the art without departing from the principle and scope of the invention as expressed in the following claims . it should also be understood that the term &# 34 ; graphics &# 34 ; as used herein includes text .