Remote circuit provisioning
A machine readable medium for remote circuit provisioning is described. In one embodiment of the invention, a machine readable medium comprises receiving a packet on a circuit and provisioning the circuit in response to receiving the packet, wherein provisioning the circuit comprises retrieving parameters from a database, creating an empty circuit structure, and populating the empty circuit structure with the parameters.
1. Field of the Invention
This invention relates to the field of networks, particularly to the area of communication networks. More specifically, the present invention relates to remotely provisioning resources.
2. Description of the Related Art
The number of people and corporations connecting to the Internet has continually grown since the inception of the Internet. As of late 1999, the leading Internet Service Providers in the United States served a total of 35 million subscribers (“Major Trends Affecting the Telecommunications Industry”, Plunkett's Telecommunications Industry Almanac). Between 1998 and 1999, the number of connections to the Internet across the globe has grown from 56.5 million to 73.7 million (“Ovum Report: Internet Market Forecasts: Global Internet Growth 1998-2005”, GSM Data Knowledge Site).
This vast amount of growing Internet activity relies on numerous network elements. These network elements include routers, cables, hubs, relays, switches, etc. to carry communications between and among networks. An increasing number of network elements have been deployed to support increasing Internet traffic, but advancements in network technology have also been necessary to support the explosion in network traffic.
Current network elements assume multiple tasks such as terminating network connections, switching, routing, and access functions. These current network elements have been developed to support the vast and growing number of subscribers communicating across networks and across the Internet. Network elements have advanced from serving hundreds to serving thousands of subscribers, and now to hundreds of thousands of subscribers. These network elements are configured to support a variety of communication protocols used by the multitude of subscribers. These supported communication protocols may include Asynchronous Transfer Mode (ATM), Frame Relay, and various tunneling protocols. In addition, data is transmitted in stacks of protocols. For example, a subscriber may send data which is Point to Point Protocol (PPP) over 1483 bridged circuit over ATM to a network element. Each circuit connecting to a network element must be configured for the type of traffic carried over the circuit.
Dynamic tunnel provisioning is triggered by a subscriber identifier stored within a layer 2/3 encapsulation. Dynamic tunnel provisioning does not relieve the task of configuring each circuit on the network element nor resolve the issue of memory consumption to support a circuit structure for each provisioned circuit.
SUMMARY OF THE INVENTIONThe invention provides a method and apparatus for remotely provisioning circuits. According to one aspect of the invention, a method is provided which provisions circuits with parameters from a remote database.
According to one embodiment of the invention, a circuit receives a packet and the circuit is provisioned in response to the packet received. In one embodiment provisioning comprises receiving parameters from a remote database, creating an empty circuit structure, populating the circuit structure with the parameters, and associating the circuit to the provisioned circuit structure.
In an alternative embodiment of the invention, a set of circuits are configured as listening circuits. When one of the set of listening circuits receives a packet, the listening circuit is provisioned, and subsequent packets received on the provisioned circuit are processed according to parameters corresponding to the provisioned circuit. A packet received on an unconfigured circuit is discarded.
According to another embodiment of the invention, as set of circuits are associated to a listening circuit structure. When one of the set of circuits receives a packet, the one is identified and a set of parameters are retrieved for the identified circuit. An empty circuit structure is created and populated with the set of parameters to become a provisioned circuit structure. The identified circuit is disassociated from the listening circuit structure and associated to the provisioned circuit structure. Upon a subscriber ending event, a clean-up agent removes the provisioned circuit structure and reassociates the identified circuit with the listening circuit structure.
These and other aspects of the present invention will be better described with reference to the Detailed Description of the Preferred Embodiment and the accompanying Figures.
BRIEF DESCRIPTION OF THE DRAWINGSThe invention may best be understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. In the drawings:
In the following description, numerous specific details are set forth to provide a thorough understanding of the invention. However, it is understood that the invention may be practiced without these specific details. In other instances, well-known protocols, structures and techniques have not been shown in detail in order not to obscure the invention. For example, the term routine is used throughout the application. The term routine can mean an individual process, a thread of a process, a routine of a process or program, etc.
The invention provides for a method and apparatus for remotely provisioning circuits on a network element. According to one embodiment of the invention, a circuit of a network element may be configured by an network administer at a terminal connected to that network element to be a listening circuit. In addition, the same or a different network administrator may enter parameters for that circuit into a remote database connected to the network element. Upon the occurrence of an event (e.g., the receipt of traffic on the circuit), the network element will access the parameters from the remote database and provision the circuit.
Returning to
In an alternative embodiment, each circuit configured as a listening circuit could be associated with an individual listening circuit structure instead of a single listening circuit structure for a group of listening circuits. Thus, the control process would not create an empty provisioned circuit structure for each circuit which receives a data packet. The control process would populate the individual listening circuit structures with parameters retrieved from the remote database. Such an embodiment would simplify the functions of the control process but reduce the memory savings of having a single listening circuit structure for a group of listening circuits.
Association of a circuit to a provisioned circuit structure can be implemented in a variety of ways. While the implementation of this aspect of the invention is not limited, a number of examples are presented to aid in understanding the invention. For example, one embodiment could maintain a state structure indicating the state of a circuit: listening, provisioned and unconfigured. The state structure would contain a reference field corresponding to the state. All configured circuits having a listening state refer to the listening circuit structure. All unconfigured circuits in an unconfigured state refer to a null address. The provisioned circuits refer to the address of a provisioned circuit structure. When a listening circuit is provisioned, its state structure is modified to refer to the remotely provisioned circuit structure.
In another embodiment, a linking structure may link a circuit to the appropriate structure. The link structure could index an address with a circuit handle. When a packet arrives, a circuit handle could be created from the slot, port, and VPI-VCI pair. The network element could then search the link structure for the circuit handle and use the parameters stored at the indicated address. The addresses in the link structure would be initialized to a null value. Once a circuit is configured as listening, then the link structure is updated to reflect the address of a listening circuit structure. Once the circuit is provisioned, the data structure is updated to reflect the address of the corresponding provisioned circuit structure.
In one embodiment of the invention, once a listening circuit is provisioned, it remains a provisioned circuit. In alternative embodiments of the invention, after a listening circuit is provisioned, a subscriber ending event will result in the circuit being unprovisioned or reassociated to the listening circuit structure. A clean-up routine or process can be implemented in numerous ways in response to numerous events. A subscriber ending event can include any event wherein the circuit would no longer transmit the subscriber session (e.g., the ISP suspends the customer, port of the circuit fails, servicing of the network element, a subscriber switches from DSL to cable etc.). A timeout routine could determine when a subscriber ending event has occurred. Once the network element determines a subscriber ending event has occurred for a circuit, a clean up routine can operate such that the provisioned circuit structure for that circuit is released from memory, and the circuit is reassociated to the listening circuit structure. Another routine could detect mechanical failure of a port on the network element and reassociate any provisioned circuits of that port to the listening circuit structure. Another embodiment of the invention provides for an ISP customer to send a signal to the network element. Upon receiving the signal the network element reassociates a circuit indicated by the signal to the listening circuit structure. The provisioned circuit structure is then released from memory. Although a number of implementations for this aspect of the invention have been described, they are only described to illustrate examples and not meant to be limiting on the invention.
In an alternative embodiment of the invention, the clean-up routine differentiates between circuits on the same network element which are provisioned remotely and locally. Provisioned circuit structures would be distinguished for locally provisioned and remotely provisioned circuits. For listening circuits, a flag is sent to the control process indicating the circuit is listening. The control process would assign the flag value to an element of the provisioned circuit structure. Upon a subscriber ending event, the clean-up agent will only associate the provisioned circuit to the listening circuit structure if the flag value is detected. If the flag value is not detected, then the clean-up agent can either release the provisioned circuit structure making the provisioned circuit an unconfigured circuit, or the clean-up agent can do nothing. If traffic is not to be processed on the circuit and the clean-up agent does not act on locally provisioned circuits, then a network administrator must release the provisioned circuit.
A More Detailed Exemplary Implementation
Once the configuration parameters are received, then the control process creates an empty circuit structure in accordance with the “create circuit” code at block 620. If an empty circuit structure cannot be created (e.g. low memory, routine failure, etc.) then control flows to block 619. If the circuit structure is created successfully, then at block 623 the empty circuit structure is populated with the parameters to become a provisioned circuit structure. At block 625, the circuit is associated with the provisioned circuit structure. To illustrate, we turn to
The capability to remotely provision circuits is advantageous for a network element servicing relatively large numbers (e.g., hundreds of thousands) of subscribers. Such a network element includes numerous ports coupled to a network medium possibly comprised of thousands of circuits. The variety of communication protocols carried over these ports and circuits require memory for the numerous decapsulation routines. Furthermore, the relatively large number of subscribers serviced by the network element requires memory for routing tables and forwarding tables. In such a network element, memory becomes a premium. Provisioning circuits on demand with a single listening circuit structure conserves this premium resource.
Service providers who need to widely deploy broadband access across their regional or national customer base would use the network element 701 to terminate multiple large circuits from multiple network providers (either carrier or cable operator) and manage the individual subscriber sessions. Remote provisioning of circuits eases the task of aggregating a large customer base. The ability to enter circuit configurations on RADIUS (or some other remote database) instead of a terminal connected to the network element provides an easier and manageable task for the network administrator. Furthermore, a single listening circuit structure enables oversubscribing. The network administrator can configure a number of listening circuits greater than the number of circuits supported by a network element's resources. As an illustration, a network element may have the hardware to support 10,000 circuits but memory resources only support 8000 circuits. The network administrator can configure 9000 or 10000 circuits as listening circuits. Oversubscribing circuits reduces tasks for the network administrator. On example of the advantage of oversubscribing is when a subscriber cancels his/her DSL service for cable service then the network administrator does not have to make any changes to the network element since all circuits are listening. The new circuit receiving the subscriber's cable traffic will be provisioned and the circuit previously carrying DSL traffic will be reassociated with the listening circuit structure. Provisioning a circuit in response to a traffic trigger enables more efficient service to customers and quicker deployment of network elements. The network element can authenticate each subscriber (703, 702, 704, and 705), can integrate with the existing accounting and operational database(s), and can send the groomed traffic to the Internet 709 via a backbone directly or a backbone router.
A network provider 800 implementing a wholesale model could use the network element 701 to provide wholesale broadband access and IP services to its ISP customers 811, 813. The network provider 800 can include a regional data network 805 feeding into the network element 701 of
It should be understood that the exemplary application of
The techniques shown in the figures can be implemented using code and data stored and executed on computers. Such computers store and communicate (internally and with other computers over a network) code and data using machine-readable media, such as magnetic disks; optical disks; random access memory; read only memory; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc. Of course, one or more parts of the invention may be implemented using any combination of software, firmware, and/or hardware.
While the invention has been described in terms of several embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described.
The provisioning of circuits could be implemented by alternative methods. Each circuit in the range of listening circuits could be grouped by similar parameters. For example, one group of circuits on slot 1 port 1 could carry PPP over ATM traffic while another group on the same slot and port could carry IP over ATM traffic. Each group would be associated to a listening circuit structure containing the encapsulation information for that group. When a listening circuit receives traffic, the network element could identify the listening circuit and begin to simultaneously process the packets received over the circuit and store the processed packets into a buffer while provisioning the listening circuit.
The method and apparatus of the invention can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of limiting on the invention.
Claims
1-39. (canceled)
40. A machine readable medium that provides instructions, which when executed by a set of processors, cause said set of processors to perform operations comprising:
- receiving a packet on a circuit in a network element; and
- provisioning the circuit in the network element in response to said receiving the packet on the circuit.
41. The machine readable medium of claim 40, wherein the circuit is associated with a listening circuit structure before the packet is received on the circuit, and the circuit is disassociated from the listening circuit structure after the packet is received on the circuit.
42. The machine readable medium of claim 40, wherein provisioning the circuit comprises:
- identifying the circuit;
- creating a provisioned circuit structure for the circuit; and
- associating the circuit to the provisioned circuit structure.
43. The machine readable medium of claim 42, wherein creating the provisioned circuit structure comprises:
- retrieving a set of parameters corresponding to the circuit from a database; and
- populating an empty circuit structure with the set of parameters.
44. The machine readable medium of claim 40, further comprising unprovisioning the circuit upon a subscriber ending event.
45. A machine readable medium that provides instructions, which when executed by a set of processors, cause said set of processors to perform operations comprising:
- configuring a set of circuit as listening circuits in a network element;
- receiving a packet on one of the set of listening circuits;
- provisioning the one of the set of listening circuits in response to said receiving the packet on one of the set of listening circuits; and
- processing a set of subsequent packets received on the provisioned one of the set of listening circuits.
46. The machine readable medium of claim 45, wherein provisioning the one of the set of listening circuits comprises:
- retrieving a set of parameters for the one of the set of listening circuits from a database; and
- provisioning the one of the set of listening circuits with the set of parameters.
47. The machine readable medium of claim 45, wherein configuring the set of circuits as listening circuits comprises associating the set of listening circuits to a single circuit structure, this single circuit structure being a circuit structure having an indicator indicating the circuit structure as a listening circuit structure.
48. The machine readable medium of claim 45 further comprising unprovisioning the provisioned one in response to a subscriber ending event.
49. A machine readable medium that provides instructions, which when executed by a set of processors, cause said set of processors to perform operations comprising:
- listening for a packet over a set of configured circuits in a network element;
- receiving the packet on one of the set of configured circuits;
- identifying the one of the set of configured circuits;
- signaling a routine that the packet has been detected on the one of the set of configured circuits;
- retrieving a set of parameters for the one of the set of configured circuits from a database;
- creating an empty circuit structure for the one of the set of configured circuits;
- populating the empty circuit structure with the set of parameters, the populated empty circuit structure becoming a provisioned circuit structure; and
- associating a set of subsequent packets received on the one of the set of listening circuits with the provisioned circuit structure.
50. The machine readable medium of claim 49, wherein listening for the packet over the set of configured circuits comprises associating the set of configured circuits to a listening circuit structure.
51. The machine readable medium of claim 49, wherein signaling the routine comprises passing the routine the listening circuit structure, the listening circuit structure identifying the one of the set of configured circuits.
52. The machine readable medium of claim 49, wherein the database can be a remote database or a local database.
53. The machine readable medium of claim 49 further comprising releasing the provisioned circuit structure and listening for a new packet over the one of the set of configured circuits in response to a subscriber ending event.
54. A machine readable medium that provides instructions, which when executed by a set of processors, cause said set of processors to perform operations comprising:
- indicating a circuit structure as a listening circuit structure in a network element;
- associating a set of configured circuits with the listening circuit structure;
- receiving a packet on one circuit of the set of configured circuits;
- provisioning the one circuit in response to said receiving the packet on the one circuit; and
- accepting a set of subsequent packets received on the provisioned circuit.
55. The machine readable medium of claim 54 further comprising discarding a set of packets transmitted over an unconfigured circuit, the unconfigured circuit not being associated with the listening circuit structure.
56. The machine readable medium of claim 54, wherein provisioning the one circuit comprises:
- identifying the one circuit with a circuit handle;
- retrieving a set of parameters corresponding to the circuit handle from a database;
- creating an empty circuit structure; and
- populating the empty circuit structure with the set of parameters.
57. The machine readable medium of claim 56, wherein the database can be a local database or a remote database.
58. The machine readable medium of claim 54 further comprising unprovisioning the one circuit and indicating the one circuit as the listening circuit structure in response to a subscriber ending event.
59. A network element comprising:
- a network card having a port to couple a set of circuits; and
- a computer coupled to the network card, the computer to provision one circuit of the set of circuits in response to receiving a packet on the one circuit.
60. The network element of claim 59 further comprising a remote database to store parameters for provisioning the one circuit.
61. The network element of claim 59, wherein the computer comprises:
- a database to store a set of parameters;
- a memory element to store a listening circuit structure and a set of provisioned circuit structures; and
- an operating system to associate a set of the set of circuits with the listening circuit structure, and to provision the one circuit.
62. The network element of claim 61 wherein to provision the one circuit comprises:
- to identify the one circuit;
- to disassociate the one circuit from the listening circuit structure;
- to create an empty circuit structure;
- to populate the empty circuit structure with the set of configuration parameters, making the empty circuit structure a provisioned circuit structure; and
- to associate the one circuit to the provisioned circuit structure.
63. The network element of a claim 59 further comprising the computer to unprovision one circuit of the set of circuits in response to a subscriber ending event.
64. An apparatus comprising:
- a port to couple a set of circuits;
- a memory element to store a listening circuit structure and a set of provisioned circuit structures;
- a database to store a set of parameters for a subset of the set of circuits; and
- a computer to provision one of the subset of circuits.
65. The apparatus of claim 64, wherein the database can be a local or remote database.
66. The apparatus of claim 64, wherein the computer to provision the one of the set of circuits comprises:
- retrieving the set of parameters corresponding to the one circuit from the database;
- creating an empty circuit structure for the one circuit, and
- populating the empty circuit structure with the set of configuration parameters.
67. The apparatus of claim 64, wherein the computer provisions one of the subset of circuits in response to a packet being detected on the one circuit.
68. The apparatus of claim 64 further comprising unprovisioning the one of the subset of circuits in response to a subscriber ending event.
69. An apparatus comprising:
- a port to couple a set of circuits;
- a memory element to store a set of circuit structures;
- a storage to store a set of parameters; and
- a computer to provision one circuit of the set of circuits in response to a packet being received on the one circuit.
70. The apparatus of claim 69, wherein one of the set of circuit structures is a listening circuit structure.
71. The apparatus of claim 69, wherein the storage can be a local or remote storage.
72. The apparatus of claim 69, wherein the computer to provision one circuit of the set of circuits comprises:
- to identify the one circuit;
- to retrieve the set of parameters corresponding to the identified one circuit from the storage;
- to create an empty circuit structure for the one circuit, and
- to populate the empty circuit structure with the set of parameters.
73. The apparatus of claim 69 further comprising unprovisioning the one circuit of the set of circuits in response to a subscriber ending event.
74. A computer implemented method comprising:
- receiving a packet on a circuit in a network element; and
- provisioning the circuit in the network element in response to said receiving the packet on the circuit.
75. The method of claim 74, wherein the circuit is associated with a listening circuit structure before the packet is received on the circuit, and the circuit is disassociated from the listening circuit structure after the packet is received on the circuit.
76. The method of claim 74, wherein provisioning the circuit comprises:
- identifying the circuit;
- creating a provisioned circuit structure for the circuit; and
- associating the circuit to the provisioned circuit structure.
77. The method of claim 74 further comprising unprovisioning the circuit upon a subscriber ending event.
78. The method of claim 76 wherein creating the provisioned circuit structure comprises:
- retrieving a set of parameters corresponding to the circuit from a database; and
- populating an empty circuit structure with the set of parameters.
79. An apparatus comprising:
- a network element including, an interface to be coupled to a circuit; a control process module operative to provision the circuit in response to receiving a packet on the circuit.
80. The apparatus of claim 79, wherein the control process module further operative to associate the circuit with a listening circuit structure before the packet is received on the circuit, and the circuit is disassociated from the listening circuit structure after the packet is received on the circuit.
81. The apparatus of claim 79, wherein the control process module to provision the circuit is operative to identify the circuit, create a provisioned circuit structure for the circuit, and associate the circuit to the provisioned circuit structure.
82. The apparatus of claim 81, wherein the control process module to create the provisioned circuit structure is operative to retrieve a set of parameters corresponding to the circuit from a database and populate an empty circuit structure with the set of parameters.
83. The apparatus of claim 82, wherein the control process module is operative to unprovision the circuit in response to a subscriber ending event.
Type: Application
Filed: Jul 7, 2005
Publication Date: Feb 16, 2006
Inventors: David Carrel (San Francisco, CA), Che-Lin Ho (Zephyr Cove, NV), Thomas Stoner (Fremont, CA)
Application Number: 11/177,524
International Classification: H04L 12/66 (20060101);