Professional Documents
Culture Documents
NDC History PDF
NDC History PDF
Are you involved in selling or supporting ATMs? Do you know how NDC works? Do you
know what a State Table is? What gets downloaded to the ATM?
My name is Colin Davis, and in this seminar, I will give you a short history of ATMs, and
then describe what is meant by the NDC environment.
1
Objectives
NCR Confidential 2
By the end of this seminar, you should be able to:
Describe the development of NDC, list the tables contained in a Downline Load, describe
the content of those tables, describe (at a high level) State Processing, the flow of
transactions and list the operational modes.
In this seminar we will look briefly at the history of ATMs since the first one was
installed. Then we will get into NDC and see how it operates with the various tables that
get downloaded.
We will look at the types of message that get passed between the terminal and the host
and we will list the operational states that the terminal can be in.
ATM Timeline (1967 - 1974)
NCR Confidential 3
As you can see from the ATM Timeline here, the first ATM that was installed was at
Barclay’s Bank in the UK in 1967. At that time, Docutel was the only ATM manufacturer.
Docutel then moved to the North American market, Chemical Bank in 1969, and then on
to Citizen’s and Southern National Bank of Atlanta in 1971.
As of 1974, Docutel enjoyed 100% of the market, but with only 2900 units.
ATM installations were limited to on‐premise only, the off‐premise market had not been
conceived.
This is where NCR entered the market, with our 1st generation ATM, the NCR 770.
ATM Timeline (1977 - 1979)
NCR Confidential 4
In 1977, the ATM market really started to gain momentum. Diebold had its 9000
controller based solution, IBM had announced its 3624 but they couldn’t deliver for 18
months.
Docutel 2000 units were unreliable and expensive to upgrade and the NCR 1770 in‐
lobby ATM could not be delivered until 1978.
The 1770 was NCR’s second generation ATM and it is important to note that Diebold
was the only ATM vendor at the time that was able to deliver units, and so consequently
they grew their market share to number 1.
In 1979, NCR did come out with the 1780 which unfortunately had some reliability
problems. IBM were able to deliver their 3624, and Diebold started to release the 910
direct connect software.
ATM Timeline (1982 - 1990)
NCR Confidential 5
In 1982 more companies joined the growing market with Fujitsu and Burroughs and
then in 1983, NCR really came on board with its third generation and the creation of a
dedicated Self‐Service Business Unit.
Also in 1983 NCR Direct Connect software was created to operate its 3rd Generation,
50xx series, either in Diebold emulation to capture replacement business, or in NCR
Native mode to take advantage of NCR features such as having 8 Function Display Keys.
In 1990, NCR’s 4th generation was launched and at that time the original NDC software
was migrated to NDC+ that was created specifically to support 4th generation features
such as the ability to display graphic images, rather than just text.
Crucially NDC+ used the same host application as NDC and the same customisation data.
Being backwards compatible, so that new software can be installed with ‘no host
change’, is a guiding principle for many of our customers even today.
ATM Timeline (1996 - 2002)
NCR Confidential 6
In 1996, NCR launched our Personas series. Personas was the first hardware Platform
from NCR that was capable of supporting the Windows NT operating system.
At the same time we also launched SSDS which is an application development
environment but critically the Personas supported the older NDC+ application running
with the older OS/2 operating system as well.
So it was ideal to provide a migration path to go from OS/2 to Windows NT and
eventually Windows XP.
In 1998, SSDS NDC was launched to operate with the NT operating system and in 1999,
NCR re‐branded its Windows based software to the APTRA software suite.
In 2002, the APTRA software was migrated to run on both Windows NT and Windows
XP.
ATM Timeline (2005 - 2011)
NCR Confidential 7
One of the key drivers in the last few years has been the move to providing 1 software
solution that will work on terminals from all the major manufacturers. Banks
increasingly want to buy the hardware from any supplier but still be able to run, and
support, software from just 1 supplier regardless of the hardware.
All of the major manufacturers, including NCR, got together with CEN, the European
Committee for Standardisation, to produce a standard called CEN XFS that would help
software developers to write 1 application that would run on any CEN XFS compliant
system.
APTRA Advance NDC version 3.0 was released in 2005 that would work not only on NCR
ATMs, but also Diebold, Wincor and in theory, any CEN XFS compliant hardware.
In 2008 NCR replaced the Personas range with the updated SelfServ range of hardware,
increasing the variety of devices, such as deposit devices, as well as moving from older
Serial based hardware to USB devices.
In 2011 NCR started limited support for Windows 7 on a select number of SelfServ
terminals, with the intention of full Windows 7 support by the end of 2011. APTRA
Advance NDC version 4.1 is the first version of NDC to support Windows 7 as well as
having major enhancements for Deposit solutions.
ATM SW Architectures in 1980s
• More History
• With the launch of the 3rd Generation there were three
types of ATM system architectures
• The primary difference between the architectures was the
location of transaction processing:
• Direct Connect
• Controller Based
• Intelligent ATM
• The rest of this presentation will focus on the Direct
Connect system architecture
NCR Confidential 8
That was a brief history of ATM hardware, now we will concentrate on the APTRA
software products that NCR sell that are suitable in the NDC environment.
With the launch of NCR’s 3rd generation ATM in 1983 there were a number of ATM
system architectures in use at the time.
The primary difference between the architectures was the location of the transaction
processing capabilities. You’ve got to remember this is the early 80s, personal
computers were in their infancy, most computers were Main Frames where all of the
processing is done on 1 large central system and all of the terminals are dumb. But the
80s saw the introduction of micro‐processors that could make more and more
processing decisions locally, only needing a central computer for the final authorisation.
Diebold’s 910 Direct Connect software had started a trend where all of the functionality
was centrally managed by the Bank’s mainframe computer.
Alternatively there was a controller based solution, and Intelligent ATMs where the
ATMs were able to make a lot of decisions at the terminal level.
NCR’s Direct Connect software was produced, initially to be compatible with the Diebold
910 Direct Connect, but then it branched out to become its own standard, NDC, to
support the features of NCR hardware.
Direct Connect
NCR Confidential 9
So what is NDC? Well with Direct Connect systems, the network is designed for non‐
intelligent terminals, it was more cost effective at the time to have lower cost terminals
and greater central processing.
There was nothing like the CPUs that we have now, where processing is cheap and
efficient at the terminal level so transaction control was always at the bank’s central
mainframe or Host. Some of the drawbacks were that if the network ever went down
for any reason, the ATM network was also unavailable.
The software on a Direct Connect terminal was Table Driven. What do I mean by ‘Table
Driven Software’?
The software on the ATM knows how to operate the hardware, but it doesn’t have any
intelligence in terms of how to present a transaction to a cardholder, what it does is
follow information that has been sent to it from the central host which are stored as
tables.
The software running on the ATM looks at the tables to tell it things like what
information to display on the monitor, what steps need to be followed and the
sequence of those steps to walk a cardholder through an ATM transaction.
The tables also give the ATM information about how to process Card and PIN
information and they have values for things like timeouts and different types of
configuration information.
Table information is sent to the ATM through something called the Downline load. The
downline load is a series of messages sent to every NDC terminal from host ‐ sending
the States, Screens, Financial Institution Tables (FITs) and Configuration tables for the
ATM to store locally and follow.
Advantages / Disadvantages
• Advantages
• Lower cost ATMs
• Centralised Control
• Gives networks the ability to control all ATMs centrally
• Disadvantages
• No off-line processing
• Processing load on host
• May cause overload, requiring larger or additional processors
to be used
• No local control
• Changes must be made at the Host
NCR Confidential 10
The advantage is that when the Direct Connect architecture was first launched in the
mid 70’s and early 80’s, that it had a low cost for ATMs ‐ less intelligence was required
at each terminal. This also allowed for centralised control ‐ one change on the bank’s
central mainframe could then be pushed quickly to every ATM. Networks had the ability
to control all of their terminals centrally, so they knew exactly what was going on at a
specific ATM in any given point in time.
The disadvantages of having no processing at the ATM is that it can not operate in off‐
line mode.
It also creates a real processing load on the central host computer. As more and more
ATMs get added to the bank’s network, the Host will have capacity issues that have to
be dealt with.
But more than that, as ATMs handle more and more diverse types of transaction, such
as Mobile Phone Top‐up, having 1 central Host becomes very expensive to upgrade,
support and maintain.
And the final disadvantage with traditional Direct Connect is that there is no local
control – the ATM is not able to make decisions, and therefore the host has to program
all changes.
So again, in the centralised NDC world, there is a strong dependency on host
programming capabilities for the customer, skills that are becoming more and more
specialised and expensive.
To support a new transaction, they will have to go to their host software, such as ACI or
Deluxe Data and then they are going to get in line for resource availabilities and costs.
Central - Host - Switch
HOST
CENTRAL
SWITCH
NCR Confidential 11
So far I have used the terms Central and Host to talk about the mainframe computer at
the Bank.
In the early days, everything was on‐premise and the ATM only served the owning
institution’s customers. “Central’ was the bank’s mainframe computer, also called the
Host computer.
Later, banks got together to form alliances where if you were a customer of 1 bank, you
could also use the ATMs of their partners, this greatly increased the number of ATMs
you could use as the customer of a particular bank.
Today of course you can use almost every ATM in the world and it can service almost
any card whatsoever.
To manage these networks of interconnected systems, the ATMs are connected to a
‘Switch’ computer, which will route authorisation requests to the appropriate host
anywhere in the world.
So you will see the words Central, Host and Switch used almost interchangeably
because, from the ATMs perspective, it is all the same thing.
It talks to ‘Central’ which it believes is at the other end of that communication link.
Table Driven Software
• Downline Load
• Table information sent to the ATM
• Not Software Management
• Install new software, download new graphics
NCR Confidential 12
We want to focus on NDC terminal operations and get back to some of the points that
were raised earlier.
Terminal operations are controlled by really three different things in the NDC world.
They are controlled by the software running on the ATM, the customisation downline
load from the host and finally they are controlled by command messages sent to the
ATM again from Central.
I want to differentiate between the Downline Load and Software Management here.
The Downline Load is a series of messages from Central to the ATM containing the table
information. Software Management or Software Distribution systems are completely
separate.
Software Management is for installing operating system patches, new versions of
software, new graphics files and generally controlling the software on the ATM.
The downline load is not capable of sending a new image file to the ATM, the bank will
have to install separate software for that.
On Power-Up
NCR Confidential 13
So as a brief overview, these are the steps that an NDC ATM may follow on power‐up.
The first thing is to power up, check all the hardware is working, establish
communications and send a status message Central so that is knows the ATM has just
been turned on.
But a traditional NDC ATM will not be available to cardholders yet, it will enter an Out of
Service mode.
Central may choose to do a downline load of new customisation data ‐ loading any new
State Tables, any new Screen Data, FIT tables and Configuration Parameters.
Central may also choose to change Encryption Keys, reset the terminal’s Time and Date
and request the status information for all of the devices fitted to the ATM.
Once that’s done, Central will decide whether to send a Go In Service command to the
ATM, allowing it to become available to cardholders.
The point of this is the traditional NDC ATM really can not do anything unless the central
host or switch says to do something.
Customisation Data
State 3 State 4
State 2
Amount Entry ‘F’ State Cash Deposit ‘>’ State
Menu ‘E’ State
Screen: 13 Screen: 14
Screen: 12
Go to 5 Go to 5
Balance
State 5
Trans Request ‘I’ State
Screen: 15
NCR Confidential 14
I keep mentioning States Tables, what do I mean by a State Table?
Think of the State Table as a number of sequential instructions, similar to a conventional
computer program.
Each state is similar to a program instruction and when the terminal is in service, the
tables are executed the same as a program gets executed, starting at State 0 which is
the first line of the states table.
Most states include some sort of a screen number to display and a Next State number as
part of the table data. So, when you are executing a state table, it says “This is what
we’re going to do for this particular step of this transaction. You need to paint a
particular screen on to the monitor that might have the welcome screen for example,
enable the card reader, and when the card gets inserted, there is a new screen that gets
painted on to the monitor.”
The state table articulates, for each step of the transaction, what to do with the
information, what information to post on to the monitor and where to go next.
Example State - ‘A’ Card Read
NCR Confidential 15
Here is the beginning of the definition of the Card Read state. You can see that it begins
with a 1 character State Type (in this case ‘A’). This state type tells the ATM software
what hardware to enable and what data to collect.
The A state is card read, so enable the card reader. The F state is Amount Entry, so
enable the number keys and allow the entry of an amount.
Each table entry has 9 parameters, I am only showing you the first 3 here.
The first parameter is always the State Type which is just 1 character.
Each subsequent parameter is 3 characters and refers to a screen number, another state
number or some other information that tells the ATM software how to operate in this
particular state.
Transaction Processing
State 3 State 4
State 2
Amount Entry ‘F’ State Cash Deposit ‘>’ State
Menu ‘E’ State
Screen: 13 Screen: 14
Screen: 12
Go to 5 Go to 5
Balance
State 5
Trans Request ‘I’ State
Screen: 15
NCR Confidential 16
Once the ATM is told to Go In Service by Central the traditional NDC terminal will
execute the first State table entry, state number 0. Here I’ve shown a very simplified
transaction flow example.
State 0 should be some sort of a Card Read state, I’ve used an A state. The software
knows that for an A state it needs to enable the card reader and when a card is inserted,
parameters in the A state table entry tell the software which tracks to read from the
card.
If the card is read successfully the NDC software will go to the state number identified
by the State Table, in this case a PIN Entry state.
Next my state flow goes to the main transaction menu, offering the cardholder 3
transactions, Cash Withdrawal, Cash Deposit and Balance. The flow branches depending
on which option the cardholder chooses but eventually will always come back to a
Transaction Request State, which sends a Transaction message to Central for
authorisation.
Transaction Request - Transaction Reply
NCR Confidential 17
Central then responds with some sort of Transaction Reply command; and this is
important, there is a hierarchy here ‐ when the terminal is talking to the host, it is a
request, and when the host is talking to the terminal, it is a command –
which instructs the terminal on the operation to be performed, what screen data to
display, the data to be printed, the number of notes to dispense and the next state to
enter.
So the ATM gets the Transaction Reply command, and if the ATM completes the
operation successfully, a Ready message is transmitted to Central and the next state is
entered.
But if there is an error, then a device status is transmitted to Central, and the terminal
waits for another Transaction Reply command from Central.
The ATM relies on Central to tell it what to do.
3 Constituent Parts
NCR Confidential 18
You can see that this transaction flow is really divided into 3 constituents that are really
important in how an NDC transaction takes place.
You have the Cardholder, who is obviously the customer. You have got the terminal that
is interested in following what is going on; and then you’ve got the central application.
Each cardholder might choose a different flow through the states by selecting different
transaction types. So starting from state 0, “Please Insert Your Card” the card is read,
and then the terminal goes to the next State which might say “Please Enter your PIN”.
So the cardholder enters their PIN, “Please choose a transaction type”, “Please Enter an
Amount” and so on.
All of that information – the card number, the PIN information, the transaction selection
and the amount all get collected before the terminal starts to talk to the host.
Only when all of the transaction information has been entered does the ATM send the
Transaction Request message.
The central application authorises the transaction, by making sure that the card is a valid
card, that the PIN is a valid PIN for that card, and any other checks that it chooses to
make, such as whether there is sufficient funds in the account.
Once all those checks have been done and the host is satisfied that the transaction is
legitimate, then it sends a Transaction Reply command to Dispense, Print, and then go
on to the next state.
Operational Modes
NCR Confidential 19
Finally I wanted to touch briefly on the different types of operation modes that an ATM
can be in, in an NDC application.
Really, there are 7 different modes.
You have got Start‐up mode, the Out of Service mode, the In Service mode, Settlement
Transaction mode, Offline mode, Supervisor mode and Suspend mode.
These modes are pretty intuitive as to what goes on, but if any of you are interested in
more detail, you could speak with your local PS consultant or drop me an email.
NDC Capable Software
NCR Confidential 20
Now that you know what we mean by “the NDC environment”, let’s finish by talking
about the NCR software specifically.
NCR have 3 APTRA software products that can be used in an NDC environment.
APTRA Advance NDC follows the traditional NDC philosophy of a bank central computer
controlling the customer screens and functions using States and Screens. This is the
most traditional NDC software.
Then there was APTRA Edge with an NDC proxy but this discontinued in 2010 and
replaced directly with APTRA Activate which also supports NDC messages.
APTRA Edge and APTRA Activate do not follow the traditional NDC state flow, and
screen download, but they do respect the NDC messaging system so they can work with
an NDC host. They have more independence than APTRA Advance NDC, there is more
local ATM configuration and local processing, but the final authorisation can still be
done using the traditional NDC Transaction Request and Reply messages.
I hope that the information that I’ve given you has provided a useful insight into the
world of NDC and what that means to the ATM marketplace.