Abstract:
An advanced resource management system for an interactive voice response (IVR) service node allows multiple network ports to be served by one application port thereby increasing efficiency. An IVR with a plurality of network ports can now be efficiently configured with a plurality of application ports with varying capabilities. The resource management system determines which of the plurality of application ports on the service node has the capability to service an incoming call and then dynamically assigns a time slot to one of the network ports and to one of application ports to perform IVR services. The dynamic allocation of application ports to network ports also allows for a more simplified connection of the service node to the telecommunications network in which it is deployed.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is related to commonly-owned, co-pending applications filed concurrently herewith, entitled: 
     “Advanced Interactive Voice Response Service Node” having application Ser. No. 09/073,880, filed May 7, 1998; 
     “Telecommunications Architecture for Call Center Services Using Advanced Interactive Voice, Response Service Nodes” having application Ser. No. 09/074,096, filed May 7, 1998; 
     “Communications Signaling Gateway and System for an Advanced Service Node” having application Ser. No. 09/074,072, filed May 7, 1998; 
     “Service Provisioning System for Interactive Voice Response Services” having application Ser. No. 09/074,050, filed May 7, 1998; 
     “Call and Circuit State Machine for a Transaction Control Layer of a Communications Signaling Gateway” having application Ser. No. 09/073,885, filed May 7, 1998; 
     “System for Executing Advanced Interactive Voice Response Services Using Service-Independent Building Blocks” having applcation Ser. No. 09/073,087, filed May 7, 1998. 
     The above applications are incorporated herein by reference in their entirety. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates generally to computer telephony, and more particularly to providing an efficient platform for advanced interactive voice 
     2. Related Art 
     Interactive Voice Response (IVR) platforms, also commonly known as Voice Response Units (VRUs) or Audio Response Units (ARUs), are common in the telecommunications industry. It is common for a business, who is a customer of an IVR service provider, to use IVR services in conjunction with call center services. Interactive voice response service nodes are commonly used for customer call center routing. They perform processing of customer applications, based on one or more criteria selected by the customer, such as the dialed number of a call, Dialed Number Identification Service (DNIS), Automatic Number Identification (ANI), time of day, caller-entered digits, geographic point of call origin, etc. The IVR service nodes may also perform other IVR services such as automated servicing of callers for customers, caller surveys, telemarketing, and call parking until a call center has an available resource (e.g., a customer service agent). 
     While there are many types of IVR service nodes each with variations in architecture and features, they typically include a network audio server that is connected, via voice trunks, to a bridging switch on a switch network. The network audio server typically contains many network ports to receive calls and application ports to process the calls. However, all currently available IVR service nodes have several limitations. 
     One limitation of conventional IVR service nodes, in particular, is that they have limited application processing capability. Customers increasingly demand more advanced IVR applications that require specialized application ports. The IVR service nodes include many different types of application ports to handle different customer&#39;s IVR applications. For example, an application port can be a voice port that is capable only of playing recorded messages and accepting Dual Tone Multi Frequency (DTMF) input; a speaker-independent voice recognition (SIVR) port; or a speaker-dependent voice recognition (SDVR) port. The latter two ports have more capabilities and thus are generally more expensive. Consequently, an IVR service provider will limit their number on a IVR service node. Furthermore, conventional IVR service nodes have their application ports hardwired to network ports. Thus a call that requires SIVR or SDVR could only be accepted on certain network ports hardwired to SIVR or SDVR application ports, respectively. If those ports are busy, but a voice port is available, the call has to be blocked or held up until an SIVR or SDVR application port becomes available. 
     The above described limitations result in network inefficiencies. Therefore, what is needed is an advanced resource management system for interactive voice response service nodes. The advanced resource management system should allow, through dynamic allocation, any application port to be applied to any network port to service a call to the IVR service node. 
     SUMMARY OF THE INVENTION 
     The present invention is directed to a system and method for an interactive voice response service node with advanced resource management. The method includes interfacing the resource management system with a plurality of network and application ports located on the service node. When a call comes into the service node, via the network ports, the advanced management resource system determines which of the plurality of application ports has the capability to service the call. Each of the plurality of application ports may include different capabilities (e.g., SIVR functionality) to service different types of calls. The system then dynamically assigns one of the plurality of time slots to one of the plurality of network ports and to one of the plurality of application ports. Allocating the same time slot to an application port and to a network port connects the call for IVR handling. 
     An advantage of the present invention is that, unlike traditional service nodes, the application ports are not hardwired to the network ports. This allows a more efficient handling of calls by a service node. For example, a call requiring only voice application port capabilities may come into any network port on the service node and be handled by any available application port. This also allows calls needing special application port capabilities to be received by any network port without being blocked from the service node. 
     Yet another advantage of the present invention is that network flexibility is improved. Because any network port may be dynamically assigned to any application port within an, any network port may now receive a call needing an advanced capability (e.g., SIVR) application port. Therefore a single trunk group may route calls to the service node from the telecommunications network in which it is deployed. Further features and advantages of the present invention as well as the structure and operation of various embodiments of the invention are described in detail below with reference to the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE FIGURES 
     The present invention will be described with reference to the accompanying drawings, wherein: 
     FIG. 1 is a block diagram illustrating the systems architecture of an advanced IVR service node for use in the present invention; 
     FIG. 2 is a block diagram illustrating a logical architecture of the present invention according to a preferred embodiment; 
     FIG. 3 illustrates a typical network-to-application port assignment process in accordance with a preferred embodiment of the present invention; 
     FIG. 4 is a timing diagram that shows the use of a network port and an application port to service a call in accordance with a preferred embodiment of the present invention; and 
     FIG. 5 is a block diagram of an exemplary computer system useful for implementing the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Overview 
     The present invention is directed to a resource management system for an advanced interactive voice response (IVR) service platform. As the next generation of service nodes for providing IVR services is being implemented, the resource management system of the present invention will preferably maximize the efficiency of these nodes. In a preferred embodiment of the present invention, a customer of an IVR service provider may have multiple call centers distributed geographically, all of which are accessed by a single toll-free number. A call to the toll free number is routed by a switch network to an advanced IVR service node, one such node referred to as a next generation service node (NGSN). 
     The NGSN will then perform customer IVR applications, which may prompt the caller for certain information and collect other information (e.g., dialed number, caller ANI, etc.) from the network. The NGSN will first determine what type of application port is necessary to handle a specific call and then connect the call from the network port to a particular application port. Furthermore, the NGSN may eventually transfer the call to another destination (e.g., a call center). The objective is to handle customer&#39;s calls and perform IVR services through efficient management of NGSN resources in routing calls to and from the network and application ports. 
     The present invention is described in terms of the above example environment. This is for convenience only and is not intended to limit the application of the present invention. In fact, after reading the following description, it will be apparent to one skilled in the relevant art how to implement the following invention in alternate embodiments. 
     Systems Architecture 
     FIG. 1 is a block diagram illustrating the physical architecture  100  of an advanced IVR service node for use in the present invention. Systems architecture  100  uses a next generation service node (NGSN)  101  to perform IVR services. The NGSN  101  is a computing and telephony platform that operates as an IVR service node in a telecommunications network. It includes a pair of redundant application servers  106  (shown as “AS”  106   a  and  106   b ), a shared disk array  108 , and a plurality of intelligent peripherals  102  (shown as “IP”  102   a - 102   c ). 
     The intelligent peripherals  102  are computers with telephony ports that connect to the network bridging switch  114  via TI voice trunks. The general purpose of intelligent peripherals  102  is to receive calls from the network, provide voice responses to the caller, and collect caller input via DTMF signals or voice recognition. The functions of the intelligent peripherals  102  are controlled by applications on the pair of redundant application servers  106 . In a preferred embodiment, the intelligent peripherals  102  are built using DEC Alpha Voice  1000  computers and the application servers are built using DEC Alpha 8400 computers. 
     The intelligent peripherals  102  and application servers  106  are connected to a NGSN local area network (LAN)  104 , which in a preferred embodiment is comprised of a gigabit Ethernet switch or a FDDI switch. The NGSN LAN  104  is connected to a wide area network (WAN)  112 , which in a preferred embodiment is an Ethernet WAN. The WAN  112  allows multiple NGSN  101  platforms to be connected via a single network. 
     Also connected to the NGSN LAN  104  is a node monitoring and alarming (a.k.a, management) workstation (“Mgt W/S”)  110 . Management workstation  110  collects and stores alarms generated by the application servers  106  and the intelligent peripherals  102 , and provides a user interface to these alarms. It also forwards alarms over the WAN  112 . The management workstation  110  serves as a central collection point of all alarms generated on the NGSN  101 , and forwards them to a central collection point of all alarms generated by the plurality of possible NGSN  101  platforms located on a network connected via WAN  112 . 
     An NGSN  101  platform architecture and functionality are described in further detail in a commonly-owned, co-pending application filed concurrently herewith, entitled “Advanced Interactive Voice Response Service Node” having application Ser. No. 09/074,096. Furthermore, an architecture for a telecommunications network using NGSN  101  is described in detail in a commonly-owned, co-pending application filed concurrently herewith, entitled “Telecommunications Network Architecture for Call Center Services using Advanced Interactive Voice Response Service Nodes” having application Ser. No. 09/074,096. Both commonly-owned, co-pending applications are incorporated herein by reference in their entirety. 
     FIG. 2 is a block diagram illustrating the logical architecture of the resource management system located on each intelligent peripheral  102  according to a preferred embodiment. Intelligent peripheral  102  is connected to bridging switch  114  via a plurality of network ports  202 . Bridging switch  114  provides NGSN  101  with access to a Public Switch Telephone Network (PSTN) (referred to as a “switch network”) (not shown). While three network ports  202   a - 202   c  and logical voice connections to the bridging switch  114  are shown in FIG. 2 for illustrative purposes, in reality there may be several hundred network ports  202  and connections on the intelligent peripheral  102 . Each network port  202  is typically, but not necessarily, a DS-0 port that has been demultiplexed from a DS-3 port. The DS-3 ports supports a DS-3 trunk to the bridging switch  114 . It will be understood by one skilled in the relevant art that the present invention may also be applied to synchronous optical network (SONET) ports demultiplexed from OC-3 ports and converted to electrical signal ports. 
     Intelligent peripheral  102  also includes a plurality of application ports  206 . While three application ports  206   a - 206   c  are shown in FIG. 2 for illustrative purposes, in reality there may be several more. However, in accordance with the present invention, and as a novel and advantageous result of the invention&#39;s resource management technique, there may be far less application ports  206  than network ports  202 . For example, in a preferred embodiment, the intelligent peripheral  102  may have 16 DS-1 connections to the bridging switch  114 , supporting 384 DS-0 network ports  202 , and  48  application ports  206 , for a network-to-application port ratio of 8:1. 
     Application port  206  is a process thread that is used to execute an IVR service application. Execution of an IVR service application is applied to a network port  202 , and may include such processes as playing recorded menus for the caller, accepting caller input via DTMF signals, and accepting caller input via voice recognition. There may be different types of application ports  206 , with different capabilities. For example, application port  206   a  is a voice port (VP) that is capable only of playing recorded messages and accepting DTMF input; application port  206   b  is capable of speaker-independent voice recognition (SIVR); and application port  206   c  is capable of speaker-dependent voice recognition (SDVR). 
     Resource Management Implementation 
     Because application ports  206  with increased capability, such as SDVR, require greater processing, they are more expensive. An IVR service provider will most likely desire to balance the number of application ports  206  with and without greater capability on intelligent peripheral  102  with the requirements of incoming calls. This balancing will preferably optimize an intelligent peripheral  102  platform. The present invention increases an IVR service provider&#39;s ability to do this by allowing any application port  206  to be applied to any network port  202 . Thus, a call that requires only a voice port may be accepted by the intelligent peripheral  102  on any network port  202 , as can a call that requires SIVR. This is one way the present invention increases the resource efficiency of an intelligent peripheral  102 . In accordance with conventional systems, which hardwires each of the application ports  206  to a corresponding network port  202 , a call that required SIVR could only be accepted on certain network ports  202 . If those ports were busy, but a voice port was available, the call still had to be blocked or held up until an SIVR network port became available. 
     The application ports  206  and network ports  202  are connected by a time division multiplexing (TDM) switching bus architecture  204 . In a preferred embodiment, this is provided by Dialogic Corporation&#39;s (Parsippany, N.J.) Dialogic® SCbus which is well known in the relevant art. The SCbus  204  is a software/hardware product that is defined as part of Dialogic&#39;s Signal Computing System Architecture (SCSA). It enables the switching of process communications between application ports  206  and network ports  202 . 
     In a preferred embodiment, each network port  202  is assigned a time slot in the SCbus  204 . Application ports  206  are also assigned time slots. A time slot is used to communicate between one of the network ports  202  and one of the application ports  206 . Each port has the capability to listen to any time slot, so that any of the network ports  202  or the application ports  206  may pass data to any other port  202  or port  206 . This is possible when two ports are assigned to the same time slot. 
     Time slot assignments are managed by a resource management  200  process. Resource management  200  assigns the network ports  202  and the application ports  206  to time slots on a dynamic basis. Any of the network ports  202  or the application ports  206  may be assigned to any time slot. Thus, one of the application ports  206  may be dynamically assigned to one of the network ports  202 , via common time slot assignment, for the duration of time that the network port  202  requires the use of the application port  206 . 
     FIG. 3 illustrates a typical network-to-application port assignment process used by resource management  200 . FIG. 4 is a timing diagram that shows the use of network ports  202  and application ports  206  for a call given the port assignment in FIG.  3 . At time t 0 , an inbound call is received by the intelligent peripheral  102  on the network port  202   a . This call is for a simple IVR service that requires a voice port (VP application port  206   a ). Resource management  200  links network port  202   a  with application port  206   a , via common time slot assignment. This is represented as step  1  in FIG.  3 . The inbound call on network port  202   a  represents a first leg (“Leg  1 ”) of a call. This is the leg that extends the call from a call originator, through the telecommunications network, to the NGSN  101  node. 
     An IVR service application is performed for the call, via the application port  206   a . During this processing, the service application determines that the call needs to be transferred to another destination. At time t 0 , the intelligent peripheral  102  originates a call to the destination via the bridging switch  114 . The network port  202   b  is used to place the outbound call. Resource management  200  links the network port  202   a  with the network port  202   b  to complete the call. This is represented as step  2  in FIG.  3 . The outbound call represents Leg  2  of the call. At time t 0 , the application port  206   a  is no longer needed, and drops off the call (resource management  200  deassigns application port  206   a  from the time slot). The extended call continues until time t 2 . During this time, application port  206   a  is free to service another network port  202 . In step  3  in FIG. 3, resource management  200  links the application port  206   a  to the network port  202   c  to service another call. 
     In a typical call, one of the application ports  206  is needed only for about the first 30 seconds, as represented in FIG. 4 by the t 0 -t 1  time span. The extended call lasts for an average of about 4 minutes (t 1 -t 2 ). With average call times in this range, an network-to-application port ratio of about 8:1 may be maintained. 
     Typically, one of the network ports  202  will require one of the application ports  206  for the initial part of a call. It is desirable to ensure that one of the application ports  206  will be available to one of the network ports  202  when a call is first received. If the intelligent peripheral  102  includes  384  network ports  202  and  48  application ports  206  ( 8 : 1  ratio), there is a need to avoid receiving more than 48 inbound calls at once, thereby overloading the capacity of all the application ports  206 . To do this, NGSN  101  controls inbound calls at the bridging switch  114 . The NGSN  101  will tell the bridging switch  114  when it can accept an inbound call. The NGSN  101  will not allow the bridging switch  114  to send an inbound call until at least one of the application ports  206  is available. An interface and signaling between the bridging switch  114  and NGSN to accomplish this are described in further detail in a commonly-owned, application filed concurrently herewith, entitled “Communications Signaling Gateway and System for an Advanced Service Node” having application Ser. No. 09/074,072, which is incorporated herein by reference in its entirety. 
     Environment 
     The present invention (i.e., the resource management  200  process or any part thereof) may be implemented using hardware, software or a combination thereof and may be implemented in a computer system or other processing system. In fact, in one embodiment, the invention is directed toward a computer system capable of carrying out the functionality described herein. An example of a computer system  500  is shown in FIG.  5 . The computer system  500  includes one or more processors, such as processor  504 . The processor  504  is connected to a communication bus  506 . Various software embodiments are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures. 
     Computer system  500  also includes a main memory  508 , preferably random access memory (RAM), and may also include a secondary memory  510 . The secondary memory  510  may include, for example, a hard disk drive  512  and/or a removable storage drive  514 , representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive  514  reads from and/or writes to a removable storage unit  518  in a well known manner. Removable storage unit  518 , represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive  514 . As will be appreciated, the removable storage unit  518  includes a computer usable storage medium having stored therein computer software and/or data. 
     In alternative embodiments, secondary memory  510  may include other similar means for allowing computer programs or other instructions to be loaded into computer system  500 . Such means may include, for example, a removable storage unit  522  and an interface  520 . Examples of such may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units  522  and interfaces  520  which allow software and data to be transferred from the removable storage unit  522  to computer system  500 . 
     Computer system  500  may also include a communications interface  524 . Communications interface  524  allows software and data to be transferred between computer system  500  and external devices. Examples of communications interface  524  may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc. Software and data transferred via communications interface  524  are in the form of signals  528  which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface  524 . These signals  528  are provided to communications interface  524  via a communications path (i.e., channel)  526 . This channel  526  carries signals  528  and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels. 
     In this document, the terms “computer program medium” and “computer usable medium” are used to generally refer to media such as removable storage drive  514 , a hard disk installed in hard disk drive  512 , and signals  528 . These computer program products are means for providing software to computer system  500 . 
     Computer programs (also called computer control logic) are stored in main memory  508  and/or secondary memory  510 . Computer programs may also be received via communications interface  524 . Such computer programs, when executed, enable the computer system  500  to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor  504  to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system  500 . 
     In an embodiment where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system  500  using removable storage drive  514 , hard drive  512  or communications interface  524 . The control logic (software), when executed by the processor  504 , causes the processor  504  to perform the functions of the invention as described herein. 
     In another embodiment, the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s). 
     In yet another embodiment, the invention is implemented using a combination of both hardware and software. 
     Conclusion 
     While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Thus the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.