Patent ID: 7430630
Filing Date: 2008-09-30
Classification: G06F,H04L

Abstract:
1. A computer implemented method for address routing in a distributed computing system, the computer implemented method comprising: receiving a transaction packet comprising at least a source identifier that identifies a source of a transaction by a bus value, a device value, and a function value, and a memory address that identifies a Peripheral Component Interconnect address to access in a target device; determining if the transaction packet includes a destination identifier that identifies the target device to be accessed by the transaction packet, wherein a destination identifier is automatically inserted into a transaction packet by hardware on each Input/Output transaction; responsive to a determination that the transaction packet includes a destination identifier, retrieving a record from a validation table using the destination identifier included in the transaction packet; responsive to a determination that the transaction packet does not include a destination identifier, retrieving a destination identifier from a translation table using the memory address included in the transaction packet to lookup the destination identifier, retrieving the record from the validation table using the destination identifier retrieved from the translation table, and inserting the destination identifier retrieved from the translation table into the transaction packet; determining if the source identifier included in the transaction packet is associated with the destination identifier using the record from the validation table, wherein the validation table contains a record for each of a plurality of destination identifiers, and wherein the record for each of the plurality of destination identifiers indicates all associated source identifiers for one of the plurality of the destination identifiers; responsive to a determination that the source identifier included in the transaction packet is associated with the destination identifier, retrieving at least one port that is associated with the destination identifier using at least one routing table to look up the at least one port, wherein a bridge or switch contains a routing table and one port of the at least one port, and wherein each port of the at least one port is used to reach the target device; determining if the at least one port is destination identifier aware, wherein a port is destination identifier aware by supporting destination identifier routing; responsive to a determination that the at least one port is destination identifier aware, placing the transaction packet in a queue for the at least port; routing the transaction packet using the at least one port, wherein the transaction packet is routed to the target device through at least one bridge or switch of the at least one port, wherein the transaction packet is authorized to access the target device if the validation table indicates that the source identifier included in the transaction packet is associated with the destination identifier.