US20210174331A1 - Transferring a customer from an atm transaction to a device-based transaction during an error state, and applications thereof - Google Patents
Transferring a customer from an atm transaction to a device-based transaction during an error state, and applications thereof Download PDFInfo
- Publication number
- US20210174331A1 US20210174331A1 US17/104,624 US202017104624A US2021174331A1 US 20210174331 A1 US20210174331 A1 US 20210174331A1 US 202017104624 A US202017104624 A US 202017104624A US 2021174331 A1 US2021174331 A1 US 2021174331A1
- Authority
- US
- United States
- Prior art keywords
- customer
- atm
- authentication
- error event
- transaction
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000000977 initiatory effect Effects 0.000 claims abstract description 12
- 238000004891 communication Methods 0.000 claims description 141
- 238000003860 storage Methods 0.000 claims description 91
- 230000008569 process Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 14
- 238000012795 verification Methods 0.000 description 8
- 238000005192 partition Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000007257 malfunction Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000001815 facial effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004377 microelectronic Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 210000001525 retina Anatomy 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 208000032368 Device malfunction Diseases 0.000 description 1
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0778—Dumping, i.e. gathering error/state information after a fault for later diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/322—Aspects of commerce using mobile devices [M-devices]
- G06Q20/3221—Access to banking information through M-devices
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/322—Aspects of commerce using mobile devices [M-devices]
- G06Q20/3223—Realising banking transactions through M-devices
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/327—Short range or proximity payments by means of M-devices
- G06Q20/3276—Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being read by the M-device
-
- 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
- G06Q20/401—Transaction verification
- G06Q20/4016—Transaction verification involving fraud or risk level assessment in transaction processing
-
- 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
- G06Q20/405—Establishing or using transaction specific rules
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- 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]
-
- 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/208—Use of an ATM as a switch or hub
Definitions
- Embodiments relate to automated teller machines (ATMs).
- ATMs automated teller machines
- ATMs can fail in a variety of ways. ATMs should be able to fail gracefully when an error occurs and is detected. After an error occurs that reduces the ATM's functionality, the ATM may enter an error state. Failures that cause ATMs to go into an error state include errors when debit cards are captured, mechanical failures of the ATM, and software errors of the ATM.
- ATMs typically do not allow a customer to continue a transaction despite the error state. Generally, any transaction that is in progress when the failure occurs must be cancelled. This is inefficient and undesirable for a customer.
- FIG. 1 is a computing system for transferring a customer from an ATM transaction to a device based transaction in an embodiment of the present invention.
- FIG. 2 is an exemplary block diagram of the components of the computing system in an embodiment of the present invention.
- FIG. 3 is a further exemplary block diagram of the components of the computing system in an embodiment of the present invention.
- FIG. 4 is an exemplary architecture of the computing system in an embodiment of the present invention.
- FIG. 5 is an exemplary control flow of the computing system in an embodiment of the present invention.
- FIG. 6 is an exemplary method of operating the computing system in an embodiment of the present invention.
- Embodiments disclosed herein provide a way to make ATM transactions more resilient by transferring a user to a mobile device when an error occurs.
- an error is detected in a log file of an ATM.
- a customer associated with the error event is identified based on the log file.
- a profile associated with the customer is retrieved from a database. Based on the profile, the customer is authenticated on a mobile application.
- a mobile transaction session is initiated that enables the customer to complete a transaction with the mobile application or with the ATM via the mobile application.
- embodiments make the ATM transactions more resilient and more tolerant of failures. This can also improve efficiency of the overall distributed system by obviating the need for a customer to restart a transaction at a different ATM, thereby using processing and memory resources more efficiently.
- module can include software, hardware, or a combination thereof in an embodiment of the present invention in accordance with the context in which the term is used.
- the software can be machine code, firmware, embedded code, or application software.
- the hardware can be circuitry, a processor, a special purpose computer, an integrated circuit, integrated circuit cores, a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), passive devices, or a combination thereof. Further, if a module or unit is written in the system or apparatus claims section below, the module or unit is deemed to include hardware circuitry for the purposes and the scope of the system or apparatus claims.
- service can include one or more modules or units.
- a collection of modules or units can be arranged, for example, in software or hardware libraries or development kits in an embodiment of the present invention in accordance with the context in which the term is used.
- the software or hardware libraries and development kits can be a suite of data and programming code, for example pre-written code, classes, routines, procedures, scripts, configuration data, or a combination thereof, that can be called directly or through an application programming interface (API) to facilitate the execution of functions of the system.
- API application programming interface
- the modules, units, and services in the following description of the embodiments can be coupled to one another as described or as shown.
- the coupling can be direct or indirect, without or with intervening items between coupled modules, units, or services.
- the coupling can be by physical contact or by communication between modules, units, or services.
- the computing system 100 includes a first device 102 , such as a client device or a server, connected to a second device 106 , such as a client device or server.
- the first device 102 can be further connected to a third device 108 , such as a client device or a server.
- the second device 106 can be further connected to the third device 108 .
- the first device 102 , the second device 106 , and the third device 108 can communicate with each other through a communication path 104 , such as a wireless or wired network.
- the first device 102 and the third device 108 can be of any of a variety of devices, such as a mobile device, a smart phone, a cellular phone, a personal digital assistant, a tablet computer, a notebook computer, a laptop computer, a desktop computer, or a kiosk such as an ATM 110 .
- the first device 102 and the third device 108 can be associated with the customer 112 .
- the first device 102 and the third device 108 can couple, either directly or indirectly, to the communication path 104 to communicate with the second device 106 or can be stand-alone devices.
- the second device 106 can be any of a variety of centralized or decentralized computing devices.
- the second device 106 can be a laptop computer, a desktop computer, grid-computing resources, a virtualized computing resource, cloud computing resources, routers, switches, peer-to-peer distributed computing devices, a server, or a combination thereof.
- the second device 106 can be centralized in a single room, distributed across different rooms, distributed across different geographical locations, or embedded within a telecommunications network.
- the second device 106 can couple with the communication path 104 to communicate with the first device 102 , the third device 108 , or a combination thereof.
- the second device 106 can be associated with a bank.
- the second device 106 can be the computing infrastructure or backend computing infrastructure, including server infrastructure of the bank.
- the computing system 100 is shown with the first device 102 and the third device 108 as client devices, although it is understood that the computing system 100 can have the first device 102 or the third device 108 as a different type of device.
- the first device 102 or the third device 108 can be a server.
- the computing system 100 is shown with the second device 106 as a server, although it is understood that the computing system 100 can have the second device 106 as a different type of device.
- the second device 106 can be a client device.
- the first device 102 and the third device 108 will be described as client devices and the second device 106 will be described as a server.
- the embodiments of the present invention are not limited to this selection for the type of devices. The selection is an example of an embodiment of the present invention.
- the computing system 100 is shown with the first device 102 , the second device 106 , and the third device 108 as end points of the communication path 104 , although it is understood that the computing system 100 can have a different partition between the first device 102 , the second device 106 , the third device 108 , and the communication path 104 .
- the first device 102 , the second device 106 , the third device 108 , or a combination thereof can also function as part of the communication path 104 .
- the communication path 104 can span and represent a variety of networks and network topologies.
- the communication path 104 can include wireless communication, wired communication, optical communication, ultrasonic communication, or a combination thereof.
- satellite communication, cellular communication, Bluetooth, Infrared Data Association standard (IrDA), wireless fidelity (WiFi), and worldwide interoperability for microwave access (WiMAX) are examples of wireless communication that can be included in the communication path 104 .
- Cable, Ethernet, digital subscriber line (DSL), fiber optic lines, fiber to the home (FTTH), and plain old telephone service (POTS) are examples of wired communication that can be included in the communication path 104 .
- the communication path 104 can traverse a number of network topologies and distances.
- the communication path 104 can include direct connection, personal area network (PAN), local area network (LAN), metropolitan area network (MAN), wide area network (WAN), or a combination thereof.
- PAN personal area network
- LAN local area network
- MAN metropolitan area network
- the first device 102 can send information in a first device transmission 222 over the communication path 104 to the second device 106 .
- the second device 106 can send information in a second device transmission 224 over the communication path 104 to the first device 102 .
- the first device transmission 222 and the second device transmission 224 can be sent over one or more communication channels 248 .
- a communication channel 248 refers either to a physical transmission medium such as a wire, or to a logical connection over a multiplexed medium such as a radio channel.
- the computing system 100 is shown with the first device 102 as a client device, although it is understood that the computing system 100 can have the first device 102 as a different type of device.
- the first device 102 can be a server.
- the computing system 100 is shown with the second device 106 as a server, although it is understood that the computing system 100 can have the second device 106 as a different type of device.
- the second device 106 can be a client device.
- the first device 102 will be described as a client device and the second device 106 will be described as a server.
- the embodiment of the present invention is not limited to this selection for the type of devices. The selection is an example of an embodiment of the present invention.
- the first device 102 can include a first control unit 210 , a first storage unit 216 , a first communication unit 202 , a first user interface 254 , and a first location unit 214 .
- the first control unit 210 can include a first control interface 212 .
- the first control unit 210 can execute a first software 220 to provide the intelligence of the computing system 100 .
- the first control unit 210 can be implemented in a number of different ways.
- the first control unit 210 can be a processor, an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, a hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof.
- ASIC application specific integrated circuit
- FSM hardware finite state machine
- DSP digital signal processor
- the first control interface 212 can be used for communication between the first control unit 210 and other functional units in the first device 102 .
- the first control interface 212 can also be used for communication that is external to the first device 102 .
- the first control interface 212 can receive information from the other functional units of the first device 102 or from external sources, or can transmit information to the other functional units of the first device 102 or to external destinations.
- the external sources and the external destinations refer to sources and destinations external to the first device 102 .
- the first control interface 212 can be implemented in different ways and can include different implementations depending on which functional units or external units are being interfaced with the first control interface 212 .
- the first control interface 212 can be implemented with a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), optical circuitry, waveguides, wireless circuitry, wireline circuitry, an application programming interface (API), or a combination thereof.
- MEMS microelectromechanical system
- API application programming interface
- the first storage unit 216 can store the first software 220 to provide the intelligence of the computing system 100 .
- the first storage unit 216 is shown as a single element, although it is understood that the first storage unit 216 can be a distribution of storage elements.
- the computing system 100 is shown with the first storage unit 216 as a single hierarchy storage system, although it is understood that the computing system 100 can have the first storage unit 216 in a different configuration.
- the first storage unit 216 can be formed with different storage technologies forming a memory hierarchal system including different levels of caching, main memory, rotating media, or off-line storage.
- the first storage unit 216 can be a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof.
- the first storage unit 216 can be a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM) or dynamic random access memory (DRAM).
- NVRAM non-volatile random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- the first storage unit 216 can include a first storage interface 218 .
- the first storage interface 218 can be used for communication between the first storage unit 216 and other functional units in the first device 102 .
- the first storage interface 218 can also be used for communication that is external to the first device 102 .
- the first storage interface 218 can receive information from the other functional units of the first device 102 or from external sources, or can transmit information to the other functional units or to external destinations.
- the first storage interface 218 can include different implementations depending on which functional units or external units are being interfaced with the first storage unit 216 .
- the first storage interface 218 can be implemented with technologies and techniques similar to the implementation of the first control interface 212 .
- the first communication unit 202 can enable external communication to and from the first device 102 .
- the first communication unit 202 can permit the first device 102 to communicate with the second device 106 , the third device 108 of FIG. 1 , an attachment, such as a peripheral device, and the communication path 104 .
- the first communication unit 202 can also function as a communication hub allowing the first device 102 to function as part of the communication path 104 and not be limited to be an end point or terminal unit to the communication path 104 .
- the first communication unit 202 can include active and passive components, such as microelectronics or an antenna, for interaction with the communication path 104 .
- the first communication unit 202 can include a first communication interface 208 .
- the first communication interface 208 can be used for communication between the first communication unit 202 and other functional units of the first device 102 .
- the first communication interface 208 can receive information from the other functional units of the first device 102 or from external sources, or can transmit information to the other functional units or to external destinations.
- the first communication interface 208 can include different implementations depending on which functional units are being interfaced with the first communication unit 202 .
- the first communication interface 208 can be implemented with technologies and techniques similar to the implementation of the first control interface 212 .
- the first communication unit 202 can couple with the communication path 104 to send information to the second device 106 in the first device transmission 222 .
- the second device 106 can receive information in a second communication unit 226 from the first device 102 in the first device transmission 222 through the communication path 104 .
- the first user interface 254 can present information generated by the computing system 100 .
- the first user interface 254 allows the customer 112 to interface with the first device 102 .
- the first user interface 254 can include an input device and an output device. Examples of the input device of the first user interface 254 can include a first camera interface 204 , a keypad, buttons, switches, touchpads, soft-keys, a keyboard, a microphone, sensors for receiving remote signals, or any combination thereof to provide data and communication inputs. Examples of the output device can include a first display interface 206 .
- the first control unit 210 can operate the first user interface 254 to present information generated by the computing system 100 or to obtain information for the computing system 100 .
- the first control unit 210 can also execute the first software 220 to present information generated by the computing system 100 , to obtain information for the computing system 100 , or to control other functional units of the computing system 100 .
- the first display interface 206 can be any graphical user interface such as a display, a projector, a video screen, or any combination thereof.
- the first camera interface 204 can include a camera, an image capturing device, an image sensor, a video recorder, or components thereof for example, a color balancer, a wave form monitor, or any combination thereof.
- the first display interface 206 and the first camera interface 204 allow the customer 112 to interact with the computing system 100 .
- the first location unit 214 can generate location information, current heading, and current speed and acceleration of the first device 102 , as examples.
- the first location unit 214 can be implemented in many ways.
- the first location unit 214 can function as at least a part of a global positioning system (GPS) and can include components, such as a GPS receiver, an inertial navigation system, a cellular-tower location system, a pressure location system, an accelerometer, a gyroscope, or any combination thereof.
- GPS global positioning system
- the first location unit 214 can include a first location interface 250 .
- the first location interface 250 can be used for communication between the first location unit 214 and other functional units in the first device 102 .
- the first location interface 250 can also be used for communication that is external to the first device 102 .
- the first location interface 250 can be implemented with technologies and techniques similar to the implementation of the first control interface 212 .
- the second device 106 can be optimized for implementing an embodiment of the present invention in a multiple device embodiment with the first device 102 and the third device 108 of FIG. 1 .
- the second device 106 can provide additional or higher performance processing power compared to the first device 102 , the third device 108 , or a combination thereof.
- the second device 106 can include a second control unit 238 , a second storage unit 240 , a second communication unit 226 , a second user interface 228 , and a second location unit 246 .
- the second control unit 238 can include a second control interface 236 .
- the second control unit 238 can execute a second software 244 to provide the intelligence of the computing system 100 .
- the second software 244 can operate independently or in conjunction with the first software 220 .
- the second control unit 238 can provide additional performance compared to the first control unit 210 .
- the second control unit 238 can be implemented in a number of different ways.
- the second control unit 238 can be a processor, an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, a hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof.
- ASIC application specific integrated circuit
- FSM hardware finite state machine
- DSP digital signal processor
- the second control unit 238 can include a second control interface 236 .
- the second control interface 236 can be used for communication between the second control unit 238 and other functional units of the second device 106 .
- the second control interface 236 can also be used for communication that is external to the second device 106 .
- the second control interface 236 can receive information from the other functional units of the second device 106 or from external sources, or can transmit information to the other functional units of the second device 106 or to external destinations.
- the external sources and the external destinations refer to sources and destinations external to the second device 106 .
- the second control interface 236 can be implemented in different ways and can include different implementations depending on which functional units or external units are being interfaced with the second control interface 236 .
- the second control interface 236 can be implemented with a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), optical circuitry, waveguides, wireless circuitry, wireline circuitry, an application programming interface, or a combination thereof.
- MEMS microelectromechanical system
- the second storage unit 240 can store the second software 244 to provide the intelligence of the computing system 100 .
- the second storage unit 240 can be sized to provide the additional storage capacity to supplement the first storage unit 216 .
- the second storage unit 240 is shown as a single element, although it is understood that the second storage unit 240 can be a distribution of storage elements.
- the computing system 100 is shown with the second storage unit 240 as a single hierarchy storage system, although it is understood that the computing system 100 can have the second storage unit 240 in a different configuration.
- the second storage unit 240 can be formed with different storage technologies forming a memory hierarchal system including different levels of caching, main memory, rotating media, or off-line storage.
- the second storage unit 240 can be a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof.
- the second storage unit 240 can be a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM) or dynamic random access memory (DRAM).
- NVRAM non-volatile random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- the second storage unit 240 can include a second storage interface 242 .
- the second storage interface 242 can be used for communication between the second storage unit 240 and other functional units of the second device 106 .
- the second storage interface 242 can also be used for communication that is external to the second device 106 .
- the second storage interface 242 can receive information from the other functional units of the second device 106 or from external sources, or can transmit information to the other functional units or to external destinations.
- the second storage interface 242 can include different implementations depending on which functional units or external units are being interfaced with the second storage unit 240 .
- the second storage interface 242 can be implemented with technologies and techniques similar to the implementation of the second control interface 236 .
- the second communication unit 226 can enable external communication to and from the second device 106 .
- the second communication unit 226 can permit the second device 106 to communicate with the first device 102 , the third device 108 of FIG. 1 , an attachment, such as a peripheral device, and the communication path 104 .
- the second communication unit 226 can also function as a communication hub allowing the second device 106 to function as part of the communication path 104 and not be limited to be an end point or terminal unit to the communication path 104 .
- the second communication unit 226 can include active and passive components, such as microelectronics or an antenna, for interaction with the communication path 104 .
- the second communication unit 226 can couple with the communication path 104 to send information to the first device 102 in the second device transmission 224 .
- the first device 102 can receive information in a first communication unit 202 from the second device 106 in the second device transmission 224 through the communication path 104 .
- the second communication unit 226 can include a second communication interface 230 .
- the second communication interface 230 can be used for communication between the second communication unit 226 and other functional units of the second device 106 .
- the second communication interface 230 can receive information from the other functional units of the second device 106 or from external sources, or can transmit information to the other functional units or to external destinations.
- the second communication interface 230 can include different implementations depending on which functional units are being interfaced with the second communication unit 226 .
- the second communication interface 230 can be implemented with technologies and techniques similar to the implementation of the second control interface 236 .
- the second user interface 228 can present information generated by the computing system 100 .
- the second user interface 228 allows a user of the computing system 100 to interface with the second device 106 .
- the second user interface 228 can include an input device and an output device. Examples of the input device of the second user interface 228 can include a second camera interface 232 , a keypad, buttons, switches, touchpads, soft-keys, a keyboard, a microphone, sensors for receiving remote signals, or any combination thereof to provide data and communication inputs. Examples of the output device can include a second display interface 234 .
- the second control unit 238 can operate the second user interface 228 to present information generated by the computing system 100 or to obtain information for the computing system 100 .
- the second control unit 238 can also execute the second software 244 to present information generated by the computing system 100 , to obtain information for the computing system 100 , or to control other functional units of the computing system 100 .
- the second display interface 234 can be any graphical user interface such as a display, a projector, a video screen, or any combination thereof.
- the second camera interface 232 can include a camera, an image capturing device, an image sensor, a video recorder, or components thereof for example, a color balancer, a wave form monitor, or any combination thereof.
- the second display interface 234 and the second camera interface 232 allow a user of the computing system 100 to interact with the computing system 100 .
- the second location unit 246 can generate location information, current heading, and current speed and acceleration of the second device 106 , as examples.
- the second location unit 246 can be implemented in many ways.
- the second location unit 246 can function as at least a part of a global positioning system (GPS) and can include components, such as a GPS receiver, an inertial navigation system, a cellular-tower location system, a pressure location system, an accelerometer, a gyroscope, or any combination thereof.
- GPS global positioning system
- the second location unit 246 can include a second location interface 252 .
- the second location interface 252 can be used for communication between the second location unit 246 and other functional units of the second device 106 .
- the second location interface 252 can also be used for communication that is external to the second device 106 .
- the second location interface 252 can be implemented with technologies and techniques similar to the implementation of the second control interface 236 .
- the computing system 100 can further include the third device 108 .
- the third device 108 can be optimized for implementing an embodiment of the present invention in a multiple device embodiment with the first device 102 and the second device 106 of FIGS. 1 and 2 .
- the third device 108 can provide additional or higher performance processing power compared to the first device 102 , the second device 106 , or a combination thereof.
- the third device 108 can send information in a third device transmission 304 over the communication path 104 to the first device 102 .
- the third device 108 can also send information in the third device transmission 304 over the communication path 104 to the second device 106 of FIGS. 1 and 2 .
- the first device 102 can send information in a first device transmission 222 over the communication path 104 to the third device 108 .
- the first device transmission 222 and the third device transmission 304 can be sent over one or more communication channels 248 .
- the computing system 100 is shown with the first device 102 as a client device, although it is understood that the computing system 100 can have the first device 102 as a different type of device.
- the first device 102 can be a server.
- the computing system 100 is shown with the third device 108 as a client device, although it is understood that the computing system 100 can have the third device 108 as a different type of device.
- the third device 108 can be a server.
- the first device 102 will be described as a client device and the third device 108 will be described as a client device.
- the embodiment of the present invention is not limited to this selection for the type of devices. The selection is an example of an embodiment of the present invention.
- the third device 108 can include a third control unit 318 , a third storage unit 320 , a third communication unit 306 , a third user interface 310 , and a third location unit 326 .
- the third control unit 318 can execute a third software 324 to provide the intelligence of the computing system 100 .
- the third software 324 can operate independently or in conjunction with the first software 220 , the second software 244 of FIG. 2 , or a combination thereof.
- the third control unit 318 can be implemented in a number of different ways.
- the third control unit 318 can be a processor, an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, a hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof.
- ASIC application specific integrated circuit
- FSM hardware finite state machine
- DSP digital signal processor
- the third control unit 318 can include a third control interface 316 .
- the third control interface 316 can be used for communication between the third control unit 318 and other functional units in the third device 108 .
- the third control interface 316 can also be used for communication that is external to the third device 108 .
- the third control interface 316 can receive information from the other functional units of the third device 108 or from external sources, or can transmit information to the other functional units or to external destinations.
- the external sources and the external destinations refer to sources and destinations external to the third device 108 .
- the third control interface 316 can be implemented in different ways and can include different implementations depending on which functional units or external units are being interfaced with the third control interface 316 .
- the third control interface 316 can be implemented with a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), optical circuitry, waveguides, wireless circuitry, wireline circuitry, an application programming interface (API), or a combination thereof.
- MEMS microelectromechanical system
- API application programming interface
- the third storage unit 320 can store the third software 324 to provide the intelligence of the computing system 100 .
- the third storage unit 320 is shown as a single element, although it is understood that the third storage unit 320 can be a distribution of storage elements.
- the computing system 100 is shown with the third storage unit 320 as a single hierarchy storage system, although it is understood that the computing system 100 can have the third storage unit 320 in a different configuration.
- the third storage unit 320 can be formed with different storage technologies forming a memory hierarchal system including different levels of caching, main memory, rotating media, or off-line storage.
- the third storage unit 320 can be a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof.
- the third storage unit 320 can be a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM) or dynamic random access memory (DRAM).
- NVRAM non-volatile random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- the third storage unit 320 can include a third storage interface 322 .
- the third storage interface 322 can be used for communication between the third storage unit 320 and other functional units in the third device 108 .
- the third storage interface 322 can also be used for communication that is external to the third device 108 .
- the third storage interface 322 can receive information from the other functional units of the third device 108 or from external sources, or can transmit information to the other functional units or to external destinations.
- the third storage interface 322 can include different implementations depending on which functional units or external units are being interfaced with the third storage unit 320 .
- the third storage interface 322 can be implemented with technologies and techniques similar to the implementation of the third control interface 316 .
- the third communication unit 306 can enable external communication to and from the third device 108 .
- the third communication unit 306 can permit the third device 108 to communicate with the second device 106 of FIGS. 1 and 2 , the first device 102 , an attachment, such as a peripheral device, and the communication path 104 .
- the third communication unit 306 can also function as a communication hub allowing the third device 108 to function as part of the communication path 104 and not be limited to be an end point or terminal unit to the communication path 104 .
- the third communication unit 306 can include active and passive components, such as microelectronics or an antenna, for interaction with the communication path 104 .
- the third communication unit 306 can include a third communication interface 308 .
- the third communication interface 308 can be used for communication between the third communication unit 306 and other functional units of the third device 108 .
- the third communication interface 308 can receive information from the other functional units of the third device 108 or from external sources, or can transmit information to the other functional units or to external destinations.
- the third communication interface 308 can include different implementations depending on which functional units are being interfaced with the third communication unit 306 .
- the third communication interface 308 can be implemented with technologies and techniques similar to the implementation of the third control interface 316 .
- the third user interface 310 can present information generated by the computing system 100 .
- the third user interface 310 allows the customer 112 to interface with the third device 108 .
- the third user interface 310 can include an input device and an output device. Examples of the input device of the third user interface 310 can include a third camera interface 312 , a keypad, buttons, switches, a touchpad, soft-keys, a keyboard, a microphone, sensors for receiving remote signals, or any combination thereof to provide data and communication inputs. Examples of the output device can include a third display interface 314 .
- the third control unit 318 can operate the third user interface 310 to present information generated by the computing system 100 or to obtain information for the computing system 100 .
- the third control unit 318 can also execute the third software 324 to present information generated by the computing system 100 , to obtain information for the computing system 100 , or to control other functional units of the computing system 100 .
- the third display interface 314 can be any graphical user interface such as a display, a projector, a video screen, or any combination thereof.
- the third camera interface 312 can include a camera, an image capturing device, an image sensor, a video recorder, or components thereof for example, a color balancer, a wave form monitor, or any combination thereof.
- the third display interface 314 and the third camera interface 312 allow the customer 112 of the computing system 100 to interact with the computing system 100 .
- the third location unit 326 can generate location information, current heading, and current speed and acceleration of the third device 108 , as examples.
- the third location unit 326 can be implemented in many ways.
- the third location unit 326 can function as at least a part of a global positioning system (GPS) and can include components, such as a GPS receiver, an inertial navigation system, a cellular-tower location system, a pressure location system, an accelerometer, a gyroscope, or any combination thereof.
- GPS global positioning system
- the third location unit 326 can include a third location interface 328 .
- the third location interface 328 can be used for communication between the third location unit 326 and other functional units in the third device 108 .
- the third location interface 328 can also be used for communication that is external to the third device 108 .
- the third location interface 328 can be implemented with technologies and techniques similar to the implementation of the third control interface 316 .
- Functionality of the computing system 100 can be provided by the first control unit 210 , the second control unit 238 , the third control unit 318 , or a combination thereof.
- the first device 102 is shown with the partition having the first user interface 254 , the first storage unit 216 , the first control unit 210 , the first location unit 214 , and the first communication unit 202 , although it is understood that the first device 102 can have a different partition.
- the first software 220 can be partitioned differently such that some or all of its functionality can be, for example, in the first control unit 210 and the first communication unit 202 .
- the first device 102 can include other functional units not shown in FIGS. 2 and 3 for clarity.
- the second device 106 of FIGS. 1 and 2 and the third device 108 can have a similar or different partition as the first device 102 .
- the functional units in the second device 106 can work individually and independently of the other functional units of the second device 106 .
- the functional units of the third device 108 can work individually and independently of the other functional units of the third device 108 .
- the functional units of the first device 102 can work individually and independently of the other functional units of the first device 102 .
- the second device 106 can work individually and independently from the first device 102 , the third device 108 , and the communication path 104 .
- the third device 108 can work individually and independently from the first device 102 , the second device 106 , and the communication path 104 .
- the first device 102 can work individually and independently from the second device 106 , the third device 108 , and the communication path 104 .
- the computing system 100 is described by operation of the first device 102 , the second device 106 , and the third device 108 . It is understood that the first device 102 , the second device 106 , and the third device 108 can operate any of the modules, units, or services of the computing system 100 .
- the architecture of the computing system 100 can be implemented based on one or more services and sub-services.
- the services and sub-services can allow the customer 112 , via a client device, for example the first device 102 , the third device 108 , or a combination thereof to conduct one or more transactions, via a server, for example the second device 106 .
- Transactions refer to one or more communication, commercial, entertainment, or educational dealings conducted between the customer 112 and an institution.
- the institution can be for example, a company such as a bank or an entertainment service provider.
- the institution can also be a transportation authority such as a subway/metro service, an airport or airline service, a highway toll booth.
- Examples of transactions with a bank can include one or more banking related dealings, including accessing a bank account, checking the status of a bank account, withdrawing money from a bank account, transferring money to and from a bank account, depositing money into a bank account, or a combination thereof.
- Transactions with a transportation authority can include purchasing a ticket, scheduling or rescheduling a trip, depositing funds onto a fair card, receiving a refund, checking the status of a trip, or a combination thereof.
- Transactions with an entertainment service provider can include purchasing entertainment content, such as a movie, music, or printed publications such as books or magazines, purchasing tickets, returning tickets, or a combination thereof. While the examples with respect to transactions in this application and this FIG. 4 refer to transactions with banks via a client device such as the first device 102 and the third device 108 , this is not meant to be limiting. Other forms of transactions are envisioned that can use the exemplary architecture of the computing system 100 described in this FIG. 4 .
- the services and sub-services can further allow the customer 112 , via the client device, for example the first device 102 , to control the operation of another client device, for example the third device 108 , via the server, for example the second device 106 , by enabling pairing or otherwise connection of the client devices, for example the first device 102 and the third device 108 via the server, for example the second device 106 . Further details regarding pairing will be discussed below.
- the services and sub-services can be located, stored, performed, executed, or a combination thereof in and by a server, for example the second device 106 .
- a server for example the second device 106 .
- the services and sub-services can be located, stored, performed, executed, or a combination thereof in and by a client device, for example the first device 102 , the third device 108 , or a combination thereof, or in and by a client device in conjunction with a server.
- the services and sub-services can include a secure interface service 404 , a micro-service repository 406 , a cardless service 408 , a pairing service 410 , and an ATM middleware service 412 .
- the secure interface service 404 can couple to the micro-service repository 406 and a client device, for example the first device 102 .
- the micro-service repository 406 can couple to the cardless service 408 and the ATM middleware service 412 .
- the cardless service 408 can couple to the pairing service 410 and the ATM middleware service 412 .
- the pairing service 410 can couple to the ATM middleware service 412 and a client device, for example the third device 108 .
- the ATM middleware service can couple to a client device, for example the third device 108 .
- the secure interface service 404 enables secure communications between the bank, via the server, and a client device, to allow the customer 112 to securely conduct the transactions with the bank via the client device.
- the secure interface service 404 can enable secure communications by, for example, preventing improper access attempts by a client device, such as the first device 102 against the bank via the server, or can prevent improper access by a client device, for example the first device 102 , to another client device, for example the third device 108 .
- the secure interface service 404 can terminate communications between the one or more devices or the server.
- Improper access attempts can be, for example, distributed denial of service (DDoS) attacks, injection attacks, hacks, malware attacks, trojan horse attacks, computer virus attacks, phishing attempts, or a combination thereof.
- DDoS distributed denial of service
- the secure interface service 404 can detect the improper access attempt by, for example, enabling and executing a virus detection software, a computer monitoring software, a firewall, a malware protection software, or monitoring a computer log, a file system integrity, one or more computer files, one or more hyperlinks sent to or from a client device, the execution of one or more computer programs, or a combination thereof, that can identify improper access attempts.
- the secure interface service 404 can allow the client device to access one or more of the services or sub-services, for example the micro-service repository 406 , to further enable completion of the transactions by the customer 112 .
- the micro-service repository 406 refers to the services or sub-services that enables access to a programming code, for example pre-written code, classes, procedures, routines, scripts, configuration data, or a combination thereof, that enable the transactions between the customer 112 and the bank via the client device and the server.
- the micro-service repository 406 can enable access, by the client device, the server, or a combination thereof to programming code that enables the customer 112 access to a bank account, check the status of a bank account, withdraw money from a bank account, transfer money to and from a bank account, deposit money into a bank account, or a combination thereof, via the client device.
- the micro-service repository can enable access to the programming code directly or through one or more APIs.
- the APIs can allow the client device, the server, or a combination thereof to access third party systems, third party servers, third party repositories, or a combination thereof, to access the programming code.
- a third party refers to an entity other than the customer 112 or the bank.
- the cardless service 408 enables a customer 112 via a client device, for example the first device 102 , to interact with another client device, for example the third device 108 , via the server, for example the second device 106 , without the need to have a physical bank issued card, such as a debit card or a credit card to conduct transactions with the bank.
- the cardless service 408 can enable the customer 112 to authenticate him or herself using one or more authentication instructions 414 .
- the authentication instructions 414 refer to one or more variables, passcodes, words, phrases, questions, images, biometric factors, usernames and passwords, access keys, or a combination thereof used to verify the identity of the customer 112 .
- the cardless service 408 can send one or more of the authentication instructions 414 to the customer 112 , via the server, to a client device, for example the first device 102 , and receive a customer input variable 416 from the customer 112 based on the authentication instructions 414 .
- the customer input variable 416 refers to a variable, parameter, text or numerical inputs, images, biometric factors, or a combination thereof the customer 112 inputs or is obtained or otherwise provided from the customer 112 based on the authentication instructions 414 , for example the answer to a question or the verification of a passcode sent to the customer 112 as the authentication instructions 414 .
- the cardless services 408 can enable authentication of the identity of the customer 112 .
- the cardless services 408 can further enable the completion of the transactions by the customer 112 by coupling to the pairing service 410 and pairing a client device, for example the first device 102 , and another client device, for example the third device 108 .
- the pairing service 410 enables the pairing of one or more client devices via the server.
- the pairing service 410 can enable the pairing of the first device 102 and the third device 108 via the second device 106 .
- the pairing service 410 can pair the one or more client devices based on enabling the generation of a barcode 402 containing a unique identifier.
- the barcode 402 refers to a visual machine-readable representation of data.
- the barcode 402 can be, for example, a linear or one-dimensional barcode, such as a series of lines with variable spaces in between them, a matrix or two-dimensional barcode, such as a QR code, or a combination thereof.
- the specific configuration of the barcode can constitute the unique identifier.
- the pairing service 410 can enable the transmission of the barcode 402 to a client device to establish and maintain the pairing between the client devices.
- the third device 108 can display the barcode 402 on the third display interface 314 .
- the customer 112 via the first device 102 can scan the barcode 402 using the first camera interface 204 .
- the first device 102 can communicate with one or more services or sub-services, including but not limited to the secure interface service 404 , the micro-service repository 406 , the cardless service 408 , the ATM middleware service 412 , or a combination thereof, which can establish that the scanned barcode 402 received from the first device 102 matches the barcode 402 generated by the pairing service 410 , and can notify the pairing service 410 , in addition to other services or sub-services to establish a connection between the first device 102 and the third device 108 so the customer 112 can conduct one or more transactions with the bank via a client device, for example the first device 102 .
- the secure interface service 404 the micro-service repository 406 , the cardless service 408 , the ATM middleware service 412 , or a combination thereof.
- the pairing service 410 can enable the further re-generation of the barcode 402 after some instance of time, for example, after ten (10) seconds or fifteen (15) seconds, as examples.
- the re-generation of the barcode 402 in this manner can further add to the security of the computing system 100 so as to avoid having the re-use of the barcode 402 across multiple client devices, for example across multiple ATMs, so as to prevent the customer 112 from conducting duplicate transactions, such as duplicate withdrawals of money, duplicate transfers of money, or a combination thereof.
- the ATM middleware service 412 enables the coordination of the services or sub-services of the computing system 100 .
- the ATM middleware service 412 can coordinate the services or sub-services by coordinating tasks, functions, routines, communication, or a combination thereof of the services and sub-services between one another, and between the services or sub-services and one or more client devices, for example the third device 108 . In this way, the ATM middleware service 412 acts as a controller between the services and sub-services and the devices of the computing system 100 .
- the computing system 100 has been described with the services or sub-services functions or order as an example.
- the computing system 100 can partition the services and sub-services differently or order the services or sub-services differently.
- the first device 102 , the second device 106 , the third device 108 , or a combination thereof can include the services or sub-services of the computing system 100 .
- the first device 102 , the second device 106 , the third device 108 , or a combination thereof can include one or more of the secure interface service 404 , the micro-service repository 406 , the cardless service 408 , the pairing service 410 , and the ATM middleware service 412 , and associated sub-services and modules included therein.
- the control flow can be implemented with modules and sub-modules.
- the control flow can include an error detection module 502 , a customer identification module 504 , an authentication module 506 , a contact module 508 , a transaction module 510 , and a termination module 516 .
- the error detection module 502 can couple to the customer identification module 504 .
- the customer identification module 504 can couple to the authentication module 506 .
- the authentication module 506 can couple to the contact module 508 .
- the contact module 508 can couple to the transaction module 510 and the termination module 516 .
- the services or sub-services can contain the modules or sub-modules.
- the secure interface service 404 , the micro-service repository 406 , the cardless service 408 , the pairing service 410 , and the ATM middleware service 412 can contain the error detection module 502 , the customer identification module 504 , the authentication module 506 , the contact module 508 , the transaction module 510 , the termination module 516 , and associated sub-modules.
- the error detection module 502 enables the detection of an error event 518 of a client device, for example the third device 108 .
- the error event 518 refers to an instance where the client device malfunctions such that the customer 112 cannot complete transactions with the bank using a client device, for example the third device 108 .
- the error event 518 can include, for example, a mechanical malfunction of the client device, for example a malfunction of one or more components of the client device, a software malfunction of the client device, or a card capture error event 520 by the client device, for example the third device 108 , captures or otherwise does not release or give back to the customer 112 a physical bank issued card, such as a debit card, a credit card, or a combination thereof associated with the customer 112 .
- the error detection module 502 can enable the detection of the error event 518 based on parsing a log file 522 .
- the log file 522 refers to a computer file that records one or more events, including the error event 518 that can occur in an operating system, the software, the hardware, or a combination thereof of the client device.
- the log file 522 can contain information regarding which software or hardware components have malfunctioned, for example what modules or units of the client device has malfunctioned.
- the log file 522 can further contain information regarding the card capture error event 520 , for example whether a card was captured, how many cards have been captured in the client device, a weight associated with the cards that have been captured in the client device, or a combination thereof.
- the log file 522 can further include information regarding the customer 112 , such as a name, an account information, or a combination thereof associated with the error event 518 .
- the log file 522 can further include information regarding a task 524 that the customer 112 is trying to accomplish using the client device prior to encountering the error event 518 .
- the task 524 can be associated with the transactions the customer 112 wants to conduct with the bank.
- the task 524 can include entering a pin, pressing a button, or choosing one or more options to access a bank account, check the status of a bank account, withdraw money from a bank account, transfer money to and from a bank account, deposit money into a bank account, or a combination thereof.
- the log file 522 can be, for example, a text file, such as a MicrosoftTM Word file, a Notepad file, or a similar text based file.
- the log file 522 can be generated by a client device, for example the third device 108 , and can be transmitted to an error log database 512 .
- the error log database 512 refers to a database, a repository, a list, a table, or a combination thereof that stores the log file 522 .
- the error log database 512 can be implemented using a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof.
- the error log database 512 can be implemented using a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM) or dynamic random access memory (DRAM).
- NVRAM non-volatile random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- the error log database 512 can further be implemented as a database, a repository, a list, a table, or a combination thereof using software, hardware, or a combination thereof using the above mentioned memory components.
- the error detection module 502 can parse the log file 522 by, for example, analyzing text, numbers, tags, codes, or a combination thereof, and extracting information from the log file 522 . In one embodiment, based on parsing the log file 522 , the error detection module 502 can detect the error events 518 , the task 524 , or a combination thereof, and the customer 112 information associated with the error events 518 , the task 524 , or a combination thereof.
- the error detection module 502 can parse the log file 522 for text, numbers, tags, codes, or a combination thereof associated with a card capture error event 520 .
- the log file 522 can contain text or a tag called “CARD CAPTURE ERROR.”
- the error detection module 502 upon parsing the log file 522 and encountering the text or the tag can determine that a card capture error event 520 has occurred.
- the error detection module 502 can further parse the log file to find a customer 112 name, account number, or a combination thereof associated with the error, by for example searching for tags or text containing the customer 112 name, account number, or a combination thereof.
- the log file 522 can contain further information indicating a card capture error event 520 , for example a number of bank cards stored in the client device, which can be recorded in the log file 522 every time a physical bank issued card is captured, a weight threshold representing the weight of a physical bank issued card which can be recorded in the log file 522 every time a bank card is captured, or a combination thereof.
- the further information can also be used to determine a card capture error event 520 .
- the error detection module 502 upon parsing the log file 522 can search for a tag, text, number, or a combination thereof indicating the number of bank cards stored or whether the number of bank cards stored on the client device has been updated, or search for a weight threshold representing the weight of a physical bank issued card or whether the weight threshold has been updated. Based on encountering the text, tag, number, or a combination thereof related to the number of bank cards or the weight threshold, the error detection module 502 can determine that a card capture error event 520 has occurred.
- the error detection module 502 can pass the extracted information to the customer identification module 504 for further processing.
- the customer identification module 504 can enable identification and receipt of detailed information related to the customer 112 based on the extracted information obtained by parsing the log file 522 .
- the detailed information can identify the customer 112 and include further specific information about the customer 112 , for example, further personal information including a social security number, an account information, a username and password, an address, a driver's license information, one or more security questions and answers used to verify the customer 112 , biometric information, including, for example a retina map, a fingerprint, a facial map, a voice recognition information, or a combination thereof.
- the detailed information can be stored in a customer profile 526 .
- the customer profile 526 refers to the collection of the detailed customer 112 information in a database, a table, a data structure, a file, or a combination thereof.
- the customer identification module 504 can obtain or otherwise receive the customer profile 526 by accessing a customer identification database 514 .
- the customer identification database 514 refers to a database, a repository, a list, a table, or a combination thereof that stores the customer profile 526 .
- the customer identification database 514 can be implemented using a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof.
- the customer identification database 514 can be implemented using a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM) or dynamic random access memory (DRAM).
- NVRAM non-volatile random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- the customer identification database 514 can further be implemented as a database, a repository, a list, a table, or a combination thereof implemented using software, hardware, or a combination thereof using the above mentioned memory components.
- the customer identification module 504 can obtain the customer profile 526 by, for example, searching for the customer 112 name or account information obtained from parsing the log file 522 in the customer identification database 514 . If the customer identification module 504 finds the same customer 112 name or account information in the customer identification database 514 , the customer identification module 504 can request and receive further customer 112 information, for example the customer profile 526 associated with the customer 112 . In one embodiment, once the customer identification module 504 obtains the customer profile 526 , the customer identification module 504 can pass control and the customer profile 526 to the authentication module 506 for further processing.
- the authentication module 506 can enable the verification or authentication of the identity of the customer 112 based on the customer profile 526 and the extracted information from parsing the log file 522 .
- the authentication module 506 can enable the verification of the customer 112 by associating the customer profile 526 with a token level 528 based on the task 524 that the customer 112 wants to perform using the client device, and more specifically on a mobile application on the client device. Associating can be done via a mapping of the customer profile 526 to the token level 528 .
- the token level 528 refers to a parameter, variable, data structure, or a combination thereof, that signifies a security level or state of security associated with the task 524 .
- the token level 528 can be categorized in a hierarchical manner such as from a “high” to “low” token level 528 based on the task 524 , where a “low” token level 528 signifies a low security level or state associated with the task 524 and a “high” token level 528 signifies a high security level or state associated with the task 524 .
- the token level 528 associated with that task 524 can be, for example, “low” while if the customer 112 wants to transfer or withdraw money from an account, the token level 528 associated with that task 524 can be, for example, “high.”
- the level of authentication needed to be performed to verify the identity of the customer 112 can be less than that needed in a “high” security level or state, such that less methods of verification, such as asking less questions, asking for less information from the customer 112 , etc., is implemented by the authentication module 506 to verify the identity of the customer 112 .
- the token level 528 can be represented in a variety of ways, for example, in one embodiment, the token level 528 can be represented as one or more numbers, for example, “0,” “1,” “2,” etc. where “0” signifies a low security level or state while “2” signifies a high security level or state. In another embodiment, the token level 528 can be represented using words or characters, for example “low,” “medium,” “high,” etc., as examples, where “low” signifies a low security level or state while “high” signifies a high security level or state. In one embodiment, the token level 528 can be pre-determined.
- the authentication module 506 can enable the generation of one or more authentication instructions 414 based on the token level 528 and the customer profile 526 .
- the authentication module 506 can enable the generation of one or more authentication instructions 414 , for example, one or more passcodes, words, phrases, questions, images, biometric factors, usernames and passwords, access keys, or a combination thereof used to verify the identity of the customer 112 .
- the authentication module 506 can determine the number of authentication instructions 414 to generate based on the token level 528 . For example, in one embodiment, the higher the token level 528 the more authentication instructions 414 will be generated to verify the identity of the customer 112 .
- the authentication module 506 can further determine the number of authentication instructions 414 generated based on pre-existing information known by the computing system 100 . For example, in one embodiment, if the customer 112 has pre-authenticated him or herself, by for example, inserting a physical bank issued card into a client device, for example the third device 108 , and has entered a pin associated with the card via the third device 108 prior to the occurrence of the error event 518 , for example the card capture error event 520 , the authentication module 506 can determine that no or fewer authentication instructions 414 need to be generated to verify the identity of the customer 112 despite, for example the customer 112 conducting transactions categorized as a high security level or state transactions, because the computing system 100 has already pre-authenticated or verified the identity of the customer 112 based on the information provided by the customer 112 . In one embodiment, the pre-existing information can be known to the authentication module 506 based on information obtained by parsing the log file 522 .
- the generation of the authentication instructions 414 can further be based on information from the customer profile 526 .
- the one or more passcodes, words, phrases, questions, images, biometric factors, usernames and passwords, access keys, or a combination thereof used to verify the identity of the customer 112 can be based on information from the customer profile 526 , such as the customer 112 social security number, account information, username and password, address, driver's license information, biometric information, including a retina map, fingerprint, facial map, voice, or a combination thereof.
- the authentication instructions 414 can include questions regarding the customer's 112 last four digits of his or her social security number, address, driver's license information, an access code sent to the customer 112 , or the authentication instructions 414 can include verification using biometric information such as verifying a retina scan, fingerprint, facial map, voice, or a combination thereof.
- the authentication module 506 can pass control and the authentication instructions 414 to the contact module 508 for further processing.
- the contact module 508 can enable the transmission of the authentication instructions 414 to a client device, for example the first device 102 .
- the contact module 508 can enable the transmission via a notification 530 .
- the notification 530 refers to a method of communication to the client device.
- the notification 530 can include, for example, a text message, an email, a phone call, a push notification, a haptic feedback, or a combination thereof to the client device, for example the first device 102 .
- the transmission can be done via a communication unit, for example the second communication unit 226 of FIG. 2 and the communication path 104 .
- the contact module 508 can further enable the receipt of the customer input variable 416 from the client device.
- the contact module 508 can receive the customer input variable 416 , for example a fingerprint scan, a username and password, or other verifying information based on the authentication instructions 414 being sent to the customer 112 requesting authentication based on a fingerprint or a username and password.
- the contact module 508 can receive the customer input variable 416 , for example an authentication code, based on the authentication instructions 414 being sent to the customer 112 requesting authentication based on an authentication code sent to the customer 112 .
- the contact module 508 can receive more than one customer input variable 416 based on multiple authentication instructions 414 being transmitted to the customer 112 , where more than one customer input variable 416 needs to be provided by the customer 112 .
- the receipt can be done via a communication unit, for example the second communication unit 226 via the communication path 104 .
- the contact module 508 can further enable the generation of a match indicator 532 based on comparing the authentication instructions 414 to the customer input variable 416 .
- the match indicator 532 refers to a variable, parameter, threshold, or a combination thereof that indicates whether the expected value of the authentication instructions 414 is equivalent to or the same as the customer input variable 416 .
- the expected value of the authentication instructions can be based on an authentication parameter, wherein the authentication parameter refers to a variable, data structure, parameter, or a combination thereof obtained from the detailed information of the customer profile 526 .
- the expected value of the authentication instruction can be obtained from the social security number in the customer profile 526 .
- the expected value of the authentication instruction 414 can be obtained from a fingerprint associated with the customer 112 and stored in or as a part of the customer profile 526 .
- the computing system 100 can verify the identity of the customer 112 and further initiate a transaction session 534 where the customer 112 can continue the task 524 or other transactions initially started on the client device, for example the third device 108 , using another client device, for example the first device 102 , and more specifically using a mobile application on the client device.
- the contact module 508 can determine that there is a match between the authentication instructions 414 and the customer input variable 416 and generate the match indicator 532 indicating that the authentication instructions 414 and the customer input variable 416 are equivalent, and can verify the identity of the customer 112 .
- the contact module 508 determines that the scan of the fingerprint meets a minimum threshold, for example 99% similar to a known fingerprint of the customer 112 obtained from the customer profile 526 , by for example enabling or otherwise analyzing the points of similarity of the two fingerprints, the match indicator 532 can be generated indicating that the authentication instructions 414 and the customer input variable 416 are equivalent and can verify the identity of the customer 112 .
- the match indicator 532 can be represented in a variety of ways, including as a numerical value, parameter, threshold, or as a textual value, parameter, or threshold.
- the match indicator 532 can be represented, for example, as a binary value, such as “0” or “1,” where “0” represents no match between the authentication instructions 414 and the customer input variable 416 , and “1” represents a match between the authentication instructions 414 and the customer input variable 416 .
- the match indicator 532 can be represented as a textual value of “Yes” or “No,” where “Yes” represents a match between the authentication instructions 414 and the customer input variable 416 and “No” represents no match between the authentication instructions 414 and the customer input variable 416 .
- the contact module 508 can pass control to the transaction module 510 . If, however, the contact module 508 determines that there is no match between the authentication instructions 414 and the customer input variable 416 , the contact module 508 can pass control to the termination module 516 .
- the termination module 516 enables the termination of communications between the client device, for example the first device 102 and the server, for example the second device 106 , or termination of communications between the client device, for example the first device 102 and other client devices, for example the third device 108 .
- the transaction module 510 can enable the initiation of the transaction session 534 between one or more client devices, for example the first device 102 and the third device 108 , via the server, for example the second device 106 .
- the transaction session 534 refers to an instance where the customer 112 is paired to a client device, such as the third device 108 , and can control the client device using another client device, for example the first device 102 to continue to perform the task 524 or transactions despite the error event 518 .
- Continue to perform the task 524 or transactions refers to the ability of the customer 112 to carry on performing the task 524 or transactions from the point at which the customer 112 was performing the task 524 or transactions prior to the occurrence of the error event 518 , without having to perform additional tasks or functions, navigate to the particular tasks 524 or transactions, or input any variables or information to carry on performing the tasks 524 or transactions.
- the transaction session 534 can be initiated using a software application on a client device, for example a software application on the first device 102 that allows the customer 112 to control the other client device, for example the third device 108 .
- the software application can be for example, a mobile application, a remote computer control software, a remote access software, or built into an application on a mobile device.
- the transaction module 510 can further generate the barcode 402 to enable the initiation of the transaction session 534 .
- the transaction module 510 can enable the generation of the barcode 402 and transmit the barcode 402 to a client device, for example the third device 108 .
- the customer 112 using another client device, for example the first device 102 can scan the barcode 402 , using for example the first camera interface 204 of FIGS. 2 and 3 and send the image to the transaction module 510 .
- the transaction module 510 can then compare the scanned image of the barcode 402 and determine whether the scanned image by the customer 112 is the same as the barcode 402 transmitted to the third device 108 . If the transaction module 510 determines that the scanned image is the same as the barcode 402 , the transaction module 510 can further initiate the transaction session 534 and pair or otherwise connect the first device 102 and the third device 108 to initiate the transaction session 534 .
- the customer 112 can continue performing the task 524 or perform further transactions using the software application on the first device 102 to control the third device 108 .
- the customer 112 can use the software application on the first device 102 to access a bank account, check the status of a bank account, withdraw money from a bank account, transfer money to and from a bank account, deposit money into a bank account, or a combination thereof, via the first device 102 .
- the transaction module 510 can further generate a card replacement link 536 , and can further transmit the card replacement link 536 to the customer 112 during the transaction session 534 .
- the card replacement link 536 refers to a hyperlink that forwards the customer 112 to a website, a landing page, a screen, or a combination thereof where the customer 112 has the option of requesting or ordering, from the bank, a replacement physical bank issued card, such as a debit card or a credit card.
- the card replacement link 536 can be displayed on a client device, for example on the third device 108 using the third display interface 314 , or can be sent to a client device, for example to the first device 102 via a notification 530 . In one embodiment, the card replacement link 536 can be generated based on receiving a card replacement request from the mobile application during the mobile transaction session.
- the methods, modules, units, services, and components implementing the above described computing system 100 significantly improves the ability of the customer 112 to transact with a bank because it allows the customer 112 an alternative option to complete the task 524 or transactions with the bank despite errors or malfunctions of one or more client devices, for example an ATM. It has been further discovered that the computing system 100 significantly improves the customer 112 user experience because it allows the customer 112 an option to complete the task 524 or transactions with the bank despite errors or malfunctions of one or more client devices.
- the computing system 100 significantly improves the customer 112 user experience because it allows the customer 112 to instantly pair and communicate with a bank system via a client device and without a physical bank issued card, such as a debit card or a credit card through a secure transaction session 534 to complete a task 524 or further transactions with the bank. It has been further discovered that the computing system 100 provides a novel way of verifying the customer 112 through the token levels 528 and authentication instructions 414 , and pairing the customer 112 to the banking system to complete the task 524 or further transactions with the bank based on the verification.
- the computing system 100 has been described with module functions or order as an example.
- the computing system 100 can partition the modules differently or order the modules differently.
- the first software 220 , the second software 244 , the third software 324 , or a combination thereof can include the modules for the computing system 100 .
- the first software 220 , the second software 244 , the third software 324 , or a combination thereof can include the error detection module 502 , the customer identification module 504 , the authentication module 506 , the contact module 508 , the transaction module 510 , and the termination module 516 , and associated sub-modules included therein.
- the first control unit 210 , the second control unit 238 , the third control unit 318 , or a combination thereof can execute the first software 220 , the second software 244 , the third software 324 , or a combination thereof, to operate the modules.
- the first control unit 210 , the second control unit 238 , the third control unit 318 , or a combination thereof can execute the first software 220 , the second software 244 , the third software 324 , or a combination thereof, to implement the error detection module 502 , the customer identification module 504 , the authentication module 506 , the contact module 508 , the transaction module 510 , and the termination module 516 , and associated sub-modules included therein.
- the modules described in this application can be implemented as instructions stored on a non-transitory computer readable medium to be executed by the first control unit 210 , the second control unit 238 , the third control unit 318 , or a combination thereof.
- the non-transitory computer readable medium can include the first storage unit 216 , the second storage unit 240 , the third storage unit 320 , or a combination thereof.
- the non-transitory computer readable medium can include non-volatile memory, such as a hard disk drive, non-volatile random access memory (NVRAM), solid-state storage device (SSD), compact disk (CD), digital video disk (DVD), or universal serial bus (USB) flash memory devices.
- NVRAM non-volatile random access memory
- SSD solid-state storage device
- CD compact disk
- DVD digital video disk
- USB universal serial bus
- the method 600 includes: detecting, based on a log file of an automated teller machine (ATM), an error event as shown in box 602 ; identifying a customer associated with the error event based on the log file as shown in box 604 ; accessing, from a customer identification database, a customer profile associated with the customer as shown in box 606 ; authenticating the customer on a mobile application, based on the customer profile as shown in box 608 ; and initiating a mobile transaction session based on authenticating the customer, wherein the customer can complete a transaction with the ATM via the mobile application during the mobile transaction session as shown in box 610 .
- ATM automated teller machine
- the resulting method, process, apparatus, device, product, and system is cost-effective, highly versatile, and accurate, and can be implemented by adapting components for ready, efficient, and economical manufacturing, application, and utilization.
- Another important aspect of an embodiment of the present invention is that it valuably supports and services the historical trend of reducing costs, simplifying systems, and increasing performance.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 16/705,626, filed on Dec. 6, 2019, which is incorporated herein by reference.
- Embodiments relate to automated teller machines (ATMs).
- ATMs can fail in a variety of ways. ATMs should be able to fail gracefully when an error occurs and is detected. After an error occurs that reduces the ATM's functionality, the ATM may enter an error state. Failures that cause ATMs to go into an error state include errors when debit cards are captured, mechanical failures of the ATM, and software errors of the ATM.
- Under current technologies, when an ATM enters an error state, ATMs typically do not allow a customer to continue a transaction despite the error state. Generally, any transaction that is in progress when the failure occurs must be cancelled. This is inefficient and undesirable for a customer.
- Thus, there is a need for more resilient ATM transactions.
- The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate embodiments of the present disclosure and, together with the description, further serve to explain the principles of the disclosure and to enable a person skilled in the pertinent art to make and use the invention.
-
FIG. 1 is a computing system for transferring a customer from an ATM transaction to a device based transaction in an embodiment of the present invention. -
FIG. 2 is an exemplary block diagram of the components of the computing system in an embodiment of the present invention. -
FIG. 3 is a further exemplary block diagram of the components of the computing system in an embodiment of the present invention. -
FIG. 4 is an exemplary architecture of the computing system in an embodiment of the present invention. -
FIG. 5 is an exemplary control flow of the computing system in an embodiment of the present invention. -
FIG. 6 is an exemplary method of operating the computing system in an embodiment of the present invention. - Embodiments disclosed herein provide a way to make ATM transactions more resilient by transferring a user to a mobile device when an error occurs. In an embodiment, an error is detected in a log file of an ATM. When the error is detected, a customer associated with the error event is identified based on the log file. A profile associated with the customer is retrieved from a database. Based on the profile, the customer is authenticated on a mobile application. When the customer is authenticated, a mobile transaction session is initiated that enables the customer to complete a transaction with the mobile application or with the ATM via the mobile application.
- In this way, embodiments make the ATM transactions more resilient and more tolerant of failures. This can also improve efficiency of the overall distributed system by obviating the need for a customer to restart a transaction at a different ATM, thereby using processing and memory resources more efficiently.
- The following embodiments are described in sufficient detail to enable those skilled in the art to make and use the invention. It is to be understood that other embodiments would be evident based on the present disclosure, and that system, process, or mechanical changes may be made without departing from the scope of an embodiment of the present invention.
- In the following description, numerous specific details are given to provide a thorough understanding of the invention. However, it will be apparent that the invention may be practiced without these specific details. In order to avoid obscuring an embodiment of the present invention, some well-known circuits, system configurations, and process steps are not disclosed in detail.
- The drawings showing embodiments of the system are semi-diagrammatic, and not to scale. Some of the dimensions are for the clarity of presentation and are shown exaggerated in the drawing figures. Similarly, although the views in the drawings are for ease of description and generally show similar orientations, this depiction in the figures is arbitrary for the most part. Generally, the invention can be operated in any orientation.
- The term “module” or “unit” referred to herein can include software, hardware, or a combination thereof in an embodiment of the present invention in accordance with the context in which the term is used. For example, the software can be machine code, firmware, embedded code, or application software. Also for example, the hardware can be circuitry, a processor, a special purpose computer, an integrated circuit, integrated circuit cores, a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), passive devices, or a combination thereof. Further, if a module or unit is written in the system or apparatus claims section below, the module or unit is deemed to include hardware circuitry for the purposes and the scope of the system or apparatus claims.
- The term “service” or “services” referred to herein can include one or more modules or units. A collection of modules or units can be arranged, for example, in software or hardware libraries or development kits in an embodiment of the present invention in accordance with the context in which the term is used. For example, the software or hardware libraries and development kits can be a suite of data and programming code, for example pre-written code, classes, routines, procedures, scripts, configuration data, or a combination thereof, that can be called directly or through an application programming interface (API) to facilitate the execution of functions of the system.
- The modules, units, and services in the following description of the embodiments can be coupled to one another as described or as shown. The coupling can be direct or indirect, without or with intervening items between coupled modules, units, or services. The coupling can be by physical contact or by communication between modules, units, or services.
- Referring now to
FIG. 1 , therein is shown acomputing system 100 for transferring acustomer 112 from an ATM transaction to a device based transaction in an embodiment of the present invention. Thecustomer 112 may be a client of a bank. Thecomputing system 100 includes afirst device 102, such as a client device or a server, connected to asecond device 106, such as a client device or server. Thefirst device 102 can be further connected to athird device 108, such as a client device or a server. Thesecond device 106 can be further connected to thethird device 108. Thefirst device 102, thesecond device 106, and thethird device 108 can communicate with each other through acommunication path 104, such as a wireless or wired network. - For example, the
first device 102 and thethird device 108 can be of any of a variety of devices, such as a mobile device, a smart phone, a cellular phone, a personal digital assistant, a tablet computer, a notebook computer, a laptop computer, a desktop computer, or a kiosk such as anATM 110. Thefirst device 102 and thethird device 108 can be associated with thecustomer 112. Thefirst device 102 and thethird device 108 can couple, either directly or indirectly, to thecommunication path 104 to communicate with thesecond device 106 or can be stand-alone devices. - The
second device 106 can be any of a variety of centralized or decentralized computing devices. For example, thesecond device 106 can be a laptop computer, a desktop computer, grid-computing resources, a virtualized computing resource, cloud computing resources, routers, switches, peer-to-peer distributed computing devices, a server, or a combination thereof. Thesecond device 106 can be centralized in a single room, distributed across different rooms, distributed across different geographical locations, or embedded within a telecommunications network. Thesecond device 106 can couple with thecommunication path 104 to communicate with thefirst device 102, thethird device 108, or a combination thereof. In one embodiment, thesecond device 106 can be associated with a bank. For example, thesecond device 106 can be the computing infrastructure or backend computing infrastructure, including server infrastructure of the bank. - For illustrative purposes, the
computing system 100 is shown with thefirst device 102 and thethird device 108 as client devices, although it is understood that thecomputing system 100 can have thefirst device 102 or thethird device 108 as a different type of device. For example, thefirst device 102 or thethird device 108 can be a server. Also for illustrative purposes, thecomputing system 100 is shown with thesecond device 106 as a server, although it is understood that thecomputing system 100 can have thesecond device 106 as a different type of device. For example, thesecond device 106 can be a client device. - For brevity of description in the embodiments discussed below, the
first device 102 and thethird device 108 will be described as client devices and thesecond device 106 will be described as a server. The embodiments of the present invention, however, are not limited to this selection for the type of devices. The selection is an example of an embodiment of the present invention. - Also for illustrative purposes, the
computing system 100 is shown with thefirst device 102, thesecond device 106, and thethird device 108 as end points of thecommunication path 104, although it is understood that thecomputing system 100 can have a different partition between thefirst device 102, thesecond device 106, thethird device 108, and thecommunication path 104. For example, thefirst device 102, thesecond device 106, thethird device 108, or a combination thereof can also function as part of thecommunication path 104. - The
communication path 104 can span and represent a variety of networks and network topologies. For example, thecommunication path 104 can include wireless communication, wired communication, optical communication, ultrasonic communication, or a combination thereof. For example, satellite communication, cellular communication, Bluetooth, Infrared Data Association standard (IrDA), wireless fidelity (WiFi), and worldwide interoperability for microwave access (WiMAX) are examples of wireless communication that can be included in thecommunication path 104. Cable, Ethernet, digital subscriber line (DSL), fiber optic lines, fiber to the home (FTTH), and plain old telephone service (POTS) are examples of wired communication that can be included in thecommunication path 104. Further, thecommunication path 104 can traverse a number of network topologies and distances. For example, thecommunication path 104 can include direct connection, personal area network (PAN), local area network (LAN), metropolitan area network (MAN), wide area network (WAN), or a combination thereof. - Referring now to
FIG. 2 , therein is shown an exemplary block diagram of the components of thecomputing system 100 in an embodiment of the present invention. Thefirst device 102 can send information in afirst device transmission 222 over thecommunication path 104 to thesecond device 106. Thesecond device 106 can send information in asecond device transmission 224 over thecommunication path 104 to thefirst device 102. Thefirst device transmission 222 and thesecond device transmission 224 can be sent over one ormore communication channels 248. Acommunication channel 248 refers either to a physical transmission medium such as a wire, or to a logical connection over a multiplexed medium such as a radio channel. - For illustrative purposes, the
computing system 100 is shown with thefirst device 102 as a client device, although it is understood that thecomputing system 100 can have thefirst device 102 as a different type of device. For example, thefirst device 102 can be a server. Also for illustrative purposes, thecomputing system 100 is shown with thesecond device 106 as a server, although it is understood that thecomputing system 100 can have thesecond device 106 as a different type of device. For example, thesecond device 106 can be a client device. - For brevity of description in this embodiment of the present invention, the
first device 102 will be described as a client device and thesecond device 106 will be described as a server. The embodiment of the present invention is not limited to this selection for the type of devices. The selection is an example of an embodiment of the present invention. - The
first device 102 can include afirst control unit 210, afirst storage unit 216, afirst communication unit 202, afirst user interface 254, and afirst location unit 214. Thefirst control unit 210 can include afirst control interface 212. Thefirst control unit 210 can execute afirst software 220 to provide the intelligence of thecomputing system 100. Thefirst control unit 210 can be implemented in a number of different ways. For example, thefirst control unit 210 can be a processor, an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, a hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof. - The
first control interface 212 can be used for communication between thefirst control unit 210 and other functional units in thefirst device 102. Thefirst control interface 212 can also be used for communication that is external to thefirst device 102. Thefirst control interface 212 can receive information from the other functional units of thefirst device 102 or from external sources, or can transmit information to the other functional units of thefirst device 102 or to external destinations. The external sources and the external destinations refer to sources and destinations external to thefirst device 102. Thefirst control interface 212 can be implemented in different ways and can include different implementations depending on which functional units or external units are being interfaced with thefirst control interface 212. For example, thefirst control interface 212 can be implemented with a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), optical circuitry, waveguides, wireless circuitry, wireline circuitry, an application programming interface (API), or a combination thereof. - The
first storage unit 216 can store thefirst software 220 to provide the intelligence of thecomputing system 100. For illustrative purposes, thefirst storage unit 216 is shown as a single element, although it is understood that thefirst storage unit 216 can be a distribution of storage elements. Also for illustrative purposes, thecomputing system 100 is shown with thefirst storage unit 216 as a single hierarchy storage system, although it is understood that thecomputing system 100 can have thefirst storage unit 216 in a different configuration. For example, thefirst storage unit 216 can be formed with different storage technologies forming a memory hierarchal system including different levels of caching, main memory, rotating media, or off-line storage. Thefirst storage unit 216 can be a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof. For example, thefirst storage unit 216 can be a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM) or dynamic random access memory (DRAM). - The
first storage unit 216 can include afirst storage interface 218. Thefirst storage interface 218 can be used for communication between thefirst storage unit 216 and other functional units in thefirst device 102. Thefirst storage interface 218 can also be used for communication that is external to thefirst device 102. Thefirst storage interface 218 can receive information from the other functional units of thefirst device 102 or from external sources, or can transmit information to the other functional units or to external destinations. Thefirst storage interface 218 can include different implementations depending on which functional units or external units are being interfaced with thefirst storage unit 216. Thefirst storage interface 218 can be implemented with technologies and techniques similar to the implementation of thefirst control interface 212. - The
first communication unit 202 can enable external communication to and from thefirst device 102. For example, thefirst communication unit 202 can permit thefirst device 102 to communicate with thesecond device 106, thethird device 108 ofFIG. 1 , an attachment, such as a peripheral device, and thecommunication path 104. Thefirst communication unit 202 can also function as a communication hub allowing thefirst device 102 to function as part of thecommunication path 104 and not be limited to be an end point or terminal unit to thecommunication path 104. Thefirst communication unit 202 can include active and passive components, such as microelectronics or an antenna, for interaction with thecommunication path 104. - The
first communication unit 202 can include afirst communication interface 208. Thefirst communication interface 208 can be used for communication between thefirst communication unit 202 and other functional units of thefirst device 102. Thefirst communication interface 208 can receive information from the other functional units of thefirst device 102 or from external sources, or can transmit information to the other functional units or to external destinations. Thefirst communication interface 208 can include different implementations depending on which functional units are being interfaced with thefirst communication unit 202. Thefirst communication interface 208 can be implemented with technologies and techniques similar to the implementation of thefirst control interface 212. - The
first communication unit 202 can couple with thecommunication path 104 to send information to thesecond device 106 in thefirst device transmission 222. Thesecond device 106 can receive information in asecond communication unit 226 from thefirst device 102 in thefirst device transmission 222 through thecommunication path 104. - The
first user interface 254 can present information generated by thecomputing system 100. In one embodiment, thefirst user interface 254 allows thecustomer 112 to interface with thefirst device 102. Thefirst user interface 254 can include an input device and an output device. Examples of the input device of thefirst user interface 254 can include afirst camera interface 204, a keypad, buttons, switches, touchpads, soft-keys, a keyboard, a microphone, sensors for receiving remote signals, or any combination thereof to provide data and communication inputs. Examples of the output device can include afirst display interface 206. Thefirst control unit 210 can operate thefirst user interface 254 to present information generated by thecomputing system 100 or to obtain information for thecomputing system 100. Thefirst control unit 210 can also execute thefirst software 220 to present information generated by thecomputing system 100, to obtain information for thecomputing system 100, or to control other functional units of thecomputing system 100. - The
first display interface 206 can be any graphical user interface such as a display, a projector, a video screen, or any combination thereof. Thefirst camera interface 204 can include a camera, an image capturing device, an image sensor, a video recorder, or components thereof for example, a color balancer, a wave form monitor, or any combination thereof. Thefirst display interface 206 and thefirst camera interface 204 allow thecustomer 112 to interact with thecomputing system 100. - The
first location unit 214 can generate location information, current heading, and current speed and acceleration of thefirst device 102, as examples. Thefirst location unit 214 can be implemented in many ways. For example, thefirst location unit 214 can function as at least a part of a global positioning system (GPS) and can include components, such as a GPS receiver, an inertial navigation system, a cellular-tower location system, a pressure location system, an accelerometer, a gyroscope, or any combination thereof. - The
first location unit 214 can include afirst location interface 250. Thefirst location interface 250 can be used for communication between thefirst location unit 214 and other functional units in thefirst device 102. Thefirst location interface 250 can also be used for communication that is external to thefirst device 102. Thefirst location interface 250 can be implemented with technologies and techniques similar to the implementation of thefirst control interface 212. - The
second device 106 can be optimized for implementing an embodiment of the present invention in a multiple device embodiment with thefirst device 102 and thethird device 108 ofFIG. 1 . Thesecond device 106 can provide additional or higher performance processing power compared to thefirst device 102, thethird device 108, or a combination thereof. Thesecond device 106 can include asecond control unit 238, asecond storage unit 240, asecond communication unit 226, a second user interface 228, and asecond location unit 246. - The
second control unit 238 can include asecond control interface 236. Thesecond control unit 238 can execute asecond software 244 to provide the intelligence of thecomputing system 100. Thesecond software 244 can operate independently or in conjunction with thefirst software 220. Thesecond control unit 238 can provide additional performance compared to thefirst control unit 210. Thesecond control unit 238 can be implemented in a number of different ways. For example, thesecond control unit 238 can be a processor, an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, a hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof. - The
second control unit 238 can include asecond control interface 236. Thesecond control interface 236 can be used for communication between thesecond control unit 238 and other functional units of thesecond device 106. Thesecond control interface 236 can also be used for communication that is external to thesecond device 106. Thesecond control interface 236 can receive information from the other functional units of thesecond device 106 or from external sources, or can transmit information to the other functional units of thesecond device 106 or to external destinations. The external sources and the external destinations refer to sources and destinations external to thesecond device 106. Thesecond control interface 236 can be implemented in different ways and can include different implementations depending on which functional units or external units are being interfaced with thesecond control interface 236. For example, thesecond control interface 236 can be implemented with a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), optical circuitry, waveguides, wireless circuitry, wireline circuitry, an application programming interface, or a combination thereof. - The
second storage unit 240 can store thesecond software 244 to provide the intelligence of thecomputing system 100. Thesecond storage unit 240 can be sized to provide the additional storage capacity to supplement thefirst storage unit 216. For illustrative purposes, thesecond storage unit 240 is shown as a single element, although it is understood that thesecond storage unit 240 can be a distribution of storage elements. Also for illustrative purposes, thecomputing system 100 is shown with thesecond storage unit 240 as a single hierarchy storage system, although it is understood that thecomputing system 100 can have thesecond storage unit 240 in a different configuration. For example, thesecond storage unit 240 can be formed with different storage technologies forming a memory hierarchal system including different levels of caching, main memory, rotating media, or off-line storage. Thesecond storage unit 240 can be a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof. For example, thesecond storage unit 240 can be a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM) or dynamic random access memory (DRAM). - The
second storage unit 240 can include asecond storage interface 242. Thesecond storage interface 242 can be used for communication between thesecond storage unit 240 and other functional units of thesecond device 106. Thesecond storage interface 242 can also be used for communication that is external to thesecond device 106. Thesecond storage interface 242 can receive information from the other functional units of thesecond device 106 or from external sources, or can transmit information to the other functional units or to external destinations. Thesecond storage interface 242 can include different implementations depending on which functional units or external units are being interfaced with thesecond storage unit 240. Thesecond storage interface 242 can be implemented with technologies and techniques similar to the implementation of thesecond control interface 236. - The
second communication unit 226 can enable external communication to and from thesecond device 106. For example, thesecond communication unit 226 can permit thesecond device 106 to communicate with thefirst device 102, thethird device 108 ofFIG. 1 , an attachment, such as a peripheral device, and thecommunication path 104. Thesecond communication unit 226 can also function as a communication hub allowing thesecond device 106 to function as part of thecommunication path 104 and not be limited to be an end point or terminal unit to thecommunication path 104. Thesecond communication unit 226 can include active and passive components, such as microelectronics or an antenna, for interaction with thecommunication path 104. - The
second communication unit 226 can couple with thecommunication path 104 to send information to thefirst device 102 in thesecond device transmission 224. Thefirst device 102 can receive information in afirst communication unit 202 from thesecond device 106 in thesecond device transmission 224 through thecommunication path 104. - The
second communication unit 226 can include asecond communication interface 230. Thesecond communication interface 230 can be used for communication between thesecond communication unit 226 and other functional units of thesecond device 106. Thesecond communication interface 230 can receive information from the other functional units of thesecond device 106 or from external sources, or can transmit information to the other functional units or to external destinations. Thesecond communication interface 230 can include different implementations depending on which functional units are being interfaced with thesecond communication unit 226. Thesecond communication interface 230 can be implemented with technologies and techniques similar to the implementation of thesecond control interface 236. - The second user interface 228 can present information generated by the
computing system 100. In one embodiment, the second user interface 228 allows a user of thecomputing system 100 to interface with thesecond device 106. The second user interface 228 can include an input device and an output device. Examples of the input device of the second user interface 228 can include asecond camera interface 232, a keypad, buttons, switches, touchpads, soft-keys, a keyboard, a microphone, sensors for receiving remote signals, or any combination thereof to provide data and communication inputs. Examples of the output device can include asecond display interface 234. Thesecond control unit 238 can operate the second user interface 228 to present information generated by thecomputing system 100 or to obtain information for thecomputing system 100. Thesecond control unit 238 can also execute thesecond software 244 to present information generated by thecomputing system 100, to obtain information for thecomputing system 100, or to control other functional units of thecomputing system 100. - The
second display interface 234 can be any graphical user interface such as a display, a projector, a video screen, or any combination thereof. Thesecond camera interface 232 can include a camera, an image capturing device, an image sensor, a video recorder, or components thereof for example, a color balancer, a wave form monitor, or any combination thereof. Thesecond display interface 234 and thesecond camera interface 232 allow a user of thecomputing system 100 to interact with thecomputing system 100. - The
second location unit 246 can generate location information, current heading, and current speed and acceleration of thesecond device 106, as examples. Thesecond location unit 246 can be implemented in many ways. For example, thesecond location unit 246 can function as at least a part of a global positioning system (GPS) and can include components, such as a GPS receiver, an inertial navigation system, a cellular-tower location system, a pressure location system, an accelerometer, a gyroscope, or any combination thereof. - The
second location unit 246 can include a second location interface 252. The second location interface 252 can be used for communication between thesecond location unit 246 and other functional units of thesecond device 106. The second location interface 252 can also be used for communication that is external to thesecond device 106. The second location interface 252 can be implemented with technologies and techniques similar to the implementation of thesecond control interface 236. - Referring now to
FIG. 3 , therein is shown a further exemplary block diagram of the components of thecomputing system 100 in an embodiment of the present invention. Thecomputing system 100 can further include thethird device 108. Thethird device 108 can be optimized for implementing an embodiment of the present invention in a multiple device embodiment with thefirst device 102 and thesecond device 106 ofFIGS. 1 and 2 . Thethird device 108 can provide additional or higher performance processing power compared to thefirst device 102, thesecond device 106, or a combination thereof. Thethird device 108 can send information in athird device transmission 304 over thecommunication path 104 to thefirst device 102. While not shown, thethird device 108 can also send information in thethird device transmission 304 over thecommunication path 104 to thesecond device 106 ofFIGS. 1 and 2 . Thefirst device 102 can send information in afirst device transmission 222 over thecommunication path 104 to thethird device 108. Thefirst device transmission 222 and thethird device transmission 304 can be sent over one ormore communication channels 248. - For illustrative purposes, the
computing system 100 is shown with thefirst device 102 as a client device, although it is understood that thecomputing system 100 can have thefirst device 102 as a different type of device. For example, thefirst device 102 can be a server. Also for illustrative purposes, thecomputing system 100 is shown with thethird device 108 as a client device, although it is understood that thecomputing system 100 can have thethird device 108 as a different type of device. For example, thethird device 108 can be a server. - For brevity of description in this embodiment of the present invention, the
first device 102 will be described as a client device and thethird device 108 will be described as a client device. The embodiment of the present invention is not limited to this selection for the type of devices. The selection is an example of an embodiment of the present invention. - The
third device 108 can include athird control unit 318, athird storage unit 320, a third communication unit 306, a third user interface 310, and athird location unit 326. Thethird control unit 318 can execute athird software 324 to provide the intelligence of thecomputing system 100. Thethird software 324 can operate independently or in conjunction with thefirst software 220, thesecond software 244 ofFIG. 2 , or a combination thereof. Thethird control unit 318 can be implemented in a number of different ways. For example, thethird control unit 318 can be a processor, an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, a hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof. - The
third control unit 318 can include athird control interface 316. Thethird control interface 316 can be used for communication between thethird control unit 318 and other functional units in thethird device 108. Thethird control interface 316 can also be used for communication that is external to thethird device 108. Thethird control interface 316 can receive information from the other functional units of thethird device 108 or from external sources, or can transmit information to the other functional units or to external destinations. The external sources and the external destinations refer to sources and destinations external to thethird device 108. Thethird control interface 316 can be implemented in different ways and can include different implementations depending on which functional units or external units are being interfaced with thethird control interface 316. For example, thethird control interface 316 can be implemented with a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), optical circuitry, waveguides, wireless circuitry, wireline circuitry, an application programming interface (API), or a combination thereof. - The
third storage unit 320 can store thethird software 324 to provide the intelligence of thecomputing system 100. For illustrative purposes, thethird storage unit 320 is shown as a single element, although it is understood that thethird storage unit 320 can be a distribution of storage elements. Also for illustrative purposes, thecomputing system 100 is shown with thethird storage unit 320 as a single hierarchy storage system, although it is understood that thecomputing system 100 can have thethird storage unit 320 in a different configuration. For example, thethird storage unit 320 can be formed with different storage technologies forming a memory hierarchal system including different levels of caching, main memory, rotating media, or off-line storage. Thethird storage unit 320 can be a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof. For example, thethird storage unit 320 can be a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM) or dynamic random access memory (DRAM). - The
third storage unit 320 can include athird storage interface 322. Thethird storage interface 322 can be used for communication between thethird storage unit 320 and other functional units in thethird device 108. Thethird storage interface 322 can also be used for communication that is external to thethird device 108. Thethird storage interface 322 can receive information from the other functional units of thethird device 108 or from external sources, or can transmit information to the other functional units or to external destinations. Thethird storage interface 322 can include different implementations depending on which functional units or external units are being interfaced with thethird storage unit 320. Thethird storage interface 322 can be implemented with technologies and techniques similar to the implementation of thethird control interface 316. - The third communication unit 306 can enable external communication to and from the
third device 108. For example, the third communication unit 306 can permit thethird device 108 to communicate with thesecond device 106 ofFIGS. 1 and 2 , thefirst device 102, an attachment, such as a peripheral device, and thecommunication path 104. The third communication unit 306 can also function as a communication hub allowing thethird device 108 to function as part of thecommunication path 104 and not be limited to be an end point or terminal unit to thecommunication path 104. The third communication unit 306 can include active and passive components, such as microelectronics or an antenna, for interaction with thecommunication path 104. - The third communication unit 306 can include a
third communication interface 308. Thethird communication interface 308 can be used for communication between the third communication unit 306 and other functional units of thethird device 108. Thethird communication interface 308 can receive information from the other functional units of thethird device 108 or from external sources, or can transmit information to the other functional units or to external destinations. Thethird communication interface 308 can include different implementations depending on which functional units are being interfaced with the third communication unit 306. Thethird communication interface 308 can be implemented with technologies and techniques similar to the implementation of thethird control interface 316. - The third user interface 310 can present information generated by the
computing system 100. In one embodiment, the third user interface 310 allows thecustomer 112 to interface with thethird device 108. The third user interface 310 can include an input device and an output device. Examples of the input device of the third user interface 310 can include athird camera interface 312, a keypad, buttons, switches, a touchpad, soft-keys, a keyboard, a microphone, sensors for receiving remote signals, or any combination thereof to provide data and communication inputs. Examples of the output device can include athird display interface 314. Thethird control unit 318 can operate the third user interface 310 to present information generated by thecomputing system 100 or to obtain information for thecomputing system 100. Thethird control unit 318 can also execute thethird software 324 to present information generated by thecomputing system 100, to obtain information for thecomputing system 100, or to control other functional units of thecomputing system 100. - The
third display interface 314 can be any graphical user interface such as a display, a projector, a video screen, or any combination thereof. Thethird camera interface 312 can include a camera, an image capturing device, an image sensor, a video recorder, or components thereof for example, a color balancer, a wave form monitor, or any combination thereof. Thethird display interface 314 and thethird camera interface 312 allow thecustomer 112 of thecomputing system 100 to interact with thecomputing system 100. - The
third location unit 326 can generate location information, current heading, and current speed and acceleration of thethird device 108, as examples. Thethird location unit 326 can be implemented in many ways. For example, thethird location unit 326 can function as at least a part of a global positioning system (GPS) and can include components, such as a GPS receiver, an inertial navigation system, a cellular-tower location system, a pressure location system, an accelerometer, a gyroscope, or any combination thereof. - The
third location unit 326 can include athird location interface 328. Thethird location interface 328 can be used for communication between thethird location unit 326 and other functional units in thethird device 108. Thethird location interface 328 can also be used for communication that is external to thethird device 108. Thethird location interface 328 can be implemented with technologies and techniques similar to the implementation of thethird control interface 316. - Functionality of the
computing system 100 can be provided by thefirst control unit 210, thesecond control unit 238, thethird control unit 318, or a combination thereof. For illustrative purposes, thefirst device 102 is shown with the partition having thefirst user interface 254, thefirst storage unit 216, thefirst control unit 210, thefirst location unit 214, and thefirst communication unit 202, although it is understood that thefirst device 102 can have a different partition. For example, thefirst software 220 can be partitioned differently such that some or all of its functionality can be, for example, in thefirst control unit 210 and thefirst communication unit 202. Also, thefirst device 102 can include other functional units not shown inFIGS. 2 and 3 for clarity. - The
second device 106 ofFIGS. 1 and 2 and thethird device 108 can have a similar or different partition as thefirst device 102. The functional units in thesecond device 106 can work individually and independently of the other functional units of thesecond device 106. The functional units of thethird device 108 can work individually and independently of the other functional units of thethird device 108. The functional units of thefirst device 102 can work individually and independently of the other functional units of thefirst device 102. - The
second device 106 can work individually and independently from thefirst device 102, thethird device 108, and thecommunication path 104. Thethird device 108 can work individually and independently from thefirst device 102, thesecond device 106, and thecommunication path 104. Thefirst device 102 can work individually and independently from thesecond device 106, thethird device 108, and thecommunication path 104. - For illustrative purposes, the
computing system 100 is described by operation of thefirst device 102, thesecond device 106, and thethird device 108. It is understood that thefirst device 102, thesecond device 106, and thethird device 108 can operate any of the modules, units, or services of thecomputing system 100. - Referring now to
FIG. 4 , therein is shown an exemplary architecture of thecomputing system 100 in an embodiment of the present invention. In one embodiment, the architecture of thecomputing system 100 can be implemented based on one or more services and sub-services. In one embodiment, the services and sub-services can allow thecustomer 112, via a client device, for example thefirst device 102, thethird device 108, or a combination thereof to conduct one or more transactions, via a server, for example thesecond device 106. Transactions refer to one or more communication, commercial, entertainment, or educational dealings conducted between thecustomer 112 and an institution. The institution can be for example, a company such as a bank or an entertainment service provider. The institution can also be a transportation authority such as a subway/metro service, an airport or airline service, a highway toll booth. Examples of transactions with a bank can include one or more banking related dealings, including accessing a bank account, checking the status of a bank account, withdrawing money from a bank account, transferring money to and from a bank account, depositing money into a bank account, or a combination thereof. Transactions with a transportation authority can include purchasing a ticket, scheduling or rescheduling a trip, depositing funds onto a fair card, receiving a refund, checking the status of a trip, or a combination thereof. Transactions with an entertainment service provider can include purchasing entertainment content, such as a movie, music, or printed publications such as books or magazines, purchasing tickets, returning tickets, or a combination thereof. While the examples with respect to transactions in this application and thisFIG. 4 refer to transactions with banks via a client device such as thefirst device 102 and thethird device 108, this is not meant to be limiting. Other forms of transactions are envisioned that can use the exemplary architecture of thecomputing system 100 described in thisFIG. 4 . - Continuing with the example, in one embodiment, the services and sub-services can further allow the
customer 112, via the client device, for example thefirst device 102, to control the operation of another client device, for example thethird device 108, via the server, for example thesecond device 106, by enabling pairing or otherwise connection of the client devices, for example thefirst device 102 and thethird device 108 via the server, for example thesecond device 106. Further details regarding pairing will be discussed below. - In one embodiment, as shown in
FIG. 4 , the services and sub-services can be located, stored, performed, executed, or a combination thereof in and by a server, for example thesecond device 106. This, however, is merely exemplary, and in other embodiments the services and sub-services can be located, stored, performed, executed, or a combination thereof in and by a client device, for example thefirst device 102, thethird device 108, or a combination thereof, or in and by a client device in conjunction with a server. - Continuing with the example, in one embodiment, the services and sub-services can include a
secure interface service 404, amicro-service repository 406, acardless service 408, apairing service 410, and anATM middleware service 412. In one embodiment, thesecure interface service 404 can couple to themicro-service repository 406 and a client device, for example thefirst device 102. Themicro-service repository 406 can couple to thecardless service 408 and theATM middleware service 412. Thecardless service 408 can couple to thepairing service 410 and theATM middleware service 412. Thepairing service 410 can couple to theATM middleware service 412 and a client device, for example thethird device 108. The ATM middleware service can couple to a client device, for example thethird device 108. - The
secure interface service 404 enables secure communications between the bank, via the server, and a client device, to allow thecustomer 112 to securely conduct the transactions with the bank via the client device. For example, thesecure interface service 404 can enable secure communications by, for example, preventing improper access attempts by a client device, such as thefirst device 102 against the bank via the server, or can prevent improper access by a client device, for example thefirst device 102, to another client device, for example thethird device 108. In one embodiment, if improper access attempts are detected, thesecure interface service 404 can terminate communications between the one or more devices or the server. Improper access attempts can be, for example, distributed denial of service (DDoS) attacks, injection attacks, hacks, malware attacks, trojan horse attacks, computer virus attacks, phishing attempts, or a combination thereof. - In one embodiment, the
secure interface service 404 can detect the improper access attempt by, for example, enabling and executing a virus detection software, a computer monitoring software, a firewall, a malware protection software, or monitoring a computer log, a file system integrity, one or more computer files, one or more hyperlinks sent to or from a client device, the execution of one or more computer programs, or a combination thereof, that can identify improper access attempts. In one embodiment, if thesecure interface service 404 does not detect improper access attempts by the client device, thesecure interface service 404 can allow the client device to access one or more of the services or sub-services, for example themicro-service repository 406, to further enable completion of the transactions by thecustomer 112. - The
micro-service repository 406 refers to the services or sub-services that enables access to a programming code, for example pre-written code, classes, procedures, routines, scripts, configuration data, or a combination thereof, that enable the transactions between thecustomer 112 and the bank via the client device and the server. For example, themicro-service repository 406 can enable access, by the client device, the server, or a combination thereof to programming code that enables thecustomer 112 access to a bank account, check the status of a bank account, withdraw money from a bank account, transfer money to and from a bank account, deposit money into a bank account, or a combination thereof, via the client device. In one embodiment, the micro-service repository can enable access to the programming code directly or through one or more APIs. In one embodiment, the APIs can allow the client device, the server, or a combination thereof to access third party systems, third party servers, third party repositories, or a combination thereof, to access the programming code. A third party refers to an entity other than thecustomer 112 or the bank. - The
cardless service 408 enables acustomer 112 via a client device, for example thefirst device 102, to interact with another client device, for example thethird device 108, via the server, for example thesecond device 106, without the need to have a physical bank issued card, such as a debit card or a credit card to conduct transactions with the bank. In one embodiment, thecardless service 408 can enable thecustomer 112 to authenticate him or herself using one ormore authentication instructions 414. Theauthentication instructions 414 refer to one or more variables, passcodes, words, phrases, questions, images, biometric factors, usernames and passwords, access keys, or a combination thereof used to verify the identity of thecustomer 112. For example, in one embodiment, thecardless service 408 can send one or more of theauthentication instructions 414 to thecustomer 112, via the server, to a client device, for example thefirst device 102, and receive a customer input variable 416 from thecustomer 112 based on theauthentication instructions 414. Thecustomer input variable 416 refers to a variable, parameter, text or numerical inputs, images, biometric factors, or a combination thereof thecustomer 112 inputs or is obtained or otherwise provided from thecustomer 112 based on theauthentication instructions 414, for example the answer to a question or the verification of a passcode sent to thecustomer 112 as theauthentication instructions 414. - Continuing with the example, based on comparing the
customer input variable 416 and theauthentication instructions 414, thecardless services 408 can enable authentication of the identity of thecustomer 112. In one embodiment, thecardless services 408 can further enable the completion of the transactions by thecustomer 112 by coupling to thepairing service 410 and pairing a client device, for example thefirst device 102, and another client device, for example thethird device 108. - The
pairing service 410 enables the pairing of one or more client devices via the server. For example, thepairing service 410 can enable the pairing of thefirst device 102 and thethird device 108 via thesecond device 106. In one embodiment, thepairing service 410 can pair the one or more client devices based on enabling the generation of abarcode 402 containing a unique identifier. Thebarcode 402 refers to a visual machine-readable representation of data. Thebarcode 402 can be, for example, a linear or one-dimensional barcode, such as a series of lines with variable spaces in between them, a matrix or two-dimensional barcode, such as a QR code, or a combination thereof. The specific configuration of the barcode can constitute the unique identifier. In one embodiment, thepairing service 410 can enable the transmission of thebarcode 402 to a client device to establish and maintain the pairing between the client devices. For example, in one embodiment, thethird device 108 can display thebarcode 402 on thethird display interface 314. Thecustomer 112 via thefirst device 102 can scan thebarcode 402 using thefirst camera interface 204. Based on scanning thebarcode 402, thefirst device 102 can communicate with one or more services or sub-services, including but not limited to thesecure interface service 404, themicro-service repository 406, thecardless service 408, theATM middleware service 412, or a combination thereof, which can establish that the scannedbarcode 402 received from thefirst device 102 matches thebarcode 402 generated by thepairing service 410, and can notify thepairing service 410, in addition to other services or sub-services to establish a connection between thefirst device 102 and thethird device 108 so thecustomer 112 can conduct one or more transactions with the bank via a client device, for example thefirst device 102. - In one embodiment, the
pairing service 410 can enable the further re-generation of thebarcode 402 after some instance of time, for example, after ten (10) seconds or fifteen (15) seconds, as examples. The re-generation of thebarcode 402 in this manner can further add to the security of thecomputing system 100 so as to avoid having the re-use of thebarcode 402 across multiple client devices, for example across multiple ATMs, so as to prevent thecustomer 112 from conducting duplicate transactions, such as duplicate withdrawals of money, duplicate transfers of money, or a combination thereof. - The
ATM middleware service 412 enables the coordination of the services or sub-services of thecomputing system 100. TheATM middleware service 412 can coordinate the services or sub-services by coordinating tasks, functions, routines, communication, or a combination thereof of the services and sub-services between one another, and between the services or sub-services and one or more client devices, for example thethird device 108. In this way, theATM middleware service 412 acts as a controller between the services and sub-services and the devices of thecomputing system 100. - The
computing system 100 has been described with the services or sub-services functions or order as an example. Thecomputing system 100 can partition the services and sub-services differently or order the services or sub-services differently. For example, thefirst device 102, thesecond device 106, thethird device 108, or a combination thereof, can include the services or sub-services of thecomputing system 100. As a specific example, thefirst device 102, thesecond device 106, thethird device 108, or a combination thereof can include one or more of thesecure interface service 404, themicro-service repository 406, thecardless service 408, thepairing service 410, and theATM middleware service 412, and associated sub-services and modules included therein. - Referring now to
FIG. 5 , therein is shown an exemplary control flow of thecomputing system 100 in an embodiment of the present invention. In one embodiment, the control flow can be implemented with modules and sub-modules. In one embodiment, the control flow can include anerror detection module 502, acustomer identification module 504, anauthentication module 506, acontact module 508, atransaction module 510, and atermination module 516. In one embodiment, theerror detection module 502 can couple to thecustomer identification module 504. Thecustomer identification module 504 can couple to theauthentication module 506. Theauthentication module 506 can couple to thecontact module 508. Thecontact module 508 can couple to thetransaction module 510 and thetermination module 516. - In one embodiment, the services or sub-services can contain the modules or sub-modules. For example, in one embodiment, the
secure interface service 404, themicro-service repository 406, thecardless service 408, thepairing service 410, and theATM middleware service 412 can contain theerror detection module 502, thecustomer identification module 504, theauthentication module 506, thecontact module 508, thetransaction module 510, thetermination module 516, and associated sub-modules. - The
error detection module 502 enables the detection of anerror event 518 of a client device, for example thethird device 108. Theerror event 518 refers to an instance where the client device malfunctions such that thecustomer 112 cannot complete transactions with the bank using a client device, for example thethird device 108. Theerror event 518 can include, for example, a mechanical malfunction of the client device, for example a malfunction of one or more components of the client device, a software malfunction of the client device, or a card capture error event 520 by the client device, for example thethird device 108, captures or otherwise does not release or give back to the customer 112 a physical bank issued card, such as a debit card, a credit card, or a combination thereof associated with thecustomer 112. - In one embodiment, the
error detection module 502 can enable the detection of theerror event 518 based on parsing alog file 522. Thelog file 522 refers to a computer file that records one or more events, including theerror event 518 that can occur in an operating system, the software, the hardware, or a combination thereof of the client device. For example, in one embodiment, thelog file 522 can contain information regarding which software or hardware components have malfunctioned, for example what modules or units of the client device has malfunctioned. In one embodiment, thelog file 522 can further contain information regarding the card capture error event 520, for example whether a card was captured, how many cards have been captured in the client device, a weight associated with the cards that have been captured in the client device, or a combination thereof. - In one embodiment, the
log file 522 can further include information regarding thecustomer 112, such as a name, an account information, or a combination thereof associated with theerror event 518. In one embodiment, thelog file 522 can further include information regarding a task 524 that thecustomer 112 is trying to accomplish using the client device prior to encountering theerror event 518. The task 524 can be associated with the transactions thecustomer 112 wants to conduct with the bank. For example, the task 524 can include entering a pin, pressing a button, or choosing one or more options to access a bank account, check the status of a bank account, withdraw money from a bank account, transfer money to and from a bank account, deposit money into a bank account, or a combination thereof. - In one embodiment, the
log file 522 can be, for example, a text file, such as a Microsoft™ Word file, a Notepad file, or a similar text based file. In one embodiment, thelog file 522 can be generated by a client device, for example thethird device 108, and can be transmitted to anerror log database 512. - The
error log database 512 refers to a database, a repository, a list, a table, or a combination thereof that stores thelog file 522. Theerror log database 512, can be implemented using a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof. For example, theerror log database 512 can be implemented using a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM) or dynamic random access memory (DRAM). In one embodiment, theerror log database 512 can further be implemented as a database, a repository, a list, a table, or a combination thereof using software, hardware, or a combination thereof using the above mentioned memory components. - Continuing with the example, the
error detection module 502 can parse thelog file 522 by, for example, analyzing text, numbers, tags, codes, or a combination thereof, and extracting information from thelog file 522. In one embodiment, based on parsing thelog file 522, theerror detection module 502 can detect theerror events 518, the task 524, or a combination thereof, and thecustomer 112 information associated with theerror events 518, the task 524, or a combination thereof. By way of example, in the instance where theerror detection module 502 is determining whether a card capture error event 520, has occurred, theerror detection module 502 can parse thelog file 522 for text, numbers, tags, codes, or a combination thereof associated with a card capture error event 520. For example, thelog file 522 can contain text or a tag called “CARD CAPTURE ERROR.” Theerror detection module 502 upon parsing thelog file 522 and encountering the text or the tag can determine that a card capture error event 520 has occurred. Theerror detection module 502 can further parse the log file to find acustomer 112 name, account number, or a combination thereof associated with the error, by for example searching for tags or text containing thecustomer 112 name, account number, or a combination thereof. - In another embodiment, the
log file 522 can contain further information indicating a card capture error event 520, for example a number of bank cards stored in the client device, which can be recorded in thelog file 522 every time a physical bank issued card is captured, a weight threshold representing the weight of a physical bank issued card which can be recorded in thelog file 522 every time a bank card is captured, or a combination thereof. The further information can also be used to determine a card capture error event 520. For example, theerror detection module 502 upon parsing thelog file 522 can search for a tag, text, number, or a combination thereof indicating the number of bank cards stored or whether the number of bank cards stored on the client device has been updated, or search for a weight threshold representing the weight of a physical bank issued card or whether the weight threshold has been updated. Based on encountering the text, tag, number, or a combination thereof related to the number of bank cards or the weight threshold, theerror detection module 502 can determine that a card capture error event 520 has occurred. - In one embodiment, once the
error detection module 502 parses thelog file 522 and detects theerror events 518, thecustomer 112 information associated with theerror events 518, the task 524, or a combination thereof, theerror detection module 502 can pass the extracted information to thecustomer identification module 504 for further processing. - The
customer identification module 504 can enable identification and receipt of detailed information related to thecustomer 112 based on the extracted information obtained by parsing thelog file 522. The detailed information can identify thecustomer 112 and include further specific information about thecustomer 112, for example, further personal information including a social security number, an account information, a username and password, an address, a driver's license information, one or more security questions and answers used to verify thecustomer 112, biometric information, including, for example a retina map, a fingerprint, a facial map, a voice recognition information, or a combination thereof. In one embodiment, the detailed information can be stored in a customer profile 526. The customer profile 526 refers to the collection of thedetailed customer 112 information in a database, a table, a data structure, a file, or a combination thereof. - In one embodiment, the
customer identification module 504 can obtain or otherwise receive the customer profile 526 by accessing a customer identification database 514. The customer identification database 514 refers to a database, a repository, a list, a table, or a combination thereof that stores the customer profile 526. The customer identification database 514, can be implemented using a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof. For example, the customer identification database 514 can be implemented using a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM) or dynamic random access memory (DRAM). In one embodiment, the customer identification database 514 can further be implemented as a database, a repository, a list, a table, or a combination thereof implemented using software, hardware, or a combination thereof using the above mentioned memory components. - Continuing with the example, in one embodiment, the
customer identification module 504 can obtain the customer profile 526 by, for example, searching for thecustomer 112 name or account information obtained from parsing thelog file 522 in the customer identification database 514. If thecustomer identification module 504 finds thesame customer 112 name or account information in the customer identification database 514, thecustomer identification module 504 can request and receivefurther customer 112 information, for example the customer profile 526 associated with thecustomer 112. In one embodiment, once thecustomer identification module 504 obtains the customer profile 526, thecustomer identification module 504 can pass control and the customer profile 526 to theauthentication module 506 for further processing. - The
authentication module 506 can enable the verification or authentication of the identity of thecustomer 112 based on the customer profile 526 and the extracted information from parsing thelog file 522. For example, in one embodiment, theauthentication module 506 can enable the verification of thecustomer 112 by associating the customer profile 526 with atoken level 528 based on the task 524 that thecustomer 112 wants to perform using the client device, and more specifically on a mobile application on the client device. Associating can be done via a mapping of the customer profile 526 to thetoken level 528. - The
token level 528 refers to a parameter, variable, data structure, or a combination thereof, that signifies a security level or state of security associated with the task 524. In one embodiment, thetoken level 528 can be categorized in a hierarchical manner such as from a “high” to “low”token level 528 based on the task 524, where a “low”token level 528 signifies a low security level or state associated with the task 524 and a “high”token level 528 signifies a high security level or state associated with the task 524. By way of example, in one embodiment, if thecustomer 112 wants to, for example, check the balance of an account or deposit money into an account, thetoken level 528 associated with that task 524 can be, for example, “low” while if thecustomer 112 wants to transfer or withdraw money from an account, thetoken level 528 associated with that task 524 can be, for example, “high.” Further, in one embodiment, in a “low” security level or state, the level of authentication needed to be performed to verify the identity of thecustomer 112 can be less than that needed in a “high” security level or state, such that less methods of verification, such as asking less questions, asking for less information from thecustomer 112, etc., is implemented by theauthentication module 506 to verify the identity of thecustomer 112. - The
token level 528 can be represented in a variety of ways, for example, in one embodiment, thetoken level 528 can be represented as one or more numbers, for example, “0,” “1,” “2,” etc. where “0” signifies a low security level or state while “2” signifies a high security level or state. In another embodiment, thetoken level 528 can be represented using words or characters, for example “low,” “medium,” “high,” etc., as examples, where “low” signifies a low security level or state while “high” signifies a high security level or state. In one embodiment, thetoken level 528 can be pre-determined. - Continuing with the example, in one embodiment, once the
authentication module 506 associates the customer profile 526 with thetoken level 528 based on the task 524, theauthentication module 506 can enable the generation of one ormore authentication instructions 414 based on thetoken level 528 and the customer profile 526. For example, in one embodiment, theauthentication module 506 can enable the generation of one ormore authentication instructions 414, for example, one or more passcodes, words, phrases, questions, images, biometric factors, usernames and passwords, access keys, or a combination thereof used to verify the identity of thecustomer 112. In one embodiment, theauthentication module 506 can determine the number ofauthentication instructions 414 to generate based on thetoken level 528. For example, in one embodiment, the higher thetoken level 528 themore authentication instructions 414 will be generated to verify the identity of thecustomer 112. - In one embodiment, the
authentication module 506 can further determine the number ofauthentication instructions 414 generated based on pre-existing information known by thecomputing system 100. For example, in one embodiment, if thecustomer 112 has pre-authenticated him or herself, by for example, inserting a physical bank issued card into a client device, for example thethird device 108, and has entered a pin associated with the card via thethird device 108 prior to the occurrence of theerror event 518, for example the card capture error event 520, theauthentication module 506 can determine that no orfewer authentication instructions 414 need to be generated to verify the identity of thecustomer 112 despite, for example thecustomer 112 conducting transactions categorized as a high security level or state transactions, because thecomputing system 100 has already pre-authenticated or verified the identity of thecustomer 112 based on the information provided by thecustomer 112. In one embodiment, the pre-existing information can be known to theauthentication module 506 based on information obtained by parsing thelog file 522. - In one embodiment, the generation of the
authentication instructions 414 can further be based on information from the customer profile 526. For example, the one or more passcodes, words, phrases, questions, images, biometric factors, usernames and passwords, access keys, or a combination thereof used to verify the identity of thecustomer 112 can be based on information from the customer profile 526, such as thecustomer 112 social security number, account information, username and password, address, driver's license information, biometric information, including a retina map, fingerprint, facial map, voice, or a combination thereof. For example, in one embodiment, theauthentication instructions 414 can include questions regarding the customer's 112 last four digits of his or her social security number, address, driver's license information, an access code sent to thecustomer 112, or theauthentication instructions 414 can include verification using biometric information such as verifying a retina scan, fingerprint, facial map, voice, or a combination thereof. - In one embodiment, once the
authentication module 506 enables the association of the customer profile 526 to thetoken level 528 and further enables the generation of theauthentication instructions 414, theauthentication module 506 can pass control and theauthentication instructions 414 to thecontact module 508 for further processing. - The
contact module 508 can enable the transmission of theauthentication instructions 414 to a client device, for example thefirst device 102. Thecontact module 508 can enable the transmission via anotification 530. Thenotification 530 refers to a method of communication to the client device. For example, thenotification 530 can include, for example, a text message, an email, a phone call, a push notification, a haptic feedback, or a combination thereof to the client device, for example thefirst device 102. The transmission can be done via a communication unit, for example thesecond communication unit 226 ofFIG. 2 and thecommunication path 104. - In one embodiment, the
contact module 508 can further enable the receipt of the customer input variable 416 from the client device. For example, thecontact module 508 can receive thecustomer input variable 416, for example a fingerprint scan, a username and password, or other verifying information based on theauthentication instructions 414 being sent to thecustomer 112 requesting authentication based on a fingerprint or a username and password. In another embodiment, thecontact module 508 can receive thecustomer input variable 416, for example an authentication code, based on theauthentication instructions 414 being sent to thecustomer 112 requesting authentication based on an authentication code sent to thecustomer 112. In another embodiment, thecontact module 508 can receive more than onecustomer input variable 416 based onmultiple authentication instructions 414 being transmitted to thecustomer 112, where more than onecustomer input variable 416 needs to be provided by thecustomer 112. The receipt can be done via a communication unit, for example thesecond communication unit 226 via thecommunication path 104. - In one embodiment, the
contact module 508 can further enable the generation of amatch indicator 532 based on comparing theauthentication instructions 414 to thecustomer input variable 416. Thematch indicator 532 refers to a variable, parameter, threshold, or a combination thereof that indicates whether the expected value of theauthentication instructions 414 is equivalent to or the same as thecustomer input variable 416. The expected value of the authentication instructions can be based on an authentication parameter, wherein the authentication parameter refers to a variable, data structure, parameter, or a combination thereof obtained from the detailed information of the customer profile 526. For example, if theauthentication instruction 414 is a question asking for the last four digits of thecustomer 112 social security number, the expected value of the authentication instruction can be obtained from the social security number in the customer profile 526. In another embodiment, if theauthentication instruction 414 requests a fingerprint request, the expected value of theauthentication instruction 414 can be obtained from a fingerprint associated with thecustomer 112 and stored in or as a part of the customer profile 526. Based on thematch indicator 532, thecomputing system 100 can verify the identity of thecustomer 112 and further initiate atransaction session 534 where thecustomer 112 can continue the task 524 or other transactions initially started on the client device, for example thethird device 108, using another client device, for example thefirst device 102, and more specifically using a mobile application on the client device. - For example, in one embodiment, if the
authentication instructions 414 include a verification code sent to thecustomer 112, and thecustomer 112 provides, as thecustomer input variable 416, the same verification code sent to thecustomer 112, thecontact module 508 can determine that there is a match between theauthentication instructions 414 and thecustomer input variable 416 and generate thematch indicator 532 indicating that theauthentication instructions 414 and thecustomer input variable 416 are equivalent, and can verify the identity of thecustomer 112. In another embodiment, if thecustomer 112 provides a scan of a fingerprint using the client device, as thecustomer input variable 416, and thecontact module 508 determines that the scan of the fingerprint meets a minimum threshold, for example 99% similar to a known fingerprint of thecustomer 112 obtained from the customer profile 526, by for example enabling or otherwise analyzing the points of similarity of the two fingerprints, thematch indicator 532 can be generated indicating that theauthentication instructions 414 and thecustomer input variable 416 are equivalent and can verify the identity of thecustomer 112. - The
match indicator 532 can be represented in a variety of ways, including as a numerical value, parameter, threshold, or as a textual value, parameter, or threshold. In one embodiment, thematch indicator 532 can be represented, for example, as a binary value, such as “0” or “1,” where “0” represents no match between theauthentication instructions 414 and thecustomer input variable 416, and “1” represents a match between theauthentication instructions 414 and thecustomer input variable 416. In another embodiment, thematch indicator 532 can be represented as a textual value of “Yes” or “No,” where “Yes” represents a match between theauthentication instructions 414 and thecustomer input variable 416 and “No” represents no match between theauthentication instructions 414 and thecustomer input variable 416. - In one embodiment, if the
contact module 508 determines there is a match between theauthentication instructions 414 and thecustomer input variable 416, thecontact module 508 can pass control to thetransaction module 510. If, however, thecontact module 508 determines that there is no match between theauthentication instructions 414 and thecustomer input variable 416, thecontact module 508 can pass control to thetermination module 516. Thetermination module 516 enables the termination of communications between the client device, for example thefirst device 102 and the server, for example thesecond device 106, or termination of communications between the client device, for example thefirst device 102 and other client devices, for example thethird device 108. - In one embodiment, if the
contact module 508 passes control to thetransaction module 510, thetransaction module 510 can enable the initiation of thetransaction session 534 between one or more client devices, for example thefirst device 102 and thethird device 108, via the server, for example thesecond device 106. Thetransaction session 534 refers to an instance where thecustomer 112 is paired to a client device, such as thethird device 108, and can control the client device using another client device, for example thefirst device 102 to continue to perform the task 524 or transactions despite theerror event 518. Continue to perform the task 524 or transactions refers to the ability of thecustomer 112 to carry on performing the task 524 or transactions from the point at which thecustomer 112 was performing the task 524 or transactions prior to the occurrence of theerror event 518, without having to perform additional tasks or functions, navigate to the particular tasks 524 or transactions, or input any variables or information to carry on performing the tasks 524 or transactions. - In one embodiment, the
transaction session 534 can be initiated using a software application on a client device, for example a software application on thefirst device 102 that allows thecustomer 112 to control the other client device, for example thethird device 108. The software application can be for example, a mobile application, a remote computer control software, a remote access software, or built into an application on a mobile device. In one embodiment, thetransaction module 510 can further generate thebarcode 402 to enable the initiation of thetransaction session 534. For example, in one embodiment, thetransaction module 510 can enable the generation of thebarcode 402 and transmit thebarcode 402 to a client device, for example thethird device 108. Thecustomer 112, using another client device, for example thefirst device 102 can scan thebarcode 402, using for example thefirst camera interface 204 ofFIGS. 2 and 3 and send the image to thetransaction module 510. Thetransaction module 510 can then compare the scanned image of thebarcode 402 and determine whether the scanned image by thecustomer 112 is the same as thebarcode 402 transmitted to thethird device 108. If thetransaction module 510 determines that the scanned image is the same as thebarcode 402, thetransaction module 510 can further initiate thetransaction session 534 and pair or otherwise connect thefirst device 102 and thethird device 108 to initiate thetransaction session 534. - In one embodiment, once the
transaction session 534 is initiated, thecustomer 112 can continue performing the task 524 or perform further transactions using the software application on thefirst device 102 to control thethird device 108. For example, thecustomer 112 can use the software application on thefirst device 102 to access a bank account, check the status of a bank account, withdraw money from a bank account, transfer money to and from a bank account, deposit money into a bank account, or a combination thereof, via thefirst device 102. - In one embodiment, where the
error event 518 is a card capture error event 520, thetransaction module 510 can further generate acard replacement link 536, and can further transmit the card replacement link 536 to thecustomer 112 during thetransaction session 534. Thecard replacement link 536 refers to a hyperlink that forwards thecustomer 112 to a website, a landing page, a screen, or a combination thereof where thecustomer 112 has the option of requesting or ordering, from the bank, a replacement physical bank issued card, such as a debit card or a credit card. In one embodiment, thecard replacement link 536 can be displayed on a client device, for example on thethird device 108 using thethird display interface 314, or can be sent to a client device, for example to thefirst device 102 via anotification 530. In one embodiment, thecard replacement link 536 can be generated based on receiving a card replacement request from the mobile application during the mobile transaction session. - It has been discovered that the methods, modules, units, services, and components implementing the above described
computing system 100 significantly improves the ability of thecustomer 112 to transact with a bank because it allows thecustomer 112 an alternative option to complete the task 524 or transactions with the bank despite errors or malfunctions of one or more client devices, for example an ATM. It has been further discovered that thecomputing system 100 significantly improves thecustomer 112 user experience because it allows thecustomer 112 an option to complete the task 524 or transactions with the bank despite errors or malfunctions of one or more client devices. - It has been further discovered that the
computing system 100 significantly improves thecustomer 112 user experience because it allows thecustomer 112 to instantly pair and communicate with a bank system via a client device and without a physical bank issued card, such as a debit card or a credit card through asecure transaction session 534 to complete a task 524 or further transactions with the bank. It has been further discovered that thecomputing system 100 provides a novel way of verifying thecustomer 112 through thetoken levels 528 andauthentication instructions 414, and pairing thecustomer 112 to the banking system to complete the task 524 or further transactions with the bank based on the verification. - The
computing system 100 has been described with module functions or order as an example. Thecomputing system 100 can partition the modules differently or order the modules differently. For example, thefirst software 220, thesecond software 244, thethird software 324, or a combination thereof, can include the modules for thecomputing system 100. As a specific example, thefirst software 220, thesecond software 244, thethird software 324, or a combination thereof can include theerror detection module 502, thecustomer identification module 504, theauthentication module 506, thecontact module 508, thetransaction module 510, and thetermination module 516, and associated sub-modules included therein. - The
first control unit 210, thesecond control unit 238, thethird control unit 318, or a combination thereof, can execute thefirst software 220, thesecond software 244, thethird software 324, or a combination thereof, to operate the modules. For example, thefirst control unit 210, thesecond control unit 238, thethird control unit 318, or a combination thereof, can execute thefirst software 220, thesecond software 244, thethird software 324, or a combination thereof, to implement theerror detection module 502, thecustomer identification module 504, theauthentication module 506, thecontact module 508, thetransaction module 510, and thetermination module 516, and associated sub-modules included therein. - The modules described in this application can be implemented as instructions stored on a non-transitory computer readable medium to be executed by the
first control unit 210, thesecond control unit 238, thethird control unit 318, or a combination thereof. The non-transitory computer readable medium can include thefirst storage unit 216, thesecond storage unit 240, thethird storage unit 320, or a combination thereof. The non-transitory computer readable medium can include non-volatile memory, such as a hard disk drive, non-volatile random access memory (NVRAM), solid-state storage device (SSD), compact disk (CD), digital video disk (DVD), or universal serial bus (USB) flash memory devices. The non-transitory computer readable medium can be integrated as a part of thecomputing system 100 or installed as a removable portion of thecomputing system 100. - Referring now to
FIG. 6 , therein is shown anexemplary method 600 of operating thecomputing system 100 in an embodiment of the present invention. Themethod 600 includes: detecting, based on a log file of an automated teller machine (ATM), an error event as shown inbox 602; identifying a customer associated with the error event based on the log file as shown inbox 604; accessing, from a customer identification database, a customer profile associated with the customer as shown inbox 606; authenticating the customer on a mobile application, based on the customer profile as shown inbox 608; and initiating a mobile transaction session based on authenticating the customer, wherein the customer can complete a transaction with the ATM via the mobile application during the mobile transaction session as shown inbox 610. - The above detailed description and embodiments of the disclosed
computing system 100 are not intended to be exhaustive or to limit the disclosedcomputing system 100 to the precise form disclosed above. While specific examples for thecomputing system 100 are described above for illustrative purposes, various equivalent modifications are possible within the scope of the disclosedcomputing system 100, as those skilled in the relevant art will recognize. For example, while processes and methods are presented in a given order, alternative implementations may perform routines having steps, or employ systems having processes or methods, in a different order, and some processes or methods may be deleted, moved, added, subdivided, combined, or modified to provide alternative or sub-combinations. Each of these processes or methods may be implemented in a variety of different ways. Also, while processes or methods are at times shown as being performed in series, these processes or blocks may instead be performed or implemented in parallel, or may be performed at different times. - The resulting method, process, apparatus, device, product, and system is cost-effective, highly versatile, and accurate, and can be implemented by adapting components for ready, efficient, and economical manufacturing, application, and utilization. Another important aspect of an embodiment of the present invention is that it valuably supports and services the historical trend of reducing costs, simplifying systems, and increasing performance.
- These and other valuable aspects of the embodiments of the present invention consequently further the state of the technology to at least the next level. While the disclosed embodiments have been described as the best mode of implementing the
computing system 100, it is to be understood that many alternatives, modifications, and variations will be apparent to those skilled in the art in light of the descriptions herein. Accordingly, it is intended to embrace all such alternatives, modifications, and variations that fall within the scope of the included claims. All matters set forth herein or shown in the accompanying drawings are to be interpreted in an illustrative and non-limiting sense.
Claims (33)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/104,624 US20210174331A1 (en) | 2019-12-06 | 2020-11-25 | Transferring a customer from an atm transaction to a device-based transaction during an error state, and applications thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/705,626 US10885507B1 (en) | 2019-12-06 | 2019-12-06 | Transferring a customer from an ATM transaction to a device-based transaction during an error state, and applications thereof |
US17/104,624 US20210174331A1 (en) | 2019-12-06 | 2020-11-25 | Transferring a customer from an atm transaction to a device-based transaction during an error state, and applications thereof |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/705,626 Continuation US10885507B1 (en) | 2019-12-06 | 2019-12-06 | Transferring a customer from an ATM transaction to a device-based transaction during an error state, and applications thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210174331A1 true US20210174331A1 (en) | 2021-06-10 |
Family
ID=74045178
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/705,626 Active US10885507B1 (en) | 2019-12-06 | 2019-12-06 | Transferring a customer from an ATM transaction to a device-based transaction during an error state, and applications thereof |
US17/104,624 Pending US20210174331A1 (en) | 2019-12-06 | 2020-11-25 | Transferring a customer from an atm transaction to a device-based transaction during an error state, and applications thereof |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/705,626 Active US10885507B1 (en) | 2019-12-06 | 2019-12-06 | Transferring a customer from an ATM transaction to a device-based transaction during an error state, and applications thereof |
Country Status (4)
Country | Link |
---|---|
US (2) | US10885507B1 (en) |
EP (1) | EP4070261A4 (en) |
CA (1) | CA3163504A1 (en) |
WO (1) | WO2021113022A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019205214A1 (en) * | 2019-04-11 | 2020-10-15 | Robert Bosch Gmbh | Multimedia device, multimedia arrangement with the multimedia device and method for transmitting an optical code with the multimedia arrangement |
FR3095707B1 (en) * | 2019-05-01 | 2022-06-03 | Eric Fouchard | Method for securing a communication and corresponding device. |
GB201918343D0 (en) * | 2019-12-12 | 2020-01-29 | Gelliner Ltd | Method and system for authenticating a digital transaction |
JP2022144760A (en) * | 2021-03-19 | 2022-10-03 | 京セラドキュメントソリューションズ株式会社 | image forming device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2835777A2 (en) * | 2013-08-08 | 2015-02-11 | NCR Corporation | Transaction performance |
US20170046217A1 (en) * | 2015-08-12 | 2017-02-16 | Avekshaa Technologies Private Ltd | System and method for batch monitoring of performance data |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220501A (en) * | 1989-12-08 | 1993-06-15 | Online Resources, Ltd. | Method and system for remote delivery of retail banking services |
US7100195B1 (en) * | 1999-07-30 | 2006-08-29 | Accenture Llp | Managing user information on an e-commerce system |
US8924712B2 (en) | 2011-11-14 | 2014-12-30 | Ca, Inc. | Using QR codes for authenticating users to ATMs and other secure machines for cardless transactions |
US9640040B2 (en) | 2012-08-09 | 2017-05-02 | Diebold Self-Service Systems Division Of Diebold, Incorporated | Accepting a check deposit from a mobile device in communication with an automated teller machine |
US10083483B2 (en) * | 2013-01-09 | 2018-09-25 | Bank Of America Corporation | Actionable exception alerts |
CN106663250A (en) | 2014-05-09 | 2017-05-10 | 迪布尔特有限公司 | Cardless financial transactions |
US9311632B1 (en) * | 2015-03-03 | 2016-04-12 | Bank Of America Corporation | Proximity-based notification of a previously abandoned and pre-queued ATM transaction |
KR20170025042A (en) * | 2015-08-27 | 2017-03-08 | 노틸러스효성 주식회사 | Fault management apparatus for automatic teller machine, user terminal apparatus connected with same, and fault management method for automatic teller machine |
US20190073663A1 (en) | 2017-09-05 | 2019-03-07 | Paypal, Inc. | System and method for cardless cash access |
US10510065B2 (en) * | 2018-05-08 | 2019-12-17 | Capital One Services, Llc | Interacting with an automated teller machine using a user device |
-
2019
- 2019-12-06 US US16/705,626 patent/US10885507B1/en active Active
-
2020
- 2020-11-09 WO PCT/US2020/059618 patent/WO2021113022A1/en unknown
- 2020-11-09 CA CA3163504A patent/CA3163504A1/en active Pending
- 2020-11-09 EP EP20895777.9A patent/EP4070261A4/en active Pending
- 2020-11-25 US US17/104,624 patent/US20210174331A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2835777A2 (en) * | 2013-08-08 | 2015-02-11 | NCR Corporation | Transaction performance |
US20170046217A1 (en) * | 2015-08-12 | 2017-02-16 | Avekshaa Technologies Private Ltd | System and method for batch monitoring of performance data |
Non-Patent Citations (1)
Title |
---|
Antonella et al.; Introducing ATMs in India: a contexual inquiry; 11/03/2003; Elsevier, web, 30-39 (Year: 2003) * |
Also Published As
Publication number | Publication date |
---|---|
US10885507B1 (en) | 2021-01-05 |
WO2021113022A1 (en) | 2021-06-10 |
EP4070261A1 (en) | 2022-10-12 |
EP4070261A4 (en) | 2023-11-15 |
CA3163504A1 (en) | 2021-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10885507B1 (en) | Transferring a customer from an ATM transaction to a device-based transaction during an error state, and applications thereof | |
US11461760B2 (en) | Authentication using application authentication element | |
EP3499795A1 (en) | Authentication system and method, and user equipment, authentication server, and service server for performing same method | |
RU2635275C1 (en) | System and method of identifying user's suspicious activity in user's interaction with various banking services | |
WO2015157295A1 (en) | Systems and methods for transacting at an atm using a mobile device | |
KR20130107188A (en) | Server and method for authentication using sound code | |
CN111885128A (en) | Identity management method based on block chain | |
CN111447245A (en) | Authentication method, authentication device, electronic equipment and server | |
US20180121926A1 (en) | Methods and apparatus for authorizing automated teller machine transactions using biometric data | |
US9998486B2 (en) | System for utilizing one or more databases to identify a point of compromise | |
TW202040385A (en) | System for using device identification to identify via telecommunication server and method thereof | |
KR101724619B1 (en) | Financial open platform and method for providing financial service using identification information which replaces account number, and computer program for the same | |
CN108964921A (en) | Verification System, authentication method and service server | |
US12154083B2 (en) | Bank-based onboarding for merchant integration | |
KR20170052328A (en) | System and method for confirming real name in non-face using mobile terminal | |
CN116783594A (en) | System and method for authentication of access tokens | |
AU2016277629A1 (en) | Authentication using application authentication element | |
JP2007323116A (en) | Card-less settlement terminal equipment, card-less settlement host, and card-less settlement system | |
US12141780B2 (en) | Mobile device transaction processing system and method using LoRaWAN communications | |
US12014348B2 (en) | Validating transactions between entities using LoRaWAN protocol | |
US12238625B2 (en) | System and method for determining device status using LoRaWAN | |
JP6464870B2 (en) | Authentication method, authentication program, and authentication apparatus | |
US20240080668A1 (en) | Communication, Authentication, and Validation Using LoRaWAN Protocol | |
US20240080649A1 (en) | System and method for determining device status using lorawan | |
AU2015200732B2 (en) | Authentication using application authentication element |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CAPITAL ONE SERVICES, LLC, VIRGINIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PHILLIPS, JEREMY J.;SCHOTT, CHRISTOPHER;REEL/FRAME:054470/0933 Effective date: 20191205 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCV | Information on status: appeal procedure |
Free format text: NOTICE OF APPEAL FILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |