`independent of processor. With the newer technique of
`also creating virtual peripherals then the whole is
`referred to as a ‘virtual machine’.” The ‘683 patent,
`col. 3, 11. 48-54.
`
`OTA
`
`. a target
`.
`“The hardware environments include .
`which is some form of payment terminal.” OTA, p. 73,
`113.
`
`Such payment terminals are used for communication:
`“In the embedded systems for which OTA is targeted,
`system functions cover not only OTA functions such as
`communications .
`.
`. .” Id. at p. 75, 118.
`
`A virtual machine is used on OTA terminals by
`implementing code that controls the device: “OTA
`terminal code is based on a single virtual machine
`which is emulated on the actual devices.” Id., at p. 74,
`113. “The software in every OTA terminal is written in
`terms of a common virtual machine.” Id., at p. 74, 114.
`
`Element A. The first element of the ‘683 patent is directed to a virtual function
`
`processor that includes instructions for controlling operating of the communication
`
`device. The concept of using a virtual machine that includes instructions for
`
`controlling operation of a device is taught by EMV ’96. EMV’96 describes “a
`
`theoretical microprocessor” which is the claimed “virtual function processor.” A
`
`“virtual processor” is actually redundant with a “virtual machine,” since the
`
`processor is what necessarily runs the machine. In EMV ’96, a virtual processor
`
`interprets instructions and allows a point of service terminal to be controlled based
`
`Petitioner First Data - Exhibit 1009 - Page 27
`
`
`
`on such instructions. Further, OTA indicates that a virtual machine may be
`
`implemented in the form of software on an OTA terminal.
`
`EMV ‘96
`[A] a virtual function
`“In the case of an interpreter capability, these modules
`processor and function
`processor instructions for will be code, written in a virtual machine instruction set
`controlling operation of
`implemented within the terminal, to be interpreted by
`the device, and
`the terminal control program.” EMV ’96, at §l.2, p. 11-
`2 (emphasis added).
`
`“An interpreter implementation defines a single
`software kernel, common across multiple terminal
`types. This kernel creates a virtual machine that may be
`implemented on each CPU type and that provides
`drivers for the terminal’s input/output (I/O) and all low-
`level CPU-specific logical and arithmetic functions.
`High-level libraries, terminal programs and payment
`applications using standard kernel functions may be
`developed and certified once; thereafter, they will run
`on any conforming terminal implementing the same
`virtual machine without change. Therefore, a
`significant consequence of an interpreter is a simplified
`and uniform set of test and certification procedures for
`all terminal functions.” Id., at §l.4.l, pp. II-3-H-4.
`
`“The application software in every terminal using the
`interpreter approach is written in terms of a common
`virtual machine. The virtual machine is a theoretical
`
`microprocessor with standard characteristics that define
`such things as addressing mode, registers, address
`space, etc.” 1d,, at §l.4.2, p. II-4 (emphasis added).
`
`“Virtual machine emulation may be accomplished by
`one of three methods: interpreting virtual machine
`instructions, translating the virtual machine language
`into a directly executable ‘threaded code’ form, or
`translating it into actual code for the tar et CPU.” Id.,
`
`Petitioner First Data - Exhibit 1009 - Page 28
`
`
`
`at §l.4.4, p. II-5. “Programs may be converted to an
`intermediate language, between the high level source
`language used by the programmer and the low-level
`machine code required by the microprocessor, and
`subsequently transported to the target terminal to be
`processed by the terminal into an executable form.”
`1d,, at §l.4.4, p. II-5.
`
`OTA
`
`“The software in every OTA terminal is written in
`terms of a common virtual machine. This is a
`
`theoretical 32-bit microprocessor with standard
`characteristics defining addressing modes, stack usage,
`register usage, address space, etc. The kernel for each
`particular CPU type is written to make that processor
`emulate the virtual machine.” 1d,, at p. 74, 114.
`
`“Virtual machine emulation may be accomplished by
`one of three methods:
`interpreting token representing
`VM instructions (like Java), translating these token into
`a directly executable ‘threaded code’ form (like Open
`Firmware), or translating them into actual code for the
`target CPU. The latter two methods offer improved
`performance at a modest cost in added target
`complexity.” 1d,, at p. 74, 15.
`
`Element B. This element of the ‘683 patent is directed to having stored
`
`instructions on the communication device that describe message data. POS
`
`devices have the ability to interpret received messages and compose messages for
`
`transmission. Therefore, POS devices necessarily have stored instructions that
`
`describe the format of such messages such that received messages can be
`
`understood and messages can be sent that will be understandable to the recipient
`
`Petitioner First Data - Exhibit 1009 - Page 29
`
`
`
`device. On point, the POS device of EMV ’96 creates messages to be sent (e.g., to
`
`a host system) and interprets received messages (e.g., from the host system). EMV
`
`’96 explicitly states that the ISO 8583 standard, which defines how messages for
`
`financial card transactions are composed, is used by the device of EMV ‘96.
`
`Additionally, it would be obvious to combine EMV ’96 with the OMNI 300 Series
`
`Terminal. Both EMV ‘96 and OMNI 300 are directed to forms of payment
`
`terminals, such as point-of-service (POS) devices that are used in conducting
`
`financial transactions. One of skill in the art looking at updating the OMNI 300 in
`
`1996 would want to make sure it complied with EMV ’96, the de facto industry
`
`standard. OMNI 300 explicitly defines how data packets that are exchanged as
`
`messages on a network are defined. Since these message definitions are used by
`
`the device, the device necessarily has a stored description of such messages.
`
`OTA indicates that the 1/O of the terminal may be tested. This testing involves a
`
`download to the target terminal from another system, such as a PC host. Such a
`
`download would involve the reception of messages by the terminal. In order to
`
`receive and interpret such messages, a description of at least the formatting of such
`
`messages would need to be stored by the terminal. Further, 1/0 of a payment
`
`terminal necessarily includes messages being transmitted because payment
`
`Petitioner First Data - Exhibit 1009 - Page 30
`
`
`
`terminals rely on the ability to communicate with a host system to conduct
`
`transactions.
`
`[B] message instruction EMV ‘96
`means including a set of
`“Messages typically flow from the terminal to the
`descriptions of message
`acquirer and from the acquirer to the issuer.” Id., at
`data;
`§2.1, 111-6. “The data transmitted in messages as
`defined in ISO 8583:1987 and bit 55 from ISO
`
`8583:1993 .
`
`.
`
`.
`
`EMV ‘96, at p. D-1.
`
`OMNI 300
`
`The arrangement of data within packets for
`transmission Via a network is defined:
`
`LAN messages are exchanged on the IAN using a data
`packet. which consists of an 18—byte header. 0 to 1500
`bytes of binary data and a 2—byte checksum. The packet
`header is defined as struct nackct_header*1n <‘ an . h>.
`
`1% st:
`
`application
`fim-iwarel
`application
`
`application
`
`lirrnwarel
`application
`
`= firmware
`application
`firmware
`
`Application
`message type
`
`Message type
`
`;
`
`1
`
`1
`
`dg_Iength
`
`Data length
`Data
`CRC-1 6 - 0 — 0xFFFF
`
`0 — 1500 at
`
`OMNI 300, p. 10-4.
`
`Petitioner First Data - Exhibit 1009 - Page 31
`
`
`
`Data Packet Fields
`
`This section describes the fields within a data packet
`that are used by the firmware or the application.
`
`Source Address—Byte #4
`Identifies terminal sending the packet.
`Defined as unsigned char src_addr:
`Range of values:
`1 — 32
`The first three bytes in the source address field are not
`currently used and are reserved for future use The value of
`sr‘:_addr is obtained from the ‘LAD entry in the CONFIGSYS
`file,
`
`Destination Address—Byte #8
`Identifies terminal to receive packet or specifies a send
`to all terminals—BROADCAST.
`Defined as unsigned char dst_arJdr:
`Range of values:
`1 — 32, 254 = BROADCAST
`The first three bytes of the destination address field are not
`currently used and are reserved for lulure use. The value at
`this field is controlled by the application.
`if d 5 t "a on r is set to 254, the packet is sent to all terminals on
`the LAN (BROADCAST type message). Although all terminals
`receive the broadcast destination packets, they do not need to
`send any acknowledgment (ACK or NAK) to the packet
`
`(excerpt of packet definition).
`
`OTA
`
`“For final testing using the ter1ninal’s own kernel and
`I/O, these programs would be tokenized (see discussion
`below) and downloaded to the target terminal.” OTA,
`74.
`
`Element C. This element of the ‘683 patent is directed to handling the assembly,
`
`disassembly, and comparison of messages in accordance with the message
`
`definitions of element [B]. These functions are performed by a software module
`
`that is called by the software module of element [A]. Assembly of a message can
`
`be understood as creating a message for transmission to another device.
`
`Disassembly of a message can be understood as extracting data from a message
`
`received from another device. Comparison of a message can be understood as
`
`analyzing an “incoming message against the description specified by the message
`
`Petitioner First Data - Exhibit 1009 - Page 32
`
`
`
`instruction means .
`
`.
`
`. .” Ogilvy ‘683 patent, col. 17, 11. 47-49. Therefore, a
`
`received message is checked against the descriptions of element [B].
`
`EMV ’96 discloses such reception, transmission, and comparison of messages.
`
`Such handling of messages would be invoked by instructions executed by the
`
`virtual machine of the terminal. For instance, EMV ’96 notes that a transaction
`
`message may be used when online data capture is being used. The terminal is
`
`further configured to receive a message that is a transaction response and transmit
`
`results in a message. Therefore, for such transmission and reception of messages,
`
`assembly and disassembly of messages is necessary. Further, assembly or
`
`disassembly of messages would be performed in accordance with how such
`
`messages are defined as noted in element [B].
`
`Regarding a comparison being performed, EMV ’96 discloses that an error can be
`
`detected during communication involving the system or the terminal, which would
`
`require some form of comparison to a stored definition of how an acceptable
`
`message should be formatted.
`
`In addition, it would be obvious to combine EMV ‘96 with OMNI 300, (Custy et.
`
`al, US Pat. No. 5,774,879 assigned to First Data — hereinafter “First Data ‘879
`
`Patent”), or both. One of skill in the art looking at updating OMNI 300 in 1996
`
`Petitioner First Data - Exhibit 1009 - Page 33
`
`
`
`would want to make sure it complied with EMV ’96, the de facto industry
`
`standard. The First Data ‘879 Patent also deals with a POS device, and would be
`
`reviewed for the same reason. EMV ‘96 and the First Data ‘879 Patent disclose
`
`financial processing systems that are intended to be portable among various
`
`software and hardware platforms, and thus are not just related POS subject matter,
`
`but are both directed to the same emulatable concept. The First Data ‘879 Patent
`
`teaches the use of a distinct communication software module, referred to as a
`
`“communication processor” [the claimed “virtual message processor”] handling
`
`messaging functions with an “execution control processor” software module [the
`
`claimed “virtual function processor”]. The First Data ‘879 Patent explicitly
`
`teaches how distinct software modules can be used to handle communication
`
`processing separately from other processing.
`
`OMNI 300 discloses that a service call invoked by an application can initiate a data
`
`transfer. Regarding a message comparison, OMNI 300 performs a check for
`
`corrupt data received in messages by comparing a received cyclic redundancy
`
`check (CRC) value with calculated CRC value to determine if a match is present.
`
`Two bytes in the header of messages exchanged via a network are used for the
`
`comparison of CRC values, as indicated in the first table of element [B].
`
`EMV ‘96
`
`Petitioner First Data - Exhibit 1009 - Page 34
`
`
`
`processor, which is
`arranged to be called by
`the function processor
`and which is arranged to
`carry out the message
`handling tasks of
`assembling the
`messages, disassembling
`messages and comparing
`the messages under the
`direction of the message
`instruction means that is
`arranged to provide
`directions for operation
`of the virtual message
`processor,
`
`“An authorisation message shall be used when
`transactions are batch data captured. A financial
`transaction message shall be used when online data
`capture is performed by the acquirer.” EMV ’96, at
`§2.l, p. III-6. “The terminal shall be able to support at
`least one or more Issuer Scripts in each authorization or
`financial transaction response it receives .
`.
`. .” 1d,, at
`§2.2.9, p. I-10. Further, “The terminal shall transmit
`the Issuer Script Results in the batch data capture
`message .
`.
`. .” Id.
`
`“ ‘OF’ - PROCESSING ERROR - Displayed to the
`cardholder or attendant when the card is removed
`before the processing of a transaction is complete or
`when the transaction is aborted because of a power
`failure, or the system or terminal has malfunctioned,
`such as communication errors or time-outs.” Id., at pp.
`III-3, III-4
`
`The First Data‘879 Patent
`
`First Data, Fig. 1.
`“It should be
`
`understood that
`
`is
`
`USER
`
`.
`Pfiggiggon
`
`"”°°._‘.f5°“
`’;5RF|"[3ERl
`
`K
`
`I
`/_.
`
`.
`PAWETER
`‘MS
`
`the term processor
`used herein refers
`to a software
`module operating
`to pefforfn a
`particular task or
`group of tasks. A
`single such
`m°d“1° may
`actually be
`on a
`variety of
`hardware architectures which could include single or
`multiple hardware processors.” First Data ‘879 Patent,
`at col. 2, 11. 58-63.
`
`C%i'ai:t:a.:“~
`
`coixikwciiigus
`
`~
`
`“The execution control rocessor 10 is also couled to
`
`10
`
`Petitioner First Data - Exhibit 1009 - Page 35
`
`
`
`a communications processor 20.” 1d,, at col. 4, ll. 5, 6.
`
`OMNI 300
`
`An application causes communication to occur:
`“Terminal applications may be programmed to initiated
`ZONTALK 2000 downloads (full or partial) by using
`the following service call: result — SVC_ZONTALK(x)
`.
`.
`.
`OMNI 300, p. 2-4.
`
`Messages are both assembled for transmission and
`disassembled following being received:
`
`Figure 10- 1:
`NORM
`Message
`PT010001
`
`'
`
`3
`
`1d,, at p. 10-8. Such messages are constructed and
`deconstructed in accordance with “struct
`
`packet_header” as detailed in element [B].
`
`“Corrupt Data — If the destination terminal receives a
`data packet whose CRC-16 entry does not match the
`terrninal’s CRC calculation, it sends a NAK to the
`sending terminal.” Id., at p. 10-10.
`
`Element D. This element of the ‘683 patent is directed to calling a message
`
`processor to handle a message. Each of EMV ’96 and the first data ‘879 patent
`
`disclose a software module being called to handle a message. Further, OMNI 300
`
`specifies how an application can call on a communication software module to
`
`handle a message exchange such that a download can occur. In OMNI 300, an
`
`application (which could be executing as a first software module) can make a call
`
`to start a download (which is handled by a separate software module).
`
`11
`
`Petitioner First Data - Exhibit 1009 - Page 36
`
`
`
`[D] whereby when a
`message is required to be
`handled by the
`communications device
`the message processor is
`called to carry out the
`message handling task,
`
`EMV ‘96
`“If the card indicates to process online, the terminal
`shall transmit an authorization or financial transaction
`request message, if capable.” EMV ’96, at §2.2.7, p. I-
`10.
`
`“The terminal shall be able to recognize the tag for the
`Issuer Script transmitted in the response message. If
`the tag is ‘71’, the terminal shall process the script
`before issuing the second GENERATE AC
`command.” EMV ‘96, at §2.2.9, p. 1-11.
`
`The First Data ‘879 Patent
`
`“The Execution control processor 10 is also coupled to
`a communications processor 20. The communications
`processor 20 allows the integrated system to
`communicate with other system through network
`connections. According to one embodiment of the
`present invention, the communications processor 20
`allows for communication with an integrated
`communications platform system to allow for session-
`based communications with a host computer.” First
`Data, col. 4, 11. 5-8. “The communications processor
`20 acts as an interface between the integrated systems
`and whatever communication facilities are available
`
`via network connections.” 1d,, at col. 4, 11. 32-35.
`
`“The system of the present invention then uses this
`serial number to access the data files of the host
`
`computer through the communications processor 20
`and network connections as described in step 116.”
`Id., at col. 14, 11. 4-7.
`
`OMNI 300
`
`The application may initiate a LAN download:
`“OMNI 300 Series LAN terminals support application
`download via the LAN port. Prior to beginning the
`download, each terminal must have a particular set of
`parameters present in its CONFIG.SYS file.” OMNI
`300, p. 2-4. “Terminal applciations may be
`
`12
`
`Petitioner First Data - Exhibit 1009 - Page 37
`
`
`
`programmed to initiate ZONTALK 200 downloads
`(full or partial) by using the following service call:
`result=SVC_ZONTALK(x); .
`. .” Id
`
`OMNI 300, p. 10-38.
`
`fiinclude <lan.h>
`
`result:
`int
`char type:
`result = SVC_70NTA|K(ty9e);
`
`1
`
`Element E. This element of the ‘683 patent requires that the implemented virtual
`
`machine be emulatable on different computers (e.g., different POS devices) having
`
`different, incompatible hardware platforms or different, incompatible operating
`
`systems. EMV ’96 and the First Data ‘879 Patent disclose such an ability to be
`
`emulatable on different hardware platforms and/or different operating systems.
`
`Further, OMNI 300 indicates how different dialects of the C programming
`
`language can be used to allow for compatibility across varying systems. OTA
`
`indicates how application programs for OTA terminals can be “completely
`
`platform independent.” Since all teach emulatable software, it would be obvious to
`
`combine.
`
`[E] wherein the virtual
`machine means is
`emulatable in different
`computers having
`incompatible hardwares
`or operating systems,
`
`certification issues.” EMV ‘96, at 111.44, p. II-5.
`
`EMV ‘96
`“The kernel for each particular CPU type is written to
`make that processor emulate the virtual machine. The
`virtual machine concept makes a high degree of
`standardisation possible across widely varying CPU
`types and simplifies program portability, testing, and
`
`13
`
`Petitioner First Data - Exhibit 1009 - Page 38
`
`
`
`Also, see element [A] re: EMV ’96, §l.4.l, pp. 11-3-11-
`4.
`
`The First Data ‘879 Patent
`
`“The financial instrument processing system of the
`present invention comprises an obj ect-oriented
`software system that is highly portable between
`various hardware platforms. The architecture of the
`integrated software system is constructed such that the
`system can be easily and conveniently ported to a
`variety of operating system such as MS DOS,
`Windows, OS2, or UNIX.” First Data ‘8 79 Patent,
`
`col. 2, 11. 43-49.
`
`OMNI 300
`
`“VeriFone supports the Standard ANSI C and a UNIX-
`V7 compatible dialect of the C language (non-ANS1)
`for TXO application development.” OMNI 3 00, p. 3-
`1.
`
`“VeriFone has maintained programming compatibility
`to enable you to port application source code from one
`terminal platform to another.” Id., at p. F-l, Table F-l,
`p. F-2 and p. F-7.
`
`OTA
`
`“Using the ‘Open Terminal Architecture’ (OTA) it
`will be possible for credit card issuers and acquirers to
`write application programs that will be completely
`platform independent, and run on all OTA-compliant
`kernels.” OTA,p. 73, 1.
`
`Element F. This element of ‘683 requires: first, the device be a payment terminal
`
`device; and second, that the virtual message processor communication with a
`
`peripheral units associated with said device. As examples of peripheral units,
`
`Ogilvy ‘683 mentions the examples of a “card reader, display, printer,
`
`14
`
`Petitioner First Data - Exhibit 1009 - Page 39
`
`
`
`communications interface, etc.” ‘683 Patent, col. 3, 11. 9-11. Such a
`
`communications interface is used “for communication with an account acquirer.”
`
`Id., at col. 9, 11. 50-54.
`
`Regarding the first requirement of element [F], EMV ’96 is explicitly directed to
`
`point of service terminals. Similarly, each of the other references of The First Data
`
`‘879 Patent, OMNI 300, and OTA are also directed to financial transaction
`
`processing and, more specifically, payment terminals.
`
`Regarding the second requirement of element [F], EMV ’96 shows that multiple
`
`devices, such as a magnetic stripe reader and a PIN pad can be connected to the
`
`terminal as peripherals. These peripherals communicate with the virtual machine
`
`implemented on the terminal, which is detailed in relation to element [A] of claim
`
`1. As previously detailed in relation to element [C] of claim 1, EMV ’96 discloses
`
`reception, transmission, and comparison of messages. Such handling of messages
`
`could be applied to one or more connected peripheral devices. Further, the First
`
`Data ‘879 Patent discloses that the communication processor (which is a software
`
`module) handles communication with network connections. Such network
`
`connections are a form of communications interface, as defined by Ogilvy ‘683.
`
`The First Data ‘879 Patent also discloses communication with a printer and GUI
`
`(via a security processor). It can be understood as a design choice to have the
`
`15
`
`Petitioner First Data - Exhibit 1009 - Page 40
`
`
`
`printer communicate directly with the execution control processor rather than with
`
`the communication processor and to have the GUI interact with a security
`
`processor rather than via the communication processor. Referring to OMNI 300,
`
`communication with the peripherals of a keyboard and a display device are
`
`detailed. The use of such peripheral devices necessarily involves data being
`
`communicated between the device and peripheral. Whether a separate virtual
`
`message processor is used for such communication would be a design choice.
`
`[F] wherein said device is a EMV ‘96
`payment terminal device
`“Terminals include but are not limited to automated
`and wherein said virtual
`teller machines (ATMs) .
`.
`. and point of service
`message processor is used to (POS) terminals.” EMV ’96, §l, p. vii.
`communicate with
`'
`'
`
`'
`
`with said device.
`
`Figure I—l illustrates an example of an attended temlinal where the integrated
`circuit l[C} interface device [IFD) and PIN pad are integrated but separate from the
`PDS device {such as for an electronic fund transfer terminal or an electronic cash
`register}!-
`
`___——D
`_ ‘PO08 Device
`
`Figure I-1 — Example of ill Attended Terminal
`
`Id., at 1-3.
`
`“If the terminal does not have a combined IC and
`
`netic strie reader, when the ma netic strie of
`
`16
`
`Petitioner First Data - Exhibit 1009 - Page 41
`
`
`
`the card is read and the service code begins with a
`‘2’ or a ‘6’ indicating that an IC is present, the
`terminal shall prompt for the card to be inserted into
`the IC reader such as by displaying the ‘Use Chip
`Reader’ message.” Id., at 1-15.
`
`“The terminal should be designed and constructed to
`facilitate the addition of a PIN pad, if not already
`present, such as having a serial port.” 1d,, at 1-18.
`
`Charactelistim
`
`Example 1
`
`Key pad
`
`Display
`
`Printer
`
`Magnetic stripe reader
`IC reader
`
`Functional:
`
`Attendant key pad (numeric and function
`keys] +r PIN pad
`
`One for attendant
`One for cardholder
`
`Yes for attendant
`
`Yes
`Yes
`
`Language selection
`
`Supports part 1 of ISO 8859
`
`Transaction type
`Static data authentication
`
`Goods. cashback
`Yes
`
`Cardholder verification
`
`Offline PIN. signature
`
`Card capture
`
`Online capable
`
`Offline capable
`
`No
`
`Yes
`
`Yes
`
`Table F—1 — Example of POS Terminal or Electronic Cash Register
`
`EMV ’96, at p. F-1.
`
`The First Data ‘879 Patent
`
`The First Data ‘879 Patent is directed to a “financial
`
`instrument processing system .
`‘879 Patent, col. 2, ll. 42-45.
`
`.
`
`. .” The First Data
`
`“The communications processor 20 allows the
`integrated system to communicate with other
`systems through network connections.” The First
`Data ‘879 Patent, col. 4, ll. 6-8. “the
`
`communications processor 20 allows for
`communication with an integrated communications
`platform system to allow for session-based
`
`17
`
`Petitioner First Data - Exhibit 1009 - Page 42
`
`
`
`communications with a host computer.” 1d,, at col.
`4, 11. 9-12. “The communications processor 20 acts
`as an interface between the integrated system and
`whatever communication facilities are available via
`
`network connections.” Id., at col. 4, 11. 32-35.
`
`“The security processor 12 interfaces directly with a
`graphical user interface 18 to monitor attempted
`accesses to various objects within the integrated
`system made by users of the graphical user interface
`18.” Id., at col. 3, 11. 50-53.
`
`Regarding other peripherals connected with the
`system: “a financial instrument processing system
`is provided that comprises a graphical user interface
`that is operable to communicate with a data base
`processing system.” Id., at col. 1, 11. 50-53. “A
`printer is coupled to the print processing system and
`is operable to print financial instruments using
`information sent from the execution control
`
`processor.” 1d,, at col. 1, 11. 57-59. “The printer 30
`is capable of bidirectional communication through
`the print processor 28 to the execution control
`processor 10.” Id., at col. 6, 11. 24-26. “The
`communication between the execution control
`
`processor 10 and the printer 30 through print
`processor 28 is a secure communications path.” Id.,
`at col. 10, 11. 30-32.
`
`OMNI 300
`
`“OMNI 300 Series terminals are 8-bit machines
`
`running the VeriFone® TXQ® operating system.
`These terminals are ideal for a multitude of
`
`applications, including: Point of Sale/Service
`(POS)” OMNI 300, p. 1-1.
`
`“ System Devices — This chapter describes each of
`the system devices: keyboard[;] display[;] beeper[;]
`magnetic card reader[; and] real time
`clock/calendar[.] System devices are access in the
`
`18
`
`Petitioner First Data - Exhibit 1009 - Page 43
`
`
`
`same manner as files, using the same basic set of
`function calls .
`.
`. .” OMNI 300, p. 8-1.
`
`“When the user presses a function key, the system
`simply passes the key’s code to the application,
`which acts upon the key press according to the
`application design.” OMNI 300, p. 8-5.
`
`“All data written to the display is stored in a 32-
`character buffer. The display shows only 16
`. Any
`.
`characters, alpha or numeric, at one time. .
`.
`character which the display device is unable to
`properly display will be shown as an underscore
`(ASCII Ox5F). To clear the display, send the form
`feed character (‘ \ f’ or 0x0C).” 1d,, at p. 8-1 1.
`
`OTA
`
`“The purpose of an OTA system is to provide
`software to run in terminals used in payment
`applications.” OTA, p. 73, 113.
`
`Claim 2. Claim 2 of the ‘683 patent discloses that the terminal must be a payment
`
`terminal device. Such recitations are taught by the references as noted in reference
`
`to claim 1, element [F]. Claim 2 further requires that the virtual message processor
`
`be used for communication with an application associated with the device. As
`
`noted under the claim construction section above, this is construed under the
`
`ordinary meaning of the words to mean any application which runs on the device.
`
`EMV ’96 discloses that code modules, which can be complete applications, can be
`
`maintained in an application library and are implemented via a virtual machine of
`
`19
`
`Petitioner First Data - Exhibit 1009 - Page 44
`
`
`
`the terminal. The First Data ‘879 Patent specifies the concept of having a
`
`communication processor software module that is distinct from another processing
`
`module of the device. Further, the First Data ‘879 Patent discloses a user can
`
`interact with a data base processor, which is a piece of code being executed. Via
`
`the communication processor, which is a software module, transactions are
`
`uploaded from the data base processor. OMNI 300 discloses that communication
`
`buffers are used to pass information to and receive information from applications.
`
`Regarding OTA, the concept of an application executing on the device, the
`
`application being involved in the performance of a transaction is disclosed.
`
`The ‘ass Patent
`2. A device in
`EMV ‘96
`
`accordance with claim 1 With either the API or the interpreter approach, the
`wherein said device is a
`terminal should have the ability to maintain an
`payment terminal device application library of modules or routines that may be
`and wherein said virtual
`dynamically incorporated into the processing of a given
`message processor is
`transaction. Modules in the application library may be
`used to communication
`complete application programs, or they may be
`[sic — communicate]
`subroutines to be called upon at the direction of data
`with an application
`within the terminal or the ICC. In the case of an
`associate [sic —
`interpreter capability, these modules will be code,
`associated] with said
`written in a virtual machine instruction set implemented
`device.
`within the terminal, to be interpreted by the terminal
`control program. EMV ’96, p. 11-2.
`
`The First Data ‘879 Patent
`
`“The integrated system of the present invention allows
`the user to perform a variety of transactions which are
`logged in the data base of information managed by data
`base processor 14. Periodically, these transactions may
`
`20
`
`Petitioner First Data - Exhibit 1009 - Page 45
`
`
`
`be uploaded to a host computer or super server through
`the communications processor 20.” 1d,, at col. 4, ll. 19-
`24.
`
`OMNI 300
`
`“Communications buffers are used by the data
`communications device drivers (MODEM, RS232, PIN
`PAD). Each buffer is 256 bytes in length and can
`contain up to 254 bytes of data; two bytes are reserved-
`one for the count and one is unused. The maximum
`
`number of allocated buffers is 32, and the minimum
`number is 4. The environment variable *8 in
`
`CONFIG.SYS contains the number of buffers which
`
`will be allocated by the system. If *B does not exist, the
`minimum value of 4 will be used. Thus, the maximum
`amount of RAM which can be allocated for the
`
`communications buffer pool is 8k, with the minimum
`being 1 k.” OMNI 300, p. 5-6.
`
`OTA
`
`“The software includes development software, which
`runs on the PC; kernels, which include all platform
`specific software in a terminal and other mandatory
`standard functions; libraries, which provide general
`functions to support terminal programs. and payment
`applications; applications, which are the functions
`specific to a particular payment product, and terminal
`programs, which perform general non-payment terminal
`functions and include high-level mechanisms for
`selecting and executing transactions and associated
`applications.” OTA, p. 73
`
`“An OTA development system is used to develop
`terminal software, either low-level kernel software or
`high-level library or application software.” 1d,, at p. 73
`
`“A terminal transaction will select an application as part
`of its processing flow. Applications fall into three
`general areas: cashless ‘purses’ (Pay Before), debit
`Pay Now and credit cards
`'
`
`21
`
`Petitioner First Data - Exhibit 1009 - Page 46
`
`
`
`.75.
`
`applications will generally vary in their method of
`processing a given transaction. Versions of these
`applications may be provided
`by different payment systems and further customized by
`individual issuers or acquirers. Applications are supplied
`in token form via the communications path, and (if
`security considerations permit) may be enhanced by
`token ro rams on an ICC.” 1d,, at
`
`Claim 3. Claim 3 of the ‘683 patent requires that the communication means that
`
`implements the virtual message processor also implements “cryptographic series.”
`
`As described under the claim construction section above, this is construed to mean
`
`that data transmitted to or from the terminal is encrypted.
`
`EMV ’96 indicates that unused cryptographic keys are stored, messages that are
`
`transmitted can involve a cryptogram request and that in a response message a
`
`cryptogram may be received. OTA discloses that the terminal can interact with an
`
`ICC having encrypted data, which can include the use of a cryptographic series,
`
`that can be used during validation of a transaction.
`
`The ‘ass Patent —
`3. A device in accordance with claim 1
`EMV ‘96
`
`wherein said wherein said virtual
`message processor is used to
`communicate means associated with the
`device for implementing cryptographic
`series.
`
`“a tamper-evident device, when not in
`use, shall contain no sensitive
`information except unused
`cryptographic keys.” EMV ’96,