throbber
(12) United States Patent
`Ogilvy
`
`(10) Patent No.:
`
`(45) Date of Patent:
`
`US 7,302,683 B2
`*Nov. 27, 2007
`
`US007302683B2
`
`(54)
`
`(75)
`
`(73)
`
`METHOD AND APPARATUS FOR
`CONTROLLING COMMUNICATIONS
`
`Inventor:
`
`Ian Charles Ogilvy, Manly (AU)
`
`Assignee: CardSoft International Pty Limited,
`Manly NSW (AU)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`This patent is subject to a terminal dis-
`claimer.
`
`(21)
`
`Appl. No.: 11/207,771
`
`(22)
`
`Filed:
`
`Aug. 22, 2005
`
`Prior Publication Data
`
`US 2006/0015646 A1
`
`Jan. 19, 2006
`
`Related U.S. Application Data
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5,336,870 A
`5,479,643 A
`5,553,291 A
`5,590,281 A
`5,708,838 A
`5,745,886 A
`5,923,884 A *
`5,926,631 A
`
`8/1994 Hughes et a1.
`12/1995 Bhaskar
`9/1996 Tanaka et a1.
`12/1996 Stevens
`1/1998 Robinson
`4/1998 Rosen
`7/1999 Peyret et al.
`7/1999 McGarvey
`
`............. .. 717/167
`
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`AU
`
`2200088
`
`9/1988
`
`(Continued)
`OTHER PUBLICATIONS
`
`“Smarter Smartcards,” Hofland & Janowski, Feb. 1998, Byte Maga-
`zine 401S, pp. 7-10, Whole document.
`
`(Continued)
`
`Continuation of application No. 09/381,143, filed on
`Oct. 22, 1999, now Pat. No. 6,934,945.
`
`Primary Examiner—Phuoc Nguyen
`(74) Attorney, Agent, or Firm—Duane Morris LLP
`
`Foreign Application Priority Data
`
`(57)
`
`ABSTRACT
`
`(65)
`
`(63)
`
`(30)
`
`Mar. 14, 1997
`Mar. 16, 1998
`
`(AU)
`(wo)
`
`................................... .. PO9896
`................... .. PCT/AU98/00173
`
`(51)
`
`(52)
`
`(58)
`
`Int. Cl.
`
`(2006.01)
`G06F 17/00
`U.S. Cl.
`............................ .. 718/1; 703/23; 703/26;
`703/27; 709/200; 709/201; 709/208; 709/219;
`719/310; 719/313; 719/315; 719/316
`Field of Classification Search .................. .. 718/1;
`719/310, 313, 315, 316; 703/23, 26,27;
`709/200, 201, 208, 219
`See application file for complete search history.
`
`Disclosed is a device arranged to process messages for
`communications, comprising a virtual machine means
`including a message processor means which is arranged to
`process messages communicated to and/or to be communi-
`cated from the device, and message processor instruction
`means, arranged to provide directions for operation of the
`message processor means. Also disclosed is a method for
`operating a device arranged to process messages for com-
`munications and a method of programming a device
`arranged to process messages for communications.
`
`5 Claims, 12 Drawing Sheets
`
`/08
`
`
`
`
`P/?O7OCOL5
`MESSAGES
`
`FUNCTION SUPPORT
`FUNCTIONS
`
`/09
`
`1/0
`
`10¢
`
`
`|~on0~\O7u‘\-1
`mmmncnmi
`
`HARDWARE A5577?/1C7‘/ON
`INTERFACE
`LAYER.
`
`ALLOWS EX/57'/N6 35/05’,
`OR H1/ DRIVERS
`
`‘05’
`
`DA TA
`
`APPLICATION
`
`VM PROCESSORS
`
`H W DRIVERS
`
`
`
`/72
`
`/04-
`
`
`
`’°3
`I02
`
`/07
`
`HARDWARE
`
`
`
`/O0
`
`Petitioner First Data - Exhibit 1001 - Page 1
`
`

`
`US 7,302,683 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`5,931,917 A
`5,935,249 A
`6,021,275 A *
`6,199,160 B1
`6,308,317 B1
`6,934,945 B1*
`
`8/1999 Nguyen et al.
`8/1999 Stern etal.
`2/2000 Horwat ..................... .. 717/159
`3/2001 Echensperger et al.
`10/2001 Wilkinson et al.
`8/2005 Ogilvy ........................ .. 718/1
`
`FOREIGN PATENT DOCUMENTS
`0456249
`11/1991
`0634718
`1/1995
`
`WO
`WO
`W0
`W0
`
`9212480
`9305599
`9410628
`9727537
`
`7/1992
`3/1993
`5/1994
`771997
`
`OTHER PUBLICATIONS
`“Java and the Shift to Net-Centric Computing,” Hamilton, IEEE
`Computer, Aug. 1996, pp. 31-39, whole document especially “Java
`Viltual Machine,” sidebar p. 32.
`
`* cited by examiner
`
`Petitioner First Data - Exhibit 1001 - Page 2
`
`

`
`U.S. Patent
`
`Nov. 27, 2007
`
`Sheet 1 of 12
`
`Us 7,302,683 B2
`
`5
`
`7
`
`CPU
`
`MEMORY
`
`3
`
`COMMUN/O4770/\/S
`/N7’ERF/-ICE
`
`COMMUN/047‘/ON5
`
`L /NES
`
`ACCOUNT
`
`/i DM/N/S TR/I TOR
`
`F/G. I
`
`Petitioner First Data - Exhibit 1001 - Page 3
`
`

`
`U.S. Patent
`
`Nov. 27, 2007
`
`Sheet 2 of 12
`
`Us 7,302,683 B2
`
`PRO7OCOL6
`
`MESSAGES
`
`/08
`
`109
`
`FUNCTION SUPPORT W
`m
`
`/=u/vcr/o/vs
`
`107
`
`705
`
`106
`
`P R $
`
`:O1
`
`.
`
`30c
`
`DATA
`
`/iPPL/CA7‘/0/\/
`
`1/2
`
`I04-
`
`“)3
`foz
`
`VM PROCESSORS
`
`T
`
`/JRDWARE /i5S77?«4C7'/0/V
`LAYER.
`INTERFACE
`
`I07 HW DRIVERS
`HARDWAREj F/6_1
`
`ALLOWS EX/577N6 '5/05',
`OR Hy DRIVERS
`
`'05’
`
`I00
`
`Petitioner First Data - Exhibit 1001 - Page 4
`
`

`
`U.S. Patent
`
`Nov. 27, 2007
`
`Sheet 3 of 12
`
`US 7,302,683 B2
`
`(1) EVENT (EVENT DRIVEN 5TRuCTz/RE)
`‘CARD5 w/RE’ DETECTED B)’
`HW DR“/ER5
`C TRAC/< 1 TRAC/<2 TRACKS
`Q
`CUSTN. RAN. EXPD. END.
`(2) CALL BACK 7'0 EVENT T/iBLEflNH/IL)
`LOOKS I/P5E0z/ENCE OF COMMANDS
`FOR CARDSW/PE EVENT," FROM /NDEX
`
`F/ 3a
`
`It %
`(3) Eu/vcnoxv /=RDCEssoR CALLED up To
`(x, 2, D)
`COMMENCE /MP./.EMEN77-1T/ON 0/=
`.HAN/J /D/M C/ARD,
`0C MM/I/\/D5 FDR CARD SW/PE
`QHANDLE CARD.
`U
`L:/vo ACT/D/v’
`(4) 5A VE /NSTRUC7‘/ON /MPLE/V/EN7ED
`F/G. 3b
`3
`..
`
`"
`//\/57'/QUCT/ON
`0/’ TA
`
`DATA
`
`//vs TRUCT/ON
`,,
`
`F/ 3C
`
`(5) FUNCTION RRoCEssoR CALLS up
`
`MESS/I GE PROCESSOR
`
`Q
`
`(6) FUA/CT/ON PROCESSOR CALLS up
`MESSAGE /A/.5'7'RUC7‘/ON MEANS
`FOR CARD ‘SW/PE £1/ENT
`3
`
`(7) MESSAGE RRoCEs5oR PLACES DATA
`
`FRDM CARD //vro FIELDS As DxREC7ED
`
`B)’ ME53AeE /NsrRuCr/D/v MEA/vs
`
`{E
`(6) NEXT Fl//K/Cf‘/0/\//El/EN7'
`
`F/C-3. 3
`
`Petitioner First Data - Exhibit 1001 - Page 5
`
`

`
`U.S. Patent
`
`Nov. 27, 2007
`
`Sheet 4 of 12
`
`Us 7,302,683 B2
`
`(1) EVENT
`
`HAL DETECTS EVENT
`
`[L
`
`(2) HAL Acr/1//JTES PRO7‘OCO1_
`PROCESSOR
`
`(3) PROTOCOL /N57’/?UCT/ONS FE TCHED
`
`Ii
`
`(4) PROTOCOL PROCESSOR /MPLEMEN7:3
`
`COMMUNICATIONS PROTOCOL /N
`
`/ICCORDANCE W/TH PROTOCOL
`
`/N5 TRUC 7”/ONS
`
`ll
`
`(5) NEXT FUNCTION/EI/ENT
`
`FIG. 4
`
`Petitioner First Data - Exhibit 1001 - Page 6
`
`

`
`U.S. Patent
`
`Nov. 27, 2007
`
`Sheet 5 of 12
`
`US 7,302,683 B2
`
`
`
`_\<QQu.-u.Q..Q2mQmxm2%m2<>E§u96$:N¥U$E.\»G$t
`
`
`
`
`
`
`
`.NV<_\>\NOTWWNEawWW:WQQKSQUNWZE
`EtaxuwfiEmbflvmEokmSumQqwo
`
`rm
`
`W.®\n\
`
`kumqmm,©Qt_m.Eqvvo
`
`E3290?
`
`Petitioner First Data - Exhibit 1001 - Page 7
`
`

`
`U.S. Patent
`
`Nov. 27, 2007
`
`Sheet 6 of 12
`
`US 7,302,683 B2
`
`wm
`
`
`
`_>QQu.-m©-QzmQqxmZvmm.§\\<.$\Gm,vG$tNv§xECOVE
`
`
`
`
`
`
`
`.D\S.QQu.zmzgNQb.Q<\EYQ_fl
`
`
`
`
`
`
`
`Awarm:kzmsmdm.SEham
`
`_
`
`mm;
`
`
`
`9.<\vRm,mam.mxfio-mokmm28¢xmqzomumoxéwzfio-mzatw
`
`
`
`m>$E.J20$xmqioxmmoaunt@EEEQXRES..§$<Qn\©mocfill11%
`
`
`
`EboaEaswasmmX hwfigmmtQQWi
`
`QM,
`
`muwsowE.\Q
`
`mm
`
`Q.®\....\
`
`Petitioner First Data - Exhibit 1001 - Page 8
`
`
`
`

`
`
`>\Q\.:\QI_\\..303:
`_m_Qzozv
`
`88§$u.S%\:S§>$<
`m¥§U.Sn§:§>s§.<NETZLIEMQKg
`
`
`
`
`
`U.S. Patent
`
`Nov. 27, 2007
`
`Sheet 7 of 12
`
`US 7,302,683 B2
`
`
`
`..~.\©¢C..Q\<\.¢Rw..<.3
`
`x.uzmkysuNW5G
`
`NOM2020
`
`m,O\O
`
`
`
`
`
`u...><n\© uiktsQuflaweUkmQKO
`
`EE
`
`inCAN
`
`uqzt
`
`QQZD
`
`
`
`
`
`
`
`W631isumqE3%.E qcmxtm.m.o\oi§§w.©gumdoN0mzoz@\§<m$su
`
`
`
`K.®\u.
`
`
`
`
`
`Qm§o.§\mm‘:@Q.w~\3Qmm\isUmuwtowmmm:sz@m0@E3.
`
`.§®»<o4.3K\<...§xwe9%Dwit0E305.3oxmio
`«RG90
`
`
`
`m\<E\QulOw_R..<Qm.m.m.Q>\m.bQ.tDmmwkmusm,D
`
`
`
`
`
`NQQ:$.6\smm\mDWOQNN®\<\Qm\m..w
`
`Petitioner First Data - Exhibit 1001 - Page 9
`
`
`

`
`U.S. Patent
`
`Nov. 27, 2007
`
`Sheet 8 of 12
`
`US 7,302,683 B2
`
`E.
`
`A
`
`#
`
`
`
`muz$6.25:2«wkmommmxxwqafintms.«om.
`
`$3.3SQKKSmtQ30Fsnow
`
`
`«maxHImfikisuE25_A§ARQAQQA.wm2:moatEkotmumkAAAAAAAQAAAQM23.
`
`mS:\>\_\<w\Q.u.mu
`
`AAAAAAAAAAAAAA33.?ENE
`
`
`
`mS$<56.
`T322222cxfifizvm
`
`inCANQQZQ
`
`.
`x$.n§qoTxfizaozw5%mmwu
`
`
`xiufiqmmsumwo
`E.HI7AiA..A..Am.AI..~I¢.QD~..:\kD.~mt
`
`
`toQm...vI
`.sE2Em@TAAAAAAAat...§z\m:
`
`wavttowElla
`
`
`
`:.=sw.m..B9u.meg«Em,¥~>\v<o.:32mom
`L_2§..\.mmn\noqzmxmszzo_
`
`..~Um4Nm.@.
`
`Amgmqmqvvo_\_O.v¢u..\Lvdmum..Qmxm2m§\2$6
`
`AAQAmzwfi
`
`Petitioner First Data - Exhibit 1001 - Page 10
`
`

`
`U.S. Patent
`
`Nov. 27, 2007
`
`Sheet 9 of 12
`
`US 7,302,683 B2
`
`$9
`
`NV
`
`B
`
`
`
`
`
`
`amooxxatmk«ooQ.SQ.§El.Ii..
`
`Gooxxfimkmqwmuwm:i.i.l.
`
`
`
`mocouozm.aoofixwmz§\mMm\r....€.~QbQkQkn\
`
`
`mfizmxpwuafi.\0uD~Qk0.«o:Q.mm2.
`
`
`
`EHm$:\Z
`
`qounzommfiumk
`
`'
`
`xwxfinhwk
`
`mmtwwmi
`
`mtxfim
`
`
`AANKMJNQvvo xmhwkgmwo.~OuQkQ%lkumqmm,©isomxfi
`
`
`kmwo.§<.§6u
`
`aim,
`
`Petitioner First Data - Exhibit 1001 - Page 11
`
`
`

`
`U.S. Patent
`
`Nov. 27, 2007
`
`Sheet 10 of 12
`
`Us 7,302,683 B2
`
`g«EVAN EE
`
`QmE$<.uQ.uDb0&Q.
`
`
`
`Eum.umk
`
`mmwmmué
`
`m§Em.
`
`kbQmw<C
`
`4Q.uQkQ~\Q.
`.§wE<ou
`ntva,ha,0xfinmkEmOgum.mm,©Rmbqmqx.O
`
`Booxqzm
`
`dQO.VQ\wmz
`
`«ooQSQm:E
`
`m0\.VQbwmv<
`
`Petitioner First Data - Exhibit 1001 - Page 12
`
`

`
`U.S. Patent
`
`Nov. 27, 2007
`
`Sheet 11 of 12
`
`Us 7,302,683 B2
`
`FIELD | FIELD | FIELD
`
`
`
`
`D/~77"/i REP/?ESEN7}4 no/véescxz, B/N/iR)fE7‘C)
`
`DAT/4 LOC/IT/ON /DENT/F/C/4 no/v
`
`/=0/em/17‘
`
`TEST FUNC770/V
`
`L/NE <3: COLUMN
`
`60557‘/7‘uT/ON 1./57‘
`
` F/6. /I
`
`Petitioner First Data - Exhibit 1001 - Page 13
`
`

`
`U.S. Patent
`
`Nov. 27, 2007
`
`Sheet 12 of 12
`
`Us 7,302,683 B2
`
`SEC?’/ON 5EC‘770N SECT/ON
`
` /NEZIL/NE3
`
`COMMANDS
`
`F/6. /Ea
`
`
`
`Uvgg (Na 1) Msg (Pt 2)
`
`
`
`
`
`
`{E9 64NOT//ER)_i
`
`‘ — ‘ ” -_—i
`
`3ECr/0N/
`/30
`
`/32
`
`.SEC77o/V I, L/NE3
`/30
`13/
`
`5EC770N2
`
`FIG. /2b
`
`Petitioner First Data - Exhibit 1001 - Page 14
`
`

`
`US 7,302,683 B2
`
`1
`METHOD AND APPARATUS FOR
`CONTROLLING COMMUNICATIONS
`
`This application claims the benefit of the PCT Application
`No. PCT/AU98/00173, filed on Mar. 16, 1998, which is
`hereby incorporated by reference in its entirety. The present
`invention is also related to U.S. application Ser. No. 09/381,
`143, filed on Oct. 22, 1999, now U.S. Pat. No. 6,934,945
`which is hereby by incorporated by reference in its entirety.
`
`5
`
`10
`
`FIELD OF INVENTION
`
`From a first, general aspect, the present invention relates
`to a method and apparatus for preparing and processing
`information to be sent or received via a network. A network
`
`15
`
`in this instance may be implemented as data carried either
`over communications lines and/or stored on smart cards (or
`other data carriers) and physically transported.
`From a second, more specific aspect, the present invention
`relates to a method and apparatus for controlling remote
`payment transactions, particularly, but not exclusively, for
`controlling remote payment transactions where a persons
`account is credited and/or debited from a remote location in
`
`20
`
`exchange for goods/services cash or credit, or where account
`information is accessed remotely to enable approval of a
`transaction.
`
`25
`
`BACKGROUND OF INVENTION
`
`Devices for carrying out remote payment transactions are
`well-known. These “payment terminals” include EFTPOS,
`credit card payment terminals, etc.
`The most common function of payment terminals is to
`remotely access a persons account information and either
`carry out a transaction, such as crediting or debiting the
`account, or, particularly in the case of credit card payment
`terminals, to check the users account to ensure that there are
`sulficient funds to cover a transaction. Note that although
`credit card terminals do not necessarily remotely credit or
`debit the users account (the credit/debit transaction usually
`being carried out by a separate paper bill trail) and merely
`provide the information that the users account is sufficient to
`cover the transaction, such payment
`terminals still fall
`within the ambit of the present
`invention and the term
`“transaction” as used herein includes the operation of
`remotely checking the users account to “ok” a transaction.
`A payment terminal may, for example, provide for the
`following basic operations:
`(1) Input of information which is required to enable
`access to a customers account. The information is most often
`
`read from a magnetic stripe on a credit card or bank card or
`the like, or a smart card. In addition to reading details from
`a card a personal identification number (PIN) or the like
`code may also be required.
`(2) Obtain access to the customers account. This is usually
`done by remote communication with a processing device
`holding the person’s account data, usually on bank premises
`and remote from the payment terminal. Usually, information
`on the customers account input to the payment terminal will
`need to be transmitted for verification and to enable access
`
`to the account. Also a money amount will usually need to be
`input to the payment terminal and transmitted over the
`communications line. At least some and perhaps all of the
`transmitted data may be encrypted for security purposes and
`the payment terminal is therefore, in such a case, required to
`have means (3) providing encryption.
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`(4) The payment terminal may need to be able to receive
`communications over the remote line from the processor
`accessing the customers account, ie. to provide an “answer”
`to the payment device regarding the user transaction. The
`answer may include information that an account debit/credit
`has taken place (eg. EFTPOS) or merely an approval that the
`customer has enough money in his account to enable a
`transaction (some credit card payment terminals). Again,
`this transmitted information may be encrypted and, if so,
`will require translation (5) in the payment terminal.
`(6) To provide an indication that the transaction request is
`approved or that a transaction has occurred, by display or
`printer, for example. Displays may also be required to
`prompt an operator or customer to input information, e.g.,
`input your PIN “Input Amount”.
`There are many different brands of payment terminal,
`utilising many different software and hardware arrange-
`ments. This gives rise to a number of problems.
`Any account acquirer (eg. bank) will generally have their
`own operating requirements as to how remote payment
`transactions will be handled. The account acquirer may
`purchase a series of payment terminals which have been
`configured by a manufacturer to the acquirer’s requirements.
`These payment terminals will then be licensed or rented or
`more often supplied at no charge to merchants (e.g., retail
`stores, garages, restaurants). Multiple account acquirers may
`require access to their customers accounts via a single
`payment terminal. That is, one particular merchant may
`operate payment terminals which provide access to custom-
`ers accounts at other account acquirers (e.g., other banks).
`Because of different requirements of dilferent acquirers for
`handling of remote payment transactions, the payment ter-
`minal must be arranged to operate to satisfy the different
`requirements.
`The tenninal owner (often a principle acquirer) will have
`the terminal appropriately arranged and programmed by the
`terminal manufacturer to satisfy the requirements of all
`account acquirers utilising the terminal. Payment terminals
`may need to contain several programs and select the appro-
`priate program depending on the card to be processed or on
`an operator selection.
`It is often the case that the terminal owner may need to
`have the operation of the payment device amended to, for
`example, enable it to operate for an additional account
`acquirer, or to satisfy changed requirements for a particular
`account acquirer. Because of the different hardware/software
`architectures available, any operational alterations generally
`the require the input of the terminal supplier or manufac-
`turer. The supplier/manufacturer will be required to repro-
`gram the terminal or amend the hardware in order to carry
`out the alterations and they will usually be the only person
`who has the appropriate knowledge. The terminal owner is
`thus tied to the particular supplier/manufacturer of the
`particular brand of payment terminal.
`It is often the case that, the terminal owner may over time
`obtain different brands from different manufacturers and for
`
`operational alterations may need to return the particular
`brand to each separate manufacturer. Over time, manufac-
`turers may go out of business, in which case the payment
`terminals made by that particular manufacturer may be
`unsupported and any alteration may be difficult to achieve,
`or at least will require the input of a skilled person having
`detailed knowledge of the programming and/or hardware of
`the redundant manufacturer’s devices.
`
`Being tied to a particular manufacturer for a particular
`brand therefore causes cost,
`time and trouble when any
`operational alterations are required. There is therefore a
`
`Petitioner First Data - Exhibit 1001 - Page 15
`
`

`
`US 7,302,683 B2
`
`3
`reluctance to carry out operational alterations, which some-
`times means that requirements of various account acquirers
`are not fully satisfied. When an operational alteration does
`have to be carried out, it is costly. If a manufacturer goes out
`of business, the terminal owner may be left with nobody to
`alter the operation of his payment terminals, or indeed
`maintain the payment terminals. The present system is costly
`and inflexible.
`
`A payment terminal device usually includes a micropro-
`cessor and a number of peripheral units (e.g., card reader,
`display, printer, communications interface, _etc) controlled
`by the processor. A payment terminal device usually com-
`prises hardware, an operating system or a BIOS and is ready
`to accept an application for that arrangement. Or the device
`may be supplied with an interpreter to accept the applica-
`tions.
`
`To alter the operation of payment terminals, a new appli-
`cation must be created. This can be time consuming, costly
`and as the programming will be different for different types
`of devices, which may have different hardware arrange-
`ments as well, and must be carried out separately for each
`different type of device (i.e., different reprogramming opera-
`tions must be carried out for different devices even where the
`
`same operational alterations may be required).
`The programming alterations are not “portable” between
`different types of devices.
`The most time critical aspects of operation of a remote
`payment terminal
`involve the building up and breaking
`down of “messages” and the formulation and operation of
`communications. By “messages” is meant, for example,
`information data which is required to be input to the device
`or communicated or displayed in order to enable carrying
`out of a remote payment transaction, and includes informa-
`tion to be communicated to the bank, e.g., customers card
`number, customers PIN, amount of transaction, etc; dis-
`played information such as “Please Input Amount”; infor-
`mation to be read from a customers magnetic stripe card or
`smart card and manipulated by the device e.g., card number,
`expiry date, etc. The operation of payment terminals is
`greatly concerned with the collection, rearrangement and
`communication of this message data to enable a remote
`payment transaction.
`In conventional devices, each time a message is con-
`structed or deconstructed, the operation of the machine will
`be handled by the application program. To change operation
`of the machine, the application must be changed. This is
`laborious, and gives rise to problems, as discussed above.
`The technique of creating a _virtual processor_ (or in this
`case microprocessor) is well known and referred to as 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”.
`
`A_virtual machine_ is computer programmed to emulate
`a hypothetical computer. Different incompatible computers
`may be programmed to emulate the same hypothetical
`computer. Any computer programmed to emulate the hypo-
`thetical computer will thus be capable of executing pro-
`grams for the virtual computer. This creates a complete
`portable environment for program operations.
`A problem with virtual machines is emulation is slower
`than normal program execution. For some applications this
`performance penalty is a significant problem.
`The above problems and disadvantages which have been
`discussed specifically in relation to devices configured to
`process payment transactions also would apply to devices
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`configured to prepare and process any information to be sent
`or received via a network, not restricted to payment trans-
`action information.
`
`SUMMARY OF INVENTION
`
`A first aspect the present invention is directed to a device
`arranged to process messages for communications, compris-
`ing a virtual machine means including a message processor
`means which is arranged to process messages communicated
`to and/or to be communicated from the device, and message
`processor instruction means, arranged to provide directions
`for operation of the message processor means. Another
`aspect of the present invention is directed to a method for
`operating a device arranged to process messages for com-
`munications. Another aspect of the present
`invention is
`directed to a method of programming a device arranged to
`process messages for communications.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`From a first aspect the present invention provides a device
`arranged to process messages for communications, compris-
`ing a virtual machine means including a message processor
`means which is arranged to process messages communicated
`to and/or to be communicated from the device, and message
`processor instruction means, arranged to provide directions
`for operation of the message processor means.
`“Communicated” includes transport of data via a data
`carrier such as a smart card.
`
`The message processor means is preferably a program
`module the specific function of which is to assemble,
`disassemble and compare messages. By messages we mean
`a sequence of data comprising usually a plurality of infor-
`mation fields to be communicated.
`
`The message processor means is preferably translated into
`the native code of the microprocessor in each hardware
`device on which the virtual machine is to be implemented.
`The message processor instructions are preferably virtual
`instructions to be expressed only in the language defined by
`the message processor means and thus never requiring
`translation to any real hardware processor.
`The message processor means in at least a preferred
`embodiment provides two specific advantages over conven-
`tional arrangements
`1) Faster Operation. The processor (executing as native
`code) operates at full microprocessor speed overcoming the
`problem of slow emulation speed for message related func-
`tions.
`
`2) Faster, simpler programming. The instructions for the
`message processor preferably consist of actual message
`“descriptions”. The programmer need only describe the
`message content, all data conversion, manipulation and
`processing is automatically performed based on the message
`description. This is a more intuitive and compartmentalised
`approach which preferably leads to faster programming with
`less errors.
`
`The virtual machine preferably also includes a protocol
`processor means particularly arranged to organize commu-
`nications to and from the device, and also preferably include
`protocol processor instructions which are arranged to pro-
`vide directions for operation of the protocol processor
`means.
`
`The protocol processor means is preferably a program
`module the specific function of which is to control and select
`
`Petitioner First Data - Exhibit 1001 - Page 16
`
`

`
`US 7,302,683 B2
`
`5
`the sequence of message processor operations in relation to
`messages received and transmitted.
`The protocol processor means is preferably translated into
`the native code of the microprocessor in each hardware
`device on which the virtual machine is to be implemented.
`The protocol processor instructions are virtual instructions
`expressed only in the language defined by the protocol
`processor means and thus never requiring translation to any
`real hardware processor. The protocol processor means
`provides two specific advantages over conventional arrange-
`ments:
`
`1) Faster Operation. The processor (executing as native
`code) preferably operates at filll microprocessor speed over-
`coming the problem of slow emulation speed for protocol
`related functions.
`
`2) Faster, simpler programming. The instructions for the
`protocol engine preferably consist of an actual diagram of
`the message flow. To change message flow or sequence, the
`programmer can modify an intuitive diagram, all multipro-
`cessing and other complications are handled automatically.
`This more intuitive and compartmentalised approach leads
`to faster programming with less errors.
`In a preferred embodiment, therefore, a device in accor-
`dance with the present invention includes a virtual machine
`including virtual processors which are specifically arranged
`to control message construction, deconstruction, comparison
`and to control the communication of information, both for
`reception from a network and transmission to a network.
`These operations can therefore be carried out at speed,
`overcoming the problems with known virtual machines and
`interpreters, which tend to operate slower than convention-
`ally programmed devices. The virtual machine therefore
`lends itself particularly to applications relating to commu-
`nications, such as payment
`terminal devices and other
`devices in which message processing and communication
`comprise a significant proportion of the operation of the
`device. In payment terminals, for example, a payment ter-
`minal
`including a virtual machine having the message
`processor means and protocol processor means can operate
`satisfactorily speedwise. The virtual machine can be imple-
`mented on any hardware, BIOS/OS arrangement and there-
`fore facilitates portability of programs.
`Implementation of such a virtual machine on payment
`terminal devices of different brands enables operation of the
`payment terminal devices or brands to be altered merely by
`altering application commands generic to all brands. Each
`brand is seen by the application as the same virtual machine.
`The virtual machine preferably also includes a function
`processor means arranged to control overall virtual machine
`action in response to operator or other external events, and
`also preferably includes function processor instructions
`which are arranged to provide directions for operation of the
`function processor means.
`The function processor means is preferably a program
`module the specific function of which is to control and select
`general operations of the device not specially controlled by
`the message and protocol processor means.
`The function processor means is preferably translated into
`the native code of the microprocessor in each hardware
`device on which the virtual machine is to be implemented.
`The function processor instructions are preferably virtual
`instructions to be expressed only in the language defined by
`the function processor means and thus never requiring
`translation to any real hardware processor.
`In the preferred embodiment, the “application” will there-
`fore comprise instructions for the message, protocol and
`function processor means. The instructions for the function
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`processor means may include such prior art modules as a
`function event scheduler and function selector.
`
`Although the present invention is particularly applicable
`to application in payment terminals, it is not limited to such
`applications. The invention can be applied in any device
`where advantages are likely to be achieved for the arrange-
`ment and control of communications.
`With the advent of the Internet and other extensive
`
`communications networks, it is believed that the operation
`of computers, such as PC’s, will become more and more
`oriented towards acting as “servers” and/or “browsers”. In
`other words, a major function of PC’s connected to a
`network will be to operate either as a server, providing
`information and/or programs to the network for access by
`other parties, or as a “browser” for obtaining information/
`programs available on the network and operating on them.
`It is likely, in fact, that PC’s will be asked to operate as both
`a server and a browser. This operation will not merely be
`restricted to the Internet, but for any network, even Local
`Area Networks.
`
`The applicant also believes that many other classes of
`devices may be connected to a network. For example in the
`filture a home video cassette recording machine could be
`connected to the Internet (along with other devices) allowing
`remote programming from a browser device. An example of
`the use of this would be a worker upon learning of a
`requirement to stay at the ofiice late and miss a favorite show
`could access their home VCR from the ofiice and program
`it.
`
`Telephone calls will eventually be digital and most likely
`use the Internet as the digital network. Like the VCR, this
`does not mean all phones would need a qwerty keyboard and
`color display. They will both represent other classes of
`Internet connected devices not requiring the exact same
`configuration as PC’s.
`The present invention facilitates the production of a small,
`economical device which is particularly arranged to deal
`with communications,
`to build, compare and deconstruct
`message information. Such a device is novel maybe termed
`a Specialized Network Access Computer (SNAC). The
`applicants believe that a SNAC could emerge as a class of
`device allowing data entry and control through the Internet
`where a smaller, more economical device than a conven-
`tional PC is appropriate. In a preferred embodiment, the
`device is implemented utilising a virtual machine having a
`message processor and a protocol processor as discussed
`above. In the preferred embodiment, the software of the
`device can be considered to include three layers of virtual
`machine software (the HW drive layer,
`the Hardware
`Abstraction Layer, and the Virtual Machine Processor layer)
`and a software application. All layers other than the Virtual
`Machine Processor Layers are well established by prior art.
`A payment terminal can be used substantially without alter-
`ation as the hardware component of the device. A hardware
`abstraction layer (HAL) is a set of routines providing a
`common application program interface (API) to exercise the
`operating system, BIOS or hardware drivers.
`HAL consists of routines to either (a) implement the
`filnctionality not provided by the underlying operating sys-
`tem, BIOS or hardware drivers, but needed for the common
`API, and (b) translation of parameters and adjustments of
`filnctionality required to adapted underlining OS, BIOS
`routines for the routines specified by the common API.
`Such a SNAC can be applied in many different types of
`communication application over a network.
`The present invention also facilitates the production of
`devices which incorporate a snac as a functional element of
`
`Petitioner First Data - Exhibit 1001 - Page 17
`
`

`
`US 7,302,683 B2
`
`7
`the device. Such devices could include both devices collect-
`
`ing information for transmission over a network such a pay
`telephones, particularly those equipped with smart card
`facility, or devices receiving information from a network
`such as the futuristic VCR or even washing machine.
`Preferably, message instructions and protocol instructions
`may be developed on a convenient device such as a PC or
`general purpose computer, utilising a development tool in
`accordance with another aspect of the invention.
`From a further aspect, the present invention provides a
`development tool for developing message instructions for
`providing directions for operation of a message processor
`means to be implemented in a virtual machine as discussed
`above, the development tool comprising a processing appa-
`ratus arranged to receive data input by a user to build
`message instructions for the message processor means.
`The arrangement is preferably driven by a graphical user
`interface based program which provides various screens and
`fields for the user to input data relating to message instruc-
`tions.
`
`The message instructions are preferably subsequently
`converted to code and downloaded into the device which is
`to employ them with the virtual machine. From a further
`aspect the present invention provides a development tool for
`developing protocol instructions for directing operation of a
`protocol processor means to be implemented with the virtual
`machine as discussed above, the development tool compris-
`ing processing means arranged to receive data input by a
`user to build protocol instructions.
`The arrangement
`is preferably a program which is
`arranged to build protocol instructions from the data input
`by the user. The program is preferably graphical user inter-
`face based and provides screens and fields to facilitate data
`input for the protocol instructions.
`Protocol instructions and message instructions can there-
`fore be built on a PC and downloaded to device where the
`
`virtual machine is to be implemented.
`A tool has also preferably been provided for developing
`function processor instructions, along the lines of the tool for
`the protocol processor instructions and message protocol
`instructions.
`
`Limited hardware provided by such a device as a payment
`terminal or other SNAC device does not
`lend itself to
`
`development and testing of applications programs. Although
`the finalized application must run on the hardware,
`to
`develop and test an application it is more convenient to be
`able to utilize a more user friendly device, such as a PC or
`general purpose computer.
`From a further aspect, the present invention provides a
`communications device including a virtual machine means
`including a protocol processor means arranged to organize
`communications to and fro

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