throbber
an interpreter. This allows programs to operate
`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,

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


Or .

Accessing this document will incur an additional charge of $.

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

Accept $ Charge
throbber

Still Working On It

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

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

throbber

A few More Minutes ... Still Working

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

Thank you for your continued patience.

This document could not be displayed.

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

Your account does not support viewing this document.

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

Your account does not support viewing this document.

Set your membership status to view this document.

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

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

Become a Member

One Moment Please

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

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

Your document is on its way!

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

Sealed Document

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

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


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket