System and method for regulating messages between networks

Information

  • Patent Grant
  • 8189468
  • Patent Number
    8,189,468
  • Date Filed
    Wednesday, October 25, 2006
    18 years ago
  • Date Issued
    Tuesday, May 29, 2012
    13 years ago
Abstract
A system and method for interconnecting networks. In one embodiment, a message is received from a first network to be communicated to a target device of a second network. Data within the message is identified. A determination is made whether the data is allowable based on a policy. The message is communicated to the target device of the second network in response to determining the data is allowed.
Description
BACKGROUND

Simple Network Management Protocol (SNMP) is an Internet Protocol (IP) based signaling protocol that is used for in-band or out-of-band management of Internet Protocol (IP) devices. In particular, SNMP is used by network management systems for monitoring network-attached devices for conditions that warrant administrative attention. For security purposes most SNMP signaling is encrypted or handled out-of-band whenever possible. Out-of-band communication is the exchange of signal control information in a separate band of the data or voice channel, or on an entirely separate dedicated channel.


In some cases, Ethernet may be used to provide connectivity for access between different carrier networks. The carrier networks may include a host network providing a network service and a customer network that consumes or redistributes the network service. For example, SNMP access to a device, such as a switch or hub, may be controlled by a SNMP server. Each network element communicates with the SNMP signaling collection server. For security reasons, only the owner of the network elements is allowed access to SNMP signaling ports of the SNMP server. This access applies to in-band and in many cases, out-of-band connectivity to the SNMP server. This limitation may be particularly frustrating to the customer network that seeks performance and operational information about the host network.


Because an Ethernet connection is non-synchronous and has no end-to-end signaling to indicate a far end problem, the only way for a customer to understand if a problem exists within a host network is to place a device at the far end that the customer may manage remotely. This alternative is costly and only works when the transport and IP layers are configured correctly. Additionally, the new device introduces another fault point and security issue into the host network. As a result, the customer is unable to monitor statistics and make the limited management changes that the customer is authorized to perform on the host network without assistance from an administrator of the host network.


SUMMARY

To provide added security and effectiveness to messages between networks, a system and method for interconnecting networks. The use of such a system allows a host network to control access to one or more remote networks.


In one embodiment includes a method for interconnecting networks. A message is received from a first network to be communicated to a target device of a second network. Data within the message is identified. A determination is made whether the data is allowable based on a policy. The message is communicated to the target device of the second network in response to determining the data is allowed.


Another embodiment includes a profiler for regulating messages between networks. The system includes a queue for receiving the messages from a remote network. A parser for identifies data within the messages. A comparator determines whether that the data is allowed to be communicated to a target device in a host network based on a policy. The messages are allowed if the messages conform to the policy.


Another embodiment includes a method for establishing a policy for regulating access between a remote network and a host network. A target device and port access is designated for the remote network. Authorized commands are established for the remote network. Message thresholds are specified for the remote network.





BRIEF DESCRIPTION OF THE DRAWINGS

Illustrative embodiments of the present invention are described in detail below with reference to the attached drawing figures, which are incorporated by reference herein and wherein:



FIG. 1 is an illustration of a messaging system for interconnecting operational networks in accordance with illustrative embodiments of the present invention;



FIG. 2 is a block diagram of a message control system for interconnecting networks in accordance with illustrative embodiments of the present invention;



FIG. 3 is a an illustration of a policy for a profiler in accordance with illustrative embodiments of the present invention;



FIG. 4 is an illustration of policy permissions in accordance with illustrative embodiments of the present invention;



FIG. 5 is a flowchart for a process for establishing a policy in accordance with illustrative embodiments of the present invention; and



FIG. 6 is a flowchart for a process for passing messages between networks in accordance with illustrative embodiments of the present invention.





DETAILED DESCRIPTION OF THE DRAWINGS

The illustrative embodiments of the present invention provide a system and method for regulating messages between a host network and at least one remote network. In many cases capacity of a host network is leased to a remote or customer network in order to allow the remote network to offer various services of the host network as their own. As part of a service agreement, the remote party or customer may have rights to certain statistics and administrative controls on target devices within the host network. The host network may limit the access and availability of the target devices to the remote party for security and stability purposes. The illustrative embodiments provide a profiler for regulating the control and information accessible by the remote networks.



FIG. 1 is an illustration of a messaging system for interconnecting networks in accordance with illustrative embodiments of the present invention. The message control system 100 is a system for regulating messages 102 between a remote network 104 and a host network 106. The remote network 104 and the host network 106 may be telecommunications networks or operational support system (OSS) networks that occur either in-band or out-of-band from the communications path leased from the host network. An OSS network is a network of components including a set of programs that help a communications service provider monitor, control, analyze and manage a telephone or computer network. As the traditional voice telephone systems converges with packet-oriented Internet traffic, including Voice over Internet Protocol (VoIP) technology, broadband applications such as teleconferencing and DSL, more sophisticated OSS systems are used for activities like ordering and tracking network components, usage and traffic patterns, billing and reporting.


In one embodiment shown in FIG. 1, the remote network 104 includes a server 108, a client 110, hubs 112 and 114, and switches 116 and 118. The host network 106 includes a server 120, clients 122 and 124, a hub 126, a target device 128 and a switch 130. However, the remote network 104 and the host network 106 may include numerous nodes, devices, and other elements in any number of different network configurations. The target device 128 is the device accessible by the remote network 104 for requesting information and making permitted configuration changes.


In one embodiment, messages 102 are simple network management protocol (SNMP) messages used to send commands, request performance and operational measurements or statistics, receive fault indicators and test a connection. However, the messages 102 may be any information, script, or command suitable for communicating with or controlling the target device 128. The simple network management protocol is used by network management systems for monitoring network-attached devices for conditions that warrant administrative attention. The host network 106 may have one or more target devices 128 accessible to the remote network 104.


The host network 106 controls the authentication, content, and throughput threshold of messages 102 using a profiler 132. In one embodiment, the profiler 132 is a specialized firewall or message transfer function that guards access to the host network 106. However, the profiler 132 may be a specialized server, a program application running on a data processing system as shown in FIG. 2, or other hardware element, such as an Application Specific Integrated Circuit (ASIC), suitable for regulating the messages 102 passed to the target device 128. The profiler regulates and otherwise controls messages based on a policy 134. The policy 134 specifies the parameters, rules, permissions, and regulations for remote networks that attempt to access host network 106. Examples of policies and setting permissions for the policy are further shown by FIG. 3 and FIG. 4. In one embodiment, the policy 134 may be stored within the profiler 132 and accessible to administrators using the host network 106. In other embodiments, the policy 134 may be stored on an external database or a component within the host network 106.



FIG. 2 is a block diagram of a message control system for interconnecting networks in accordance with illustrative embodiments of the present invention. The message control system 200 and the described components are similar to the message control system 100 of FIG. 1. In this illustrative example, the message control system includes a remote network A 202 and a remote network B 204. Each remote network is similar to the remote network 104 of FIG. 1. The remote network A 202 and the remote network B 204 send and receive messages 206 through a profiler 208. The profiler 208 regulates and controls the messages 206 that are passed to a host network 210. In embodiments of the present invention, multiple profilers may be used to regulate messages. Multiple profilers may function independently or in combination to regulate messages.


In this example, the host network 210, which is similar to the host network 106 of FIG. 1, includes a target device X 212, a target device Y 214, and a target device Z 216. The remote network A 202 and the remote network B 204 may be allowed to send messages 206 to the target device X 212, the target device Y 214, and the target device Z 216 based on an established policy or permissions set by an administrator of the host network 210.


The profiler 208 may be a hardware device or program application. As shown, the profiler 208 may be a data processing system, such as a server. The profiler 208 includes a processor 218 and a memory 220 in addition to other data processing elements, components, peripherals, and modules. The processor 218 is a processing element for processing instructions and operations as well as coordinating other computing tasks for the profiler 208. The memory 220 may be dynamic memory, such as random access memory (RAM), a hard drive, tape drive or other storage medium. Modules within the memory 220 include a packet sniffer 222, a parser 224, a message queue 226, a comparator 228, a switch 230 and a policy database 232.


The messages 206 received by the profiler 208 are first analyzed by the packet sniffer 222. The packet sniffer 222 is a program that monitors and records activity of the messages 206 entering the profiler 208. Additionally, the packet sniffer 222 acts as a receiving queue so that the messages 206 that are received by the profiler 208 may be analyzed by the components of the memory 220. For example, the packet sniffer 222 records the number and frequency of incoming and outgoing messages. The packet sniffer passes the messages 206 to the parser 224. The parser 224 reads the incoming messages and determines the structure and properties of the data. The parser 224 extracts information from the messages 206 and prepares them for indexing, search, comparison, and retrieval. The parser 224 may also divide a message into data or distinguishable sections which may include authentication, target device, port, content which may include a command or other request, and other information.


Next, the comparator 228 compares the message data against a policy stored in the policy database 232. The policy may be policy 134 of FIG. 1 and is further described by FIG. 3 and FIG. 4. In one embodiment, the policy database 232 may be stored within memory 220. However, the policy database 232 may be part of an external device connected to the profiler 208 or stored in any suitable storage component. The comparator 228 determines whether the message conforms with the policy. One example of policy enforcement performed by the comparator 228 relates to “role based security”, which allows specific SNMP messages originated from specified IP addresses to perform “read only” functions exclusively. Another example of a role based profile would be “service assurance” which allows a remote user to setup and tear down loop-back functions on the target devices for testing purposes.


Messages may also be modified for addressing purposes. A host network may provide a circuit identification instead of providing end device IP addresses for the SNMP messages. The circuit identification may be modified to generate an IP address, a port address, a circuit identification or any combination of these elements referred to generally in this application as addresses. In this example, the message sent to the profiler 208 may contain the address of the profile device and a circuit identification. The profiler 208 modifies the message by altering the IP address and port and forwards the message based on the circuit identification number to the IP and port address of the related target device leased or accessed by the remote network. Additionally, if a message is to be passed to multiple profile devices, the host network may connect to a third party host network to provide access to the target device. In this configuration, the circuit identification is exchanged with the third party host network profiler for an IP address and circuit identification. The exchanged information acts as a proxy to relay the SNMP message from the remote network through both the host network and the third party host network.


In some cases, the messages 206 are rejected for not conforming with the policy. In other cases, the message will not conform to the policy because the messages 206 received by the profiler 208 have exceeded a specified threshold. The threshold specifies how often specified messages may be passed to a target device so that the host network 210, and particularly the target devices, are not overwhelmed by excessive messages. The threshold is used by the profiler 208 to pace how often the remote network A 202 and the remote network B 204 may issue or re-issue a message or command. If the threshold is exceeded, the comparator 228 places the message in the message queue 226 until the message conforms with the parameters of the policy. Once a message in the message queue 226 conforms with a policy in the policy database 232, the message may be passed to the switch 230 to be sent to a specified target device. If multiple duplicate or like messages are stored in the queue 226 the profiler 208 may choose to discard the repeated messages.



FIG. 3 is an illustration of a policy for a profiler in accordance with illustrative embodiments of the present invention. The policy 300 is one embodiment of a policy for a remote network such as the remote network A 202 of FIG. 2. The policy 300 may be the policy 134 used by the profiler 132, both of FIG. 1. The policy 300 includes various sections in this example including allowable content 302, threshold 304, authentication 306, and target devices 308.


The allowable content 302 specifies the types of content that are allowable in a message. The allowable content 302 may include specified commands, reports, statistics, status indicators, and other information that may be used to monitor the performance of the remote network A. In one example, commands that reconfigure a port may be disallowed. However, commands to power down or reinitialize a port may be allowed along with commands to report performance characteristics, packet loss, and bandwidth availability. In the example of FIG. 3, the remote network may be allowed to obtain applicable network statistics and commands including GETS, PUTS, and TRAPS.


The threshold 304 specifies the frequency with which the messages may be received by the target device. In one embodiment, the threshold 304 is measured in messages per second. However, the threshold 304 may specify an interval or frequency term suitable for ensuring that the target device is not overburdened with messages. For example, the threshold 304 may specify that one message may be received per second. The threshold 304 may also indicate a frequency threshold for specific types of messages. For example, messages requesting network statistics may be authorized once every five seconds and messages adjusting port speed may be authorized once every thirty seconds.


Alternatively, the threshold 304 may specify the time required between the execution of a command associated with a message and the receipt of an additional message. If a remote network is sending a number of messages that exceed the threshold, the host network may send a reminder to the device or network administrator specifying the threshold 304. Messages are regulated using the threshold 304 to reduce ineffective message traffic and regulate the remote networks.


In one embodiment, the authentication 306 identifies a remote network or device that may access the host network, and more specifically, a target device in the host network. The authentication 306 ensures that the remote network or device may only access devices authorized by the host network. The authentication 306 may be any authentication scheme, password, or identifier. As shown in the authentication 306, an Internet Protocol address of the sending device within the remote network may be used for authentication purposes.


The circuit identifier 308 specifies a path between a device of the remote network and the target device. The circuit identifier 308 provides the host network a way to provide the remote network access to necessary devices without compromising security by providing Internet Protocol addresses to critical devices. The circuit identifier may be translated by the profiler to generate an Internet Protocol address for the target device. The profiler may use a database, such as the policy database 232 of FIG. 2, to translate the circuit identifier to an Internet Protocol address for routing the message.


In one embodiment, the target device 310 specifies one or more devices within the host network that may be accessed by the remote network. For example, the remote network A 202 may access target device X 212 and target device Z 216, all of FIG. 2. The target device 310 may also specify ports accessible within the authorized target device, such as ports 10-16 of target device X. The target device 310 limits the access of remote networks to specified ports and devices for improved security.



FIG. 4 is an illustration of policy establishment interface in accordance with illustrative embodiments of the present invention. The policy establishment interface 400 may be used to establish the policy 300 of FIG. 3 between a host network and remote network A 402 and remote network B 404. The policy establishment interface 400 may include policy permissions 406 and stipulations 408. The policy establishment interface 400 may be displayed by the profiler 208 of FIG. 2. However, policy establishment interface 400 may be part of a software application displayed to a network administrator suitable configuring or editing policies for one or more remote networks. For example, as a host network establishes agreements or dealings with remote networks, a network administrator may use the policy establishment interface 400 to quickly establish a policy for each remote network that may access the host network.


The policy permissions 406 of FIG. 4 are similar to the sections of policy 300 of FIG. 3. The policy permissions 406 establish the terms and parameters of the policy. The policy permissions 406 shown include accessible target devices, port access, accessible Internet Protocol addresses, circuit identification, data access, and message threshold. The policy permissions 406 may be expanded or reduced, from the example shown, to include as many terms or parameters as are required to effectively create a policy for a remote network. The policy permissions 406 may be set by default, clicking check boxes, entering text or numbers, or using other configuration schemes. The policy establishment interface 400 may be established prior to allowing a remote network to access the host network. Alternatively, the policy establishment interface 400 may be used to edit the access configuration of a remote network that has already been configured.


The stipulations 408 further establish the details of the policy permissions 406. The stipulations 408 are the details of the policy permissions 406. For example, the stipulations 408 specify the target devices and the ports of the target devices that are accessible to remote networks. As a result, the administrator knows that the remote networks should only be accessing those target devices and ports in order to configure network security accordingly.


The stipulations 408 may be narrow or broad based on the type of access the host network wants the profiler to maintain. For example, the remote network A 402 may allow all circuit identifiers for target devices X and Z, but the remote network B may have access only to circuit identification 2548 on target device X. The stipulations 408 may be narrowed to control when, how, by which devices, and for what purpose the target devices in the host network may be accessed. This configuration provides additional assurance that the host network is only being accessed and controlled in accordance with pre-specified guidelines.


The message threshold may be used by the profiler to specify how frequently messages may be passed to the target device as measured in seconds. The policy permissions 406 and stipulations 408 may be custom created or may be set by default based on a type of remote network. For example, a remote network accessing the host network through an established Ethernet transport system using Simple Network Management Protocol may have default parameters for policy permissions 406, such as accessible target devices, port access, data access, and message threshold.



FIG. 5 is a flowchart for a process for establishing a policy in accordance with illustrative embodiments of the present invention. The process of FIG. 5 may be implemented in a message control system. The process of FIG. 5 is for establishing a policy. In one embodiment, the policy is established using a profiler and stored in policy database. However, the policy may be established in an external database or by an element of the host network.


The process begins by setting authentication parameters for a remote network (step 502). The authentication parameters may be a password, authorized Internet Protocol address, circuit identification or other parameter for determining whether the remote network may access the host network. Next, the process designates a target device and port access for the remote network based on a circuit identification or other target device address. (step 504). During step 504, the remote network is granted access to target devices and ports or components of the target devices.


Next, the process establishes authorized commands and data requests (step 506). Authorized commands establish the content that may be included in a message to the host network. For example, one of the authorized commands may be test control access. Test control access indicates whether the remote network may test the transmission connection to the target device using a feedback loop or other feedback control. For example, a remote network may want to test a transmission path after receiving an error message from the host network. Other commands may be allowed to reconfigure a port, power down, or reinitialize a port. Data requests may include performance data for the target device including packet loss, throughput, bandwidth availability, and errors.


Next, the process specifies thresholds for authorized messages (step 508) with the process terminating thereafter. The message threshold may specify the quantity of messages that may be passed from the remote network to the host network. The message threshold may specify the number of messages that may be received per time period, such as one message ever ten seconds may be received by the target device. The thresholds may vary between different types of messages. For example, data statistics may have a threshold of one message every ten seconds, but commands to reconfigure the port may be allowed every thirty seconds.



FIG. 6 is a flowchart for a process for passing messages between networks in accordance with illustrative embodiments of the present invention. The process of FIG. 6 illustrates the profiling process for each message. The process may be implemented by a profiler, program application, or other data processing system. The determinations of FIG. 6 are made based on a policy established for each remote network. The process of FIG. 6 begins by determining whether a message is authenticated (step 602). The message may be received from a remote network. The message may be authenticated based on an Internet Protocol address of the sending device, circuit identification, password, network key, or other identifier.


If the profiler determines the message is not authenticated, the profiler rejects the message (step 604) with the process terminating thereafter. If the profiler authenticates the message in step 602, the profiler determines whether the content is allowable (step 606). The content of the message is compared against the policy to determine whether the content is allowable. For example, a command from a remote network to reconfigure a device in the host network may be disallowed, but a command to reconfigure a port may be allowed based on the policy. Similarly, a command from a remote network requesting overall network statistics may be disallowed, but a command requesting statistics for the authorized target device may be allowed.


If the content is allowable, the profiler determines whether the threshold is exceeded (step 608). The threshold is also specified by the terms and parameters of a policy. The type of message or commands in the message may specify the applicable threshold. For example, commands reconfiguring a port may be allowed once every ten seconds while commands to request port statistics may be allowed once every thirty seconds. If the threshold is exceeded, the profiler continues to check whether the threshold is exceeded (step 608) until the threshold is no longer exceeded. In another embodiment, the profiler may have a time out threshold at which any messages still being stored in memory or in a queue are discarded to prevent too many messages from accruing. If the profiler determines the threshold is not exceeded in step 608, the profiler passes the message to a target device (step 610) with the process terminating thereafter. The message may be passed or otherwise routed to the target device by a routing device, based on the policy or based on information contained in the message itself. For example, a header of the message may specify the Internet Protocol address of the target device for delivery.


If the profiler determines the content is not allowable in step 606, the profiler determines whether the content is modifiable (step 612). The content is modifiable if the content may be translated, amended, redacted, changed or otherwise reconfigured to conform with the policy. If the content is not modifiable, the profiler rejects the message (step 604). If the content is modifiable in step 612, the profiler modifies the content (step 614). In one example, the content of the message may include two commands, one command is allowed based on the policy and the other command is not. The profiler may modify the content of the message in step 614 by removing the command that is not allowed from the message. Next, the profiler determines whether the threshold is exceeded (step 608) with the process continuing thereafter as previously described.


The illustrative embodiments of the present invention provide a system and method for regulating messages between a host network and at least one remote network. The host network may establish a policy for allowing remote networks to access specified target devices within a host network. As a result, the host network has increased stability and security. Additionally, the host network may regulate the ability of remote networks to access target devices.


The previous detailed description is of a small number of embodiments for implementing the invention and is not intended to be limiting in scope. One of skill in this art will immediately envisage the methods and variations used to implement this invention in other areas than those described in detail. The following claims set forth a number of the embodiments of the invention disclosed with greater particularity.

Claims
  • 1. A method for interconnecting networks, said method comprising: receiving a message from a sending device of a first network to be communicated to a target device of a second network;determining an identifier associated with the sending device;determining whether the sending device is authorized to communicate with the target device based on the identifier;responsive to a determination that the sending device is authorized to communicate with the target device, determining a command request contained in the message;identifying in a policy a list of allowable commands that the sending device may perform on the target device;determining whether the command request contained in the message is on the list of allowable commands that the sending device may perform on the target device; andresponsive to a determination that the command request contained in the message is on the list of allowable commands that the sending device may perform on the target device, communicating the message to the target device of the second network;responsive to a determination that the command request contained in the message is on the list of allowable commands that the sending device may perform on the target device, determining whether the command request on the target device exceeds a threshold for performing the command request on the target device prior to communicating the message to the target device of the second network; andresponsive to the command request on the target device not exceeding the threshold for performing the command request on the target device, communicating the message to the target device of the second network.
  • 2. The method according to claim 1, wherein the command request allows the sending device of the first network to control the target device.
  • 3. The method according to claim 1, wherein the command request commands the target device to report performance characteristics.
  • 4. The method according to claim 1, wherein the message requests network statistics from an operational support system of the second network.
  • 5. The method according to claim 1, wherein the threshold indicates the number of messages that may be received per specified time period.
  • 6. The method according to claim 1, further comprising: responsive to the command request on the target device exceeding tile threshold for performing the command request on tile target device, placing tile message in a message queue until the threshold for performing the command request on the target device is no longer exceeded.
  • 7. The method according to claim 1, further comprising: responsive to a determination that the sending device is not authorized to perform the command request on the target device based on the policy, rejecting the message.
  • 8. The method according to claim 1, further comprising: modifying the message to translate a circuit identification to an address, the circuit identification indicating a path between the sending device and the target device.
  • 9. The method according to claim 1, wherein the command request performs at least one of reconfiguring a port on the target device, powering down the port, or reinitializing the port.
  • 10. The method according to claim 1, wherein the identifier includes at least one of a sending Internet Protocol address and a circuit identification.
  • 11. A system for regulating messages between networks, said system comprising: a memory component that stores data and instructions; anda processor configured to execute the instructions to: determine an identifier associated with a sending device within a first network that sends a message to a target device within a second network;determine whether the sending device is authorized to communicate with the target device based on the identifier;responsive to a determination that the sending device is authorized to communicate with the target device; determine a command request contained in the message;determine whether the sending device is authorized to perform the command request on the target device based on a policy; andresponsive to a determination that the sending device is authorized to perform the command request on the target device, communicate the message to the target device of the second network;determine whether the command request on the target device exceeds a threshold for performing the command request on the target device prior to communicating the message to the tar et device of the second network; andresponsive to the command request on the target device not exceeding the threshold for performing the command request on the target device, communicate the message to the target device of the second network.
  • 12. The system according to claim 11, wherein the processor is further configured to execute the instructions to modify the message to meet terms of the policy.
  • 13. The system according to claim 11, wherein the processor is further configured to execute the instructions to reject messages that do not conform with the policy.
  • 14. The system according to claim 11, wherein the processor is further configured to execute the instructions to: determine at least one port on the target device for communicating the message to the target device based on a plurality of allowable ports specified in the policy; andcommunicate the message to the target device of the second network using the at least one port.
  • 15. The system according to claim 11, wherein the processor is further configured to execute the instructions to translate a circuit identification indicating a path between the sending device and the target device to an address associated with the target device.
US Referenced Citations (437)
Number Name Date Kind
4612416 Emerson et al. Sep 1986 A
4771448 Koohgoli et al. Sep 1988 A
4831649 Mejane May 1989 A
5042027 Takase et al. Aug 1991 A
5132966 Hayano et al. Jul 1992 A
5408465 Gusella et al. Apr 1995 A
5477529 Gingell Dec 1995 A
5479447 Chow et al. Dec 1995 A
5521910 Matthews May 1996 A
5539815 Samba Jul 1996 A
5574934 Mirashrafi et al. Nov 1996 A
5581482 Wiedenmann et al. Dec 1996 A
5621663 Skagerling Apr 1997 A
5627766 Beaven May 1997 A
5638514 Yoshida et al. Jun 1997 A
5675578 Gruber et al. Oct 1997 A
5680425 Morzano Oct 1997 A
5726979 Henderson et al. Mar 1998 A
5757784 Liebowitz May 1998 A
5793976 Chen et al. Aug 1998 A
5878097 Hase et al. Mar 1999 A
5883819 Abu-Amara et al. Mar 1999 A
5901141 Gruber et al. May 1999 A
5903558 Jones et al. May 1999 A
5917821 Gobuyan et al. Jun 1999 A
5931679 Funahashi Aug 1999 A
5953318 Nattkemper et al. Sep 1999 A
5963146 Johnson et al. Oct 1999 A
5970064 Clark et al. Oct 1999 A
6011798 McAlpine Jan 2000 A
6047326 Kilkki Apr 2000 A
6055578 Williams et al. Apr 2000 A
6058102 Drysdale et al. May 2000 A
6064673 Anderson et al. May 2000 A
6081505 Kilikki Jun 2000 A
6108306 Kalkunte et al. Aug 2000 A
6115393 Engel et al. Sep 2000 A
6141341 Jones et al. Oct 2000 A
6167025 Hsing et al. Dec 2000 A
6185198 LaDue Feb 2001 B1
6201719 He et al. Mar 2001 B1
6209033 Datta et al. Mar 2001 B1
6215769 Ghani et al. Apr 2001 B1
6236996 Bapat et al. May 2001 B1
6260072 Rodriguez-Moral Jul 2001 B1
6269401 Fletcher et al. Jul 2001 B1
6272151 Gupta et al. Aug 2001 B1
6282274 Jain et al. Aug 2001 B1
6327620 Tams et al. Dec 2001 B1
6327677 Garg et al. Dec 2001 B1
6338046 Saari et al. Jan 2002 B1
6341270 Esposito et al. Jan 2002 B1
6363056 Beigi et al. Mar 2002 B1
6370114 Gullicksen et al. Apr 2002 B1
6381221 Legouet-Camus et al. Apr 2002 B1
6381228 Prieto et al. Apr 2002 B1
6384744 Philyaw et al. May 2002 B1
6389005 Cruickshank May 2002 B1
6397359 Chandra et al. May 2002 B1
6401121 Yoshida et al. Jun 2002 B1
6404746 Cave et al. Jun 2002 B1
6421356 Carter et al. Jul 2002 B2
6434618 Cohen et al. Aug 2002 B1
6453359 Bender et al. Sep 2002 B1
6460055 Midgley et al. Oct 2002 B1
6473793 Dillon et al. Oct 2002 B1
6477590 Habusha et al. Nov 2002 B1
6493547 Raith Dec 2002 B1
6502131 Vaid et al. Dec 2002 B1
6529475 Wan et al. Mar 2003 B1
6530032 Shew et al. Mar 2003 B1
6535504 Johnson et al. Mar 2003 B1
6542466 Pashtan et al. Apr 2003 B1
6549946 Fisher et al. Apr 2003 B1
6560199 Hoshino May 2003 B1
6594268 Aukia et al. Jul 2003 B1
6594277 Chiang et al. Jul 2003 B1
6597683 Gehring et al. Jul 2003 B1
6614781 Elliott et al. Sep 2003 B1
6615261 Smorgrav Sep 2003 B1
6628629 Jorgensen Sep 2003 B1
6633835 Moran et al. Oct 2003 B1
6646987 Qaddoura Nov 2003 B1
6651030 Victor et al. Nov 2003 B2
6654803 Rochford et al. Nov 2003 B1
6657957 Cheung et al. Dec 2003 B1
6665264 Davison et al. Dec 2003 B1
6665714 Blumenau et al. Dec 2003 B1
6678250 Grabelsky et al. Jan 2004 B1
6678524 Hansson et al. Jan 2004 B1
6684253 Whitaker et al. Jan 2004 B1
6690646 Fichou et al. Feb 2004 B1
6721405 Nolting et al. Apr 2004 B1
6741563 Packer May 2004 B2
6741572 Graves et al. May 2004 B1
6748247 Ramakrishnan et al. Jun 2004 B1
6751777 Bates et al. Jun 2004 B2
6754221 Whitcher et al. Jun 2004 B1
6757255 Aoki et al. Jun 2004 B1
6763380 Mayton et al. Jul 2004 B1
6765864 Natarajan et al. Jul 2004 B1
6785259 Le et al. Aug 2004 B2
6785285 Romana et al. Aug 2004 B1
6798755 Lillie et al. Sep 2004 B2
6798786 Lo et al. Sep 2004 B1
6804240 Shirakawa et al. Oct 2004 B1
6807515 Vogel et al. Oct 2004 B2
6816463 Cooper et al. Nov 2004 B2
6836800 Sweet et al. Dec 2004 B1
6839070 Meandzija et al. Jan 2005 B2
6839356 Barany et al. Jan 2005 B2
6839747 Blumenau et al. Jan 2005 B1
6868094 Bordonaro et al. Mar 2005 B1
6891822 Gubbi et al. May 2005 B1
6892336 Giorgetta et al. May 2005 B1
6912231 White et al. Jun 2005 B2
6925060 Mangin Aug 2005 B2
6925424 Jones et al. Aug 2005 B2
6925493 Barkan et al. Aug 2005 B1
6931354 Jones et al. Aug 2005 B2
6934249 Bertin et al. Aug 2005 B1
6934251 Ono Aug 2005 B2
6934749 Black et al. Aug 2005 B1
6937713 Kung et al. Aug 2005 B1
6940832 Saadawi et al. Sep 2005 B2
6944673 Malan et al. Sep 2005 B2
6947379 Gleichauf et al. Sep 2005 B1
6950407 Huddle Sep 2005 B1
6965614 Osterhout et al. Nov 2005 B1
6973622 Rappaport et al. Dec 2005 B1
6975617 Walker et al. Dec 2005 B2
6978223 Milliken Dec 2005 B2
6985901 Sachse et al. Jan 2006 B1
6999419 Ise et al. Feb 2006 B2
7002992 Shaffer et al. Feb 2006 B1
7006526 Biedermann Feb 2006 B1
7007107 Ivchenko et al. Feb 2006 B1
7013322 Lahr Mar 2006 B2
7013338 Nag et al. Mar 2006 B1
7013349 Idsinga Mar 2006 B2
7020082 Bhagavath et al. Mar 2006 B2
7020085 Mimura et al. Mar 2006 B2
7023839 Shaffer et al. Apr 2006 B1
7027400 O'Neill Apr 2006 B2
7035220 Simcoe Apr 2006 B1
7035291 Grinfeld Apr 2006 B2
7039015 Vallone et al. May 2006 B1
7039709 Beadle et al. May 2006 B1
7042841 Abdelilah et al. May 2006 B2
7051098 Masters et al. May 2006 B2
7058727 Dingsor et al. Jun 2006 B2
7061856 Banerjee Jun 2006 B2
7062259 Dispensa et al. Jun 2006 B1
7068607 Partain et al. Jun 2006 B2
7082315 Bar-on Jul 2006 B2
7088678 Freed et al. Aug 2006 B1
7092696 Hosain et al. Aug 2006 B1
7096260 Zavalkovsky et al. Aug 2006 B1
7099879 Tacaille et al. Aug 2006 B2
7099942 Wilson et al. Aug 2006 B1
7100005 Pearl Aug 2006 B2
7107273 Ohata et al. Sep 2006 B2
7124211 Dickson et al. Oct 2006 B2
7127617 Wiederin et al. Oct 2006 B2
7142516 Lev et al. Nov 2006 B2
7180866 Chartre et al. Feb 2007 B1
7184401 Foore et al. Feb 2007 B2
7184777 Diener et al. Feb 2007 B2
7194002 Zhang et al. Mar 2007 B2
7197546 Bagga et al. Mar 2007 B1
7206593 Yarkosky et al. Apr 2007 B1
7209473 Mohaban et al. Apr 2007 B1
7222147 Black et al. May 2007 B1
7222190 Klinker et al. May 2007 B2
7224974 Benco et al. May 2007 B2
7246045 Rappaport et al. Jul 2007 B1
7246159 Aggarwal et al. Jul 2007 B2
7248560 Blankenship et al. Jul 2007 B1
7248604 Sugar et al. Jul 2007 B2
7257080 Martin Aug 2007 B2
7260635 Pandya et al. Aug 2007 B2
7263067 Sreemanthula et al. Aug 2007 B2
7266122 Hogg et al. Sep 2007 B1
7266754 Shah et al. Sep 2007 B2
7277913 Kashyap Oct 2007 B2
7283474 Bergenwall Oct 2007 B1
7292531 Hill Nov 2007 B1
7304942 Malladi et al. Dec 2007 B1
7307989 Ofek Dec 2007 B2
7310334 FitzGerald et al. Dec 2007 B1
7313129 Bova et al. Dec 2007 B1
7330434 Murooka et al. Feb 2008 B2
7349960 Pothier et al. Mar 2008 B1
7360083 Ragireddy et al. Apr 2008 B1
7369498 Ma et al. May 2008 B1
7376731 Khan et al. May 2008 B2
7385997 Gorti et al. Jun 2008 B2
7389537 Callon et al. Jun 2008 B1
7391721 Holbrook Jun 2008 B1
7406029 Ciancaglini et al. Jul 2008 B1
7411966 Bruckner et al. Aug 2008 B2
7412507 Saxena et al. Aug 2008 B2
7417949 Weller et al. Aug 2008 B2
7450928 Henry et al. Nov 2008 B1
7460493 Dhanoa et al. Dec 2008 B1
7463634 Hansen Dec 2008 B1
7471653 McConnell et al. Dec 2008 B2
7472192 DeFerranti et al. Dec 2008 B2
7477657 Murphy et al. Jan 2009 B1
7483437 Mohaban Jan 2009 B1
7499407 Holness et al. Mar 2009 B2
7502841 Small et al. Mar 2009 B2
7505412 Miyake et al. Mar 2009 B2
7515542 Hertoghs et al. Apr 2009 B2
7519700 Sapsford et al. Apr 2009 B1
7519725 Alvarez et al. Apr 2009 B2
7529192 Labovitz May 2009 B2
7535913 Minami et al. May 2009 B2
7539241 Dick May 2009 B1
7542440 Rajkotia Jun 2009 B2
7587203 Shahidi et al. Sep 2009 B2
7590718 Gilmour et al. Sep 2009 B2
7593321 Galand et al. Sep 2009 B2
7602725 Vaught Oct 2009 B2
7613118 Appanna et al. Nov 2009 B2
7616573 Olesinski et al. Nov 2009 B2
7623550 Forbes Nov 2009 B2
7627627 Helliwell et al. Dec 2009 B2
7643414 Minhazuddin Jan 2010 B1
7649837 Puuskari Jan 2010 B1
7653005 Zou et al. Jan 2010 B2
7653725 Yahiro et al. Jan 2010 B2
7668953 Sinclair et al. Feb 2010 B1
7684332 Ray et al. Mar 2010 B2
7715353 Jain et al. May 2010 B2
7751780 Saidi et al. Jul 2010 B2
7802008 Akinlar et al. Sep 2010 B2
7808918 Bugenhagen Oct 2010 B2
7843831 Morrill et al. Nov 2010 B2
7852749 Mickle et al. Dec 2010 B2
7889660 Bugenhagen Feb 2011 B2
7940735 Kozisek et al. May 2011 B2
7948909 Bugenhagen May 2011 B2
8000318 Wiley et al. Aug 2011 B2
8015294 Bugenhagen Sep 2011 B2
20010002195 Fellman et al. May 2001 A1
20010006899 Khullar et al. Jul 2001 A1
20010036181 Rogers Nov 2001 A1
20010038610 Decker et al. Nov 2001 A1
20020015386 Kajiwara Feb 2002 A1
20020032871 Malan et al. Mar 2002 A1
20020044528 Pogrebinsky et al. Apr 2002 A1
20020068543 Shah Jun 2002 A1
20020075869 Shah et al. Jun 2002 A1
20020093948 Dertz et al. Jul 2002 A1
20020107966 Baudot et al. Aug 2002 A1
20020115429 Deluca et al. Aug 2002 A1
20020129295 Nishioka et al. Sep 2002 A1
20020145982 Talpade et al. Oct 2002 A1
20020145998 Hagirahim Oct 2002 A1
20020165957 Devoe et al. Nov 2002 A1
20020176131 Walters et al. Nov 2002 A1
20020186660 Bahadiroglu Dec 2002 A1
20020186665 Chaffee et al. Dec 2002 A1
20020191618 Mattathil Dec 2002 A1
20030005144 Engel et al. Jan 2003 A1
20030012138 Abdelilah et al. Jan 2003 A1
20030046388 Milliken Mar 2003 A1
20030064720 Valins et al. Apr 2003 A1
20030067877 Sivakumar et al. Apr 2003 A1
20030067884 Abler et al. Apr 2003 A1
20030088671 Klinker et al. May 2003 A1
20030100308 Rusch May 2003 A1
20030118029 Maher, III et al. Jun 2003 A1
20030120594 Shaginaw et al. Jun 2003 A1
20030128692 Mitsumori et al. Jul 2003 A1
20030137997 Keating Jul 2003 A1
20030142625 Wan et al. Jul 2003 A1
20030147386 Zhang et al. Aug 2003 A1
20030172291 Judge et al. Sep 2003 A1
20030182410 Balan et al. Sep 2003 A1
20030182432 Lawson Sep 2003 A1
20030185210 McCormack Oct 2003 A1
20030189900 Barany et al. Oct 2003 A1
20030189943 Gorti et al. Oct 2003 A1
20030198187 Mellquist et al. Oct 2003 A1
20030198209 Schwengler et al. Oct 2003 A1
20030235209 Garg et al. Dec 2003 A1
20030236745 Hartsell et al. Dec 2003 A1
20040025172 Bian et al. Feb 2004 A1
20040032860 Mundra et al. Feb 2004 A1
20040034793 Yuan Feb 2004 A1
20040049596 Schuehler et al. Mar 2004 A1
20040054680 Kelley et al. Mar 2004 A1
20040073641 Minhazuddin et al. Apr 2004 A1
20040073690 Hepworth et al. Apr 2004 A1
20040088244 Bartter et al. May 2004 A1
20040098473 Yodaiken May 2004 A1
20040101302 Kim et al. May 2004 A1
20040103216 Lane May 2004 A1
20040110507 Ramakrishnan et al. Jun 2004 A1
20040117502 Rosengard et al. Jun 2004 A1
20040139106 Bachman et al. Jul 2004 A1
20040153382 Boccuzzi et al. Aug 2004 A1
20040155899 Conrad Aug 2004 A1
20040158704 Oates et al. Aug 2004 A1
20040160979 Pepin et al. Aug 2004 A1
20040209595 Bekanich Oct 2004 A1
20040230572 Omoigui Nov 2004 A1
20040240405 Okazaki Dec 2004 A1
20040240454 Yamauchi et al. Dec 2004 A1
20040242219 Oie et al. Dec 2004 A1
20040246895 Feyerabend Dec 2004 A1
20040252718 Miyamoto Dec 2004 A1
20040258226 Host Dec 2004 A1
20040261116 Mckeown et al. Dec 2004 A1
20040264961 Nam et al. Dec 2004 A1
20040267948 Oliver et al. Dec 2004 A1
20050002331 Nolle et al. Jan 2005 A1
20050025059 Rajan et al. Feb 2005 A1
20050027851 McKeown et al. Feb 2005 A1
20050027870 Trebes, Jr. Feb 2005 A1
20050043026 Brok et al. Feb 2005 A1
20050071494 Rundquist et al. Mar 2005 A1
20050075957 Pincus et al. Apr 2005 A1
20050083886 Ikeda Apr 2005 A1
20050086336 Haber Apr 2005 A1
20050089040 Kim Apr 2005 A1
20050089043 Seckin et al. Apr 2005 A1
20050135379 Callaway et al. Jun 2005 A1
20050138517 Monitzer Jun 2005 A1
20050157751 Rabie et al. Jul 2005 A1
20050163047 McGregor et al. Jul 2005 A1
20050169186 Qiu et al. Aug 2005 A1
20050180338 Pirila et al. Aug 2005 A1
20050181814 Okamoto Aug 2005 A1
20050182847 Jawad Pirzada et al. Aug 2005 A1
20050201414 Awais Sep 2005 A1
20050204162 Rayes et al. Sep 2005 A1
20050208950 Hasse Sep 2005 A1
20050220035 Ling et al. Oct 2005 A1
20050223097 Ramsayer et al. Oct 2005 A1
20050228885 Winfield et al. Oct 2005 A1
20050235058 Rackus et al. Oct 2005 A1
20050238026 Wu et al. Oct 2005 A1
20050249124 Elie-Dit-Cosaque et al. Nov 2005 A1
20050249206 Wybenga et al. Nov 2005 A1
20050254435 Moakley et al. Nov 2005 A1
20050260993 Lovell Nov 2005 A1
20050262240 Drees et al. Nov 2005 A1
20050289232 Ebert Dec 2005 A1
20060002370 Rabie et al. Jan 2006 A1
20060015773 Singh Jan 2006 A1
20060020700 Qiu et al. Jan 2006 A1
20060023638 Monaco Feb 2006 A1
20060023642 Roskowski et al. Feb 2006 A1
20060072555 St Hilaire et al. Apr 2006 A1
20060092976 Lakshman et al. May 2006 A1
20060094440 Meier et al. May 2006 A1
20060104264 Cho May 2006 A1
20060106919 Watkinson et al. May 2006 A1
20060109839 Hino et al. May 2006 A1
20060114818 Canali et al. Jun 2006 A1
20060114888 Schuman Jun 2006 A1
20060135118 Claussen et al. Jun 2006 A1
20060143098 Lazaridis Jun 2006 A1
20060159006 Yeon et al. Jul 2006 A1
20060159008 Sridhar et al. Jul 2006 A1
20060164982 Arora et al. Jul 2006 A1
20060171314 Qian et al. Aug 2006 A1
20060205410 Black Sep 2006 A1
20060209685 Rahman et al. Sep 2006 A1
20060218059 Hartley et al. Sep 2006 A1
20060239204 Bordonaro et al. Oct 2006 A1
20060239296 Jinzaki et al. Oct 2006 A1
20060242309 Damick Oct 2006 A1
20060244818 Majors et al. Nov 2006 A1
20060245369 Schimmelpfeng et al. Nov 2006 A1
20060251050 Karlsson Nov 2006 A1
20060256721 Yarlagadda et al. Nov 2006 A1
20060256810 Yarlagadda et al. Nov 2006 A1
20060262772 Guichard et al. Nov 2006 A1
20060270385 Morris Nov 2006 A1
20060271677 Mercier Nov 2006 A1
20060285501 Damm Dec 2006 A1
20060286980 Hua Dec 2006 A1
20070014290 Dec et al. Jan 2007 A1
20070025255 Noble Feb 2007 A1
20070025258 Chen Feb 2007 A1
20070036151 Baeder Feb 2007 A1
20070076754 Krishnaswamy Apr 2007 A1
20070083643 Arndt et al. Apr 2007 A1
20070094374 Karia et al. Apr 2007 A1
20070097985 Lee May 2007 A1
20070117538 Weiser et al. May 2007 A1
20070133403 Hepworth et al. Jun 2007 A1
20070133441 Kang et al. Jun 2007 A1
20070140202 Calhoun et al. Jun 2007 A1
20070140301 Kailash et al. Jun 2007 A1
20070147247 Kalonji et al. Jun 2007 A1
20070171937 Boatright et al. Jul 2007 A1
20070180086 Fang et al. Aug 2007 A1
20070180142 Small et al. Aug 2007 A1
20070189247 Wang et al. Aug 2007 A1
20070201485 Rabipour Aug 2007 A1
20070211717 Capps et al. Sep 2007 A1
20070217377 Takeuchi Sep 2007 A1
20070223388 Arad et al. Sep 2007 A1
20070223493 Sridhar et al. Sep 2007 A1
20070237085 Tirumalai et al. Oct 2007 A1
20070263535 Shabtay Nov 2007 A1
20070268817 Smallegange et al. Nov 2007 A1
20070286195 Ilnickl et al. Dec 2007 A1
20070298763 Clayton Dec 2007 A1
20080002669 O'Brien et al. Jan 2008 A1
20080013531 Elliott et al. Jan 2008 A1
20080014908 Vasant Jan 2008 A1
20080016402 Harel et al. Jan 2008 A1
20080043716 Toombs et al. Feb 2008 A1
20080049625 Edwards et al. Feb 2008 A1
20080049637 Morrill et al. Feb 2008 A1
20080049745 Edwards et al. Feb 2008 A1
20080049775 Morrill et al. Feb 2008 A1
20080062986 Shand et al. Mar 2008 A1
20080101338 Reynolds et al. May 2008 A1
20080101364 Chow et al. May 2008 A1
20080112333 Busch et al. May 2008 A1
20080279183 Wiley et al. Nov 2008 A1
20090059881 Theobold et al. Mar 2009 A1
20090070454 McKinnon, III et al. Mar 2009 A1
20090086649 Van Der Burg et al. Apr 2009 A1
20090116497 Varma et al. May 2009 A1
20090177742 Rhoads et al. Jul 2009 A1
20090201828 Samuels et al. Aug 2009 A1
20090252148 Dolganow et al. Oct 2009 A1
20100135186 Choong et al. Jun 2010 A1
20100246393 Chamas et al. Sep 2010 A1
Related Publications (1)
Number Date Country
20080167846 A1 Jul 2008 US