`Petition For Inter Partes Review
`
`
`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`
`_______________
`
`BEFORE THE PATENT TRIAL AND APPEAL BOARD
`
`_____________
`
`ROCKWELL AUTOMATION, INC.
`ROCKWELL AUTOMATION TECHNOLOGIES, INC.
`
`Petitioners
`
`v.
`
`AUTOMATION MIDDLEWARE SOLUTIONS, INC.
`Patent Owner
`
`Patent No. 8,073,557
`Issue Date: December 6, 2011
`Title: MOTION CONTROL SYSTEMS
`
`_______________
`
`Inter Partes Review No. 2017-00049
`
`____________________________________________________________
`
`PETITION FOR INTER PARTES REVIEW
`UNDER 35 U.S.C. §§ 311-319 AND 37 C.F.R. § 42.100 ET SEQ.
`
`4847-9717-4843.1
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`
`TABLE OF CONTENTS
`
`NOTICE OF LEAD AND BACKUP COUNSEL .......................................... 1
`
`NOTICE OF EACH REAL-PARTY-IN-INTEREST ..................................... 1
`
`NOTICE OF RELATED MATTERS ............................................................. 1
`
`NOTICE OF SERVICE INFORMATION ...................................................... 2
`
`GROUNDS FOR STANDING ........................................................................ 2
`
`STATEMENT OF PRECISE RELIEF REQUESTED ................................... 2
`
`THRESHOLD REQUIREMENT FOR INTER PARTES REVIEW ............... 2
`
`STATEMENT OF REASONS FOR RELIEF REQUESTED ........................ 3
`
`I.
`
`II.
`
`INTRODUCTION ........................................................................................... 3
`
`THE ’557 PATENT ......................................................................................... 4
`
`III. LEVEL OF ORDINARY SKILL IN THE ART ...........................................11
`
`IV. CLAIM CONSTRUCTION UNDER 37 C.F.R. §42.104(B)(3) ...................11
`
`V.
`
`TECHNICAL BACKGROUND AND INTRODUCTION OF
`APPLIED PRIOR ART REFERENCES .......................................................16
`
`A. Device Drivers and Hardware Independence Were Well Known
`Long Before the ’557 Patent. ..............................................................16
`
`1.
`
`Device Drivers and Hardware Independence in
`Microsoft’s Prior Art Operating Systems .................................16
`
`2. Windows Open Service Architecture (“WOSA”) and the
`Open Database Connectivity (“ODBC”) Interface ...................17
`
`Programmable Motion Control and Hardware-Independent
`Motion Control Operations Long Predated the ’557 Patent ...............18
`
`RGB’s Development of XMC Shows that the ’557 Inventors
`Merely Combined Known Technologies in a Predictable Way ..........24
`i
`
`B.
`
`C.
`
`4847-9717-4843.1
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`VI. EXPLANATION OF THE GROUNDS FOR UNPATENTABILITY.........26
`
`A. Obviousness: Content of the Applied Prior Art References ...............26
`
`1. WOSA – Cashin and ODBC Programmer’s Guide ..................26
`
`2.
`
`3.
`
`4.
`
`Function Tables and Streams – Brockschmidt .........................29
`
`Emulation – ODBC Programmer’s Guide ................................32
`
`Graphical Motion Control Language (“GML”) ........................33
`
`B.
`
`C.
`
`Obviousness: Motivation to Combine Cashin with ODBC
`Programmer’s Guide, Brockschmidt and the GML References .........37
`
`Ground 1: Claims 16, 19-22, and 27-28 Are Unpatentable as
`Obvious under 35 U.S.C. §103 over Cashin in View of ODBC
`Programmer’s Guide, and the GML References .................................40
`
`1.
`
`Cashin in combination with the ODBC Programmer’s
`Guide and the GML References disclose every limitation
`of the elements of claim 16 .......................................................40
`
`a.
`
`b.
`
`c.
`
`[16a] “A motion control system, comprising:” ..............40
`
`[16b] “an application program comprising at least
`one call to at least one component function”..................40
`
`[16c] “a plurality of motion control devices, where
`a plurality of unique motion controller languages
`are associated with the plurality of motion control
`devices, each controller language comprises at
`least some control commands for processing
`information associated with motion control
`devices, and each of the motion control devices
`comprises a controller capable of generating
`electrical signals associated with the motion
`control device, and a mechanical system capable of
`causing a motion control operation based on
`electrical signals generated by the controller”................42
`
`4847-9717-4843.1
`
`ii
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`
`d.
`
`[16d] “a set of software drivers each comprising
`driver code, where” .........................................................44
`
`e.
`
`f.
`
`g.
`
`h.
`
`i.
`
`j.
`
`k.
`
`[16e] “each software driver is associated with at
`least one of the plurality of motion controller
`languages, and” ...............................................................47
`
`[16f] “each software driver exposes a service
`provider interface defining a set of driver
`functions, where the driver functions are
`independent of the plurality of controller
`languages” .......................................................................48
`
`[16g] “at least one driver function is an extended
`driver function that is associated with a non-
`primitive motion operation that can be performed
`using at least one primitive motion operation,
`where the at least one primitive motion operation
`cannot be performed using a combination of
`primitive or non-primitive motion operations” ..............50
`
`[16h] “at least one driver function is a core driver
`function that is associated with a primitive motion
`operation” .......................................................................53
`
`[16i] “the driver code of at least one software
`driver associates at least one driver function with
`at least one control command of the at least one
`motion controller language associated with at least
`one of the software drivers, and” ....................................56
`
`[16j] “at least one selected software driver is
`associated with at least one selected motion control
`device” ............................................................................56
`
`[16k] “a motion component comprising component
`code, where the motion component exposes an
`application programming interface comprising a
`set of component functions, where” ...............................58
`
`4847-9717-4843.1
`
`iii
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`
`l.
`
`[16l] “each component function is implemented by
`component code, and the component code
`associates at least one of the component functions
`with at least one of the driver functions”........................61
`
`m.
`
`[16m] “the at least one selected software driver
`generates at least one control command in the
`controller language associated with the at least one
`selected motion control device based on the calls
`to component functions of the application
`program, the component code, and the driver code
`of the at least one selected software driver.” ..................63
`
`2.
`
`Cashin in combination with the ODBC Programmer’s
`Guide and the GML References disclose every limitation
`of the elements of claim 19 .......................................................64
`
`a.
`
`b.
`
`[19a] “A motion control system as recited in claim
`16, in which the component code emulates at least
`one extended driver function by associating at least
`one component function with a plurality of the
`core driver functions;” ....................................................64
`
`[19b] “the component code implements at least
`one extended driver function by associating at least
`one component function with one of the extended
`driver functions; and” .....................................................65
`
`[19c] “the component code implements at least one core
`driver function by associating at least one
`component function with one of the core driver
`functions.” .......................................................................65
`
`3.
`
`Cashin in combination with the ODBC Programmer’s
`Guide and the GML References disclose every limitation
`of the elements of claim 20 .......................................................66
`
`a.
`
`[20a] “A motion control system as recited in claim
`16, in which the application program further
`
`4847-9717-4843.1
`
`iv
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`
`comprises at least one call to a component function
`comprising at least one parameter, where:” ...................66
`
`4.
`
`5.
`
`b.
`
`c.
`
`[20b] “the at least one parameter is associated with
`a data item associated with the at least one selected
`motion control device” ...................................................67
`
`[20c] “the at least one parameter is passed from the
`application program to the at least one selected
`software driver by the motion component.” ...................67
`
`Cashin in combination with the ODBC Programmer’s
`Guide and the GML References disclose every limitation
`of the elements of claim 21 .......................................................68
`
`a.
`
`[21a] “A motion control system as recited in claim
`16, in which the drivers are binary modules.” ................68
`
`Cashin in combination with the ODBC Programmer’s
`Guide and the GML References disclose every limitation
`of the elements of claim 22 .......................................................68
`
`a.
`
`[22a] “A motion control system as recited in claim
`16, in which the software drivers conform to the
`service provider interface such that the software
`drivers may be interchanged without changing the
`component code.” ...........................................................68
`
`6.
`
`Cashin in combination with the ODBC Programmer’s
`Guide and the GML References disclose every limitation
`of the elements of claim 27 .......................................................69
`
`b.
`
`[27a] “A motion control system as recited in claim
`16, in which the motion component is a component
`binary module; the software drivers are driver
`binary modules; and the driver binary modules
`may be interchanged without changing the
`component binary module.” ...........................................69
`
`4847-9717-4843.1
`
`v
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`
`7.
`
`Cashin in combination with the ODBC Programmer’s
`Guide and the GML References disclose every limitation
`of the elements of claim 28 .......................................................70
`
`c.
`
`[28a] “A motion control system as recited in claim
`16, in which the control commands of each of the
`plurality of controller languages comprise binary
`codes.” ............................................................................70
`
`D. Ground 2: Claims 23, 24, and 29 Are Unpatentable as Obvious
`under 35 U.S.C. §103 over Cashin in View of ODBC
`Programmer’s Guide, Brockschmidt, and the GML References ........71
`
`1.
`
`Cashin in combination with the ODBC Programmer’s
`Guide, Brockschmidt and the GML References disclose
`every limitation of the elements of claim 23 ............................71
`
`2.
`
`3.
`
`a.
`
`[23a] “A motion control system as recited in claim
`16, further comprising a plurality of streams,
`where each stream contains transmit stream code
`that determines how control commands are
`transmitted to a destination of control commands.” .......71
`
`Cashin in combination with the ODBC Programmer’s
`Guide, Brockschmidt, and the GML References disclose
`every limitation of the elements of claim 24 ............................72
`
`a.
`
`[24a] “A motion controls system as recited in
`claim 23, in which the destination of the control
`commands is the at least one selected motion
`control device.” ...............................................................72
`
`Cashin in combination with the ODBC Programmer’s
`Guide, Brockschmidt and the GML References disclose
`every limitation of the elements of claim 29 ............................72
`
`b.
`
`[29a] “A motion control system as recited in claim
`16, in which the component code uses function
`table that associates at least one of the component
`functions with at least one of the driver functions.”.......72
`vi
`
`4847-9717-4843.1
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`
`E.
`
`Claim Chart .........................................................................................73
`
`VII. CONCLUSION ..............................................................................................74
`
`4847-9717-4843.1
`
`vii
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`
`TABLE OF EXHIBITS
`
`Ex #
`
`Exhibit
`
`1004
`
`1008
`
`1001 U.S. Patent No. 8,073,557 B2 (“’557 Patent”)
`1002
`Expert Declaration of William Rizzi
`1003 AMS Motion to Dismiss Presentation, 2:15-cv-898-RWS (E.D. Tex.),
`Dkt. No. 159-1, dated August 3, 2016
`Patent Rule 4-3 Joint Claim Construction and Prehearing Statement
`(with exhibits), 2:15-cv-898-RWS (E.D. Tex.), Dkt. Nos. 176, 176-1,
`176-2, 176-3, dated September 13, 2016
`1005 Defendants’ Patent Rule 4-2 Disclosures, dated September 2, 2016
`1006
`Plaintiff’s Patent Rule 4-2 Disclosures, dated September 2, 2016
`1007 Microsoft Windows 3.1 Device Driver Adaptation Guide (“DDAG”)
`(selected excerpts)
`Jerry Cashin, WOSA – Windows Open Services Architecture
`(“Cashin”)
`1009 National Electrical Manufacturers Association, Programmable Motion
`Control Handbook (“NEMA Handbook”) (selected excerpts)
`1010 David Gibbs and Thomas M. Crandell, An Introduction to CNC
`Machining and Programming (“Gibbs”) (selected excerpts)
`S.C. Jonathan Lin, Computer Numerical Control (“Lin”) (selected
`excerpts)
`SERCOS Interface – Digital Interface for Communication Between
`Controls and Drives in Numerically Controlled Machines (“SERCOS
`Digital Interface”)
`1013 David Halpert, Object Oriented Programming for Motion Control
`(“Halpert”)
`1014 U.S. Patent No. 5,453,933 to Wright et al. (“Wright”)
`1015 Roy-G-Biv Preliminary Infringement Contentions, Ex. 1022 from
`IPR2013-00074, dated November 6, 2012 from case 6:11-cv-00622-
`LED-ZJH (E.D. Tex.)
`
`1011
`
`1012
`
`4847-9717-4843.1
`
`viii
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`
`1016 Declaration of David W. Brown, Ex. 2013 from IPR2013-00074, dated
`July 18, 2013, Ex. 2010
`1017 U.S. App. No. 60/067,466 (“’466 Provisional”), Ex. 1017 from
`IPR2013-00063
`1018 WOSA/XMC MCAPI and MCSPI Design Specification, Ex. 2013-1 in
`IPR2013-00074 (“Design Specification”)
`1019 Kevin Holloway, Motion Software Heads Toward Friendlier User
`Environments, Control Engineering, August 1995
`1020 ODBC 2.0 Programmer’s Reference and SDK Guide, Microsoft Press,
`1994 (“ODBC Programmer’s Guide”) (selected excerpts)
`1021 Allen-Bradley, GML Programmer’s Workshop User’s Manual,
`November 17, 1993 (“GML Programmer’s Workshop”)
`1022 Allen-Bradley, GML V3.3 Programming Manual, June 17, 1993 (“GML
`Programming Manual”)
`1023 Compumotor Motion Toolbox User Guide, Version 1.0, March 1994
`(“Motion Toolbox”)
`1024
`LabVIEW User Manual (“LabVIEW”), Ex. 1012 from IPR2014-00122
`1025 Motion Engineering, Inc. PC/DSP-Series Motion Controller C
`Programming Guide, Version 1.3, May 1992 (“Motion Control API”)
`1026 Office Action dated October 2, 1996, excerpted from prosecution history
`of U.S. Patent No. 5,691,897
`1027 Applicant’s Amendment and Response to October 2, 1996 Office Action
`dated January 6, 1997, excerpted from prosecution history of U.S. Patent
`No. 5,691,897
`First Amended ’557 Invalidity Contention Chart for Cashin, ODBC,
`Brockschmidt and GML served by Defendants on AMS on September
`16, 2016 in 2:15-cv-898-RWS (E.D. Tex.)
`1029 Microsoft Press Computer Dictionary, 1991 (selected excerpts)
`1030 Kraig Brockschmidt, Inside OLE 2.0, Microsoft Press, 1994
`(“Brockschmidt”)
`1031 Declaration of Jeffrey N. Costakos
`
`1028
`
`4847-9717-4843.1
`
`ix
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`
`NOTICE OF LEAD AND BACKUP COUNSEL
`Lead Counsel: Jeffrey N. Costakos (Reg. No. 34,144); Tel: 414.297.5782
`
`Address: Foley & Lardner LLP, 777 E. Wisconsin Avenue
`
`Milwaukee, WI. 53202. FAX: 414.297.4900
`
`Backup Counsel: Nikhil Pradhan (Reg. No. 73,296); Tel: 617.226.3143
`
`Address: Foley & Lardner LLP, 111 Huntington Avenue, Suite 2600,
`
`Boston, MA 02199-7610. FAX: 617.342.4001
`
`NOTICE OF EACH REAL-PARTY-IN-INTEREST
`
`The real-parties-in-interest for this Petition are Rockwell Automation, Inc.
`
`and Rockwell Automation Technologies, Inc.
`
`NOTICE OF RELATED MATTERS
`
`U.S. Patent No. 8,073,557 (“the ’557 Patent”) is presently asserted in six
`
`cases pending in the Eastern District of Texas: Automation Middleware Solutions,
`
`Inc. v. Rockwell Automation, Inc., 2:15-cv-01269; Automation Middleware
`
`Solutions, Inc. v. Invensys Systems, Inc., 2:15-cv-00898; Automation Middleware
`
`Solutions, Inc. v. Emerson Electric Company, 2:15-cv-01266; Automation
`
`Middleware Solutions, Inc. v. Yaskawa America, Inc., 2:15-cv-01771; Automation
`
`Middleware Solutions, Inc. v. Kollmorgen Corporation, 2:15-cv-01539.
`
`4847-9717-4843.1
`
`1
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`
`Petitioner has filed concurrent petitions for inter partes review of U.S.
`
`Patent No. 6,513,048 (Case No. IPR2017-00023) and U.S. Patent No. 6,516,236
`
`(Case No. IPR2017-00048).
`
`NOTICE OF SERVICE INFORMATION
`
`Please send all correspondence to the lead counsel at the address shown
`
`above.
`
` Petitioner consents
`
`to service by email at: MILW-Rockwell-
`
`AMS@foley.com.
`
`GROUNDS FOR STANDING
`Petitioner hereby certifies that the ’557 Patent is available for inter partes
`
`review and Petitioner is not barred or estopped from requesting an inter partes
`
`review challenging the patent claims on the identified Grounds.
`
`STATEMENT OF PRECISE RELIEF REQUESTED
`
`Petitioner respectfully requests cancellation of claims 16, 19-24, and 27-29
`
`of the ’557 Patent.
`
`THRESHOLD REQUIREMENT FOR INTER PARTES REVIEW
`A petition for inter partes review must demonstrate “a reasonable likelihood
`
`that the petitioner would prevail with respect to at least one of the claims
`
`challenged in the petition.” 35 U.S.C. §314(a). The Petition meets this threshold.
`
`Each of the elements of the challenged claims are taught in the prior art as
`
`explained below in the proposed Grounds of unpatentability under 35 U.S.C.
`2
`
`4847-9717-4843.1
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`§103(a). Also provided are motivations to combine the relevant aspects of the
`
`cited prior art and an explanation of why a POSA would have had a reasonable
`
`expectation of success.
`
`STATEMENT OF REASONS FOR RELIEF REQUESTED
`
`I.
`
`INTRODUCTION
`
`The ’557 Patent was the subject of a previous IPR not involving Petitioner
`
`(IPR2013-00074 (“the ’074 IPR”)). The ’557 Patent was at that time owned by
`
`Roy-G-Biv (“RGB”), which subsequently assigned the patent to the present owner.
`
`This petition is distinguishable from the petition in the ’074 IPR for at least
`
`the following reasons:
`
`First, the grounds in the present petition were not asserted in the ’074
`
`IPR.
`
`Second, except for secondary reference Brockschmidt, none of the
`
`prior art references applied in this petition were part of any grounds asserted in the
`
`’074 IPR.
`
`Third, although Windows Open Service Architecture (“WOSA”) – in
`
`the form of WOSA/XFS (WOSA extension for financial services) – was discussed
`
`in the ’074 IPR, the present petition does not rely on WOSA as teaching “primitive
`
`operations” as that petition did. Instead, the present petition presents obviousness
`
`grounds with WOSA, described in detail in the Cashin reference, in combination
`3
`
`4847-9717-4843.1
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`with other references that teach “primitive operations” under AMS’s construction
`
`of that term.
`
`II.
`
`THE ’557 PATENT1
`The ’557 Patent alleges priority, through a number of intervening
`
`applications, to U.S. Pat. No. 5,691,897, filed May 30, 1995. (Ex. 1001; Ex. 1002,
`
`¶31.)
`
`The ’557 Patent describes “interface software that facilitates the creation of
`
`hardware independent motion control software” for moving objects. (Ex. 1001,
`
`1:50-52; 3:60-62.) The system runs on a personal computer and is connected to
`
`motion control devices – described as hardware controllers combined with
`
`mechanical systems – via a hardware bus. (Id., 6:66-57; 7:1-6; Ex. 1002, ¶32.)
`
`The general architecture of the ’557 Patent’s software system is depicted in
`
`Figure 1 of the patent. An annotated version of Figure 1 combining Figures 1A-1F
`
`is shown below:
`
`
`1This section is a summary of the patent’s statements and what the patentees have
`
`represented in previous litigation. Petitioner makes no admission regarding the
`
`accuracy of these statements.
`
`4847-9717-4843.1
`
`4
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`
`
`
`(Ex. 1001, FIGS. 1A-1F.) As shown in this Figure, the disclosed system can
`
`generally be broken down into six components: (1) the application program (boxed
`
`in red); (2) the DDE server (boxed in yellow); (3) the motion control component
`
`and motion control driver stub (boxed in orange); (4) the software drivers (boxed
`
`in green); (5) the stream transport layer (boxed in purple); and (6) the motion
`
`control devices (boxed in blue). (Ex. 1002, ¶33.)
`
`4847-9717-4843.1
`
`5
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`
`The ’557 Patent states
`
`that
`
`the disclosed software system allows
`
`programmers to create applications that move and control motion control devices.
`
`(Ex. 1001, 7:26-28.) The system as described allows programmers to create these
`
`motion control applications without extensive knowledge of the requirements of or
`
`control language used by any specific motion control device. (Id., 7:41-59.)
`
`Instead, the disclosed system proposes a theoretical set of “abstract” motion
`
`operations. (Id., 8:8-16.) These motion operations are abstract in that they are
`
`general physical actions to be performed by a motion control device but not tied to
`
`a particular make and model of motion control device. (Id.) These operations are
`
`thus “hardware independent.” The described software system allows programmers
`
`to utilize this theoretical set of abstract motion operations to design a motion
`
`program – the “application program” boxed in red in Figure 1 above. (Ex. 1002,
`
`¶¶34-35.)
`
`These application programs utilize this theoretical abstract set of motion
`
`operations by using an application programming interface or “API.” (Ex. 1001,
`
`7:54-65.) This API contains the definition of a set of “component functions” that
`
`application programmers could include or “call” in their application programs.
`
`(Id., 8:43-54; 9:15-24.) The component functions defined by the ’557 Patent
`
`4847-9717-4843.1
`
`6
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`would be comprised of the theoretical abstract set of motion operations. (Id.; Ex.
`
`1002, ¶36.)
`
`The software system of the ’557 Patent also includes a service provider
`
`interface (“SPI”), component code, and software drivers containing driver code.
`
`(Ex. 1001, 8:29-42; 8:55-63.) The component code of the disclosed system
`
`implements the component functions of the API, and this component code is
`
`included in the motion control component boxed in orange in Figure 1 above. (Ex.
`
`1002, ¶37.)
`
`The disclosed system includes a DDE server boxed in yellow in Figure 1
`
`above. “DDE” stands for “Dynamic Data Exchange” and was a Microsoft
`
`technology used for interprocess communication. (Ex. 1029, 120.) The ’557
`
`Patent teaches that the DDE Server 40 “provides the software interface through
`
`which the application program 26 communicates with the motion control
`
`component module 35.” (Ex. 1001, 11:20-23.) (Ex. 1002, ¶38.)
`
`Like the API, the SPI is taught as containing the definition of a set of “driver
`
`functions” that are callable by the component code of the component functions,
`
`and each driver function corresponds to one of the pre-defined motion control
`
`operations. (Ex. 1001, 8:29-59.) The component code of the described system is
`
`middleware software that then “associates” component functions of the API with
`
`4847-9717-4843.1
`
`7
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`the driver functions of the SPI. (Id.) The driver functions comprise driver code
`
`which produce and issue device-specific control commands to the targeted motion
`
`control devices. (Id.) The driver code is contained in the software drivers which
`
`are boxed in green above and the targeted motion control devices are boxed in blue
`
`above. (Ex. 1002, ¶39.)
`
`The ’557 Patent teaches using a stream transport layer to communicate the
`
`control commands from the driver to the targeted motion control devices. (Ex.
`
`1001, 18:28-30.) The ’557 Patent does not describe how to design or implement
`
`the streams themselves. Regarding “transmit stream code,” the ’557 Patent
`
`explains that “[t]he software system designer, or in some cases the hardware
`
`system designer, will write transmit stream code for each stream 28 that determines
`
`how the control commands are to be transferred[.]” (Id., 9:59-63.) The stream
`
`components are boxed in purple in the above diagram. (Ex. 1002, ¶40.)
`
`Some of the relevant dependent claims of the ’557 Patent include claim
`
`limitations directed to “binary modules,” “binary codes,” and “function tables.”
`
`Very little detail is given in the ’557 Patent regarding the meaning of these terms
`
`or how these features would be designed or implemented; indeed, “function table”
`
`is not even mentioned in the ’557 Patent’s specification. The ’557 Patent does
`
`briefly describe that “a module can be an executable binary[.]” (Ex. 1001, 29:31-
`
`4847-9717-4843.1
`
`8
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`37.) (Ex. 1002, ¶41.)
`
`In sum, the ’557 Patent’s software system teaches an application program
`
`including component functions from an API. When that program is run, the
`
`component code translates those function calls into driver function calls to the SPI.
`
`Driver code in the software drivers then translates those driver function calls into
`
`device-specific command codes and sends them to the targeted motion control
`
`device. (Id., 9:44-48.) (Ex. 1002, ¶42.)
`
`The general architecture of the ’557 Patent’s software system is also
`
`depicted in the following figure, which was included in an AMS presentation in
`
`district court litigation:
`
`4847-9717-4843.1
`
`9
`
`
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`(Ex. 1003, 38; Ex. 1002, ¶43.)
`
`As described below, the use of APIs, SPIs, and middleware software to
`
`direct function calls through a software system was well-known in the art prior to
`
`the priority date of the ’557 Patent. Such an approach is disclosed, for example, by
`
`WOSA, which is admitted prior art (Ex. 1001, 3:27-37) and – as shown below – is
`
`the basis for the software system disclosed by the ’557 Patent. Further, the use of
`
`software drivers in such a system is also admitted prior art and was well-known
`
`prior to the ’557 Patent. (Id., 3:38-43.) Similarly, the patent does not purport to
`
`invent the hardware used in conjunction with the disclosed invention (i.e., the
`
`hardware bus, the motion control devices, and the hardware controllers and
`
`mechanical systems included in such devices) and admits that this hardware is
`
`prior art. (Id., 7:22-25.) Additionally, the patent does not assert that it invents
`
`various software aspects of the claims including streams, binary modules, binary
`
`codes, and function tables. Lastly, as shown by the prior art discussed herein, the
`
`inventors also did not invent defining an abstract set of motion control operations.
`
`As shown herein, the Applicants’ application of the WOSA architecture to motion
`
`control operations is an obvious evolution of the prior art, and, as a result, claims
`
`16, 19-24, and 27-29 of the ’557 Patent are unpatentable. (Ex. 1002, ¶44.)
`
`4847-9717-4843.1
`
`10
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`III. LEVEL OF ORDINARY SKILL IN THE ART
`A POSA as of the effective date of the ’557 Patent typically would have a
`
`Bachelor of Science Degree in electrical engineering, computer engineering,
`
`computer science, or an equivalent. In addition, this POSA would have one or two
`
`years of experience in software-based motion control systems. The descriptions
`
`are approximate, and a higher level of education or specific skill may make up for
`
`less experience, and vice-versa. (Ex. 1002, ¶¶45-46.)
`
`As evidenced by the art in this field, the POSA would have an understanding
`
`of prior art technologies discussed herein such as WOSA, OLE, G-code, and
`
`various motion control programming tools. Custom Accessories Inc. v. Jeffrey-
`
`Allan Indus. Inc., 807 F.2d 955, 962 (Fed. Cir. 1986). (Ex. 1002, ¶47.)
`
`IV. CLAIM CONSTRUCTION UNDER 37 C.F.R. §42.104(B)(3)
`Since the ’557 Patent is expired, its claim terms are interpreted according to
`
`their plain and ordinary meaning in view of the specification, just as in district
`
`court litigation. In re CSB-System Int’l, Inc., 832 F.3d 1335 (Fed. Cir. 2016).
`
`Claim construction is being briefed by the parties in the underlying litigation. This
`
`petition applies the parties’ agreed construction for the following terms:
`
`Terms
`
`Agreed Construction
`
`“component function”
`
`“a hardware independent function that
`corresponds to an operation performed by a
`
`4847-9717-4843.1
`
`11
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`
`“control commands”
`
`“motion control device”
`
`motion control device”
`
`“command codes in hardware language, which
`instruct a motion control device to perform
`motion control operations”
`
`“a device comprising a controller and a
`mechanical system capable of moving an object
`in a desired manner”
`
`“a set of”
`
`“plurality”
`
`“two or more”
`
`“two or more”
`
`(Ex. 1004, 1-2.) (Ex. 1002, ¶48.)
`
`Where the parties disagree as to the proper construction, this petition
`
`demonstrates unpatentability under both proposed constructions. This includes the
`
`following terms:2
`
`Terms
`
`Defendants’ Construction
`
`AMS’s Construction
`
`“application
`program”
`
`“a software program that
`directly controls each motor
`using base incremental steps”
`
`“a software program designed
`to handle specific tasks”
`
`“associates”
`
`“cross references”
`
`Plain and ordinary meaning.
`
`“core driver
`
`“a driver function associated
`one-to-one with a primitive
`
`2 The proposed constructions are taken from joint submissions to the Court and
`from prior exchanges of proposed constructions.
`
`“a driver function associated
`with one of the primitive
`
`4847-9717-4843.1
`
`12
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`function”
`
`motion control operation”
`
`“driver
`function(s)”
`
`“extended driver
`function”
`
`“hardware independent
`abstract functions that define
`the parameters necessary to
`carry out motion control
`operations and that are
`separate and distinct from the
`component functions”
`
`“a driver function associated
`one-to-one with a non-
`primitive motion control
`operation”
`
`“motion control”
`
`“controlled movement of an
`object along a desired path”
`
`“motion control
`operation”
`
`“hardware independent
`operations that are used to
`perform motion control (such
`as GET POSITION, MOVE
`RELATIVE, or CONTOUR
`MOVE) and that are
`performed by a motion
`control device”
`
`motion control operations”
`
`“hardware independent
`functions that are separate
`and distinct from the
`component functions”
`
`“a driver function associated
`with one of the non-primitive
`motion control operations”
`
`Plain and ordinary meaning.
`
` Alternatively, “controlled
`movement”
`
`“hardware independent
`operations (such as GET
`POSITION, MOVE
`RELATIVE, or CONTOUR
`MOVE) that are performed
`by a motion control device”
`
`“software drivers” “one or more controller
`dependent software modules
`that implements all core
`driver functions and generates
`motion control commands for
`the specific hardware device
`or group of related hardware
`devices”
`
`“one or more controller
`dependent software modules
`that support some core driver
`functions and are used to
`control a hardware device or
`group of related hardware
`devices”
`
`4847-9717-4843.1
`
`13
`
`
`
`Patent No. 8,073,557
`Petition For Inter Partes Review
`
`(Defendants’ Construction, Ex. 1005; AMS’s Construction, Ex. 1006; Ex. 1002,
`
`¶49.)
`