VOICE VERIFICATION SYSTEM

Abstract: A voice verification system (1) has a verification server layer (55) providing centralised verification for multiple service providers in geographically spread locations. Each service provider has an IVR (41) using a C++ DLL API (43) to communicate with a verification server (56, 57) via ISPs (45) and a switching system (50). Each API (43) dynamically determines an optimum ISP/server socket to minimise a verification cycle time. The switching system (50) has a router and two-stage switch combination with firewalls to provide optimum resilience in paths to the server (56, 57).

Description: incoming connections. Also, failure of any link between the consumer and tne voice verification server results in failure of the transaction. The invention is therefore directed towards providing a voice vertficatior sy.tem which provides improved fault resilience and optimum utilis ation c f voice verification servers and other necessary resources. SUMMARY OF THE INVENTION According to the invention, there is provided a voice verificatio n sy. tem comprising a verification engine connected to an interactive voice response system (IVR) to verify callers of a hosted service, characterised in that, the verification engine is hosted on a verification server comprising means for interfacing with a plurality of IVRs to perform centralised vcice verificaiion, and each IVR is connected to an interface to the verification server. In one embodiment, each interface comprises a Dynamic Librai)' Linkec. (DLL) API. In one embodiment, each interface comprises means for communicating * vith :he server via s plurality of Internet Service Provider servers (ISPs). In one embodiment, each interface comprises means for mainta nin;^ a communication socket for each ISP/verification server linlc, i.nd means for dynamically choosing a preferred socket in real time for each verificaiion operation. - 3 - In one embodiment, the system comprises a plurality of verification servers and each interface comprises means for maintaining a socket for each IS ['/ verification server combination. In one embodiment, each interface comprises means for transmitting a polling signal on each socket to request a verification time indicator. In one embodiment, each verification server comprises means for 'esponding no a polling signal with queue time value. In one embodiment, each interface comprises means for automatically mcnitαnng polling signal response time, and for adding each response time to the assocπred queue time value to determine a current verification cycle time. In one embodiment, each interface comprises means for dynamically choosing an available socket having a lowest current verification cycle time. In one embodiment, each interface comprises means for determiring the car rent verification cycle time for each socket in a background p r ocess activated at configurable time periods and in parallel with verification communication . In one embodiment, the system further comprises a switching system cc nnected between the ISPs and the verification servers. In one embodiment, the switching system comprises a router associated with each ISP. In one embodiment, each router is connected to a plurality of switc ies between the routers and the verification servers. - 4 - In one embodiment, each switch has a single output, and said output is conr.ected to a firewall, and an output of each firewall is connected to a switch in a second svάtch stage. In one embodiment, each switch in said second switch stage is connected to a plurality of verification servers. According to another aspect, the invention provides a voice ver fication sy. tern comprising :- an interactive voice response (IVR) layer comprising IVR. applications at remote locations; an API layer comprising APIs for the IVR applications. a plurality of Internet Service Provider (ISP) servers registered with the APIs ; a switching system comprising a router associated with each registe red ISP server; a verification server layer comprising a plurality of verification sei <. ers connected to the switching system, wherein each API comprises mean- for maintaining a socket for each ISP/verification server combination, fo " po ling each verification server in a background polling process, for receiving a response from each verification server indicating current verificat r queue time, and for dynamically choosing a socket for a voice verification operation according to said queue time. In one embodiment, each API comprises means for monitoring pollin g signal response time, for adding the response time to said verification queue rim e to - 5 - determine a verification cycle time, and for dynamically choosing a socket having the lowest current verification cycle time. In one embodiment, the switching system comprises, between the routers and the verification servers: a first stage of switches in which each router is connected :o a plurality of said first stages switches; a firewall connected to an output of each first stage switch and a second stage of switches each connected to an output of each firewall, and in which each said second stage switch is connected to a plui ality of verification servers. DETAILED DESCRIPTION OF THE INVENTION The invention will be more clearly understood from the follo ing descriptio I of some embodiments thereof, given by way of example only with referenc. to the accompanying drawings in which :- Fig. 1 is a diagram illustrating forms of communicatio available for transaction processing; Fig. 2 is a high level schematic representation of a voice verification system; and Fig. 3 is a more detailed diagram of the system. - 6 - Referring to Fig. 1, a voice verification system 1 comprises a centra server 2 wnich performs the core voice verification operations. The system also comprise- an interactive voice response system (IVR) 3 which performs speech recognition, and an associated API 4 for provision of both IVR and verification services, This general service is termed "PhoneKey". Another service, "NetKey" comprises an API 10 for a service provider IVR 11 linked to an ISP application 12. Finall /. a "WebKey" service is provided by a client PC 20 having an API 21 for the server 2. Also, a common gateway interface CGI 25 allows the server 2 to interface with z service provider Web site 26 for communication with an end user browser 27. In operation, service providers use the server 2 to authenticate end users (clients /subscribers) before connecting them to information and/or services provided by operators. This reduces user access time to the service provider's sysiem and increases overall productivity of the service provider's system. The end user starts with either a toll-free phone call or by accessi ig a designated Internet site. Phone calls are answered with a customised screen display. The end user is then asked to provide a verbal input, via either a p one handset or computer microphone. Account Number Verification (ANV) as used by th Pv R 3 in response to the user speaking his account number. Alternatively, the verbal input can be repetition of digits or phrases. For the ANV method, the I _ requests the user to enter his/her account number via verbal input, phone keypad, or c omputer keyboard. The central server 2 then retrieves the voice print for the account nunber entered. Next, the verification engine in the central server 2 completes the identification of the user, by comparing the user's voice sample with the reference voiceprint for the designated account number. If there is a voice match, the service provider's system is notified and the appropriate actions are taken, tor example, the user is connected to a customer service representative (CSR) or input data is taken from the user. - 7 - If the voices do not match, the user is either asked to try again or is denied .xcess to the service provider's system. At the option of the service provider, users whose voices do not match can be switched to an operator fcr further action In addition to confirming user identity, service provider systems may offei spoken menu selection choices which are sent to the service provider with confirmation of user identity. As is clear from Fig. 1, the system 1 allows for comprehensive and versatile transaction processing in which a core feature is verification of the user (usually customer) by way of voice verification operations of the centr server 2. Service providers (such as a merchant) host an IVR, and an API to the central servei 2. The user may use his or her telephone to perform the transaction oi alteπ lively a browser if visual images are required or advantageous. Indeed, it is rot essential that the IVR operations be hosted by the service provider. For example, in this embodiment the organisation hosting the central server 2 also host, the IVR. 3 and the API 4 for the PhoneKey I M service. The IVR 3 links with a service ιder application 30 to provide the required recognition and verif cation data for the service provider to host the relevant service. This versatility L . very importar t in today's fast-changing marketplace. In the Netkey service, the servic provic er hosts the IVR 11 and it is linked to the application 12 via a iocal area network. Regarding the hardware configuration, the central server 2 is a triply redundant system (plus additional redundancy in some areas) with: HP fibre channel RAID for voiceprint storage, multiple 8-way Zeon processors, and - 8 - redundant enhanced recognition and verification software, database software and other system software. The central server 2 comprises a number of individual independent, interconnected, mirrored servers, located in different physical locations for maximum operational integrity. External communications (all locations) include multiple telephone carriers and Internet gateways, utilising multiple, redundant 100 Mb _ s copper, fibre- optic, and microwave services. The capacity of each individual serv er (expandable) provides: 8 GigaBytes of main memory, storage for 64 million voiceprints (-lOKbytes each), and 0.5 second processing time per end-user verification. The central server 2 can accept voice information over the phone network a local area, network, or the Internet and can respond, via either phone network or the Internet with: end-user account information, end-user identity verification decisions and other information, end-user caller ID information, data capture (customer menu choices and/or other information, as appropriate), call forwarding of original end-user phone call (if appropriate), and - 9 - real-time and archival reports of transaction data and system decision. Referring now to Fig. 2 a generalised architecture for the various sei iα s is illustrated. The layers which are illustrated in Fig. 2 set out the systems wn ich interact between the service provider and the central server 2. There is an F'R l i /er 40 having IVR applications 41. An API layer 42 has APIs 43. A wide area network layer 44 is in this case the Internet in which various Internet service provide <s (ISP) 45 are used. Finally, there is a switching system 50, and a verificaiion server laye r 55 (central server 2) has individual servers 56 and 57. The numbei of machines wi thin each layer is configurable depending on the extent of services bemg provider and on the number of users. Within the architecture of Fig. 2, each API 43 has a socket for each address. There is one address for each combination of ISP 45 and a verification seiver 56 or 57 Thus, for example, if there are four ISPs and four servers, there will be si .teen sc ckei s in each API 43. Each API 43 is programmed to place one byte on each socket to quer / the load o " the verification servers 56 and 57. This byte is transmitted in a signal via the network layer 44 and the switching system 50. If a return takes greater than 10 second:- the API 43 proceeds to the next socket. The return information provides both the latency of each socket and queue time and the API 43 uses the socket which nro ides the shortest site or time. Referring now to Fig. 3, the switching system 50 comprises two routers 70, Two switches 75, two firewalls 80, and two switches 85. Each router 70 i. a Cisco 72(I0 I M router, and there is one router 70 per ISP physical connection. Each router . 0 is connected by a twisted pair cable to each of two Cisco Viand Management 1 switches 75. Thus, each switch 75 has two input links, and there is one oui put link - 10 - to a firewall 80. Each firewall 80 allows only a single client to access a single server output link. Only known addresses are allowed access. Additional residence is provided by the switches 85, each registered on the external interface of an associated firewall 80. Each switch 85 has an output to each of the two servers 56 and 57. The switching system 50 provides excellent resilience and security. W hile each firewa il 80 has only one registered input and one registered output, the routers 70, the switches 75, and the switches 85 provide alternative paths in the event of failure of any one device. It has also been found that this arrangement achieves excellent performance because of the manner in which the load is distributed. The overall architecture shown in Fig. 2 allows versatile combin. tiors. The APIs 43 need not be co-located with the IVRs 41. Thus, the IVRs 41 , the APIs 43, t ie . SPs 45, and the servers 56 and 57 can be located at any desired location. The linkage may be regarded as a capture (C) - process (P) - verify (V) seqαence, in which the interaction may be C : P : V, C/P : V, C : P/V, or C/P/Y, in which ":" indicates that stages are remote and "/" indicates co-located. The I VRs 41 capture, the APIs 43 process, and the servers 56, 57 verify. The switching system 50 is co-located with the servers 56 and 57 for bandwidth, security, and maintena nce reasons. The physical separation of the APIs 43 is made possible by virtue ol ' the fact that they are C++ programs Dynamic Library Linked (DLL) for modularity. As stated above, each API 43 has a socket for every ISP-server combination. 1 hey dynamically route processing and verification requests to the ISP-serve ' socket providing the fastest response. This is achieved by a background process polling the servers 56 and 57 in sequence via the different sockets. The polling signal takes the form of only a single byte. The APIs 43 wait ten seconds for a response, and f no 11 response is received in this time it registers the socket as temporarily offjne and discontinues use of it. Each server 56 and 57 returns a signal indicating the cuirent verification queue time, in response to a polling signal. Responses are processed by the API 43 automatically determining the respo .se l ime for the polling signal and adding this value to the queue time returned by th e server 56 or 57 to determine a verification cycle time. This time value is used to prioritise sockets dynamically, the socket having the lowest value at any time being chosen for a verification operation. It will be appreciated that the invention allows excellent versatility ;.nd resi ience in the capture-process-verify cycle for service providers at a laige numbei of geographically spread locations. The range of possible applications sαpporte tl is very wide, and the following table sets out some examples. 12 The invention is not limited to the embodiments described but may be v<ιπe i m construction and detail.

Claims: - 13 - Claims 1. A voice verification system (1) comprising a verification engine connected to an interactive voice response system (IVR) (41) to verify callers of a hosted service, characterised in that, the verification engine is hosted on a verification server ( 56 57) comprising means for interfacing with a plurality of IVRs (41) to perlorm centralised voice verification, and each IVR (41) is connected to an interface (43) to the verification server (.56, 57). 2. A system as claimed in claim 1, wherein each interface (43) comprises a Dynamic Library Linked (DLL) API. 3. A system as claimed in claims 1 or 2, wherein each interface (43) comprises means for communicating with the server (56, 57) via s plurality of Internet Service Provider servers (ISPs, 45). A system as claimed in claim 3, wherein each interface (43) comprises means for maintaining a communication socket for each ISP/verifi ition server link, and means for dynamically choosing a preferred socket in real time for each verification operation. A system as claimed in claim 4, wherein the system comprises a plurality of verification servers (56, 57) and each interface comprises means for maintaining a socket for each ISP/verification server combination. - 14 - 6. A system as claimed in any preceding claim, wherein eaci interface (43) comprises means for transmitting a polling signal on each socket to request a verification time indicator. 7. A system as claimed in claim 6, wherein each verification server (56, ,57) comprises means for responding to a polling signal with queue time value 8. A system as claimed in claim 7, wherein each interface (43) comprises means for automatically monitoring polling signal response time, and foi adding each response time to the associate queue time value to determine a cuirent verification cycle time. 9. A system as claimed in claim 8, wherein each interface (43) CDmprises means for dynamically choosing an available socket having a lowest cuirent verification cycle time. 10. A system as claimed in any of claims 6 to 9, wherein each interface (43) comprises means for determining the current verification cycle time for each socket in a background process activated at configurable time periods and in parallel with verification communication. 11. A system as claimed in any preceding claim, wherein the system fuither comprises a switching system (50) connected between the ISPs (45) and the verification servers (56, 57). 12. A system as claimed in claim 11, wherein the switching system comprises a router (70) associated with each ISP (45). - 15 - 13. A system as claimed in claim 12, wherein each router (70) is connec ted to a plurality of switches (75) between the routers (70) and the verification servers (56, 57). 14. A system as claimed in claim 13, wherein each switch (75) has a single output, and said output is connected to a firewall (80), and an output of each firewall (80) is connected to a switch (85) in a second switch stage. 15. A system as claimed in claim 14, wherein each switch (85) in saic second switch stage is connected to a plurality of verification servers (.56, 57). 16. A voice verification system comprising: - an interactive voice response (IVR) layer (40) comprising IVP_ app lications (41) at remote locations; an API layer comprising APIs for the IVR applications a plurality of Internet Service Provider (ISP) servers (45) registered with the APIs (43); a switching system (50) comprising a router (70) associated with each registered ISP server (45); a verification server layer (55) comprising a plurality of verificatior servers (56, 57) connected to the switching system (50), wherein each API (43) comprises means for maintaining a socket for each ISP/verification server combination, for polling each verification server (56. 57) in a background polling process, for receiving a response from each verification server (56. 57) - 16 - indicating current verification queue time, and for dynamically choosing a socket for a voice verification operation according to said queue time. 17. A system as claimed in claim 16, wherein each API (43) comprises means for monitoring polling signal response time, for adding the response time to said verification queue time to determine a verification cycle time, and for dynamically choosing a cycle having the lowest current verification cycle time. 18. A system as claimed in claims 16 or 17, wherein the switching sysiem (.50) comprises, between the routers (70) and the verification server . (56, 5. y. a first stage of switches (75) in which each router (70) i connected to a plurality of said first stage switches (75); a firewall (80) connected to an output of each first stage switch ( 75); and a second stage of switches (85) each connected to an output of each firewall (80), and in which each said second stage switch (8: : ) is connected to a plurality of verification servers (56, 57). 19. A voice verification substantially as described with reference to the drawings.

Inventors: HARRIS VANCE, HARRIS, VANCE
Applicants: BUY TEL INNOVATIONS LTD, HARRIS VANCE, BUY-TEL INNOVATIONS LIMITED, HARRIS, VANCE
Application year: 2000
Main classification: G10L17
IPC codes: G10L13, G10L15, G10L17, H04M3, H04M7