WO2009032844A2 - Sharing legacy devices in a multi-host environment - Google Patents
Sharing legacy devices in a multi-host environment Download PDFInfo
- Publication number
- WO2009032844A2 WO2009032844A2 PCT/US2008/075119 US2008075119W WO2009032844A2 WO 2009032844 A2 WO2009032844 A2 WO 2009032844A2 US 2008075119 W US2008075119 W US 2008075119W WO 2009032844 A2 WO2009032844 A2 WO 2009032844A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- host
- legacy
- virtual machine
- virtual
- host environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/65—Re-configuration of fast packet switches
Definitions
- PCI Peripheral Components Interconnect
- PCI interconnect was conceived as a Local IO interconnect, and as such it was created to link devices within a single host (in the box architecture).
- the cost and speeds of PCI make it an attractive solution for disaggregating the system architecture.
- PCI has a number of challenges to overcome including its rooted architecture, ordering rules and legacy programming model as [0004]
- a result a number of unsuccessful attempts to extended FCl.
- disaggregated volume systems do not include interconnect connectors, such as a PCI connector, because of a perceived difficulty in extending the PCl interconnect across the backplane.
- Figure 1 is a high-level diagram illustrating an exemplary blade server architecture which may share legacy devices in a multi-host environment.
- Figure 2 is a functional illustration of an exemplary multi-host environment having a switch fabric for sharing legacy devices.
- Figure 3 is another functional illustration of the exemplary multi-host environment shown in Figure 2 showing the compute node and the management node in more detail.
- Figure 4 shows device transactions en capsul a ted/u noncapsulated within
- Figure 5 is a flowchart illustrating exemplary operations which may be implemented for sharing legacy devices in a multi-host environment.
- exemplary embodiments described herein implement a hardware assisted virtualization of legacy devices (e.g., keyboard controller, video controller, mouse controller, read-only-memory (system ROM), BIOS/extensible firmware interface (EFI), etc.) for sharing among partitions in a multi-host environment.
- legacy devices e.g., keyboard controller, video controller, mouse controller, read-only-memory (system ROM), BIOS/extensible firmware interface (EFI), etc.
- legacy devices e.g., keyboard controller, video controller, mouse controller, read-only-memory (system ROM), BIOS/extensible firmware interface (EFI), etc.
- legacy devices e.g., keyboard controller, video controller, mouse controller, read-only-memory (system ROM), BIOS/extensible firmware interface (EFI), etc.
- the hardware assisted virtualization of legacy devices do not need to scale on a one-to-one basis as more host partitions are added. That is, more host partitions may be added to
- virtual machine and "logical server” refer to a simulation, emulation or other similar functional representation of a computer system, whereby the virtual machine comprises one or more functional components that are not constrained by the physical boundaries that define one or more real or physical computer systems.
- the functional components comprise real or physical devices, interconnect busses and networks, as well as software programs executing on one or more CPUs.
- ⁇ virtual machine may, for example, comprise a sub-set of functional components that include some hut not all functional components within a real or physical computer system; may comprise some functional components of multiple real or physical computer systems; may comprise all the functional components of one real or physical computer system, but only some components of another real or physical computer system; or may comprise all the functional components of multiple real or physical computer systems.
- Other combinations are also possible, and all such combinations are intended to be within the scope of the following disclosure.
- the terms 'Virtual device” and "virtual legacy device” refer to a simulation, emulation or other similar functional representation of a real or physical computer device (e.g., a legacy device), whereby the virtual device comprises one or more functional components that are not constrained by the physical boundaries that define one or more real or physical computer devices. Like a virtual device may comprise any number of combinations of some or all of the functional components of one or more physical or real devices, and the [0016]
- PCI-Express or “PCIe” refers to the architecture and protocol described in the document entitled, "PCI Express Base Specification 1.1,” promulgated by the Peripheral Component Interconnect Special Interest Group
- PCI-SIG PCI-SIG
- PCIe PCIe-SIG
- FIG. 1 is a high-level diagram illustrating an exemplary blade server architecture 10 which may share legacy devices in a multi-host environment.
- the multi-host environment may be implemented as a virtual machine or a logical server. It is appreciated that commonplace elements of a blade server, s ⁇ ch as power supplies, are not shown to simplify the drawing.
- the blade server architecture 10 is shown only for purposes of illustration of one exemplary embodiment which may implement the systems and operations described herein.
- the blade server architecture 10 has a backplane (not shown) for providing power and networking connections t ⁇ one or more trays 12a-c.
- Each tray 12a-c typically passes power and networking connections between each of the blades (e.g., CPU blades 14a-d, disc blades 10a-d, and other resource blades 18a-d).
- blade servers One advantage of blade servers is the ability to densely pack various computing resources in a single package, and enable easy expansion, upgrades, and/or repairs.
- interconnect peripherals such as PCI-conncctcd
- tray 12c may be used for cards connecting a keyboard, video card, mouse, ROM, and/or other virtual legacy devices similar to those already being used in conventional server environments.
- the virtual legacy devices may be allocated to any of the CPU blades and do not need to be added on a one-to-one ratio. This is particularly advantageous where the virtual machine functions in a server environment and resources such as a keyboard, video, or mouse are not needed on a continuous basis.
- the virtual legacy devices can be allocated to any of the CPU blades 14a-d in the virtual machine in any of a variety of different ways.
- one or more of the virtual legacy devices can be shared between any of the CPU blades 14a-d, one or more of the virtual legacy devices may be used exclusively by any of the CPU blades 14a-d, or a combination thereof.
- the ability to use PCI interconnection offers significant flexibility and use of virtual legacy devices in the virtual machine or multi-host environment.
- multiple blade servers can be connected into a single interconnect network.
- Figure 1 shows tray 12a dedicated to CPU blades 14a-d
- FIG. 1 is a functional illustration of an exemplary multi-host environment 100 having a switch fabric 102 for sharing legacy devices.
- the exemplary multi-host environment 100 may include several components or "nodes" that are interconnected by the switch fabric 102.
- the switch fabric 102 may provide redundant or alternate paths that interconnect the nodes and allow them to exchange data.
- the switch fabric 102 includes switches 110 through 118.
- the multi-host environment 100 also comprises compute nodes 120 and 124, management node 122, and standard input/output (I/O) node 126 (e.g., for non- legacy I/O devices).
- I/O input/output
- Each of the nodes within the multi-host environment 100 couples to at least two of the switches within the switch fabric 102.
- compute node 120 may couple to both port 27 of switch 114 and port 46 of switch 118; management node 122 couples to port 26 of switch 114 and port 36 of switch 116; compute node 124 couples to port 25 of switch 114 and port 45 of switch 118; and standard I/O node 126 couples to port 35 of switch 1 16 and port 44 of switch 118.
- a node can send and receive data across the switch fabric 102 over either path.
- management node 122 needs to communicate with standard I/O node 126, but switch 116 has failed, the transaction can still be completed by using an alternate path through the remaining switches.
- switch fabric 102 "pretends" to be a rooted hierarchy, wherein a switch 110 is "logically rooted” at any of its nodes, and as a result the management node 122 can be connected at any of the switch 110 ports to leverage the PCI infrastructure and programming model.
- the switch fabric 102 may be initialized for a peripheral component interconnect (PCI) architecture in one example as follows.
- PCI peripheral component interconnect
- each of the switches 110 through 118 designates each port as primary ports and the paths between the switches as active paths.
- the management node 122 then begins a series of one or more configuration cycles in which each switch port and endpoint is identified (referred to in the PCI architecture as "enumeration"), and in which the primary bus coupled to the management node is designated as the root complex on the primary bus.
- Each configuration cycle comprises accessing configuration data stored in the each device coupled to the switch fabric (e.g., the PCI configuration space of a PCI device).
- the switches comprise data related to devices that are coupled to the switch. If the configuration data regarding other devices stored by the switch is not complete, the management node 122 initiates additional configuration cycles until all devices coupled to lhe switch have been identified and the configuration data within the switch is complete.
- switch 1 16 When switch 1 16 detects that the management node 122 has initiated a first valid configuration cycle, switch 116 identifies all ports not yet coupled as [00381
- switch 116 will end up with port 36 identified as a primary port, and switches 110, 112, 114, and 118 with ports 05, 16, 24, and 47 identified as primary ports, respectively.
- each port reports its configuration (primary or secondary) to the port of any other switch to which it is coupled.
- each switch determines whether or not both ports have been identified as secondary. If at least one port has not been identified as a secondary port, the path between them is designated as an active path within the bus hierarchy. If both ports have been identified as secondary ports, the path between them is designated as a redundant or alternate path. Routing information regarding other ports or endpoints accessible through each switch (segment numbers within the PCI architecture) is then exchanged between the two ports at either end of the path coupling the ports, and each port is then identified as an endpoint within the bus hierarchy.
- data packets may be routed as needed through paths identified during initialization.
- the switch may receive a data packet, determine the destination of the data packet (e.g., by comparing routing information stored in the switch with the destination of the data packet), and based on the destination, the switch attempts to determine a route to the destination through the switch.
- the various nodes coupled can communicate with each other at rates comparable to the transfer rates [0043
- FIG 3 is another functional illustration of the exemplary multi-host environment shown in Figure 2 showing the compute node 120 and the management node 122 in more detail.
- the compute node 120 comprises CPU 135 and bridge/memory controller 150, each coupled to front-side bus 155; gateway 131 , which together with bridge/memory controller 150 is coupled to internal bus 139 (e.g., a PCI bus); and memory 134 which is coupled to bridge/memory controller 150.
- Operating system (O/S) 136, application program 137, and device driver 138 are program code that execute on CPU 135. Both application program 137 and device driver 138 execute within the environment created by operating system 136.
- Management node 122 may similarly comprise a CPU 145 and bridge/memory controller 160, each coupled to front-side bus 165; gateway 141, which together with bridge/memory controller 160 is coupled to internal bus 149 (e.g., a PCI bus); and memory 144 which is coupled to bridge/memory controller 160.
- Operating system (O/S) 145 and device driver 148 are program code that execute on CPU 145.
- the device driver 148 executes within the environment created by operating system 146 to instantiate the virtual legacy device (indicated as keyboard, video, mouse (or logical/virtual KVM) 147 in memory 144.
- Compute node gateway 131 and the management node gateway 141 each act as an interface to network switch fabric 102, and each provides an abstraction [0048]
- Each gateway comprises a controller that implements an abstraction layer. It is the abstraction layer that device- or protocol-specific ordering rules are enforced. In addition the abstraction layer surfaces any control point for linking gateway nodes across the network switch fabric 102 to the management control point 122. Once bindings are established between gateways with like protocol/device solution the gateway connect in a transparent fashion when viewed from any compute node (e.g., nodes 120 & 124) into their respective PCI Express hierarchy. The gateways can optionally provide higher level services such as QoS, end-to-end flow control, for the network switch fabric 102.
- the controller may comprise a hardware state machine, a CPU executing software, or both.
- the abstraction layer may be implemented as hardware and/or software operating within the gateway alone, or may be implemented as gateway hardware and/or software operating with driver software executing on a separate CPU. Other combinations of hardware and software may also be implemented, as will be readily apparent to those having ordinary skill in the art after becoming familiar with the teachings herein.
- the abstraction layer thus implemented allows legacy devices on one node (e.g., management node 122) to be made visible to another node (e.g., compute node 120) as independent and discrete devices.
- the virtualization of a legacy device allows the node al the root level of the resulting virtual bus to enumerate the virtualized device within a virtual hierarchical bus. This is accomplished via bundling device instance associations between the fabric (102) gateways incorporated within compute node(120 Sc 124) and IO node (126). Once these instances are associated the compute node software stack (OS) 'sees' the virtual devices as discrete unshared resources that are managed, mapped and used (0052
- OS compute node software stack
- the virtualized device may be implemented by linking or associating instances between the compute node gateways (131) to (virtual legacy device instances withi n of the gateway 141 each instance with its associated descriptor blocks within management node memory- 122 used to virtualized the legacy device using the software stack 148.
- the management node 122 Once the association has been built by the management node 122, that is the binding of the legacy resource instance between the compute node gateways and the management node gateway with the appropriate descriptor block created and actively running with its associated software emulator driver (148), the compute node is allowed to power up. Once the compute node is powered up the software (OS 136) "sees" what it believes is a standard platform with full bare- metal control and access to physical resources including the legacy devices. With no hypervisor presenting on the compute node CPU (135) the sharing of legacy resources between host across a common interconnect is now possible.
- each component formats outgoing transactions according to the protocol of the internal bus (139 or 149) and the corresponding gateway (131 or 141) for that node (120 or 122) encapsulates the outgoing transactions according to lhe protocol of the underlying network switch fabric 102.
- Incoming transactions arc similarly uiie ⁇ eapsulaled by the corresponding gateway for the receiving node (120 or 122). (0055J) It is noted that the legacy device runs under the control of an OS running on a host-compute node.
- devices do not initiate communications with the host unless the host OS has configured the device to do so previously as a result everything starts with the host OS communication coming down into the device- virtual legacy device.
- the ROM device has no physical part as ROM is now memory space from within the management node 122 (inside memory space 147).
- the legacy devices are now software simulated devices in the management node 122 (e.g., as 147-148).
- a legacy device when a legacy device needs to communicate with a compute node, data is read from the physical legacy device (e.g., a keyhoard, video card, mouse, ROM, etc.). This data is split apart and put in an ordered location hy the management node for the legacy device virtual instance for routing to the associated compute node (virtual machine).
- the host driver at the compute node services the device (virtual device) interrupt in a standard fashion.
- the compute node host legacy device driver
- the host driver for the virtual legacy device builds the packet request (either write or read request) that result in a PCIe transaction targeting the virtual legacy device.
- the compute node gateway on detecting the packet encapsulated the packet then routes the encapsulated packet using preconf ⁇ gured management node settings that target the management node gateway.
- the management node gateway unencapsulates the packets then routes the packet into the management node memory space based on pre configured routing information that identifies a unique memory space for the virtual legacy device instance. Once the packet has been routed into the management node memory space the management node CPU is interrupted to service packet as a virtualizcd legacy device. This process is explained in more detail with reference to Figure 4. [0057]
- Figure 4 shows device transactions encapsulated/unencapsulated within PCIe transactions for delivery in a multi-host environment. If a legacy device is sending data to a compute node, the CPU presents the data to a device driver which then forwards the data to a gateway according to the protocol of an internal bus, for example, as device transaction 170.
- the device transaction 170 is encapsulated by gateway 131, which forms a transaction formatted according to the underlying bus protocol for the switch fabric, for example, as a PCIe transaction 172.
- the network switch fabric routes the PCIe transaction 172 to another node, e.g., where the gateway 141 extracts the original unencapsulated transaction 170'.
- a virtualized representation of the real legacy device made visible by gateway driver processes, formats, and forwards the original unencapsulated transaction 170' to the CPU, allowing selected components of the nodes to interact as if communicating directly with each other over a single bus or traditional point- to-point interconnect.
- information may be similarly delivered from gateway 141 to gateway 131.
- the abstraction layer also observes the packet or message ordering rules of the encapsulated protocol.
- the non-guaranteed delivery and out-of-order packet rules of the encapsulated protocol will be implemented by both the transmitter and receiver of the packet/gateway, even if the underlying hierarchical bus of network switch fabric follows ordering rules that are more stringent (e.g., guaranteed delivery and ordering).
- QoS quality of service
- Such Q ⁇ S rules may be implemented either as part of the protocol emulated, or as additional QoS rules implemented transparently by the gateways.
- gateways The encapsulation and abstraction provided by gateways are performed transparently to the rest of the components of each of the corresponding nodes.
- the virtualized representation of the legacy device i.e., the virtual legacy device
- the gateways encapsulate and unencapsulate transactions as they are sent and received, and because the underlying fabric has a level of performance comparable to that of internal busses, little delay is added to. bus transactions as a result of the encapsulation and un en capsulation of internal native bus transactions.
- legacy devices may be used within the system without the need for hardware modifications or special software drivers.
- the existence of the gateways and the functionality they provide is invisible to the rest of the hardware, as well as to operating systems executing on the CPUs of the nodes.
- Each gateway allows virtualized representations of selected devices (i.e., the virtual legacy devices) within one node to appear as endpomts within the bus hierarchy of another node.
- a virtual legacy device appears as an endpoint within the bus hierarchy of compute node, and is accordingly enumerated by compute node.
- the gateway itself appears as an endpoint within the switch fabric (managed and enumerated by the management node). There is no physical representation of the legacy devices even though this is a hardware partition.
- FIG. 5 is a flowchart illustrating exemplary operations which may be implemented for sharing legacy devices in a multi-host environment.
- Operations 200 may be embodied as logic instructions on one or more computer-readable medium. When executed on a processor, the logic instructions cause a general purpose computing device to be programmed as a special-purpose machine that [00641
- device information may be received from a legacy device.
- the device information may identify a target host within a multi-host environment (e.g., the virtual machine).
- the device information may be encapsulated into a corresponding bus transaction for the network switch fabric.
- the device information may be encapsulated into a PCIe transaction.
- the bus transaction is routed over a network switch fabric in the multi-host environment to the target host within the multi-host environment.
- the device information may be unencapsulatcd after being received at the target host.
- [0071J embodiments are also contemplated for sharing legacy devices in a muJti-host environment.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
- Bus Control (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE112008002416T DE112008002416T5 (en) | 2007-09-06 | 2008-09-03 | Sharing Legacy Devices in a Multithost Environment |
| GB1005469A GB2466589A (en) | 2007-09-06 | 2008-09-03 | Sharing legacy devices in a multi-host environment |
| CN200880114798.5A CN101849230B (en) | 2007-09-06 | 2008-09-03 | Sharing legacy devices in a multi-host environment |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/851,306 | 2007-09-06 | ||
| US11/851,306 US8316377B2 (en) | 2007-09-06 | 2007-09-06 | Sharing legacy devices in a multi-host environment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2009032844A2 true WO2009032844A2 (en) | 2009-03-12 |
| WO2009032844A3 WO2009032844A3 (en) | 2009-05-22 |
Family
ID=40429670
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2008/075119 Ceased WO2009032844A2 (en) | 2007-09-06 | 2008-09-03 | Sharing legacy devices in a multi-host environment |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8316377B2 (en) |
| CN (1) | CN101849230B (en) |
| DE (1) | DE112008002416T5 (en) |
| GB (1) | GB2466589A (en) |
| WO (1) | WO2009032844A2 (en) |
Families Citing this family (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8976799B1 (en) * | 2007-10-01 | 2015-03-10 | Apple Inc. | Converged computer I/O system and bridging mechanism for peer-to-peer communication |
| US20100061367A1 (en) * | 2008-09-11 | 2010-03-11 | Pradeep Sindhu | Methods and apparatus related to lossless operation within a data center |
| US9847953B2 (en) * | 2008-09-11 | 2017-12-19 | Juniper Networks, Inc. | Methods and apparatus related to virtualization of data center resources |
| US11271871B2 (en) | 2008-09-11 | 2022-03-08 | Juniper Networks, Inc. | Methods and apparatus related to a flexible data center security architecture |
| US8340088B2 (en) * | 2008-09-11 | 2012-12-25 | Juniper Networks, Inc. | Methods and apparatus related to a low cost data center architecture |
| US8335213B2 (en) * | 2008-09-11 | 2012-12-18 | Juniper Networks, Inc. | Methods and apparatus related to low latency within a data center |
| US8265071B2 (en) | 2008-09-11 | 2012-09-11 | Juniper Networks, Inc. | Methods and apparatus related to a flexible data center security architecture |
| US8730954B2 (en) * | 2008-09-11 | 2014-05-20 | Juniper Networks, Inc. | Methods and apparatus related to any-to-any connectivity within a data center |
| US8755396B2 (en) * | 2008-09-11 | 2014-06-17 | Juniper Networks, Inc. | Methods and apparatus related to flow control within a data center switch fabric |
| US9240923B2 (en) * | 2010-03-23 | 2016-01-19 | Juniper Networks, Inc. | Methods and apparatus for automatically provisioning resources within a distributed control plane of a switch |
| US9813252B2 (en) | 2010-03-23 | 2017-11-07 | Juniper Networks, Inc. | Multicasting within a distributed control plane of a switch |
| US20110276625A1 (en) * | 2010-05-06 | 2011-11-10 | Hemal Shah | Method and system for host independent keyboard, video, and mouse (kvm) redirection |
| US9112310B2 (en) | 2010-06-30 | 2015-08-18 | Apple Inc. | Spark gap for high-speed cable connectors |
| KR101449229B1 (en) | 2010-06-30 | 2014-10-08 | 애플 인크. | Circuitry for active cable |
| US8327536B2 (en) | 2010-06-30 | 2012-12-11 | Apple Inc. | Method of manufacturing high-speed connector inserts and cables |
| US20230353485A1 (en) * | 2010-07-06 | 2023-11-02 | Nicira, Inc. | Packet processing for logical datapath sets |
| US8533285B2 (en) * | 2010-12-01 | 2013-09-10 | Cisco Technology, Inc. | Directing data flows in data centers with clustering services |
| US9282060B2 (en) | 2010-12-15 | 2016-03-08 | Juniper Networks, Inc. | Methods and apparatus for dynamic resource management within a distributed control plane of a switch |
| US20120226774A1 (en) | 2011-02-23 | 2012-09-06 | Apple Inc. | Display snooping |
| AU2012387975B2 (en) * | 2012-10-26 | 2016-03-17 | Huawei Technologies Co., Ltd. | PCIE switch-based server system, switching method and device |
| US20140280850A1 (en) * | 2013-03-15 | 2014-09-18 | Lantronix, Inc. | Collaborative State Machine Management |
| US10140218B2 (en) | 2015-01-15 | 2018-11-27 | Red Hat Israel, Ltd. | Non-uniform memory access support in a virtual environment |
| US9639492B2 (en) | 2015-01-15 | 2017-05-02 | Red Hat Israel, Ltd. | Virtual PCI expander device |
| US9652429B2 (en) * | 2015-09-16 | 2017-05-16 | Onulas, Llc | Horizontally expandable computing system |
| CN106844263B (en) * | 2016-12-26 | 2020-07-03 | 中国科学院计算技术研究所 | Configurable multiprocessor-based computer system and implementation method |
| CN110688237B (en) * | 2019-06-25 | 2024-02-09 | 华为技术有限公司 | Method for forwarding message, intermediate device and computer device |
| US11023402B2 (en) * | 2019-07-02 | 2021-06-01 | National Instruments Corporation | Switch pruning in a switch fabric bus chassis |
| US11294693B2 (en) * | 2020-04-14 | 2022-04-05 | Ncr Corporation | Virtualized transaction terminal platform |
| KR102732959B1 (en) * | 2022-01-17 | 2024-11-21 | 한국전자통신연구원 | Disaggregation computing system and method |
| US12401605B2 (en) * | 2023-09-20 | 2025-08-26 | Apple Inc. | Communication fabric structures for increased bandwidth |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6618777B1 (en) * | 1999-01-21 | 2003-09-09 | Analog Devices, Inc. | Method and apparatus for communicating between multiple functional units in a computer environment |
| US6981174B1 (en) * | 2002-07-18 | 2005-12-27 | Extreme Networks, Inc. | Method and apparatus for a redundant port |
| US20040030766A1 (en) * | 2002-08-12 | 2004-02-12 | Michael Witkowski | Method and apparatus for switch fabric configuration |
| US7251704B2 (en) * | 2002-08-23 | 2007-07-31 | Intel Corporation | Store and forward switch device, system and method |
| US7457906B2 (en) * | 2003-01-21 | 2008-11-25 | Nextio, Inc. | Method and apparatus for shared I/O in a load/store fabric |
| CA2834634A1 (en) * | 2003-02-20 | 2004-08-20 | Rockstar Consortium Us Lp | Circulating switch |
| US7437738B2 (en) * | 2003-11-12 | 2008-10-14 | Intel Corporation | Method, system, and program for interfacing with a network adaptor supporting a plurality of devices |
| US7289728B2 (en) * | 2004-03-11 | 2007-10-30 | General Instrument Corporation | Use of variable ratio couplers for network protection and recovery |
| US8374175B2 (en) | 2004-04-27 | 2013-02-12 | Hewlett-Packard Development Company, L.P. | System and method for remote direct memory access over a network switch fabric |
| US7058738B2 (en) * | 2004-04-28 | 2006-06-06 | Microsoft Corporation | Configurable PCI express switch which allows multiple CPUs to be connected to multiple I/O devices |
| US7808992B2 (en) * | 2004-12-30 | 2010-10-05 | Cisco Technology, Inc. | Platform independent implementation of private VLANS |
| US7613864B2 (en) * | 2005-04-22 | 2009-11-03 | Sun Microsystems, Inc. | Device sharing |
| US7689800B2 (en) * | 2005-05-12 | 2010-03-30 | Microsoft Corporation | Partition bus |
| US7680096B2 (en) * | 2005-10-28 | 2010-03-16 | Qnx Software Systems Gmbh & Co. Kg | System for configuring switches in a network |
| US7389398B2 (en) | 2005-12-14 | 2008-06-17 | Intel Corporation | Methods and apparatus for data transfer between partitions in a computer system |
-
2007
- 2007-09-06 US US11/851,306 patent/US8316377B2/en active Active
-
2008
- 2008-09-03 DE DE112008002416T patent/DE112008002416T5/en not_active Ceased
- 2008-09-03 CN CN200880114798.5A patent/CN101849230B/en not_active Expired - Fee Related
- 2008-09-03 GB GB1005469A patent/GB2466589A/en not_active Withdrawn
- 2008-09-03 WO PCT/US2008/075119 patent/WO2009032844A2/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| CN101849230B (en) | 2013-01-16 |
| DE112008002416T5 (en) | 2010-07-08 |
| US8316377B2 (en) | 2012-11-20 |
| CN101849230A (en) | 2010-09-29 |
| US20090070775A1 (en) | 2009-03-12 |
| GB2466589A (en) | 2010-06-30 |
| GB201005469D0 (en) | 2010-05-19 |
| WO2009032844A3 (en) | 2009-05-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8316377B2 (en) | Sharing legacy devices in a multi-host environment | |
| US8103810B2 (en) | Native and non-native I/O virtualization in a single adapter | |
| US20070050520A1 (en) | Systems and methods for multi-host extension of a hierarchical interconnect network | |
| US8838867B2 (en) | Software-based virtual PCI system | |
| US8069288B2 (en) | Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports | |
| TWI511048B (en) | Method and system for single root input/output virtualizaion virtual function sharing on multi-hosts | |
| US8374175B2 (en) | System and method for remote direct memory access over a network switch fabric | |
| US8176204B2 (en) | System and method for multi-host sharing of a single-host device | |
| JP5763873B2 (en) | Method, computer program, and data processing system for initializing shared memory for communication between multiple root complexes of a data processing system | |
| JP5362980B2 (en) | Method, program, and system for communicating between a first host system and a second host system in a data processing system (for communication between host systems using socket connections and shared memory) System and method) | |
| US20110060859A1 (en) | Host-to-host software-based virtual system | |
| US8972611B2 (en) | Multi-server consolidated input/output (IO) device | |
| US20060230218A1 (en) | Method and apparatus for SATA tunneling over fibre channel | |
| CN100382069C (en) | Apparatus and method for sharing a network I/O adapter between logical partitions | |
| US20060195634A1 (en) | System and method for modification of virtual adapter resources in a logically partitioned data processing system | |
| EP1728168B1 (en) | Simulation circuit of pci express endpoint and downstream port for a pci express switch | |
| US20060195618A1 (en) | Data processing system, method, and computer program product for creation and initialization of a virtual adapter on a physical adapter that supports virtual adapter level virtualization | |
| JP2008152786A (en) | Method for migrating virtual function from first to second physical function of one or more end points in data processing system, program, and system (system and method for migration of single root stateless virtual function) | |
| JP5469081B2 (en) | Control path I/O virtualization method | |
| US12430279B2 (en) | System and method for ghost bridging | |
| WO2023174146A1 (en) | Offloading-card namespace management system and method, and input/output request processing system and method | |
| WO2019124259A1 (en) | Configuration management device, configuration management system, configuration management method, and configuration management program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 200880114798.5 Country of ref document: CN |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08828994 Country of ref document: EP Kind code of ref document: A2 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1120080024162 Country of ref document: DE |
|
| ENP | Entry into the national phase |
Ref document number: 1005469 Country of ref document: GB Kind code of ref document: A Free format text: PCT FILING DATE = 20080903 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1005469.0 Country of ref document: GB |
|
| RET | De translation (de og part 6b) |
Ref document number: 112008002416 Country of ref document: DE Date of ref document: 20100708 Kind code of ref document: P |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 08828994 Country of ref document: EP Kind code of ref document: A2 |