`Brown et al.
`
`I lllll llllllll Ill lllll lllll lllll lllll lllll 111111111111111111111111111111111
`US006516236Bl
`US 6,516,236 Bl
`Feb.4,2003
`
`(10) Patent No.:
`(45) Date of Patent:
`
`(54) MOTION CONTROL SYSTEMS
`
`FOREIGN PATENT DOCUMENTS
`
`(75)
`
`Inventors: David W. Brown; Jay S. Clark, both
`of Bingen, WA (US)
`
`(73) Assignee: Roy-G-Biv Corporation, Bingen, WA
`(US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 10/021,669
`
`(22) Filed:
`
`Dec. 10, 2001
`
`(63)
`
`(51)
`(52)
`(58)
`
`(56)
`
`Related U.S. Application Data
`
`Continuation of application No. 09/191,981, filed on Nov.
`13, 1998, which is a continuation of application No. 08/656,
`421, filed on May 30, 1996, now Pat. No. 5,867,385, which
`is a continuation-in-part of application No. 08/454,736, filed
`on May 30, 1995, now Pat. No. 5,691,897.
`Int. Cl.7 ................................................ GOSB 19/18
`U.S. Cl. ............................................ 700/56; 700/87
`Field of Search ................................ 700/56, 1, 87,
`700/67; 703/25
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,159,417 A
`4,418,381 A
`4,531,182 A
`4,713,808 A
`4,767,334 A
`4,809,335 A
`4,840,602 A
`4,846,693 A
`4,855,725 A
`4,857,030 A
`4,887,966 A
`4,897,835 A
`4,937,737 A
`5,095,445 A
`5,120,065 A
`
`6/1979 Rubincam ................... 235/375
`11/1983 Molusis et al. . ... ... ... ... ... 700/2
`7/1985 Hyatt ............................ 700/2
`12/1987 Gaskill ....................... 370/314
`8/1988 Thorne et al.
`................ 434/29
`2/1989 Rumsy ....................... 704/266
`6/1989 Rose .......................... 446/175
`7 /1989 Baer .......................... 434/308
`8/1989 Fernandez .................. 345/173
`8/1989 Rose .......................... 446/303
`12/1989 Gellerman . ... ... ... ... ... .. . 463/38
`1/1990 Gaskill ....................... 370/314
`6/1990 Schwane et al. ............ 709/310
`3/1992 Sekiguchi ................... 709/246
`6/1992 Driscoll et al. ............. 273/237
`(List continued on next page.)
`
`EP
`EP
`EP
`EP
`EP
`GB
`JP
`WO
`WO
`WO
`
`8/1991
`0442676 A2
`8/1992
`0 281 427 Bl
`10/1992
`0508912 Al
`2/1994
`0 583 908 A2
`7/1998
`0275826 Al
`12/1991
`2 224 896 A
`6/1983
`59 228473
`7/1992
`WO 92/11731
`4/1993
`WO 93/08654
`3/1995
`WO 95/07504
`OTHER PUBLICATIONS
`Wosa Backgrounder: Delivering Enterprise Services to the
`Windows-based Desktop, Jul. 1993, Microsoft Develop(cid:173)
`ment Library; pp. 1-19.
`(List continued on next page.)
`Primary Examiner-Leo Picard
`Assistant Examiner-Zoila Cabrera
`(74) Attorney, Agent, or Firm-Michael R. Schacht
`ABSTRACT
`(57)
`
`A system for motion control in which an application is
`developed that is independent from the actual motion control
`hardware used to implement the system. The system com(cid:173)
`prises a software system that employs an application pro(cid:173)
`gramming interface comprising component functions and a
`service provider interface comprising driver functions. A
`system programmer writes an application that calls the
`component functions. Code associated with the component
`functions relates these functions to the driver functions. A
`hardware designer writes driver code that implements the
`driver functions on a given motion control hardware prod(cid:173)
`uct. The driver functions are separated into core and
`extended driver functions. All software drivers implement
`the core driver functions, while the software drivers need not
`contain code for implementing the extended driver func(cid:173)
`tions. If the software driver does not contain code to
`implement an extended driver function, the functionality of
`the extended driver function is obtained through a combi(cid:173)
`nation of core driver functions. The system programmer may
`also select one or more streams that allow the control
`commands to be communicated to, and response data to be
`communicated from, motion control hardware.
`
`10 Claims, 64 Drawing Sheets
`
`Object lnteractio11-Nlap
`
`Page 1 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`US 6,516,236 Bl
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`5,126,932 A
`5,168,441 A
`5,175,817 A
`5,245,703 A
`5,247,650 A
`5,377,258 A
`5,390,330 A
`5,392,207 A *
`5,402,518 A
`5,412,757 A *
`5,450,079 A
`5,453,933 A
`5,465,215 A
`5,491,813 A
`5,493,281 A
`5,596,994 A
`5,604,843 A
`5,607,336 A
`5,608,894 A
`5,617,528 A
`5,636,994 A
`5,652,866 A
`5,655,945 A
`5,666,161 A
`5,670,992 A
`5,707,289 A
`5,733,131 A
`5,737,523 A
`5,746,602 A
`5,752,880 A
`5,764,155 A
`5,790,178 A
`5,800,268 A
`5,801,946 A
`5,846,132 A
`5,867,385 A *
`5,907,704 A *
`5,914,876 A *
`
`6/1992
`* 12/1992
`12/1992
`9/1993
`9/1993
`12/1994
`2/1995
`2/1995
`3/1995
`5/1995
`9/1995
`9/1995
`* 11/1995
`2/1996
`2/1996
`1/1997
`2/1997
`3/1997
`3/1997
`4/1997
`6/1997
`7/1997
`8/1997
`9/1997
`9/1997
`1/1998
`3/1998
`4/1998
`5/1998
`5/1998
`6/1998
`8/1998
`9/1998
`9/1998
`12/1998
`2/1999
`5/1999
`6/1999
`
`Wolfson et al. ............. 709/202
`Onarheim et al.
`. . . . . . . . . . . . 700/17
`Adams et al.
`.............. 709/236
`Hubert ....................... 710/105
`Judd et al. .................... 703/20
`Bro ... ... ... ... .. ... ... ... 379/106.02
`Talati ......................... 717 /104
`Wilson et al.
`. . . . . . . . . . . . . . . . 700/64
`Lowery ...................... 704/201
`Endo . ... ... ... .. ... ... ... ... .. . 706/52
`Dunaway ..................... 341/23
`Wright et al. ............... 700/181
`Strickland et al. .......... 700/180
`Bondy et al. ............... 709/323
`Owens .................. 340/825.24
`Bro ............................ 600/545
`Shaw et al. .................. 358/1.1
`Lehensfeld et al. ......... 446/297
`Kawakami et al.
`......... 717/162
`Stechmann et al. ......... 707/517
`Tong .......................... 434/308
`Aldred et al. ................. 703/23
`Jani ........................... 446/175
`Kohiyama et al. ..... 375/240.18
`Yasuhara et al.
`........... 345/173
`Watanabe et al. ............. 463/40
`Park ....................... 434/307 R
`Callaghan et al. .......... 713/201
`Kikinis ....................... 434/169
`Gabai et al. .. .. ... ... ... ... ... 463/1
`Kertesz et al. .............. 700/295
`Shibata et al. .. ... ... ... 348/14.07
`Molnick .. ... .. ... ... ... ... .. . 463/40
`Nissen et al. ................. 700/95
`Junkin .. ... ... .. ... ... ... ... .. . 463/42
`Brown et al. ................. 700/56
`Gudmundson et al.
`........ 717/1
`Hirai . . . . . . . . . . . . . . . . . . . . . . . . . . . 700/87
`
`OIBER PUBLICATIONS
`
`Wosa Inside Windows 95; pp. 348-351.
`Software Products for Industrial Automation, I CONICS; 6
`pages.
`Web 3.0 Product Brochure, Trihedral Engineering Ltd.
`(1994); 6 pages.
`The Complete, Computer-Based Automation Tool (IGSS)
`Seven Technologies NS; 6 pages.
`Oregon Micro Systems Product Guide: pp. 1-20.
`Aimax-Win Product Brochure, TA Engineering Co., Inc.; 8
`pages.
`Xanalog Model NL-SIM Product Brochure, Xanalog, 4
`pages.
`ExperTune PID Tuning Software, Gerry Engineering Soft(cid:173)
`ware; 6 pages.
`PMAC Product Catalog, p. 43.
`Paragon TNT Product Brochure, Intec Controls Corp.; 6
`pages.
`Aerotech Motion Control Product Guide; pp. 233-234.
`OpenBatch Product Brief, PID, Inc.; 6 pages.
`PC/DSP-Series Motion Controller C Programming Guide;
`pp. 1-54.
`FIX Product Brochure, Intellution (1994); 6 pages.
`Precision Motion Controls Product Guide; p. 17.
`Compumotor Digiplan (1993-94) Catalog pp. 10--11.
`
`Sue Chen, Jonathon Lin; "Computer Numerical Control:
`Essentials in Programming and Networking"; Part 5, Chap(cid:173)
`ter 27; pp. 824--848.
`
`Pritschow et al.; "Open System Controllers: Challenge for
`the Future of the Machine Tool Industry"; pub. Jan. 15,
`1993; pp. 449-452.
`
`William E. Ford; "What Is an Open Architecture Robot
`Controller"pub. Aug. 16, 1994; pp. 27-32.
`
`Chu and Wang; "Development of a Practical SFC System for
`CNC Machine Shop"; pub. 1994; pp. 362-367.
`
`Microsoft; "The Microsoft Object Technology Strategy";
`pub. Mar. 1994; pp. 1-33.
`
`Microsoft; "Open Systems: Technology, Leadership, and
`Collaboration"; pub. Mar. 1994; pp. 1-15.
`
`Microsoft; Microsoft OLE Today and Tomorrow: Technol(cid:173)
`ogy Overview; pub. Dec. 1993; pp. 1-9.
`
`Microsoft; "Object Linking and Embedding 2.0 Back(cid:173)
`grounder"; pub. Sep. 1993; pp. 1-15.
`
`Robert Anderson; "SMART: A Modular Architecture for
`Robotics and Teleoperation"; pub. 1993; pp. 416-421.
`
`Proctor et al.; "Validation of Standard Interfaces from a
`Machine Control"; pub. 1996; pp. 659-664.
`
`Altintas et al.; "Design and Analysis of a Modular CNC
`System"; pub. Mar. 4, 1990; pp. 305-316.
`
`Wright et al.; "Open Architecture Manufacturing: The
`Impact of Open-System Computers on Self-sustaining
`Machinery and the Machine Tool Industry"; pp. 41-47.
`
`Fedrowitz; IRL-Based Expansion of the Commonly Used
`High-Level Language C for Robot Programming: pub. Oct.
`1995; 5 pages.
`
`McGraw et al.; "A Friendly Command, Control, and Infor(cid:173)
`mation System for Astronomy"; pub. 1996; pp. 356-367.
`
`Jackman; "Robotic Control Using Sequential Function
`Charts"; pub. 1996; pp. 120-128.
`
`Sperling et al.; "Enabling Open Control Systems: An Intro(cid:173)
`duction to the OSACA System Platform"; pub. May 1996;
`pp. 1-8.
`
`"Requirements of Open Modular Architecture Controllers
`for Applications in the Automotive Industry"; pub. Dec. 13,
`1994; pp. 1-13.
`
`Open, Modular Architecture Controls at GM Powertrain;
`pub. May 14, 1996; pp. 1-33.
`
`"Technologies Enabling Agile Manufacturing (TEAM)
`Intelligent Closed Loop Processing"; pub. Jan. 11, 1996; 30
`pages.
`
`* cited by examiner
`
`Page 2 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 1 of 64
`
`US 6,516,236 Bl
`
`FIG. IA
`10"'\
`12\ \
`
`24
`
`26
`
`r~---------
`
`-:-i
`
`EXCEL APPLICATION
`I
`I VISUAL BASIC APP
`: C++APPUCATION
`I
`I
`I
`l _____________ J
`
`m
`0
`LL
`- - - - - -<
`----------\~
`0
`0::
`
`LL ' f2
`
`STANDARD OLE INTERFACES
`CORE INTERFACES
`EXTENDED INTERFACES
`EXTENDED UI INTERFACES
`CODE GENERATION INTERFACES
`VENDOR SPECIFIC INTERFACES
`
`TO/FROM FIG. ID
`
`UNKNOWN
`MOTION
`CONTROL
`DRIVER A
`HARDWARE
`A
`LANGUAGE
`DEPENDENT
`
`30a
`
`Page 3 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 2 of 64
`
`US 6,516,236 Bl
`
`FIG. 18
`
`38
`
`40
`
`DRIVER
`ADMINISTRATOR
`CPL
`
`UNKNOWN
`
`DRIVER
`ADMIN
`
`STANDARD Cl.£
`INTERFACES
`CUSTOM OLE
`INTERFACES
`
`ODE SERVER
`
`32.
`
`t
`
`<(
`
`STANDARD OLE INTERFACES
`GENRAL INTERFACES
`0 CODE GENERATION INTERFACES
`DIAGNOSTIC INTERFACES
`
`LL
`:2:
`0
`a::
`LL
`a
`
`i-:-
`
`MOTION
`CONTROL
`WM PON ENT
`EXTENDED
`SPI
`TABLE
`
`I UNKNOWN
`
`35
`
`u
`0
`LL
`:2:
`0
`a::
`LL
`........
`~
`
`STANDARD OLE INTERFACES
`MOTION
`CONTROL
`EXTENDED INTERFACES
`EXTENDED UI INTERFACES DRIVER STUB
`
`36
`
`30b
`
`TO/FROM FIG. IE
`
`Page 4 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 3 of 64
`
`US 6,516,236 Bl
`
`FIG. IC
`
`22
`
`/
`
`STAND4RD OLE INTERFACES
`CORE INTERFACES
`EXTENDED INTERFACES
`EXTENDED UI INTERFACES
`CDDE GENERATION INTERFACES
`VENDOR SPECIFIC INTERFACES
`
`30c
`
`UNKNOWN
`MOTION
`CONTROL
`DRIVERC
`HARDWARE
`c
`LANGUAGE
`DEPENDENT
`
`TO/FROM FIG. IF
`
`Page 5 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 4 of 64
`
`US 6,516,236 Bl
`
`FIG. ID
`
`I STREAM
`
`28d
`
`34
`
`TO/FROM FIG. IA
`I UNKNOWN
`
`MOTION CONTROL
`TEXT FILE
`STREAM
`TEXT
`COMMUNICATION
`PROTOCOL
`
`OUTPUT FILE
`
`I STREAM
`
`28a
`
`!UNKNOWN
`
`MOTION CONTROL
`PC BUS
`STREAM
`PC BUS
`COMMUNICATION
`PROTOCOL
`
`PERSONAL COMPUTER HARDWARE
`
`PERSONAL COMPUTER HARDWARE BUS
`.--~~-w--~~~~~~ w
`0
`LL
`~
`
`0 a:
`d
`.__~--------------------+-----------------\'-~ ...... ~
`
`HARDWARE
`CONTROLLER A
`
`16a
`
`18a
`
`20a
`
`MECHANICAL
`SYSTEM A
`
`MOTION CONTROL
`DEVICE A
`
`Page 6 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 5 of 64
`
`US 6,516,236 Bl
`
`FIG. IE
`
`TO/FROM FIG. 18
`
`I UNKNOWN
`
`I STREAM MOTION CONTROL
`PC BUS
`STREAM
`PC BUS
`COMMUNICATION
`PROTOCOL
`
`28b
`
`0
`
`0
`LL.
`~
`0 a::
`LL ' g
`
`16b
`
`I Sb
`
`20b
`
`HARDWARE
`CONTROLLER B
`
`MECHANICAL
`SYSTEM A
`
`MOTION CONTROL
`DEVICE B
`
`LL.
`0
`LL
`~
`0 a::
`LL ' f2
`
`Page 7 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 6 of 64
`
`US 6,516,236 Bl
`
`FIG. IF
`
`TO/FROM FIG. IC
`
`I STREAM
`
`28c
`
`!UNKNOWN
`
`MOTION CONTROL
`HARDWAREC
`PC BUS STREAM
`SPECIAL PC BUS
`COMMUNICATION
`PROTOCOL FOR
`HARDWAREC
`
`w
`<.9
`
`li.~------
`t-+-+-+-Hr--+-+-++-'------.
`
`14
`
`~
`0
`0::
`
`~
`
`16c---i--.
`
`HARDWARE
`CONTROLLER C
`
`18c
`
`20c
`
`MECHANICAL
`SYSTEM A
`
`MOTiON CONTROL
`DEVICEC
`
`Page 8 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 7 of 64
`
`US 6,516,236 Bl
`
`FIG. 2 Module Interaction-Map
`26
`·-----1-vs·;prLiCATiO"N""""""""
`VC++ APPLICATION
`BCW APP., etc.
`
`32
`
`------------- ------------------------------·
`IXMC xxxAPI
`
`I Unknown
`
`DRIVER
`ADMIN.
`
`IXMC xxxAPI
`
`34
`
`I Unknown
`
`f
`...
`..
`..
`..
`..
`. .. ... ...... .
`COMPONENT
`
`I Unknown
`
`DRIVHR
`STUP
`
`36
`
`I Unknown
`
`IXMC xxxSPI
`
`DRIVER
`
`......
`.. ···································································-·
`
`30
`
`Page 9 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 8 of 64
`
`US 6,516,236 Bl
`
`FIG• 3 Object Interaction-Map 32 ~-iu_n_k_no_w __ n
`IXMC xxxAPI
`
`26
`r---~-------------------------------------
`V 8 APPLICATION
`VC++ APPLICATION
`BCW APP., etc.
`
`42
`
`·-------------------------- ------------------
`!Unknown
`
`I
`
`IXMC xxxAPI
`
`~ I
`' I ' ' ' ,
`,
`,'
`....
`COMPONENT ___ ......
`
`34a
`
`34c
`
`34d
`
`CDriverMgr
`
`CD river
`
`....................
`
`34b
`-----CUnitMapper
`
`!Unknown
`
`DRl'/ER
`STUB
`
`!Unknown
`
`DRIVER
`
`36
`
`30
`
`Page 10 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 9 of 64
`
`US 6,516,236 Bl
`
`FIG. 4 Scenario Map - Initialization
`IXMC xxxAPI
`
`26
`r---~-------------------------------------
`V 8 APPLICATION
`VC++ APPLICATION
`BCW APP., etc.
`
`·-------------------------- ------------------
`!Unknown
`
`42
`
`!Unknown
`
`~----
`
`DRIVER
`ADMIN.
`
`32
`
`~ ' ' I (!f
`
`COMPONENT _____ .. ,,
`
`IXMC xxxAPI
`
`···································•···
`·····
`
`34a
`
`34c
`
`34d
`
`IXMC
`
`5
`······ ········· .....
`
`I Unknown
`
`DR~VER
`STUB
`
`!Unknown
`
`DRIVER
`
`36
`
`30
`
`Page 11 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 10 of 64
`
`US 6,516,236 Bl
`
`FIG. 5 Scenario Map - Core SPI Operation
`
`26
`r---~-------------------------------------
`V B APPLICATION
`VC++ APPLICATION
`BCW APP., etc.
`
`IU nknown
`
`IXMC xxxAPI
`
`COMPONENT
`
`34
`-----···
`...... ····· ················• ... ~=it::::===...,.. ················· ·········· .. ······ ...... .
`·············
`
`34e
`
`CUnitMapper
`
`34a
`
`34c
`
`34d
`
`CD river
`
`6
`
`IU nknown
`
`DRIVER
`
`30
`
`Page 12 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 11 of 64
`
`US 6,516,236 Bl
`
`FIG. 6 Scenario-Map - Unit Mapping
`
`26
`r---~-------------------------------------
`V 8 APPLICATION
`VC++ APPLICATION
`BCW APP., etc.
`
`IXMC xxxAPI
`
`PCS Measurements
`
`34·e
`
`CUnitMapper
`
`34c
`MCS _ __..,,
`Measurements~+-----+-----'
`
`MC S --"""----+-(cid:173)
`Measurements
`IXMC
`
`DRIVER
`STUB
`
`36
`
`I Unknown
`
`IXMC_xxxSPI
`
`DRIVER
`
`30
`
`Page 13 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 12 of 64
`
`US 6,516,236 Bl
`
`FIG. 7 Scenario-Map - Extended SPI Operation
`
`26
`r---~-------------------------------------
`VB APPLICATION
`
`VC++ APPLICATION
`BCW APP., etc.
`
`·-------------------------- ------------------
`I Unknown
`
`IXMC xxxAPI
`
`COMPONENT
`
`34c
`
`34d
`
`CD river
`
`IXMC
`
`34e
`
`CUnitMapper
`
`!Unknown
`
`DRIVER
`STUB
`
`36
`
`Page 14 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 13 of 64
`
`US 6,516,236 Bl
`
`FIG. 8 Scenario-Map - Clean-up.
`
`26
`r---~---v-e,--A-P_P_l._1_c_Ario_N _________ _
`
`VC++ APPLICATION
`BCW APP., etc.
`
`42
`
`IXMC
`
`34a
`
`34c
`
`34d
`
`IU nknown
`
`COMPONENT
`
`I
`
`I • • •
`(!)'
`, ..
`,
`___ ...
`
`IXMC
`
`!Unknown
`
`DRIVER
`STUB
`
`IU nknown
`
`36
`
`IXMC xxxSPI
`
`DRIVER
`
`30
`
`Page 15 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 14 of 64
`
`US 6,516,236 Bl
`
`FIG. 9 Interface-Map
`
`!Unknown
`CComponentOjbect - - - - - - - - - - - -
`
`Standard OLE 2.0 Interface
`(implemented by MFC)
`
`IC lass Factory
`
`Standard OLE 2.0 Interface
`(impl. by MFC and AFX basecode)
`
`I Dispatch
`
`Standard OLE 2.0 Interface
`(impl. by MFC and ClassWizard
`generated code)
`
`Ir---~~~~~-.-----------------------------
`A Pl Interfaces
`
`IXMC API 1
`-
`-
`
`IXMC API 2
`-
`-
`
`IXMC API n
`-
`-
`
`XMCAP I Interface #1
`
`XMCAPI Interface #2
`
`0
`0
`0
`XMCAPI Interface #n
`
`Page 16 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`~
`~
`
`"° ~ "" "°"' ~
`"°"'
`rJJ.
`~
`
`ll)
`
`"'T
`\C
`;,...,
`0
`lt')
`
`~
`
`~ .....
`~ ..=
`rJJ
`
`a c
`""'
`.c ~
`
`"'T~
`
`~
`
`~ = ~
`
`~
`~
`~
`00
`~
`
`-
`
`/{
`
`enum DRVEXT _Xn_INTERFACEIDS J
`{
`j
`
`DRVEXT Xn INTERFACE1
`DRVEXT-Xn -INTERFACE2
`-
`-
`
`DRVEXT_Xn_INTERFACEn
`
`ti)
`ti)
`
`}
`
`..
`
`/
`
`}
`
`enum DRVEXT _Xn_METHODIDS
`{
`
`DRVEXT Xn METHOD1
`DRVEXT Xn METHOD2
`
`DRVEXT Xn METHODn
`
`~ CD rivers PI Tab le 1------r:===::==::::=:::::::::::=:=.:~=~======================-i
`= {
`f struct DRVEXT_INTERFACE_INFO
`_ MAP INFO
`~ struct
`3;
`0
`~
`><
`.c:
`.....
`·~ I
`ca -(.)
`>
`'i: c
`0
`0
`~
`•
`
`............ /
`
`/ ... /
`.
`
`IXMC Orv Ext X 1
`-
`-
`IXMC_DrvExt_X2 I
`0
`0
`.........
`0
`/
`j 1xMC_DrvExt_Xn j
`·······························································
`
`Methodlnfo 1
`
`Methodlnfo_2 1
`./
`0
`/
`./ ..
`0
`0
`./
`j Methodlnfo-=_n j
`·.
`
`}
`
`struct DRVEXT _METHOD_INFO
`{
`XMC_SUPPORTTYPE m_st;
`CString
`m_strName;
`LPFNDRVEXT m_pfnMethod;
`}
`
`~
`Cl)
`
`}
`
`(!) -u.
`
`Page 17 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 16 of 64
`
`US 6,516,236 Bl
`
`FIG. 11 Module Interaction-Map
`32
`IXMC xxxAPI
`
`IXMC xxxAPI
`
`I Unknown
`
`OMPONENT
`
`42
`
`I Unknown
`
`DRIVER
`ADMIN.
`
`!Unknown
`
`DRIVER
`
`30
`
`IXMC xxxUDSPI
`
`I Unknown
`
`STREAM
`
`Page 18 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 17 of 64
`
`US 6,516,236 Bl
`
`FIG. 12 Object Interaction-Map
`32
`IXMC xxxAPI
`-
`
`IXMC xxxAPI
`
`I Unknown
`
`OM PON ENT
`
`I Unknown
`
`DRIVER
`ADMIN.
`
`DRIVER
`
`mandlist
`
`IXMC xxxUDSPI
`
`I Unknown
`
`STREAM
`
`Page 19 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 18 of 64
`
`US 6,516,236 Bl
`
`FIG. 13 Scenario-Map - Registration
`32
`
`I Unknown
`
`IXMC xxxAPI
`
`DRIVER
`ADMIN.
`
`FIG. 14 Scenario-Map - lnit. by Driver Admin.
`32
`I Unknown
`
`IXMC xxxAPI
`
`DRIVER
`ADMIN.
`
`4
`
`I Unknown
`
`..............
`···············
`···········
`30
`····· ......................................
`
`DRIVER
`
`,_ __ _
`
`Page 20 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 19 of 64
`
`US 6,516,236 Bl
`
`FIG. 15 Scenario-Map - Adding a Stream
`32
`I Unknown
`IXMC xxxAPI
`
`ADMIN.
`
`CLSID
`(of the stream)
`':{
`1
`
`I Unknown
`
`FIG. 16 Scenario-Map - Query Operation
`32
`I Unknown
`IXMC xxxAPI
`
`DRIVER
`ADMIN.
`
`olUnknown
`
`DRIVER
`
`······· .... ······················ ·····"--if----'
`
`30d
`
`I Unknown
`
`STREAM
`
`IXMC xxxUDSPI
`
`28
`
`Page 21 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 20 of 64
`
`US 6,516,236 Bl
`
`FIG. 17 Scenario-Map - Clean-Up by
`Orv. Admin.
`32
`I Unknown
`
`IXMC xxxAPI
`
`DRIVER
`ADMIN.
`
`42
`
`~----
`
`I Unknown
`
`DRIVER
`
`FIG. 18 Scenario-Map - lnit. by Component
`34
`I Unknown
`
`IXMC xxxAPI
`
`COMPONENT
`
`42
`
`IXMC
`
`I Unknown
`
`DRIVER
`
`30g
`
`30k
`
`IXMC
`
`!Unknown
`
`28
`
`Page 22 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 21 of 64
`
`US 6,516,236 Bl
`
`FIG. 19 Scenario-Map - Command Operations
`I Unknown
`
`IXMC xxxAPI
`
`OM PON ENT
`
`I Unknown
`
`DRIVER
`
`........ ····3'''0"'"''''""'""'''"" ......... _. ---r----·....-
`.
`.......
`..................................
`
`IXMC xxxUDSPI
`
`IUrlknown
`
`STREAM
`
`28
`
`Page 23 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 22 of 64
`
`US 6,516,236 Bl
`
`FIG. 20 Scenario-Map - Clean-up by
`Component
`
`IXMC xxxAPI
`
`I Unknown
`
`OM PON ENT
`
`I Unknown
`
`DRIVER
`
`.
`.
`
`mandlis
`
`CResponselist
`
`""'---------... CStream
`
`IXMC xxxUDSPI
`
`I Unknown
`
`STREAM
`
`28
`
`Page 24 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 23 of 64
`
`US 6,516,236 Bl
`
`FIG. 21 interface-Map
`I Unknown
`
`C DriverObject
`
`IClassFactory
`
`IXMC DrvCore
`-
`-
`StaticState
`
`DynamicState
`
`IXMC DrvCore
`SPI 3
`
`IXMC DrvCore
`-
`-
`SPI n
`
`IXMC DrvExt
`-
`-
`Stream Mgmt
`
`IXMC DrvExt
`-
`-
`SPI 2
`
`IXMC DrvExt
`-
`-
`SPI n
`
`rn 1a 1ze, . . . a o er me o s are
`specific to the dynamic state used
`when vvorking with motion control)
`
`XMCSPI Core Interface #3
`
`0
`8
`XMCSPI Core Interface #n
`
`lo------------..-------------
`SPI Extended Interfaces
`
`XMCSPI Extended Interface #2
`
`0
`8
`XMCSPI Extended Interface #n
`
`Page 25 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 24 of 64
`
`US 6,516,236 Bl
`
`FIG. 22 Module Interaction-Map
`32
`
`30
`
`IXMC xxxAPI
`I Unknown
`
`I Unknown
`DRIVER
`ADMIN.
`
`IXMC xxxSPI
`
`I Unknown
`
`Win31
`
`46a
`
`Page 26 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 25 of 64
`
`US 6,516,236 Bl
`
`FIG. 23 Object Interaction-Map
`IXMC xxxAPI
`
`I Unknown
`
`IXMC xxxSPI
`
`!Unknown
`
`DRIVER
`ADMIN.
`
`32
`
`I Unknown
`
`IXMC xxxUDSPI
`
`....................... _ . - - - - -
`
`............. ·········2a··,._~~==· __ ....
`
`CStreamDisp
`
`28
`
`CRegistryMgr
`
`HAL
`
`28f
`
`CIOMgr
`
`Page 27 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 26 of 64
`
`US 6,516,236 Bl
`
`FIG. 24 Scenario-Map - Initialization
`I Unknown
`DRIVER
`ADMIN.
`
`IXMC xxxAPI
`
`32
`
`I Unknown
`
`CRegistryMgr
`
`~in95
`
`Page 28 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 27 of 64
`
`US 6,516,236 Bl
`
`FIG. 25 Scenario-Map - Registration
`3
`I Unknown
`
`IXMC xxxAPI
`
`DRIVER
`ADMIN .
`
`I Unknown
`
`..+-----____, IXMC xxxUDSPI
`\..,__---< 2 1-----+
`28 r-----
`
`FIG. 26 Scenario-Map - Setup
`DRIVER
`IXMC xxxAPI
`,,__ ___ ADMIN.
`
`I Unknown
`
`32
`
`IXMC xxxUDSPI
`
`STREAM
`·· ..
`
`.........
`··········
`
`CRegistryMgr
`
`Page 29 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 28 of 64
`
`US 6,516,236 Bl
`
`FIG. 27 Scenario-Map - Clean-up
`
`IXMC xxxAPI
`
`I Unknown
`
`DRIVER
`ADMIN.
`
`CRegistryMgr
`
`FIG. 28 Scenario-Map - Initialization (Orv)
`30
`!Unknown
`
`IXMC_xxxSPI
`
`IXMC xxxU DSPI
`
`CRegistryMgr
`
`AL
`
`AL
`
`Win95
`
`Page 30 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 29 of 64
`
`US 6,516,236 Bl
`
`FIG. 29 Scenario-Map-Opening the Stream
`
`I Unknown
`
`IXMC xxxSPI
`
`I Unknown
`
`IXMC xxxUDSPI
`
`Page 31 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 30 of 64
`
`US 6,516,236 Bl
`
`FIG. 30 Scenario-Map -Writing Data
`
`I Unknown
`
`IXMC xxxSPI
`
`I Unknown
`
`IXMC xxxUDSPI
`
`STREAM
`
`16_r
`
`Page 32 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 31 of 64
`
`US 6,516,236 Bl
`
`FIG. 31 Scenario-Map - Reading Data
`
`I Unknown
`
`IXMC xxxSPI
`
`I Unknown
`
`IXMC xxxUOSPI
`
`··························2a·· ,.__._/-__
`····················
`
`CStreamDisp
`
`28f
`
`Page 33 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 32 of 64
`
`US 6,516,236 Bl
`
`FIG. 32 Scenario-Map - Clean-up (Orv)
`
`I Unknown
`
`IXMC xxxSPI
`
`I Unknown
`
`IXMC xxxUDSPI
`
`STREAM
`
`Page 34 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 33 of 64
`
`US 6,516,236 Bl
`
`FIG. 33 Interface-Map
`CStreamObject
`
`I Unknown
`
`IClassFactory
`
`IXMC Stream
`
`ead, Write, Enable, Stat, lsEnabled
`
`IXMC Streamlnit
`
`nitialize, Open, Close, Setup,
`Stat, CreateStream
`
`FIG. 34 Module Interaction-Map.
`
`I Unknown
`
`IXMC xxxAPI
`
`OMPONENT
`
`IXMC xxxSPI
`
`36
`
`I Unknown
`
`o:+~R ................. ;,.~
`
`42
`
`I Unknown
`
`IXMC xxxSPI
`
`DRIVER
`
`30
`
`Page 35 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 34 of 64
`
`US 6,516,236 Bl
`
`FIG. 35 Object Interaction-Map
`I Unknown
`
`IXMC xxxAPI
`
`OM PON ENT
`
`I Unknown
`
`42
`
`IXMC DrvExt
`xxxSPI
`36
`
`..._,_,..~
`DRIVER
`STUB
`······
`.....
`~··--==s::==----- ········· ....
`········· ... ······
`CDriverStub 1spi--...i CSPIMgr
`36c
`36a
`
`impleDriver
`
`I Unknown
`
`IXMC xxxSPI
`
`DRIVER
`
`Page 36 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 35 of 64
`
`US 6,516,236 Bl
`
`FIG. 3 6 Scenario-Map - Initialization
`34
`I Unknown
`
`CLSID
`
`IXMC xxxAPI
`
`OMPONENT
`
`~--i 1 -----r-
`IU nknown
`
`IXMC DrvExt
`xxxSPI
`
`42
`
`~
`
`36a
`
`of Driver)
`
`I Unknown
`
`IXMC xxxSPI
`
`Page 37 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 36 of 64
`
`US 6,516,236 Bl
`
`FIG. 3 7 Scenario-Map - Operations
`34
`I Unknown
`
`IXMC xxxAPI
`
`OMPOl'JENT
`
`----""""\ 1 1 - - - - - -+ -
`l Unknown
`
`IXMC DrvExt
`xxxSPI
`36
`
`CDriverStub
`36a
`36c
`
`CSPIMgr
`
`impleDriver
`
`I Unknown
`
`IXMC xxxSPI
`
`Page 38 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 37 of 64
`
`US 6,516,236 Bl
`
`FIG. 38 Scenario-Map - Clean-up
`34
`I Unknown
`
`IXMC xxxAPI
`
`OM PON ENT
`
`- - - - - - -1 1 >------+-
`1 Unknown
`
`IXMC DrvExt
`xxxSPI
`36
`
`-
`
`CSP I Mgr
`
`impleDriver
`
`I Unknown
`
`IXMC xxxSPI
`
`Page 39 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 38 of 64
`
`US 6,516,236 Bl
`
`FIG. 39 Interface-Map
`I Unknown
`CDriverStubObject ......... ________ ---.
`
`Standard OLE 2.0 lnterfac
`(Implemented by MFC)
`
`IClassFactory
`
`Standard OLE 2.0 Interface
`(lmpl. by MFC and AFX basecode)
`
`Stub Specific Interfaces
`
`IXMC DrvStub
`
`RegisterDriver, UnRegisterDriver
`
`.,__ ____________________ _
`
`SPI Extended Interfaces
`
`IXMC DrvExt
`-
`-
`SPI 1
`IXMC DrvExt
`-
`-
`SPI 2
`
`IXMC DrvExt
`-
`-
`SPI n
`
`XMCSPI Extended Interface #1
`
`XMCSPI Extended Interface #2
`
`0
`
`8
`XMCSPI Extended Interface #n
`
`Page 40 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 39 of 64
`
`US 6,516,236 Bl
`
`FIG. 40 Module Interaction-Map
`34
`!Unknown
`pDriverlnfoMap
`IXMC_xxxAPI
`---0-R-IV_E_R---.
`ADMIN. CPL
`river, ~
`pDriverlnfo,
`hStream,
`pStreamlnfo
`IXMC xxxAPI
`
`38
`
`-
`xxxSPI
`
`COMPONEN
`
`pDrvE?num - - - - -
`
`I Unknown
`
`DRIVER
`ADMIN.
`
`Page 41 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 40 of 64
`
`US 6,516,236 Bl
`
`!Unknown
`
`FIG. 41 Object Interaction-Map
`34
`- -
`R-IV_E_R--ppriverlnfoMap
`ADMIN. CPL ~ IXMC_xxxAPI
`~ hDriver
`hDriv~r.
`pDrvlnfo,
`hStream,
`pStrm Info
`
`0-
`
`38
`
`42
`!Unknown~
`--~~~-- REGSTRY
`DRIVER
`ADMIN.
`·····------. .....
`
`............. .
`····· ............ .
`
`IXMC xxxAPI
`32
`
`······ ........... ............ ················
`
`32c
`
`32b
`
`CSimpleDriver
`
`CSimpleDriver
`
`CSimpleDriver
`
`!Unknown
`
`DRIVER
`
`IXMC -
`xxxSPI
`
`30
`
`IXMC -
`UDxxxSPI
`
`28
`
`Page 42 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 41 of 64
`
`US 6,516,236 Bl
`
`FIG. 42 Scenario-Map - Initialization
`34
`!Unknown
`
`IXMC_xxxAPI
`
`COM PON EN
`
`DRIVER
`ADMIN. CPL
`
`38
`
`IXM C_xxxAPI
`32
`
`....
`...........
`.....
`
`4 ....
`!Unknown ~ _....~~~-- REiSTRY
`
`DRIVER
`ADMIN.
`
`·····
`
`·····················
`··· .......
`
`L -_________ ...._.
`
`-1----~c D riverlnfoM a
`32b
`
`CS imp le Driver
`
`CS imp le Driver
`
`CSimpleDriver
`32
`
`IXMC -
`xxxS PI
`
`30
`
`Page 43 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 42 of 64
`
`US 6,516,236 Bl
`
`FIG. 43 Scenario-Map - Registering a Driver
`
`DRIVER
`ADMIN. CPL
`
`pDriverl nfoMap
`
`~
`
`1
`
`I Unknown
`
`42
`
`38
`
`IXMC xxxAPI
`32
`
`DRIVER
`ADMIN.
`
`CSimpleDriver
`
`I Unknown
`
`IXMC xxxSPI
`
`Page 44 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 43 of 64
`
`US 6,516,236 Bl
`
`FIG. 44 Scenario-Map - Registering a Stream
`
`DRIVER
`ADMIN. CPL
`
`pDriverCLSID,
`1 ~lpszStreamFileName
`
`38 pDriverlnfoMa~
`
`!Unknown ~42
`
`IXMC xxxAPI
`32
`
`REG STRY
`
`DRIVER
`ADMIN.
`·····
`~-::J:=.==~ ··········
`·········· ········
`
`CDriverA
`32a
`
`CSimpleDriver
`32df
`
`I Unknown
`
`I Unknown
`
`IXMC -
`xxxSPI
`
`IXMC
`UDxxxSPI
`
`Page 45 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 44 of 64
`
`US 6,516,236 Bl
`
`FIG. 45 Scenario-Map - Setting Driver Info.
`I Unknown
`32
`IXMC xxxAPI
`hDriver,
`DRIVER
`ADMIN. CPL pDrvlnfo _,..,
`············
`.:. ............. .
`························
`38
`············
`
`DRIVER
`ADMIN.
`
`CDriverAdminDis
`32a
`
`CSimpleDriver
`
`CSimpleDriver
`
`I Unknown
`
`IXMC xxxSPI
`
`DRIVER
`
`30
`
`Page 46 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 45 of 64
`
`US 6,516,236 Bl
`
`FIG. 46 Scenario-Map - Setting Stream Info.
`DRIVER
`
`\ hDriver,hStream,pDriverlnfo
`
`38
`
`IXMC xxxAPI
`32
`
`I Unknown
`
`DRIVER
`ADMIN.
`
`CSimpleDriver
`
`CSimpleDriver
`
`CSimpleDriver
`
`IXMC UDxxxSPI
`
`28
`
`Page 47 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 46 of 64
`
`US 6,516,236 Bl
`
`FIG. 4 7 Scenario-Map - Querying Driver Enum.
`I Unknown
`
`I Unknown
`
`DRIVER
`ADMIN.
`
`.. · ..
`
`IXMC -
`xxxAPI
`
`pDriverEnum
`~
`hD~·I·~~'. ....... ···································
`.............
`
`CDriverAdminDis
`32a
`
`CS im pleD river
`
`CSimpleDriver
`
`CSimpleDriver
`
`5 !Unknown
`
`IXMC xxxSPI
`
`DRIVER
`
`30
`
`Page 48 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 47 of 64
`
`US 6,516,236 Bl
`
`FIG. 48 Scenario-Map - Querying Orv Info. Map
`DRIVER
`ADMIN. CPL
`
`~pDrvlnfoMap
`
`38
`
`IXMC xxxAPI
`32
`
`I Unknown
`
`DRIVER
`ADMIN.
`
`CDriverlnfoMa
`32
`
`32d
`I Unknown
`
`DRIVER
`
`IXMC -
`xxxSPI
`
`30
`
`IXMC
`UDxxxSP!
`
`28./
`
`Page 49 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 48 of 64
`
`US 6,516,236 Bl
`
`FIG. 49 Scenario-Map - Clean-up
`34
`I Unknown
`
`DRIVER
`ADMIN. CPL
`
`38
`
`IXMC xxxAPI
`
`42
`!Unknown~
`REGSTRY
`DRIVER
`ADMIN.
`
`CSimpleDriver 5
`32d
`
`DRIVER
`
`IXMC -
`xxxSPI
`
`30
`
`IXMC
`UDxxxSPI
`
`28
`
`Page 50 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 49 of 64
`
`US 6,516,236 Bl
`
`FIG. 50 Interface-Map.
`I Unknown
`CDriverAdminOjbecti--_________ _,,
`
`IClassFactory
`
`Standard OLE 2.0 Interface
`(lmpl. by MFG and AFX basecode)
`
`I Dispatch
`
`IXMC EnumDrv
`
`Standard OLE 2.0 Interface
`(lmpl. by MFC and ClassWizard
`generated code)
`
`I Specific Std. Interfaces! ______________ __
`
`Standard IEnumX OLE 2.0 lnterfac
`
`I API Interfaces r ·---------------------·------
`
`IXMC -
`DrvAdmin
`
`IXMC
`
`EnableLogging, lsLoggingOn,
`EnableDiagnosticTesting,
`lsDiagnosticTestingOn,
`SetLoggingStream
`
`Page 51 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 50 of 64
`
`US 6,516,236 Bl
`
`FIG. 51 Module Interaction-Map
`42
`~
`
`DIALOG
`(_O_K_)@_a-nc-eD
`
`48
`
`nver,
`pDriver-j !pDriverlnfo50
`lnfoMap
`hStream,
`pStrmlnfo
`
`DIALOG
`(_O_l(_)(c-a-nc-eD
`
`DRIVER
`ADMIN. CPL
`
`hDriver,pDriverlnfo,hStream,
`I pStrmlnfo
`'-----~riverlnfoMap j t
`!Unknown
`¥
`DRIVER
`IXMC xxxAPI
`ADMIN.
`32) __ _
`
`Page 52 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 51 of 64
`
`US 6,516,236 Bl
`
`FIG. 52 Object Interaction-Map
`
`42
`
`38b\_
`
`38a\..
`
`38c\..
`
`1ew upport(cid:173)
`Dialog
`(_O_K_)~~a-nc-e[)
`
`CComCPL
`
`Map
`
`thStream,
`pStrmlnfo
`
`pDriver hDriver,
`
`Info- j I pDriverlnfo,
`
`38d
`CDnverlnfoMap
`38e
`CDriverlnfo
`CStreamlnfo
`38f
`
`hDriver
`pDriverinfo,1
`hStream, t
`pStreamlnfo ~ j pDriverlnfoMap
`
`CDriverAdmin
`38i
`
`\pDriverlnfoMap
`\
`hDriver,
`pDriverlnfo, ____ __,,\.\. \
`Unknown
`hStream,
`~
`.·
`pStreamlnfo
`
`DRIVER ..
`ADMIN.
`32
`- ·-··-··-··-··-··-··-·· -··-··-··-··-··-··-··-··-··-··-··-··-··-
`Windows
`51.r
`
`Page 53 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 52 of 64
`
`US 6,516,236 Bl
`
`FIG. 53
`
`Scenario-Map - Initializing the App.
`42
`
`38k
`
`CComCPL
`
`----- 2 J----Hll--
`
`IXMC
`
`Unknown
`
`DRIVER
`ADMIN.
`
`.·
`
`1
`
`Windows
`51;-
`
`Page 54 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 53 of 64
`
`US 6,516,236 Bl
`
`FIG. 54 Scenario-Map - Main Dialog lnit.
`38
`
`38d
`CDnverlnfoMap
`
`Page 55 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 54 of 64
`
`US 6,516,236 Bl
`
`FIG. 55 Scenario-Map - Adding a Driver
`38
`
`(OK )@anceD
`
`CD . Ad J---.pszFileName
`nver min
`
`38i
`
`5~ I Unknown
`
`DRIVER
`ADMIN.
`
`32
`
`FIG. 58 Module Interaction-Map
`I Unknown
`
`ICOM xxx
`IXMC xxxAPI
`
`MOTION
`COMPONENT
`
`ICOM xxx
`IXMC-API
`
`ICOM xxx
`ILNG-xxx
`IXMC xxxSPI
`
`!Unknown
`LANGUAGE
`DRIVER
`
`!Unknown
`DRIVER
`ADMIN.
`
`I Unknown
`
`ICOM xxx
`IXMC xxxUDSPI
`28
`
`Page 56 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 55 of 64
`
`US 6,516,236 Bl
`
`FIG. 5 6 Scenario-Map - Removing a Driver
`38
`
`CDriverAd
`38 i
`
`IXMC
`
`Unknown
`
`DRIVER
`ADMIN.
`
`FIG. 57 Scenario-Map-ViewSupport
`38
`
`CDriverAdmin(cid:173)
`Dialog
`(--o-K-)@_...a_n_ce-D
`
`1ew upport(cid:173)
`Dialog
`( OK )@anceD
`
`--- _..;;....__
`
`Page 57 of 91
`
`RA v. AMS
`Ex. 1001
`
`
`
`U.S. Patent
`
`Feb.4,2003
`
`Sheet 56 of 64
`
`US 6,516,236 Bl
`
`FIG. 59 Object Interaction-Map
`I Unknown
`
`ICOM xxx
`IXMC xxxAPI
`
`MOTION
`COMPONENT
`
`ICOM xxx
`IXMC-API
`
`I Unknown
`
`I Unknown
`DRIVER
`ADMIN.
`
`....................................................
`52
`
`CDriverlnfo
`5 p
`
`ICOM xxx
`ILNG-xxx
`IXMC xxxSPI
`............. : ............ •""5