Methods, systems, and articles of manufacture to determine an administrative cost for a network path are disclosed. An example method is used to select a plurality of network segments and a plurality of network switches to determine a network path between first and second network nodes. A transmission medium length associated with the plurality of network segments and the plurality of network switches is then determined, where the administrative cost for the network path is determined based on the transmission medium length.
|
4. A method of determining an administrative cost for a network path, comprising:
identifying a plurality of network segments and a plurality of network switches forming a network path between first and second network nodes, the network segments having respective transmission medium lengths and the network nodes having respective switch factors; and
determining the administrative cost for the network path based on the transmission medium lengths and the switch factors.
26. A system to determine administrative costs for network paths, comprising:
a routing group generator configured to form a routing group, wherein the routing group includes at least one network node;
an address selector communicatively coupled to the routing group generator and configured to determine an address prefix associated with the routing group; and
an administrative cost generator communicatively coupled to the routing group generator and the address selector and configured to determine an administrative cost for a network path between a source node and the routing group based on a transmission medium length value.
1. A method of determining a network route, comprising:
selecting a source network node and a plurality of destination network nodes;
determining a plurality of network routes between the source network node and the plurality of destination network nodes;
determining a plurality of administrative costs associated with the plurality of network routes based on a plurality of transmission medium length values;
determining an address prefix associated with at least some of the plurality of destination network nodes based on the plurality of administrative costs; and
associating at least one of the plurality of network routes with the address prefix.
19. A non-transitory computer-readable medium having instructions stored thereon that, when executed, cause a processor to at least:
identify an inter-group network segment and a network switch forming a network path between first and second network nodes, the inter-group network segment having a transmission medium length and the network switch having an associated switch factor;
determine a transmission medium length value associated with the network path based on the transmission medium length and the switch factor, wherein the transmission medium length value is associated with an administrative cost for the network path; and
store the transmission medium length value.
14. An apparatus to select a network path for data frames, comprising:
a processor system; and
a memory communicatively coupled to the processor system, the memory including stored instructions that enable the processor system to at least:
identify an inter-group network segment and a network switch forming a network path between a first network node and a group of second network nodes, the inter-group network segment having a transmission medium length and the network switch having an associated switch factor; and
determine an administrative cost associated with the inter-group network segment and the network switch based on the transmission medium length and the switch factor.
32. A network having a plurality of network nodes and a plurality of network segments, wherein at least a first one of the network nodes includes a memory to store at least one transmission medium length value associated with a network path between the first one of the network nodes and a second one of the network nodes, and wherein the first one of the network nodes determines an administrative cost between the first and second ones of the network nodes based on the transmission medium length value, wherein the transmission medium length value represents a plurality of transmission medium lengths associated with respective ones of a plurality of network segments of the network path and a plurality of switch factors associated with respective ones of a plurality of network nodes of the network path.
2. A method as defined in
3. A method as defined in
5. A method as defined in
6. A method as defined in
7. A method as defined in
computing a sum of the transmission medium lengths and the switch factors.
8. A method as defined in
9. A method as defined in
10. A method as defined in
11. A method as defined in
12. A method as defined in
13. A method as defined in
15. An apparatus as defined in
16. An apparatus as defined in
17. An apparatus as defined in
determine a second transmission medium length by multiplying the switch factor by a third transmission medium length; and
compute the administrative cost as a sum of the first and second transmission medium lengths.
18. An apparatus as defined in
20. A non-transitory computer-readable medium as defined in
21. A non-transitory computer-readable medium as defined in
22. A non-transitory computer-readable medium as defined in
23. A non-transitory computer-readable medium as defined in
24. A non-transitory computer-readable medium as defined in
25. A non-transitory computer-readable medium as defined in
27. A system as defined in
28. A system as defined in
29. A system as defined in
30. A system as defined in
31. A system as defined in
33. A network as defined in
34. A network as defined in
|
The present disclosure relates generally to communication systems and, more particularly, to systems and methods to determine network routes based on transmission medium length.
Network operators or communication service providers use administrative costing to determine network paths to communicate across a data network. An administrative cost (i.e., a cost) is an indication or a measure of the performance associated with transmitting data via a particular network segment or network path. For example, a network operator may determine a cost associated with a plurality of network paths between a source node and a destination node and select the network path associated with the least administrative cost to communicate the data. In traditional communication systems a cost for a network path is determined based on network congestion delay, bandwidth availability, and/or the number of switch hops associated with that network path.
Traditional routing methods for frame relay (FR) and asynchronous transfer mode (ATM) networks typically use routing protocols such as a Private Network to Network Interface (PNNI) protocol to exchange routing information between switches and Open Shortest Path First (OSPF) algorithms to determine network paths. In traditional systems, the routing information includes costs based on network congestion delay, available bandwidth, switch hops, etc. between source and destination switches. Each switch in a network uses the routing information and OSPF to determine a shortest path between that switch and a destination switch based on network congestion delay, available bandwidth, or a number of switch hops and attempts to communicate data via the shortest path, which is associated with the lowest cost.
Traditional methods that use network delay, bandwidth, or switch hops as the cost measure for selecting a network path are often not suitable for determining a network path across a network spanning a relatively large geographical distance or area (e.g., a nationwide network or an international network). For example, the network congestion delay or available bandwidth at any particular switch in a nationwide network may be miniscule compared to the geographical or physical distance through which data must be communicated. When such is the case, selecting a network path based on the least congestion delay may not provide the network path associated with the least data transmission time.
Further, traditional network systems typically use PNNI or Hierarchical PNNI (HPNNI) routing protocols throughout an entire network to determine network paths. The PNNI routing protocol requires each switch in a network to obtain routing information associated with the entire topology of the network or routing information required to communicate with every switch in the network. The HPNNI routing protocol is implemented by dividing an entire network into peer groups. In this case, each switch within a peer group obtains detailed routing information associated with communicating with switches in the same peer group. To communicate with switches in other peer groups each switch in a peer group obtains via switches designated as peer group leaders only general routing information associated with communicating with switches in other peer groups.
The PNNI and HPNNI routing protocols require switches to advertise routing information to other switches. In this manner, when switches establish a network path the switches can use the routing information to establish the network path. Each time a switch advertises its routing information, the switch must build a routing table by gathering routing information associated with its routing perception of the network or at least of the switches to which it directly communicates. The switch must then transmit the routing information from the routing table to the requesting switch. As more nodes or switches are added to a network and the network becomes larger, advertising costs in this manner becomes relatively more demanding on each switch. For example, gathering the routing information requires more and more processing power and time as a network grows. Also, the amount of memory required to store the routing information becomes relatively large. Typically, the processing power and memory requirements restrict the PNNI routing protocol to be used in limited-sized networks because of the manner in which the PNNI routing protocol requires each switch to obtain routing information about the entire topology of the network. Some traditional methods use HPNNI to overcome the scalability limitations associated with PNNI. However, these traditional methods typically produce sub-optimal end-to-end routing decisions.
Although the following discloses example systems including, among other components, software and/or firmware executed on hardware, it should be noted that such systems are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these hardware, software, and firmware components could be embodied exclusively in hardware, exclusively in software, or in any combination of hardware and software. Accordingly, while the following describes example systems, persons of ordinary skill in the art will readily appreciate that the examples provided are not the only way to implement such systems.
The example systems and methods described herein may be used to determine network routes based on transmission medium length for communicating data through a telecommunications network. As described below, an example implementation involves using transmission medium lengths and switch factor values to determine administrative costs for network segments. Routing protocols such as, for example, OSPF, may use the administrative costs to determine network paths between nodes in telecommunications networks. In a preferred embodiment, routing protocols may use the administrative costs to determine optimal network paths such as, for example, network paths having the least administrative cost. The example methods and systems may be used in connection with relatively large networks (e.g., nationwide network, international networks, multi-peer group networks, etc.) by using protocols such as, for example, ATM Inter-Network Interface (AINI), and a plurality of static routing tables to store the administrative costs. Example methods described herein may be used to determine addresses or address prefixes and administrative costs associated with destination nodes and store same in routing tables for subsequent use by, for example, AINI and OSPF protocols to determine network paths across telecommunications networks based on transmission medium length.
An example method involves selecting a plurality of network segments and a plurality of network switches to determine a network path between a first network node and a second network node. A transmission medium length value associated with the plurality of network segments and the plurality of network switches is then determined. An administrative cost for the network path is determined based on the transmission medium length value.
An example system to determine administrative costs for network paths includes a routing group generator configured to form a routing group that includes at least one network node. The example system also includes an address selector communicatively coupled to the routing group generator and configured to determine an address prefix associated with the routing group. In addition, the example system includes an administrative cost generator communicatively coupled to the routing group generator and the address selector and configured to determine an administrative cost for a network path between a source node and the routing group based on a transmission medium length value.
An example network to determine administrative costs for network paths includes a plurality of network nodes and a plurality of network segments. At least a first one of the network nodes includes a routing table to store at least one transmission medium length value associated with a network path between the first network node and a second network node. The first network node may determine an administrative cost between the first and second network nodes based on the transmission medium length value.
The example methods and systems are described below in connection with frame relay (FR) and asynchronous transfer mode (ATM) networks using a Private Network to Network Interface (PNNI) and an AINI. The ATM networks described below include a plurality of nodes. Each of the plurality of nodes may be implemented using a network switch. To determine network paths as described below, the nodes may be grouped to form a plurality of subnetwork peer groups (i.e., peer groups). Each of the peer groups includes one or more internally accessible nodes or switches (i.e., intra-group nodes or intra-group switches) and one or more externally accessible nodes or switches (i.e., inter-group nodes or inter-group switches). Externally accessible nodes or inter-group nodes within a peer group are designated as peer group leader nodes. Nodes communicate information between peer groups across a relatively large network (e.g., a nationwide network or an international network) via the inter-group nodes. Specifically, as described in greater detail below in connection with
Each inter-group switch includes a network routing table (i.e., a routing table) used to store routing information such as, for example, administrative costs, associated with communicating data to or exchanging data with a plurality of nodes (e.g., destination nodes) in other peer groups. As described below, the cost associated with communicating data between peer groups is determined based on a physical length of transmission medium (e.g., optic fiber, copper cable, air, etc.) through which data must travel when communicated from a source node in an originating peer group to a destination node in a terminating peer group. In nationwide or international networks, the amount of time required for data to travel cross country or internationally is typically dictated by the physical length of transmission medium (i.e., the transmission medium length) through which the data must travel. That is, the transmission time required for an electron to travel through a transmission medium is directly proportional to the physical length of the transmission medium length. Traditional systems that use network congestion delay or bandwidth metrics to select network paths may select paths that are not associated with least transmission times if the transmission time associated with the physical length of a transmission medium outweighs the transmission time associated with network congestion delay or bandwidth. In other words, although a first network path may have favorable network congestion delay or bandwidth, the physical length of transmission medium in that network path may create or be associated with a greater transmission time than a second network path having less favorable congestion delay or bandwidth but a shorter transmission medium length.
In the example implementations described herein, a source node uses transmission medium length administrative costs to determine a network path to a destination node and to establish communication path that is a permanent virtual circuit (PVC), between a destination node in a terminating peer group and the source node in an originating peer group. For each inter-group node added to a peer group, a system engineer, a hardware system (e.g., an example system 700 of
Determining the transmission medium length administrative costs associated with communicating between peer groups once and storing the administrative costs in switches used to implement inter-group routing nodes reduces the bandwidth overhead required to establish a PVC during data communications. Also, determining the administrative costs in this manner increases the predictability of data flow or data paths within a network. For example, a network operator may better predict or control the selection of network paths by network nodes during data communications by determining which inter-group nodes within a peer group are associated with more favorable administrative costs (e.g., least transmission medium length) for communicating data to particular destination nodes and are, thus, more likely to be selected by a source node.
After a customer requests that a network operator provision a communication link (e.g., a PVC) between particular source and destination nodes, a system engineer configures the source node to establish a PVC between the source node and the destination node. Prior to communicating data, the source node obtains the transmission medium length administrative costs stored in the routing tables of every inter-group node within the same peer group as the source node and that is able to communicate with the destination node. The source node then determines a cost associated with a network path between the source and destination nodes and selects an inter-group node via which to communicate the data based on the cost of the network path. Specifically, the source node determines the cost associated with the network path by determining one or more network path costs (e.g., PVC costs) based on transmission medium length (e.g., the transmission medium length associated with establishing a PVC between the source and destination nodes), selecting the network path having the least network path cost, and subsequently selecting the inter-group node within the same peer group as the source node that may be used to form the selected network path. In this manner, without obtaining administrative costs associated with nodes in other peer groups, a source node can use the transmission medium length costs stored in the routing tables associated with the same peer group (e.g., stored in a switch within the same peer group) as the source node to select the inter-group node via which a least cost PVC is most likely to be established.
Now turning in detail to
To reduce the number of administrative costs associated with establishing communication links (e.g., PVC's) between nodes, the nodes depicted in the example telecommunications network 100 may be grouped into routing groups as described in detail below in connection with
To establish PVC's, inter-group nodes and intra-group nodes may exchange routing information (e.g., routing control messages) between one another as described below. A routing control message generated by a node includes information (e.g., network addresses or ID's) associated with communicating data from that node to each adjacent node. Inter-group nodes and intra-group nodes of one peer group can exchange routing control messages directly with inter-group nodes and intra-group nodes of the same peer group. While inter-group nodes are capable of exchanging routing control messages directly with intra-group nodes within a same or a respective peer group and directly with inter-group nodes of other peer groups, intra-group nodes can directly exchange routing control messages only with inter-group nodes and intra-group nodes within a same or a respective peer group. For example, the SF-2 inter-group node 104a is capable of exchanging routing control messages directly with a Las Vegas (LV) inter-group node 104d of the PLDS peer group 102c and with the SF-1 intra-group node 106. On the other hand, the SF-1 intra-group node 106 can directly exchange routing control messages with only the inter-group nodes 104a-c of the NOCA peer group 102a. The nodes in the network 100 may be used to establish PVC's as described below in connection with
Inter-group nodes (e.g., the inter-group nodes 104a-d) are communicatively coupled to inter-group nodes of other peer groups via inter-group network segments or inter-group trunks (i.e., network paths that communicatively couple peer groups or peer groups to one another). For example, the SF-2 inter-group node 104a is communicatively coupled to the LV inter-group node 104d via an LV-SF-2 inter-group network segment 108. Also, the MOKA peer group 102e is communicatively coupled to the PLDS peer group 102c via a CHI-DEN inter-group network segment 110 that communicatively couples a Chicago (CHI) inter-group node 104e to a Denver (DEN) inter-group node 104f. Other peer groups are communicatively coupled to one another via respective inter-group network segments. The inter-group network segments may be implemented using any physical transmission medium such as, for example, optic fiber, copper fiber, air, etc. In the example telecommunications network 100, the AINI protocol is used to implement the Open Systems Interconnection (OSI) layer two switch protocol used in combination with inter-group network segments to communicatively couple the peer groups 102a-e.
Two peer groups may be communicatively coupled via one or more inter-group network segments. For example, the NOCA peer group 102a is communicatively coupled to the SOCA peer group 102b via two inter-group network segments including a first N-SCA inter-group network segment 112a and a second N-SCA inter-group network segment 112b, while the NOCA peer group 102a is communicatively coupled to the PLDS peer group 102c via one inter-group network segment: the LV-SF-2 inter-group network segment 108.
Intra-group nodes (e.g., the SF-1 intra-group node 106) are communicatively coupled to other intra-group nodes and inter-group nodes within the same or respective peer group via intra-group network segments. For example, the SF-1 intra-group node 106 is communicatively coupled to the SF-2 inter-group node 104a via an intra-group network segment 114. The intra-group network segments may be implemented using any physical transmission medium such as, for example, optic fiber, copper fiber, air, etc. In the example telecommunications network 100, the PNNI protocol is used to implement the OSI layer two switch protocol used with the intra-group network segments to communicatively couple nodes within the same peer group.
In general, the network operator determines the administrative cost for each model network path (i.e., a model network path cost) by selecting a combination of network segments and switches (e.g., nodes) and then adding the transmission medium length for each network segment (i.e., the fiber length between neighboring or consecutive switches) and a switch factor value for each switch between the inter-group node and the destination nodes. In this manner, the network operator determines a total transmission medium length between the inter-group node and a destination node.
In an example implementation, a system engineer may manually determine the model network path cost by referring to a printed version or a computer display graphical representation of the example transmission medium length map 200 or by referring to a spreadsheet having the transmission medium lengths indicated on the example transmission medium length map 200 and adding the transmission medium lengths along the model network path. In an alternative example implementation, the example system 700 (
As previously described, each node in the example telecommunications network 100 may be implemented using a switch. Each switch is assigned or associated with a switch factor value. The switch factor value represents an equivalent physical length of transmission medium for each intervening switch between an inter-group node and a destination node. In this manner, a model network path cost is expressed using a transmission medium length value representing the transmission medium length for every network segment and the equivalent transmission medium length for every switch between the inter-group node and the destination node. A network operator may assign the same switch factor value for each switch in the network 100 or it may assign different switch factor values depending on the manufacturer, model, and/or any other criteria associated with the switches. In the example telecommunications network 100, the switch factor value for each switch is set to 200 fiber miles.
A network operator determines inter-group and intra-group network segment costs associated with the model network path to determine the model network path administrative cost for a model network path that traverses one or more peer groups. The network operator determines the inter-group network segment cost by determining the inter-group network segments that communicatively couple the peer groups traversed by the model network path and then summing the transmission medium lengths for the inter-group network segments. The network operator determines the intra-group network segment cost by selecting one or more nodes and intra-group network segments of the peer group that form a path through the peer group. For example, the network operator may determine an intra-group network segment cost by selecting a combination of nodes and intra-group segments that form a path through the peer group having relatively less transmission medium length than other paths through the peer group.
A model network path administrative cost may be determined according to Equation 1 below.
As shown in Equation 1 above, a model network path administrative cost is equal to a sum of segment costs (SC) added to a sum of switch factors (SW). The sum of segments costs SC is determined by adding the segment costs for all of the inter-group and intra-group network segments
used to form the model network path and the sum of switch factors SW is determined by adding the switch factors for all of the switches
used to form the model network path.
In some cases, a model network path traverses two or more peer groups even though another possible network path between the two nodes may traverse only one other peer group. For example, if a Kansas City (KC) inter-group node 104g is configured to communicate to the SKTN inter-group node 104b, a model network path administrative cost for a network path between the inter-group nodes 104g and 104b may be determined based on a KC-SKTN model network path 304 traverses the TX peer group 102d and the SOCA peer group 102b. In the illustrated example, the KC-SKTN model network path 304, which traverses two peer groups, has the least transmission medium length than any network path that traverses only the TX peer group 102d.
A peer group may have two or more inter-group nodes that can communicate data to or exchange data with the same destination node. Each of the inter-group nodes may function as a backup inter-group node for the other inter-group node to enable other nodes within the same peer group to communicate with the destination node when one of the inter-group nodes is not available (e.g., broken, flooded, etc.). As shown in
To establish a PVC via which to communicate data, a source node within the same peer group as the CHI and KC inter-group nodes 104e and 104g that needs to communicate data to the SF-2 inter-group node 104a will select the inter-group node (e.g., one of the inter-group nodes 104e and 104g) associated with a network path between the source node and the SF-2 inter-group node 104a having the least model network path administrative cost (e.g., the least transmission medium length). Because the CHI-SF-2 model network path 306 is associated with less transmission medium length than the KC-SF-2 model network path 308, a node within the MOKA peer group 102e that is separated by the same amount of transmission length from the CHI inter-group node 104e and the KC inter-group node 104g is more likely to select the CHI inter-group node 104e rather than the KC inter-group node 104g and communicate data to the SF-2 inter-group node 104a via the CHI inter-group node 104e. However, if the CHI inter-group node 104e is not available, the KC inter-group node 104g serves as a backup and any node within the MOKA peer group 102e may exchange data with or communicate data to the SF-2 inter-group node 104a via the KC inter-group node 104g.
Specifying a specific destination node enables a network operator to determine a relatively precise administrative cost based on the transmission medium length between an inter-group node and the specific destination node. On the other hand, specifying the destination as a routing group decreases the relative precision of the administrative cost for communicating to each of the nodes within the routing group because a general-area administrative cost associated a routing group is determined based on the transmission medium length between the inter-group node and a logical network center of the routing group instead of the transmission medium length between the inter-group node and a specific destination node. However, determining a general-area administrative cost reduces maintenance required to update the administrative costs when nodes are removed or added. Additionally, determining general-area administrative costs reduces or eliminates scalability issues associated with processing power and memory required by each switch of a network (e.g., the example telecommunications network 100) as the size of the network increases.
The address prefixes and addresses of the nodes within the example telecommunications network 100 may be determined using, for example, a hierarchical addressing configuration or addressing scheme. An example hierarchical addressing configuration that can be used in combination with PNNI and AINI protocols is ATM End System Addresses (AESA). In AESA, the first six hexadecimal digits of a node ID or address are assigned by a standards body to a specific network operator. The network operator then defines the remainder of the node ID or address for each node. The hierarchical addressing configuration provides various levels of destination granularity or precision for determining model network paths and PVC's. The addressing configuration may be determined using various conditions, guidelines, or requirements. For example, nodes within a common geographic area may have common higher order address bits (e.g., most significant address bits) or address prefixes. The number of higher order address bits that are common between nodes within a geographic area may increase as the size of the geographic area decreases or as the number of nodes within a geographic area decreases.
In the illustrated example address map 400 of
In an example implementation, a network operator may determine a general-area administrative cost associated with communicating information between an inter-group node (e.g., the CHI inter-group node 104e of
The relative precision of a general-area administrative cost may be increased by decreasing the size of the routing group for which an administrative cost is determined. For example, general-area administrative costs may be determined based on the address prefixes of the NOCA and SOCA peer group routing groups 404a and 404b instead of the address prefix of the state-level routing group 402. To determine relatively more precise general-area administrative costs, the nodes within the peer group routing groups 404a and 404b may be further partitioned into network LATA-level routing groups. As shown in
The routing table information may be communicated by the inter-group nodes to any node within the same peer group and used by the nodes to determine network paths via which to establish PVC's as described below in connection with
Each of the routing table entries 502 in the first routing list 504 includes an administrative cost or model network path cost associated with the transmission medium length between the KC inter-group node 104g and a destination node of the NOCA peer group 102a. For example, a first routing table entry 510 corresponds to the KC-SF-2 model network path 308 (
Each of the example routing tables 500a and 500b also includes a segment ID column 512 used to store the network segment ID's of the inter-group network segments (e.g., the CHI-DEN inter-group network segment 110 of
To communicate data to the SF-2 inter-group node 104a from an Atlanta (ATL) intra-group node 604 in the MOKA peer group 102e, the ATL intra-group node 604 may select one of the CHI inter-group node 104e and the KC inter-group node 104g as an egress gateway of the MOKA peer group 102e via which to establish a PVC to the SF-2 inter-group node 104a. The ATL intra-group node 604 selects the one of the CHI and KC inter-group nodes 104e and 104g that is associated with the network path between the ATL intra-group node 604 and the SF-2 inter-group node 104a having the least network path administrative cost (e.g., relatively less transmission medium length) based on the model network path administrative costs stored in the routing tables 500a and 500b of the CHI and KC inter-group nodes 104e and 104g.
A source node or a PVC source node may determine a network path administrative cost (i.e., a network path transmission medium length) or a total administrative cost associated with transmitting data between the PVC source and destination nodes based on the model network path administrative costs associated with the PVC destination node and the intra-group administrative costs associated with any nodes or switches and intra-group network segments (e.g., intra-group network segments 606 and 608) that communicatively couple the PVC source node to the selected inter-group node or egress gateway (e.g., one of the CHI and KC inter-group nodes 104e and 104g). Each inter-group node of a peer group may advertise or communicate the information in its routing table (e.g., one of the example routing tables 500a and 500b) to every node within the same peer group. In this manner, a PVC source node can obtain the model network path administrative costs associated with communicating data to the PVC destination node via each of the inter-group nodes, and determine the network path costs for transmitting data to nodes in terminating peer groups.
If the ATL intra-group node 604 selects a network path via which to transmit data to the SF-2 inter-group node 104a based on the CHI inter-group node 104e and the KC inter-group node 104g, the ATL intra-group node 604 may determine a first network path cost associated with using the CHI inter-group node 104e as described above, determine a second network path cost associated with using the KC inter-group node 104g as described above, compare the first and second network path costs, and select the network path having the relatively lower network path cost (e.g., less transmission medium length or fiber miles). In this case, the network path includes or uses the CHI inter-group node 104e because it is associated with a relatively lower network path cost.
In the illustrated example, the ATL intra-group node 604 (e.g., the PVC source node) determines the network path cost associated with transmitting data from the ATL intra-group node 604 to the SF-2 inter-group node 104a (e.g., the PVC destination node) via the CHI inter-group node 104e by summing the intra-group network segment cost (i.e., the intra-group network segment transmission medium length) for the intra-group network segment 606, the intra-group switch factor cost (i.e., the intra-group switch factor transmission medium length) for the CHI inter-group node 104e, and the model network path administrative cost stored in the routing table 500b (
The ATL intra-group node 604 may determine the network path cost associated with transmitting data from the ATL intra-group node 604 to the SF-2 inter-group node 104a via the KC inter-group node 104g by adding the intra-group administrative cost associated with the intra-group network segment 608 and the switch factor cost of the KC inter-group switch 104g to the model network path administrative cost stored in the routing table 500a for communicating data from the KC inter-group node 104g to the SF-2 inter-group node 104a.
After the ATL intra-group node 604 selects the CHI inter-group node 104e as the inter-group node via which to communicate data to the SF-2 inter-group node 104a, the ATL intra-group node 604 and every node between the ATL intra-group node 604 and the SF-2 inter-group node 104a use a signaling protocol to establish the example PVC 602 between the ATL intra-group node 604 and the SF-2 inter-group node 104a via the CHI inter-group node 104e as is well known in the art. Typically, the signaling protocol is used to establish a PVC along a network path, which may be the model network path on which the network operator based the model network path administrative cost for communicating between the selected inter-group node and the destination node. For example, in the illustrated example depicted in
For cases in which any node or inter-group segment used to form the model network path (e.g., the CHI-SF-2 model network path 306) is not available at the time of establishing the PVC, the nodes between the selected inter-group node and the PVC destination node use the signaling protocol to establish another network path. For example, as shown in
The example system 700 includes a network configuration database 702 configured to store network segment ID's and node ID's (e.g., switch addresses) and configuration information associated with how the network segments and nodes of the example telecommunications network 100 are communicatively coupled. The example system 700 includes a transmission medium length database 704 configured to store transmission medium length values associated with each network segment of the example telecommunications network 100. The transmission medium length database 704 also stores switch factor values associated with the switches or nodes of the example telecommunications network 100. For example, the transmission medium length database 704 may store the transmission medium length values and the switch factor values depicted in the example transmission medium length map 200 of
The example system 700 includes a peer group generator 706 configured to group the nodes (e.g., the inter-group nodes 104a-c and the intra-group node 106 of
The example system 700 includes a routing group generator 708 configured to form routing groups (e.g., the routing groups 402, 404a-b, and 406a-b of
To determine address prefixes associated with nodes within the routing groups formed by the routing group generator 708, the example system 700 includes an address selector 710. Specifically, for each routing group, the address selector 710 is configured to determine a common address prefix associated with all of the nodes within that routing group. In the illustrated example, the address selector 710 is configured to use various conditions, guidelines, or requirements to determine the address prefixes and addresses associated with the nodes. The routing group generator 708 may use the addressing hierarchy configuration to determine routing groups (e.g., the routing groups 402, 404a-b, and 406a-b of
The example system 700 includes an administrative cost generator 712 to determine administrative costs (e.g., transmission medium lengths) associated with each network segment and node (e.g., switch) added to the example telecommunications network 100. For example, the administrative cost generator 712 may obtain user input having transmission medium length or switch factor values associated with each network segment and node or the administrative cost generator 712 may analyze an electronic map such as, for example, the transmission medium length map 200 of
The administrative cost generator 712 may also determine administrative costs (e.g., transmission medium lengths) associated with model network paths (e.g., the CHI-SF-1 model network path 302 of
The administrative cost generator 712 may be configured to perform any arithmetical operation(s) to determine administrative costs. In the illustrated example, the administrative cost generator 712 is configured to multiply the number of switches used to form a model network path by a switch factor value described above in connection with
The intra-group switch 802 and the inter-group switch 804 may be used to implement any intra-group node and inter-group node, respectively, of
In general, the intra-group switch 802 is configured to obtain PVC setup information 812 and select an inter-group node associated with a network path via which to communicate or transmit the data 808 to the destination. The PVC setup information 812 may be generated based on a customer request made to a service provider (e.g., a network operator) to setup or establish a PVC, and includes source and destination information. The service provider then enters the PVC setup information 812 into a network management system (not shown). The network management system then selects a source node (e.g., the intra-group switch 802) and communicates the PVC setup information 812 to the source node.
The intra-group switch 802 determines a network path using the PVC setup information 812 based on model network path administrative costs and intra-group administrative costs associated with inter-group nodes that are capable of communicating data to the destination as described above in connection with
The intra-group switch 802 includes a first data receiver 814 configured to receive the data 808 from the POP equipment 806. The data 808 may be communicated from the POP device 806 to the first data receiver 814 in data packets, data frames, or any other suitable format. The intra-group switch 802 includes a destination analyzer 816 that is configured to receive the PVC setup information 812 and determine destination information (e.g., a destination address) associated with the PVC setup information 812 as is well known in the art.
In the illustrated example, the intra-group switch 802 includes an inter-group switch selector 818 configured to obtain destination addresses from the destination analyzer 816 and select a network path for transmitting data (e.g., the data 808) to respective destination addresses. The inter-group switch selector 818 is communicatively coupled to a peer group topology interface 820 and a second data receiver 822. The peer group topology interface 820 may be used to store the administrative costs of the intra-group network segments (e.g., the intra-group network segments 606 and 608 of
The second data receiver 822 is configured to obtain from the inter-group switch 804 model network path administrative costs associated with communicating data to the destination switch 810 from the inter-group switch 804. For example, the inter-group switch 804 may include the routing table 824 that is substantially similar or identical to the example routing tables 500a and 500b described above in connection with
The inter-group switch selector 818 may determine the network path costs associated with communicating the data 808 via a network path (e.g., a PVC) established between the intra-group switch 802 and the destination switch 810 via the inter-group switch 804. For example, the inter-group switch selector 818 may determine the network path cost of a network path formed using the inter-group switch 804 by adding the model network path administrative cost associated with the inter-group switch 804 to the intra-group administrative costs or intra-group transmission medium length of any switches and intra-group network segments required to communicatively couple the intra-group switch 802 to the inter-group switch 804. The inter-group switch selector 818 may also determine network paths costs associated with other inter-group nodes to which the intra-group switch 802 is communicatively coupled within the same peer group and which are capable of communicating data to the destination switch 810. For example, if the intra-group switch 802 is used to implement the ATL intra-group node 604 (
A comparator 828 obtains the network path costs from the inter-group switch selector 818 and compares the network path costs to one another to determine which one of a plurality of inter-group nodes within the same peer group as the intra-group switch 802 is associated with a network path having relatively less transmission medium length (e.g., least network path cost) between the intra-group switch 802 and the destination switch 810. The comparator 828 may communicate a node ID or switch address of the inter-group node associated with the network path having the least cost to the inter-group switch selector 818. For example, if the network path includes the inter-group switch 804, then the comparator 828 communicates the switch address of the inter-group switch 804 to the inter-group switch selector 818.
The inter-group switch selector 818 then uses the node ID or switch address of the selected inter-group node to route a portion of the PVC between the intra-group switch 802 and the inter-group switch 804. Also, in the illustrated example, the inter-group switch selector 818 is configured to use a routing signaling protocol to cause the nodes between the intra-group switch 802 and the destination switch 810 to establish a PVC (e.g., the example PVC 602 of
For cases in which the inter-group switch 804 (instead of the intra-group switch 802) is the source node, the inter-group switch 804 is configured to also determine a network path and select an inter-group node within the same peer group via which to communicate to a destination node in a manner that is substantially similar to the manner in which the intra-group switch 802 selects an inter-group node. For example, although not shown, the inter-group switch 804 may also be communicatively coupled to a POP device (e.g., the POP device 806) and to other inter-group nodes within the same peer group. In this case, if the inter-group switch 804 is the source node for a data communication, the inter-group switch 804 may determine if a network path between the inter-group switch 804 and the destination node has the least administrative cost than any other network path that may be formed between the inter-group switch 804 and the destination node via another inter-group node within the same peer group as the inter-group switch 804. The inter-group switch 804 may use the model network path administrative costs stored in the routing table 824 and in routing tables of other inter-group nodes to determine a network path and select an inter-group node via which to establish a PVC.
For the purposes of determining a network path and selecting an inter-group node, the inter-group switch 804 includes a destination analyzer 832, an inter-group switch selector 834, a comparator 836, and a local cross connect 838. The destination analyzer 832 is substantially similar or identical to the destination analyzer 816, the inter-group switch selector 834 is substantially similar or identical to the inter-group switch selector 818, the comparator 836 is substantially similar or identical to the comparator 828, and the local cross connect 838 is substantially similar or identical to the local cross connect 830.
As shown in
The flow charts illustrated in
The address selector 710 then determines a hierarchical addressing plan (block 912). For example, the address selector may use a hierarchical addressing configuration such as AESA to determine the hierarchical addressing plan as described above in connection with
The routing group generator 708 (
If the example system 700 determines that a new network segment has been added, then control is passed back to block 914. In this manner, new administrative costs and routing table entries may be generated, if necessary, based on the new network segment. In some cases, the addition of a new inter-group network segment may require modifying or updating routing groups. If a new network segment has not been added, the example system 700 determines if a new node has been added (block 922). The example system 700 may determine that a new node has been added based on, for example, user input or by scanning data records in the network configuration database 702 (
The example method depicted in the flow diagram of
The routing group generator 708 then determines a plurality of preliminary routing groups in the terminating peer group (block 926). For example, the preliminary routing groups may be determined, created, or formed based on geographical locations of nodes by, for example, grouping nodes that are located less than a threshold geographical distance (e.g., less than a distance threshold value) from one another. In some cases, nodes within a particular city or metropolitan area may be grouped to form a preliminary routing group. The preliminary routing groups are used to determine preliminary administrative costs as described below to determine final routing groups such as, for example, the routing groups 402, 404a-b, and 406a-b of
The routing group generator 708 then selects a first inter-group network segment (block 928). For example, the routing group generator 708 may select the CHI-DEN inter-group network segment 110 (
If the routing group generator 708 determines at block 930 that the selected inter-group network segment is a candidate to communicate data to the terminating peer group, then the administrative cost generator 712 determines preliminary model network path costs between the originating peer group determined at block 924 and each preliminary routing group determined at block 926 based on the inter-group network segment selected at block 928 (block 932). For example, the administrative cost generator 712 may use transmission medium lengths and switch factor values in combination with a well-known routing algorithm such as, for example, OSPF, to calculate a plurality of model network path costs, each associated with a model network path including the selected inter-group network segment and having a least transmission medium length from the CHI inter-group node 104e to an ingress node of one of the preliminary routing groups.
After the administrative cost generator 712 determines the preliminary model network path costs at block 932 or if the routing group generator 708 determines at block 930 that the selected inter-group network segment is not a candidate, the routing group generator 708 determines if another inter-group network segment communicatively coupled to the originating peer group may be selected (block 934). For example, the routing group generator 708 may determine if another inter-group network segment communicatively coupled to any inter-group nodes (e.g., the CHI inter-group node 104e or the KC inter-group node 104g of
If the routing group generator 708 determines that another inter-group network segment is not available for selection, then the routing group generator 708 determines if all of the preliminary model network path costs determined at block 932 for all of the preliminary routing groups determined at block 926 and all of the inter-group network segments selected at blocks 928 and 936 are substantially similar (block 938). For example, the routing group generator 708 may compare the model network path costs determined at block 932 to one another and use a predetermined difference threshold value to determine if they are substantially similar in transmission medium length.
If the routing group generator 708 determines at block 938 that all of the model network path costs determined at block 932 for the selected inter-group network segments are not substantially similar, the routing group generator 708 determines if a particular one of the inter-group network segments is associated with the least model network path for each preliminary routing group (block 939). For example, if three preliminary routing groups were formed at block 926, and a different model network path was determined at block 932 for each of the three preliminary routing groups, the routing group generator 708 determines if any one of the inter-group network segments selected at block 928 or block 936 is used to form all three of the model network paths.
If the routing group generator 708 determines at block 939 that a particular inter-group network segment is associated with (e.g., included in, used to form, etc.) the least cost model network path for each of the preliminary routing groups, or if the routing group generator 708 determines at block 938 that all of the model network path costs are substantially similar for each inter-group network segment, then the address selector 710 selects a peer group level address prefix (block 940) for all routing from the originating peer group (e.g., the MOKA peer group 102e of
If the routing group generator 708 determines at block 939 that none of the inter-group network segments selected at block 928 or block 936 is common to (e.g., included in, used to form, etc.) the least cost model network paths for the preliminary routing groups, then the routing generator 708 creates routing groups (e.g., the routing groups 404a-b and/or 406a-b of
The example method of
The routing table interface 714 then configures and stores a routing table entry for the selected inter-group network segment and the target routing group (block 954). For example, the routing table interface 714 may obtain the model network path cost determined at block 952. Also, the routing table interface 714 may obtain an address prefix associated with the target routing group from the address selector 710 and/or the network configuration database 702. The routing table interface 714 may also obtain a network segment ID from the network configuration routing database 702 for the selected inter-group network segment. The routing table interface 714 may store the address prefix, the model network path cost and the network segment ID in one of the routing table entries 512 (
The routing table interface 714 then determines if there is another target routing group (block 956) for which to determine a routing table entry. If there is another target routing group, then the routing table interface 714 selects a next target routing group (block 958) and control is passed back to block 952. Otherwise, if there is not another target routing group the routing table interface 714 determines if there is another inter-group network segment (block 960) for which to determine a routing table entry. If there is another inter-group network segment, then the routing table interface 714 selects a next inter-group network segment (block 962) and control is returned to block 950. Otherwise, if there is not another inter-group network segment, control is returned to a calling function or process such as, for example, the example method of
The example method depicted in the flow diagram of
The destination analyzer 816 then determines if the destination address is within the same peer group as the initial routing switch (block 966). For example, the destination analyzer 816 may obtain the destination address from the PVC setup information 812 and compare the destination address to node addresses obtained via the peer group topology interface 820 (
The intra-group switch 802 and any node between the intra-group switch 802 and the egress gateway determined at block 968 then use a call setup request message based on a protocol such as, for example, PNNI, to establish a PVC up to the egress gateway of the originating peer group (block 970). The egress gateway then communicates the call setup request message to the ingress gateway in the next peer group (block 972) using, for example, an AINI protocol. For example, in
Any switch, gateway, or otherwise node to which the call setup request message is communicated may determine if the connection to that switch, gateway, node, etc. was successful. Accordingly, a node (e.g., a current routing switch) determines if the connection (e.g., the connection between the egress gateway and the ingress gateway) was successful (block 974). If the connection is unsuccessful or the PVC setup is unable to advance, then control is passed back to block 968 with an indication of where the PVC setup failed. In this manner, the original routing node may eliminate the link at which the PVC setup failed from its routing tables and may attempt to find an alternate path for the requested PVC. Otherwise, if the connection was successful, then the ingress gateway becomes the new routing switch and control is passed back to block 966.
If the destination analyzer 816 (in either the initial routing switch as determined at block 964 or another (e.g., a subsequent) routing switch as determined at block 976) determines at block 966 that the destination address obtained from the PVC setup information 812 is within the same peer group as the routing switch, then the routing switch performs a calculation to determine a path to the destination node (block 978) within the same peer group. The routing switch then communicates a call setup request message using, for example, a PNNI protocol, to one or more other nodes within the same peer group to establish a PVC between the routing switch and the destination node (block 980). The destination node then completes the PVC between the routing switch and the destination node (block 982). It is then determined if the PVC setup was successful (block 984). If at any node along the network path the PVC setup could not be advanced, control is passed back to block 978. Otherwise, if the connection was successful, control is returned to a calling process or function such as, for example, the example method of
The processor 1002, in the example of
The example processor system 1000 may be, for example, a conventional desktop personal computer, a notebook computer, a workstation or any other computing device. The processor 1002 may be any type of processing unit, such as a microprocessor from Intel or any other processor manufacturer.
The memories 1006, 1008, and 1010, which form some or all of the system memory 1004, may be any suitable memory devices and may be sized to fit the storage demands of the system 1000. The ROM 1008, the flash memory 1010, and the mass storage memory 1012 are non-volatile memories. Additionally, the mass storage memory 1012 may be, for example, any magnetic or optical media that is readable by the processor 1002.
The input device 1016 may be implemented using a keyboard, a mouse, a touch screen, a track pad, microphone, or any other device that enables a user to provide information to the processor 1002. Further examples may include a cell phone, a personal digital assistant (PDA), a remote control, etc.
The removable storage device drive 1026 may be, for example, an optical drive, such as a compact disk-recordable (CD-R) drive, a compact disk-rewritable (CD-RW) drive, a digital versatile disk (DVD) drive or any other optical drive. It may alternatively be, for example, a magnetic media drive. The removable storage media 1028 is complimentary to the removable storage device drive 1026, inasmuch as the media 1028 is selected to operate with the drive 1026. For example, if the removable storage device drive 1026 is an optical drive, the removable storage media 1028 may be a CD-R disk, a CD-RW disk, a DVD disk, or any other suitable optical disk. On the other hand, if the removable storage device drive 1026 is a magnetic media device, the removable storage media 1028 may be, for example, a diskette, or any other suitable magnetic storage media. The display device 1030 may be, for example, a liquid crystal display (LCD) monitor, a cathode ray tube (CRT) monitor, or any other suitable device that acts as an interface between the processor 1002 and a user's or observer's visual sense. Furthermore, the display device 1030 may be part of a conventional television.
The example processor system 1000 also includes a network adapter 1036, such as, for example, a frame relay network interface card, an ATM network interface card or any other network interface card. The network adapter 1036 provides network connectivity between the processor 1002 and a network 1040, which may be communicatively coupled to the example telecommunications network 100 of
Although certain methods, apparatus, and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. To the contrary, this patent covers all methods, apparatus, and articles of manufacture fairly falling within the scope of the appended claims either literally or under the doctrine of equivalents.
Sierecki, Edward, Sehgal, Aditya
Patent | Priority | Assignee | Title |
8285900, | Feb 17 2009 | The Board of Regents of the University of Texas System | Method and apparatus for congestion-aware routing in a computer interconnection network |
8694704, | Feb 17 2009 | Board of Regents, University of Texas Systems | Method and apparatus for congestion-aware routing in a computer interconnection network |
8917607, | Aug 21 2009 | Verizon Patent and Licensing Inc. | Optimized layer-2 network switching systems and methods |
8984096, | Apr 16 2007 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting data in a peer-to-peer network |
9571399, | Feb 17 2009 | The Board of Regents of the University of Texas System | Method and apparatus for congestion-aware routing in a computer interconnection network |
Patent | Priority | Assignee | Title |
4873517, | Jun 23 1988 | International Business Machines Corporation | Method for selecting least weight end node to end node route in a data communications network |
5115495, | Oct 18 1988 | Green Wireless LLC | Communications network system using full-juncture and partial-juncture station status information for alternate-path distance-vector routing |
5535195, | May 06 1994 | Google Technology Holdings LLC | Method for efficient aggregation of link metrics |
5790546, | Jan 28 1994 | ENTERASYS NETWORKS, INC | Method of transmitting data packets in a packet switched communications network |
5940372, | Jul 13 1995 | CISCO TECHNOLOGY, INC , A CORPORATION OF CALIFORNIA | Method and system for selecting path according to reserved and not reserved connections in a high speed packet switching network |
5958063, | Jun 30 1997 | Verizon Patent and Licensing Inc | Method and system for pre-patching a communications network |
5959975, | May 23 1997 | Verizon Patent and Licensing Inc | Method of telecommunications demand-route multiplexing (DEROM) |
5970050, | Apr 30 1996 | British Telecommunications public limited company | Allocating communication traffic |
5999103, | Jun 30 1997 | Verizon Patent and Licensing Inc | Method and system for assigning spare transmission links to restoral routes |
6052796, | Jun 30 1997 | Verizon Patent and Licensing Inc | Method and system for augmenting communications network with spare capacity |
6078586, | Aug 03 1998 | Verizon Patent and Licensing Inc | ATM virtual private networks |
6314093, | Dec 24 1997 | Apple Inc | Traffic route finder in communications network |
6366560, | Mar 20 1998 | Fujitsu Limited | Route selection service control system |
6400681, | Jun 20 1996 | Cisco Technology, Inc | Method and system for minimizing the connection set up time in high speed packet switching networks |
6639898, | May 25 1999 | XRS Corporation | Wide area mobile communication networks with multiple routing mode options |
6646989, | Jun 29 1998 | WSOU Investments, LLC | Hop-by-hop routing with node-dependent topology information |
6661797, | Feb 28 2000 | WSOU Investments, LLC | Quality of service based path selection for connection-oriented networks |
6697333, | Mar 04 1998 | WSOU Investments, LLC | Bandwidth load consideration in network route selection |
6785737, | Jul 31 2001 | WSOU Investments, LLC | Network resource allocation methods and systems |
6813241, | Dec 18 1999 | CIENA LUXEMBOURG S A R L ; Ciena Corporation | Network architecture and method of providing link protection in a bidirectional data traffic network |
6925061, | Dec 26 2001 | Alcatel-Lucent Canada Inc | Multi-constraint routing system and method |
6928484, | Jan 18 2000 | Cisco Technology, Inc. | Method and apparatus for discovering edge-disjoint shortest path pairs during shortest path tree computation |
7099277, | Feb 20 2002 | Mitsubishi Electric Research Laboratories, Inc. | Dynamic optimal path selection in multiple communications networks |
7146000, | Jan 25 2002 | Level 3 Communications, LLC | Routing engine for telecommunications network |
7187652, | Dec 26 2001 | Alcatel-Lucent Canada Inc | Multi-constraint routing system and method |
7231459, | Dec 17 2002 | Routing scheme based on virtual space representation | |
7257643, | May 16 2002 | Intel Corporation | Method and apparatus to improve network routing |
7349427, | Dec 21 2001 | RPX CLEARINGHOUSE LLC | Routing method and apparatus for optimising auto-tunnelling in a heterogeneous network |
7355980, | Nov 21 2000 | International Business Machines Corporation | Costs in data networks |
7369767, | Jul 11 2003 | Alcatel | Method of determining a spectral route in an optical telecommunications network |
7403483, | Jun 17 2002 | RAKUTEN GROUP, INC | Optimum route calculation method and storage medium which stores optimum route calculation program |
7460481, | Dec 01 2004 | Cisco Technology, Inc.; Cisco Technology, Inc | Inter-domain TE-LSP with IGP extensions |
7535828, | Mar 18 2005 | Cisco Technology, Inc.; Cisco Technology, Inc | Algorithm for backup PE selection |
7580360, | Oct 14 2003 | Cisco Technology, Inc. | Method and apparatus for generating routing information in a data communications network |
7646719, | Dec 02 2004 | Cisco Technology, Inc.; Cisco Technology, Inc | Inter-domain TE-LSP selection |
20020120770, | |||
20020163882, | |||
20020172157, | |||
20030016410, | |||
20030016411, | |||
20030026209, | |||
20030033582, | |||
20030120804, | |||
20030126284, | |||
20030214945, | |||
20050073998, | |||
20050243723, | |||
20050265251, | |||
20060117110, | |||
20060171320, | |||
20060182035, | |||
20060209716, | |||
WO2004006137, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 02 2005 | SIERECKI, EDWARD | SBC KNOWLEDGE VENTURES, L P , A CORP OF NEVADA | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016963 | /0202 | |
Sep 02 2005 | SIERECKI, EDWARD | SBC KNOWLEDGE VENTURES, L P , A NEVADA PARTNERSHIP | THIS ASSIGNMENT WAS PREVIOUSLY RECORDED AT R F 016963 0202 HOWEVER, THE PREVIOUS RECORDAL SHEET INCORRECTLY IDENTIFIED THE ASSIGNEE, SBC KNOWLEDGE VENTURES, AS THE CORPORATION THE ASSIGNEE, SBC KNOWLEDGE VENTURES, L P , IS A PARTNERSHIP ORGANIZED AND EXISTING IN THE STATE OF NEVADA AS CLEARLY INDICATED IN THE ORIGINALLY RECORDED ASSIGNMENT WHICH IS RE-SUBMITTED HEREWITH ACCORDINGLY THIS CORRECTED COVER SHEET IS BEING FILED FOR RECORDATION TO CORRECT THE APPARENT ERROR | 017498 | /0394 | |
Sep 06 2005 | AT&T Intellectual Property I, L.P. | (assignment on the face of the patent) | / | |||
Sep 08 2005 | SEHGAL, ADITYA | SBC KNOWLEDGE VENTURES, L P | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 017107 | /0148 | |
Sep 08 2005 | SEHGAL, ADITYA | SBC KNOWLEDGE VENTURES, L P | RE-RECORD TO CORRECT THE ASSIGNEE S NAME ON A DOCUMENT PREVIOUSLY RECORDED AT REEL 017107, FRAME 0148 ASSIGNMENT OF ASSIGNOR S INTEREST | 017611 | /0730 |
Date | Maintenance Fee Events |
Sep 01 2011 | ASPN: Payor Number Assigned. |
Sep 01 2011 | RMPN: Payer Number De-assigned. |
Dec 29 2014 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 14 2018 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Feb 27 2023 | REM: Maintenance Fee Reminder Mailed. |
Aug 14 2023 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Jul 12 2014 | 4 years fee payment window open |
Jan 12 2015 | 6 months grace period start (w surcharge) |
Jul 12 2015 | patent expiry (for year 4) |
Jul 12 2017 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 12 2018 | 8 years fee payment window open |
Jan 12 2019 | 6 months grace period start (w surcharge) |
Jul 12 2019 | patent expiry (for year 8) |
Jul 12 2021 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 12 2022 | 12 years fee payment window open |
Jan 12 2023 | 6 months grace period start (w surcharge) |
Jul 12 2023 | patent expiry (for year 12) |
Jul 12 2025 | 2 years to revive unintentionally abandoned end. (for year 12) |