1. Field of the Invention
The present invention relates to network technology. More particularly, the present invention relates to methods and apparatus for encapsulating a frame for transmission in a storage area network.
2. Description of the Related Art
When interconnecting computers and other devices in a network, it has become desirable to create “virtual local area networks” (VLANs), in which all devices coupled to a VLAN receive all frames or packets which are universally addressed (whether by broadcast, multicast, or some other technique) on that VLAN, and in which all frames or packets which are universally addressed by a device on a VLAN are not distributed to devices outside the VLAN. The VLAN approach is particularly desirable when a single physical infrastructure is to be made available to multiple parties, each requiring that its data be kept private from the other parties. Further, the VLAN approach protects network entities on a given VLAN from failures of devices on the same infrastructure but belonging to a different VLAN.
Various VLAN transport protocol technologies have been proposed and come to be accepted in the art. For example, VLAN technologies which are now common include LANE (for ATM LAN-Emulation), IEEE Standard 802.10, and various proprietary schemes such as Inter-Switch Links (ISL) (e.g., for Cisco Catalyst.TM. Inter-Switch Links).
In order to allow multiple VLANs to share a single inter-switch link on the underlying physical topology, the interswitch link protocol (ISL) was developed at Cisco Systems. See for example U.S. Pat. No. 5,742,604, entitled “Interswitch link mechanism for connecting high-performance network switches,” Edsall, et al., issued on Apr. 21, 1998 to Cisco Systems, Inc., which is hereby incorporated by reference for all purposes. ISL provides an encapsulation mechanism for transporting packets between ports of different switches in a network on the basis of VLAN associations among those ports
Although ISL supports multiple VLANs on a single underlying network topology, certain limitations have been observed. Some of these limitations prevent easy implementation of ISL on modem storage area networks (SANs).
In recent years, the capacity of storage devices has not increased as fast as the demand for storage. Therefore a given server or other host must access multiple, physically distinct storage nodes (typically disks). In order to solve these storage limitations, the storage area network was developed. Generally, a storage area network is a high-speed special-purpose network that interconnects different data storage devices and associated data hosts on behalf of a larger network of users. However, although a SAN enables a storage device to be configured for use by various network devices and/or entities within a network, data storage needs are often dynamic rather than static.
A SAN may use various types of network traffic such as Ethernet or Fibre Channel frames. Regardless of the technology used, current SAN technology requires that a single protocol (e.g., Fibre Channel) be used throughout a particular SAN. Thus, current technology fails to address the need for supporting a multiple SAN system in which different transport protocols or technologies simultaneously co-exist. Note that ISL was originally designed for encapsulation of Ethernet packets. It does not support multiple different protocols on a single physical network infrastructure.
Ethernet is currently the most widely-installed LAN technology. The most commonly installed Ethernet systems are 10BASE-T systems, which provide transmission speeds up to 10Mbps. Alternatively, fast Ethernet systems, 100BASE-T systems, provide transmission speeds up to 100 megabits per second, while Gigabit Ethernet provides support at 1000 megabits per second (or 1 billion bits per second).
While Ethernet is widely used, use of fibre channel is proliferating in systems which demand high bandwidth and low latency. More specifically, the fibre channel family of standards (developed by the American National Standards Institute (ANSI)) defines a high speed communications interface for the transfer of large amounts of data between a variety of hardware systems such as personal computers, workstations, mainframes, supercomputers, storage devices and servers that have fibre channel interfaces. Fibre channel is particularly suited for connecting computer servers to shared storage devices and for interconnecting storage controllers and drives. Moreover, fibre channel is capable of transmitting data between computer devices at a data rate of up to 1 Gbps (or 1 billion bits per second), and a data rate of 10 Gbps has been proposed by the Fibre Channel Industry Association. Accordingly, fibre channel is a technology that is in widespread use for transmitting data in SANs. However, as indicated above, ISL was not optimized for fibre channel transmissions.
In view of the above, it would be desirable if properties of a VLAN could be merged with those of a SAN to enable various storage devices to be logically assigned to various entities within a network. Moreover, it would be beneficial if a single switching mechanism could simultaneously support different transport protocols (including at least fibre channel) within a network such as a SAN.
Methods and apparatus for encapsulating a packet or frame for transmission in a storage area network are disclosed. More particularly, according to the disclosed encapsulation process, a packet or frame is encapsulated with a virtual storage area network (VSAN) identifier. Through generation and transmission of such an encapsulated packet or frame, implementation of a single VSAN as well as a network including multiple interconnected VSANs may be achieved.
In accordance with various embodiments of the present invention, an encapsulation mechanism is implemented in a virtual storage area network (VSAN). Through the concept of a VSAN, one or more network devices (e.g., servers) and one or more data storage devices are grouped into a logical network defined within a common physical infrastructure. Each VSAN is uniquely identified by a VSAN identifier.
In accordance with one aspect of the invention, a packet or frame compatible with a standard protocol employed in the storage area network is received or generated. The packet or frame is then encapsulated with a VSAN identifier. For instance, a new header (or trailer) may be appended to the packet or frame compatible with the standard protocol. Once encapsulated, the encapsulated packet or frame is sent over the storage area network. The encapsulated packet or frame is typically sent over a link such as an enhanced interswitch link shared by multiple VSANs.
In addition to the VSAN identifier, the encapsulated packet or frame may include further information. More particularly, in accordance with one embodiment, the packet or frame is also encapsulated with at least one of a Time To Live (TTL) value and/or Multi-Protocol Label Switching (MPLS) information. For instance, the TTL value may be used to specify a number of remaining hops that can be traversed before the encapsulated packet or frame is dropped. The TTL value may also be used to specify a remaining lifetime in units of time (e.g. milliseconds). MPLS is a common forwarding mechanism used in various technologies to forward packets and frames such as IP packets and Ethernet frames. However, MPLS has not been implemented or proposed for use with Fibre Channel frames.
In accordance with another embodiment, the frame is encapsulated with a type of traffic to be carried by the frame. For instance, the type of traffic to be carried by the frame may include Ethernet, Fibre Channel, and Infiniband. Typically, this “type” refers to the standard protocol employed to generate the frame in question. Through the identification of a traffic type, frames carrying a variety of traffic types may be transmitted within a VSAN. Moreover, multiple VSANs, each capable of supporting different traffic types, may be interconnected through the identification of a traffic type in the newly appended header.
Various network devices may be configured or adapted for generation of a frame compatible with a standard protocol (e.g., Fibre Channel). Similarly, a variety of network devices may be capable of receiving the frame, encapsulating the frame, and sending the encapsulated frame via a VSAN. These network devices include, but are not limited to, servers (e.g., hosts) and switches. Moreover, the functionality for the above-mentioned generation and encapsulation processes may be implemented in software as well as hardware.
Yet another aspect of the invention pertains to computer program products including machine-readable media on which are provided program instructions for implementing the methods and techniques described above, in whole or in part. Any of the methods of this invention may be represented, in whole or in part, as program instructions that can be provided on such machine-readable media. In addition, the invention pertains to various combinations and arrangements of data generated and/or used as described herein. For example, encapsulated frames having the format described herein and provided on appropriate media are part of this invention.
These and other features of the present invention will be described in more detail below in the detailed description of the invention and in conjunction with the following figures.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be obvious, however, to one skilled in the art, that the present invention may be practiced without some or all of these specific details. In other instances, well known process steps have not been described in detail in order not to unnecessarily obscure the present invention.
As described above, a storage area network (SAN) is a network that interconnects different data storage devices with associated network hosts (e.g., data servers or end user machines) on behalf of a larger network of users. A SAN is defined by the physical configuration of the system. In other words, those devices in a SAN must be physically interconnected.
In accordance with various embodiments of the present invention, the physical SAN is shared by multiple virtual storage area networks (VSANs), each using some or all of the physical infrastructure of the SAN. An encapsulation mechanism is employed to implement the VSANs. Through the concept of a VSAN, one or more network devices (e.g., servers) and one or more data storage devices are grouped into a logical network defined within a common physical network infrastructure. Communication among these devices may be accomplished by coupling the network devices and data storage devices together through one or more switches. Exemplary data storage devices that may be used in a VSAN include, but are not limited to, storage disks in various configurations such as a redundant array interconnected disk
Each VSAN is uniquely identified by a VSAN identifier rather than any particular physical configuration of devices within the network. For instance, a unique identifier may be simultaneously associated with one or more network devices as well as one or more storage devices. In general, the VSAN identifier does not represent any particular physical network device or link.
Within a VLAN infrastructure, individual VLANs are distinguished through the use of a VLAN identifier (e.g., within the range of zero through 4094). In accordance with various embodiments of the invention, individual VSANs will be distinguished within a VSAN infrastructure through the use of a VSAN identifier, as described above. It would be desirable to support mixed infrastructures containing both VLANs and VSANs, for example, using a trunk link or router able to carry traffic among VLANs and VSANs.
In accordance with one embodiment, VLAN identifiers and VSAN identifiers share the same number space. In other words, any given number can be a VSAN identifier or a VLAN identifier, but cannot be used to independently identify a VSAN and a VLAN at the same time. For example, it would not be possible to have both a VSAN #1 and VLAN #1 at the same time.
In accordance with another embodiment, VLAN identifiers and VSAN identifiers have independent number spaces. In other words, a given number can be either a VSAN identifier or a VLAN identifier, as well as an identifier for both a VSAN and a VLAN simultaneously. Since a number may correspond to either a VSAN or a VLAN, the type of network (e.g., VSAN or VLAN) is also identified. Thus, VSAN #1 and VLAN #1 can both exist at the same time as different and independent virtual networks. This type may be a separate field in the EISL header or may be incorporated into the frame type (e.g., traffic type), which will be described in further detail below with reference to
One or more VSANs may be created through logically grouping various network devices with selected data storage devices. For instance, as shown in
To ensure that network traffic crossing interswitch links 124 and 126 is properly routed to (and limited to) devices within the associated VSANs, the traffic must be identifiable as either VSAN1 traffic or VSAN2 traffic. This can be accomplished in various ways. One convenient methodology employed with this invention encapsulates data frames with some sort of VSAN identifier. That way switches 118, 120, and 122 can examine frames crossing links 124 and 126 to determine which VSAN is involved and make appropriate switching decisions based upon this information.
Various embodiments of the invention may be applied to encapsulate a packet or frame as described below with reference to
For convenience, the subsequent discussion will describe encapsulated frames used to transmit data over SAN. Switches act on frames and use information about VSANs to make switching decisions. Thus, in accordance with various embodiments of the invention, frames that originate within a VSAN are constrained to stay within the physical resources allotted to that VSAN. Thus, a gateway working at a higher protocol layer (e.g., application layer 7) may pass such a packet from one VSAN to another. In order to enforce this restriction, frames may be encapsulated with a structure that identifies a VSAN to which the frames belong. Once encapsulated, the encapsulated frame is moved across network nodes; in particular over inter-switch links in the storage area network. Thus, through this encapsulation, a single link may transport frames associated with multiple VSANs. An exemplary encapsulated packet will be described in farther detail below with reference to
Note that the frames being encapsulated possess the frame format specified for a standard protocol such as Ethernet or fibre channel. Hence, software and hardware conventionally used to generate such frames may be employed with this invention. Additional hardware and/or software is employed to encapsulate the standard frames in accordance with this invention. Those of skill in the art will understand how to develop the necessary hardware and software to allow encapsulation of the type described below.
In accordance with the present invention, a frame compatible with a standard protocol employed in a storage area network is obtained at a node where encapsulation subsequently takes place. The frame is generated by a network device such as a host, switch, or storage device. In a typical scenario, the host machine generates the frame in accordance with a standard protocol such as fibre channel and forwards the frame to a switch. The switch then performs an encapsulation process such as that described below. In some embodiments, the host or storage device may itself perform the encapsulation described herein.
In still other embodiments, the switch may receive a data stream and first frame it in accordance with a standard protocol and then encapsulate the resulting frame to produce the new frames of this invention. The resulting encapsulated frame is sometimes referred to herein an “extended ISL” (EISL) frame because of its general relationship with the interswitch link protocol described in U.S. Pat. No. 5,742,604, previously incorporated by reference.
As just explained, the encapsulation process may be performed by a network device outside the switch (e.g., by a host) as well as within a switch. Obviously, the appropriate network devices should be configured with the appropriate software and/or hardware for performing EISL encapsulation. Of course, all network devices within the storage area network need not be configured with EISL encapsulation software (or hardware). Rather, selected network devices may be configured with or adapted for EISL encapsulation functionality. Similarly, in various embodiments, such EISL encapsulation functionality may be enabled or disabled through the selection of various modes. Moreover, it may be desirable to configure selected ports of network devices as EISL-capable ports capable of performing EISL encapsulation, either continuously, or only when in an EISL enabled state.
The standard protocol (e.g., layer 2 protocol) employed in the storage area network (i.e., the protocol used to frame the data) will typically, although not necessarily, be synonymous with the “type of traffic” carried by the network. As explained below, the type of traffic is defined in some encapsulation formats. Examples of the type of traffic are typically layer 2 or corresponding layer formats such as Ethernet and Fibre Channel.
Another type of traffic that may be used within a VSAN is an InfiniBand architecture, which is a relatively recent input/output (I/O) specification for servers. More particularly, connections between servers, remote storage and networking are accomplished by attaching all devices through a central, unified, fabric of InfiniBand switches and links. Stated benefits of the InfiniBand architecture include lower latency, easier and faster sharing of data, and built in security and quality of service. The InfiniBand architecture is a rapidly developing technology for server clusters as well as I/O for remote storage and networking. Thus, the InfiniBand Architecture is well suited to address the demands generated by the rapid growth of the Internet and the convergence of data and telecommunications (voice, data, video, and storage) on the Internet. With InfiniBand, data is transmitted in one or more packets that together form a message. For instance, a message can be a remote direct memory access (RDMA) read or write operation, a channel send or receive message, a transaction-based operation (that can be reversed), or a multicast transmission.
In addition, other types of traffic may include token ring, token bus, and various protocols compatible with satellite systems such as Aloha. It is also important to note that the type of traffic should also be supported by the technology used in the storage area network. For instance, the technology used in the hosts and/or switches (e.g., interface port circuitry) as well as the communication mediums should support the traffic type being carried in the encapsulated frame.
As shown in
In accordance with various embodiments, as shown in
In accordance with various embodiments, an EISL frame 302 such as that illustrated in
The EISL header further includes a field indicating a frame type 406 (i.e., traffic type). The type of traffic (e.g., payload) to be carried by the frame may include a variety of traffic types such as those described above, including but not limited to, Ethernet, fibre channel, and Infiniband. In one embodiment, the frame type field 406 is a 4-bit field. Through the identification of a traffic type, EISL formatted frames carrying a variety of traffic types may be transmitted within a VSAN. Moreover, multiple VSANs, each capable of supporting different traffic types, may be interconnected through the identification of a traffic type in the newly appended EISL header.
Multi-Protocol Label Switching (MPLS) label field (e.g., Indicator) 408 indicates whether the EISL header is carrying MPLS information such as an MPLS label stack, a common forwarding mechanism for both fibre channel and Ethernet frames. An exemplary MPLS label stack will be described in further detail below with reference to
Priority field 410 may indicate a user priority for the EISL frame. The user priority may represent various types of priorities. As one example, the user priority may be a generic priority, without a guaranteed level of service, that is used to merely indicate a priority such as a numerical ranking. For instance, higher values simply represent higher user priority while lower values may represent lower priority. Higher priority users receive available bandwidth first, regardless of how much total bandwidth is available. The number of bits used for this field will vary with the number of priority levels or values implemented.
As another example, the user priority may indicate a quality of service (QoS) of the payload of the EISL frame. On the Internet and in other networks, QoS is the idea that transmission rates, error rates, and other characteristics can be measured, improved, and, to some extent, guaranteed in advance. QoS is of particular concern for the continuous transmission of high-bandwidth video and multimedia information. Transmitting this kind of content dependably is difficult in public networks using ordinary “best effort” protocols. Typically, the number of bits required for a priority field are greater to specify the quality of service than a simple numerical priority. In one embodiment, the priority field 410 is a 3-bit field.
As described above, the EISL header, at a minimum, includes a VSAN identifier field 412 adapted for including a VSAN identifier that identifies one or more VSANs. More particularly, in accordance with one embodiment, the VSAN identifier identifies a VSAN associated with the payload of the EISL frame, and therefore the payload of the original frame (e.g., Fibre Channel frame). In accordance with one embodiment, the VSAN identifier field 412 is a 12-bit field. The format of the identifier may be identical to or similar to VLAN identifiers as well as similar to addresses employed in certain standard protocols such as Ethernet.
In some storage area networks, there may be topology as well as routing problems that could cause a frame to traverse a loop within the network. Such a loop will consume bandwidth unnecessarily. In order to solve this problem, a Time To Live (TTL) field 414 may be used to indicate a TTL value specifying the number of remaining hops that can be traversed before the frame is dropped. More specifically, the TTL value of the TTL field 414 is initialized by the network device (e.g., switch) that generates the EISL frame including the EISL header. A default value may, for example, be set to 16. Subsequent network devices (e.g., switches) receiving the EISL frame decrement the TTL value of the TTL field 414 by 1.
In accordance with one embodiment, a TTL value of 1 indicates to the receiving network device (e.g., switch) that the EISL frame should be dropped. When the EISL frame is dropped, an error message may be sent to the intended recipient of the frame as well as to the sender of the frame. Similarly, a TTL value of 0 may indicate that the TTL field 414 should be ignored, allowing the EISL frame to be forwarded by the switch. In accordance with one embodiment, the TTL field 414 is an 8-bit field.
As described above, an MPLS indicator 408 may be used to indicate whether the EISL header is carrying MPLS information such as an MPLS label stack 416. As a packet of a connectionless network layer protocol travels from one router to the next, each router makes an independent forwarding decision for that packet. That is, each router analyzes the packet's header, and each router runs a network layer routing algorithm. Each router independently chooses a next hop for the packet, based on its analysis of the packet's header and the results of running the routing algorithm.
Packet headers contain considerably more information than is needed simply to choose the next hop. Choosing the next hop can therefore be thought of as the composition of two functions. The first function partitions the entire set of possible packets into a set of “Forwarding Equivalence Classes (FECs).” The second function maps each FEC to a next hop. Insofar as the forwarding decision is concerned, different packets which get mapped into the same FEC are indistinguishable. All packets which belong to a particular FEC and which travel from a particular node will follow the same path (or if certain kinds of multi-path routing are in use, they will all follow one of a set of paths associated with the FEC).
In conventional IP forwarding, a particular router will typically consider two packets to be in the same FEC if there is some address prefix X in that router's routing tables such that X is the “longest match” for each packet's destination address. As the packet traverses the network, each hop in turn reexamines the packet and assigns it to a FEC. In MPLS, the assignment of a particular packet to a particular FEC is done just once, as the packet enters the network. The FEC to which the packet is assigned is encoded as a short fixed length value known as a “label.”
When a packet is forwarded to its next hop, the label is sent along with it; that is, the packets are “labeled” before they are forwarded. At subsequent hops, there is no further analysis of the packet's network layer header. Rather, the label is used as an index into a table which specifies the next hop and a new label. The old label is replaced with the new label, and the packet is forwarded to its next hop. In the MPLS forwarding paradigm, once a packet is assigned to a FEC, no further header analysis is done by subsequent routers; all forwarding is driven by the labels. This has a number of advantages over conventional network layer forwarding. For instance, through MPLS labels, it is possible to circumvent conventional IP routing. Further details of the MPLS forwarding mechanism and MPLS label stack encoding are disclosed in RFC 3031, Multiprotocol Label Switching Architecture, Rosen et al., January 2001 and RFC 3032, MPLS Label Stack Encoding, Rosen et al., January 2001, respectively, and are incorporated by reference for all purposes.
As described above with reference to block 408 of
Experimental field 504 may be reserved for experimental use. The experimental field 504 is typically used to encode the Differentiated Service Code Point (DSCP), which is a mechanism for Quality of Service.
In addition, a termination field 506 may be provided in the label to indicate if this label is the last label in the stack. In accordance with one embodiment, the termination field is a single bit indicator. For instance, the termination field 506 may indicate that the label is the last label in the label stack when the indicator is in a first state (e.g., 1) and that the label is not the last label in the label stack when the indicator is in a second state (e.g., 0).
The label may also include a TTL field 508. The TTL field 508 is typically used to provide TTL field semantics associated with IPv4 packets or Hop Count semantics associated with IPv6 packets.
As described above, encapsulation may be performed in a variety of network devices.
As shown in
Once the frame is appropriately formatted for transmission, the frame will be received by a buffer queuing block 606 prior to transmission. Rather than transmitting frames as they are received, it may be desirable to temporarily store the frame in a buffer or queue 606. For instance, it may be desirable to temporarily store a packet based upon Quality of Service in one of a set of queues that each correspond to different priority levels. The frame is then transmitted via switch fabric 610 to the appropriate port. Each outgoing port also has its own MAC block and bi-directional connector via which the frame may be transmitted.
Although the network device described above with reference to
Once the EISL frame is generated, the encapsulated frame may be sent by the switch over an inter-switch (ISL) link configured to couple source and destination port interface circuitry in a sequential arrangement of interconnected switches as illustrated in
Although illustrative embodiments and applications of this invention are shown and described herein, many variations and modifications are possible which remain within the concept, scope, and spirit of the invention, and these variations would become clear to those of ordinary skill in the art after perusal of this application. For instance, the present invention is described as being implemented using a specific EISL header. However, it should be understood that the invention is not limited to such implementations, but instead would equally apply regardless of the fields defined in such a header. Moreover, the present invention would apply regardless of the context and system in which it is implemented. Thus, broadly speaking, the operations described above need not be used within a SAN, but may be used to enable protocol compatibility within any network.
In addition, although an exemplary switch is described, the above-described embodiments may be implemented in a variety of network devices (e.g., servers) as well as in a variety of mediums. For instance, instructions and data for implementing the above-described invention may be stored on a disk drive, a hard drive, a floppy disk, a server computer, or a remotely networked computer. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5428471 | McDermott | Jun 1995 | A |
5506838 | Flanagan | Apr 1996 | A |
5617421 | Chin et al. | Apr 1997 | A |
5675741 | Aggarwal et al. | Oct 1997 | A |
5682479 | Newhall et al. | Oct 1997 | A |
5708659 | Rostoker et al. | Jan 1998 | A |
5740159 | Ahmad et al. | Apr 1998 | A |
5740171 | Mazzola et al. | Apr 1998 | A |
5742604 | Edsall et al. | Apr 1998 | A |
5764636 | Edsall | Jun 1998 | A |
5809285 | Hilland | Sep 1998 | A |
5818603 | Motoyama | Oct 1998 | A |
5819112 | Kusters | Oct 1998 | A |
5862125 | Russ | Jan 1999 | A |
5959972 | Hamami | Sep 1999 | A |
5959990 | Frantz et al. | Sep 1999 | A |
5964841 | Rekhter | Oct 1999 | A |
5999930 | Wolff | Dec 1999 | A |
6035105 | McCloghrie et al. | Mar 2000 | A |
6046985 | Aldred | Apr 2000 | A |
6101497 | Ofek | Aug 2000 | A |
6160813 | Banks et al. | Dec 2000 | A |
6188668 | Brewer et al. | Feb 2001 | B1 |
6188694 | Fine et al. | Feb 2001 | B1 |
6202135 | Kedem et al. | Mar 2001 | B1 |
6205488 | Casey et al. | Mar 2001 | B1 |
6208623 | Rochberger et al. | Mar 2001 | B1 |
6208649 | Kloth | Mar 2001 | B1 |
6209059 | Ofer et al. | Mar 2001 | B1 |
6219699 | McCloghrie et al. | Apr 2001 | B1 |
6226771 | Hilla et al. | May 2001 | B1 |
6260120 | Blumenau et al. | Jul 2001 | B1 |
6262977 | Seaman et al. | Jul 2001 | B1 |
6266705 | Ullum et al. | Jul 2001 | B1 |
6269381 | St. Pierre et al. | Jul 2001 | B1 |
6269431 | Dunham | Jul 2001 | B1 |
6295296 | Tappan | Sep 2001 | B1 |
6295575 | Blumenau et al. | Sep 2001 | B1 |
6330614 | Aggarwal et al. | Dec 2001 | B1 |
6337861 | Rosen | Jan 2002 | B1 |
6388995 | Gai et al. | May 2002 | B1 |
6408001 | Chuah et al. | Jun 2002 | B1 |
6426952 | Francis et al. | Jul 2002 | B1 |
6438612 | Ylonen et al. | Aug 2002 | B1 |
6473421 | Tappan | Oct 2002 | B1 |
6493349 | Casey | Dec 2002 | B1 |
6529963 | Fredin et al. | Mar 2003 | B1 |
6532212 | Soloway et al. | Mar 2003 | B1 |
6597663 | Rekhter | Jul 2003 | B1 |
6604407 | Kano | Aug 2003 | B2 |
6643287 | Callon et al. | Nov 2003 | B1 |
6661773 | Pelissier et al. | Dec 2003 | B1 |
6674760 | Walrand et al. | Jan 2004 | B1 |
6728220 | Behzadi | Apr 2004 | B2 |
6728848 | Tamura et al. | Apr 2004 | B2 |
6775230 | Watanabe et al. | Aug 2004 | B1 |
6804776 | Lothberg et al. | Oct 2004 | B1 |
6848007 | Reynolds et al. | Jan 2005 | B1 |
6859435 | Lee et al. | Feb 2005 | B1 |
6879560 | Cahn | Apr 2005 | B1 |
6904053 | Berman | Jun 2005 | B1 |
6915358 | Horton et al. | Jul 2005 | B2 |
6920133 | Boodaghians | Jul 2005 | B1 |
6920153 | Ellis et al. | Jul 2005 | B2 |
6920154 | Achler | Jul 2005 | B1 |
6947379 | Gleichauf et al. | Sep 2005 | B1 |
6959151 | Cotter et al. | Oct 2005 | B1 |
6975589 | Luft et al. | Dec 2005 | B2 |
6985490 | Czeiger et al. | Jan 2006 | B2 |
7006525 | Jha | Feb 2006 | B1 |
7026288 | Judice et al. | Apr 2006 | B2 |
7027406 | Shabtay et al. | Apr 2006 | B1 |
7046679 | Sampath | May 2006 | B2 |
7050392 | Valdevit | May 2006 | B2 |
7054304 | Wang | May 2006 | B2 |
7061858 | Di Benedetto et al. | Jun 2006 | B1 |
7072298 | Paul et al. | Jul 2006 | B2 |
7079544 | Wakayama et al. | Jul 2006 | B2 |
7082140 | Hass | Jul 2006 | B1 |
7085846 | Jenne et al. | Aug 2006 | B2 |
7155494 | Czeiger et al. | Dec 2006 | B2 |
7161935 | Alonso et al. | Jan 2007 | B2 |
7206288 | Cometto et al. | Apr 2007 | B2 |
7216158 | Revanuru et al. | May 2007 | B2 |
7221652 | Singh et al. | May 2007 | B1 |
7275103 | Thrasher et al. | Sep 2007 | B1 |
7302494 | Hayashi et al. | Nov 2007 | B2 |
7319669 | Kunz et al. | Jan 2008 | B1 |
7328260 | Muthiyan et al. | Feb 2008 | B1 |
7355983 | Scudder et al. | Apr 2008 | B2 |
7376755 | Pandya | May 2008 | B2 |
20010049739 | Wakayama et al. | Dec 2001 | A1 |
20020009081 | Sampath et al. | Jan 2002 | A1 |
20020101868 | Clear et al. | Aug 2002 | A1 |
20020110125 | Banks et al. | Aug 2002 | A1 |
20020150039 | Valdevit et al. | Oct 2002 | A1 |
20020152338 | Elliott et al. | Oct 2002 | A1 |
20020156918 | Valdevit et al. | Oct 2002 | A1 |
20020156924 | Czeiger et al. | Oct 2002 | A1 |
20020176434 | Yu et al. | Nov 2002 | A1 |
20020188754 | Foster et al. | Dec 2002 | A1 |
20030012204 | Czeiger et al. | Jan 2003 | A1 |
20030016624 | Bare | Jan 2003 | A1 |
20030101239 | Ishizaki | May 2003 | A1 |
20030107987 | Kinstler | Jun 2003 | A1 |
20030118053 | Edsall et al. | Jun 2003 | A1 |
20030145116 | Moroney et al. | Jul 2003 | A1 |
20030149848 | Ibrahim et al. | Aug 2003 | A1 |
20030163727 | Hammons et al. | Aug 2003 | A1 |
20030189929 | Matsuzaki et al. | Oct 2003 | A1 |
20040100910 | Desai et al. | May 2004 | A1 |
20040151174 | Del Signore et al. | Aug 2004 | A1 |
20040151188 | Maveli et al. | Aug 2004 | A1 |
20040230787 | Blumenau et al. | Nov 2004 | A1 |
20040233921 | Krieg et al. | Nov 2004 | A1 |
20050018701 | Dropps | Jan 2005 | A1 |
20050036499 | Dutt et al. | Feb 2005 | A1 |
20050080903 | Valenci | Apr 2005 | A1 |
20050108444 | Flauaus | May 2005 | A1 |
20050117562 | Wrenn | Jun 2005 | A1 |
20050267965 | Heller | Dec 2005 | A1 |
20060034302 | Peterson | Feb 2006 | A1 |
20060038263 | Eigner et al. | Feb 2006 | A1 |
20060087963 | Jain et al. | Apr 2006 | A1 |
20060092932 | Ghosh et al. | May 2006 | A1 |
20060153186 | Bector | Jul 2006 | A1 |
20060159081 | Dropps | Jul 2006 | A1 |
20080028096 | Henderson et al. | Jan 2008 | A1 |
Number | Date | Country |
---|---|---|
0772121 | May 1997 | EP |
1134938 | Sep 2001 | EP |
1187406 | Mar 2002 | EP |
2-209044 | Aug 1990 | JP |
10-293633 | Nov 1998 | JP |
2000-22699 | Feb 2000 | JP |
2001-154929 | Jun 2001 | JP |
2001-320420 | Nov 2001 | JP |
2001-345865 | Dec 2001 | JP |
WO 0031925 | Jun 2000 | WO |
WO 0119027 | Mar 2001 | WO |
WO 0195565 | Dec 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20030118053 A1 | Jun 2003 | US |