throbber
12 United States Patent
`Mattby et at
`
`10 Patent No
`45 Date of Patent
`
`Us 6202100 B1
`Mar 13 2001
`
`54 OBJECT LINKING AND EMBEDDING OVER
`COMPUTER NETWORK
`
`75 Inventors
`
`John Maltby Emsworth Simon
`Phipps Southampton Vince Singleton
`Northants all of GB
`
`73 Assignee
`
`International Business Machines
`
`Corporation Armonk NY US
`
`Notice
`
`Subject
`
`the term of this
`to any disclaimer
`is extended or adjusted under 35
`patent
`U.S.C 154b by
`
`days
`
`21 Appl No 08/395548
`22 Filed
`Feb 28 1995
`30
`Foreign Application Priority Data
`Mar 23 1994 GB
`
`9405757
`
`GO6F 9/00
`
`709/329
`
`Brockschmidt Kraig Introducing OlE 2.0 Part Windows
`and
`Microsoft Systems
`the Component
`Objects
`159 Aug 1993
`Journal v8 n8
`no author given Microsoft mulls 0MG compliance
`Cairo PC Week vlO n42 31 Oct 1993
`
`for
`
`Orfali Robert Dan Harkey Client/Server Survival Guide
`with OS/2 Van Nostrand Reinhold pp 745753 1994
`
`HiJaak 1.0 Windows Magazine 1992
`Powell James
`310 Dec 1992
`
`311
`
`Microsoft Visual
`Ch 18 Ole Support
`
`Programmers Guides 1993 pp 273
`
`Welch Kevin
`Inter Program Communications Using
`Windows Dynamic Data Exchange Microsoft Systems
`Journal Nov 1987
`
`cited by examiner
`
`51 Int Cl.7
`
`52 U.S Cl
`
`58 Field of Search
`
`700
`395/650
`310332
`
`709/329
`
`Primary ExaminerSt John Courtenay III
`74 Attorney Agen4 or FirmJeanine
`
`Ray-Yarletts
`
`56
`
`References Cited
`
`U.S PATENT DOCUMENTS
`
`5408470
`5446896
`5452299
`
`Rothrock
`
`et
`
`4/1995
`8/1995 Hegarty et
`Thessin
`
`9/1995
`
`et
`
`0380211
`0474339
`
`FOREIGN PATENT DOCUMENTS
`1/1989 EP
`11/1992 EP
`OTHER PUBLICATIONS
`
`370/261
`
`707/1
`
`370/260
`
`GO6F/9/46
`
`GO6F/9/44
`
`no author
`Linking
`given Object
`Microsoft Corp pp 145 Nov
`1991
`Uncertain Future Whats the Next
`William Semich
`267
`Step After Client/Server Datamation v40 n6
`Mar 1994
`
`Embedding
`
`57
`
`ABSTRACT
`
`submits material from an application
`user at computer
`APPN onto the clipboard at
`routine CLIP
`that machine
`SEND part of conferencing
`software P2P-A at computer
`formats for the material on the
`
`list of available
`
`obtains
`
`clipboard
`
`and
`
`transmits this
`
`list
`
`to
`
`second machine
`
`This list
`
`and
`
`is received by conferencing
`software
`computer
`routine CLIP RECEIVE part of
`P2P-B at computer
`P2P-B submits the list
`to the clipboard at that machine The
`can then embed an object originally from
`user at machine
`APPN by OLE pasting into an application
`APPN
`in the normal manner
`
`at computer
`
`10 Claims Drawing Sheets
`
`CLIP SEND BECOMES VIEWER OF CLIPBOARD
`LIIIPBoARDvIwER2IIIIIIIIIIIIJ
`
`SUBMITS MATERIAL TO CLIPBOARD
`APPN
`jSETCLIPBOARDDATA
`
`riiiBOARD SENDS NOTIFICATION TO CLIP
`jDRAWCLIPBOARD
`
`RiiiiEND OBTAINS LIST OF FORMATS ON CLIPBOARD
`LMcL1PBOARDF0RtMT8
`
`LI1P SEND SENDS LIST OF FORMATS TO CLIP
`
`CLIP RECEIVE BECOMES bWNER OF CLIPBOARD
`SETCLIPBOARDOWNER
`
`CLIP RECEIVE SUBMITS DATA TO CLIPBOARD
`SETCLIPBOARDDA1AI
`
`310
`
`320
`
`330
`
`340
`
`350
`
`360
`
`370
`
`Petitioner IBM – Ex. 1072, p. 1
`
`

`
`U.S Patent
`
`Mar 13 2001
`
`Sheet
`
`of
`
`US 6202100 B1
`
`FIG
`
`22
`
`12
`
`24
`
`26
`
`30
`
`/4
`
`NETWORK
`
`FIG
`
`COMMS
`
`CLIP
`RECEIVE
`
`___
`
`P2P-B
`
`CLIP
`SEND
`
`P2P-A
`
`APPNA
`
`CLIPBOARD
`
`APPN
`
`CLIPBOARD
`
`Petitioner IBM – Ex. 1072, p. 2
`
`

`
`U.S Patent
`
`Mar 13 2001
`
`Sheet
`
`of
`
`US 6202100 B1
`
`FIG
`
`CLIP SEND BECOMES VIEWER OF CLIPBOARD
`SETCLIPBOARDVIEWER
`
`SUBMITS MATERIAL TO CLIPBOARD
`APPN
`SETCLIPBOARDDATA
`
`SENDS NOTIFICATION TO CLIP SEND
`CLIPBOARD
`WM_DRAWCLIPBOARD
`
`CLIP SEND OBTAINS LIST OF FORMATS ON CLIPBOARD1
`ENUMCLIPBOARDFORMATS
`
`CLIP SEND SENDS LIST OF FORMATS TO CLIP
`
`CLIP RECEIVE BECOMES OWNER OF CLIPBOARD
`SETCLIPBOARDOWNER
`
`CLIP RECEIVE SUBMITS DATA TO CLIPBOARD
`SETCLIPBOARDDATA
`
`310
`
`320
`
`330
`
`340
`
`350
`
`360
`
`370
`
`Petitioner IBM – Ex. 1072, p. 3
`
`

`
`U.S Patent
`
`Mar 13 2001
`
`Sheet
`
`of
`
`US 6202100 B1
`
`FIG
`
`SELECTS FORMAT
`USER AT
`GETCLIPBOARDDATA
`
`ASKS CLIP RECEIVE FOR FORMAf1
`CLIPBOARD
`WM_RENDERFORMAT
`
`410
`
`420
`
`CLIP RECEIVE SEND MESSAGE TO CLIP SEND
`
`430
`
`SEND REQUESTS DATA FROM CLIPBOARD
`GETCLIPBOARDDATA
`
`440
`
`CLIP SEND RECEIVES DATA FROM CLIPBOARD z--
`
`CLIP SEND FORWARDS DATA TO CLIP RECEIVE
`
`460
`
`CLIP RECEIVE PASSES DATA TO CLIPBOARD
`SETCLIPBOARDDATA
`
`APPN
`
`RECEIVES DATA FROM CLIPBOARD
`
`470
`
`480
`
`Petitioner IBM – Ex. 1072, p. 4
`
`

`
`US 6202100 B1
`
`OBJECT LINKING AND EMBEDDING OVER
`COMPUTER NETWORK
`
`at
`
`first
`
`second
`
`then
`
`the available
`
`asked
`formats The
`to select one of
`being
`application may decide automatically which format to take
`particular format or it may
`perhaps it can only accept
`pass this choice on to the user typically the most preferred
`format
`client application would be
`the
`by
`
`recognised
`
`accepted
`An application
`can request via an operating system call
`to become the owner or viewer of the clipboard Becoming
`the owner
`is necessary for delayed rendering for the appli
`cation to receive notification whenever
`text/data is requested
`viewer of
`from the clipboard Becoming
`
`the clipboard
`
`10
`
`notification whenever
`
`is
`
`results
`
`if
`
`25
`
`in the application
`receiving
`another application writes something to the clipboard
`The clipboard is well-suited to one-off transfers How
`particular piece of data in the first
`ever
`application
`updated regularly and each of these updates is to be copied
`across to the second application then repeated use of the
`and awkward This problem is
`clipboard becomes tedious
`20 addressed by the provision in OS/2 and Windows
`of an
`function termed dynamic data exchange DDE
`additional
`In DDE link is set up to copy data from first application
`the client As the name
`second application
`the server to
`implies the link is dynamic in that
`for as long the link is
`maintained modifications to the selected entry in the server
`are automatically copied to the client applica
`application
`tion In other words the client contains
`shadow or mirror
`
`is
`
`30
`
`of the data in the server
`can initiate DDE by
`in OS/2 or Windows
`An application
`one of two methods In the first which in practice is hardly
`broadcasts an INITIATE message
`ever used an application
`on the node The message
`to other applications
`executing
`following information Application Name
`text string using zeroes as delim
`Topic Item in an ASCII
`iters The first of these is used to identify the originating
`
`contains
`
`the
`
`application the topic is then used to specify some particular
`
`application
`
`at
`
`necessary
`
`application
`
`surrender
`
`to
`
`reference
`
`to
`
`first
`
`Related applications Background
`information useful for
`invention may be found in
`of the present
`an understanding
`U.S patent application Ser Nos 08/149487
`and 08/203067
`1993 and Feb 28 1994 respectively
`filed on Nov
`in the
`name of IBM Corporation which are incorporated
`herein by
`are filed with this
`reference Copies of these two applications
`application
`invention relates to method of providing
`The present
`embedding OLE over
`linking and
`computer
`object
`network in which an object
`from first application
`in the network
`into
`computer
`is incorporated
`second computer
`in the network
`running multi-tasking operating
`personal computer
`system such as OS/2 or Windows1
`can support more than
`is sometimes
`one application
`running simultaneously It
`data from one
`for
`to be able to copy
`user
`to another for example to copy numbers from
`report being prepared on wordprocessor
`into
`spreadsheet
`One way of performing this transfer
`is to write the data from
`file on the hard disk and
`the first
`into
`application
`into the second application This is simple
`retrieve the file
`but relatively cumbersome
`OS/2 is
`trademark of International Business Machines Corporation and
`Windows is
`trademark of Microsoft Corporation
`The OS/2 and Windows operating systems provide more
`facility known as the clipboard for perform
`sophisticated
`ing such an operation Applications copy
`data onto the
`piece of memory which they then
`clipboard effectively
`to the operating system Another application
`can
`system to find out what
`then interrogate
`the operating
`available on the clipboard and if desired take
`copy of the
`data from the clipboard Normally an application will write
`the data into the clipboard in several different formats and
`then specify in which of these
`the receiving
`application will
`data formats it would like to receive the data There are
`several standard formats which are available
`for all appli
`to use The clipboard can be used for exchanging
`cations
`text images and so on
`One slight complication is that
`the clipboard supports
`delayed rendering In this case the data itself
`the clipboard for
`format
`particular
`the data The data itself
`by the
`is supplied
`only when that particular format is
`originating application
`requested by another application
`to use
`is possible
`delayed rendering for some all or none of the formats for
`any particular piece of data posted to the clipboard
`typical situation in which
`user might employ the
`clipboard function would be to copy
`from
`portion of text
`one document
`to another The user generally with
`mouse
`and cursor would first
`identify the text to be copied from the
`server application and then select
`the appropriate
`menu option to place this text
`in the clipboard The appli
`cation would then pass the text to the operating
`system in
`variety of formatsfor example as
`bit map
`text
`file as
`as metafile as miniature document complete with format
`information and so on The operating system specifies
`of common predetermined formats but
`is also possible for
`to use its own particular or private format
`the application
`The formats are normally listed in order of preference the
`that which
`most preferred format being
`preserves most
`information from the server about appearance etc eg ASCII
`text might be the least preferred format since it contains no
`formatting information at all The user
`in another client
`can then request
`that
`the text/data
`is retrieved
`application
`from the clipboard Such
`request results in the application
`
`is not supplied
`rather only
`
`It
`
`list
`
`it
`
`the item indicates
`
`position
`
`the
`
`facto
`
`in the
`
`first
`
`private
`
`representative
`
`data file or whatever whilst
`within the data file For example
`spreadsheet program
`40 would give the spreadsheet name as the topic
`and perhaps
`use R1C1 as the item to identify the data cell
`in the first
`column Applications receiving
`row and
`message that wish to participate in DDE with the originating
`and DDE conversation
`can then
`node respond positively
`45 be set up
`The second method which has become
`the
`de
`standard is to initiate DDE via the clipboard When
`piece
`of data is copied to the clipboard one of the formats used is
`of DDE under Microsoft
`format
`50 Windows conventionally this private format is Link The
`data stored with this private format is in fact the Application
`Topic and Item parameters described above When the user
`this data into the second client application this
`retrieves
`as providing DDE When this
`format is indicated
`the client application
`responds requesting
`55 option is selected
`the start of DDE This response is actually performed by
`and topic
`message including the application
`broadcasting
`which is recognised by the originating server leading to the
`the DDE conversation Note that
`commencement
`of
`the
`occurs between two windows
`one
`actually
`and one belonging to the client
`belonging to the server
`These are accessed by identifiers known as window handles
`DDE connection between
`The user can therefore initiate
`and the client At the start of this DDE
`the server application
`65 conversation the server and client negotiate regarding the
`data format to use for data transfer between them Obviously
`for DDE to work the client and server must be compatible
`
`private
`
`60 conversation
`
`Petitioner IBM – Ex. 1072, p. 5
`
`

`
`that
`instead of
`tions except
`map text string or whatever
`the data is transferred
`In OLE
`selected piece of data an object
`object
`is cut
`from first application
`the source or server and added to
`the clipboard in normal fashion Private formats are used to
`that Object Linking and/or Object Embedding are
`available OLE actually
`represents two separate facilities
`the data associated with these formats specifies the server
`application name and topic and item in the same format used
`for DDE In Object Embedding the data is also added to the
`so-called native format which contains all
`clipboard in
`the information needed to allow the source application
`to
`the data If either OLE format is selected
`process
`from second application
`the client or target the object
`pasted into the second application At this stage the pasted
`normal clipboard transfer had been
`material
`is visible as if
`performed this is achieved by also copying another suitable
`format
`from the clipboard to allow display of
`the data
`typically this is the format that would have been adopted
`had OLE not been invoked However
`that has
`the object
`been incorporated
`contains extra
`into the target application
`information over and above the bit map text or whatever
`it also contains the
`the appearance of the object
`representing
`name at least of the original source application plus for
`native format including all the original
`Object Embedding
`information held by the server application
`control
`about
`that
`object The object
`to identify and be further processed by the server applica
`tion In Microsoft Windows
`double
`
`it
`
`application
`
`clicking on the object
`to launch the server application
`
`as seen
`
`to existing applications
`method of provid
`Accordingly the invention provides
`linking and embedding OLE over
`computer
`ing object
`35 network in which an object generated by
`first application
`in the network may be incorporated
`first computer
`second application
`second computer
`in the network
`said first and second computers
`each running
`stand-alone
`clipboard the method com
`system supporting
`operating
`40 prising the steps of
`notification that
`
`receiving
`
`mitted material
`
`obtaining
`
`material
`
`application
`to the clipboard on the first
`computer
`list of available
`formats for said submitted
`
`the first
`
`has sub
`and
`
`US 6202100 B1
`
`format
`that
`the private
`the client recognises
`to the extent
`placed on the clipboard by the server as an invitation to DDE
`least one data format in common
`and they support at
`Another approach to the transfer of data between appli
`is provided in Microsoft Windows
`and
`is termed
`cations
`Object Linking and Embedding OLE OLE is somewhat
`between applica
`standard clipboard transfer
`transferring the data as
`
`similar to
`
`bit
`
`indicate
`
`further
`
`as an
`
`is
`
`therefore contains sufficient information
`
`Further information about OLE under Microsoft Windows
`can be found in Object linking and Embedding Program
`mers Reference Version
`Microsoft Press 1992
`To date OLE has essentially been directed at transferring
`data between
`two applications
`both running on
`single
`machine although some commercially available products do
`limited ability to perform OLE across
`have
`network For
`example the Microsoft Windows
`for Workgroups
`product
`supports OLE across two or more machines however
`the
`Windows
`for Workgroups
`system is specifically
`operating
`network
`be
`can
`for use over
`In
`sense
`single system distributed over multiple hard
`regarded as
`ware systems which must be connected together by
`local
`area network LAN Only systems running Windows
`can use this network OLE there is no mecha
`is Workgroups
`nism for supporting OLE between machines with other
`operating systems
`Another product ProShare from Intel Corporation also
`limited form of OLE over
`network This product
`provides
`20 permits sharing of data from one node to another ie material
`at one node is mirrored at
`the
`entered into the application
`other node This product supports OLE so that
`if an object
`at one node it
`is embedded into the application
`likewise
`the other node This facility however
`appears embedded at
`is only useful for providing OLE within this one application
`to provide OLE between
`is not possible
`an arbitrary
`first machine and an arbitrary application
`on
`application
`second machine
`
`10
`
`designed
`
`25
`
`it
`
`it
`
`for
`
`on
`
`be
`Thus
`it will
`seen
`that although
`30 addressed the problem of OLE over
`extent
`it has not provided
`comprehensive
`both flexible and relevant
`
`the prior art has
`network
`
`to
`
`limited
`
`solution that
`
`is
`
`at
`
`into
`
`at
`
`possible by
`is subsequently
`from the
`
`target
`and use it
`
`to
`
`process the object This is effected by the client application
`to the Microsoft Windows
`sending an appropriate
`
`request
`
`If
`
`it
`
`operating system
`An example of the use of OLE would be if
`drawing
`is used to create
`graph ie the object which is
`application
`using OLE into
`processor docu
`word
`then incorporated
`ment
`is subsequently decided to update the graph there
`is no need to repeat
`this
`process ie update the graph in the
`and then copy it across again into the
`drawing application
`word processor document
`rather double clicking on the
`graph in the document
`launches
`the drawing application
`which can then be used to update the graph directly Thus it
`will be seen that OLE unlike the normal clipboard or DDE
`allows pasted material to be updated from within the target
`date DDE by
`application and
`at some arbitrary future
`link between
`two
`contrast
`only operates whilst
`the
`the
`is maintained and even then only allows updat
`applications
`ing from within the server application
`In Object Linking the object contains
`the original
`the relevant data including disk
`file containing
`drive filename etc thus any updates made to the original
`from the client
`as viewed
`are reflected
`in the object
`
`45
`
`50
`
`formats
`the
`corresponding
`transmitting
`Embedding to the second computer
`to Object Embed
`submitting the formats corresponding
`ding to the clipboard at the second computer
`for selection by
`the second application
`formats for Object Embedding
`Once the appropriate
`have been submitted to the clipboard at the second computer
`into the second
`to be incorporated
`is available
`the object
`in the normal manner by selecting OLE from the
`application
`clipboard Subsequently when the object
`invoked
`by
`the second com
`55 double clicking the operating
`system at
`having the same name as
`look for an application
`puter will
`the first application but residing on the second computer
`then be launched to allow the object
`This application will
`be processed as per normal OLE In the present
`invention the
`nature of the OLE is completely transparent
`60 cross-network
`and no special operating
`to the applications
`systems
`
`to Object
`
`is
`
`to
`
`are
`
`reference back to
`
`file
`
`required
`
`application In Object Embedding by contrast effectively
`copy is made of the original data so that
`it does not mirror
`updates to the source data Thus it can be seen that Object
`Linking and Object Embedding although
`differ somewhat
`in the precise details of their operation
`
`closely related
`
`Clearly it
`
`is necessary as described above for the second
`that
`also to possess
`copy of the first application
`computer
`the first computer In practice this will normally be
`65 exists at
`the case in many organisations standard software packages
`because they are
`to all users for example
`are available
`
`Petitioner IBM – Ex. 1072, p. 6
`
`

`
`installed onto
`
`first
`
`US 6202100 B1
`
`at
`
`at
`
`the
`
`the
`
`DDE and to process it accordingly rather
`denoting Object Linking
`Preferably the formats are submitted to the clipboard on
`the second computer
`using delayed rendering and further
`comprising the steps of
`
`than to drop it as
`
`local area network LAN It
`is not at present
`for double clicking in the second application
`supported
`the second computer
`to result in the first application
`remotely launched
`being
`to process
`computer
`object The reason for this is that
`the operating system at the
`second computer
`could not successfully
`resolve the refer
`computer when the
`ence
`on the first
`to the first application
`object was invoked Of course future
`systems
`operating
`may be able to handle such references
`or alternatively an
`could be used to act as
`on the second computer
`application
`an intermediary between the first
`on the first
`application
`system on the second computer
`is not straightforward and
`
`and the operating
`
`computer
`However
`this latter
`suggestion
`to be implemented
`has yet
`To support OLE over
`network it
`is only necessary to
`formats required for OLE to the clip
`submit
`the actual
`board at the second computer In Microsoft Windows appli
`cations the availability of OLE is conventionally signalled
`format named OwnerLink It may be desired to pick
`by
`just this format from the clipboard at the first computer
`out
`plus formats for the native and presentation data and then
`send them to the second computer
`this approach minimises
`transmissions between
`the two
`the
`size of
`However
`preferred embodiment
`available formats for the material submitted to the clipboard
`for submission to the
`is transmitted to the second computer
`the second computer This effectively allows
`clipboard at
`on the first
`and second computers
`to transpar
`single clipboard as described in more detail
`in
`ently share
`the afore-mentioned U.S application Ser No 08/149487
`the whole list
`the
`is preferred that
`is transferred it
`the step of detecting if one of the
`method further includes
`
`in
`
`computers
`the list of all
`the
`
`applications
`
`If
`
`corresponds
`
`Linking In
`to Object
`available
`formats
`is conven
`Microsoft Windows
`such
`format
`applications
`tionally named ObjectLink If such
`format is present it
`the second computer eg
`is not submitted to the clipboard at
`from the list prior
`by removing it
`to transmission to the
`second computer or at
`the second computer before submis
`sion
`to the clipboard Effectively this prevents Object
`the network Again the
`Linking being performed over
`the second
`reason for this is that
`the operating
`system at
`resolve the reference to the
`could not successfully
`computer
`computer when the object was
`original data file on the first
`invoked Of course future operating systems may be able to
`handle such references or alternatively an application on the
`could be used to act as an intermediary
`second computer
`between the first application
`and the
`on the first
`computer
`system on the second computer However
`is not straightforward and has yet
`
`operating
`
`latter
`
`suggestion
`
`implemented
`
`this
`
`to be
`
`applications
`this format
`
`such
`
`format
`
`the
`
`it
`
`check is made to see if one of the available
`Preferably
`to dynamic data exchange DDE In
`formats corresponds
`Microsoft Windows
`is conven
`tionally named Link If
`the data
`is present
`associated with the
`format
`is changed by replacing
`name therein ie denoting
`the first application
`application
`name containing
`with
`an identifier of the first computer
`The replacement name refers to
`on
`substitute application
`the second computer which picks up any DDE requests and
`them back
`refers
`to first
`in the
`as described
`computer
`afore-mentioned U.S application Ser No 08/203067
`Note that
`slight complication to the above is that
`in reality not all Microsoft Windows applica
`appears that
`tions adhere fully to the format naming conventions some
`use ObjectLink to denote DDE link Thus it may be more
`in some cases to regard ObjectLink
`as denoting
`
`effective
`
`from the second appli
`responsive to receiving
`request
`in
`copy of the clipboard material
`particular
`to the first com
`format sending
`corresponding
`puter
`obtaining the requested material from the clipboard at the
`first computer
`from the
`requested material obtained
`transmitting the
`to the second computer
`clipboard on the first
`computer
`and submitting the requested material to the clipboard on
`for passing to the second application
`is the second computer
`The advantage of using delayed rendering is that
`it avoids
`network
`traffic in relation to clipboard formats
`If material is submitted to
`
`request
`
`cation for
`
`10
`
`superfluous
`
`that are never actually
`requested
`the clipboard in the form of
`bit map for example this
`20 saving can be quite significant
`the data associated
`In fact
`with the OLE format per se is simply the string containing
`and item and so the delayed
`name topic
`the application
`rendering for this format does not save much bandwidth
`per
`se Thus it would be quite feasible to send the data associated
`25 with OLE format even if
`it was obtained from the clipboard
`on the first
`the same
`computer
`using delayed rendering at
`time as the format
`and submit both together
`itself
`clipboard on the second computer However
`the presentation
`and native data associated with OLE may well be extensive
`favoring the use of delayed rendering which furthermore
`allows the same approach to be used for OLE as for all
`the
`other clipboard formats including those such as bit map
`and second com
`preferred embodiment both first
`In
`applications which are responsible
`puters run conferencing
`for exchanging messages between
`and
`second
`computer The conferencing
`are also respon
`applications
`and
`interacting via the clipboard with the first
`sible for
`second applications
`
`30
`
`35
`
`to the
`
`the
`
`first
`
`at the first computer obtains the list
`conferencing
`application
`40 of available formats and then the associated data from the
`
`at
`
`their
`
`respective
`
`computers ie the
`
`clipboard at
`
`application
`
`at
`
`available
`
`typical computer
`
`computer whilst
`the first
`the conferencing
`submits the
`second computer
`the
`list of
`formats and then the associated data to the clip
`the second computer
`board at
`detailed description of an embodiment of the invention
`will now be provided by way of example with reference to
`the following drawings
`FIG is
`schematic block diagram of
`workstation
`FIG
`
`45
`
`50
`
`55
`
`is
`
`components
`FIG is
`
`the major software
`simplified diagram of
`running on the workstation of FIG
`flow chart
`illustrating the process for copying
`first machine to the clipboard at
`
`clipboard entry at
`second machine
`FIG is
`of
`illustrating the processing
`flow chart
`the second machine for
`clipboard entry from the
`
`request at
`first machine
`FIG is
`simplified schematic diagram of
`computer
`display screen 12
`system unit 10
`system with
`mouse 16 The system unit 10 includes
`14 and
`60 keyboard
`microprocessor 22 semi-conductor memory ROM/RAM
`26 The
`24 and
`bus over which data is
`transferred
`computer of FIG may be any conventional workstation
`such as an IBM PS/i computer The computer of FIG is
`network adapter card 30 This card together
`65 equipped with
`with accompanying
`software allows messages to be trans
`mitted onto and received
`computer workstation
`by the
`
`Petitioner IBM – Ex. 1072, p. 7
`
`

`
`US 6202100 B1
`
`on two
`of
`the
`
`Various forms of network adapter card are available for use
`ISDN and so
`such as Token Ring Ethernet
`with networks
`on The operation of the network adapter card is well-known
`and so will not be described in detail
`FIG illustrates the main software components
`terminals
`for an understanding
`necessary
`invention Both terminals
`and
`are typically workstations
`as shown in FIG and have clipboards CLIPBOARD
`and CLIPBOARD
`respectively supported by the oper
`system eg Microsoft Windows
`the
`at
`respective
`ating
`terminals The two terminals are connected by
`network
`with
`communications
`software
`link
`appropriate
`COMMS at each
`to provide data communica
`terminal
`Such communi
`and terminal
`tions between terminal
`software interfaces with the network
`cations
`adapter card
`and is again well-known in the art
`software which
`Terminals
`and
`also run conferencing
`for implementing the OLE between the two
`terminals
`This
`software
`conferencing
`as
`is designated
`P2P-A and P2P-B on terminals
`respectively P2P-A
`and
`and P2P-B are simply additional applications
`as far as the
`for present pur
`system is concerned
`operating
`although
`poses they are perhaps most simply regarded as enhance
`ments to the COMMS software P2P-A and P2P-B interact
`with the COMMS software to exchange messages between
`and
`communication pro
`terminals
`using conventional
`tocols The operation of P2P-A and P2P-B is described in
`more detail below An example of commercially available
`is Person to Person2 for
`suitable
`software
`conferencing
`from IBM Corporation which supports confer
`Windows
`variety of com
`ences between two or more people over
`munications links eg LAN ISDN asynchronous
`trademark of International Business Machines Corpo
`
`2Person to Person is
`
`is responsible
`
`ration
`
`and
`
`routine
`
`with an
`
`application
`
`it
`
`is
`
`it
`
`program APPN
`An application
`CLIP SEND part of P2P-A run on terminal
`program APPN
`running on terminal
`CLIP SEND uses the COMMS system to send message to
`to activate another routine CLIP RECEIVE
`terminal
`CLIP SEND makes an oper
`part of P2P-B at terminal
`viewer of CLIPBOARD
`to become
`in
`ating system call
`accordance with conventional
`clipboard manipulation The
`from
`terminal
`selects
`the appropriate material
`user at
`and copies this into CLIPBOARD
`APPN
`in the con
`ventional manner Because the CLIP SEND routine
`viewer of CLIPBOARD
`is notified of any updates to
`CLIPBOARD
`When it
`change to CLIP
`is alerted to
`BOARD
`requests the list of available formats which it
`sends to CLIP RECEIVE CLIP RECEIVE now takes own
`ership of CLIPBOARD
`and inserts the list of
`formats
`ie it passes
`using delayed rendering
`to the
`null pointer
`the bandwidth
`overheads
`system This avoids
`operating
`associated with sending the actual data itself The contents
`of CLIPBOARD
`are thus reproduced on CLIPBOARD
`In the Microsoft Windows
`environment
`the
`operating
`calls for network OLE are as given below and are
`specific
`listed in FIGS
`and
`although it should be noted that
`the
`system CLIP
`invention is not
`limited to this operating
`viewer of CLIPBOARD
`SEND becomes
`using SetClip
`boardViewer step 310 and APPN
`inserts data onto
`CLIPBOARD
`step 320 This
`using SetClipboardData
`notification WM DRAWCLIPBOARD to be sent
`causes
`to CLIP SEND step 330 CLIP SEND interrogates CLIP
`BOARD
`using EnumClipboardFormats step 340 to
`obtain the list of formats in which the data on the clipboard
`to the remote terminal
`is available It passes this list
`using
`software step 350 CLIP RECEIVE
`standard messaging
`then uses the call SetClipboardOwner to become the owner
`of CLIPBOARD
`step 360 The formats are then inserted
`onto CLIPBOARD
`step 370 using the delayed rendering
`option in SetClipboardData and become available for user
`selection
`
`rial
`
`20
`
`30
`
`40
`
`45
`
`65
`
`from
`
`it
`
`It
`
`clipboard formats are now available
`The various
`within APPN
`One of
`these formats is recognised
`by
`to OLE Object Embedding For
`APPN
`as corresponding
`invention we assume that the user
`the purpose of the present
`terminal
`selects Object Embedding the processing
`at
`associated with other possible selections is described in the
`Ser Nos
`afore-mentioned applications U.S application
`and 08/203067
`08/149487
`The processing involved with satisfying the OLE request
`is illustrated in FIG Initially the user selects the clipboard
`to Object Embedding either
`10 entry corresponding
`implicitly
`from
`GetClipboardData call
`or explicitly resulting in
`APPN to CLIPBOARD
`step 410 Since all the formats
`are inserted onto CLIPBOARD
`using delayed rendering
`of transmitting formats which
`to save the bandwidth
`are
`never
`required the operating
`the clipboard
`system passes
`request back to CLIP RECEIVE the origin of the clipboard
`using WMRENDERFORMAT
`step 420 This
`entry
`from CLIP
`is converted
`into
`message sent
`request
`RECEIVE to CLIP SEND step 430 CLIP SEND now
`entry on CLIPBOARD
`the corresponding
`interrogates
`using GetClipboardData step 440 which will produce the
`data string corresponding
`to Application.Topic.Item.
`this
`may be directly available from the clipboard or provided by
`APPN
`using delayed rendering step 450 CLIP SEND
`then sends message containing
`this data string across to
`25 CLIP RECEIVE step 460 Once it
`has
`received
`the
`requested data CLIP RECEIVE passes the data to CLIP
`BOARD
`step 470 thereby satisfying the delayed ren
`dering request and CLIPBOARD
`forwards the data to
`APPN
`step 480
`As explained above in object embedding effectively three
`formats are taken simultaneously from the clipboard cor
`responding to the name of the source application the mate
`presentation format and the data in
`format
`in
`native to the server application Thus the steps of FIG are
`in fact essentially repeated for each of these three formats
`The end result is that the client application
`receives sufficient
`embed the object
`information to allow it
`to successfully
`Once the object has been embedded in APPN
`is no
`that has been embedded from local
`different from an object
`ie one running on the same machine as APPN
`application
`from within APPN
`Thus double clicking on the object
`to the operating system at machine
`and
`will result in call
`to launch an application having the same name at
`an attempt
`APPNA at machine
`there is no such application
`Clearly if
`at machine
`this will
`result in an error but providing that
`is available it will be launched to
`the requisite application
`in accordance with OLE using conven
`the object
`process
`system facilities
`tional operating
`is conceivable
`that
`implementation might be adopted whereby double
`different
`clicking on the object does in fact result in the launch of the
`at the server node perhaps using an intermediary
`application
`system OLE
`on the client node to intercept
`the operating
`messages and forward them to the server node
`under Microsoft Windows
`The convention
`is for Object
`Embedding to be designated on the clipboard by
`private
`format of OwnerLink and
`the associated data is repre
`sented by Applic

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket