`
`Registration No.: 40514
`
`
`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`
`_____________________
`
`BEFORE THE PATENT TRIAL AND APPEAL BOARD
`
`_____________________
`
`ABB, INC.
`
`Petitioner
`
`v.
`
`ROY-G-BIV CORPORATION
`
`Patent Owner
`
`_____________________________
`
`Trial No.: IPR2013-00062
`
`U.S. Patent No. 6,516,236 B2
`
`MOTION CONTROL SYSTEMS
`
`_____________________________
`
`PATENT OWNER ROY-G-BIV CORPORATION’S
`
`DECLARATION OF DAVID W. BROWN UNDER 37 CFR § 42.53
`
`- 1 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`
`
`I, David W. Brown, hereby declare the following:
`
`
`
`1)
`
`This Declaration attests to facts relating to the conception of the
`
`invention claimed in U.S. Patent No. 6,516,236 (“the ‘236 Patent”) in the United
`
`States before November 21, 1994, and reasonable diligence in the United States
`
`from at least November 20, 1994 through the constructive reduction to practice on
`
`May 30, 1995, as evidenced by the filing of U.S. Patent Application No.
`
`08/454,736, the benefit of whose filing date is claimed by the ‘236 Patent.
`
`
`
`BACKGROUND AS INVENTOR & OVERVIEW
`
`
`
`2)
`
`I am a founder, Chairman and Chief Technical Officer of ROY-G-
`
`BIV Corporation (“RGB”), which is a software development company that
`
`developed and implemented software systems and components thereof that
`
`practice the claims of the ‘236 Patent. I have personal knowledge of the facts
`
`contained in this Declaration, am of legal age, and am otherwise competent to
`
`testify.
`
`3)
`
`I am one of the co-inventors of the invention described and claimed in
`
`- 2 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`U.S. Patent Application Serial No. 10/021,669 which was filed on December 10,
`
`2001, now U.S. Patent No. 6,516,236, which is a continuation of and claims the
`
`benefit of the filing date of U.S. Patent Application No. 09/191,981, filed
`
`November 13, 1998; which in turn is a continuation of and claims the benefit of
`
`the filing date of U.S. Application No. 08/656,421, filed May 30, 1996, now U.S.
`
`Patent No. 5,867,385; which in turn is a continuation-in-part of and claims the
`
`benefit of the filing date of U.S. Application No. 08/454,736, filed May 30, 1995
`
`(hereinafter the “Priority Application”), now U.S. Patent No. 5,691,897.
`
`4)
`
`In the United States, Jay Clark and I had conceived of the system
`
`recited in at least claims 1-4 and 8-10 of the ‘236 Patent prior to November 21,
`
`1994. After conception, I diligently worked in the United States toward reducing to
`
`practice the claimed invention, as evidenced by the filing of the Priority
`
`Application on May 30, 1995. The claimed invention also was subsequently
`
`actually reduced to practice, as evidenced by our commercial XMC product. This
`
`declaration relies upon the constructive reduction to practice date on May 30,
`
`1995.
`
`5) When I refer to “reduced to practice” or “reduction to practice” in this
`
`Declaration, I refer to the constructive reduction to practice that occurred on May
`
`30, 1995 – i.e., the date of the filing of the Priority Application for the ‘236 .
`
`- 3 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`
`
`LIST OF EXHIBITS CORROBORATING CONCEPTION & DILIGENCE
`
`
`
`6)
`
`Attached to my declaration are Exhibits 2010-1 through 2010-6,
`
`respectively, which are true and correct copies of the following documents:
`
`Exhibit 2010-1: Draft of the WOSA/XMC MCAPI and MCSPI
`
`Design Specification by David Brown, dated July 1,
`
`1994 (“Design Specifications.”) This document has also
`
`been produced in the concurrent litigation and assigned
`
`Bates Numbers in the range RGB00055896-55949,
`
`which may be referred to herein to direct the Board to
`
`relevant materials. The Design Specifications were each
`
`completed as of at least (not later than) July 24, 1994.
`
`Exhibit 2010-2: Draft of the WOSA/XMC MCAPI and MCSPI
`
`Analysis Specification by David Brown, dated July 15,
`
`1994 (“Analysis Specifications). This document has also
`
`been produced in the concurrent litigation and assigned
`
`Bates Numbers in the range RGB00055881-55895,
`
`which may be referenced herein to direct the Board to
`
`- 4 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`relevant materials. The Analysis Specifications were
`
`each completed as of at least (not later than) July 24,
`
`1994.
`
`Exhibit 2010-3: Dave Brown’s time logs from November 20, 1994
`
`through May 30, 1995. The time logs summarize my
`
`work on (1) the XMC software, which is a commercial
`
`embodiment of the invention claimed in the ‘236 patent;
`
`and (2) the draft patent application that became U.S.
`
`App. Serial No. 08/454,736, filed on May 30, 1995.1
`
`Exhibit 2010-4: A portion of the specification for the XMC
`
`software, which was filed as an appendix to U.S. App.
`
`Serial No. 08/454,736 as an exemplary embodiment,
`
`which is dated February 22, 1995 and is referenced in the
`
`
`
`1 Exhibit (2010-3) has been redacted to remove extraneous and/or personal
`
`information that is not believed relevant to showing that the invention claimed in
`
`the ‘236 Patent was conceived at least by November 20, 1994, and that I exercised
`
`reasonable diligence to reduce the invention to practice as of May 30, 1995.
`
`- 5 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`below description of my time logs as XMC Specification
`
`#3. Portions of the XMC Specification #3 were filed as
`
`the appendix to the U.S. App. Serial No. 08/454,736.
`
`Exhibit 2010-5: A copy of U.S. Application No. 08/454,736, as
`
`filed on May 30, 1995.
`
`Exhibit 2010-6: Dave Brown’s time log for July, 1994. This time
`
`log evidences my work on drafting Exhibits 2010-1 and
`
`2010-2.2
`
`
`
`CONCEPTION & REDUCTION TO PRACTICE SUMMARY
`
`
`
`7)
`
`Before November 21, 1994, Jay Clark and I conceived of the motion
`
`
`
`2 Exhibit 2010-6 has been redacted to remove extraneous and/or personal
`
`information that is not believed relevant to demonstrating the completion date of
`
`Exhibit 2010-1 as of at least July 24, 1994 and the completion date of Exhibit
`
`2010-2 as of at least July 16, 1994.
`
`- 6 -
`
`
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`control systems claimed in the ‘236 Patent in the United States. At the time, I was
`
`working as co-CEO of RGB in the State of Washington. Prior to my work on the
`
`XMC software, while I was working on a monolithic motion control software
`
`application, I recognized the need for a better way to work with motion control
`
`devices using software.
`
`8)
`
`The development of the XMC software was my primary responsibility
`
`and the major focus of my efforts at RGB throughout the 1994 and 1995 time
`
`frame. The XMC project was a very large investment for our company. During
`
`this time period, I worked consistently on developing the design and analysis
`
`specifications for the XMC software, which are described in more detail below. I
`
`also began development of the XMC software in general, including defining and
`
`writing code for software components such as the following: the XMC Motion
`
`Component, the XMC Driver Administrator, at least one XMC software driver, at
`
`least one XMC software device driver, XMC software tools, and the XMC
`
`software setup. In addition, I was preparing disclosure materials for my patent
`
`attorney and helping in the drafting of what eventually became the Priority
`
`Application.
`
`9)
`
`I spent significant time developing an actual embodiment of the
`
`motion control system claimed in the ‘236 Patent and drafting the associated
`
`- 7 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`design documents, which evidence conception of the claimed invention, including:
`
`(1) an XMC design specification, dated July 1, 1994 (attached as Exhibit 2010-1)
`
`(hereinafter “the Design Specification”); and (2) an XMC analysis specification,
`
`dated July 15, 1994 (attached as Exhibit 2010-2) (hereinafter “the Analysis
`
`Specification”). The Design Specification describes the technical aspects of the
`
`XMC MCAPI and MCSPI supporting software model. The Analysis Specification
`
`generally describes a technical summary and business plan for the XMC
`
`MCAPI/MCSPI working model and specification. Each of these documents is
`
`described in more detail below in Paragraphs 15-16. I was the primary author of
`
`these documents, but my co-inventor Jay Clark actively participated
`
`in
`
`specification reviews and meetings where we discussed the software design and
`
`requirements, and I incorporated his comments and feedback into my work and the
`
`documents and software code we created. Exhibits 2010-1 & 2010-2 as attached
`
`hereto were created by me by at least or not later than July 24, 1994, as explained
`
`below.
`
`10) More particularly, before November 21, 1994, Jay Clark and I drafted
`
`a software design specification for what would become the XMC software product.
`
`I began drafting the document that would become the 54-page Design
`
`Specification attached as Exhibit 2010-1 in early July, 1994, as indicated by the
`
`- 8 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`date on the cover page of that document. The initial draft was likely an outline of
`
`the sections and materials that would eventually become the Design Specification
`
`attached as Exhibit 2010-1. I continued to work on the Design Specification during
`
`the month of July 1994, including on July 14th-24th, as indicated by my July time
`
`log entries related to “XMC Motion – specification #2.” (Exhibit 2010-6 at page 4,
`
`lines 17-27). The Design Specification was completed at least by July 23rd (Exhibit
`
`2010-1 at page 4, line 26) and was sent to my co-inventor Jay Clark on July 24th
`
`(Exhibit 2010-6 at page 4, line 27). Thus, the Design Specification attached hereto
`
`as Exhibit 2010-1 was prepared and completed at least by July 24th, 1994, which is
`
`further evidenced by the ‘7/24/94” date stamp that appears in the bottom right
`
`corner on each page of the document.
`
`11) The Design Specification describes the software design of RGB’s
`
`XMC commercial embodiment, which I continued to develop throughout the 1994-
`
`1995 time period. My co-inventor and I drafted the version of the Design
`
`Specification attached as Exhibit 2010-1 and also prepared revised versions of this
`
`document over the next several months. While I had primary responsibility for
`
`creating and developing the commercial software that is described in the Design
`
`Specification, my co-inventor was primarily responsible for higher level project
`
`management tasks and support such as creating and monitoring budgets, meeting
`
`- 9 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`on project status and scheduling, etc. He also provided substantive input into the
`
`XMC software design and requirements, as discussed above.
`
`12)
`
` On or about July 15, 1994, I had decided to take an earlier XMC
`
`specification that included subject matter related to both the analysis and design of
`
`the XMC project and divide it into two separate documents. One of those
`
`documents became the detailed 15-page Analysis Specification dated July 15,
`
`1994, and attached hereto as Exhibit 2010-2. On or about July 16th, I transferred
`
`the subject matter related to the design of the exemplary XMC software into the
`
`Design Specification, which was described above, as indicated by the entry “XMC
`
`Motion – specification #2 ~ split ana[lysis] and des[ign]” in my July time logs.
`
`(Exhibit 2010-6 at page 4, line 19.) The Analysis Document was substantially
`
`complete at that point and was transmitted to Jay Clark along with the Design
`
`Specification on July 24th. (Exhibit 2010-6 at page 4, line 27). Thus, the Analysis
`
`Specification attached hereto as Exhibit 2010-2 was prepared and completed at
`
`least by July 24th, 1994, which is further evidenced by the ‘7/24/94” date stamp
`
`that appears in the bottom right corner on each page of the document.
`
`13) The Design and Analysis Specifications (Exhibits 2010-1 and 2010-2,
`
`respectively) show that the invention described therein were definitive, permanent,
`
`and complete in my mind. From that point, only ordinary skill was required to
`
`- 10 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`write the code and build the software for the portions of the XMC product
`
`corresponding to the invention described therein. This is demonstrated in the
`
`constructive reduction to practice that occurred less than a year later in the filing of
`
`the Priority Application, which was done in concert with our efforts to continue to
`
`work on and develop the XMC software product.
`
`14) After July 24, 1994, Jay Clark and I continued to work on and
`
`develop the invention described in the Analysis and Design Specifications by
`
`working on various versions of those draft specification. I also continued to work
`
`to develop software code related to the draft specifications almost daily, as
`
`described below.
`
`
`
`EVIDENCE CORROBORATING CONCEPTION
`
`& POSSESSION OF ENTIRE CLAIMED INVENTION
`
`DESIGN & ANALYSIS SPECIFICATIONS
`
`
`
`
`
`15)
`
`I have compared claims 1-4 and 8-10 of the ‘236 Patent to the Design
`
`Specification and the Analysis Specification that we authored. (Exhibits 2010-1
`
`and 2010-2, respectively). As detailed below,
`
`the Design and Analysis
`
`- 11 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`Specifications corroborate our conception of each element of at least claims 1-4
`
`and 8-10 of the ‘236 Patent by at least July 24, 1994. Below I provide and
`
`highlight representative support from the Design and Analysis Specifications
`
`corroborating our conception of our invention.
`
`
`
`15)(A) Representative Support in the Design and Analysis
`
`Specifications by at Least July 24, 1994 for the Independent
`
`Claim of the ‘236 Patent (Claim 1)
`
`
`
`Claim 1, Preamble:
`
`1. “A system for generating a sequence of control commands for
`
`controlling a selected motion control device selected from a group of
`
`supported motion control devices, comprising:”
`
`
`
`The Design and Analysis Specifications describe a system for generating a
`
`sequence of control commands for controlling a selected motion control device
`
`selected from a group of supported motion control devices. For example, Section
`
`2.3 of the Analysis Specification contains a figure reflecting such a software
`
`- 12 -
`
`system generally:
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`
`
`Analysis Specification, Ex. 2010-2 (Bates # RGB00055887) Section 2.3, p. 4. The
`
`Analysis Specification also generally describes the operation of an exemplary
`
`system,
`
`including
`
`the generation of control commands, on pages 4-5
`
`(RGB00055887-888).
`
`Section 2.2 of the Design Specification contains a figure reflecting the
`
`system generally:
`
`- 13 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055906) Figure 2, Page 6. Many
`
`of the elements shown above are described on pages 2-3 (RGB00055902-903) and
`
`5-6 (RGB00055905-906) of the Design Specification. Exemplary modes of
`
`operation, including generating control commands, are described on page 8 of the
`
`Design Specification (RGB00055908).
`
`Thus, the exemplary system described in the Design and Analysis
`
`Specifications is disclosed as generating a sequence of control commands for
`
`- 14 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`controlling a selected device selected in turn from a group of such supported
`
`devices. For each of the claim terms recited in the preamble that also appear in the
`
`body of the claim, I also incorporate herein the evidence cited below corresponding
`
`to that claim term.
`
`
`
`Motion Control Operations
`
`1.2 “a set of motion control operations,”
`
`The Design and Analysis Specifications describe a system that includes a set
`
`of motion control operations. For example, Section 8.0 of the Design Specification
`
`describes the Motion Control Component as “consisting of all the different
`
`operations an application developer needs to manipulate the motion hardware.
`
`All functions are general motion control operations and are not hardware
`
`- 15 -
`
`dependent”:
`
`
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055926), Chapter 8.0 Motion
`
`
`
`Control Component MCAPI OLE Interfaces, p. 26.
`
`
`
`1.3 where each motion control operation is either a primitive
`
`operation the implementation of which is required to operate motion
`
`control devices and cannot be simulated using other motion control
`
`operations or a non-primitive operation that does not meet the
`
`definition of a primitive operation;
`
`
`
`The Design and Analysis Specifications describe a system where each
`
`motion control operation is either a primitive operation the implementation of
`
`which is required to operate motion control devices and cannot be simulated using
`
`other motion control operations or a non-primitive operation that does not meet the
`
`definition of a primitive operation. For example, the Motion Control Driver in the
`
`system is defined on page 2 of the Design Specification as “us[ing] the motion
`
`- 16 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`control command language to communicate with the motion control hardware that
`
`supports it. Every driver supports a set of functions called core functions. These
`
`are primitive functions required by all motion applications. The core functions are
`
`a subset of the MCSPI.” (RGB00055902). The names of these core functions in
`
`the MCSPI make clear that they correspond to motion control operations such as
`
`Initialize
`
`(“(*pCurSt)->Intialize()”)
`
`and Get
`
`Position
`
`(“(*pCurSt)-
`
`>GetPositionActual()”). (Bates # RGB00055928-29).
`
`The Design Specification further describes that these primitive operations
`
`cannot be simulated using other motion control operations: “Core functions are the
`
`lowest level primitive motion control functions implemented by all hardware
`
`vendors that software cannot duplicate in an algorithm that uses other methods. . .”
`
`
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055938), p. 38. The Design
`
`Specification further describes primitive operations as required to operate motion
`
`control devices and cannot be simulated using other motion control operations:
`
`
`
`- 17 -
`
`
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`
`
`Design Specification, Ex. 2010-1(RGB00055941),Chapter 9.4.7 IDrvCore_Motion
`
`Interface, page 41.
`
`Sections 8.3.5 and 8.3.10 of the Design Specification also contain some
`
`examples of primitive operations and non-primitive operations of the system with
`
`respect to the MCAPI level (as noted above, the function names identify the
`
`respective operations):
`
`
`
`- 18 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`8.3.10 IMotion Interface
`
`The lMotion interface is used to perfonn movement operations. Most functions are passed an
`array of AXIS_DATA specifying the appropriate axis data.
`
`configuration
`(*pMotion)->Initia1ize()
`(*pMor.ion) — =-Tune I I
`(*pMotion)->TuneEx()
`
`Querying Attributes
`(*pMotion) — >GetAcce1e:ra.tion (I
`(*pMotion) — >GetDece1era.tion ()
`(*pMotion)->GetErrorStatus(I
`(*pt-lotion) - >GetGearing ()
`(*pMot ion) - >GetMaxAcce1eratio11I)
`(*pMot:i.on) - >GetMa.xDece1eration (J
`(*pb-lot ion) - >GetMaxSpeed (1
`(*pMot ion) — >GetSpeed ()
`(*pMot ion) — >GetUnits ()
`(*pMotion) ->IsI11terp01ation0I1()
`
`Setting Attributes
`{*pMotion) — >Attach.Encoder (I
`l*pMotion) — .-.~AttachLimits ()
`(*pMotion)->DetachEncoder()
`{*pMotion)->DetachLimits()
`(*pMotion)->SetAcce1erationI)
`I*pMotion)->SetDece1eration()
`I*pMotion)->SetGearing()
`(*pMc.-tion} — vsetmaxncceleration I I
`(*pMotion} - >SetMaxDece1eration (I
`(*pMotion)->SetMaxspeed()
`
`(*pMot ion) - >SetSpeed (1
`
`Actions
`
`I*pMotio1:1) - >Contour I)
`{*pMotion)->CurveTrace(}
`
`(*pMotion)->Enab1e()
`(*pMotion)->Enab1eInterpolation{)
`(*pMot:i.on) ->Ho1-net}
`
`(*pMotion) ->Jog()
`
`(*pMotion}—>Ki11()
`(*pMot.ion) ->1’-Ilovehbs ()
`I*pMotion)->MoveContinous()
`
`{*pMotion)—>MoveRe5(}
`
`I*pMotion)—>Stop()
`(*pMotion) ->ZeroI} '
`
`- 19 -
`
`-19-
`
`
`
`
`
`ROY-G-BIV CORPORATION
`
`EXHIBIT 2010
`
`ABB V. ROY-G-BIV
`
`TRIAL NO. IPR2013-000062
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055931-55932) Chapter 8.0
`
`Motion Control Component MCAPI OLE Interfaces, pp. 31-32.
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055929-55930) Chapter 8.0
`
`Motion Control Component MCAPI OLE Interfaces, Page 29-30.
`
` GET
`
`POSITION is an example of a motion control operation which is required to
`
`operate motion control devices and cannot be simulated using other motion control
`
`
`
`operations.
`
`Section 2.3 of the Analysis Specification states that while some motion
`
`control operations are primitive (e.g., “[a]ll MCSPI supporting Motion Drivers are
`
`required to implement a core set of functions to participate in the WOSA/XMC
`
`model”), others are non-primitive (e.g., “[w]hen ever [sic] an MCSPI function is
`
`- 20 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`not supported directly by the hardware, as in the Tuning example, the Motion
`
`Component called the Motion Driver Stub which then attempts to carry out the
`
`functionality requested by calling required, core MCSPI functions located in the
`
`Motion Driver. . . . [M]any Motion Drivers will support some or all of the extended
`
`interface supported by the Motion Driver Stub.”
`
`Analysis Specification, Ex. 2010-2 (Bates # RGB00055887), Section 2.3
`
`Software Model, p. 4. The Analysis Specification further details the motion
`
`
`
`control operations in the system:
`
`
`
`- 21 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`
`
`Analysis Specification, Ex. 2010-2 (Bates # RGB00055888) Section 2.3
`
`Software Model, page 5. In particular, the above section of the Analysis
`
`Specification identifies non-primitive operations (“[i]n addition to supporting a
`
`core functions [sic], the MCSPI may support several or all of the extension
`
`functions”) and primitive operations (“[e]very MCSPI supporting Motion Control
`
`driver must support the core MCSPI functions in order to participate in the
`
`- 22 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`WOSA/XMC model. Core functions are all functions absolutely necessary to
`
`solve a motion control problem.”).
`
`Chapter 8 of the Design Specification also states that the core functions “are
`
`primitive functions required by all motion applications,” while “[t]he remaining set
`
`of MCSPI functions are called extended functions and are not required to be
`
`implemented”:
`
`
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055902), p. 2.
`
`Thus, both the Analysis and the Design Specifications describe a set of
`
`motion control operations, where each motion control operation is either a
`
`primitive operation the implementation of which is required to operate motion
`
`control devices and cannot be simulated using other motion control operations or a
`
`non-primitive operation that does not meet the definition of a primitive operation.
`
`
`
`Core driver functions
`
`1.4. “a core set of core driver functions,”
`
`- 23 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`The Design and Analysis Specifications describe a system that includes a
`
`core set of core driver functions. For example, Chapter 8 of the Design
`
`Specification illustrates the core set of core driver functions:
`
`
`
`
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055902), p. 2. In the exemplary
`
`system, “[t]he Motion Control Driver is the actual software dependent software
`
`driver” that supports the core driver functions. (Id.)
`
`See also §§ 1.2 and 1.3 above, which are hereby incorporated reference.
`
`
`
`1.5. “where each core driver function is associated with one of the primitive
`
`operations;”
`
`
`
`The Design and Analysis Specifications describe a system where each core
`
`driver function is associated with one or more of the primitive operations. The
`
`Design Specification specifies that “absolutely essential functions to motion
`
`control problems are in the core set of functions”:
`
`- 24 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055936) Chapter 9.0 Motion
`
`Control Driver MCSPI OLE Interfaces, p. 36. The Design Specification further
`
`states that: “Core functions are the lowest level primitive motion control functions .
`
`. . .” Design Specification, Ex. 2010-1, (Bates #RGB00055938) in section 9.4
`
`Custom OLE Interfaces – Core, p. 38.
`
`Thus, Chapters 8 and 9 of the Design Specification describe the exemplary
`
`system as including a core set of core driver functions, where each core driver
`
`function is associated with one or more of the primitive operations.
`
`See also §§ 1.2 and 1.3 above, which are hereby incorporated reference.
`
`
`
`Extended driver functions
`
`1.5 “an extended set of extended driver functions, where each extended
`
`driver function is associated with one of the non-primitive operations;”
`
`The Design and Analysis Specifications describe a system that includes an
`
`extended set of extended driver functions, where each extended driver function is
`
`associated with one or more of the non-primitive operations. For example, the
`
`Design Specification describes an extended set of driver functions that are
`
`- 25 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`associated with non-primitive motion control operations:“[t]he remaining set of
`
`MCSPI functions are called extended functions and are not required to be
`
`implemented.”
`
`
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055902), p. 2.
`
`
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055903-55903), pp. 2-3.
`
`
`
`
`
`
`
`
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055936), Chapter 9.0
`
`Motion Control Driver MCSPI OLE Interfaces, p. 36.
`
`- 26 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`
`
`Thus, the system includes an extended set of extended driver functions,
`
`where each extended driver function is associated with one or more of the non-
`
`primitive operations.
`
`
`
`See also §§ 1.2 and 1.3 above, which are hereby incorporated reference.
`
`
`
`Component functions
`
`1.6. “a set of component functions”
`
`
`
`The Design and Analysis Specifications describe a system that includes a set
`
`of component functions. For example, the Design Specification states that:“[t]he
`
`Motion Control Component, which implements the majority of the MCAPI set of
`
`functions, is used by applications. Using the Motion Control Component gives
`
`applications a hardware-independent motion control solution”:
`
`- 27 -
`
`
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055926), Chapter 8.0
`
`Motion Control Component MCAPI OLE Interfaces, p. 26.
`
`The Design Specification goes on to describe interfaces which are used to
`
`implement related component functions. The following are interfaces containing
`
`exemplary component functions, which correspond with motion control operations:
`
`
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055929), Chapter 8.0
`
`Motion Control Component MCAPI OLE Interfaces, Page 29.
`
`
`
`- 28 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`8.3.10 IMotion Interface
`
`The IMotion interface is used to perform movement operations. Most functions are passed an
`array of AXIS__DATA specifying the appropriate axis data.
`
`Configuration
`(*pMot:i.on) ->Initia1ize{)
`{*pMotion) - >Tune {}
`{*pMotion} - :-TuneEx (}
`
`Querying Attributes
`(*pMotion} - >GetAcce1era.tion (I
`(wpn-lotion} — >GetDece1eration (}
`(*pMotionJ->GetErrorStatus()
`(*pMotion}->GetGearing(}
`(*pMotion)->GetMaxAcce1eration()
`(*pMotian)->GetMaxDece1eration()
`
`(*pMotion)->GetMaxSpeedI}
`(*pMot ion) - >GetSp-eed (I
`(*pMot ion) - >GetUnits (}
`(*pMotion)—>IsInterpo1ation0n()
`
`Setting Attributes
`I*pMotion} - >Att.ach.Enc:oder {J
`{*pMotion}—>AttachLimits(}
`{*pMotion)->DetachEncoder(}
`{*pMotion)->DetachLimits()
`{*pl-dotion) - >Set:Acce1eration (J
`
`{*pMotion) - >Set'.Dece1erat:i.on ()
`I*pMotion)->SetGearing{}
`{*pI-lotion} - >setMax1-xcceleration I}
`(*pMotion} - >setMaxDece1erationI}
`(*pMotion) - :-Se-tMaxSpeed {J
`
`
`
`- 29 -
`
`-29-
`
`ROY-G-BIV CORPORATION
`
`EXHIBIT 2010
`
`ABB V. ROY-G-BIV
`
`TRIAL NO. IPR2013-000062
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`Design Specification, Ex. 2010-1 (Bates #RGB00055896), Chapter 8.0
`
`Motion Control Component MCAPI OLE Interfaces, pp. 31-32.
`
`
`
`
`
`Sections 8.3.5 and 8.3.10 reproduced above show several examples of
`
`hardware independent functions that correspond to motion control operations, such
`
`as MoveAbs, MoveRe[l], and GetPosition.
`
`
`
`1.7. “component code associated with each of the component functions,
`
`where the component code associates at least some of the component
`
`functions with at least some of the driver functions;”
`
`The Design and Analysis Specifications describe a system that includes
`
`component code associated with each of the component functions, where the
`
`- 30 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`component code associates at least some of the component functions with at least
`
`some of the driver functions. For example, the Motion Control Component in the
`
`system is described as providing “a hardware independent implementation of the
`
`motion control abstraction specified by the MCAPI”:
`
`
`
`Design Specification, Ex. 2010-1 (Bates # RGB00055902), p. 2. The
`
`Analysis Specification describes the communication link between the applications
`
`and the Motion Control Component; e.g., “the Motion Component calls the Motion
`
`Driver Stub which then attempts to carry out the functionality requested by calling
`
`required, core MCSPI functions located in the Motion Driver. All MCSPI
`
`supporting Motion Drivers are required to implement a core set of functions to
`
`participate in the WOSA/XMC model”:
`
`
`
`- 31 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`Analysis Specification, Ex. 2010-2 (Bates # RGB00055887), Section 2.3
`
`
`
`Software Model, p. 4.
`
`
`
`The Analysis Specification further posits scenarios which show that the
`
`software code in the Motion Component associates at least some of the component
`
`functions (MCAPI functions) with at least some of the driver functions (MCSPI
`
`driver functions):
`
`
`
`- 32 -
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`
`
`Analysis Specification, Ex. 2010-2 (Bates #RGB00055888), Section 2.3
`
`Software Model, p. 5. Thus, the code that comprises the motion control
`
`component is the component code and associates at least some of the component
`
`functions with at least some of the driver functions.
`
`
`
`Software drivers
`
`1.8. “a set of software drivers, where”
`
`- 33 -
`
`
`
`
`
`
`
`ROY-G-BIV CORPORATION
`EXHIBIT 2010
`ABB V. ROY-G-BIV
`TRIAL NO. IPR2013-000062
`
`
`
`The Design and Analysis Specifications describe a system that includes a set
`
`of software drivers. For example, Figure 1 in the Analysis Specification depicts a
`
`system that includes a set of software drivers (labeled as “Motion Drivers” below):
`
`
`
`
`
`Analysis Specification, Ex. 2010-2 (Bates # RGB00055887), Section 2.3 Software
`
`Model, p. 4. (Annotated).
`
`The Design Specification also includes “Motion Control Drivers” described
`
`as a “hardware dependent software driver that uses the motion control command
`
`langu