1. Field of the Invention
The present disclosure relates generally to input/output processing, and in particular, to communications between an operating system and input/output system devices.
2. Description of Background
Input/output (I/O) operations are used to transfer data between memory and I/O devices of an I/O processing system. Specifically, data is written from memory to one or more I/O devices, and data is read from one or more I/O devices to memory by executing I/O operations.
To facilitate processing of I/O operations, an I/O subsystem of the I/O processing system is employed. The I/O subsystem is coupled to main memory and the I/O devices of the I/O processing system and directs the flow of information between memory and the I/O devices. One example of an I/O subsystem is a channel subsystem. The channel subsystem uses channel paths as communications media. Each channel path includes a channel coupled to a control unit, the control unit being further coupled to one or more I/O devices.
Fibre Channel interfaces architecture, as standardized in the T11 Technical Committee of the International Committee for Information Technology Standards (INCITS) is the standard for defining connections in many networks, such as storage area networks (SANs). These standards include several sets of services which have historically been used by a computer system's I/O subsystem to determine and configure the various devices and links within a SAN. Fibre-channel services may also be used to further configure SAN devices and links to be allocated and/or shared among the multiple logical partitions that may be defined in an enterprise class server. Many fibre-channel systems do not define an interface that allows software to directly request information, specifically network topological information, from devices or other endpoints in the I/O subsystem.
Exemplary embodiments include a computer program product for procuring information from entities in a network via an Input/Output (I/O) processing system. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes receiving, at a channel subsystem, at least one network topology information request from an operating system. The method also includes building at least one command request that includes the at least one network topology information request, and sending the at least one command request from the channel subsystem to at least one network entity. The method further includes receiving a response to the at least one command request from the at least one network entity by the channel subsystem, and forwarding the response from the channel subsystem to the operating system.
Other exemplary embodiments include a system for procuring information from entities in a network via an Input/Output (I/O) processing system, the system including a channel subsystem for communication with an I/O operating system and the network entity. The channel subsystem is configured to perform a method including receiving, at a channel subsystem, at least one network topology information request from an operating system, building at least one command request that includes the at least one network topology information request, and sending the at least one command request from the channel subsystem to at least one network entity. The method also includes receiving a response to the at least one command request from the at least one network entity by the channel subsystem, and forwarding the response from the channel subsystem to the operating system.
Further exemplary embodiments include a computer-implemented method for procuring information from entities in a network via an Input/Output (I/O) processing system. The method includes receiving, at a channel subsystem, at least one network topology information request from an I/O operating system, building at least one command request that includes the at least one network topology information request, and sending the at least one command request from the channel subsystem to at least one network entity. The method also includes receiving a response to the at least one command request from the at least one network entity by the channel subsystem, and forwarding the response from the channel subsystem to the operating system.
Other systems, methods, and/or computer program products according to embodiments will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional systems, methods, and/or articles of manufacture be included within this description, be within the scope of the present invention, and be protected by the accompanying claims.
The subject matter, which is regarded as the invention, is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The detailed description explains embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
In accordance with an aspect of the present invention, communication between an operating system and components of an input/output (I/O) processing system is facilitated. For instance, a mechanism is provided by which information from communications between channel subsystems and network entities, such as via fibre-channel communications, is presented to the operating system. The system allows the operating system to request information, which the channel subsystem can request from network entities. The resulting answers/responses can be provided by the channel subsystem to the operating system. The system allows, for example, the operating system to query a network to discover network topology.
An example of an I/O processing system incorporating and using one or more aspects of the present invention is described with reference to
Nodes 110 encompass a variety of devices and points within the network 100.
Examples of network entities 116 include control units 112, I/O devices 114, service entities such as fibre channel name servers and managers, and other suitable entities or devices. Examples of I/O devices include workstations, file servers, and peripherals such as printers, scanners, storage devices and output/display devices. Additional examples of I/O devices 114 include card readers and punches, magnetic tape units, direct access storage devices, displays, keyboards, pointing devices, teleprocessing devices, communication controllers and sensor based equipment, to name a few.
Main memory 102 stores data and programs, which can be input from the I/O devices 112 and/or other network entities 116. For example, the main memory 102 may include one or more operating systems 103 or other software that are executed by one or more of the CPUs 104. As used herein, “operating system” refers to any computer program, software, interface or device that is responsible for the management of computer resources for processors or other devices such as the host system, main memory 102 and CPU 104. The main memory 102 is directly addressable and provides for high-speed processing of data by the CPUs 104 and the channel subsystem 108.
The CPU 104 is the controlling center of the I/O processing system 100. It contains sequencing and processing facilities for instruction execution, interruption action, timing functions, initial program loading, and other machine-related functions. The CPU 104 is coupled to the storage control element 106 via a connection 118, such as a bidirectional or unidirectional bus.
The storage control element 106 is coupled to the main memory 102 via a connection 120, such as a bus; to the CPUs 104 via connection 118; and to the channel subsystem 108 via a connection 122. The storage control element 106 controls, for example, queuing and execution of requests made by the CPU 104 and the channel subsystem 108.
The channel subsystem 108 is coupled to the storage control element 106, as described above, and to each of the control units 110 via a connection 124, such as a serial link. The connection 124 may be implemented as an optical link, employing single-mode or multi-mode waveguides. The channel subsystem 108 directs the flow of information between the nodes 110 and the main memory 102. It relieves the CPUs 104 of the task of communicating directly with the nodes 110 and permits data processing to proceed concurrently with I/O processing. The channel subsystem 108 uses one or more channel paths 126 as the communication links in managing the flow of information to or from nodes 110. As a part of the I/O processing, the channel subsystem 108 also performs the path-management functions of testing for channel path availability, selecting an available channel path 126 and initiating execution of the operation with the nodes 110.
Each channel path 126 includes a channel 128 (channels 128 are located within the channel subsystem 108, in one example, as shown in
Also located within the channel subsystem 108 are subchannels (not shown). One subchannel is provided for and dedicated to each I/O device 112 accessible to a program through the channel subsystem 108. A subchannel (e.g., a data structure, such as a table) represents the logical state of a device to a program. Each subchannel provides information concerning the associated I/O device or other node 110 and its attachment to the channel subsystem 108. The subchannel also provides information concerning I/O operations and other functions involving the associated node 110. The subchannel is the means by which the channel subsystem 108 provides information about associated nodes 110 to operating systems running on the CPUs 104, which obtain this information by executing I/O instructions.
One or more of the above components of the I/O processing system are further described in “IBM® z/Architecture Principles of Operation,” Publication No. SA22-7832-05, 6th Edition, April 2007; U.S. Pat. No. 5,461,721 entitled “System For Transferring Data Between I/O Devices And Main Or Expanded Storage Under Dynamic Control Of Independent Indirect Address Words (IDAWS),” Cormier et al., issued Oct. 24, 1995; and U.S. Pat. No. 5,526,484 entitled “Method And System For Pipelining The Processing Of Channel Command Words,” Casper et al., issued Jun. 11, 1996, each of which is hereby incorporated herein by reference in its entirety. IBM is a registered trademark of International Business Machines Corporation, Armonk, N.Y., USA. Other names used herein may be registered trademarks, trademarks or product names of International Business Machines Corporation or other companies.
In one embodiment, to transfer data between I/O devices 112 or other entities 116 and memory 102, channel command words (CCWs) are used. A CCW specifies the command to be executed, and includes other fields to control processing. One or more CCWs arranged for sequential execution form a channel program, also referred to herein as a CCW channel program. The CCW channel program is set up by, for instance, an operating system, or other software.
One example of a channel program 200 includes a transport command control block (TCCB) 204, instead of separate individual CCWs, is described with reference to
The processing of a TCW channel program 200 is described with reference to
Referring to
In an exemplary embodiment, the operating system 103 is configured to be able to receive network information, such as topology information, by request from one or more nodes 110 in the network 100. The operating system 103 utilizes network and/or fabric services by prompting the channel subsystem 108 to send requests (e.g., service requests) to one or more entities 116, allowing the operating system 103 to procure information regarding the entities 116 and the network configuration. This configuration information (such as entity identification, port availability, amount of bandwidth available, type of service entity, logical path information, and others) can be presented to a user when requested to aid in defining I/O configuration definitions.
The TCW 402 specifies the address of the TCCB 404, a transport-status block (TSB) 408, and either an input our output data area 410. The TCCB 404 contains, for example, from 1 to 30 commands that are transported to a control unit 112 (or other entity 116) for execution. The control unit 112 processes the channel program 400, which is parsed and executed on the control unit 112. The control unit 112 may then generate a response message in response to executing the channel program.
Examples of such requests include, for example in the instance that the network utilizes a Fibre Channel protocol, a fibre-channel generic services (FC-GS) request, a fibre-channel link services (FC-LS) request, and a fibre-channel link-level function (FC-SB) request. Exemplary fibre-channel requests are further described in InterNational Committee for Information Technology Standards (INCITS) standards such as INCITS 424-2007, “Fibre Channel-Framing and Signaling-2 (FC-FS-2)”, INCITS 374-2003, “Fibre Channel-Single Byte Command Code Sets-3 (FC-SB-3)”, and INCITS 427:2007, “Fibre Channel Generic Services-5 (FC-GS-5)”, which are hereby incorporated herein by reference in their entirety.
The channel subsystem 108 uses the information in the TSRQB 504 to format and send the actual service request to the appropriate fabric destination, i.e., node 110 or entity 116. When the channel subsystem receives the response to the request, the TSRSB 506 provides a place in software storage and a structure for the channel subsystem to write a copy of the response to the operating system.
Referring to
In the first stage 601, a user requests information regarding the network 100. This information may include topology information, identification information regarding various nodes 110, availability of various ports 132, 134, bandwidth availability and others. In one example, the user requests the information to facilitate creation or modification of the network's I/O configuration definition.
In the second stage 602, the operating system 103 sends an information request to a channel subsystem 108. In one embodiment, the operating system 103 specifies specific types of requests to the channel subsystem, such as identification and status requests. Examples of such requests include service requests such as fibre-channel generic services (FC-GS) requests, fibre-channel link services (FC-LS) requests, or fibre-channel link-level function (FC-SB) requests.
In the third stage 603, the channel subsystem 108 builds and sends at least one command request to one or more control units 112 or other entities 116. In one embodiment, the channel subsystem 108 sends one or more command request in the form of at least one channel program including a TCW 202, 402, or 502. The channel program includes, for example, TCW 502, TSRQB 504, TSRSB 506 and TSB 508. Command requests include various requests to open communications between the channel subsystem and the service entity, such as requests for logical paths or log-in requests. Various service requests may be sent, such as FC-GS requests, FC-LS requests, or FC-SB requests.
Examples of FC-GS requests include name, time and alias service requests. Examples of FC-LS requests include basic-link-service (BLS) commands, and extended-link-service (ELS) commands such as port log-in and log-out, state change notification, request node identification data and registered link-incident record. An example of an FC-SB request is test initialization.
In the fourth stage 604, the control unit 112 or other entity 116 receives the at least one command request from the channel subsystem 108, and generates at least one appropriate response. The response is sent to the channel subsystem 108 in, for example, a TSRSB 506.
In the fifth stage 605, the channel subsystem 108 receives the at least one response to the request and transmits the at least one response to the operating system 103. In one embodiment, if the channel subsystem 108 receives multiple responses, it coalesces the multiple responses into a single response and transmits the single response to the operating system 103. The operating system 103 may then provide the response information to a user or process the response programatically.
In one example, the channel subsystem 108 receives the at least one response in, for example, TSRSB 506, and provides the at least one response to the operating system 103 by writing the response to a designated area in the main memory 102, which is then accessed by the operating system 103. The designated area may be designated by, for example, TSRSB 506.
In the sixth stage 606, the operating system 103 presents the response information to a user. The user can utilize the response information as desired, such as to create or modify an I/O configuration definition for the network 100. As described herein, a “user” is a person or other computing entity such as a computer program requesting and/or receiving the response information.
The following is an example of a utilization of the computer program products, methods and systems described herein. In this example, a user desires to create or update an I/O configuration definition for a storage area network (SAN) such as the network 100 shown in
In one example, the operating system 103 sends a request via the channel subsystem 108 to a directory server or other location to return all ports in the network 100 that support a selected Fibre Channel protocol type. The directory server returns with identification of all of the qualifying nodes.
In another example, the operating system 103 sends a request to the channel subsystem 108 which in turn sends a TCW channel program request such as that shown in
Each device sends a response providing the requested information to the channel subsystem 108, which in turn sends the responses to the operating system 103 by, for example, writing copies of the response in a designated area in the main memory. The designated area may be a data area specified by a TSRSB, for example. The operating system 103 may then provide a list of potential node or device candidates so that the user can determine how to configure the network.
Technical effects and benefits include providing a mechanism by which information exchanged between channels and control units or other entities can be presented to an operating system or other software, which can then be displayed to a user. Prior art configurations and techniques require that I/O configuration definitions be defined by a user by describing the logical definition of the channels control units and devices. The systems and methods described herein allows the configuration to be more effectively changed by allowing the operating system to request that the channel subsystem retrieve and return network information, and to present the network information to the user.
For example, plug-and-play-like capability is desired for various networks in order to simplify or eliminate the human work associated with creating and changing the I/O configuration definition. However, prior fibre channel architectures define an interface that allows software to make fibre-channel services requests and receive the responses to those requests so that the software can use the response information to interact with a human. The systems and methods described herein enhances networks to provide software a means to request that the I/O subsystem (e.g., a channel subsystem) transmit fibre channel services requests, capture the associated responses, and provide the responses to the software.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
As described above, embodiments can be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. In exemplary embodiments, the invention is embodied in computer program code executed by one or more network elements. Embodiments include a computer program product 700 as depicted in
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Number | Name | Date | Kind |
---|---|---|---|
3693161 | Price et al. | Sep 1972 | A |
3943283 | Caragliano et al. | Mar 1976 | A |
4004277 | Gavril | Jan 1977 | A |
4080649 | Calle et al. | Mar 1978 | A |
4207609 | Luiz et al. | Jun 1980 | A |
4374415 | Cormier et al. | Feb 1983 | A |
4380046 | Frosch et al. | Apr 1983 | A |
4414644 | Tayler | Nov 1983 | A |
4455605 | Cormier et al. | Jun 1984 | A |
4497022 | Cormier et al. | Jan 1985 | A |
4564903 | Guyette et al. | Jan 1986 | A |
4760518 | Potash et al. | Jul 1988 | A |
4779188 | Gum et al. | Oct 1988 | A |
4837677 | Burrus, Jr. et al. | Jun 1989 | A |
4843541 | Bean et al. | Jun 1989 | A |
4866609 | Calta et al. | Sep 1989 | A |
4870566 | Cooper et al. | Sep 1989 | A |
5016160 | Lambeth et al. | May 1991 | A |
5031091 | Wakatsuki et al. | Jul 1991 | A |
5040108 | Kanazawa | Aug 1991 | A |
5170472 | Cwiakala et al. | Dec 1992 | A |
5185736 | Tyrrell et al. | Feb 1993 | A |
5237325 | Klein et al. | Aug 1993 | A |
5265240 | Galbraith et al. | Nov 1993 | A |
5297262 | Cox et al. | Mar 1994 | A |
5301323 | Maeurer et al. | Apr 1994 | A |
5317739 | Elko et al. | May 1994 | A |
5325492 | Bonevento et al. | Jun 1994 | A |
5386512 | Crisman et al. | Jan 1995 | A |
5388219 | Chan et al. | Feb 1995 | A |
5410727 | Jaffe et al. | Apr 1995 | A |
5414851 | Brice, Jr. et al. | May 1995 | A |
5434980 | Casper et al. | Jul 1995 | A |
5440729 | Kimura et al. | Aug 1995 | A |
5452455 | Brown et al. | Sep 1995 | A |
5461721 | Cormier et al. | Oct 1995 | A |
5465359 | Allen et al. | Nov 1995 | A |
5500942 | Eickemeyer et al. | Mar 1996 | A |
5517670 | Allen et al. | May 1996 | A |
5526484 | Casper et al. | Jun 1996 | A |
5528755 | Beardsley et al. | Jun 1996 | A |
5539918 | Allen et al. | Jul 1996 | A |
5546533 | Koyama | Aug 1996 | A |
5548791 | Casper et al. | Aug 1996 | A |
5561809 | Elko et al. | Oct 1996 | A |
5564040 | Kubala | Oct 1996 | A |
5568648 | Coscarella et al. | Oct 1996 | A |
5584039 | Johnson et al. | Dec 1996 | A |
5600793 | Nord | Feb 1997 | A |
5600805 | Fredericks et al. | Feb 1997 | A |
5613163 | Marron et al. | Mar 1997 | A |
5640600 | Satoh et al. | Jun 1997 | A |
5640603 | Meritt et al. | Jun 1997 | A |
5644712 | Coscarella et al. | Jul 1997 | A |
5671441 | Glassen et al. | Sep 1997 | A |
5680580 | Beardsley et al. | Oct 1997 | A |
5758190 | Johnson et al. | May 1998 | A |
5768620 | Johnson et al. | Jun 1998 | A |
5787071 | Basso et al. | Jul 1998 | A |
5793983 | Albert et al. | Aug 1998 | A |
5812877 | Young | Sep 1998 | A |
5831985 | Sandorfi | Nov 1998 | A |
5845146 | Onodera | Dec 1998 | A |
5860022 | Kondou et al. | Jan 1999 | A |
5894583 | Johnson et al. | Apr 1999 | A |
5901327 | Ofek | May 1999 | A |
5907684 | Halma et al. | May 1999 | A |
5918028 | Silverthorn et al. | Jun 1999 | A |
5996026 | Onodera et al. | Nov 1999 | A |
6125399 | Hamilton | Sep 2000 | A |
6125411 | Sato | Sep 2000 | A |
6195330 | Sawey et al. | Feb 2001 | B1 |
6230218 | Casper et al. | May 2001 | B1 |
6249787 | Schleimer et al. | Jun 2001 | B1 |
6263380 | Tsuboi et al. | Jul 2001 | B1 |
6338105 | Niizuma et al. | Jan 2002 | B1 |
6343335 | Dahman et al. | Jan 2002 | B1 |
6347334 | Fredericks et al. | Feb 2002 | B1 |
6351779 | Berg et al. | Feb 2002 | B1 |
6353612 | Zhu et al. | Mar 2002 | B1 |
6401223 | DePenning | Jun 2002 | B1 |
6460087 | Saito et al. | Oct 2002 | B1 |
6466590 | Park et al. | Oct 2002 | B1 |
6484217 | Fuente et al. | Nov 2002 | B1 |
6546435 | Yoshimura et al. | Apr 2003 | B1 |
6584511 | Marsh, III et al. | Jun 2003 | B1 |
6594785 | Gilbertson et al. | Jul 2003 | B1 |
6609161 | Young | Aug 2003 | B1 |
6647016 | Isoda et al. | Nov 2003 | B1 |
6651125 | Maergner et al. | Nov 2003 | B2 |
6658603 | Ward | Dec 2003 | B1 |
6687766 | Casper et al. | Feb 2004 | B1 |
6693880 | Gregg et al. | Feb 2004 | B2 |
6694390 | Bogin et al. | Feb 2004 | B1 |
6751680 | Langerman et al. | Jun 2004 | B2 |
6751683 | Johnson et al. | Jun 2004 | B1 |
6769009 | Reisman | Jul 2004 | B1 |
6772207 | Dorn et al. | Aug 2004 | B1 |
6826661 | Umbehocker et al. | Nov 2004 | B2 |
6839773 | Vishlitzky et al. | Jan 2005 | B2 |
6862322 | Ewen et al. | Mar 2005 | B1 |
6898202 | Gallagher et al. | May 2005 | B2 |
6915378 | Roberti | Jul 2005 | B2 |
6950888 | Rooney et al. | Sep 2005 | B1 |
7000036 | Carlson et al. | Feb 2006 | B2 |
7003700 | Elko et al. | Feb 2006 | B2 |
7020810 | Holman | Mar 2006 | B2 |
7035540 | Finan et al. | Apr 2006 | B2 |
7058735 | Spencer | Jun 2006 | B2 |
7085860 | Dugan et al. | Aug 2006 | B2 |
7100096 | Webb, Jr. et al. | Aug 2006 | B2 |
7111130 | Blake et al. | Sep 2006 | B2 |
7120728 | Krakirian et al. | Oct 2006 | B2 |
7124207 | Lee et al. | Oct 2006 | B1 |
7133988 | Fujibayashi | Nov 2006 | B2 |
7149823 | Miller et al. | Dec 2006 | B2 |
7155569 | Johnson et al. | Dec 2006 | B2 |
7164425 | Kwak et al. | Jan 2007 | B2 |
7174274 | Carlson et al. | Feb 2007 | B2 |
7202801 | Chou | Apr 2007 | B2 |
7277387 | Sanders et al. | Oct 2007 | B2 |
7292597 | Mills et al. | Nov 2007 | B2 |
7315911 | Davies et al. | Jan 2008 | B2 |
7373435 | Carlson et al. | May 2008 | B2 |
7382733 | Banerjee et al. | Jun 2008 | B2 |
7395284 | Sato et al. | Jul 2008 | B2 |
7398335 | Sonksen et al. | Jul 2008 | B2 |
7484021 | Rastogi et al. | Jan 2009 | B2 |
7500023 | Casper et al. | Mar 2009 | B2 |
7500030 | Hathorn et al. | Mar 2009 | B2 |
7502873 | Casper et al. | Mar 2009 | B2 |
7512133 | Dugan et al. | Mar 2009 | B2 |
7516248 | Carlson et al. | Apr 2009 | B2 |
7539777 | Aitken | May 2009 | B1 |
7543087 | Philbrick et al. | Jun 2009 | B2 |
7555554 | Manders et al. | Jun 2009 | B2 |
7558827 | Kawashima et al. | Jul 2009 | B2 |
7564791 | Jayakrishnan et al. | Jul 2009 | B2 |
7577772 | Sonksen et al. | Aug 2009 | B2 |
7577773 | Gandhi et al. | Aug 2009 | B1 |
7594057 | Gandhi et al. | Sep 2009 | B1 |
7599360 | Edsall et al. | Oct 2009 | B2 |
7600053 | Carlson et al. | Oct 2009 | B2 |
7711871 | Haechten et al. | May 2010 | B1 |
7743197 | Chavan et al. | Jun 2010 | B2 |
7765336 | Butler et al. | Jul 2010 | B2 |
7826349 | Kaur et al. | Nov 2010 | B2 |
7840717 | Flanagan et al. | Nov 2010 | B2 |
7840718 | Ricci et al. | Nov 2010 | B2 |
7840719 | Casper et al. | Nov 2010 | B2 |
7856511 | Ricci et al. | Dec 2010 | B2 |
7941570 | Flanagan et al. | May 2011 | B2 |
20010030943 | Gregg et al. | Oct 2001 | A1 |
20020032810 | Wagner | Mar 2002 | A1 |
20020062407 | Tateyama et al. | May 2002 | A1 |
20020099967 | Kawaguchi | Jul 2002 | A1 |
20020152338 | Elliott et al. | Oct 2002 | A1 |
20020178404 | Austen et al. | Nov 2002 | A1 |
20030002492 | Gallagher et al. | Jan 2003 | A1 |
20030056000 | Mullendore et al. | Mar 2003 | A1 |
20030084213 | Brice, Jr. et al. | May 2003 | A1 |
20030103504 | Dugan et al. | Jun 2003 | A1 |
20030158998 | Smith | Aug 2003 | A1 |
20030187627 | Hild et al. | Oct 2003 | A1 |
20030188053 | Tsai | Oct 2003 | A1 |
20030208581 | Behren et al. | Nov 2003 | A1 |
20040030822 | Rajan et al. | Feb 2004 | A1 |
20040054776 | Klotz et al. | Mar 2004 | A1 |
20040113772 | Hong Chou | Jun 2004 | A1 |
20040125960 | Fosgate et al. | Jul 2004 | A1 |
20040136241 | Rapp et al. | Jul 2004 | A1 |
20040151160 | Sanders et al. | Aug 2004 | A1 |
20040193968 | Dugan et al. | Sep 2004 | A1 |
20040210719 | Bushey et al. | Oct 2004 | A1 |
20040230706 | Carlson et al. | Nov 2004 | A1 |
20040260851 | Tu | Dec 2004 | A1 |
20050018673 | Dropps et al. | Jan 2005 | A1 |
20050099954 | Mohan et al. | May 2005 | A1 |
20050102456 | Kang | May 2005 | A1 |
20050105456 | Cookson et al. | May 2005 | A1 |
20050108251 | Hunt | May 2005 | A1 |
20050175341 | Ovadia | Aug 2005 | A1 |
20050204069 | Carlson et al. | Sep 2005 | A1 |
20050216617 | Carlson et al. | Sep 2005 | A1 |
20050223291 | Zimmer et al. | Oct 2005 | A1 |
20050229033 | Tanaka et al. | Oct 2005 | A1 |
20050257118 | Shien | Nov 2005 | A1 |
20060036769 | Frey et al. | Feb 2006 | A1 |
20060050726 | Ahmed et al. | Mar 2006 | A1 |
20060075154 | Carlson et al. | Apr 2006 | A1 |
20060085595 | Slater | Apr 2006 | A1 |
20060159112 | Sundaram et al. | Jul 2006 | A1 |
20060224795 | Muto et al. | Oct 2006 | A1 |
20070005838 | Chang et al. | Jan 2007 | A1 |
20070016554 | Dapp et al. | Jan 2007 | A1 |
20070061463 | Hiramatsu et al. | Mar 2007 | A1 |
20070072543 | Paila et al. | Mar 2007 | A1 |
20070079022 | Carlson et al. | Apr 2007 | A1 |
20070079051 | Tanaka et al. | Apr 2007 | A1 |
20070091497 | Mizuno et al. | Apr 2007 | A1 |
20070162631 | Balakrishnan et al. | Jul 2007 | A1 |
20070174544 | Yasuda et al. | Jul 2007 | A1 |
20070239944 | Rupanagunta et al. | Oct 2007 | A1 |
20070294697 | Theimer et al. | Dec 2007 | A1 |
20080040519 | Starr et al. | Feb 2008 | A1 |
20080043563 | Brice et al. | Feb 2008 | A1 |
20080059638 | Hathorn et al. | Mar 2008 | A1 |
20080103754 | Carlson et al. | May 2008 | A1 |
20080103755 | Carlson et al. | May 2008 | A1 |
20080109580 | Carlson et al. | May 2008 | A1 |
20080147889 | Casper et al. | Jun 2008 | A1 |
20080147890 | Casper et al. | Jun 2008 | A1 |
20080183877 | Carlson et al. | Jul 2008 | A1 |
20080235553 | Chintada | Sep 2008 | A1 |
20080256264 | Muto et al. | Oct 2008 | A1 |
20080273518 | Pratt | Nov 2008 | A1 |
20080307122 | Butler et al. | Dec 2008 | A1 |
20090049241 | Ohno et al. | Feb 2009 | A1 |
20090055585 | Fernandes et al. | Feb 2009 | A1 |
20090144586 | Casper et al. | Jun 2009 | A1 |
20090172203 | Casper et al. | Jul 2009 | A1 |
20090201537 | Araya | Aug 2009 | A1 |
20090210557 | Gainey, Jr. et al. | Aug 2009 | A1 |
20090210559 | Flanagan et al. | Aug 2009 | A1 |
20090210560 | Yudenfriend et al. | Aug 2009 | A1 |
20090210561 | Ricci et al. | Aug 2009 | A1 |
20090210562 | Huang et al. | Aug 2009 | A1 |
20090210563 | Flanagan et al. | Aug 2009 | A1 |
20090210564 | Ricci et al. | Aug 2009 | A1 |
20090210570 | Bendyk et al. | Aug 2009 | A1 |
20090210571 | Casper et al. | Aug 2009 | A1 |
20090210572 | Yudenfriend et al. | Aug 2009 | A1 |
20090210573 | Yudenfriend et al. | Aug 2009 | A1 |
20090210576 | Casper et al. | Aug 2009 | A1 |
20090210579 | Bendyk et al. | Aug 2009 | A1 |
20090210580 | Bendy et al. | Aug 2009 | A1 |
20090210581 | Flanagan et al. | Aug 2009 | A1 |
20090210582 | Bendyk et al. | Aug 2009 | A1 |
20090210583 | Bendyk et al. | Aug 2009 | A1 |
20090210584 | Carlson et al. | Aug 2009 | A1 |
20090210585 | Ricci et al. | Aug 2009 | A1 |
20090210768 | Carlson et al. | Aug 2009 | A1 |
20090210769 | Casper et al. | Aug 2009 | A1 |
20090210884 | Ricci et al. | Aug 2009 | A1 |
20090307388 | Tchapda | Dec 2009 | A1 |
20100014526 | Chavan et al. | Jan 2010 | A1 |
20100030919 | Flanagan et al. | Feb 2010 | A1 |
20100030920 | Casper et al. | Feb 2010 | A1 |
20100064072 | Tang et al. | Mar 2010 | A1 |
20110113159 | Casper et al. | May 2011 | A1 |
Number | Date | Country |
---|---|---|
3931514 | Mar 1990 | DE |
1264096 | Feb 1972 | GB |
2291990 | Feb 1996 | GB |
63236152 | Oct 1988 | JP |
2010-140127 | Jun 2010 | JP |
WO2006102664 | Sep 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20110113159 A1 | May 2011 | US |