1. Field of the Invention
This invention relates to communications networks. More particularly, this invention relates to methods and systems for improved utilization of communications networks configured as layer-2 ring networks.
2. Description of the Related Art
The meanings of acronyms and certain terminology used herein are given in Table 1.
Local Area Networks (LAN's) connect computing systems together. LAN's of all types can be connected together using Media Access Control (MAC) bridges, as set forth in the “IEEE Standard for Information Technology, Telecommunications and Information Exchange between Systems, Local and Metropolitan Area Networks, Common Specifications, Part 3: Media Access Control (MAC) Bridges,” published as ANSI/IEEE Standard 802.1D (1998). The 802.1D standard is available via the Internet at the URL standards.ieee.org/catalog/IEEE802.1.html.
Data networks, including LAN's, are commonly conceptualized as a hierarchy of layers according to the Open System Interconnection Model (OSI). OSI defines a networking framework for implementing protocols in seven layers, of which layer-3 (network layer), and layer-2 (data link layer) are relevant to the instant invention.
Implementation of layer-3 requires high level knowledge of the network organization, and access to router tables that indicate where to forward or send data. This layer provides high level switching and routing technologies, and creates logical paths, known as virtual circuits, for transmitting data from node to node. In layer-3, data is transmitted by creating a frame that usually contains source and destination network addresses.
Layer-2 encapsulates the layer-3 frame, adding more detailed data link control information to form a new, larger frame. Layer-2 implements a transmission protocol and handles flow control, frame synchronization, and handles errors arising in the physical layer (layer-1). Layer-2 is divided into two sublayers: a media access control (MAC) sublayer and a logical link control (LLC) sublayer. The MAC sublayer controls how a computer on the network gains access to the data and its permission to transmit the data. The LLC layer controls frame synchronization, flow control and error checking.
HDLC (High-level Data Link Control) is a related term that refers to a group of layer-2 protocols or rules for transmitting data between network points, known as nodes. In HDLC, data is organized into frames and sent across a network to a destination that verifies its successful arrival. The HDLC protocol also manages the flow or pacing at which data is sent.
The Open Shortest Path First (OSPF) protocol is a link-state layer-3 routing protocol used for Internet routing. OSPF is described in detail by Moy in OSPF Version 2, published as Request for Comments (RFC) 2328 of the Internet Engineering Task Force (IETF) Network Working Group (April, 1998), which is incorporated herein by reference. This document is available at www.ietf.org, as are the other IETF RFC and draft documents mentioned below. OSPF is used by a group of Internet Protocol (IP) routers in an Autonomous System (AS) to exchange information regarding the system topology. The term “Autonomous System” denotes a group of routers exchanging routing information via a common routing protocol. Each OSPF router maintains an identical topology database, with exceptions as noted below. Based on this database, the routers calculate their routing tables by constructing a shortest-path tree to each of the other routers.
Each individual piece of the topology database maintained by the OSPF routers describes the “local state” of a particular router in the Autonomous System. This local state includes information such as the router's usable interfaces and reachable neighbors. The routers distribute their local state information by transmitting a link state advertisement (LSA). Packets containing link state advertisements are flooded throughout the routing domain. The other routers receive these packets and use the LSA information to build and update their databases.
OSPF allows collections of contiguous networks and hosts to be grouped together to form an OSPF area. An OSPF area includes routers having interfaces to any one of the grouped networks. Each area runs a separate copy of the basic link-state routing algorithm. The topology of an OSPF area is invisible from outside of the area. Conversely, routers internal to a given area does not know the detailed topology external to the area. This isolation of knowledge results in a marked reduction in routing traffic, as compared to treating the entire Autonomous System as a single link-state domain. A router in an Autonomous System has a separate topological database for each area to which it is connected. Routers connected to multiple areas are called area border routers. However, routers belonging to the same area have, for that area, identical area topological databases.
An OSPF LSA database allows a layer-3 aware network element, such as a router, to build its routing table by running the well-known SPF algorithm. The element then routes IP packets based on the actual routing table and on the destination IP address in the IP packet header. A cost is associated with the output side of each router interface, and is used by the router in choosing the least costly path for the packets. This cost is configurable by the system administrator. The lower the cost, the more likely the interface is to be used to forward data traffic. For the purposes of cost calculation and routing, OSPF recognizes two types of networks (which may be organized as IP networks, subnets or supernets): point-to-point networks, which connect a single pair of routers; and multi-access networks, supporting two or more attached routers. Each pair of routers on a multi-access network is assumed to be able to intercommunicate directly. An Ethernet is an example of a multi-access network. Each multi-access network includes a “designated router,” which is responsible for flooding LSA's over the network, as well as certain other protocol functions. Further details concerning network cost calculation and routing are disclosed in application Ser. No. 10/211,066, (Publication No. 20030103449), which is commonly assigned herewith, and herein incorporated by reference.
Multi-access layer-2 networks may be configured internally as rings. The leading bi-directional protocol for layer-2 high-speed packet rings is the Resilient Packet Rings (RPR) protocol, which is in the process of being defined as IEEE standard 802.17. Network-layer-routing over RPR is described, for example, by Jogalekar et al., in IP over Resilient Packet Rings (Internet Draft draft-jogalekar-iporpr-00), and by Herrera et al., in A Framework for IP over Packet Transport Rings (Internet Draft draft-ietf-ipoptr-framework-00). A proposed solution for media access control (MAC protocol layer-2) in bi-directional ring networks is the Spatial Reuse Protocol (SRP), which is described by Tsiang et al., in the IETF document RFC-2892, entitled The Cisco SRP MAC Layer Protocol. Using protocols such as these, each node in a ring network can communicate directly with all other nodes through either an inner or an outer ring, using the appropriate Media Access Control (MAC) addresses of the nodes. The terms “inner” and “outer” are used arbitrarily herein to distinguish the different ring traffic directions. These terms have no physical meaning with respect to the actual configuration of the network.
Multiprotocol Label Switching (MPLS) is gaining popularity as a method for efficient transportation of data packets over connectionless networks, such as Internet Protocol (IP) networks. MPLS is described in detail by Rosen et al., in Request for Comments (RFC) 3031 of the Internet Engineering Task Force (IETF), entitled “Multiprotocol Label Switching Architecture” (January, 2001). In conventional IP routing, each router along the path of a packet sent through the network analyzes the packet header and independently chooses the next hop for the packet by running a routing algorithm. In MPLS, however, each packet is assigned to a Forwarding Equivalence Class (FEC) when it enters the network, depending on its destination address. The packet receives a short, fixed-length label identifying the FEC to which it belongs. All packets in a given FEC are passed through the network over the same path by label-switching routers (LSR's). Unlike IP routers, LSR's simply use the packet label as an index to a look-up table, which specifies the next hop on the path for each FEC and the label that the LSR should attach to the packet for the next hop.
Since the flow of packets along a label-switched path (LSP) under MPLS is completely specified by the label applied at the ingress node of the path, a LSP can be treated as a tunnel through the network. Such tunnels are particularly useful in network traffic engineering, as well as communication security. MPLS tunnels are established by “binding” a particular label, which is assigned at the ingress node to the network, to a particular FEC.
Currently, layer-3 routing protocols, such as RIP and OSPF, are unaware of the topology of layer-2 RPR networks with which they must interact. A routing table allows the router to forward packets from source to destination via the most suitable path, i.e., lowest cost, minimum number of hops. The routing table is updated via the routing protocol, which dynamically discovers currently available paths. The routing table may also be updated via static routes, or can be built using a local interface configuration, which is updated by the network administrator. However, the RPR ingress and egress nodes chosen in the operation of automatic routing protocols do not take into account the internal links within the RPR ring, and may therefore cause load imbalances within the RPR subnet, which generally results in suboptimum performance of the larger network.
According to a disclosed embodiment of the invention, methods and systems are provided for the manipulation of layer-3 network nodes, external routers, routing tables and elements of layer-2 ring networks, such as RPR networks, enabling the layer-3 elements to view the topology of a layer-2 ring subnet. This feature permits routers to choose optimal entry points to the layer-2 subnet for different routes that pass into or through the layer-2 subnet. This enables virtual tunnels or routing paths to utilize all existing entry links to the subnet and to minimize cost factors, such as the number of spans required to traverse the subnet from the entry point to a destination node of the subnet.
In an aspect of the invention, the routing tables of RPR subnet elements are manipulated such that traffic routes originating in or passing through different elements of the RPR subnet and destined for network locations outside the RPR ring have individualized exit nodes. The exit points for the different routes are chosen to minimize cost factors, such as the number of spans required to reach the exit node from each node of the layer-2 subnet.
The invention provides a method for obtaining ingress to a layer-2 ring network to reach nodes thereof, the nodes including ingress nodes that couple the ring network to an external layer-3 network, which is carried out in the ingress nodes by creating entries in a host table, each of the entries including an address of a respective one of the nodes of the ring network and a metric that is determined responsively to a topology of the ring network. Thereafter, the method is further carried out by uploading the host table to external elements of the layer-3 network, defining paths from the external elements to designated ones of the nodes of the ring network by selecting one of the ingress nodes for each of the paths responsively to the metric, and transmitting data from network elements that are external to the ring network to at least one of the nodes via a selected one of the paths.
According to an aspect of the method, the ring network is a RPR subnet.
According to an additional aspect of the method, the ingress nodes are selected responsively to a minimum value of the metric.
According to another aspect of the method, the ingress nodes are selected responsively to a maximum value of the metric.
In an additional aspect of the method, paths are defined in one or more of the external elements. The paths may be virtual tunnels.
In one aspect of the method, the layer-3 network is an IP network, and uploading is achieved by flooding router LSA's with a mask, which can be a 32-bit mask.
In another aspect of the method stub networks are flooded to achieve uploading.
One aspect of the method uploading is performed by external LSA advertising to the layer-3 network.
According to another aspect of the method, the metric includes a cost factor that is computed between one of the ingress nodes and the respective one of the nodes.
According to yet another aspect of the method, the cost factor varies with a number of layer-2 spans between the one ingress node and the respective one of the nodes.
In another aspect of the method paths are defined by computing a total cost based on the cost factor and on interface costs that are assigned in the layer-3 network, and selecting the paths so as to minimize the total cost.
According to a further aspect of the method, the metric is determined responsively to a number of hops between the ingress nodes and the respective one of the nodes.
According to another aspect of the method, the ingress nodes are configured with an interface cost on the layer-3 network, and the metric is determined proportionally to the interface cost and to the number of hops.
According to a further aspect of the method, the ingress nodes are configured with an interface cost on the layer-3 network, and the metric is determined by the interface cost divided by the number of hops.
The invention provides a computer software product, including a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to perform a method for obtaining ingress from an external layer-3 network to a layer-2 ring network to reach nodes thereof, which is carried out by configuring ingress nodes of the ring network to create entries in a host table, each of the entries including an address of a respective one of the nodes of the ring network and a metric. The method is further carried out by configuring the ingress nodes to thereafter upload the host table to external elements of a data network that interfaces with the ring network via the ingress nodes, configuring the external elements to define paths from the external elements to designated ones of the nodes of the ring network, each of the paths leading through a selected one of the ingress nodes responsively to the metric, and transmitting data from network elements that are external to the ring network to at least one of the nodes via a selected one of the paths.
The invention provides a network routing system for obtaining ingress from an external layer-3 network to a layer-2 ring network to reach nodes thereof, including first routers disposed in ingress nodes of the ring network. The first routers are adapted for creating entries in a host table, each of the entries including an address of a respective one of the nodes of the ring network and a metric. The first routers are further adapted for uploading the host table to external elements of a data network that interfaces with the ring network via the ingress nodes. A second router is disposed in at least one of the external elements. The second router is adapted for defining paths from the external elements to designated ones of the nodes of the ring network, each of the paths leading through a selected one of the ingress nodes responsively to the metric, and transmitting data from network elements that are external to the ring network to at least one of the nodes via a selected one of the paths.
The invention provides a method for obtaining egress from a layer-2 ring network to an external layer-3 network, which is carried out in nodes of the ring network by creating entries in a host table, each of the entries including an address of a respective one of the nodes of the ring network, and a metric determined responsively to a topology of the ring network. The method is further carried out by defining paths from the nodes through egress nodes of the ring network to external elements in the external layer-3 network, selecting one of the paths responsively to the metric, and transmitting data from at least one of the nodes via the selected one of the paths to network elements that are external to the ring network.
The invention provides a computer software product, including a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to perform a method for obtaining egress from a layer-2 ring network to an external layer-3 network, which is carried out in nodes of the ring network by creating entries in a host table, each of the entries including an address of a respective one of the nodes of the ring network and a metric. The method is further carried out by defining paths from the nodes through egress nodes of the ring network, selecting one of the paths responsively to the metric, and transmitting data from the nodes via the selected paths to network elements that are external to the ring network.
The invention provides a network routing system for obtaining egress from a layer-2 ring network to an external layer-3 network, including a plurality of routers disposed in nodes of the ring network. The routers are adapted for creating entries in a host table, each of the entries including an address of a respective one of the nodes of the ring network and a metric. The routers are further adapted for defining paths from the nodes through egress nodes of the ring network, for selecting one of the paths responsively to the metric, and for transmitting data from the nodes via the selected paths to network elements that are external to the ring network.
The invention provides a method for routing data through a layer-2 ring network, the ring network having interface nodes with external network elements of a data network and non-interface nodes, which is carried out in the interface nodes of the ring network by creating first entries in a first host table, each of the first entries including an address of a respective one of the non-interface nodes and a first metric. The method is further carried out by thereafter uploading the first host table to the external network elements, and using the first host table to identify optimum ingress paths from the external network elements to the non-interface nodes, each of the ingress paths leading through one of the interface nodes responsively to the first metric. The method is further carried out in the non-interface nodes of the ring network by creating second entries in a second host table, each of the second entries including an address of a respective one of the interface nodes and a second metric, using the second host table to identify optimum egress paths from the non-interface nodes through different ones of the interface nodes of the ring network responsively to the second metric, and transmitting data to and from the ring network via the ingress paths and the egress paths.
For a better understanding of the present invention, reference is made to the detailed description of the invention, by way of example, which is to be read in conjunction with the following drawings, wherein like elements are given like reference numerals, and wherein:
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent to one skilled in the art, however, that the present invention may be practiced without these specific details. In other instances well-known circuits, control logic, and the details of computer program instructions for conventional algorithms and processes have not been shown in detail in order not to unnecessarily obscure the present invention.
Software programming code, which embodies aspects of the present invention, is typically maintained in permanent storage, such as a computer readable medium. In a client-server environment, such software programming code may be stored on a client or a server. The software programming code may be embodied on any of a variety of known media for use with a data processing system. This includes, but is not limited to, magnetic and optical storage devices such as disk drives, magnetic tape, compact discs (CD's), digital video discs (DVD's). In addition, while the invention may be embodied in computer software, the functions necessary to implement the invention may alternatively be embodied in part or in whole using hardware components such as application-specific integrated circuits or other hardware, or some combination of hardware components and software.
Overview.
Turning now to the drawings, reference is initially made to
Routers in the network 10, such as a router at the IP/MPLS node 26, build routing tables, each containing routing entries for specific destination networks and the specification of a hop to the next router along the path to the destination network. Table 2 is an example of such an entry. The destination in Table 2 is shown as a network address. This means that all IP packets to all hosts (in this case the RPR nodes 14, 16, 18, 20, 22) within the RPR subnet 12 (10.10.10.0) flow through the same path.
There are signaling protocols known in the art, such as RSPV-TE or LDP, which use the routing table to create virtual tunnels in the data network 10 with pre-defined reserved bandwidth along the routing path. These tunnels might be provisioned to use dynamic routes, as specified by the routing protocol, i.e., routes that are configured automatically (i.e., dynamically path-routed according to the IGP route) by the routers based on factors such as cost parameters assigned to different links. Protocols for route discovery are known as interior gateway protocols (IGP), such as OSPF, RIP, IS-IS. When different routes to the same destination have the same cost, the routers choose one of the routes arbitrarily, according to some predefined criterion. In a multi-access subnet, such as the RPR subnet 12 shown in
As mentioned above, layer-3 protocols, such as OSPF are unaware of the layer-2 RPR ring topology with multiple segments between two adjacent nodes. OSPF update dynamically updates the routing table of external routers, such as the IP/MPLS node 26, so as to route packets to the RPR subnet 12 via a single entry point based on minimum cost. In
There are two important disadvantages of this conventional behavior:
First, all the tunnels utilize only one RPR entry link. The other two possible links via the RPR nodes 16, 22 remain unused.
Second, the tunnels are configured on RPR spans without minimum hop ring entry awareness. For example, if a tunnel were to be established so as to reach the RPR node 20, it would have been preferred that the tunnel be configured dynamically via the RPR node 22 as an entry point, instead of the RPR node 14. Configuring the tunnel via the RPR node 22 would result in minimum RPR span utilization. This is apparent from the topology of the RPR subnet 12, wherein two RPR spans are required to reach the RPR node 20 from the RPR node 14, a first span connecting the RPR node 14 to the RPR node 22, and a second span connecting the RPR node 22 to the RPR node 20. Only one RPR span is required to reach the RPR node 20 from the RPR node 22. OSPF is not aware of the topology of the RPR subnet 12, and simply sees it as one layer-2 network. OSPF in conventional operation is thus unable to optimally route IP packets to each RPR network element with the number of RPR spans minimized, and therefore cannot configure a signaled MPLS tunnel via the shortest path through the layer-2 structure. In this sense, OSPF has no layer-2 visibility.
Considering outbound traffic from the RPR subnet 12 to external routers and networks, such as the network 24, the same exit point for a particular destination network is utilized in conventional operation, regardless of the originating node of the RPR subnet 12. This is due to the fact that when OSPF constructs its internal database, three alternatives for the exit point, the RPR nodes 14, 16, 22, are considered. Assuming that the cost from each exit point (i.e., the RPR nodes 14, 16, 22) to the destination network 24 (30.30.30.0/24) is equal, each of the elements of the RPR subnet 12 will construct its routing table so that the same exit point is always chosen to that destination, without considering the number of RPR spans utilized to reach the chosen exit point, for example, the RPR nodes 16, 18, 20 will all have the following entry in their routing tables: 10.10.10.10, as shown in Table 3.
In Table 3, the cost factor in the routing table entry from the RPR subnet 12 to the network 24 (30.30.30.0) is 120+Y, where Y is the cost to the destination in the IP/MPLS network beyond the IP/MPLS node 26 (NEa).
In one aspect of the invention, the inventors have discovered how to overcome the above-mentioned disadvantages by manipulating the costs associated with different RPR nodes, so as to cause the routing tables of external layer-3 network elements, such as the IP/MPLS node 26 and other external routers (not shown), to point to different RPR-IP host address in the RPR subnet 12 via different entry points into the RPR ring. This technique can be used to cause virtual tunnels to be created dynamically, and other routing paths to utilize all existing entry links to the RPR subnet 12. The costs are typically manipulated using a metric that favors signaled LSP tunnels and other paths that cover the minimum number of hops (or least incur minimum cost) from the entry point to the desired RPR node.
In another aspect of the invention, the same cost manipulation causes the host routing tables of the RPR nodes 14, 16, 18, 20, 22 in the RPR subnet 12 to select different respective RPR ring exit nodes for outbound IP traffic intended for the same destination network. The exit point that is selected for the RPR nodes 14, 16, 18, 20, 22 is based on minimum cost, taking into consideration the number of RPR spans required to reach the exit node.
In the detailed examples given below, the metric is defined in such a way that the route selected is the one with the lowest metric score. Alternatively, many different metrics can be defined. For example, the metric may be defined so that the dynamic selection of ingress and exit points could be responsive to a maximum value of the metric.
Ingress Routing.
Reference is now made to
At initial step 30, a RPR node of a RPR subnet examines its configuration with respect to the subnet topology.
Control passes immediately to decision step 32, where the current node, chosen in initial step 30, determines if it has at least one IP external interface (e.g., the interface 10.10.12.1/24 of the RPR node 14 (
If the determination at decision step 32 is negative, then control proceeds to final step 34, which is described below.
If the determination at decision step 32 is affirmative, then at step 36 the current node updates its host routing table (OSPF Version 2, Appendix C.7) with all other mate RPR-IP nodes in the ring based on the RPR reference topology. This table indicates what hosts are directly attached to a router, and what metrics and types of service should be advertised for them. In embodiments employing OSPF Version 2, details of the host routing table are given in Appendix C.7 (RFC 2328) of the above-noted OSPF specification. All RPR host addresses that are specified in the RPR reference topology are added to the host routing table. The reference topology is updated with all IP RPR addresses within the RPR ring. For example, in
Next, at step 38, each entry of the OSPF host table is updated to indicate the OSPF area to which the RPR node belongs.
Next, at step 40, each entry added in step 36 is specified by a cost metric. In one embodiment, the metric is based on the following formula
COSTm=K1*#OfHopsToNode'sIpAdd+K2. (1)
K1 and K2 may be calculated as
and K2=1. Alternatively, other values of K1, K2 may be calculated, wherein in Equation 1 and Equation 2:
CostConfiguredonRprIpInterface is the actual cost configured by the operator on the IP interface of the RPR. For example, in each of the RPR nodes shown in
#ofNodesInReferenceTopology is the number of nodes in the RPR ring, as listed in the node's reference topology. For example, the number of nodes in the RPR subnet 12 (
#OfHopsToNode'sIpAdd is the number of RPR spans from the current node to the given destination node for the present entry, as indicated in the RPR reference topology via the shortest route (i.e., outer or inner ringlet direction). For example, in
The operator “*” represents multiplication.
Equation 1 and Equation 2 are representative of a formula for calculating a cost factor. Many alternative metrics and formulas can be applied in step 40.
Next, at step 42 entries in the OSPF host table are flooded in the current OSPF area using router LSA packets. This step updates all external routers as well as all RPR nodes with the new entries. This step will cause the OSPF database to be synchronized in all participating OSPF areas.
At step 44 all external routers, such as the IP/MPLS node 26 (
Alternatively, advertising may be achieved using external LSA advertising as specified in OSPF Version 2, Section 12, Link State Advertisements. In this advertising method, each RPR node is added to the external LSA database with a 32-bit mask. Cost is calculated is described above, using Equation 1. Furthermore, although the embodiments described herein make use of OSPF, the methods of the present invention may similarly be adapted for use with other routing and control protocols.
In either case, external routers now evaluate alternate paths to the nodes of a RPR subnet, based on the OSPF database updates that they received at step 42. Referring again to the example of
Control now proceeds to final step 34, where a route to the RPR node is chosen. Typically, the external router will choose the path with a lowest cost. In the embodiment shown in
Egress Routing.
The OSPF standard allows multiple equal-cost paths to exist to a destination, having different next hop addresses. Referring again to the example of
Reference is now made to
At initial step 46, a RPR node of the RPR subnet examines its OSPF routing table and selects groups consisting of at least two table entries. Each entry of a given group corresponds to a specific destination network, and involves more than one next hop to the destination network. This and the steps that follow apply not only to OSPF, but also to other routing protocols that support equal multi-path routing tables. Again, as in the flow chart presented in
Next, at step 48, the RPR node updates its routing table. Entries (corresponding to routes) that were selected in initial step 46, are cost adjusted in accordance with Equation 1 and Equation 2.
Next, at step 50, the routes adjusted in step 48 are analyzed by the RPR node.
Next, at final step 52 an optimum path from the RPR node to an external node via an exit point of the RPR subnet is chosen. The metric enables the nodes of the ring to choose the best egress node for each external address. This is done in the same manner as in final step 34 (
It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and subcombinations of the various features described hereinabove, as well as variations and modifications thereof that are not in the prior art, which would occur to persons skilled in the art upon reading the foregoing description.
Number | Name | Date | Kind |
---|---|---|---|
3411507 | Wingrove | Nov 1968 | A |
4535785 | Van den Honert et al. | Aug 1985 | A |
4573481 | Bullara | Mar 1986 | A |
4602624 | Naples et al. | Jul 1986 | A |
4608985 | Crish et al. | Sep 1986 | A |
4628942 | Sweeney et al. | Dec 1986 | A |
4649936 | Ungar et al. | Mar 1987 | A |
4702254 | Zabara | Oct 1987 | A |
4739764 | Lue et al. | Apr 1988 | A |
4867164 | Zabara | Sep 1989 | A |
4962751 | Krauter | Oct 1990 | A |
5025807 | Zabara | Jun 1991 | A |
5188104 | Wernicke et al. | Feb 1993 | A |
5199430 | Fang et al. | Apr 1993 | A |
5205285 | Baker, Jr. | Apr 1993 | A |
5215086 | Terry, Jr. et al. | Jun 1993 | A |
5263480 | Wernicke et al. | Nov 1993 | A |
5282468 | Klepinski | Feb 1994 | A |
5292344 | Douglas | Mar 1994 | A |
5299569 | Wernicke et al. | Apr 1994 | A |
5335657 | Terry, Jr. et al. | Aug 1994 | A |
5423872 | Cigaina | Jun 1995 | A |
5540730 | Terry, Jr. et al. | Jul 1996 | A |
5540734 | Zabara | Jul 1996 | A |
5571150 | Wernicke et al. | Nov 1996 | A |
5690691 | Chen et al. | Nov 1997 | A |
5707400 | Terry, Jr. et al. | Jan 1998 | A |
5716385 | Mittal et al. | Feb 1998 | A |
5755750 | Petruska et al. | May 1998 | A |
5836994 | Bougeois | Nov 1998 | A |
6026326 | Bardy | Feb 2000 | A |
6083249 | Familoni | Jul 2000 | A |
6091992 | Bourgeois et al. | Jul 2000 | A |
6097984 | Douglas | Aug 2000 | A |
6104955 | Bourgeois | Aug 2000 | A |
6205359 | Boveja | Mar 2001 | B1 |
6205488 | Casey et al. | Mar 2001 | B1 |
6275493 | Morris et al. | Aug 2001 | B1 |
6304575 | Carroll et al. | Oct 2001 | B1 |
6314110 | Chin et al. | Nov 2001 | B1 |
6466985 | Goyal et al. | Oct 2002 | B1 |
6507577 | Mauger et al. | Jan 2003 | B1 |
6510141 | Ramfelt et al. | Jan 2003 | B1 |
6522627 | Mauger | Feb 2003 | B1 |
6604136 | Chang et al. | Aug 2003 | B1 |
6628624 | Mahajan et al. | Sep 2003 | B1 |
6760775 | Anerousis et al. | Jul 2004 | B1 |
6765921 | Stacey et al. | Jul 2004 | B1 |
6778494 | Mauger | Aug 2004 | B1 |
6778496 | Meempat et al. | Aug 2004 | B1 |
6886043 | Mauger et al. | Apr 2005 | B1 |
6952395 | Manoharan et al. | Oct 2005 | B1 |
6952397 | Mor et al. | Oct 2005 | B2 |
6956820 | Zhu et al. | Oct 2005 | B2 |
6992975 | Daniel et al. | Jan 2006 | B1 |
7035279 | Bruckman | Apr 2006 | B2 |
7042846 | Bauer | May 2006 | B2 |
7161899 | Limaye et al. | Jan 2007 | B2 |
7180887 | Schwaderer et al. | Feb 2007 | B1 |
7197008 | Shabtay et al. | Mar 2007 | B1 |
7212490 | Kao et al. | May 2007 | B1 |
7260097 | Casey | Aug 2007 | B2 |
7483399 | Zelig et al. | Jan 2009 | B2 |
20010032271 | Allen | Oct 2001 | A1 |
20020024974 | Karagiannis et al. | Feb 2002 | A1 |
20020118700 | Bruckman | Aug 2002 | A1 |
20020176371 | Behzadi | Nov 2002 | A1 |
20020176450 | Kong et al. | Nov 2002 | A1 |
20030009594 | McElligott | Jan 2003 | A1 |
20030074469 | Busi et al. | Apr 2003 | A1 |
20030103449 | Barsheshet et al. | Jun 2003 | A1 |
20030118041 | Fontana et al. | Jun 2003 | A1 |
20030147345 | Takagi et al. | Aug 2003 | A1 |
20030147352 | Ishibashi et al. | Aug 2003 | A1 |
20030152025 | Anderson et al. | Aug 2003 | A1 |
20030154315 | Sultan et al. | Aug 2003 | A1 |
20030185217 | Ganti et al. | Oct 2003 | A1 |
20030227919 | Zelig et al. | Dec 2003 | A1 |
20040022268 | Busi et al. | Feb 2004 | A1 |
20040109408 | Mesh et al. | Jun 2004 | A1 |
20040170184 | Hashimoto | Sep 2004 | A1 |
20040202171 | Hama | Oct 2004 | A1 |
20040208554 | Wakai et al. | Oct 2004 | A1 |
20050010685 | Ramnath et al. | Jan 2005 | A1 |
20050226265 | Takatori | Oct 2005 | A1 |
20050249233 | Akaba et al. | Nov 2005 | A1 |
20060109802 | Zelig et al. | May 2006 | A1 |
20070268821 | Levit et al. | Nov 2007 | A1 |
20070268915 | Zelig et al. | Nov 2007 | A1 |
Number | Date | Country |
---|---|---|
WO 0110375 | Feb 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20050213558 A1 | Sep 2005 | US |