Telephone number resource manager user interface and feature control

A method may include storing a database including a plurality of subscriber identifiers, wherein each subscriber identifier is associated with a telephone number and a subscriber name and address. Each subscriber identifier may be unique to the corresponding subscriber name and address. The method may include storing a database including a plurality of customer identifiers. Each customer identifier may be associated with one of the subscriber identifier and a customer name and address. The method may further include receiving an update to the subscriber name or address associated with one of the telephone numbers and associating a new subscriber identifier with the updated subscriber name or address. The method may further include associating the new subscriber identifier with one of the customer identifiers.

BACKGROUND INFORMATION

In some instances, network providers sell telephone service directly to end users or subscribers. In other instances, a network provider may provide a group or block of numbers to a wholesaler who then sells the network services to end users or subscribers. In this latter instance, the wholesaler has a direct relationship with the subscriber. The network provider may also have a relationship with the subscriber, as the network provider may know information about the subscriber in order to provide the services.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description is exemplary and explanatory only and is not restrictive of the invention, as claimed.

As mentioned above, in some instances, a network provider may provide a group or block of numbers to a wholesaler who then sells the network services to the end user or subscriber. In this instance, the wholesaler has a direct relationship with the subscriber. The network provider may also have a relationship with the subscriber, as the network provider may know information about the subscriber in order to provide the services. Embodiments described herein allow for the network provider to track many different subscribers as a single customer. Such tracking of subscribers allows for the network provider to serve the customer better.

Embodiments described herein also allow for the network provider to display a menu of options that provide an operator (e.g., a person who manages a telephone number resource system) with features. The features displayed may be limited to those features for which the operator has privileges. The features displayed may also be limited to those features associated with countries in which the operator is allowed to operate. For example, as shown inFIG. 1, an operator named Roger (as identified in a dialog box102) is presented with a menu104of options on a display126, including the highlighted option of “Edit TN Info.” The menu104of options may be determined by the selected country (e.g., Germany) and the privileges or roles associated with the operator Roger.

FIG. 2is a block diagram of an exemplary network200for implementing embodiments described herein. Network200may include a public switch telephone network (PSTN)202, a network204, switches206and207, intermediary equipment (IE)208and209, telephones210-1through210-N (collectively phones210, individually phone210-x), telephones211-1through211-M (collectively phones211), a controller212, a wireless switch214, a mobile device216, a telephone218, a computer224, and display126.

Phones210may be associated with a first customer premises222-1and a PBX or Centrex group assigned to a first block of telephone numbers (TNs). Phones210may include any type of residential, business, and/or mobile phone that may be connected to PSTN202through intermediary equipment208and switch206. In one embodiment, phones210may each be associated with one or more TNs in the block of TNs associated with the PBX or Centrex group associated with customer premises222-1.

Intermediary equipment208may include a telephone network box, telephone poles, an entrance bridge, a digital concentrator, fiber-optic cables, digital equipment, etc. Switch206may include a class 5 telephone switch, such as a 5ESS switch made by Alcatel-Lucent. Controller212may provide administration and management of switch206. Switch206may include switching modules to switch signals (e.g., telephone calls) by interpreting dialed digits and connecting calls between telephones, for example.

Controller212may define groups or blocks of TNs to assign to subscribers (e.g., in PBXs and/or Centrex groups). Controller212may also associate different subscribers to a single customer. Thus, should one customer be associated with multiple subscribers, the network provider (e.g., an operator working at the network provider) may keep track of such associations. Computer224may be coupled to display126. Computer224may allow an operator to access and edit information stored in controller212, such as information about TNs, subscribers, and customers. Controller212in combination with computer224and display126may allow the operator to view a menu of options, such as the menu of options shown inFIG. 1.

Wireless switch214may control traffic and signaling with a mobile device (e.g., mobile device216). Wireless switch214may include an antenna to transmit and receive signals to and from mobile device216. Mobile device216may include a mobile phone, a tablet computer, a laptop, or another portable communication device. Even though mobile device216is not in customer premises222-1, it may still be associated with the same PBX or Centrex group as phones210, for example.

Network204may include one or more packet switched networks, such as an Internet protocol (IP) based network, a local area network (LAN), a wide area network (WAN), a personal area network (PAN), an intranet, the Internet, or another type of network that is capable of transmitting data. Network204may also include a circuit-switched network, such as a PSTN (similar to PSTN202) for providing telephone services for traditional telephones. Phone218may be coupled to network204and may use a packet-based protocol for establishing calls and transmitting media (e.g., session initiation protocol (SIP) and/or real-time protocol (RTP)). While phone218may not be physically located at customer premises222-1, phone218may be associated with the same PBX or Centrex group as phones210, for example.

Phones211may be associated with a second customer premises222-2and a PBX or Centrex group assigned to a second block of TNs different than the block of TNs associated with first customer premises222-1. Phones211may be connected to PSTN202through intermediary equipment209and switch207. In one embodiment, phones211may each be associated with one or more TNs in the block of TNs associated with the PBX or Centrex group associated with second customer premises222-2. Phones211, intermediary equipment209, and switch207may be configured and operate similarly to phones210, intermediary equipment208, and switch206discussed above.

The exemplary configuration of devices in network200is illustrated for simplicity. Network200may include more devices, fewer devices, or a different configuration of devices than illustrated inFIG. 1. For example, network200may include thousands or millions of customer premises, each associated with a PBX or Centrex group and telephones. In some embodiments, the functions performed by two or more devices may be performed by any one device. Likewise, in some embodiments, the functions performed by any one device may be performed by multiple devices. Further, the connections shown inFIG. 1are exemplary. In other embodiments, additional connections that are not shown inFIG. 1may exist between devices (e.g., each device may be connected to every other device).

Devices in network200may include one or more computing modules.FIG. 3Ais a block diagram of exemplary components of a computing module300. Computing module300may include a bus310, processing logic220, an input device330, an output device340, a communication interface350, and a memory360. Computing module300may include other components (not shown) that aid in receiving, transmitting, and/or processing data. Moreover, other configurations of components in computing module300are possible.

Bus310includes a path that permits communication among the components of computing module300. Processing logic220may include any type of processor or microprocessor (or families of processors or microprocessors) that interprets and executes instructions. In other embodiments, processing logic220may include an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), etc.

Input device330may allow computing module300to input information (e.g., from an operator or user) into computing module300. Input device330may include a keyboard, a mouse, a pen, a microphone, a remote control, a touch-screen display, etc. Some devices, such as switch206, may be managed remotely (e.g., are “headless”) and may not include a keyboard, etc.

Output device340may output information (e.g., to the operator or user). Output device340may include a display, a printer, a speaker, etc. For example, computer224may include display126that includes a liquid-crystal display (LCD) for displaying menus and content to the operator or user. Headless devices, such as switch206, may be managed remotely and may not include a display, etc.

Input device330and output device340may allow the operator to activate and interact with a particular service or application, such as an application to manage TNs or edit information associated with subscribers and customers. Input device330and output device340may allow the subscriber to receive and view a menu of options and select from the menu options. The menu may allow the subscriber to select various functions or services associated with applications executed by computing module300.

Communication interface350may include a transceiver that enables computing module300to communicate with other devices. Communication interface350in switch206, for example, may include a number of switching modules to perform switching operations by interpreting dialed digits and connecting calls between telephones. Communication interface350may include a transmitter that, for example, converts baseband signals to radio frequency (RF) signals. Communication interface350may include a receiver that, for example, converts RF signals to baseband signals. Communication interface350may be coupled to an antenna for transmitting and receiving signals. Communication interface350may include a network interface card, e.g., an Ethernet or WiFi card, for wired or wireless communications.

Memory360may store, among other things, information and instructions (e.g., applications364and operating system (OS)362) and data (e.g., application data366) for use by processing logic220. Memory360may include a random access memory (RAM) or another type of dynamic storage device, a read-only memory (ROM) device or another type of static storage device. Memory360may include a magnetic or optical recording medium and its corresponding drive (e.g., a hard disk drive).

OS362may include software instructions for managing hardware and software resources of computing module300. For example, OS362may include Unix, Linux, OS X, Solaris, an embedded operating system, etc. Applications364and application data366may provide network services or include applications, depending on the device in which the particular computing module300is found. For example, controller212may include an application to manage TNs, customers, and subscribers.

Computing module300may perform the operations described herein in response to processing logic220executing software instructions contained in a non-transient computer-readable medium, such as memory360. The software instructions may be read into memory360from another computer-readable medium or from another device via communication interface350. The software instructions contained in memory360may cause processing logic220to perform processes that are described herein.

As discussed above, in one embodiment, controller212may control and handle blocks of TNs, information about subscribers, and information about customers. Controller212may also allow an operator to manage such information.FIG. 3Bis a block diagram of exemplary components of controller212(e.g., functions performed by application364in processing logic220or stored in memory360of controller212). Controller212may include a TN table302, a subscriber table304, a customer table306, an operator table308, a role table310, user interface logic312, and customer tracking logic314. Some components shown inFIG. 3Bmay also be stored in other devices in network200. For example, TN table302may also or alternatively be stored in switch206. TN table302, subscriber table304, customer table306, operator table308, and role table310may each also be considered a “database.” Further, tables302,304,306,308, and310may each be stored in a single database or different databases.

TN table302stores information related to telephone numbers, such as the subscriber associated with TNs and the status of the TNs.FIG. 4Ais a diagram of an exemplary TN table302-1. As used here, a “−1” suffix indicates one instance of TN table302or a snapshot of TN table302at a particular time. Other suffixes (e.g., “−2” or “−3”) indicate other instances of TN table302or snapshots of TN table302at different times. For example,FIG. 4Bshows TN table302-2(e.g., TN table302at a different point in time).

A record (e.g., an entry)452-xin TN table302-1may associate a telephone number with a subscriber (e.g., an individual or a company) and may provide the status for the corresponding telephone number. As shown inFIG. 4A, TN table302may include a telephone number field402, a status field404, a subscriber field408, and a history field410. TN table302may include additional, different, or fewer fields than illustrated inFIG. 4A.

TN field402specifies a TN associated with the information stored in the other fields (e.g., fields404-410). An exemplary value in TN field404is “2018917239” in record452-1. While TN field402shows consecutive TNs in records452-1through452-9, the numbers in TN table302-1do not have to be consecutive. For example, a TN may be removed from TN table302-1and returned to a national regulator in charge of distributing telephone numbers.

Status field404specifies the status (e.g., granted, free, available, allocated, working, etc.) A “granted” TN indicates a TN that has been granted to the carrier from a national regulator, for example, but is not yet available for a customer to use. After a TN has been granted to a carrier, information about that TN may be propagated to network switches of other carriers so that when the TN is called, the call will be routed to the correct carrier, for example. An “available” TN indicates a TN that is ready to be assigned or allocated to a customer. An “allocated” or “working” TN indicates a TN that has been assigned to a customer and, when called, rings a telephone, such as telephone210-x.

Subscriber ID field408may include a value to identify (e.g., uniquely identify) a subscriber. TN table302-1specifies that some TNs are associated with the subscriber ID of 58625 (in bold); other TNs are associated with the subscriber ID of 58626 (not in bold); and yet other TNs are not yet associated with a subscriber ID (as indicated with a “-”) (e.g., numbers that are not yet assigned or allocated).

History field410may store historical information about the corresponding TN. For example, history field410may store the periods of time during which the corresponding TN has been allocated, the customer associated with the TN, etc. As such, history field410may store previous customer information to which the TN was previously allocated.

As mentioned above,FIG. 4Bshows TN table302-2(e.g., TN table302at a different point in time). In TN table302-2, the subscriber ID associated with the TN of 2018917240 in record452-2has changed to 58628 (e.g., from 58625 as shown in TN table302-1inFIG. 3A).

Returning toFIG. 3B, subscriber table304may record information about subscribers that are identified in TN table302(e.g., stored in subscriber ID field408).FIG. 5Ais a diagram of an exemplary subscriber table304at one point in time (e.g., subscriber table304-1). Subscriber table304stores information associated with subscriber IDs, such as names and addresses of the subscriber. Subscriber table304may include a subscriber ID field502, a subscriber name field504, a subscriber address field506, and a subscriber type field508.

Subscriber ID field502includes a value that identifies (e.g., uniquely) a subscriber. In one embodiment, a subscriber ID may be unique to the combination of a scriber name, address, and type. Subscriber name field504specifies the name of the subscriber. As shown in subscriber table304-1, subscriber names include CBA Inc., FDE Inc., and GHI Inc., for example. Subscriber address field506specifies the address of the subscriber. Subscriber type field508specifies the type of subscriber, such as “business” or “personal.”

Subscriber table304may include additional, fewer, or a different arrangement of fields than shown inFIG. 5A. For example, subscriber table304may include other information or contact information about a subscriber, such as a contact name of a person associated with a business subscriber ID.

In one embodiment, because the subscriber ID stored in ID field502is unique to the name, address, and type of subscriber, changing any of these values may generate a new subscriber ID for the new name, address, and type combination. For example, as shown inFIG. 5B, when CBA Inc. adds a new location at 760 First Street, Munich, Germany, a new subscriber ID is generated (e.g., 58628 as shown in subscriber table304-2) with the new information. That is, a new subscriber ID is generated even though only an address has been added and the subscriber is the same entity or customer.

In one implementation, a wholesaler may supply some of the information stored in subscriber table304. For example, controller212may include an application program interface (API) that allows a wholesaler to edit or add subscriber information stored in subscriber table304. In this embodiment, the wholesaler may use a computer (such as computer224) to input and/or change information. In another implementation, the network provider may supply some of the information stored in subscriber table304.

Returning toFIG. 3B, customer table306stores information associated with customers,FIG. 6Ais a diagram of an exemplary customer table306at one point in time (e.g., customer table306-1). Customer table306may include a customer ID field602, a customer name field604, a customer address field606, and customer subscriber ID field608. Customer table306may include more, fewer, or a different arrangement of fields than shown in customer table306.

Customer ID field602specifies a value that identifies (e.g., uniquely) a customer. A customer ID may be unique to a customer (e.g., an entity) regardless of its/his/her address (e.g., as compared to a subscriber ID). Customer name field604specifies the name of the customer. Customer address field606specifies the address, or one of the addresses, associated with the customer.

Subscriber ID field608specifies the subscriber IDs that are associated with the corresponding customer ID. For example, customer ID 2685 is associated with subscriber ID 58625 in customer table306-1. A customer ID stored in field602may be associated with more than one subscriber. For example, as shown in customer table306-1inFIG. 6B, the customer ID of 2685 is associated with both subscriber ID 58625 and subscriber ID 58628. As shown in subscriber table304-2(FIG. 5B), these two subscribers (58625 and 58628) are associated with two different addresses.

In one embodiment, customer table306-1inherits customer name information and customer address information from subscriber table304-1. For example, the name and address information associated with customer ID 2685 is the same as the name and address information associated with subscriber ID 58625.

Returning toFIG. 3B, operator table308stores information regarding operators (e.g., users). An operator may use computer224to access and edit information stored in subscriber table304, customer table306, etc.FIG. 7is a diagram of an exemplary operator table308. Operator table308includes an operator ID field702, a country field704, and a role field706. The fields listed for operator table308are exemplary. Operator table308may include additional, fewer, or a different arrangement of fields.

Operator ID field702specifies the ID of an operator or user. For example, as shown in operator table308, operator ID field includes the following IDs: Roger, Mary, John, and Sue, Country field704specifies countries for which the corresponding operator can administer TNs, subscriber information, or customer information in some way. For example, countries specified in field704include France, Germany, the United States, Singapore, Netherlands, United Kingdom, Australia, Switzerland, etc.

Role field706identifies the roles (e.g., groups of features) associated with the corresponding operator ID specified in field702. A feature may include privileges to perform a function, such as editing, deleting, or updating information stored in TN table302, subscriber table304, customer table306, etc. Exemplary roles specified in role field706include “number admin,” “number operator,” and “searcher.” These features associated with these roles are described in more detail below.

Returning toFIG. 3B, feature table310stores information about the features, functions, or screens associated with different roles of operators.FIG. 8is a diagram of an exemplary feature table310. Feature table310includes a role field802and a feature field804. Role field802specifies a role name and feature field804specifies the features (e.g., functions or “screens”) associated with the role name. Role field802provides an easy way to group features and assign features to operators (e.g., using operator table308). Examples of role names include “number operator,” “searcher,” “security admin,” etc. Examples of features, described in more detail below, include add block, edit block, cancel block, search block, allocate, de-allocate, add reservation, edit reservation, cancel reservation, search reservations, add subscriber, search subscriber, cancel subscriber, edit subscriber, add customer, search customer; cancel customer, edit customer, initialize port-in, role administration, reports, add operator, and edit TN info. Other features not listed here are possible.

The feature “add block” allows for the operator to add a block of numbers (e.g., issued from a national regulator) to TN table302. The number in a block, for example, may then be reserved or assigned to subscribers. The feature “edit block” allows the operator to edit the characteristics associated with the block of numbers, such as the name of the subscriber associated with the block. The feature “cancel block” allows the operator to remove the block of numbers from, for example, TN table302. The feature “search block” allows the operator to search through or for blocks of numbers issued from the national regulator.

The feature “allocate” allows the operator to assign a TN to a subscriber. The act of allocation means that a call to the TN will ring a telephone associated with the subscriber. Further, the subscriber may place a call from a TN that has been allocated to it/him/her. The feature “de-allocate” allows the operator to reverse the allocation process.

The feature “add reservation” allows the operator to reserve one or more numbers for a subscriber or a reseller without necessarily allocating the numbers. For example, a range of TN's may be reserved for a reseller to sell to subscribers. Alternatively, a subscriber may reserve a range of TNs for future use (e.g., a university may reserve numbers for students). The feature “edit reservation” allows the operator to edit the characteristics associated with a reservation, such as the name of the wholesaler or subscriber associated with the range of TNs. The feature “cancel reservation” allows the operator to cancel or delete a reservation of TNs. The feature “search reservations” allows the operator to search information related to reservations.

The feature “add subscriber” allows the operator to add a subscriber, such as a subscriber listed in a record of subscriber table304. The feature “search subscriber” allows the operator to search through subscriber table304. The feature “cancel subscriber” allows the operator to cancel a subscriber (e.g., remove a subscriber from subscriber table304). The feature “edit subscriber” allows an operator to edit the information associated with a subscriber, such as the address information in subscriber table304.

The feature “add customer” allows the operator to add a customer, such as a customer listed in a record of customer table306. The feature “search customer” allows the operator to search through customer table306. The feature “cancel customer” allows the operator to cancel or delete a customer. The feature “edit customer” allows the operator to change information about a customer, such as the customer address.

The feature “initialize port-in” allows the operator to process TNs that are being ported to the carrier from another carrier. The feature “role administration” allows the operator to edit the features associated with roles (e.g., edit feature table310). The feature “reports” allows the operator to run reports on information stored in TN table302, for example. The feature “add operator” allows the operator to add or edit information stored in operator table308, for example. The feature “edit TN info” allows the operator to edit some information related to TNs.

In one embodiment, a feature allows the operator to perform the function or feature for all the countries specified in country field704. In another embodiment, functions or features themselves may be specified only for particular countries. For example, one feature may be specified and allowed to be used only for the United States. In this embodiment, only operators that specify the United States in country field704would be allowed to use the feature. In yet another embodiment, a country may be negatively specified for a particular feature. For example, one feature may be specified but not allowed for a particular country, such as the United States. In this embodiment, the feature may not be used by the operator for the negatively mentioned country even when the operator has privileges for that country as specified in country field704.

Returning toFIG. 3B, user interface logic312receives operator table308and role table310, and based on that information, outputs a menu of features to the operator on display126. User interface logic312also inputs selections from the user via input device330and may respond accordingly.FIG. 9is a flowchart of a process900for providing a user interface to an operator. Process900may be executed by user interface logic312. Process900may begin after an operator uses computer224to log into controller212to access information stored in, for example, subscriber table304and/or customer table306. Process900begins with the query of operator table308to determine the roles and countries associated with a particular operator (block902). For example, assume that the operator associated with the operator ID of “Roger” is using computer224to log into controller212. As indicated in operator table308, the operator ID of “Roger” is associated with the countries of France, Germany, and the US. The operator ID of “Roger” is also associated with the following role: number admin.

Process900may continue with the query of feature table310to determine what features are associated with the role (block904) determined at block902. In the current example, the role of “number admin” (determined for Roger at block902) is associated with the following features: add block, edit block, cancel block, search block, allocate, de-allocate, add reservation, edit reservation, cancel reservation, search reservations, add subscriber, search subscriber, cancel subscriber, edit subscriber, add customer, search customer, cancel customer, edit customer, and edit TN info.

The operator may be presented with a list of the corresponding countries (block906), as determined at block902. For example, as shown inFIG. 10, a pull down menu1002displays the list of countries determined at block902(e.g., France, Germany, and United States). The operator may select one of the presented countries (block908). In the current example, the operator (e.g., Roger) may select the country for which administration is desired, e.g., Germany. As shown inFIG. 1, box110displays “Germany” as the currently selected country for administration.

A menu of associated features may be displayed (block910). As shown inFIG. 1, a dialog box104lists features (e.g., screens) that are associated with the roles associated with Roger. The features are listed with a “>” to the left to the feature. Some features may be grouped under headings, and the heading may include a “−” to the left of the heading. For example, box104lists Edit TN Info, Allocate, De-Allocate, Add (Subscriber), Search (Subscriber), Cancel (Subscriber), Edit (Subscriber), Add (Customer), Search (Customer), Cancel (Customer), and Edit (Customer). Some features may be hidden from view but grouped nonetheless by heading, and in this example the headings may include a “+” next to the heading. In one embodiment, the operator may click the heading “Reservations” to view the features of Add (Reservation), Search (Reservation), Cancel (Reservation), or Edit (Reservation).

As shown inFIG. 1, the operator has selected the feature “Edit TN Info” as indicated by highlighting box104surrounding the feature. As a result, Edit TN dialog box106(or screen) is displayed (e.g., for the country Germany). If the operator selected other features, then other dialog boxes or screens (not shown) would be displayed instead. Edit TN dialog box106provides the operator with the option of editing the TN, changing the status of the TN, changing the line type associated with the TN, changing the expiration date of the TN, changing the previous carrier (“losing carrier”) associated with the TN, changing the current carrier (“gaining carrier” associated with the TN, or changing the subscriber ID associated with the TN-all for the country Germany.

Returning toFIG. 3B, controller212may include customer tracking logic314. Customer tracking logic314may input TN table302, subscriber table304, and customer table306. Customer tracking logic314may update customer table306to track subscribers that are related to the same individual or entity, for example.FIG. 11is a flowchart of a process1100, which may be executed by customer tracking logic314, for tracking customers and subscribers. Process1000associates customer IDs with subscriber IDs and subscriber IDs with TNs.

Process1100begins with the association of subscriber IDs with TNs (block1102). As shown inFIG. 4A, each TN may be associated with a corresponding subscriber ID. The different subscriber IDs may be determined (block1104). For example, as shown in TN table302, records452-1,452-2,452-5, and452-8are all associated with the same subscriber ID, e.g., 58625. A customer ID may be associated with each of the subscriber IDs (block1106). For example, the subscriber ID 58625 may be associated with a customer ID, if a customer ID has not already been associated with the subscriber ID. In the current example, the customer ID of 2685 is associated with subscriber ID of 58625, as shown inFIG. 6A.

A name and address may be associated with the customer ID) (block1108). In one embodiment, the customer ID may be associated with the same name and address as the address saved for the corresponding subscriber ID. That is, the customer ID may inherit the name and address of the underlying subscriber ID. In the current example, the customer ID of 2685 is associated with the name “CBA Inc.” and with the address of 763 Main Street, Munich, Germany 52541 (e.g., the same name and address as the underlying subscriber ID).

In one implementation, a subscriber may change information associated with a TN. For example, the information associated with the TN in record452-2of TN table302-1may change. This change may be reflected in a different subscriber ID associated with the TN. For example, as shown inFIG. 4A, the TN of 2018917240 is associated with the subscriber ID of 58265. On the other hand, as shown TN table302-2inFIG. 4B, the same TN of 2018917240 is associated with the subscriber ID of 58268. This change may have been the result of a wholesaler changing the information associated with a TN (e.g., the subscriber name, subscriber address, or subscriber type). Nonetheless, although a subscriber ID has changed, the entity (e.g., customer) associated with the subscriber ID may not change. In the current example, the subscriber ID of 58628 is added to subscriber field608of customer table306-2, thereby associating customer ID 2685 to the subscriber ID) of 58628. In one embodiment, the operator may be prompted to determine if the address associated with the customer ID (e.g., 2685) should also be updated to reflect the address change associated with the new subscriber ID. If the address is to be so propagated (block1112: YES), then the address stored in address field606of customer table306-2may be updated (block1114).

In one embodiment, art operator may change the address associated with a customer ID (block1116). In this case, the operator may be prompted to determine whether the new address associated with the customer ID should be propagated to the subscriber ID (or subscriber IDs) that are indicated in field608of customer table306for the corresponding record. If so the new address is to be propagated (block1118), then the address stored in fields506for the corresponding subscriber IDs may be updated to the new address received at block1116.

In one embodiment, the operator may manually associated subscriber IDs with customers IDs. That is, the operator may add or remove subscriber IDs to or from subscriber ID field608of customer table306. As described above, even when subscribers have relationships with a wholesaler, the network provider may easily track subscribers that relate to the same customer.

While series of blocks have been described above with respect to different processes, the order of the blocks may differ in other implementations. Moreover, non-dependent acts may be performed in parallel.

It will be apparent that aspects of the embodiments, as described above, may be implemented in many different forms of software, firmware, and hardware in the embodiments illustrated in the figures. The actual software code or specialized control hardware used to implement these embodiments is not limiting of the invention. Thus, the operation and behavior of the embodiments of the invention were described without reference to the specific software code—it being understood that software and control hardware may be designed to the embodiments based on the description herein.

Further, certain portions of the invention may be implemented as logic that performs one or more functions. This logic may include hardware, such as an application specific integrated circuit, a field programmable gate array, a processor, or a microprocessor, or a combination of hardware and software.