The present invention relates generally to communications systems and, more particularly, to an operational support system that allows for communication service attributes to be updated through the use of a lightweight directory access protocol (LDAP) directory server.
Telecommunications service providers continually increase the number of services and products they offer to customers. A recent trend, for example, is a desire to offer broadband, wireless, and Internet services. As competition increases, service providers must provide an increased level of support for these advanced data services while keeping costs down.
Service providers also desire the ability to allow users (e.g., system administrators, engineers, and customers) to modify attributes associated with these advanced data services and to implement these modifications in near real time. By way of example, an attribute may relate to how Voice over Internet Protocol (VoIP) calls are routed to and from a customer. To ensure that calls are processed correctly after modifications have been made, it is important that the devices used for processing the calls, such as a redirect server, contain the most up to date information. When a redirect server experiences a fault or is taken off-line for some period of time, the redirect server will not contain any updates (or modification) made during this period.
Accordingly, there is a need in the art for a system or method that ensures that redirect servers contain the most up to date information.
Systems and methods consistent with the principles of this invention address this and other needs by providing an operational support system that ensures that redirect servers are kept up to date with the most recent attributes for processing calls in an Internet Protocol (IP) communications network.
In an implementation consistent with the present invention, a system that processes calls in an IP communications network is disclosed. The system includes an LDAP database, an LDAP sever, and a redirect server. The LDAP database stores a group of IP communication service attributes. The LDAP server receives a request for a database update, extracts the group of IP communication service attributes from the LDAP database, and transfers the extracted IP communication service attributes to the redirect server. The redirect server stores the extracted IP communication service attributes and processes a call using the stored IP communication service attributes.
In another implementation consistent with the present invention, a method for updating a redirect server storing a group of records is disclosed. The method includes sending a request for a partial database update to an LDAP server, where the LDAP server is associated with a database that stores a group of records that corresponds to the group of records stored by the redirect server. The method further includes comparing each of the records stored at the redirect server to the corresponding records stored in the database, extracting records from the database that differ from the corresponding records stored at the redirect server, transferring the extracted records to the redirect server, and storing the extracted records at the redirect server.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an embodiment of the invention and, together with the description, explain the invention. In the drawings,
The following detailed description of implementations consistent with the present invention refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims and equivalents.
Systems and methods consistent with the principles of this invention provide an operational support system that ensures that redirect servers are kept up to date with the most recent attributes for processing calls in an IP communications network.
The network 110 may include, for example, the Internet, an intranet, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a public switched telephone network (PSTN), and/or some other similar type of network. In fact, the network 110 may include any type of network or combination of networks that permits routing of information from a particular source to a particular destination.
The user devices 120 may include a type of computer system, such as a mainframe, minicomputer, or personal computer, a type of telephone system, such as a POTS telephone or a session initiation protocol (SIP) telephone, and/or some other similar type of device that is capable of transmitting and receiving information to/from the network 110. The user device 120 may connect to the network via any conventional technique, such as a wired, wireless, or optical connection.
The processor 220 may include any type of conventional processor or microprocessor that interprets and executes instructions. The memory 230 may include a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by the processor 220. The memory 230 may also be used to store temporary variables or other intermediate information during execution of instructions by processor 220.
The ROM 240 may include a conventional ROM device and/or another type of static storage device that stores static information and instructions for the processor 220. The storage device 250 may include a magnetic disk or optical disk and its corresponding drive and/or some other type of magnetic or optical recording medium and its corresponding drive for storing information and/or instructions.
The input device 260 may include any conventional mechanism or combination of mechanisms that permits an operator to input information to the user device 120, such as a keyboard, a mouse, a microphone, a pen, a biometric input device, such as voice recognition device, etc. The output device 270 may include any conventional mechanism or combination of mechanisms that outputs information to the operator, including a display, a printer, a speaker, etc.
The communication interface 280 may include any transceiver-like mechanism that enables the user device 120 to communicate with other devices and/or systems, such as OSS 130. For example, the communication interface 280 may include a modem or an Ethernet interface to a network.
Returning to
The process management system 310 acts as the backbone to the OSS 130 by providing graphical process automation, data transformation, event management, and flexible connectors for interfacing with OSS components. In one implementation consistent with the present invention, the process management system 310 uses a Common Object Request Broker Architecture (CORBA) based publish-and-subscribe messaging middleware to integrate the different components of the OSS 130. Other techniques for integrating the different components of the OSS 130 may alternatively be used, such as eXtensible Markup Language (XML) or Enterprise JavaBeans (EJB). The process management system 310 may, for example, be implemented using Vitria Technology Inc.'s BusinessWare software system.
The network interface 320 provides a graphical user interface that allows users (e.g., customers, engineers, account teams, and the like) to access the components of the OSS 130. The network interface 320 may include commercial off the shelf (COTS) software or hardware packages, such as Siteminder® by Netegrity, Inc. and/or iPlanet™ by Sun Microsystems, Inc., custom software or hardware, or a combination of custom software/hardware and COTS software/hardware.
Via the network interface 320, customers may, for example, request that service be connected or disconnected, monitor or change network or user settings, obtain reports, and perform e-billing, account management, and trouble reporting and tracking functions in a real time manner. The network interface 320 may, for example, allow engineers to submit transactions to control and configure network elements and services in a real time manner. The network interface 320 may, for example, allow account teams to manage account creations and cancellations, generate sub-accounts from master accounts, access current account data, and access historical account data. As will be described in additional detail below, the network interface 320 allows the service attributes associated with the IPCOM unit 370 to be configured and controlled remotely, such as over the Internet.
The network interface 320 authenticates users and controls actions that authenticated users are allowed to execute in the OSS 130. In one implementation consistent with the present invention, the network interface 320 allows users access to the components of the OSS 130 via a single sign-on technique. This single sign-on eliminates the need for users to sign in (or authenticate themselves) in order to access different components of the OSS 130. Once authenticated, users may access those components of the OSS 130 to which they have been provided authorization.
The integrated applications 330 may include, for example, a data warehouse 331, an operational data store (ODS) 332, a lightweight directory access protocol (LDAP) based server 333, an LDAP database 334, a fault management unit 335, a data collection unit 336, a billing unit 337 and a reporting unit 338. The data warehouse 331 may include one or more separate databases for storing data. The data warehouse 331 acts as a repository for service order, account, usage and performance data. In one implementation, the data warehouse 331 may be implemented as a relational database management system (RDBMS) and may include a server (not shown) that controls access to the data warehouse 331.
The ODS 332 may also include one or more separate databases for storing data. The ODS 332 temporarily stores data that is used in the course of fulfilling, for example, account creation, service order management, and network provisioning operations. The ODS 332 also stores authentication and authorization data. This data defines users' roles and privileges. Like the data warehouse 331, the ODS 332 may be a RDBMS and may include a server (not shown) that controls access to the ODS 332.
The LDAP server 333 may be a general directory server that controls access to the LDAP database 334. The LDAP database 334 may be an LDAP-based repository that stores information associated with users in a hierarchical, tree-like structure. For example, the LDAP database 334 may store attributes for a user that may include preferences associated with the following exemplary services: call blocking, follow-me, call forwarding, voice mail, conference calling, single line extension, call screening, quality of service, class of service, dial plan restrictions, dynamic registration, secondary directory number and call transfer. The LDAP database 334 may store this information as one or more directory entries for each user. Each directory entry may include an identifier associated with the user and a collection of attributes associated with the user. Each of the attributes may include a type and one or more values that identify the user's settings associated with that type. In this manner, the LDAP server 333 and LDAP database 334 provide a system that enables the user's preferences regarding various services to be stored, searched, updated and retrieved in a quick and efficient manner.
The LDAP server 333 and LDAP database 334 are shown as separate devices. It should be understood, however, that these two devices may both be part of the same directory server in implementations consistent with the present invention. Additional information regarding LDAP can be found in W. Yeong et al., “Lightweight Directory Access Protocol,” RFC 1777, March 1995, which is incorporated herein by reference.
The fault management unit 335 monitors and manages the operation of the OSS 130. The fault management unit 335 may receive information from every device, computer and application in the OSS 130 via the process management system 130. In situations where a fault has been detected, the fault management unit 335 may transmit a trouble ticket identifying the fault to the appropriate system administrator.
The data collection unit 336 collects customer usage and performance data for the devices supported by the OSS 130, transforms the data, if necessary, and passes the data on to the appropriate device, such as the billing unit 337. In one implementation, the data collection unit 336 utilizes a hierarchical architecture, having a centralized manager that defines and manages collection and data transformation schemas. Individual, lower level gatherers interface with source targets.
The billing unit 337 receives customer usage and performance data from the data collection unit 336 and generates bills in a well-known manner based thereon. The billing unit 337 may be configured with a variety of rating rules and plans and may provide mechanisms to manage and create rating plans, as well as mechanisms for building revenue reports and generating billing reports. The rating rules may be customized based on a particular customer's requirements or generalized. The rating rules may include traditional telephony styled rating rules that include time-of-day, day-of-week, distance-based, flat rate, non-recurring, and recurring on a definably regular basis, such as weekly, bi-weekly, monthly, etc., ratings. In an exemplary implementation of the present invention, the billing unit 337 may also provide bonus points, airline miles, and other incentive items as part of the rules-based rating and billing service.
Billing unit 337 may provide revenue and billing reports to authorized parties. Billing unit 337 may allow customers to access previous invoices and view current charges not yet billed. In an exemplary implementation consistent with the present invention, billing unit 337 may transfer rated events and summary records into other billing and revenue systems. For example, billing unit 337 may receive and transfer billing information or event information to a legacy billing system (i.e., an existing billing system) that generates the actual bill. In alternative implementations, billing unit 337 may provide hard copy bills and/or provide electronic bills to a customer. In this implementation, billing unit 337 may be configured to perform electronic payment handling.
As customer orders and accounts are created or modified through normal business functions, the OSS 130 keeps the billing unit 337 up to date in a real time manner via the process management system 310. Authorized parties may also extract real time data from the billing unit 337.
The reporting unit 338 may interact with various components of the OSS 130, such as the ODS 332 and billing unit 337, to provide users (i.e., customers, engineers, and accountants) with the ability to obtain reports based on real time data. The reports may include, for example, billing reports, reports regarding the usage and/or performance of the network, etc.
The traditional telephony systems 340 may include one or more components that are typically used in a telecommunications network. In one implementation, the traditional telephony systems 340 include one or more legacy systems, such as an order entry system, provisioning system, billing system, and the like.
The voice portal unit 350 provides a variety of information services to subscribers. These services may include, for example, banking, brokerage, and financial services, travel and entertainment services, distribution and shipping services, insurance services, health and pharmaceutical services, manufacturing services, and the like. The voice portal unit 350 may store subscriber profiles to determine a subscriber's device preference (e.g., a cellular telephone, a personal digital assistant, a paging device, and the like) and may also track a subscriber's access to the services for billing purposes.
The web center 360 acts as a virtual call center by queuing, routing, and distributing communications from any first location to an appropriate agent at any second location. The web center 360 allows agents to handle multiple mediums (e.g., inbound telephone calls, faxes, e-mails, voicemail, VoIP transactions, etc.) via a single browser-based interface.
The IPCOM unit 370 may include one or more devices that provide VoIP services to subscribers. The subscribers may make and receive calls via an IP communications network using, for example, session initiation protocol (SIP) telephones. The IPCOM unit 370 may support the following exemplary services: follow me, call blocking, call forwarding, voice mail, conference calling, single line extension, call screening, quality of service, class of service, dial-plan restrictions, dynamic registration, secondary directory number, and call transfer. As described above, customers may set or change attributes associated with these features via the network interface 320.
The vBNS+ unit 380 provides the IP infrastructure for the IP communications network. The vBNS+ unit 380 may include a group of routers that route packets in the network. The non-integrated applications 390 may include, for example, a security unit, a trouble ticketing unit, and a fault manager. The security unit may include one or more firewalls for securing the network interface 320, telephone equipment (e.g., PBX, switch, and redirect server), and network operations. The trouble ticketing unit manages the issuance and resolution of trouble tickets. The fault manager monitors the hardware components of the OSS 130.
The processor 420 may include any type of conventional processor or microprocessor that interprets and executes instructions. The memory 430 may include a RAM or another type of dynamic storage device that stores information and instructions for execution by the processor 420; a ROM or another type of static storage device that stores static information and instructions for use by the processor 420; and/or some type of magnetic or optical recording medium and its corresponding drive.
The input device 440 may include any conventional mechanism or combination of mechanisms that permits an operator to input information to the process management system 310, such as a keyboard, a mouse, a pen, a biometric mechanism, and the like. The output device 450 may include any conventional mechanism or combination of mechanisms that outputs information to the operator, including a display, a printer, a speaker, etc. The communication interface 460 may include any transceiver-like mechanism that enables the process management system 310 to communicate with other devices and/or systems, such as the network interface 320, integrated applications 330, traditional telephony systems 340, etc. via a wired, wireless, or optical connection.
Execution of the sequences of instructions contained in a computer-readable medium, such as memory 430, causes processor 420 to implement the functional operations described below. In alternative embodiments, hardwired circuitry may be used in place of or in combination with software instructions to implement the present invention. Thus, the present invention is not limited to any specific combination of hardware circuitry and software.
The processor automator 510 includes a modeling tool that allows event processing to be visually modeled by engineers and product development analysts. The process automator 510 can then execute these models to create an automated business process. The analyzer 520 provides on-going and real time monitoring of the components of the OSS 130. The analyzer 520 delivers reports, history, and trending on events processed through the process management system 310.
The connectors 530 include a group of customized rules that allows the components of the OSS 130 to interact and communicate with the process management system 310. A unique connector 530 may be established for each component in the OSS 130. As new components are added to the OSS 130, new connectors 530 are established to allow the new components to communicate with the existing components of the OSS 130. Once the connectors 530 have been established, the OSS components may communicate with the process management system 310 via standard messaging or through full publish/subscribe processing. The transformer 540 inspects data received by the connectors 530. The transformer 540 may also transform the data received by the connectors 530, if necessary, prior to the data being transferred on to its destination.
The voice portal application servers 620 may include one or more servers that interact with the XPM unit 610 to provide, for example, banking, brokerage, and financial services, travel and entertainment services, distribution and shipping services, insurance services, health and pharmaceutical services, manufacturing services, and the like. Voice portal application servers 620 may also provide data collection unit 336 with information regarding what services are accessed and by whom. The data collection unit 336 may then pass this information on to the billing unit 337 for billing purposes. The voice portal application servers 620 may be located at the OSS 130 or distributed throughout the network 110. The customer directories 630 may store information relating to the services provided by the voice portal application servers 620. For example, the customer directories 630 may store stock quotes, current weather forecasts, real time sports scores, etc.
The CPE enterprise gateways 820 may include one or more gateways for linking customer systems to the IP communications network. The CPE enterprise gateways 820 may, for example, connect to a customer's PBX and convert time division multiplexed (TDM) voice data into VoIP packets and voice signaling into SIP messages. The network gateways 830 include one or more gateways for linking the IP communications network to the PSTN in a well-known manner. The redirect server 810, CPE enterprise gateways 820, and network gateways 830 track customer access and transmit this customer access data to the data collection unit 336 for billing purposes.
The foregoing description of the OSS 130 provides an overview of the components of the OSS 130. A more detailed description of the present invention is provided below.
Some of the products and services supported by the OSS 130 enable various users (e.g., customers, engineers, accounting personnel, etc.) to submit additions, cancellations, and updates to services offered by the OSS 130. It is important that these changes be made available in near real time. The present invention is directed to systems and methods for ensuring that the redirect server 810 contains the most recent service attributes for processing calls in the IP communications network.
Users may submit an addition, cancellation, or update to an attribute associated with an IP communications service via the network interface 320. The network interface 320 forwards the new data to the process management system 310, which writes the new data simultaneously to the warehouse 331 and the ODS 332. The process management system 310 also acts as a receiver for data coming back out of the ODS 332 in the form of formatted provisioning and configuration records destined for delivery to the redirect server 810. After the process management system 310 receives confirmation that the redirect server 810 has been updated with the new data, the process management system 310 takes a copy of the records transmitted to the redirect server 810 and updates the LDAP database 334 with the new data. In this way, the process management system 310 ensures that the LDAP database 334 has the latest information.
When a new redirect server 810 is brought on-line, it is important that the new redirect server 810 contain the most recent IP communications service information.
Upon receipt of the update request, the LDAP server 333 accesses the LDAP database 334, extracts the records therefrom, and transmits these records to the redirect server 810 [act 1020]. Upon receipt, the redirect server 810 may store the records in database 815 [act 1030]. The redirect server 810 may then be brought on-line [act 1040]. In this way, the OSS 130 ensures that the new redirect server 810 contains the most recent information for processing calls to and from subscribers of the IP communications services.
It is also important to update an existing redirect server 810 when the redirect server 810 experiences a fault or is down for some period of time. In this situation, it is generally not necessary to completely update the redirect server 810. Instead, it may be much faster to provide the redirect server 810 with only those updates that occurred while the redirect server 810 was off-line or down.
Upon receipt of the partial update request, the LDAP server 333 may compare the configuration of the redirect server 810 to the configuration represented in the LDAP database 334 to determine whether any updates have been made while the redirect server 810 was off-line [act 1120]. If the LDAP server 333 identifies any updates, it extracts the updated records from the LDAP database 334 and transmits these updated records to the redirect server 810 [act 1130]. Upon receipt, the redirect server 810 may store these updated records in database 815 [act 1140]. The redirect server 810 may then be brought on-line. In this way, the OSS 130 ensures that the any redirect server 810 that has been off-line for any period of time contains the most recent information for processing calls to and from subscribers of the IP communications services.
It will be appreciated that the comparison operation described above with respect to act 1120 may alternatively be performed by the redirect server 810. In this situation, the LDAP server 333 may transmit the current configuration of the LDAP database 334 to the redirect server 810. If the redirect server 810 determines that updates exist, it may transmit a request for those updated records to the LDAP server 333. The LDAP server 333 may extract the requested records and send them to the redirect server 810 for storage.
Implementations consistent with the present invention provide an operational support system that ensures that redirect servers are kept up to date with the most recent attributes for processing calls in an IP communications network.
The foregoing description of exemplary embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. For example, it will be appreciated that the present invention can be implemented in hardware, software, or a combination of hardware and software. Thus, the present invention is not limited to any specific combination of hardware circuitry and software.
Moreover, while series of acts have been described with respect to
No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used.
The scope of the invention is defined by the claims and their equivalents.
This application claims priority under 35 U.S.C. §119(e) based on U.S. Provisional Application Ser. Nos. 60/276,923, 60/276,953, 60/276,954, and 60/276,955, all filed Mar. 20, 2001, the disclosures of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5572438 | Ehlers et al. | Nov 1996 | A |
5608720 | Biegel et al. | Mar 1997 | A |
5666530 | Clark et al. | Sep 1997 | A |
5758343 | Vigil et al. | May 1998 | A |
5812793 | Shakib et al. | Sep 1998 | A |
5867494 | Krishnaswamy et al. | Feb 1999 | A |
5867495 | Elliott et al. | Feb 1999 | A |
5877759 | Bauer | Mar 1999 | A |
5910981 | Bhagat et al. | Jun 1999 | A |
5999525 | Krishnaswamy et al. | Dec 1999 | A |
5999612 | Dunn et al. | Dec 1999 | A |
5999973 | Glitho et al. | Dec 1999 | A |
6008805 | Land et al. | Dec 1999 | A |
6115741 | Domenikos et al. | Sep 2000 | A |
6125391 | Meltzer et al. | Sep 2000 | A |
6138245 | Son et al. | Oct 2000 | A |
6145001 | Scholl et al. | Nov 2000 | A |
6154743 | Leung et al. | Nov 2000 | A |
6161008 | Lee et al. | Dec 2000 | A |
6175565 | McKinnon et al. | Jan 2001 | B1 |
6175656 | Hoang | Jan 2001 | B1 |
6189033 | Jin et al. | Feb 2001 | B1 |
6192405 | Bunnell | Feb 2001 | B1 |
6192418 | Hale et al. | Feb 2001 | B1 |
6195697 | Bowman-Amuah | Feb 2001 | B1 |
6208986 | Schneck et al. | Mar 2001 | B1 |
6240174 | Silver | May 2001 | B1 |
6282281 | Low | Aug 2001 | B1 |
6330560 | Harrison et al. | Dec 2001 | B1 |
6335927 | Elliott et al. | Jan 2002 | B1 |
6353660 | Burger et al. | Mar 2002 | B1 |
6363421 | Barker et al. | Mar 2002 | B2 |
6373817 | Kung et al. | Apr 2002 | B1 |
6381644 | Munguia et al. | Apr 2002 | B2 |
6393481 | Deo et al. | May 2002 | B1 |
6418324 | Doviak et al. | Jul 2002 | B1 |
6603969 | Vuoristo et al. | Aug 2003 | B1 |
6615223 | Shih et al. | Sep 2003 | B1 |
6628767 | Wellner et al. | Sep 2003 | B1 |
6643670 | Parham et al. | Nov 2003 | B2 |
6718348 | Novak et al. | Apr 2004 | B1 |
6775267 | Kung et al. | Aug 2004 | B1 |
6778544 | Holiday | Aug 2004 | B1 |
6778651 | Jost et al. | Aug 2004 | B1 |
6779118 | Ikudome et al. | Aug 2004 | B1 |
6826173 | Kung et al. | Nov 2004 | B1 |
6856676 | Pirot et al. | Feb 2005 | B1 |
6904460 | Raciborski et al. | Jun 2005 | B1 |
6909708 | Krishnaswamy et al. | Jun 2005 | B1 |
6968209 | Ahlgren et al. | Nov 2005 | B1 |
20010032076 | Kursh | Oct 2001 | A1 |
20010037379 | Livnat | Nov 2001 | A1 |
20010037469 | Gupta et al. | Nov 2001 | A1 |
20010049745 | Schoeffler | Dec 2001 | A1 |
20020023232 | Serani et al. | Feb 2002 | A1 |
20020073207 | Widger et al. | Jun 2002 | A1 |
20020091797 | Wallenius et al. | Jul 2002 | A1 |
20020152319 | Amin et al. | Oct 2002 | A1 |
20030023759 | Littleton et al. | Jan 2003 | A1 |
20030091028 | Chang et al. | May 2003 | A1 |
Number | Date | Country |
---|---|---|
9722209 | Jun 1997 | WO |
9853582 | Nov 1998 | WO |
WO-0014633 | Mar 2000 | WO |
WO-0078004 | Dec 2000 | WO |
WO-0101293 | Jan 2001 | WO |
Entry |
---|
“Netscape ECXpert Data Sheet”, Netscape.com, copyright 2000, pp. 1-5. |
Putman, Janis, “Distribution Transparencies for Integrated System”, MITRE Corp., Feb. 2000, pp. 1-18. |
W. Yeong et al., “Lightweight Directory Access Protocol”, RDX 1777, Mar. 1995, pp. 1-16. |
“Businessware Overview”, www.vitria.com, pp. 1-2, print date Mar. 14, 2002. |
“Netegrity SiteMinder 4.6.”, www.netegrity.com, p. 1, print date Mar. 14, 2002. |
“The iPlanet Web Server Keeps Data Safe”, www.iplanet.com, p. 1, print date Mar. 14, 2002. |
Snyder, “Using LDAP for Thin Client Configuration,” XP002224070, Jun. 5, 1998. |
Number | Date | Country | |
---|---|---|---|
20020136222 A1 | Sep 2002 | US |
Number | Date | Country | |
---|---|---|---|
60276923 | Mar 2001 | US | |
60276953 | Mar 2001 | US | |
60276954 | Mar 2001 | US | |
60276955 | Mar 2001 | US |