Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

US 20110241996A1

(19) United States


(12) Patent Application Publication (10) Pub. N0.: US 2011/0241996 A1
Vesely (43) Pub. Date: Oct. 6, 2011

(54) STATE-DRIVEN SELF-SERVICE TERMINAL (57) ABSTRACT


_ A state-driven self-service terminal is described. The termi
(76) Inventor? Jan Vesely: Monl?eth (GB) nal comprises: (i) a state information table; (ii) a screen dic
tionary; (iii) a monitoring component arranged to ascertain
(21) Appl, NO; 12/749,840 status information relating to a condition of the terminal; and
(iv) a screen control component. The screen dictionary com
(22) Filed .
Mar 30 2010
. ,
prises (a) a unique Value corresponding to a unique key
parameter, and (b) a control sequence including a prompt
associated With that unique key parameter. The screen control
PubliC?tiOIl ClaSSi?CatiOIl component is arranged to receive the ascertained status infor
mation, and in response thereto, (a) to populate a screen With
(51) Int. Cl. those . .
prompts from the screen dictionary .
that are conslstent
G06F 3/02 (200601) With the ascertained status information and (b) to enable those
keys corresponding to key parameters that are consistent With
(52) US. Cl. ...................................................... .. 345/168 the status information.

[10
RUNTIME LOCAL
PLATFORM g APPLICATION
®@ /14
Q Q Q) min-w]
34/ 32 /{ CPU- BIOS
30
K38 K36
DISPLAY
CON-L STORAGE

[20 f26a 26n\ /28


DISPLAY ATM , , , DEPOSIT [j
& FDKs MODLILE MODULE
Patent Application Publication Oct. 6, 2011 Sheet 1 0f 5 US 2011/0241996 A1

[10
RUNTIME LOCAL
PLATFORM g APPLICATION
@@ N
E 5_0 a] @I- all
34/
K30
r38 r36
DISPLAY
Com STORAGE

/ 20 r2621 26n
\ fzs
DISPLAY ATII/I _ , _ DEPOSIT
& FDKS MODULE MODULE

FIG. 1

22
24i / 24a
\E III/
24h\|:| [II-24b
249/5 |:]\24c
24I/| I ‘24d
20/ FIG. 2
Patent Application Publication Oct. 6, 2011 Sheet 2 0f 5 US 2011/0241996 A1

wS5E3 2
?wm
Kmw
KNN
fwh
Fwn
row E@2$75m1aw8 m0E»\

.8

1.58,‘
:202£5//EE
Patent Application Publication Oct. 6, 2011 Sheet 3 0f 5 US 2011/0241996 A1

2:26.2$25682.::5:2202E1:22 2 :2222E._22Q_<2:N22:Fn:_2:222222:222:::5w 22:222E2:Q:5m :522m22E9.Em:2 2:22:5:222E9.EN 2EE2:529.5w:2


N6m2628522:2E:2:8262:85 m2>22:2E2:22:86:2%:5 2222%:2m>2::<2E22:22222::2 m2222%>22:2E:2:225:.2,5:>
i2:26205:2:8: 62:220:5(2,15%:03 lim2:22:o52,8: 2GE\
rzwmFwmKwm(mm whwm2 28 F582222m32:.A.:52225
.8
Patent Application Publication Oct. 6, 2011 Sheet 4 of 5 US 2011/0241996 A1

[122 [124
Unique Value Control Sequence
130— 1 _

132“ 2 -
134-’ 4 L7 “Add More”
136-—— 8 O7 “Refund” FIG. 5
138-’ 16 O@ “Deposit”
140-’ 32 L@ “Detail”
142-’- 64 -
144“ 128 -

120 j

[122 f124
Unique Value Control Sequence
13[]—\ 1 _

132\ 2 _

134—-— 4 L7 “Add More”


136* 8 O7 “Refund” FIG. 6
138“ 16 0@ “Deposit”
152/ 32 L@ “Summary”
1544 64 -
156A 128 -
Patent Application Publication Oct. 6, 2011 Sheet 5 0f 5 US 2011/0241996 A1

1 2 22 160
6 \\ f /
24F“ NOTES ACCEPTED — ESCROW SPACE ~24a
‘I64
2411 ESE =
= 2113 24b
176 \166
249
[172
<< DETAIL
X
ADD MORE >> L“240

174 178\
24f“ '/ << DEPOSIT REFUND >> 24d

FIG. 7

20

241
162\\
NOTES ACCEPTED - ESCROW SPACE
f [/1210 24a
USD 10 x 5 = 50 .\
TOTAL = 50 184
24"“ EUR 50 x 10 = 500 [186 24b
EUR 500 x 3 = 1500
TOTAL = 2000
249’ << SUMMARY ADD MORE >> 240
192/ \176
24f; << DEROSIT REF\UND >> ~24d
174i \178
FIG. 8
US 2011/0241996 A1 Oct. 6, 2011

STATE-DRIVEN SELF-SERVICE TERMINAL full. The number and type of screens available are de?ned by
the proprietary message interface, so extra screens cannot
FIELD OF INVENTION easily be added Without updating the proprietary message
interface.
[0001] The present invention relates to a state-driven self [0007] It Would be desirable to be able to make the screens
service terminal. more con?gurable Without having to change the proprietary
message interface.
BACKGROUND OF INVENTION
SUMMARY OF INVENTION
[0002] Self-service terminals, such as ATMs, can be con
trolled remotely using a host that downloads a transaction [0008] Accordingly, the invention generally provides
How to the SST. NCR Corporation (trade mark) uses a pro methods, systems, apparatus, and softWare for an improved
prietary message interface to alloW a host to control an ATM. state-driven SST.
This proprietary message interface is called NCR Direct Con [0009] In addition to the Summary of Invention provided
nect (NDC). Other proprietary message interfaces are also above and the subject matter disclosed beloW in the Detailed
available that enable a remote host to control an ATM. SSTs Description, the folloWing paragraphs of this section are
that are controlled remotely by a host (rather than by an intended to provide further basis for alternative claim lan
application executing on the SST) are referred to herein as guage for possible use during prosecution of this application,
“state-driven SSTs”. As used herein, “state-driven SSTs” do if required. If this application is granted, some aspects of the
not include any SST that uses a local application that is invention may relate to claims added during prosecution of
programmed With its oWn transaction ?oW. State-driven SSTs this application, other aspects may relate to claims deleted
receive a transaction How in the form of tables (including during prosecution, other aspects may relate to subject matter
state, screen, and parameter information) doWnloaded from a never claimed. Furthermore, the various aspects detailed
remote host. hereinafter are independent of each other, except Where stated
[0003] These proprietary message interfaces typically otherWise. Any claim corresponding to one aspect should not
operate based on one or more tables of states and screens. be construed as incorporating any element or feature of the
When anATM boots up, it doWnloads any necessary state and other aspects unless explicitly stated in that claim.
screen information (either the complete information or an [0010] According to a ?rst aspect there is provided a state
update for existing information) from a control application driven self-service terminal comprising:
executing on the remote ho st. The ATM can then offer trans [0011] (i) a state information table indicating a current
actions to a customer. Once the ATM has gathered the neces state, an associated screen for display While the terminal is in
sary details from the customer (card data, PIN data, transac that state, and key parameters for enabling customer inputs
tion data, and the like), it then sends a transaction request to associated With options de?ned by the associated screen;
the remotely-located control application and receives a [0012] (ii) a screen dictionary comprising a plurality of
response. This response instructs the ATM to perform certain entries, each entry including (a) a unique value corresponding
actions, such as dispensing a requested amount of cash if the to a unique key parameter, and (b) a control sequence includ
transaction is authorized, or presenting a screen to the cus ing a prompt associated With that unique key parameter;
tomer informing the customer that the transaction has not [0013] (iii) a monitoring component arranged to ascertain
been approved, in the event that the transaction is declined. status information relating to a condition of the terminal; and
[0004] Each ATM stores a state table, Which typically com [0014] (iv) a screen control component arranged to receive
prises the state number, state type, parameters, con?guration the ascertained status information, and in response thereto,
data, screen numbers, next state information, and screen data. (a) to populate a screen With those prompts that are consistent
In general, Where a screen is present it is displayed When the With the ascertained status information and (b) to enable those
state is entered, the ATM performs the action speci?ed by the keys corresponding to key parameters that are consistent With
state type, and the transaction ?oW moves to the speci?ed next the status information.
state. Where a plurality of screens are de?ned for the same [0015] By virtue of this aspect of the invention, the SST
state, then each screen may be displayed in sequence prior to does not present a customer With any selectable prompts that
the ATM advancing to the next state. are not relevant because of the status of an SST, nor does the
[0005] One problem With state-driven ATMs is that the SST enable any keys used for selecting any selectable
ATM does not knoW What it is presenting to the customer, all prompts that are not relevant because of the status of an SST.
it knoWs is that it is presenting a prede?ned screen identi?ed [0016] The monitoring component may be softWare, such
by a screen number (from the state table), and that it is as a runtime platform either alone or in combination With an
enabling prede?ned Function Display Keys (FDKs) as indi application executing on the runtime platform.
cated by the parameters (from the state table). If a screen [0017] The prompt may comprise graphics and/or a char
being presented includes options that are not currently avail acter string (such as text and/ or numbers) that are to be pre
able, the ATM is not able to suppress presentation of these sented on a display as a selectable option.
options because it does not knoW that they are being pre [0018] The prompt may correspond to a function de?ned by
sented. the state information table for that unique key parameter.
[0006] Furthermore, multiple screens may be required to [0019] The key parameters may relate to Function Display
cope With different possibilities. For example, one screen for Keys (FDKs) and/or keys on a keypad, such as an encrypting
a banknote deposit transaction may include an “Add more keypad.
banknotes” option that can be displayed if a banknote escroW [0020] The control sequence may further comprise position
is not yet full, and an alternative screen for the banknote control values for the prompt for indicating a position on a
deposit transaction may not include the “Add more ban screen at Which the prompt is to be presented. When the
knotes” option that can be displayed if the banknote escroW is screen control component populates a screen With only those
US 2011/0241996 A1 Oct. 6, 2011

prompts that are consistent With the ascertained status infor [0031] According to a third aspect there is provided com
mation, the screen control component may be further puter readable media storing instructions Which, When
arranged to add each prompt to a position on the screen executed on a self-service terminal, implement the method of
identi?ed by its associated position control values, so that the second aspect.
each prompt is adjacent to, and aligned With, an FDK corre [0032] The computer readable medium may comprise a
sponding to its respective key parameter. magnetic drive, an optical disk, a computer memory, or the
[0021] The position control values may comprise tWo char like.
acters: a roW reference character and a column reference [0033] According to a fourth aspect there is provided a
character, indicating a roW and column at Which the prompt is netWork of self-service terminals, the netWork comprising a
to be displayed. host including a control application, and a plurality of state
[0022] The control sequence may further comprise one or driven self-service terminals according to the ?rst aspect.
more format control values for the prompt, so that the format [0034] The control application executing on the host may
control values indicate hoW the prompt, or one or more parts doWnload the state information table to the plurality of SSTs.
of the prompt, should be displayed. For example, the format The state information table may be identical for each SST in
control values may indicate that the prompt is to be displayed the netWork.
in bold font, in large font, or the like. [0035] For clarity and simplicity of description, not all
[0023] The screen dictionary may be stored as part of the
combinations of elements provided in the aspects recited
state information table, referenced by the state information above have been set forth expressly. Notwithstanding this, the
table, or store separately from the state information table.
skilled person Will directly and unambiguously recogniZe that
unless it is not technically possible, or it is explicitly stated to
[0024] The terminal may comprise a plurality of screen the contrary, the consistory clauses referring to one aspect are
dictionaries, each screen dictionary being associated With a intended to apply mutatis mutandis as optional features of
screen.
every other aspect to Which those consistory clauses could
[0025] The status information may relate to an event occur possibly relate.
ring at the terminal, a selection made by a customer at the [0036] These and other aspects Will be apparent from the
terminal, a state of a device Within the terminal, or the like. folloWing speci?c description, given by Way of example, With
[0026] As used herein, the term “screen” relates to data, not reference to the accompanying draWings.
a physical device; and the term “display”, When used as a
noun, refers to a physical device. Thus, a succession of BRIEF DESCRIPTION OF THE DRAWINGS
screens can be presented (or rendered) on a display.
[0027] The self-service terminal may comprise an auto
[0037] FIG. 1 is simpli?ed schematic diagram of a state
driven self-service terminal according to one embodiment of
mated teller machine (ATM), an information kiosk, a ?nan
cial services centre, a bill payment kiosk, a lottery kiosk, a the present invention;
postal services machine, a check-in and/or check-out termi [0038] FIG. 2 is a schematic diagram shoWing a part (the
customer display module) of the terminal of FIG. 1 in more
nal such as those used in the retail, hotel, car rental, gaming,
healthcare, and airline industries, or the like. detail;
[0039] FIG. 3 illustrates a simpli?ed excerpt from a state
[0028] According to a second aspect there is provided a information table stored in the terminal of FIG. 1;
method of operating a state-driven self-service terminal, the
[0040] FIG. 4 is a table describing part of an entry (the Cash
method comprising: (i) storing state information indicating Accept state and its associated parameters) in the state infor
(a) a current state, (b) an associated screen for display While
mation table of FIG. 3 in more detail;
the terminal is in that state, and (c) key parameters for
enabling customer inputs associated With options de?ned by [0041] FIG. 5 is a table illustrating the contents of a ?rst
screen dictionary stored in the terminal of FIG. 1;
the associated screen; (ii) storing a screen dictionary com
prising a plurality of entries, each entry having a unique value [0042] FIG. 6 is a table illustrating the contents of a second
corresponding to a unique key parameter, and (b) a control screen dictionary stored in the terminal of FIG. 1;
sequence including a prompt associated With that unique key [0043] FIG. 7 is a pictorial diagram illustrating the cus
parameter; (iii) detecting status information relating to the tomer display module of the terminal of FIG. 1 presenting a
terminal; (iv) populating a screen With only those prompts ?rst screen having prompts inserted from the screen dictio
that are consistent With the detected status information; and nary of FIG. 5; and
(v) enabling only those keys corresponding to key parameters [0044] FIG. 8 is a pictorial diagram illustrating the cus
that are consistent With the status information. tomer display module of FIG. 6 presenting a variant of the
?rst screen having prompts inserted from the screen dictio
[0029] The state information may indicate (b) a plurality of
nary of FIG. 6.
associated screens for display While the terminal is in that
state.
DETAILED DESCRIPTION
[0030] The step of populating a screen With only those
prompts that are consistent With the detected status informa [0045] Reference is ?rst made to FIG. 1, Which is a simpli
tion may further comprise superimposing those prompts onto ?ed, schematic diagram of a state-driven self- service terminal
the associated screen. The associated screen may include (SST) 10, in the form of an automated teller machine (ATM),
blank portions to facilitate this superimposition. Alterna according to one embodiment of the present invention.
tively, the step of populating a screen With only those prompts [0046] The ATM 10 comprises a plurality of modules for
that are consistent With the detected status information may enabling transactions to be executed and recorded by the
further comprise creating a composite screen comprising the ATM 10. These ATM modules comprise: a controller module
associated screen having portions thereof replaced by the 14, a customer display module 20, and various other user
prompts. interface modules and internal ATM modules (labeled 26a to
US 2011/0241996 A1 Oct. 6, 2011

2611), Which are not shown in detail. One of these modules is [0058] The ?rst column 72 is the State Number column.
a depository module 2611 having an escrow 28. This is populated With a unique number for each state in the
[0047] The controller 14 comprises a Basic Input Output state information table 50. In this example, for entry 70, the
System (BIOS) 30 stored in non-volatile memory, a micro state number is “12”.
processor 32, main memory 34, storage 36 in the form of a [0059] The second column 74 is the State Type column.
magnetic disk drive, and a display controller 38 in the form of There are many possible state types, such as the Card Read
a graphics card for controlling the customer display module state, the PIN Entry state, the Eight FDK state, the Close state,
20 and any operator panel (not shoWn) that is present. and the like. Each of these states has a unique identi?er. For
[0048] As shoWn in more detail in FIG. 2, the customer example, the Cash Accept state has the identi?er “>”.
display module 20 comprises an LCD display panel 22 and [0060] The third column 76 is the Parameters column.
eight function display keys (FDKs) (labeled 24a to 24ii There are a number of parameters that can be used in this
there is no 24e) arranged as tWo columns of four FDKs column 76, but the most important for the purpose of this
located opposite each other and on either vertical side of the embodiment are the key parameters that relate to Which FDKs
front of the LCD display panel 22. are to be enabled When the local application 44 is in the state
[0049] When the ATM is poWered up, the main memory 34 for that entry 70 (Which is state number 12 in this example).
is loaded With anATM runtime platform 42 (Which functions, [0061] The fourth column 78 is the Screen Number column.
inter alia, as a monitoring component) and a local application Each entry for this column includes a number corresponding
44, both of Which are stored on the magnetic disk drive 36. to an associated screen.
[0050] The ATM runtime platform 42 includes: (i) compo [0062] The ?fth column 80 is the con?guration parameters,
nents from a conventional operating system (in this embodi Which relate to ATM con?guration parameters, such as the
ment, WindoWs XP (trademark), available from Microsoft length of time before a time-out is activated, the status mes
Corporation (trade mark)), and (ii) proprietary components. sages used, and the like. These con?guration parameters are
[0051] As is knoWn in the art, the local application 44 (i) conventional and not directly relevant to this embodiment.
presents a sequence of screens on the ATM display module 20 [0063] The sixth column 82 is the Screen Data column.
to a customer at the ATM, (ii) collates information from the This column contains the screen data for the screen or screens
customer via the ATM modules 20,26 and the runtime plat to be presented on the customer display module 20 When the
form 42 (for example, customer account information from a ATM 10 is in that state (Which is state “12” for entry 70). The
customer’s ATM card, transaction request, transaction screen data for each screen also includes any screen dictio
amount, and the like), (iii) transmits a transaction request to a nary 52 associated With that screen.
remote authoriZation server (not shoWn), and (iv) instructs [0064] Although illustrated in FIG. 3 as a table, the state
modules Within the ATM 10, in response to commands information may be stored as a series of tables, or in any other
received from the remote authorization server to ful?ll the convenient manner, Which is Why there is a number in column
transaction request. four referencing the associated screen data, even though the
[0052] The local application 44 includes a message inter actual screen data is illustrated as residing in column six.
face component 46, and a screen control component 48. The [0065] The format of this state information table 50 is con
local application 44 also stores a state information table 50 ventional and knoWn to those of skill in the art.
(populated With data doWnloaded from a remote host), [0066] Part of entry 70 of the state information table 50 is
including a plurality of screen dictionaries 52a,b . . . n. shoWn in more detail in FIG. 4, Which is a table 90 describing
[0053] The message interface component 46 implements the Cash Accept state and its associated parameters in more
the NCR Direct Connect (NDC) message interface and detail. Although this part of entry 70 is shoWn in tabular form,
enables the ATM 10 to communicate With a control applica it is in fact stored as an entry in the state information table 50,
tion (not shoWn) executing on a remote authoriZation server and this one entry is illustrated in tabular form in FIG. 4 only
(not shoWn). for clarity of explanation and to aid understanding.
[0054] The screen control component 48 communicates [0067] The Cash Accept state table 90 comprises a table
With the runtime platform 42 to receive status information. entry column 92 (Which contains a unique entry number that
This status information includes customer selections at the is incremented for each entry), a number of bytes column 94
ATM 10, the state of modules 26 Within the ATM 10, events (Which shoWs the number of bytes of data assigned to the
occurring Within the modules 26 of the ATM 10, and the like. contents for that entry), a contents column 96 (Which
[0055] The state information table 50 comprises the state describes the contents for that entry), and a description col
number, state type, parameters, con?guration data, screen umn 98 (Which describes hoW to interpret the contents for that
numbers, next state information, and screen data. Although entry). Only the contents column 96 actually appears in the
referred to herein as a state information table 50, this table 50 state information table 50; the other information is provided
actually comprises a series of linked tables (for example, a to aid understanding this embodiment.
card read table, a PIN entry table, a cash accept table, and the [0068] The ?rst entry 100 indicates that one byte is used to
like), or a table With further tables nested therein. There is designate the state type. In FIG. 4, the state type indicated is
typically one or more table entries for each state type, plus the Cash Accept state. This appears in the state information
other associated tables. The particular data structure that is table 50 in roW 70 column 74 as “>” (Which is the code used
chosen to store this state information is not critical. to indicate the Cash Accept state).
[0056] Reference Will noW be made to FIG. 3, Which is a [0069] The second to ?fth entries 102, 104, 106, 108, 110
simpli?ed excerpt from the state information table 50. are used to designate the key parameters (that is, the FDKs)
[0057] For illustration purposes, the state information table that are used When the ATM 10 is in the Cash Accept state.
50 is shoWn having only one entry 70 and six columns 72 to [0070] The Cash Accept state table 90 indicates that four
82, although many more entries Would exist in full embodi FDKs should be enabled: a Cancel FDK (entry 102), a
ments. Deposit FDK (entry 104), anAdd More FDK (entry 106), and
US 2011/0241996 A1 Oct. 6, 2011

a Refund FDK (entry 108). Each of these four key parameters corresponding to that prompt is enabled. The control
comprises three bytes that indicate Which FDK on the ATM sequence also includes position control values indicating
10 is to be enabled for its de?ned function (Cancel, Deposit, Where on a screen the prompt is to be displayed, and option
Add More, and Refund). If the ?rst bit is active and the ally format control values indicating hoW the text is to be
remaining seven bits inactive, then the ?rst FDK (24a) is to be presented (for example, as bold, italics, or normal font).
enabled. If the second bit is active and the remaining seven [0077] In this embodiment, the unique identi?er is the
bits (bit one and bits three to eight) are inactive then the equivalent value for the FDK code used in the number of
second FDK (24b) is to be enabled. If the ?fth bit is active and bytes column 94. For example, if the Add More FDK (entry
the remaining seven bits (bits one to four and bits six to eight) 106 in the CashAccept state table 90) is assigned to the third
are inactive then the ?fth FDK (24]) is to be enabled, and so FDK 240, then the associated entry in the Parameters column
on. It is also possible that multiple FDKs may be enabled for 76 (state information table 50) Would be “00000100”, Which
the same function; for example, if the ?rst and second bits are is the value “4”. This value Would then be used as the unique
both enabled, then the ?rst (24a) and second (24b) FDKs are identi?er in the screen dictionary table 120 (column 122).
both enabled for the same function (for example, “Cancel”). This provides a simple and direct Way to link the FDKs
[0071] The data from column 94 and roWs 102 to 108 de?ned in the state information table 50 With the prompts
appears in the state information table 50 in roW 70 column 76 stored in the screen dictionary 52.
as a sequence of “m” bytes. Although only tWelve bytes are [0078] Each of the roW entries 130 to 144 in the Con?rma
illustrated for column 94 and roWs 102 to 108, there are other tion screen dictionary table 120 relates to a text prompt that
bytes that are included in roW 70 column 76 in addition to can be displayed on the Con?rmation screen.
these tWelve bytes, but these additional bytes are not relevant [0079] In this example, a plurality of screens that can be
to this example. Furthermore, different state types may use a displayed in the Cash Accept state (the exact number is
different number of parameters. de?ned by the message interface using the state information
[0072] The second entry 102 in the Cash Accept state table table 50), one screen is a “Please Enter Notes” screen, another
90 relates to an FDK that is enabled When a “Please Enter screen is a “Con?rmation” screen, a third screen is an
Notes” screen is presented on the customer display module “EscroW Full” screen.
20; Whereas, the third to ?fth entries 104, 106, 108 relate to [0080] As Will be described in detail beloW, this embodi
FDKs that are enabled When a “Con?rmation” screen is pre ment alloWs the “EscroW Full” screen to be used for a differ
sented on the customer display module 20. There are other ent purpose Without changing the message interface (that is,
screens de?ned by the message interface for this state that are Without having to change the softWare resident on the remote
not referenced above, such as a “Please Wait” screen and an authoriZation server).
“Error” screen. Another screen de?ned for this state by the [0081] The EscroW Full screen has an associated screen
message interface is an “EscroW Full” screen, Which is used dictionary (the EscroW Full screen dictionary 52b), Which is
When the escroW 28 cannot accommodate any more ban illustrated in FIG. 6 as a table 150. The EscroW Full screen
knotes. These de?ned screens are stored in the Screen Data dictionary 52b is assigned a unique identi?cation (in this
column 82 of the state information table 50. example, “998”). Those entries in table 150 that are identical
[0073] It Will be appreciated that the Cash Accept state to the corresponding entries in table 120 have common ref
table 90 is provided to give a human programmer an under erence numerals. The only difference betWeen the entries in
standing of the meaning of the data structures used. The ATM the tWo tables 120,150 is that entry 152 relates to a “Sum
10 uses a sequence of bits as indicated in the number of bytes mary” option; Whereas, entry 140 (Which relates to the cor
column 94 because the ATM 10 is aWare that the ?rst byte responding FDK) relates to a “Detail” option.
relates to the state type, the next three bytes relate to the [0082] Reference Will noW also be made to FIG. 7, Which is
Cancel FDK, the next three bytes relate to the Deposit FDK a pictorial diagram illustrating the customer display module
and the like. 20 shoWing a Con?rmation screen 160 during a transaction.
[0074] Reference Will noW be made to FIG. 5, Which is a [0083] At this point in the transaction, a customer has been
table 120 illustrating a screen dictionary 52a for the Con?r identi?ed and has deposited banknotes into the depository
mation screen. This screen dictionary 5211 is assigned a module 2611 in the ATM 10. The con?rmation screen 160
unique identi?cation (in this example, “999”). One reason comprises a ?xed banner heading 162, a ?rst currency deposit
that the Con?rmation screen dictionary 5211 is given a unique amount 164, a second currency deposit amount 166, and four
identi?cation is that there may be multiple screens for each locally-enabled FDK prompts 172 to 178.
state, and each screen may have its oWn screen dictionary 52, [0084] The ?xed banner heading 162 states “Notes
or even multiple screen dictionaries. Each screen dictionary AcceptediEscroW Space” indicating that banknotes have
52 has an entry for each FDK (or other key) that is to be been accepted into the escroW 28 of the depository module
enabled While that screen is presented. If any screen does not 2611.
have an associated screen dictionary, then the settings for that [0085] The ?rst currency deposit amount 164 is presented
screen are used as normal. In other Words, a screen dictionary in response to the escroW communicating the number of Us.
is not essential; Where one is not present, the globally-con dollars deposited therein; and the second currency deposit
?gured screen parameters are used. amount 166 is presented in response to the escroW commu
[0075] The Con?rmation screen dictionary table 120 com nicating the number of Euros deposited therein.
prises tWo columns and nine roWs. The ?rst column (the [0086] The four locally-enabled FDK prompts 172 to 178
identi?cation column) 122 stores a unique identi?er corre are presented in response to the screen control component 48
sponding to one of the eight FDKs, and the second column querying the Con?rmation screen dictionary 5211, as Will noW
(the prompt column) 124 stores a control sequence. be described.
[0076] The control sequence includes a prompt comprising [0087] When the screen control component 48 populates
text or graphics that is to be presented on a screen if the FDK the Con?rmation screen 160, the screen control component
US 2011/0241996 A1 Oct. 6, 2011

48 analyses the state information table 50 to ascertain Which amount in detail 186 (also obtained from the escroW 28), and
FDKs should be enabled and Whether the Con?rmation four locally-enabled FDK prompts 174, 176, 178, and 192.
screen dictionary 52a should also be referred to. [0095] Three of these locally-enabled FDK prompts 174,
[0088] If the Con?rmation screen dictionary 52a does not 176, 178 are identical to those presented on the Con?rmation
need to be referred to, then the screen control component 48 screen 160. The fourth FDK prompt (the Summary prompt
populates the Con?rmation screen 150 based on information 192) Was populated by the screen control component 48 from
from the relevant ATM module (in this example the deposi entry 152 of the EscroW Full screen dictionary 52b (table
tory, Which is not shoWn) and the state information table 50. 150).
However, in this example, the Con?rmation screen dictionary [0096] The Summary prompt 192 is presented at the same
52a must be referred to because its unique identi?cation is location as the Detail prompt because the position control
referenced in the screen data. values (“9A”) from the control sequence (prompt column
124) of the EscroW Full screen dictionary 52b is the same as
[0089] By referring to the Con?rmation screen dictionary the position control values (“9A”) from the control sequence
52a, the screen control component 48 can match text prompts (prompt column 124) of the Con?rmation screen dictionary
corresponding to FDKs listed in the Con?rmation screen 5211.
dictionary 5211 With FDKs de?ned by the state information [0097] It should noW be appreciated that this embodiment
table 50 (since the unique value in column 122 matches the alloWs multiple variants of a single screen to be presented
byte pattern for the associated FDK). This enables the screen based on the contents of one or more screen dictionaries 52
control component 48 to add the text for a prompt from the and the state of the ATM 10 (for example, a customer selec
Con?rmation screen dictionary 52a to the Con?rmation
tion, a module condition, a module event, or the like).
screen 150 using the position information encoded by the [0098] By providing one or more screen dictionaries 52 it is
position control values (from column 124) for that text. For possible to enable or disable on a local basis those FDKs that
example, because the state information table 50 lists the Add are globally enabled by the state information table 50. It is
More FDK as enabled for the Con?rmation screen 150, the also possible to populate a screen With different text prompts
screen control component 48 can add text relating to this de?ned by the screen dictionaries 52 since the ATM 10 can
prompt from column 124 roW 134 of the Con?rmation screen ascertain Which prompts relate to Which FDKs and What those
dictionary table 120. prompts refer to.
[0090] One feature of this embodiment is that by locally [0099] Various modi?cations may be made to the above
enabling or disabling prompts for FDKs that are globally described embodiment Within the scope of the invention, for
enabled by the state information table 50, it is possible to use example, in other embodiments the prompts may comprise
a single screen having different con?gurations (or variants) graphics instead of or in addition to text.
rather than needing multiple different screens to be de?ned by [0100] The state information table 50 may be arranged in
the state information table 50. For example, in FIG. 7 the any convenient data structure or format, for example, as a
screen control component 48 has locally-enabled FDK 24c single table, a group of tables, a list, or the like.
and presented the text “Add More” on the Con?rmation [0101] The screen dictionaries 52 may be de?ned in any
screen 160 because the runtime platform 42 detected that the convenient manner using any convenient data structure for
escroW 28 Was not full and communicated this to the screen mat.
control component 48. If the escroW 28 Was full, then the [0102] The steps of the methods described herein may be
screen control component 48 Would have locally disabled the carried out in any suitable order, or simultaneously Where
FDK 24c and not displayed the “Add More” text, even though appropriate. The methods described herein may be performed
this FDK 240 is globally enabled by the key parameters in the by softWare in machine readable form on a tangible storage
state information table 50. medium or as a propagating signal.
[0091] Furthermore, in this embodiment the EscroW Full [0103] The terms “comprising”, “including”, “incorporat
screen can be reused for a different purpose, as Will noW be ing”, and “having” are used herein to recite an open-ended list
described With reference to the EscroW Full screen dictionary of one or more elements or steps, not a closed list. When such
52b as illustrated in FIG. 6, and also FIGS. 7 and 8. terms are used, those elements or steps recited in the list are
[0092] In FIG. 7, the screen control component 48 has not exclusive of other elements or steps that may be added to
locally-enabled and locally-con?gured the FDK 24g and the list.
added prompt 162 to alloW the customer to request details [0104] Unless otherWise indicated by the context, the terms
about the banknotes currently deposited in the escroW 28. If “a” and “an” are used herein to denote at least one of the
the customer selects this “Detail” option (by pressing FDK elements, integers, steps, features, operations, or components
24g) then the local application 44 remains in the same state mentioned thereafter, but do not exclude additional elements,
(With reference to the state information table 50), but a variant integers, steps, features, operations, or components.
screen is populated having prompts inserted from the EscroW What is claimed is:
Full screen dictionary 52b, as illustrated in FIG. 8. 1. A state-driven self-service terminal comprising:
[0093] FIG. 8 is a pictorial diagram of the customer display (i) a state information table indicating a current state, an
module 20 presenting the Detail Con?rmation screen 180 associated screen for display While the terminal is in that
(Which the message interface has de?ned as the EscroW Full state, and key parameters for enabling customer inputs
screen, but Which is noW being used as the Detail Con?rma associated With options de?ned by the associated screen;
tion screen 180). (ii) a screen dictionary comprising a plurality of entries,
[0094] The Detail Con?rmation screen 180 comprises a each entry including (a) a unique value corresponding to
?xed banner heading 162 (identical to that for the Con?rma a unique key parameter, and (b) a control sequence
tion screen 160), a ?rst currency deposit amount in detail 184 including a prompt associated With that unique key
(obtained from the escroW 28), a second currency deposit parameter;
US 2011/0241996 A1 Oct. 6, 2011

(iii) a monitoring component arranged to ascertain status 8. A netWork of self-service terminals, the netWork com
information relating to a condition of the terminal; and prising a host including a control application, and a plurality
(iv) a screen control component arranged to receive the of state-driven self-service terminals according to claim 1.
ascertained status information, and in response thereto, 9. A method of operating a state-driven self-service termi
(a) to populate a screen With those prompts that are nal, the method comprising:
consistent With the ascertained status information and (i) storing state information indicating (a) a current state,
(b) to enable those keys corresponding to key parameters (b) an associated screen for display While the terminal is
that are consistent With the status information. in that state, and (c) key parameters for enabling cus
2. A terminal according to claim 1, Wherein the monitoring tomer inputs associated With options de?ned by the
component comprises a runtime platform in combination associated screen;
With an application executing on the runtime platform. (ii) storing a screen dictionary comprising a plurality of
3. A terminal according to claim 1, Wherein the prompt entries, each entry having (a) a unique value correspond
ing to a unique key parameter, and (b) a control sequence
comprises text that is to be presented on a display as a select
able option. including a prompt associated With that unique key
parameter;
4. A terminal according to claim 1, Wherein the key param (iii) detecting status information relating to the terminal;
eters may relate to Function Display Keys (FDKs). (iv) populating a screen With only those prompts that are
5. A terminal according to claim 1, Wherein the status consistent With the detected status information; and
information relates to an event occurring at the terminal, a (v) enabling only those keys corresponding to key param
selection made by a customer at the terminal, or a state of a eters that are consistent With the status information.
device Within the terminal. 10. A computer readable medium storing instructions
6. A terminal according to claim 1, Wherein the control Which, When executed on a self-service terminal, implement
sequence further comprises a position control value for indi the method of claim 9.
cating a position on a screen at Which the prompt is to be 11. A computer readable medium according to claim 10,
rendered. Wherein the medium comprises computer memory.
7. A terminal according to claim 1, Wherein the self-service
* * * * *
terminal comprises an automated teller machine (ATM).

You might also like