US20140222673A1 - System and Method for Communicating Financial Transactions Using a Tagless Data Interchange Format - Google Patents
System and Method for Communicating Financial Transactions Using a Tagless Data Interchange Format Download PDFInfo
- Publication number
- US20140222673A1 US20140222673A1 US14/235,255 US201214235255A US2014222673A1 US 20140222673 A1 US20140222673 A1 US 20140222673A1 US 201214235255 A US201214235255 A US 201214235255A US 2014222673 A1 US2014222673 A1 US 2014222673A1
- Authority
- US
- United States
- Prior art keywords
- automated banking
- banking machine
- message
- machine
- interchange format
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/108—Remote banking, e.g. home banking
- G06Q20/1085—Remote banking, e.g. home banking involving automatic teller machines [ATMs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F19/00—Complete banking systems; Coded card-freed arrangements adapted for dispensing or receiving monies or the like and posting such transactions to existing accounts, e.g. automatic teller machines
- G07F19/20—Automatic teller machines [ATMs]
- G07F19/205—Housing aspects of ATMs
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F19/00—Complete banking systems; Coded card-freed arrangements adapted for dispensing or receiving monies or the like and posting such transactions to existing accounts, e.g. automatic teller machines
- G07F19/20—Automatic teller machines [ATMs]
- G07F19/206—Software aspects at ATMs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
Definitions
- This invention relates to automated banking machines. Specifically this invention relates to an automated banking machine apparatus, method and system for communicating information between networked banking machines using a tagless data interchange format in a banking network.
- Automated banking machines are well known. Two known examples of an automated banking machine which are commonly found in banks are a teller cash recycler (TCR) and a teller cash dispenser (TCD).
- TCR can be used to deposit or dispense notes to a bank customer under the supervision of a bank teller.
- a TCD can dispense notes only, under bank teller supervision, to a customer.
- a further type of automated banking machine used by customers is an automated teller machine (“ATM”).
- ATMs enable customers to carry out banking transactions without any assistance from a teller. Common banking transactions that may be carried out with ATMs include the dispensing of cash, the making of deposits, the transfer of finds between accounts, the payment of bills and account balance inquiries.
- Another type of automated banking machine may include a personal computing system operated by a teller at a bank location. Other types of automated banking machines may allow customers to charge against accounts or to transfer funds. Other types of automated banking machines may print or dispense items of value such as coupons or vouchers. For the purposes of this disclosure an automated banking machine or automated transaction machine shall encompass any device which carries out transactions including transfers of value.
- Automated banking machines typically exchange information over a network to implement requested financial transactions such as cash withdrawals, cash deposits, balance inquiries, postage transactions, etc. Communication of these financial transactions between networked machines has been performed using serial datagrams.
- serially transmitted datagrams required transmittal of a defined quantum of data where extension of the quantum of data often requires reconfiguration of the entire communication system.
- Serial data required the use of a defined starting indicator, followed by the requisite quantum of data, and punctuated by a terminal indicator.
- each tag is further associated with a reference identifier.
- a markup language may direct the processor to tag 15 if a variable has one value, tag 12 if the variable has a second value, etc. Accordingly, tags are also used for navigation through a computer code execution.
- markup languages and particularly tags associated with markup languages, increase the amount of overhead data that must be transferred along the network. This increased traffic reduces throughput and increases hardware costs, reducing the efficiency of the automated banking network.
- the information may be financial transaction information transmitted in a JSON data interchange format in a secure socket layer.
- the tagless data interchange format allows an extensible data quantum within messages.
- the invention consists of an automated banking machine including a computer and at least one transaction function device in operative connection therewith, wherein the computer is adapted to receive at least one JavaScript Object Notation (JSON) document and to cause the at least one transaction function device to carry out a transaction function responsive to the at least one JSON document.
- JSON JavaScript Object Notation
- the transaction function device comprises a sheet dispensing mechanism and the computer is adapted to operate responsive to the at least one JSON document to cause at least one sheet to be dispensed from the automated banking machine.
- Other examples of a transaction function device are a visual display and a sheet accepting mechanism.
- JSON is a known text-based language-independent data interchange format. It is based on a sub-set of the JavaScript programming language and is very useful for sending structural data over the Internet. It has advantages over alternative formats of being lightweight, language-independent and easy to parse. Further, as it is not a document mark-up language, it is not necessary for the programmer to define tags or attributes to represent the data therein.
- JSON documents can be transported over a variety of transport layers.
- the at least one JSON document is transported over a Secure Socket Layer (SSL).
- SSL has the advantage of being able to provide point to point message security.
- JSON documents may be transferred using the http secure communication protocol.
- the sheet comprises a banknote
- the computer is adapted to operate responsive to the at least one JSON document to cause at least one banknote to be dispensed from the automated banking machine.
- the automated banking machine comprises a Teller Cash Recycler (TCR), and the computer is adapted to operate responsive to the at least one JSON document to cause cash to be dispensed from the TCR or accepted into the TCR.
- TCR Teller Cash Recycler
- the automated banking machine comprises an Automated Teller Machine (ATM), and the computer is adapted to operate responsive to the at least one JSON document to cause cash to be dispensed from the ATM or, for a recycling ATM, accepted into the ATM.
- ATM Automated Teller Machine
- the automated banking machine comprises a Teller Cash Dispenser (TCD) and the computer is adapted to operate responsive to the at least one JSON document to cause cash to be dispensed from the TCD.
- TCD Teller Cash Dispenser
- the computer is adapted to receive automated banking machine configuration data and a memory is provided for storing at least a portion of said automated banking machine configuration data which has been successfully installed in order to enable rollback to a restore point if a subsequent installation attempt should fail.
- An automated banking machine in accordance with the invention may receive JSON documents over one or more communication channels from a teller workstation co-located in a bank or from a remote workstation or monitoring station, for example.
- the computer may be adapted to transmit JS ON documents over such channels to a monitoring station.
- REST Representational State Transfer
- a computer implemented method for transmitting information between automated banking machines over a communication network.
- the method includes receiving a message for network communication from a first automated banking machine to a second automated banking machine, formatting the message in a tagless data interchange format independent of the size of the message based on instructions stored on a computer readable medium within the first automated banking machine, and transmitting the formatted message to the second automated banking machine.
- a computer-implemented system for transmitting information between automated banking machines over a communication network includes a first automated banking machine including a first processor configured to implement network communications using a tagless data interchange format independent of the size of the messages being transmitted based on instructions stored on a computer readable medium.
- the machine is configured for receiving a message for network communication from the first automated banking machine to a second automated banking machine, formatting the message in the tagless data interchange format, and transmitting the formatted message to the second automated banking machine.
- FIG. 1 is a perspective view of an automated banking machine
- FIG. 2 is a schematic cross-sectional view of the automated banking machine of FIG. 1 ;
- FIG. 3 is a flowchart illustrating a method for communicating financial transaction information using JSON data interchange format.
- the automated banking machine described hereinbelow is a teller cash recycler (TCR). Its primary modes of operation involve receiving a stack of banknotes and storing them in appropriate storage modules, and dispensing banknotes from those storage modules to a user, typically a bank teller. Although a particular automated banking machine is described, the systems and methods described herein may be performed using any type of automated banking machine operating in a networked environment. The systems and methods may further be used to perform both the primary modes of operation and one or more secondary modes of operation such as communication of an initial machine configuration, maintenance communications, security communications, machine inventory communications, such as banknote amounts stored therein, etc.
- TCR teller cash recycler
- a TCR 1 comprises a (lower) cabinet 2 housing a safe 3 and an (upper) note handling module 4 .
- the cabinet has a front panel 5 which can be opened to gain access to the safe 3 which, in turn is provided with a lockable door 6 .
- the safe 3 houses a number of roll storage modules (RSMs) 7 a - 7 f mounted on a frame 8 , on which banknotes can be stored.
- RSMs roll storage modules
- the note handling module 4 includes an input module 12 , a stacker 13 , a touch screen 14 a USB socket 15 and a wired-network socket 16 , all of which are accessible externally of the TCR 1 .
- the interface controller 21 is operably connected with the note transport and storage controller 10 via the note handling module controller 20 and by means of a CAN bus (not shown).
- the interface controller 21 is also operably connected with the touch screen 14 and memory 22 .
- the internal display 11 is controlled by the lower transport controller 10 .
- the detector modules 18 , roll storage modules 7 a - 7 f, transport mechanisms 17 , 9 and diverter switch 19 are conventional and may operate in a fashion as described in Applicant's co-pending application WO 2008/047094. These components facilitate depositing banknotes which have been fed into the input module 12 by the user into the safe 3 and dispensing banknotes from the safe 3 into the stacker 13 for collection by the user.
- Banknotes which have been placed into the input module 12 are fed one by one into the upper transport mechanism 17 for conveyance past the detector module 18 to the diverter switch 19 . If the banknote is recognized by the detector module 18 as a bona fide note, the diverter switch 19 directs the banknote into the safe 3 and along the lower note transport mechanism 9 to a designated RSM 7 a - 7 f. If a banknote is to be returned to the user, the diverter switch 9 directs the banknote to the stacker 13 from which it can be collected by the user.
- a banknote When a banknote is to be dispensed from a roll storage module 7 a - 7 f, it is conveyed in the reverse direction out of the RSM along the lower note transport mechanism 9 , and thence to the diverter switch 19 which directs the banknote to the stacker 13 where it can be collected by the user.
- TCR Transaction operation instructions which cause the TCR to perform a transaction operation, such as depositing or dispensing one or more notes, are received by the interface controller. 21 .
- transaction operation instructions are generated at a teller workstation co-located with the TCR 1 . These instructions are transmitted to the TCR 1 over a wired connection terminating at the wired-network socket 16 on the TCR 1 .
- the instructions are transmitted wirelessly and the interface controller 21 is provided with a receiver for receiving such transmissions.
- the instructions comprise at least one JavaScript Object Notation (JSON) document which is transported over a Secure Socket Layer (SSL) and using the Transmission Control Protocol/Internet Protocol (TCP/IP).
- JSON JavaScript Object Notation
- a JSON document may be any data communication received that uses the JSON data interchange format.
- the JSON document may be transported using the Hypertext Transfer Protocol Secure (I-ITTPS) communications protocol.
- I-ITTPS Hypertext Transfer Protocol Secure
- JSON is a data-interchange format configured to transfer information between potentially incompatible technologies, as may be found in providing communication between a number of different machines and different types of machines, often manufactured by different entities. Multiple machines manufactured by different entities is typically found in a banking environment on both a local level, for example at a branch bank location, and a larger level, such as a regional center communicating with a large number of branch locations.
- an originating automated banking machine may be a teller computer system executing a Java application in web browsing application and the receiver automated banking machine could be a Visual Basic program in firmware on the TCR described above
- the use of JSON also allows for data to be moved across different operating systems such as, for example, Windows and Linux.
- Using a Datagram structure the data structures previously needed to be defined in advance.
- XML can be used to provide the required flexibility.
- programmers are still faced with a learning curve when having to deal with the tags.
- tags increases network traffic overhead, which can cause difficult in environments having less robust communication networks or in environments in which copious amounts of data are being transmitted.
- JSON does not require the use of tags that are required for other markup languages.
- XML has been used to describe structured data and to serialize objects and various XML-based protocols exist to represent the same kind of data structures as JSON for the same kind of data interchange purposes.
- the result is typically larger than an equivalent encoding in JSON, mainly because of XML's opening and closing tags.
- JSON objects are delimited by curly braces ⁇ ⁇ .
- the curly braces are also used to enclose function bodies causing operator overloading requiring that the transaction function device parsing the JSON objects consider context.
- JSON uses key-value pairs to represent the data, and further uses a colon (:) separating the key-value pairs to provide the context.
- a tag has a name associated with it, meaning that a search may be executed for that name in a mark-up document while ⁇ ⁇ is purely a delimiter and as such cannot be searched.
- the interface controller 21 processes the JSON document and generates further instructions for transmission to the note handling module controller 20 and note transport and storage controller 10 which in turn, activate the roll storage modules 7 a - 7 f, diverter switch 19 and lower note transport mechanism 9 in order to dispense the amount of cash requested in the instruction.
- the interface controller 21 also generates a control signal for the touch screen 14 which may optionally display a “Dispense in progress” message followed, optionally, by “Dispense complete” in order to notify the teller that the transaction operation has been successful.
- the interface controller 21 On receipt of a deposit, or other operational, instruction by the interface controller 21 (typically from a teller workstation), the interface controller 21 processes the JSON document and generates further instructions for transmission to the note handling module controller 20 , and note transport and storage controller 10 which in turn, activate the detector module 18 , the roll storage modules 7 a - 7 f, diverter switch 19 and transport mechanisms 9 and 17 in order to authenticate and store the notes which a teller has placed in the input module 12 .
- the interface controller 21 also generates a control signal for the touch screen 14 which, optionally, displays the value of the deposited notes to the teller.
- transaction operation instructions are generated at a remote monitoring station, such as a banking network's central computer.
- these instructions are transmitted to the TCR 1 over a wired or wireless communications channel and comprise at least one JavaScript Object Notation (JSON) document which is transported over a Secure Socket Layer (SSL.) and using the Transmission Control Protocol/Internet Protocol (TCP/IP).
- JSON JavaScript Object Notation
- SSL Secure Socket Layer
- TCP/IP Transmission Control Protocol/Internet Protocol
- the interface controller 21 On receipt of a dispense or deposit instruction from the remote central computer by the interface controller 21 , the interface controller 21 processes the JSON document and generates further instructions for transmission as in the first example.
- the interface controller 21 In a third example of an operating mode of the TCR 1 the interface controller 21 generates JSON documents and transmits them over a communications link (wired or wireless) over SSL using TCP/IP to a monitoring station. These messages include status information and the monitoring station can be a banking network's central computer or a servicing agency. Status information can typically and usefully include fault reporting, the number of the notes in each RSM and the, number of transactions performed during a particular time period.
- FIG. 3 a flowchart illustrating a method 300 for communicating financial transaction information using JSON data interchange format is shown, according to an exemplary embodiment.
- the method may be implemented by any of the automated banking machines described herein.
- an automated banking machine receives a financial transaction.
- the financial transaction may be received from a user of an automated banking machine, directly from another automated banking machine, as a component in a batch of financial transactions, etc.
- the received financial transaction is used to generate a JSON document including the financial transaction.
- the JSON document may be generated using an embedded web browser including a native JSON encoding/decoding module.
- native JSON encoding/decoding increases the performance of the automated banking machine due to the fact that functions no longer need to be parsed.
- an automated banking machine may be configured to include a JSON encoder and parser configured to generate and process JSON documents.
- the generated JSON document may be transferred from a first automated banking machine to at least a second automated banking machine.
- the first automated banking machine may transmit the JSON document to a plurality of automated banking machines as a broadcast-type transmittal.
- the JSON document may be transmitted using any secure messaging communication standard, such as SSL, https, etc.
- the JSON document may be transmitted using point to point communication, over an established communication network such as the Internet, etc.
- the transmitted JSON document including the financial transaction is received at at least a second automated banking machine.
- the received JSON document is parsed by the second automated banking machine to obtain the financial transaction.
- the second automated banking machine is configured to implement the financial transaction received in the JSON document.
- Such configuration data can be accessed by the TCR 1 from a remote source (not shown) and received by the interface controller 21 over a wired connection, through the wired network socket 16 , or wirelessly.
- the configuration data can be downloaded as a package which is in a compressed (zipped) form.
- Configuration data typically comprises at least some of the following; machine parameters, configuration scripts, firmware, operating system (OS) updates, pattern-sets, detection process configurations.
- the interface controller 21 is adapted to support the following three processes: download a configuration data package from the remote source into its internal memory; install the package; and on failure of installation or on demand, rollback to the last known working configuration.
- a configuration data package contains two major parts; meta-data and configuration elements.
- the package meta-data contains the following set of information; a UUID which unambiguously identifies the configuration package, a cryptographic signature which is: used to enforce package authenticity and integrity, a version id which is used for traceability purposes, and a descriptive text: which may be displayed on the touch screen 14 to give a summary of the package content.
- the package's configuration elements contain the actual machine configuration data, where each configuration element targets a specific “installation target.”
- a configuration package will not contain more than one configuration element per installation target.
- installation target refers to physical machine sub-systems such as the roll storage modules 7 a - 7 f, and also to logical sub-systems such as the note handling module controller 20 , OS, detector module configuration (e.g. pattern-sets) or interface controller access control.
- a configuration element might contain a variety of configuration data types.
- the interface controller 21 is configured to handle these transparently.
- Configuration elements typically carry machine parameters, configuration scripts, firmware, OS updates, pattern sets, and detection process configurations. In order to allow the interface controller 21 to handle the configuration elements transparently, each element consists of meta-information and the configuration data itself.
- the configuration element meta-data includes: a UUID which: unambiguously identifies the configuration element, an installation target id which identifies the logical or physical target sub-system, a priority id which is used to define an order in which configuration elements are installed and rolled-back, a list of compatibility id's which are used to check if the element may be installed on the targeted subsystem or not, a version id: used for traceability only and a descriptive text: which may be displayed on the touch screen 14 to provide the characteristics of the configuration element (e.g. “Detector module configuration package”).
- Detector module configuration package e.g. “Detector module configuration package”.
- the interface controller 21 is therefore configured to install or rollback individual configuration elements in the order of increasing priority.
- a configuration element may reference additional configuration data that can be executed in order to undo a previous installation.
- the interface controller 21 When the interface controller 21 has received a configuration data package it will validate it and, if successful, store it in its internal memory. If the package is not valid, it will be rejected.
- the validation process includes two steps. Firstly, the package's signature is validated.
- the configuration package's meta-data includes a cryptographic signature. This protects the package content against external, unauthorized manipulation and furthermore enables an integrity check on the package content (like a check-sum).
- a hardware compatibility check is done.
- the configuration elements' meta-data contains a list of hardware compatibility IDs. The aim of this validation is to check if the configuration package content is compatible with the machine's hardware and software configuration. This check is repeated after a successful installation.
- the next process is the installation of the particular configuration package (e.g. identified by its UUID).
- This installation comprises the following steps: compiling a map of the state of all user level configuration parameters (based on key-value pairs); iterating over all configuration elements (sorted by its priority field) and forwarding the configuration data to the corresponding sub-system; restoring all user-level configuration parameters to the state that has been cached in the compilation step; and creating a system restore point.
- the note handling module controller 20 can act as proxy for all device-level sub-systems. In cases where the UUID of a configuration element matches the UUID of a previously installed element or previously created restore point, the installation process may be skipped.
- the compiling and restoring steps facilitate recovery of potential user specific settings after the package installation.
- the interface controller 21 maintains a configurable list of parameter keys that are to be restored after the successful installation of a configuration package. Hence, only those parameters whose keys are found in the list are restored.
- a system restore point allows the interface controller 21 to prepare for configuration rollbacks.
- a system restore point is automatically created at the end of a successful installation by simply storing the whole set of successfully installed configuration elements in the memory 22 along with the last set of user defined settings (i.e. a list of key-value pairs). Physically this works by exactly just keeping the last successfully installed configuration element per sub-system. If a full configuration package is to be installed, then the complete last restore point is replaced by the new set of configuration elements. If, however, an update configuration package which just contains a sub-set of all configuration elements is to be installed, then the process just updates the relevant configuration elements out of the last restore point.
- Another option allows for user defined restore points. For example, a field engineer creates a manual restore point (e.g. saved under the corresponding time-stamp) and subsequently performs an update of the machine. If the installation is successful but after some time the customer requests to go back to the previous configuration, having the manual restore point allows rollback to this point.
- a manual restore point e.g. saved under the corresponding time-stamp
- Another further option involves exporting system restore points to an external storage media and re-applying them to other automated banking machines.
- a cryptographic signature may be applied to the exported restore point.
- a process for applying a restore point in the event of a rollback will now be described.
- the interface controller 21 will revert all configuration elements that have already been installed (including the one that has caused the failure) to the last automatic restore point.
- an initial restore point will be an original factory setting restore point.
- the rollback algorithm works as follows. The interface controller 21 iterates over the set of configuration elements (sorted by priority-id) of the last restore point and checks if the UUID of the element matches the one that is installed in the corresponding sub-system.
- the interface controller 21 checks if the last installation state of the configuration element is set to “VALID.” If one or the other check delivers ‘false’ the configuration element is reinstalled by the one that is hosted within the last restore point. After this procedure the interface controller 21 restores the last set of user-settings from the restore point. Note that the rollback scenario requires the restoration of all user-setting as in this scenario user-settings take precedence over package settings.
- rollback to a manual restore point or rollback to an exported restore point can be implemented.
- the rollback procedure can advantageously provide a tool for automatically recovering the machine in cases of hardware repairs (e.g. replacement of PCBs or complete modules etc. in the field).
- the teller cash recycling machine 1 of FIG. 1 is provided with means for guarding against tampering, such as the unauthorized replacement of the interface controller 21 .
- the note transport and storage controller 10 is in a secure location inside the safe 3 but the interface controller 21 is more vulnerable as it is outside the safe 3 .
- the note transport and storage controller 10 needs to be sure that the interface controller 21 , with which it is communicating, is the bona fide one and not one which has been tampered with or replaced. It also needs to know whether an operator who has gained access to the machine's interior is authorized to do so. These are achieved by way of the following process. Firstly, the (authorized) operator unlocks and opens the safe door 6 .
- the operator plugs into the USB port 15 a security dongle (not shown). This step unlocks the touch screen 14 .
- the interior display 11 is visible to the operator.
- On the interior display 11 is a sequence of numbers which is known to the note transport and storage controller 10 .
- the operator subsequently enters into the touch screen 14 the sequence of numbers displayed.
- the entered sequence is relayed to the note transport and storage controller 10 via the interface controller 21 , and note handling module controller 20 .
- the note transport and storage controller 10 compares the entered sequence with the known sequence. If the sequences match, then the interface controller 21 is deemed to be bona fide and the operator authorized. If the sequences do not match, then the note transport and storage controller 10 disables operation of the machine and no banknotes can be dispensed.
- a refinement to the authorization procedure described above can be provided as follows.
- the sequence of numbers which are displayed on the internal display 11 and entered into the touch screen 14 (or via other means such as a connected PC) are used by the interface controller 21 and the transport and storage controller 10 to compute a symmetrical secret key.
- This key is used by the interface controller 21 to encrypt its own serial number and that of the note transport and storage controller 10 .
- Data comprising these encrypted serial numbers are then transmitted from the interface controller 21 to the note transport and storage controller 10 for validation.
Abstract
An automated banking a machine such as a teller cash recycler uses a system and method for receiving operating instructions from a remote system in the form of JavaScript object notation (JSON) documents. The system and method uses a computer implemented method for transmitting information between automated banking machines over a communication network. The method includes receiving a message for network communication from a first automated banking machine to a second automated banking machine, formatting the message in a tagless data interchange format independent of the size of the message based on instructions stored on a computer readable medium within the first automated banking machine, and transmitting the formatted message to the second automated banking machine.
Description
- This invention relates to automated banking machines. Specifically this invention relates to an automated banking machine apparatus, method and system for communicating information between networked banking machines using a tagless data interchange format in a banking network.
- Automated banking machines are well known. Two known examples of an automated banking machine which are commonly found in banks are a teller cash recycler (TCR) and a teller cash dispenser (TCD). A TCR can be used to deposit or dispense notes to a bank customer under the supervision of a bank teller. A TCD can dispense notes only, under bank teller supervision, to a customer. A further type of automated banking machine used by customers is an automated teller machine (“ATM”). ATMs enable customers to carry out banking transactions without any assistance from a teller. Common banking transactions that may be carried out with ATMs include the dispensing of cash, the making of deposits, the transfer of finds between accounts, the payment of bills and account balance inquiries. Another type of automated banking machine may include a personal computing system operated by a teller at a bank location. Other types of automated banking machines may allow customers to charge against accounts or to transfer funds. Other types of automated banking machines may print or dispense items of value such as coupons or vouchers. For the purposes of this disclosure an automated banking machine or automated transaction machine shall encompass any device which carries out transactions including transfers of value.
- Automated banking machines typically exchange information over a network to implement requested financial transactions such as cash withdrawals, cash deposits, balance inquiries, postage transactions, etc. Communication of these financial transactions between networked machines has been performed using serial datagrams. However, serially transmitted datagrams required transmittal of a defined quantum of data where extension of the quantum of data often requires reconfiguration of the entire communication system. Serial data required the use of a defined starting indicator, followed by the requisite quantum of data, and punctuated by a terminal indicator.
- In order to provide more robust networks, automated banking systems began using a standardized data interchange format, such as a markup language as described in U.S. Pat. No. 6,965,879 to Richards, et al. The standardized data interchange format further provided the advantage of providing interoperability in which many different types automated banking machines, potentially made by different manufacturers, were able to effectively communicate. Markup languages allowed the use of appended data, extension, inclusions, etc. that allows greater flexibility. Markup languages are defined by the use of clauses and sub clauses, each delineated with markers indicating the beginning and end of the data quantum within the clause and/or sub clause. The markup language uses tags to indicate both the initiation and conclusion of each data quantum.
- Additionally, each tag is further associated with a reference identifier. For example, a markup language may direct the processor to tag 15 if a variable has one value,
tag 12 if the variable has a second value, etc. Accordingly, tags are also used for navigation through a computer code execution. - However, in order to provide this robustness, markup languages, and particularly tags associated with markup languages, increase the amount of overhead data that must be transferred along the network. This increased traffic reduces throughput and increases hardware costs, reducing the efficiency of the automated banking network.
- What is needed is a system and method for implementing network communication of information between automated banking machines using a tagless data interchange format. The information may be financial transaction information transmitted in a JSON data interchange format in a secure socket layer. What is further needed is such a system and method where the tagless data interchange format allows an extensible data quantum within messages.
- In one aspect, the invention consists of an automated banking machine including a computer and at least one transaction function device in operative connection therewith, wherein the computer is adapted to receive at least one JavaScript Object Notation (JSON) document and to cause the at least one transaction function device to carry out a transaction function responsive to the at least one JSON document.
- In one example, the transaction function device comprises a sheet dispensing mechanism and the computer is adapted to operate responsive to the at least one JSON document to cause at least one sheet to be dispensed from the automated banking machine. Other examples of a transaction function device are a visual display and a sheet accepting mechanism.
- JSON is a known text-based language-independent data interchange format. It is based on a sub-set of the JavaScript programming language and is very useful for sending structural data over the Internet. It has advantages over alternative formats of being lightweight, language-independent and easy to parse. Further, as it is not a document mark-up language, it is not necessary for the programmer to define tags or attributes to represent the data therein.
- JSON documents can be transported over a variety of transport layers. In one embodiment, the at least one JSON document is transported over a Secure Socket Layer (SSL). SSL has the advantage of being able to provide point to point message security. Alternatively, JSON documents may be transferred using the http secure communication protocol.
- In one embodiment, the sheet comprises a banknote, and the computer is adapted to operate responsive to the at least one JSON document to cause at least one banknote to be dispensed from the automated banking machine.
- In a further embodiment, the automated banking machine comprises a Teller Cash Recycler (TCR), and the computer is adapted to operate responsive to the at least one JSON document to cause cash to be dispensed from the TCR or accepted into the TCR.
- In an alternative embodiment, the automated banking machine comprises an Automated Teller Machine (ATM), and the computer is adapted to operate responsive to the at least one JSON document to cause cash to be dispensed from the ATM or, for a recycling ATM, accepted into the ATM.
- In a further alternative embodiment, the automated banking machine comprises a Teller Cash Dispenser (TCD) and the computer is adapted to operate responsive to the at least one JSON document to cause cash to be dispensed from the TCD.
- In yet a further embodiment, the computer is adapted to receive automated banking machine configuration data and a memory is provided for storing at least a portion of said automated banking machine configuration data which has been successfully installed in order to enable rollback to a restore point if a subsequent installation attempt should fail.
- An automated banking machine in accordance with the invention may receive JSON documents over one or more communication channels from a teller workstation co-located in a bank or from a remote workstation or monitoring station, for example.
- Furthermore, the computer may be adapted to transmit JS ON documents over such channels to a monitoring station.
- These communication channels may operate using REST (Representational State Transfer) principles. REST-style architectures are built with combinations of clients and servers, the most commonly-known implementation being the Internet.
- In one embodiment, a computer implemented method is used for transmitting information between automated banking machines over a communication network. The method includes receiving a message for network communication from a first automated banking machine to a second automated banking machine, formatting the message in a tagless data interchange format independent of the size of the message based on instructions stored on a computer readable medium within the first automated banking machine, and transmitting the formatted message to the second automated banking machine.
- In another embodiment, a computer-implemented system for transmitting information between automated banking machines over a communication network is provided. The system includes a first automated banking machine including a first processor configured to implement network communications using a tagless data interchange format independent of the size of the messages being transmitted based on instructions stored on a computer readable medium. The machine is configured for receiving a message for network communication from the first automated banking machine to a second automated banking machine, formatting the message in the tagless data interchange format, and transmitting the formatted message to the second automated banking machine.
- Other features and advantages of the invention will become apparent to those skilled in the art from the following detailed description and accompanying drawings. It should be understood, however, that the detailed description and specific examples, while indicating exemplary embodiments of the present invention, are given by way of illustration and not of limitation. Many changes and modifications may be made within the scope of the present invention without departing from the spirit thereof, and the invention includes all such modifications.
- Exemplary embodiments of the invention are illustrated in the accompanying drawings in which like reference numerals represent like parts throughout light and in which:
-
FIG. 1 is a perspective view of an automated banking machine; -
FIG. 2 is a schematic cross-sectional view of the automated banking machine ofFIG. 1 ; and -
FIG. 3 is a flowchart illustrating a method for communicating financial transaction information using JSON data interchange format. - The automated banking machine described hereinbelow is a teller cash recycler (TCR). Its primary modes of operation involve receiving a stack of banknotes and storing them in appropriate storage modules, and dispensing banknotes from those storage modules to a user, typically a bank teller. Although a particular automated banking machine is described, the systems and methods described herein may be performed using any type of automated banking machine operating in a networked environment. The systems and methods may further be used to perform both the primary modes of operation and one or more secondary modes of operation such as communication of an initial machine configuration, maintenance communications, security communications, machine inventory communications, such as banknote amounts stored therein, etc.
- With reference to
FIGS. 1 and 2 , aTCR 1 comprises a (lower)cabinet 2 housing a safe 3 and an (upper)note handling module 4. The cabinet has afront panel 5 which can be opened to gain access to the safe 3 which, in turn is provided with alockable door 6. The safe 3 houses a number of roll storage modules (RSMs) 7 a-7 f mounted on a frame 8, on which banknotes can be stored. Although the example shown incorporates sixRSMs 7 a-7 f, other versions may include two, four, eight or more RSMs as desired Also inside the safe 3 is a lowernote transport mechanism 9, several diverter switches (not shown) for diverting notes to one of theRSMs 7 a-7 f, a note transport andstorage controller 10 and an internal display 11. Thenote handling module 4 includes aninput module 12, astacker 13, a touch screen 14 aUSB socket 15 and a wired-network socket 16, all of which are accessible externally of theTCR 1. Inside thenote handling module 4 are housed an upper transport mechanism 17, adetector module 18, a diverter switch 19, a notehandling module controller 20, aninterface controller 21 and amemory 22. Theinterface controller 21 is operably connected with the note transport andstorage controller 10 via the notehandling module controller 20 and by means of a CAN bus (not shown). Theinterface controller 21 is also operably connected with thetouch screen 14 andmemory 22. The internal display 11 is controlled by thelower transport controller 10. - Various modes of the TCR of
FIGS. 1 and 2 will now be described. Thedetector modules 18,roll storage modules 7 a-7 f,transport mechanisms 17, 9 and diverter switch 19, are conventional and may operate in a fashion as described in Applicant's co-pending application WO 2008/047094. These components facilitate depositing banknotes which have been fed into theinput module 12 by the user into the safe 3 and dispensing banknotes from the safe 3 into thestacker 13 for collection by the user. - Banknotes which have been placed into the
input module 12 are fed one by one into the upper transport mechanism 17 for conveyance past thedetector module 18 to the diverter switch 19. If the banknote is recognized by thedetector module 18 as a bona fide note, the diverter switch 19 directs the banknote into the safe 3 and along the lowernote transport mechanism 9 to a designatedRSM 7 a-7 f. If a banknote is to be returned to the user, thediverter switch 9 directs the banknote to thestacker 13 from which it can be collected by the user. When a banknote is to be dispensed from aroll storage module 7 a-7 f, it is conveyed in the reverse direction out of the RSM along the lowernote transport mechanism 9, and thence to the diverter switch 19 which directs the banknote to thestacker 13 where it can be collected by the user. - Instructions which cause the TCR to perform a transaction operation, such as depositing or dispensing one or more notes, are received by the interface controller. 21. In a first example, transaction operation instructions are generated at a teller workstation co-located with the
TCR 1. These instructions are transmitted to theTCR 1 over a wired connection terminating at the wired-network socket 16 on theTCR 1. In an alternative arrangement, the instructions are transmitted wirelessly and theinterface controller 21 is provided with a receiver for receiving such transmissions. - In either case, the instructions comprise at least one JavaScript Object Notation (JSON) document which is transported over a Secure Socket Layer (SSL) and using the Transmission Control Protocol/Internet Protocol (TCP/IP). A JSON document may be any data communication received that uses the JSON data interchange format. Alternatively, the JSON document may be transported using the Hypertext Transfer Protocol Secure (I-ITTPS) communications protocol.
- JSON is a data-interchange format configured to transfer information between potentially incompatible technologies, as may be found in providing communication between a number of different machines and different types of machines, often manufactured by different entities. Multiple machines manufactured by different entities is typically found in a banking environment on both a local level, for example at a branch bank location, and a larger level, such as a regional center communicating with a large number of branch locations. For example, an originating automated banking machine may be a teller computer system executing a Java application in web browsing application and the receiver automated banking machine could be a Visual Basic program in firmware on the TCR described above, the use of JSON also allows for data to be moved across different operating systems such as, for example, Windows and Linux. Using a Datagram structure, the data structures previously needed to be defined in advance.
- XML can be used to provide the required flexibility. However, despite the proliferation of programming libraries to perform many common tasks, from extracting node attributes to searching for specific data in the hierarchy, programmers are still faced with a learning curve when having to deal with the tags. Further, using tags increases network traffic overhead, which can cause difficult in environments having less robust communication networks or in environments in which copious amounts of data are being transmitted.
- Advantageously, JSON does not require the use of tags that are required for other markup languages. For example, XML has been used to describe structured data and to serialize objects and various XML-based protocols exist to represent the same kind of data structures as JSON for the same kind of data interchange purposes. However, when data is encoded in XML, the result is typically larger than an equivalent encoding in JSON, mainly because of XML's opening and closing tags.
- To implement the tagless communication, JSON objects are delimited by curly braces { }. The curly braces are also used to enclose function bodies causing operator overloading requiring that the transaction function device parsing the JSON objects consider context. For example, JSON uses key-value pairs to represent the data, and further uses a colon (:) separating the key-value pairs to provide the context. In contrast, a tag has a name associated with it, meaning that a search may be executed for that name in a mark-up document while { } is purely a delimiter and as such cannot be searched.
- In operation, on receipt of a dispense instruction by the
interface controller 21, theinterface controller 21 processes the JSON document and generates further instructions for transmission to the notehandling module controller 20 and note transport andstorage controller 10 which in turn, activate theroll storage modules 7 a-7 f, diverter switch 19 and lowernote transport mechanism 9 in order to dispense the amount of cash requested in the instruction. Theinterface controller 21 also generates a control signal for thetouch screen 14 which may optionally display a “Dispense in progress” message followed, optionally, by “Dispense complete” in order to notify the teller that the transaction operation has been successful. - On receipt of a deposit, or other operational, instruction by the interface controller 21 (typically from a teller workstation), the
interface controller 21 processes the JSON document and generates further instructions for transmission to the notehandling module controller 20, and note transport andstorage controller 10 which in turn, activate thedetector module 18, theroll storage modules 7 a-7 f, diverter switch 19 andtransport mechanisms 9 and 17 in order to authenticate and store the notes which a teller has placed in theinput module 12. Theinterface controller 21 also generates a control signal for thetouch screen 14 which, optionally, displays the value of the deposited notes to the teller. - In a second example, transaction operation instructions are generated at a remote monitoring station, such as a banking network's central computer. As in the first example, these instructions are transmitted to the
TCR 1 over a wired or wireless communications channel and comprise at least one JavaScript Object Notation (JSON) document which is transported over a Secure Socket Layer (SSL.) and using the Transmission Control Protocol/Internet Protocol (TCP/IP). - On receipt of a dispense or deposit instruction from the remote central computer by the
interface controller 21, theinterface controller 21 processes the JSON document and generates further instructions for transmission as in the first example. - In a third example of an operating mode of the
TCR 1 theinterface controller 21 generates JSON documents and transmits them over a communications link (wired or wireless) over SSL using TCP/IP to a monitoring station. These messages include status information and the monitoring station can be a banking network's central computer or a servicing agency. Status information can typically and usefully include fault reporting, the number of the notes in each RSM and the, number of transactions performed during a particular time period. - Referring now to
FIG. 3 , a flowchart illustrating amethod 300 for communicating financial transaction information using JSON data interchange format is shown, according to an exemplary embodiment. The method may be implemented by any of the automated banking machines described herein. - In a
step 302, an automated banking machine receives a financial transaction. The financial transaction may be received from a user of an automated banking machine, directly from another automated banking machine, as a component in a batch of financial transactions, etc. - In a step 304, the received financial transaction is used to generate a JSON document including the financial transaction. The JSON document may be generated using an embedded web browser including a native JSON encoding/decoding module. Advantageously, native JSON encoding/decoding increases the performance of the automated banking machine due to the fact that functions no longer need to be parsed. Alternatively, an automated banking machine may be configured to include a JSON encoder and parser configured to generate and process JSON documents.
- In a step 306, the generated JSON document may be transferred from a first automated banking machine to at least a second automated banking machine. According to exemplary embodiment, the first automated banking machine may transmit the JSON document to a plurality of automated banking machines as a broadcast-type transmittal. The JSON document may be transmitted using any secure messaging communication standard, such as SSL, https, etc. The JSON document may be transmitted using point to point communication, over an established communication network such as the Internet, etc.
- In a step 308, the transmitted JSON document including the financial transaction is received at at least a second automated banking machine. In a
step 310, the received JSON document is parsed by the second automated banking machine to obtain the financial transaction. In astep 312, the second automated banking machine is configured to implement the financial transaction received in the JSON document. - A method of downloading and installing configuration data into the teller
cash recycling machine 1 ofFIG. 1 will now be described. Such configuration data can be accessed by theTCR 1 from a remote source (not shown) and received by theinterface controller 21 over a wired connection, through the wirednetwork socket 16, or wirelessly. Conveniently, the configuration data can be downloaded as a package which is in a compressed (zipped) form. - Configuration data typically comprises at least some of the following; machine parameters, configuration scripts, firmware, operating system (OS) updates, pattern-sets, detection process configurations. The
interface controller 21 is adapted to support the following three processes: download a configuration data package from the remote source into its internal memory; install the package; and on failure of installation or on demand, rollback to the last known working configuration. A configuration data package contains two major parts; meta-data and configuration elements. The package meta-data contains the following set of information; a UUID which unambiguously identifies the configuration package, a cryptographic signature which is: used to enforce package authenticity and integrity, a version id which is used for traceability purposes, and a descriptive text: which may be displayed on thetouch screen 14 to give a summary of the package content. The package's configuration elements contain the actual machine configuration data, where each configuration element targets a specific “installation target.” - A configuration package will not contain more than one configuration element per installation target. The term “installation target” refers to physical machine sub-systems such as the
roll storage modules 7 a-7 f, and also to logical sub-systems such as the notehandling module controller 20, OS, detector module configuration (e.g. pattern-sets) or interface controller access control. Depending on the particular installation target (sub-system) a configuration element might contain a variety of configuration data types. Theinterface controller 21 is configured to handle these transparently. Configuration elements typically carry machine parameters, configuration scripts, firmware, OS updates, pattern sets, and detection process configurations. In order to allow theinterface controller 21 to handle the configuration elements transparently, each element consists of meta-information and the configuration data itself. The configuration element meta-data includes: a UUID which: unambiguously identifies the configuration element, an installation target id which identifies the logical or physical target sub-system, a priority id which is used to define an order in which configuration elements are installed and rolled-back, a list of compatibility id's which are used to check if the element may be installed on the targeted subsystem or not, a version id: used for traceability only and a descriptive text: which may be displayed on thetouch screen 14 to provide the characteristics of the configuration element (e.g. “Detector module configuration package”). In certain instances it may be desired to install or rollback individual configuration elements in a certain order (e.g. OS update first then firmware then parameters). Theinterface controller 21 is therefore configured to install or rollback individual configuration elements in the order of increasing priority. Optionally, a configuration element may reference additional configuration data that can be executed in order to undo a previous installation. - When the
interface controller 21 has received a configuration data package it will validate it and, if successful, store it in its internal memory. If the package is not valid, it will be rejected. The validation process includes two steps. Firstly, the package's signature is validated. The configuration package's meta-data includes a cryptographic signature. This protects the package content against external, unauthorized manipulation and furthermore enables an integrity check on the package content (like a check-sum). Secondly, a hardware compatibility check is done. The configuration elements' meta-data contains a list of hardware compatibility IDs. The aim of this validation is to check if the configuration package content is compatible with the machine's hardware and software configuration. This check is repeated after a successful installation. - The next process is the installation of the particular configuration package (e.g. identified by its UUID).This installation comprises the following steps: compiling a map of the state of all user level configuration parameters (based on key-value pairs); iterating over all configuration elements (sorted by its priority field) and forwarding the configuration data to the corresponding sub-system; restoring all user-level configuration parameters to the state that has been cached in the compilation step; and creating a system restore point. Conveniently, the note
handling module controller 20 can act as proxy for all device-level sub-systems. In cases where the UUID of a configuration element matches the UUID of a previously installed element or previously created restore point, the installation process may be skipped. The compiling and restoring steps facilitate recovery of potential user specific settings after the package installation. However there is a potential conflict between configuration package parameters and user defined settings. To resolve the issue of which should take precedence, theinterface controller 21 maintains a configurable list of parameter keys that are to be restored after the successful installation of a configuration package. Hence, only those parameters whose keys are found in the list are restored. - The creation of a system restore point allows the
interface controller 21 to prepare for configuration rollbacks. A system restore point is automatically created at the end of a successful installation by simply storing the whole set of successfully installed configuration elements in thememory 22 along with the last set of user defined settings (i.e. a list of key-value pairs). Physically this works by exactly just keeping the last successfully installed configuration element per sub-system. If a full configuration package is to be installed, then the complete last restore point is replaced by the new set of configuration elements. If, however, an update configuration package which just contains a sub-set of all configuration elements is to be installed, then the process just updates the relevant configuration elements out of the last restore point. - Another option allows for user defined restore points. For example, a field engineer creates a manual restore point (e.g. saved under the corresponding time-stamp) and subsequently performs an update of the machine. If the installation is successful but after some time the customer requests to go back to the previous configuration, having the manual restore point allows rollback to this point.
- Another further option involves exporting system restore points to an external storage media and re-applying them to other automated banking machines. A cryptographic signature may be applied to the exported restore point.
- A process for applying a restore point in the event of a rollback will now be described. In case anything goes wrong during the installation of a configuration package, the
interface controller 21 will revert all configuration elements that have already been installed (including the one that has caused the failure) to the last automatic restore point. Note that an initial restore point will be an original factory setting restore point. The rollback algorithm works as follows. Theinterface controller 21 iterates over the set of configuration elements (sorted by priority-id) of the last restore point and checks if the UUID of the element matches the one that is installed in the corresponding sub-system. Further, theinterface controller 21 checks if the last installation state of the configuration element is set to “VALID.” If one or the other check delivers ‘false’ the configuration element is reinstalled by the one that is hosted within the last restore point. After this procedure theinterface controller 21 restores the last set of user-settings from the restore point. Note that the rollback scenario requires the restoration of all user-setting as in this scenario user-settings take precedence over package settings. - As an alternative to automatic rollbacks in cases of installation failures, rollback to a manual restore point, or rollback to an exported restore point can be implemented. The rollback procedure can advantageously provide a tool for automatically recovering the machine in cases of hardware repairs (e.g. replacement of PCBs or complete modules etc. in the field).
- In a further embodiment, the teller
cash recycling machine 1 ofFIG. 1 is provided with means for guarding against tampering, such as the unauthorized replacement of theinterface controller 21. The note transport andstorage controller 10 is in a secure location inside the safe 3 but theinterface controller 21 is more vulnerable as it is outside the safe 3. The note transport andstorage controller 10 needs to be sure that theinterface controller 21, with which it is communicating, is the bona fide one and not one which has been tampered with or replaced. It also needs to know whether an operator who has gained access to the machine's interior is authorized to do so. These are achieved by way of the following process. Firstly, the (authorized) operator unlocks and opens thesafe door 6. Next, the operator plugs into the USB port 15 a security dongle (not shown). This step unlocks thetouch screen 14. When thedoor 6 is opened, the interior display 11 is visible to the operator. On the interior display 11 is a sequence of numbers which is known to the note transport andstorage controller 10. The operator subsequently enters into thetouch screen 14 the sequence of numbers displayed. The entered sequence is relayed to the note transport andstorage controller 10 via theinterface controller 21, and notehandling module controller 20. The note transport andstorage controller 10 compares the entered sequence with the known sequence. If the sequences match, then theinterface controller 21 is deemed to be bona fide and the operator authorized. If the sequences do not match, then the note transport andstorage controller 10 disables operation of the machine and no banknotes can be dispensed. - A refinement to the authorization procedure described above can be provided as follows. The sequence of numbers which are displayed on the internal display 11 and entered into the touch screen 14 (or via other means such as a connected PC) are used by the
interface controller 21 and the transport andstorage controller 10 to compute a symmetrical secret key. This key is used by theinterface controller 21 to encrypt its own serial number and that of the note transport andstorage controller 10. Data comprising these encrypted serial numbers are then transmitted from theinterface controller 21 to the note transport andstorage controller 10 for validation.
Claims (11)
1. A computer implemented method for transmitting information between automated banking machines over a communication network, comprising
receiving a message for network communication from a first automated banking machine to a second automated banking machine;
formatting the message in a tagless data interchange format independent of the size of the message based on instructions stored on a computer readable medium within the first automated banking machine; and
transmitting the formatted message to the second automated banking machine.
2. The method of claim 1 , wherein the tagless data interchange format is JavaScript Object Notation.
3. The method of claim 1 , further including performing a financial transaction at the second automated banking machine based on the formatted message.
4. The method of claim 3 , wherein the financial transaction is a banknote withdrawal transaction and the formatted message includes instruction to cause at least one banknote to be dispensed from the second automated banking machine.
5. The method of claim 1 , wherein transmitting the formatted message includes transmitting the message from within a Secure Socket Layer of the first automated banking machine.
6. The method of claim 1 , wherein the first automated banking machine is a teller workstation co-located in a bank in proximity with the second automated banking machine.
7. A system for transmitting information between automated banking machines over a communication network, comprising
a first automated banking machine including a first processor configured to implement network communications using a tagless data interchange format independent of the size of the messages being transmitted based on instructions stored on a computer readable medium, including the steps of:
receiving a message for network communication from the first automated banking machine to a second automated banking machine;
formatting the message in the tagless data interchange format; and
transmitting the formatted message to the second automated banking machine.
8. The system of claim 7 , wherein the tagless data interchange format is JavaScript Object Notation,
9. The system of claim 7 , wherein formatted message includes instructions to the second automated banking machine to perform a banknote withdrawal transaction to cause at least one banknote to be dispensed from the second automated banking machine.
10. The system of claim 7 , wherein transmitting the formatted message includes transmitting the message from within a Secure Socket Layer of the first automated banking machine.
11. The system of claim 7 , wherein the first automated banking machine is a teller workstation co-located in a bank in proximity with the second automated banking machine.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/235,255 US20140222673A1 (en) | 2011-07-29 | 2012-07-24 | System and Method for Communicating Financial Transactions Using a Tagless Data Interchange Format |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161513023P | 2011-07-29 | 2011-07-29 | |
US14/235,255 US20140222673A1 (en) | 2011-07-29 | 2012-07-24 | System and Method for Communicating Financial Transactions Using a Tagless Data Interchange Format |
PCT/IB2012/001432 WO2013017927A1 (en) | 2011-07-29 | 2012-07-24 | System and method for communicating financial transactions using a tagless data interchange format |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140222673A1 true US20140222673A1 (en) | 2014-08-07 |
Family
ID=46796682
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/235,250 Active 2034-05-24 US9971587B2 (en) | 2011-07-29 | 2012-07-24 | System and method for validating a controller for an automated banking machine using a displayed indicia |
US14/235,255 Abandoned US20140222673A1 (en) | 2011-07-29 | 2012-07-24 | System and Method for Communicating Financial Transactions Using a Tagless Data Interchange Format |
US14/235,254 Active US9665360B2 (en) | 2011-07-29 | 2012-07-24 | System and method for updating configuration data for sub-systems of an automated banking machine |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/235,250 Active 2034-05-24 US9971587B2 (en) | 2011-07-29 | 2012-07-24 | System and method for validating a controller for an automated banking machine using a displayed indicia |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/235,254 Active US9665360B2 (en) | 2011-07-29 | 2012-07-24 | System and method for updating configuration data for sub-systems of an automated banking machine |
Country Status (4)
Country | Link |
---|---|
US (3) | US9971587B2 (en) |
EP (1) | EP2737460A1 (en) |
CN (2) | CN103907142B (en) |
WO (3) | WO2013017927A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3032776A1 (en) * | 2014-12-08 | 2016-06-15 | Diebold, Inc. | Clock synchronization and authentication |
US10397304B2 (en) | 2018-01-30 | 2019-08-27 | Excentus Corporation | System and method to standardize and improve implementation efficiency of user interface content |
WO2023146891A1 (en) * | 2022-01-26 | 2023-08-03 | Diebold Nixdorf Incorporated | Service driven processing in financial transactions |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10491398B2 (en) * | 2014-09-12 | 2019-11-26 | Salesforce.Com, Inc. | Facilitating dynamic end-to-end integrity for data repositories in an on-demand services environment |
US10579361B1 (en) | 2016-12-14 | 2020-03-03 | Juniper Networks, Inc | Systems and methods for efficiently updating software installed on network devices |
US10289401B1 (en) * | 2016-12-30 | 2019-05-14 | Juniper Networks, Inc | Systems and methods for efficiently downgrading operating systems installed on network devices |
CN107729186A (en) * | 2017-10-27 | 2018-02-23 | 无锡祥生医疗科技股份有限公司 | The Data Recapture Unit and method of ultrasonic device |
US11075751B2 (en) * | 2018-04-26 | 2021-07-27 | Ncr Corporation | Modular valuable media recycling device |
US10797952B1 (en) | 2019-07-16 | 2020-10-06 | Hewlett Packard Enterprise Development Lp | Intelligent rollback analysis of configuration changes |
CN113282335B (en) * | 2021-07-19 | 2021-10-15 | 北京江融信科技有限公司 | Multi-version configuration method and system for application cluster service parameters |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311165B1 (en) * | 1998-04-29 | 2001-10-30 | Ncr Corporation | Transaction processing systems |
US20030078866A1 (en) * | 1996-11-27 | 2003-04-24 | Diebold, Incorporated | Automated banking machine system using plural communication formats |
US20090059909A1 (en) * | 2007-08-30 | 2009-03-05 | Richard Ali Sullivan | Method and system for loan application non-acceptance follow-up |
US20120005073A1 (en) * | 2010-06-30 | 2012-01-05 | Joseph Gnorski | Financial Transactions Processing System including Cash Automation Machine |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4884514A (en) | 1988-07-27 | 1989-12-05 | Heritage Industries, Inc. | Automatic teller machine housing |
GB9422846D0 (en) * | 1994-11-11 | 1995-01-04 | At & T Global Inf Solution | A business system including at least one transaction terminal |
US7051096B1 (en) | 1999-09-02 | 2006-05-23 | Citicorp Development Center, Inc. | System and method for providing global self-service financial transaction terminals with worldwide web content, centralized management, and local and remote administration |
US7567924B1 (en) * | 1996-11-27 | 2009-07-28 | Diebold, Incorporated | Automated banking machine apparatus and system |
US7266526B1 (en) | 1996-11-27 | 2007-09-04 | Diebold, Incorporated | Automated banking machine system with multiple browsers |
US8042733B2 (en) * | 1996-11-27 | 2011-10-25 | Diebold, Incorporated | Automated banking machine that operates responsive to data bearing records |
US7946480B2 (en) * | 1998-04-17 | 2011-05-24 | Diebold Self-Service Systems, Division Of Diebold, Incorporated | Transaction dependent on ATM receiving user input of the security code sent during transaction to account'S designated mobile phone |
BR0008286A (en) | 1999-02-17 | 2001-11-20 | Diebold Inc | Method and system for connecting services to an automated bank transaction machine |
EP1096444A3 (en) | 1999-11-01 | 2003-07-23 | Citicorp Development Center, Inc. | Method and system for configuration of self-service financial transaction terminals for a common software release |
EP1096374A2 (en) | 1999-11-01 | 2001-05-02 | Citicorp Development Center, Inc. | Method and system for simultancous and unattended installation of software on a self-service financial transaction terminal |
CN1296220A (en) * | 1999-11-01 | 2001-05-23 | 城市集团发展中心有限公司 | Method and system for installing and/or updating software of self-aid financial business terminal |
US6542981B1 (en) * | 1999-12-28 | 2003-04-01 | Intel Corporation | Microcode upgrade and special function support by executing RISC instruction to invoke resident microcode |
US7942328B2 (en) * | 2000-01-03 | 2011-05-17 | Roelesis Wireless Llc | Method for data interchange |
US6672505B1 (en) * | 2000-09-27 | 2004-01-06 | Diebold, Incorporated | Automated banking machine configuration system and method |
AR038760A1 (en) * | 2000-09-29 | 2005-01-26 | Diebold Inc | METHOD FOR ACCUMULATION AND PRESENTATION OF SHEETS IN AN AUTOMATIC TRANSACTION MACHINE |
JP2002183807A (en) * | 2000-12-14 | 2002-06-28 | Hitachi Ltd | Method of integrating operating system with monitoring system, its system and automatic contract receiving device |
CA2332656A1 (en) * | 2001-01-26 | 2002-07-26 | Certapay Inc. | Online payment transfer and identity management system and method |
US7085824B2 (en) * | 2001-02-23 | 2006-08-01 | Power Measurement Ltd. | Systems for in the field configuration of intelligent electronic devices |
US8403205B1 (en) * | 2002-11-25 | 2013-03-26 | Diebold Self-Service Systems Division Of Diebold, Incorporated | Automated banking machine that operates responsive to data read from data bearing records |
GB2395978A (en) * | 2002-12-02 | 2004-06-09 | Ncr Int Inc | Processor with lock control functionality |
US7433968B2 (en) * | 2003-03-12 | 2008-10-07 | Ge Fanuc Automation North America, Inc. | Methods and systems for management and control of an automation control module |
GB0316387D0 (en) * | 2003-07-12 | 2003-08-13 | Ncr Int Inc | Software updates |
BR0303076A (en) * | 2003-08-12 | 2005-03-29 | Itautec Philco Sa | Control, monitoring and management system applied to self-service banking terminals |
US8721446B2 (en) * | 2004-12-09 | 2014-05-13 | Wms Gaming Inc. | Background downloading of gaming content to a gaming machine prior to a scheduled shutdown |
US20070143225A1 (en) * | 2005-12-15 | 2007-06-21 | Hamilton Andrew R | Method and system for authorizing automated teller machine access |
US20100052237A1 (en) | 2006-10-18 | 2010-03-04 | Lars Karoly Herczeg | Document handling apparatus |
CN100483419C (en) * | 2007-07-27 | 2009-04-29 | 华为技术有限公司 | Data format verification method and device |
FR2919654B1 (en) * | 2007-07-31 | 2009-10-30 | Brink S France Sa | SECURE TECHNICAL LOCAL STRUCTURE FOR BANKING AUTOMAT. |
US8423993B2 (en) * | 2008-02-29 | 2013-04-16 | Red Hat, Inc. | Systems and methods for managing software patches |
US8251281B1 (en) | 2008-06-27 | 2012-08-28 | Diebold Self-Service Systems Division Of Diebold, Incorporated | Automated banking system controlled responsive to data bearing records |
US8930930B2 (en) * | 2008-09-04 | 2015-01-06 | International Business Machines Corporation | Updating a computer system |
US8229816B1 (en) * | 2008-09-25 | 2012-07-24 | Bank Of America Corporation | Intelligent cash recycler remote capabilities |
US8132047B2 (en) * | 2008-11-14 | 2012-03-06 | International Business Machines Corporation | Restoring application upgrades using an application restore point |
US8078518B2 (en) * | 2009-04-29 | 2011-12-13 | Bank Of America Corporation | ATM exception balancing system |
US8083141B1 (en) * | 2009-07-17 | 2011-12-27 | United Services Automobile Association (Usaa) | Systems and methods for transactions with a headless automated teller machine or point of sale device |
CN101937598A (en) * | 2010-08-23 | 2011-01-05 | 中国工商银行股份有限公司 | Insurance policy output device based on bank teller terminal |
US20140107836A1 (en) * | 2012-10-08 | 2014-04-17 | Diebold Self Service Systems, Division Of Diebold, Incorporated | Automated banking machine that can detect servicing actions |
US9470030B2 (en) * | 2012-12-18 | 2016-10-18 | Ncr Corporation | Self-aligning cover for an SST |
US20150220920A1 (en) * | 2014-01-31 | 2015-08-06 | Mastercard International Incorporated | Method and system for optimizing force posted payments |
-
2012
- 2012-07-24 CN CN201280038003.3A patent/CN103907142B/en active Active
- 2012-07-24 WO PCT/IB2012/001432 patent/WO2013017927A1/en active Application Filing
- 2012-07-24 WO PCT/IB2012/001425 patent/WO2013017925A1/en active Application Filing
- 2012-07-24 CN CN201280038056.5A patent/CN103907143B/en not_active Expired - Fee Related
- 2012-07-24 WO PCT/IB2012/001430 patent/WO2013017926A1/en active Application Filing
- 2012-07-24 EP EP12754090.4A patent/EP2737460A1/en not_active Withdrawn
- 2012-07-24 US US14/235,250 patent/US9971587B2/en active Active
- 2012-07-24 US US14/235,255 patent/US20140222673A1/en not_active Abandoned
- 2012-07-24 US US14/235,254 patent/US9665360B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030078866A1 (en) * | 1996-11-27 | 2003-04-24 | Diebold, Incorporated | Automated banking machine system using plural communication formats |
US6311165B1 (en) * | 1998-04-29 | 2001-10-30 | Ncr Corporation | Transaction processing systems |
US20090059909A1 (en) * | 2007-08-30 | 2009-03-05 | Richard Ali Sullivan | Method and system for loan application non-acceptance follow-up |
US20120005073A1 (en) * | 2010-06-30 | 2012-01-05 | Joseph Gnorski | Financial Transactions Processing System including Cash Automation Machine |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3032776A1 (en) * | 2014-12-08 | 2016-06-15 | Diebold, Inc. | Clock synchronization and authentication |
US10110368B2 (en) | 2014-12-08 | 2018-10-23 | Diebold Nixdorf, Incorporated | Clock synchronization |
US10397304B2 (en) | 2018-01-30 | 2019-08-27 | Excentus Corporation | System and method to standardize and improve implementation efficiency of user interface content |
US10938880B2 (en) | 2018-01-30 | 2021-03-02 | Excentus Corporation | System and method to standardize and improve implementation efficiency of user interface content |
US11349902B2 (en) | 2018-01-30 | 2022-05-31 | Excentus Corporation | System and method to standardize and improve implementation efficiency of user interface content |
US11677807B2 (en) | 2018-01-30 | 2023-06-13 | Excentus Corporation | System and method to standardize and improve implementation efficiency of user interface content |
WO2023146891A1 (en) * | 2022-01-26 | 2023-08-03 | Diebold Nixdorf Incorporated | Service driven processing in financial transactions |
Also Published As
Publication number | Publication date |
---|---|
US20140222672A1 (en) | 2014-08-07 |
EP2737460A1 (en) | 2014-06-04 |
US20140304693A1 (en) | 2014-10-09 |
WO2013017927A1 (en) | 2013-02-07 |
CN103907142B (en) | 2017-04-26 |
CN103907142A (en) | 2014-07-02 |
WO2013017926A1 (en) | 2013-02-07 |
CN103907143A (en) | 2014-07-02 |
US9971587B2 (en) | 2018-05-15 |
CN103907143B (en) | 2017-08-08 |
WO2013017925A1 (en) | 2013-02-07 |
US9665360B2 (en) | 2017-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140222673A1 (en) | System and Method for Communicating Financial Transactions Using a Tagless Data Interchange Format | |
US9879469B2 (en) | Centrally controlled safe management system | |
CN110097462B (en) | Method and system for facilitating ATM transactions using blockchain | |
US7533802B1 (en) | Automated banking machine system and method | |
US8746551B2 (en) | Predictive fault resolution | |
US8100323B1 (en) | Apparatus and method for verifying components of an ATM | |
US9117328B2 (en) | Automated banking machine that operates responsive to data | |
US9177272B2 (en) | Method and system of obtaining diagnostic data from a device at a remote location | |
US8479985B1 (en) | Banking system controlled responsive to data bearing records | |
RU2381561C2 (en) | Machine system for processing banknotes, machine for processing banknotes and method of using said machine | |
US8490868B1 (en) | Banking system controlled responsive to data bearing records | |
US20120005297A1 (en) | System and method for controlling devices | |
US20100191625A1 (en) | Money processor, money processor system, and control method | |
US7922080B1 (en) | Automated banking machine that operates responsive to data bearing records | |
WO2011119261A1 (en) | Self-service device inventory information control | |
CN110460583A (en) | A kind of sensitive information recording method and device, electronic equipment | |
WO2019117746A1 (en) | Method for automatically crediting deposited funds in the event of fault occurrences | |
KR101571102B1 (en) | Integrated data management system for casino electric game | |
JP5624938B2 (en) | Automatic transaction apparatus and automatic transaction system | |
US20040098309A1 (en) | Communication device | |
CN111508166A (en) | Intelligent cash management machine for bank teller and processing method | |
RU2183862C2 (en) | Device having automatic apparatus and method for making financial operations | |
TR2023003577T2 (en) | MONEY MANAGEMENT SYSTEM AND ELECTRONIC SIGNATURE DEVICE | |
JP2017201458A (en) | Automatic transaction device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |