DE112012005356T5 - Techniken in Verbindung mit Server-Transaktionslatenzinformationen - Google Patents

Techniken in Verbindung mit Server-Transaktionslatenzinformationen Download PDF

Info

Publication number
DE112012005356T5
DE112012005356T5 DE112012005356.7T DE112012005356T DE112012005356T5 DE 112012005356 T5 DE112012005356 T5 DE 112012005356T5 DE 112012005356 T DE112012005356 T DE 112012005356T DE 112012005356 T5 DE112012005356 T5 DE 112012005356T5
Authority
DE
Germany
Prior art keywords
server
transaction latency
transaction
portions
time
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.)
Withdrawn
Application number
DE112012005356.7T
Other languages
English (en)
Inventor
Manasi Deval
Muralidhar Murali Rajappa
Eric Mann
Cong Ll
Anjaneya Reddy Chagam Reddy
David Wescott
Ramkumar Nagappan
Raed Kanjo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112012005356T5 publication Critical patent/DE112012005356T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • H04L1/1678Details of the supervisory signal the supervisory signal being transmitted together with control information where the control information is for timing, e.g. time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5032Generating service level reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Abstract

Es sind Beispiele zum Bestimmen oder Verwenden von Server-Transaktionslatenzinformationen offenbart. In einigen Beispielen kann eine Netzeingabe-/-ausgabevorrichtung, die an einen Server gekoppelt ist, zum Zeitstempeln von Informationen imstande sein, die sich auf eintretende Anforderungs- und austretende Antwortpakete für eine Transaktion beziehen. Für diese Beispiele können Elemente des Servers zum Bestimmen von Transaktionslatenzwerten anhand der zeitgestempelten Informationen imstande sein. Die bestimmten Transaktionslatenzwerte können zum Überwachen oder Verwalten von Betriebseigenschaften des Servers verwendet werden, die eine Energiemenge, die dem Server bereitgestellt wird, oder eine Fähigkeit des Servers, einen oder mehrere virtuelle Server zu unterstützen, enthalten. Andere Beispiele sind beschrieben und beansprucht.

Description

  • HINTERGRUND
  • Große Datenzentren, die möglicherweise Hunderte von Diensten bedienen, können sich über viele Server (physisch oder virtuell) erstrecken. Kunden oder Konsumenten dieser bedienten Dienste könnten sich über eine langsame oder inakzeptable Leistung beschweren. Zur Feststellung der Ursache, die die Verlangsamung oder Verschlechterung der Leistung bewirkt, kann ein Team von Informationstechnologie-(IT)Experten eingesetzt werden. Dieses Team von IT-Experten kann Anwendungsprotokolle und eine Server-Ressourcenmetrik analysieren, um den störenden Server in einem bestimmten Datenzentrum zu finden. Häufig kann es aufgrund einer möglicherweise komplexen Abbildung von Diensten auf zugrundeliegende Server-Hardware mehrere Tage dauern, den störenden Server zu finden, der die Verlangsamung verursacht. Die Komplexität nimmt noch mehr in virtualisierten Cloud Computing Umgebungen zu, wo Dienste auf zahlreiche virtuelle Server abgebildet werden, die von mehreren physischen Servern in einem Datenzentrum unterstützt werden. Herkömmliche Modelle zur Problembehebung problematischer Server können auf einer Abbildung von Vereinbarungen zum Dienstleistungsniveau (Service Level Agreement – SLA) auf Kundenleistungsprobleme beruhen. Sobald die Abbildung erfolgt ist, wird die Server-Ressourcenmetrik (z. B. Prozessor, Datenspeicher, Arbeitsspeicher, usw.) für Server in einem Datenzentrum analysiert, um mögliche Kandidatserver zu identifizieren, die der störende Server sein können. Eine nächste Ebene der Problembehebung kann ein Einschalten zusätzlicher Erfassungsebenen bei Anwendungs-, Middleware- oder Infrastrukturschichten beinhalten, um eine grundlegende Ursache zu identifizieren. Aufgrund der komplexen Abbildung von Diensten auf eine zugrundeliegende virtuelle und/oder physische Infrastruktur in einem Datenzentrum scheint keine offensichtliche Korrelation zwischen SLAs und der zugrundeliegenden virtuellen und/oder physischen Infrastruktur im Datenzentrum vorhanden zu sein.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein erstes beispielhaftes System.
  • 2 zeigt einen beispielhaften Prozess.
  • 3 zeigt beispielhafte Transaktionstabellen.
  • 4 zeigt ein beispielhaftes Ablaufdiagramm zur Meldung von Transaktionslatenzinformationen.
  • 5 zeigt ein erstes beispielhaftes Datenzentrum.
  • 6 zeigt eine beispielhafte beobachtete Transaktionslatenz zwischen Servern.
  • 7 zeigt eine beispielhafte beobachtete Transaktionslatenz bei einem Server.
  • 8 zeigt ein zweites beispielhaftes Datenzentrum.
  • 9 zeigt ein zweites beispielhaftes System.
  • 10 zeigt ein drittes beispielhaftes System.
  • 11 zeigt ein beispielhaftes Blockdiagramm für eine erste Vorrichtung.
  • 12 zeigt ein Beispiel einer ersten Ablauflogik.
  • 13 zeigt ein Beispiel eines ersten Datenspeichermediums.
  • 14 zeigt ein beispielhaftes Blockdiagramm für eine zweite Vorrichtung.
  • 15 zeigt ein Beispiel einer zweiten Ablauflogik.
  • 16 zeigt ein Beispiel eines zweiten Datenspeichermediums.
  • 17 zeigt ein beispielhaftes Blockdiagramm für eine dritte Vorrichtung.
  • 18 zeigt ein Beispiel einer dritten Ablauflogik.
  • 19 zeigt ein Beispiel eines dritten Datenspeichermediums.
  • 20 zeigt ein viertes beispielhaftes System.
  • 21 zeigt eine beispielhafte Rechnerplattform.
  • 22 zeigt eine beispielhafte Netzeingabe-/-ausgabevorrichtung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Wie in der vorliegenden Offenbarung in Betracht gezogen, scheint keine offensichtlich Korrelation zwischen SLAs und der zugrundeliegenden virtuellen und/oder physischen Infrastruktur im Datenzentrum vorhanden zu sein. Dienstleistungsmonitore können in verschiedenen Teilen eines Datenzentrums angebracht werden, die sich auf eine Transaktionsverarbeitungsleistung konzentrieren, die bei bestimmten Servern (z. B. Front-end Servern) beobachtet werden. Diese aktiven Monitore können jedoch anwendungsspezifisch sein und daher schwierig allgemein über möglicherweise Hunderte von Diensten zu implementieren sein, die von vielen Servern unterstützt werden. Eine andere Strategie könnte der Einbau von Sonden an jedem bedienenden Server sein, um Netzpaketinformationen zu überwachen und zu melden, die durch physische oder virtuelle Verteiler gehen. Der Einbau von Sonden an jedem bedienenden Server kann in großen Datenzentren sowohl zeitaufwändig wie auch teuer sein. Ebenso können die großen Datenmengen, die durch eine solche Sondierung generiert werden, in der raschen und effizienten Identifizierung des störenden Servers problematisch sein. In Hinblick auf diese und andere Herausforderungen sind die hierin beschriebenen Beispiele notwendig.
  • In einigen Beispielen können Techniken in Verbindung mit Server-Transaktionslatenzinformationen implementiert werden. Für diese Beispiele kann ein Schaltkreis für eine Netzeingabe/ausgabe-(I/O)Vorrichtung imstande sein, ein oder mehrere Module in Verbindung mit Zeitstempeleintritts-/-austrittspaketen zu unterstützen. Zum Beispiel kann ein Zeitstempelmodul vom Schaltkreis ausgeführt werden, um Zeitstempel an eintretenden Anforderungspaketen anzubringen, die für einen Server bestimmt sind, der an die Netz-I/O-Vorrichtung gekoppelt ist, und separate Zeitstempel an austretenden Antwortpaketen anzubringen, die vom Server stammen. Vom Schaltkreis kann auch ein Erfassungsmodul ausgeführt werden, um Abschnitte von separaten eintretenden Anforderungspaketen und Abschnitte von separaten austretenden Antwortpaketen zu erfassen, wobei die erfassten Abschnitte zum Identifizieren der separat zeitgestempelten eintretenden Anforderungspaketen und der separat zeitgestempelten austretenden Antwortpaketen dienen. Es kann auch ein Weiterleitungsmodul vom Schaltkreis ausgeführt werden, um die erfassten Abschnitte mit jeweiligem Zeitstempel zum Server weiterzuleiten.
  • Gemäß einigen Beispielen kann der Schaltkreis bei einem Server auch imstande sein, ein oder mehrere Module zum Bestimmen von Transaktionslatenzwerten zu unterstützen. Zum Beispiel kann ein Anforderungsmodul vom Schaltkreis ausgeführt werden, um zeitgestempelte Abschnitte von eintretenden Anforderungspaketen zu empfangen (z. B. von einer Netz-I/O-Vorrichtung, die an den Server gekoppelt ist) und die empfangenen zeitgestempelten Abschnitte der eintretenden Anforderungspakete in eine Transaktionstabelle einzufügen. Ein Antwortmodul kann ebenso vom Schaltkreis ausgeführt werden, um zeitgestempelte Abschnitte von austretenden Antwortpaketen (z. B. von der Netzeingabe-/-ausgabevorrichtung) zu empfangen und die empfangenen zeitgestempelten Abschnitte der austretenden Antwortpakete in die Transaktionstabelle einzufügen. Ein Abstimmungsmodul kann ebenso vom Schaltkreis ausgeführt werden, um zeitgestempelte Abschnitte eintretender Anforderungspakete mit zeitgestempelten Abschnitten austretender Reaktionspakete, die sich in der Transaktionstabelle befinden, anhand von Informationen abzustimmen, die in den jeweiligen zeitgestempelten Abschnitten der eintretenden Anforderungs- und der austretenden Antwortpakete enthalten sind. Es kann auch ein Latenzmodul vom Schaltkreis ausgeführt werden, um erste und zweite Zeitstempel für jeweilige abgestimmte, zeitgestempelte Abschnitte der eintretenden Anforderungs- und austretenden Antwortpakete zur Bestimmung separater Transaktionslatenzwerte für Transaktionen zu verwenden, die vom Server ausgeführt werden. Ferner kann ein Meldungsmodul ebenso vom Schaltkreis ausgeführt werden, um Informationen in Verbindung mit den bestimmten separaten Transaktionslatenzwerten an eine Managementlogik zu melden. In einigen Beispielen kann die Managementlogik imstande sein, mehrere Server zu verwalten.
  • 1 zeigt ein beispielhaftes erstes System. Wie in 1 dargestellt, enthält das beispielhafte erste System ein System 100. Wie ebenso in 1 dargestellt, enthält das System 100 einen Server 101, der an ein Netz 170 und ein Managementnetz 180 gekoppelt ist. In einigen Beispielen kann der Server 101 durch einen Netzkommunikations-(Komm.-)Kanal 175 an das Netz 170 gekoppelt sein und über eine bandinternen Komm.-Kanal 125 oder bandexternen Komm.-Kanal 135 an das Managementnetz gekoppelt sein. Wie ebenfalls in 1 dargestellt, ist der Server 101 an eine oder mehrere Netz-I/O-Vorrichtung(en) 110 (z. B. Netzschnittstellenkarte(n) (NIC)) gekoppelt. Der Server 101 enthält in der Darstellung in 1 auch einen Schaltkreis 120, einen Chipsatz 130, ein Betriebssystem (OS) 140 oder einen Arbeitsspeicher 150. In einigen Beispielen, wie in 1 dargestellt, kann der Schaltkreis 120 über Komm.-Verbindungen 123 bzw. 155 kommunikativ an den Chipsatz 130 und Arbeitsspeicher 150 gekoppelt sein. Ebenso kann (können) Netz-I/O-Vorrichtung(s) 110 durch Komm.-Verbindungen 115 bzw. 113 an den Schaltkreis 120 und Chipsatz 130 gekoppelt sein.
  • Gemäß einigen Beispielen, wie in 1 dargestellt, kann das Managementnetz 180 eine Managementlogik 182 und eine Managementkonsole 184 enthalten. Wie in der Folge ausführlicher beschrieben, können Elemente eines Servers wie des Servers 101 Transaktionslatenzinformationen zu einem Managementnetz wie dem Managementnetz 180 kommunizieren. Für diese Beispiele kann der Server 101 Teil eines Datenzentrums sein, das mehrere Server (nicht dargestellt) enthält, die von der Managementlogik 182 verwaltet und gesteuert werden. In einigen Beispielen kann die Managementlogik 182 Informationen zur Managementkonsole 184 über eine Komm.-Verbindung 183 weiterleiten. Die weitergeleiteten Informationen können zum Beispiel Alarme oder andere Informationen enthalten, die sich auf mögliche Leistungsziele beziehen, die von einem Operator mit der Managementkonsole 184 überwacht werden.
  • In einigen Beispielen kann (können) die Netz-I/O-Vorrichtung(en) 110 einen Schaltkreis 112 enthalten, der zum Ausführen von Modulen oder Merkmalen zum Zeitstempeln eintretender Anforderungspakete und austretender Antwortpakete imstande ist. Für diese Beispiele kann ein bestimmtes eintretendes Anforderungspaket mit einer bestimmten Transaktion für einen Dienst in Verbindung stehen, der von Elementen des Servers 101 (z. B. Schaltkreis 120, Chipsatz 130, OS 140, Arbeitsspeicher 150) unterstützt wird. Ebenso kann ein bestimmtes austretendes Antwortpaket von jenen Elementen des Servers 101 als Reaktion auf das bestimmte eintretende Anforderungspaket generiert werden.
  • Gemäß einigen Beispielen kann der Schaltkreis 112 auch imstande sein, Module oder Merkmale zum Erfassen mindestens eines Abschnitts des bestimmten eintretenden Anforderungspakets und des bestimmten austretenden Antwortpakets auszuführen, um das bestimmte zeitgestempelte eintretende Anforderungspaket und das bestimmte zeitgestempelte austretende Antwortpaket eindeutig zu identifizieren. Für diese Beispiele können die bestimmten eintretenden Anforderungs- und austretenden Antwortpakete jeweils Paketanfangsblock-Informationen haben, die erfasst werden können, um die zeitgestempelten eintretenden Anforderungs- oder austretenden Antwortpakete eindeutig zu identifizieren. Die Paketanfangsblock-Informationen können zum Beispiel aus Transportsteuerprotokoll-/Internetprotokoll-(TCP/IP)Anfangsblöcken erhalten werden, die in den bestimmten eintretenden Anforderungs- und austretenden Antwortpaketen enthalten sind. Die TCI/IP Anfangsblock-Informationen können zum Beispiel, eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder Zielport enthalten. Die IP-Quellenadresse kann einen Server identifizieren, der das eintretende/austretende Paket gesendet hat, und die IP-Zieladresse kann einen Server identifizieren, der zum Empfangen des eintretenden/austretenden Pakets bestimmt ist. Ebenso kann der Quellport einen Dienst oder eine Anwendung in Verbindung mit dem Senden oder Generieren des eintretenden/austretenden Pakets identifizieren und der Zielport kann einen Dienst oder eine Anwendung identifizieren, der bzw. die zum Empfangen des eintretenden/austretenden Pakets bestimmt ist.
  • Gemäß einigen Beispielen kann der Schaltkreis 112 zum Anbringen eines Zeitstempels auf allen oder mindestens einer Abtastung von eintretenden Anforderungs- und austretenden Antwortpaketen und zum Erfassen von Abschnitten dieser zeitgestempelten Pakete konfiguriert sein. Eine Größe oder Anzahl von Abtastungen zum Zeitstempeln und/oder Erfassen von Abschnitten kann zum Beispiel von möglichen Variationen in Netzverkehrsmustern abhängen. Äußerst variable Verkehrsmuster können größere Abtastgrößen im Vergleich zu beständigen oder weniger variablen Verkehrsmustern erfordern.
  • In einigen Beispielen kann der Schaltkreis 112 auch imstande sein, Module oder Merkmale zum Weiterleiten der erfassten Abschnitte der bestimmten eintretenden Anforderungs- und austretenden Pakete mit jeweiligem Zeitstempel zum Schaltkreis 120 oder zum Schaltkreis 132 des Chipsatzes 130 auszuführen.
  • Für Beispiele, wo die zeitgestempelten Abschnitte zum Schaltkreis 120 weitergeleitet werden, kann ein Betriebssystem 140, das beim Arbeitsspeicher 150 gehalten wird, von einem oder mehreren Verarbeitungskernen 112-1 bis 112-m ausgeführt werden, wobei ”m” jede positive ganze Zahl größer 2 ist. Gemäß einigen Beispielen kann das Betriebssystem (OS) 140 imstande sein, einen Netz-I/O-Vorrichtungstreiber 142 zu implementieren. Die erfassten Abschnitte können über die Komm.-Verbindung 115 zum Schaltkreis 120 weitergeleitet und dann vom Netz-I/O-Vorrichtungstreiber 142 zum Bestimmen eines Transaktionslatenzzeitwertes anhand des enthaltenen Zeitstempels verwendet werden. Der Transaktionslatenzzeitwert kann dann entweder vom OS 140 oder dem Netz-I/O-Vorrichtungstreiber 142 der Managementlogik 182 über einen bandinternen Komm.-Kanal 125 gemeldet werden. Da die Managementlogik 182 direkten Zugriff auf den bestimmten Transaktionslatenzzeitwert (z. B. über Netz-I/O-Vorrichtungstreiber 142 oder OS 140) hat, wird die Kommunikation als eine bandinterne Kommunikation angesehen.
  • Für Beispiele, wo die zeitgestempelten Abschnitte zum Schaltkreis 132 beim Chipsatz 130 weitergeleitet werden, kann der Schaltkreis 132 eine Manageability Engine (ME) 134 unterstützen. Für diese Beispiele können die erfassten Abschnitte zur ME 134 weitergeleitet und von der ME 134 zum Bestimmen eines Transaktionslatenzzeitwertes anhand des enthaltenen Zeitstempels verwendet werden. Anstelle der Verwendung eines bandinternen Komm.-Kanals kann die ME 134 den Transaktionslatenzzeitwert über einen bandexternen Komm.-Kanal 135 zur Managementlogik 182 weiterleiten. Gemäß einigen Beispielen können die ME 134 und/oder andere Elemente, die vom Schaltkreis 132 unterstützt werden, mit der Managementlogik 182 gemäß einem bzw. einer oder mehreren fernen Managementstandards oder -spezifikationen kommunizieren. Die eine oder mehreren fernen Managementspezifikationen können Spezifikationen (einschließlich Nachfolger und Varianten) wie die Intelligent Platform Management Interface Specification (IPMI), Second Generation, Version 2.0, Revision 1.0, veröffentlicht im Februar 2004 (in der Folge ”die IPMI-Spezifikation”) enthalten. Wenn auch in 1 nicht dargestellt, kann auch eine Basismanagementsteuerung (BMC) beim Server 101 (nicht dargestellt) von der ME 134 zur Kommunikation mit der Managementlogik 182 über einen IPMI-konformen bandexternen Komm.-Kanal 135 verwendet werden.
  • Gemäß einigen Beispielen können verschiedene Komm.-Verbindungen des Servers 101 wie Komm.-Verbindungen 113, 115, 123 oder 155 nach einem oder mehreren Industriestandards oder einer oder mehreren Spezifikationen (einschließlich Nachfolger oder Varianten) betrieben werden, um die Peripheral Component Interconnect (PCI) Express Base Specification, Revision 3.0, veröffentlicht im November 2010 (”PCI Express” oder ”PCIe”) zu enthalten. Ebenso können die erfassten Abschnitte von der Netz-I/O-Vorrichtung 110 zum Schaltkreis, der beim Server 101 gehalten wird, unter Verwendung eines Transportprotokolls weitergeleitet werden, wie jenen, die in Nachfolgern und Varianten der Management Component Transport Protocol (MCTP) Host Interface Specification (DSP0256), Version 1.0, veröffentlicht im Juli 2010 von der Distributed Management Task Force (DMTF), in der Folge als die ”MCTP-Spezifikation” bezeichnet, beschrieben sind.
  • 2 zeigt einen beispielhaften Prozess 200. In einigen Beispielen können Elemente des Systems 100 wie in 1 dargestellt zur Veranschaulichung beispielhafter Operationen verwendet werden, die sich auf den in 2 gezeigten Prozess 200 beziehen. Für diese Beispiele stellt der Prozess 200 ein Beispiel mindestens einiger der allgemeinen Prozesse dar, die ein eintretendes Anforderungspaket durchlaufen kann, wenn es bei Netz-I/O-Vorrichtung(en) 110 empfangen, von Elementen des Servers 101 verarbeitet und dann als ein austretendes Antwortpaket zur Vollendung einer Transaktion gesendet wird. Die beschriebenen beispielhaften Operationen sind nicht auf Implementierungen auf dem System 100 oder bei den hierin für 1 beschriebenen Elementen beschränkt.
  • Beginnend bei Prozess 2.1 (Empfang eines eintretenden Anforderungspakets) kann ein eintretendes Anforderungspaket bei Netz-I/O-Vorrichtung(en) 110 empfangen werden. In einigen Beispielen, wie in 1 dargestellt, kann das eintretende Anforderungspaket über den Kommunikationskanal 175 von Netz 170 empfangen werden. In einigen anderen Beispielen kann der Schaltkreis 120 des Servers 101 imstande sein, mehrere virtuelle Server zu unterstützen. Für diese Beispiele kann das eintretende Anforderungspaket tatsächlich von einem dieser virtuellen Server empfangen werden und kann für einen anderen virtuellen Server von diesen virtuellen Servern bestimmt sein. Wie oben erwähnt, kann der Schaltkreis 112 der Netz-I/O-Vorrichtung(en) 110 zum Zeitstempeln einzelner eintretender Anforderungspakete und zum Erfassen von zumindest Abschnitten (z. B. TCP/IP Anfangsblockinformationen) der zeitgestempelten Pakete für eine einzigartige Identifizierung imstande sein.
  • Fortfahrend mit Prozess 2.2 (Paketabgabe) können Informationen oder Daten, die im empfangenen eintretenden Anforderungspaket enthalten sind, im Arbeitsspeicher 150 abgegeben werden. In einigen Beispielen kann der Schaltkreis 112 mit dem Schaltkreis 120 zur Abgabe der Informationen oder Daten in Arbeitsspeicher 150 zusammenarbeiten.
  • Fortfahrend mit Prozess 2.3 (ISR) kann der Schaltkreis 112 veranlassen, dass ein Unterbrechungsdienstunterprogramm (ISR) generiert wird, um die Ausführung eines Netz-I/O-Vorrichtungstreibers 142 durch Elemente des Schaltkreises 120 auszulösen. Gemäß einigen Beispielen kann das OS 140 das ISR zum Aktivieren des Netz-I/O-Vorrichtungstreibers 142 verwenden.
  • Fortfahrend mit Prozess 2.4 (Datenlieferung an Anwendungspuffer) liefert die Netz-I/O-Vorrichtung 142 relevante Daten für das Anforderungspaket zu einem Anwendungspuffer. In einigen Beispielen kann der Anwendungspuffer in einer oder mehreren Arbeitsspeicherstruktur(en) beim Arbeitsspeicher 150 gehalten werden, die zum Unterstützen eines Anwendungspuffers für eine Anwendung konfiguriert sein können. Die Anwendung kann zum Beispiel durch Elemente des Schaltkreises 120 unterstützt und ausgeführt werden und kann mit der Bereitstellung eines Dienstes für den Server 101 verbunden sein.
  • Fortfahrend mit Prozess 2.5 (Paketinformationenversand) kann ein Protokoll-Software-(SW)Stapel, der vom Schaltkreis 120 unterstützt und ausgeführt wird, Daten oder Informationen in Verbindung mit dem Anforderungspaket zu einer Anwendung versenden, die vom Schaltkreis 120 ausgeführt wird. Gemäß einigen Beispielen verarbeitet die Anwendung dann die Daten oder Informationen, sobald die Daten oder Informationen des Anforderungspakets versandt sind.
  • Fortfahrend mit Prozess 2.6 (Antwortpaketinformationen) wird nach der Verarbeitung der Daten oder Informationen in Verbindung mit dem Anforderungspaket eine Antwort von der Anwendung erstellt oder generiert.
  • Fortfahrend mit Prozess 2.7 (Datenlieferung vom Anwendungspuffer) kann der Protokoll-SW-Stapel Daten in Verbindung mit der Antwort vom Anwendungspuffer liefern. In einigen Beispielen, wie oben erwähnt, kann der Anwendungspuffer im Arbeitsspeicher 150 gehalten werden.
  • Fortfahrend mit Prozess 2.8 (Konstruktion von NW I/O-vorrichtungsspezifischen Daten) kann der Netz-I/O-Vorrichtungstreiber 142 spezifische Daten für Netz-I/O-Vorrichtung(en) 110 konstruieren. Gemäß einigen Beispielen können diese Daten TCP/IP Anfangsblockinformationen für ein Antwortpaket enthalten, das eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder einen Zielort enthält, ohne aber darauf beschränkt zu sein.
  • Fortfahrend mit Prozess 2.9 (Befehl an die NW I/O-Vorrichtung zum Senden eines Antwortpakets) kann der Netz-I/O-Vorrichtungstreiber 142 der (den) Netz-I/O-Vorrichtung(en) 110 befehlen, das Antwortpaket zu senden.
  • Fortfahrend mit Prozess 2.10 (DMA) kann ein direkter Arbeitsspeicherzugriff (DMA) auf den Arbeitsspeicher 150 für Netz-I/O-Vorrichtung(en) 110 angeordnet werden, um Daten zu erhalten, die im Antwortpaket enthalten sind.
  • Bei Beendigung des Prozesses 2.11 (Senden des austretenden Antwortpakets) kann (können) Netz-I/O-Vorrichtung(en) 110 das Antwortpaket senden. Wie oben erwähnt, kann der Schaltkreis 112 der Netz-I/O-Vorrichtung(en) 110 zum Zeitstempeln einzelner austretender Antwortpakete und Erfassen von mindestens Abschnitten (z. B. TCP/IP Anfangsblockinformationen) der zeitgestempelten Pakete für eine einzigartige Identifizierung imstande sein.
  • Gemäß einigen Beispielen ist die Zeitdifferenz zwischen einem ersten Zeitstempel, der auf dem empfangenen eintretenden Anforderungspaket angebracht ist, und einem zweiten Zeitstempel, der auf dem gesendeten austretenden Antwortpaket angebracht ist, gleich einem Transaktionslatenzwert. Der Transaktionslatenzwert kann zum Beispiel in Zeiteinheiten wie Millisekunden (ms) angegeben werden. Wie in der Folge ausführlicher beschrieben ist, kann der Schaltkreis für den Server 101, der Schaltkreis 120 oder Schaltkreis 132 enthält, imstande sein, Module und/oder Merkmale zu unterstützen, um Transaktionslatenzwerte für Transaktionen zu bestimmen und diese bestimmten Transaktionslatenzwerte, z. B. der Managementlogik 182 zu melden.
  • 3 zeigt beispielhafte Transaktionstabellen. Wie in 3 dargestellt, enthalten die Transaktionstabellen eine ausstehende Transaktionstabelle 310 und eine fertige Transaktionstabelle 320. In einigen Beispielen kann der Schaltkreis, der bei einem Server gehalten wird, imstande sein, zeitgestempelte Abschnitte eintretender Anforderungs- und austretender Antwortpakete von Elementen oder dem Schaltkreis bei einer Netz-I/O-Vorrichtung zu empfangen, die an den Server gekoppelt ist. Zum Beispiel kann der Schaltkreis 120 des Servers 101 zum Empfangen von zeitgestempelten Abschnitten vom Schaltkreis 122 bei Netz-I/O-Vorrichtung(en) 110 und dann Einfügen der empfangenen zeitgestempelte Abschnitte in der ausstehenden Transaktionstabelle 310 imstande sein, die im Arbeitsspeicher 150 gehalten wird. In anderen Beispielen kann der Schaltkreis 132 bei Chipsatz 130 imstande sein, zeitgestempelte Abschnitte zu empfangen und diese dann in der ausstehenden Transaktionstabelle 310 einzufügen, die im Arbeitsspeicher beim Chipsatz 130 (nicht dargestellt) gehalten werden kann. Wie in 3 dargestellt, können die zeitgestempelten Abschnitte eine Zeit, eine IP-Quellenadresse (SrcIP), einen Quellport (SrcPort), eine IP-Zieladresse (DestIP) oder einen Zielport (DestPort) enthalten. Wie zuvor erwähnt, können die zeitgestempelten Abschnitte eintretende Anforderungs- oder austretende Antwortpakete einzigartig identifizieren und können aus TCP/IP Anfangsblöcken gewonnen werden.
  • Gemäß einigen Beispielen kann der Schaltkreis, der beim Server 101 gehalten wird, auch zum Abstimmen zeitgestempelter Abschnitte eintretender Anforderungspakete mit zeitgestempelten Abschnitten austretender Antwortpakete imstande sein, die in die ausstehenden Transaktionstabelle 310 eingefügt sind. Für diese Beispiele kann eine Abstimmung auf einer Abstimmungsadresse/einem Port zwischen einem DestIP/DestPort für einen ersten Abschnitt und einem SrcIP/SrcIP für einen zweiten Abschnitt beruhen. Wie zum Beispiel in 3 dargestellt ist, kann ein erster zeitgestempelter Abschnitt mit einer Zeit von 1,3677 ms mit einem zweiten zeitgestempelten Abschnitt mit einer Zeit von 18,2356 ms abgestimmt werden. Die Abstimmung kann anhand von Dest/IP/DestPort für die Zeit von 1,3677 ms bestimmt werden, die ein eintretendes Anforderungspaket anzeigt, das für eine Adresse/einen Port bestimmt ist, der mit einem SrcIP/SrcPort für die Zeit von 18,2356 ms abgestimmt wird, der anzeigt, dass ein austretendes Antwortpaket als Antwort auf das eintretende Anforderungspaket zurückkommt. Die Abstimmung der Abschnitte kann eine fertige Transaktion anzeigen.
  • In einigen Beispielen kann der Schaltkreis, der beim Server gehalten wird, einen Transaktionslatenzwert für fertige Transaktionen bestimmen. Zum Beispiel kann der Schaltkreis, der beim Server 101 gehalten wird, die Zeitdifferenz zwischen den oben erwähnten, abgestimmten zeitgestempelten Abschnitten für die ausstehende Transaktionstabelle 310 bestimmen. Wie in 3 dargestellt, kann der Transaktionslatenzwert, der eine Differenz von 16,8679 ms angibt, in die fertige Transaktionstabelle 320 eingefügt werden. Ebenso können die DestIP und DestPort Informationen aus dem eintretenden Anforderungsabschnitt, die in der ausstehenden Transaktionstabelle 310 enthalten sind, zum Identifizieren des Servers und Dienstes in Verbindung mit dem bestimmten Transaktionslatenzwert verwendet werden. Nach dem Einfügen des Zeitwerts, der DestIP und DestPort Informationen in die fertige Transaktionstabelle 320 können die zeitgestempelten Abschnitte für die Zeit 1,3677 ms und 18,2356 ms aus der ausstehenden Transaktionstabelle 310 entfernt werden.
  • Gemäß einigen Beispielen können andere bestimmte Transaktionslatenzwerte in die fertige Transaktionstabelle 320 eingefügt werden. Diese anderen bestimmten Transaktionslatenzwerte können auch von abgestimmten zeitgestempelten Abschnitten abgeleitet werden, die in die ausstehende Transaktionstabelle 310 eingefügt wurden. Wie in 3 dargestellt, können die anderen bestimmten Transaktionslatenzwerte auch DestIP und DestPort Informationen enthalten.
  • In einigen Beispielen kann der Schaltkreis 112 bei Netz-I/O-Vorrichtung(en) 110 zum Weiterleiten zeitgestempelter Abschnitte von eintretenden Anforderungs- oder austretenden Antwortpaketen in vorgegebenen oder konfigurierbaren Zeitintervallen (z. B. alle 2 Sekunden) imstande sein. Für diese Beispiele kann der Schaltkreis 120 beim Server 101 mit dem Einfügen von zeitgestempelten Abschnitten in die ausstehende Transaktionstabelle 310, Abstimmen der Abschnitte, Bestimmen der Transaktionslatenzwerte und bestückten fertigen Transaktionstabelle 320 während dieser vorgegebenen oder konfigurierbaren Zeitintervalle fortfahren. Der Schaltkreis 120 kann mit dem Empfang für eine weitere vorgegebene oder konfigurierbare Zeit aufhören, so dass eine gewisse Zeit zum Abstimmen, Bestimmen von Transaktionslatenzwerten und dann Entfernen von Einträgen aus der ausstehenden Transaktionstabelle 310 zur Verfügung steht. Sobald die weitere Zeit abgelaufen ist, kann der Schaltkreis 120 wieder zeitgestempelte Abschnitte vom Schaltkreis bei Netz-I/O-Vorrichtung(en) 110 empfangen.
  • Gemäß einigen Beispielen kann der Schaltkreis 120 auch Informationen in Verbindung mit bestimmten Transaktionslatenzwerten an die Managementlogik 182 melden. Wie oben für 1 erwähnt, kann die Meldung über bandinterne oder bandexterne Kommunikationskanäle erfolgen.
  • 4 zeigt ein beispielhaftes Ablaufdiagramm zum Melden von Transaktionslatenzinformationen. In einigen Beispielen können Elemente von System 100 wie in 1 dargestellt und die vorangehenden Prozesse, die in 2 und für 3 zur Darstellung beispielhafter Operationen bezüglich des in 4 dargestellten Ablaufdiagramms beschrieben sind, verwendet werden. Die beschriebenen beispielhaften Operationen sind nicht auf die Implementierungen in System 100 oder auf die darin beschriebenen Elemente für 1 beschränkt. Die beispielhaften Operationen sind auch nicht auf die vorangehenden Prozesse beschränkt, die in 2 oder für 3 beschrieben sind.
  • Beginnend mit Block 405 (Aktuelles Intervall beginnt) kann ein aktuelles Zeitintervall vom Schaltkreis initiiert werden, der beim Server 101 gehalten wird. Zum Beispiel kann der Schaltkreis 120 oder Schaltkreis 132 einen Zeitgeber initiieren. Zeitintervalle können vorgegeben und/oder konfigurierbar sein, so dass eine Zeitperiode (z. B. 2 Sekunden) zum Empfangen zeitgestempelter Abschnitte der eintretenden Anforderungs- oder austretenden Antwortpakete vom Schaltkreis gewährt wird, der bei Netz-I/O-Vorrichtung(en) 110 gehalten wird.
  • Fortfahrend von Block 405 mit Block 410 (Empfang des zeitgestempelten Abschnitts) können Elemente, die vom Schaltkreis, der beim Server 101 gehalten wird, ausgeführt oder implementiert werden, den zeitgestempelte Abschnitt empfangen. In einigen Beispielen kann der Netz-I/O-Vorrichtungstreiber 142 oder die ME 134 zum Empfangen des zeitgestempelten Abschnitts von der (den) Netz-I/O-Vorrichtung(en) 110 imstande oder konfiguriert sein.
  • Fortfahrend von Block 410 mit Entscheidungsblock 415 (Anforderung?) erfolgt eine Bestimmung, ob der empfangene Abschnitt mit einem eintretenden Anforderungspaket verbunden ist. Gemäß einigen Beispielen kann der empfangene zeitgestempelte Abschnitt TCP/IP Anfangsblockinformationen enthalten. Für diese Beispiele kann der Schaltkreis, der beim Server 101 gehalten wird, DestIP und DestPort Informationen im empfangenen zeitgestempelten Abschnitt zur Bestimmung verwenden, ob der empfangene Abschnitt mit einem eintretenden Anforderungspaket verbunden ist. Wenn zum Beispiel eine Adresse für DestIP und ein Port für DestPort nicht in der ausstehenden Transaktionstabelle 310 enthalten sind, wird der empfangene Abschnitt als ein eintretendes Anforderungspaket behandelt und der Prozess wechselt zu Block 420. Andernfalls wechselt der Prozess zu Block 425.
  • Beim Wechsel von Entscheidungsblock 415 zu Block 420 (Einfügen in Transaktionstabelle) kann der empfangene zeitgestempelte Abschnitt in Verbindung mit dem eintretenden Anforderungspaket in die ausstehende Transaktionstabelle 310 vom Schaltkreis, der beim Server 101 gehalten wird, eingefügt werden.
  • Beim Wechsel von Entscheidungsblock 420 zu Block 425 (Finden einer Abstimmung in der Transaktionstabelle) kann der empfangene zeitgestempelte Abschnitt in Verbindung mit einem austretenden Antwortpaket auf einen zuvor eingefügten zeitgestempelten Abschnitt in Verbindung mit einem eintretenden Anforderungspaket vom Schaltkreis abgestimmt werden, der beim Server 101 gehalten wird. Gemäß einigen Beispielen kann der Schaltkreis, der beim Server 101 gehalten wird, den jeweiligen Zeitstempel für die abgestimmten zeitgestempelten Abschnitte zum Bestimmen eines Transaktionslatenzwertes verwenden.
  • Fortfahrend von Block 425 zu Entscheidungsblock 430 (Wert > max?) kann der Schaltkreis, der beim Server 101 gehalten wird, den bestimmten Transaktionslatenzwert mit einem Maximalwert (max) für das aktuelle Zeitintervall vergleichen. Gemäß einigen Beispielen kann der Maximalwert für das aktuelle Zeitintervall auf einem oder mehreren vorangehenden Zeitintervall(en) beruhen. Für diese Beispiele kann der Maximalwert für das aktuelle Zeitintervall anfangs auf einen beliebigen Maximalwert eingestellt und auf den aktuellen Maximalwert aktualisiert oder geändert werden, wenn dieser beliebig eingestellte Maximalwert überschritten wird. Wenn der bestimmte Transaktionslatenzwert den aktuellen Maximalwert überschreitet oder größer als dieser ist, wechselt der Prozess zu Block 435. Andernfalls wechselt der Prozess zu Entscheidungsblock 440.
  • Beim Wechsel von Entscheidungsblock 430 zu Block 435 (Aktualisieren des Maximalwertes für das nächste Intervall), kann der Schaltkreis, der beim Server 101 gehalten wird, den Maximalwert für ein nächstes Zeitintervall aktualisieren. In einigen Beispielen, wenn der Maximalwert für das aktuelle Intervall von dem bestimmten Transaktionswert überschritten wurde, kann ein neuer oder aktualisierter Maximalwert etabliert werden.
  • Beim Wechsel von Entscheidungsblock 430 zu Entscheidungsblock 440 (Zeit < min?) kann der Schaltkreis, der beim Server 101 gehalten wird, den bestimmten Transaktionslatenzwert mit einem Minimalwert (min) für das aktuelle Zeitintervall vergleichen. Gemäß einigen Beispielen kann der Minimalwert für das aktuelle Zeitintervall auf einem oder mehreren vorangehenden Zeitintervall(en) beruhen. Für diese Beispiele kann der Minimalwert für das aktuelle Zeitintervall anfangs auf einen beliebigen Minimalwert eingestellt und auf den aktuellen Minimalwert aktualisiert oder geändert werden, wenn der beliebig eingestellte Minimalwert überschritten wurde. Wenn der bestimmte Transaktionslatenzwert den aktuellen Minimalwert unterschreitet oder geringer als dieser ist, wechselt der Prozess zu Block 445. Andernfalls wechselt der Prozess zu Block 450.
  • Beim Wechsel von Entscheidungsblock 440 zu Block 445 (Aktualisieren des Minimalwertes für das nächste Intervall) kann der Schaltkreis, der beim Server 101 gehalten wird, den Minimalwert für das nächste Zeitintervall aktualisieren. In einigen Beispielen, wenn der bestimmte Transaktionswert den Minimalwert für das aktuelle Intervall unterschritten hat, kann ein neuer oder aktualisierter Minimalwert etabliert werden.
  • Beim Wechsel von Block 435, Entscheidungsblock 440 oder Block 445 zu Block 450 (Einfügen des Transaktionslatenzwertes im inkrementierten Korb aufgrund aktueller min/max Intervallwerte) kann der Schaltkreis, der beim Server 110 gehalten wird, den bestimmten Transaktionslatenzwert in einen inkrementierten Korb anhand der Minimal/Maximalwerte für das aktuelle Zeitintervall einfügen. Gemäß einigen Beispielen können inkrementierte Körbe anhand etablierter Minimal/Maximalwerte bestimmt werden. Zum Beispiel kann der Minimalwert für das aktuelle Zeitintervall 1 ms sein und der Maximalwert für das aktuelle Zeitintervall kann 100 ms sein. Wenn 100 Körbe etabliert sind, würde ein erster Korb zum Empfangen bestimmter Transaktionslatenzwerte zwischen 0 ms und 1 ms eingestellt werden, der zweite Korb würde zum Empfangen bestimmter Transaktionslatenzwerte zwischen 1 ms und 2 ms eingestellt werden. Anschließende Körbe können in Schritten von 1 ms etabliert werden, bis der letzte Korb zum Empfangen bestimmter Transaktionslatenzwerte zwischen 99 ms und 100 ms eingestellt ist. Alternativ, wenn 100 Körbe etabliert sind, aber der Minimalwert 1 ms ist und der Maximalwert 500 ms ist, würde jeder Korb um 5 ms inkrementiert werden. Wenn für Beispiele von Körben, die in 1 ms inkrementiert werden, der bestimmte Transaktionswert 16,8679 ms ist, wie in 3 dargestellt, würde dieser bestimmte Transaktionswert in den 17. inkrementierten Korb eingefügt werden.
  • In einigen Beispielen können anstelle der linearen Inkrementierung der Körbe andere Algorithmen vom Schaltkreis, der beim Server 101 gehalten wird, implementiert werden um zu bestimmen, wie die Körbe inkrementiert werden. Wenn zum Beispiel die bestimmten Transaktionslatenzwerte ungleichmäßig zwischen den aktuellen Minimal/Maximalwerten verteilt sind, kann eine gewisse Art von dynamischem Bucketing erfolgen, das erkennt, wann ein bestimmter inkrementierter Korb für seine zugeordnete Größe zu groß werden kann (z. B. zugeordnete Arbeitsspeicheradressen), und dementsprechend einen neuen Korb zuordnet. Die dynamisch zugeordneten Körbe können eine übermäßige subskribierte Zeit oder einen bestimmten Transaktionslatenzwert-Cluster in Teil-Cluster zerlegen, so dass kleinere inkrementierte Körbe die Teil-Cluster halten können. Diese Zerlegung kann wiederholt erfolgen, so dass anschließend kleinere Teil-Cluster möglich sind.
  • Gemäß einigen Beispielen kann der Schaltkreis, der beim Server 110 gehalten wird, die Inkremente für die Körbe für das nächste Intervall einstellen, wenn entweder ein neuer Maximal- oder ein neuer Minimalwert bestimmt wurde. Für diese Beispiele können dann die über das nächste Zeitintervall bestimmten Transaktionslatenzwerte in diese aktualisierten, inkrementierten Körbe eingefügt werden.
  • In einigen Beispielen können die inkrementierten Körbe mit separaten Blöcken des Arbeitsspeichers, der beim Server 101 gehalten wird, verbunden sein und für den Schaltkreis, der beim Server 101 gehalten wird, zugänglich sein. Zum Beispiel können die separaten Blöcke des Arbeitsspeichers im Arbeitsspeicher 150 gehalten werden und für Elemente zugänglich sein, die vom Schaltkreis 120 (z. B. Netz-I/O-Vorrichtungstreiber 142) unterstützt werden. In alternativen Beispielen können die separaten Blöcke des Arbeitsspeichers beim Chipsatz 130 (nicht dargestellt) gehalten werden und können für Elemente zugänglich sein, die vom Schaltkreis 132 (z. B. ME 134) unterstützt werden.
  • Fortfahrend von Block 420 oder Block 450 zu Entscheidungsblock 455 (Aktuelles Intervall vorbei?) kann der Schaltkreis, der beim Server 101 gehalten wird, bestimmen, ob das aktuelle Intervall vorbei ist (z. B. läuft der Zeitgeber ab). In einigen Beispielen kann das aktuelle Intervall 2 Sekunden sein. Diese Offenbarung zieht andere Zeitintervalle, größer oder kleiner als 2 Sekunden, in Betracht. Wenn das aktuelle Intervall vorbei ist, wechselt der Prozess zu Block 460. Andernfalls wechselt der Prozess zu Block 410 für den fortgesetzten Empfang zusätzlicher zeitgestempelter Abschnitte.
  • Beim Wechsel von Entscheidungsblock 455 zu Block 460 (Bestimmen des n. Perzentil-Korbs) kann der Schaltkreis, der beim Server 101 gehalten wird, bestimmen, welcher inkrementierte Korb der n. Perzentil-Korb ist. Gemäß einigen Beispielen kann der n. Perzentil-Korb auf ”n” gleich einer positiven ganzen Zahl kleiner oder gleich 100 beruhen. Wenn n = 95, wird der 95. Perzentil-Korb bestimmt. Der 95. Perzentil-Korb kann einen oder mehrere bestimmte Transaktionslatenzwert(e) enthalten, die in diesen Korb während des aktuellen Zeitintervalls eingefügt wurden, so dass diese Transaktionslatenzwerte Werte größer oder gleich 95% der Transaktionslatenzwerte aufweisen, die in anderen inkrementierten Körben eingefügt sind.
  • Gemäß einigen Beispielen kann die Bestimmung des n. Perzentil-Korbs eine relativ schnelle Möglichkeit erleichtern, eine Gruppe von Transaktionslatenzwerten zu identifizieren, die in einen inkrementierten Korb eingefügt wurde, der einen statistischen Wert wie den 95. Perzentil-Latenztransaktionswert enthalten kann. Diese Identifizierung kann schneller sein und kann weniger Ressourcen (z. B. Arbeitsspeicherressourcen) erfordern als die Bestimmung der 95. Perzentil-Latenz durch Überprüfen aller Transaktionslatenzwerte, die in alle der inkrementierten Körbe eingefügt sind.
  • Beim Wechsel von Block 460 zu Block 465 (Sortieren des n. Perzentil-Korbs zur Bestimmung des n. Perzentilwertes) kann der Schaltkreis, der beim Server 101 gehalten wird, den identifizierten n. Perzentil-Korb sortieren. In einigen Beispielen, kann der Schaltkreis, der beim Server 101 gehalten wird, sobald der n. Perzentil-Korb sortiert ist, den n. Perzentil-Transaktionslatenzwert für das aktuelle Zeitintervall bestimmen. Zum Beispiel hätte ein 95. Perzentil-Transaktionslatenzwert 95% der bestimmten Transaktionslatenzwerte unter diesem Wert und 5% über diesem Wert. Der Schaltkreis, der beim Server 101 gehalten wird, kann dann den n. Perzentil-Transaktionslatenzwert der Managementlogik 182 melden. Das n. Perzentil kann nach jedem Zeitintervall gemeldet werden oder kann in anderen Zeitintervallen gemeldet werden, die durchschnittliche n. Perzentilwerte über die anderen Zeitintervalle enthalten können. Der Prozess wechselt dann zurück zu Block 405, um mit einem anderen Intervall zu beginnen.
  • 5 zeigt ein erstes beispielhaftes Datenzentrum. Wie in 5 dargestellt, enthält das erste beispielhafte Datenzentrum das Datenzentrum 500. Gemäß einigen Beispielen enthält das Datenzentrum 500 Server 510-1 bis 510-m, die über entsprechende Kommunikationskanäle 520-1 bis 520-m an die Managementlogik 505 gekoppelt sind, wobei ”m” gleich einer positiven ganzen Zahl größer 2 ist. Die Kommunikationskanäle 520-1 bis 520-m können bandinterne oder bandexterne Kommunikationskanäle enthalten, über die passive Monitore 512-1 bis 512-m Transaktionslatenzinformationen zur Managementlogik 505 weiterleiten oder an diese melden können.
  • Gemäß einigen Beispielen können die passiven Monitore 512-1 bis 512-m eine oder mehrere Netz-I/O-Vorrichtung(en) mit einem Schaltkreis enthalten, der zum Zeitstempeln eintretender Anforderungs- und austretender Antwortpakete und zum Erfassen von Abschnitten dieser zeitgestempelten Pakete imstande ist. Die passiven Monitore 512-1 bis 512-m können auch den Schaltkreis enthalten, der bei Server 510-1 bis 510-n gehalten wird, der imstande ist, die erfassten Zeitstempelabschnitte von Netz-I/O-Vorrichtung(en) zu empfangen und separate Transaktionslatenzwerte für abgestimmte Paare von eintretenden Anforderungs- und austretenden Antwortpaketen anhand der zeitgestempelten Abschnitte zu bestimmen. Der Schaltkreis, der bei Servern 510-1 bis 510-n gehalten wird, kann auch ermöglichen, dass die passiven Monitore 512-1 bis 512-m bestimmte separate Transaktionslatenzwerte der Managementlogik 505 melden.
  • 6 zeigt eine beispielhafte beobachtete Transaktionslatenz zwischen Servern. Wie in 6 dargestellt, kann der Server 510-1 (Server i) an den Server 510-2 (Server j) über einen Netzkommunikationskanal 600 gekoppelt sein. Gemäß einigen Beispielen können die passiven Monitore 512-1 und 512-2 bei Servern 510-1 und 510-2 den Netzverkehr überwachen, der zwischen diesen Servern ausgetauscht wird. Für diese Beispiele zeigt eine eingehende Sitzung bei einem der zwei Server an, dass der Server eine gewisse Art von Dienst bereitstellt, während eine ausgehende Sitzung anzeigen kann, dass der Server eine gewisse Art von Dienst konsumiert, die vom anderen Server bereitgestellt wird. In jeder dieser Sitzungen kann eine Anzahl von Transaktionen erfolgen.
  • Gemäß einigen Beispielen, möge ci,j die Anzahl von Transaktionen bezeichnen, die vom Server i (510-1) bis Server j (510-2) eingeleitet werden. Der passive Monitor 512-1 oder 512-2 kann imstande sein, eingehende (eintretende) Anforderungs- und ausgehende (austretende) Antwortpakete zu korrelieren, um getrennte Transaktionslatenzwerte zu berechnen, wie oben für 14 beschrieben ist. Durch Sammeln bestimmter Transaktionslatenzwerte (oder einer repräsentativen Abtastung) auf dem Netzkommunikationskanal 600 kann ein durchschnittlicher Kanaltransaktionslatenzwert für den Netzkommunikationskanal 600 berechnet oder bestimmt werden. Ebenso möge l (i) / i,j einen ersten durchschnittlichen Transaktionslatenzwert vom Server i zum Server j angeben, der beim Server i beobachtet wird, und l (i) / i,j , und einen zweiten durchschnittlichen Transaktionslatenzwert vom Server i zum Server j angeben, der beim Server j beobachtet wird.
  • In einigen Beispielen kann die Managementlogik 505 imstande sein, eine Diensttopologie für das Datenzentrum 500 zu errichten. Für diese Beispiele kann die Diensttopologie eine gerichtete Grafik sein, wo jeder der Scheitelpunkt auf einen Server abgebildet ist. Angesichts einer oder mehrerer Netzsitzungen, die vom Server i (510-1) zu Server j (510-2) eingerichtet werden, (das heißt, ci,j > 0), kann ein Bogen, der vom entsprechenden Scheitelpunkt i zum entsprechenden Scheitelpunkt j verläuft, dargestellt werden.
  • Gemäß einigen Beispielen können ci,j Transaktionen über den Netzkommunikationskanal 600 zwischen Server i (510-1) und Server j (510-2) während eines bestimmten Überwachungszyklus, Zeitintervalls oder einer Zeitperiode erfolgen. Durchschnittliche Transaktionslatenzwerte, die beim Server i und Server j beobachtet werden, können unterschiedlich sein, wobei sich die Differenz aus der durchschnittlichen Kanaltransaktionslatenz für den Netzkommunikationskanal 600 ergibt. Infolgedessen kann eine beispielhafte Gleichung (1) zur Bestimmung der durchschnittlichen Kanaltransaktionslatenz für den Netzkommunikationskanal 600 verwendet werden.
  • Beispielhafte Gleichung (1):
  • 7 zeigt eine beispielhafte, bei einem Server beobachtete Transaktionslatenz. Wie in 7 dargestellt, ist der Server i (510-1) mit eingehenden und ausgehenden Pfeilen zur Darstellung eingehender und ausgehender Transaktionen über verschiedene Netzkommunikationskanäle dargestellt. Gemäß einigen Beispielen kann eine Gesamtanzahl eingehender Transaktionen über einen ersten Überwachungszyklus oder eine Zeitperiode mit
    Figure DE112012005356T5_0002
    bezeichnet werden, während eine Gesamtzeit, die sich bei der Bedienung der Transaktion durch den Server i und andere Server (z. B. einschließlich Server j) ansammelt, mit
    Figure DE112012005356T5_0003
    angegeben sein kann. Ebenso kann der Server i bei der Verarbeitung der Transaktionen beim Server i zergliedern und neue Anforderungen generieren, die von anderen Servern bedient werden. Eine Gesamtzeit, die sich beim Senden der neuen Anforderungen über Netzkommunikationskanäle und bei deren Bedienung durch die anderen Server ansammelt, kann mit
    Figure DE112012005356T5_0004
    angegeben werden. Gemäß einigen Beispielen kann die Differenz zwischen
    Figure DE112012005356T5_0005
    eine Gesamtzeit spezifizieren, die sich bei der Verarbeitung der Transaktionen am Server i ansammelt. Infolgedessen können durchschnittliche Transaktionslatenzwerte am Server i mit der beispielhaften Gleichung (2) bestimmt oder berechnet werden.
  • Beispielhafte Gleichung (2):
  • Gemäß einigen Beispielen können bestimmte Transaktionslatenzwerte für li und li|·j Scheitelpunkten bzw. Bögen in einer Topologie von Servern zugeordnet werden, die im Datenzentrum 500 verwendet werden. Die erhaltene Topologie kann zu einer Latenzverteilungsgrafik oder topologischen Grafik führen, die eine durchschnittliche Kanaltransaktionslatenz für den Netzkommunikationskanal 600 wie auch einen durchschnittlichen Servertransaktionslatenzwert für Server i (Server 510-1) enthält. Für diese Beispiele kann die Managementlogik 505 eine Logik und/oder Merkmale enthalten, die zur Verwendung der beispielhaften Gleichungen (1) und (2) für andere Server in Datenzentrum 500 imstande sind, um eine ausführlichere topologische Grafik aufgrund von Transaktionslatenzwerten fertigzustellen, die von passiven Monitoren für Server empfangen werden, die im Datenzentrum 500 enthalten sind.
  • 8 zeigt ein zweites beispielhaftes Datenzentrum. Wie in 8 dargestellt, enthält das zweite beispielhafte Datenzentrum das Datenzentrum 800. In einigen Beispielen, wie in 8 dargestellt, enthält das Datenzentrum 800 Server 810 bis 870. Für diese Beispiele sind bestimmte durchschnittliche Kanaltransaktionslatenzwerte für Netzkommunikationskanäle und durchschnittliche Server-Transaktionslatenzwerte in einer topologischen Grafik dargestellt. Zum Beispiel zeigt Server 810 einen durchschnittlichen Server-Transaktionslatenzwert von 16 ms. Ebenso haben Netzkommunikationskanäle zu Server 830 und 840 durchschnittliche Kanaltransaktionslatenzwerte von 2 ms bzw. 7 ms.
  • Gemäß einigen Beispielen kann die Managementlogik für das Datenzentrum 800 eine Logik und/oder Merkmale zum Generieren der topologischen Grafik enthalten, die in 8 dargestellt ist. Für diese Beispiele kann die Managementlogik die beispielhaften Gleichungen (1) und (2) zum Generieren der topologischen Grafik verwenden. Die topologische Grafik kann aufgrund einer wiederholten Basis nach einem bestimmten Überwachungszyklus oder einer Zeitperiode (z. B. jeweils einige Sekunden) generiert und/oder aktualisiert werden.
  • In einigen Beispielen kann die in 8 dargestellte topologische Grafik eine visuelle Darstellung von Transaktionslatenzwerten für Server in einem Datenzentrum bereitstellen, die von einer Managementlogik verwaltet werden.
  • 9 zeigt ein zweites beispielhaftes System. Wie in 9 dargestellt, enthält das zweite beispielhafte System ein System 900. In einigen Beispielen, wie in 9 dargestellt, enthält das System 900 ein Datenzentrum 910 mit Servern 912-1 bis 912-m, die an ein Netz 970 über einen Netzkomm.-Kanal 975 und an ein Managementnetz 980 über Komm.-Kanal (Kanäle) 915 gekoppelt sind. Wie ebenso in 9 dargestellt, kann das Managementnetz 980 eine Managementlogik 982 enthalten, die über eine Komm.-Verbindung 983 an eine Managementkonsole 984 gekoppelt ist.
  • In einigen Beispielen kann die Managementlogik 982 eine Logik und/oder Merkmale zum Empfangen von Transaktionslatenzwerten von Servern 912-1 bis 912-m enthalten. Für diese Beispiele kann die Managementlogik 982 die Transaktionslatenzwerte als Reaktion auf eine abfragende Anforderung empfangen. Alternativ kann die Managementlogik 982 die Transaktionslatenzwerte in regelmäßigen Überwachungsintervallen empfangen. Die Managementlogik 982 kann die empfangenen Transaktionslatenzwerte mit Zieltransaktionslatenzwerten in Verbindung mit Servern 912-1 bis 912-m und/oder Diensten vergleichen, die von den mehreren Servern bereitgestellt werden (z. B. Web-Dienste, Anwendung bedienende Dienste oder Datenbasisdienste). Die Managementlogik 982 kann einen Alarm generieren, wenn einer oder mehrere Server von den Servern 912-1 bis 912-m Transaktionslatenzwerte bereitstellen, die die Zieltransaktionslatenzwerte überschreiten. Der generierte Alarm kann zur Managementkonsole 984 gesendet werden, die so konfiguriert sein kann, dass sie einem Operator ermöglicht, die Leistung der Server 912-1 bis 912-m zu überwachen. Der Alarm kann den (die) gegebenen überschrittenen Zieltransaktionslatenzwert(e) anzeigen und den (die) Server und/oder Dienst(e) in Verbindung mit dem (den) Transaktionslatenzwert(en) identifizieren, der (die) das Ziel überschritten hat (haben).
  • Gemäß einigen Beispielen können die Server 912-1 bis 912-m passive Monitore mit mindestens einer Netz-I/O-Vorrichtung zum Zeitstempeln sowohl eintretender Anforderungspakete wie auch austretender Antwortpakete enthalten. Die mindestens eine Netz-I/O-Vorrichtung kann Abschnitte separat zeitgestempelter eintretender Anforderungs- und austretender Antwortpakete enthalten, um den Servern 912-1 bis 912-m die Identifizierung separater Transaktionen in Verbindung mit Diensten zu ermöglichen, die von den Servern 912-1 bis 912-m bereitgestellt werden. Die passiven Monitore können auch einen Schaltkreis enthalten, um den Servern 912-1 bis 912-m die Bestimmung separater Transaktionslatenzwerte für die identifizierten separaten Transaktionen in Verbindung mit jeweiligen Diensten zu ermöglichen. Diese separaten Transaktionslatenzwerte sind der Managementlogik 982 als Reaktion auf eine abfragende Anforderung oder am Ende von bestimmten Überwachungszyklen oder Zeitperioden zu melden.
  • In einigen Beispielen, wie zuvor erwähnt, können die gesammelten Abschnitte von separat zeitgestempelten Paketen Informationen aus TCP/IP Anfangsblöcken für diese Pakete enthalten. Für diese Beispiele kann ein Server aus den Servern 912-1 bis 912-m in Verbindung mit (einem) Transaktionslatenzwert(en), der (die) ein bestimmtes Ziel überschritten hat (haben), anhand einer IP-Zieladresse identifiziert werden, die in den gesammelten Abschnitten von separat zeitgestempelten austretenden Antwortpaketen enthalten sind. Ebenso kann ein Dienst, der vom Server bereitgestellt wird, anhand eines Zielports identifiziert werden, der in den gesammelten Abschnitten der separat zeitgestempelten austretenden Antwortpaketen enthalten ist.
  • Gemäß einigen Beispielen können Transaktionslatenzwerte, die von der Managementlogik 982 von Servern 912-1 bis 912-m empfangen werden, einen gleitenden Transaktionslatenzdurchschnittswert für einen oder mehrere der Server enthalten. Die Transaktionslatenzwerte können auch 95. oder n. Perzentil-Transaktionslatenzwerte für einen oder mehrere der Server oder beliebige anderen Arten von statistischen Werten in Verbindung mit Transaktionslatenzwerten enthalten, die von passiven Monitoren bei Servern 912-1 bis 912-m bestimmt wurden.
  • In einigen Beispielen können Zieltransaktionslatenzwerte anhand einer Beobachtung historischer Leistungstrends für Server 912-1 bis 912-m über Perioden einer normalen Funktionsweise bestimmt werden (z. B. keine nennenswerten Leistungsprobleme) und/oder während Perioden eines stabilen Netzverkehrs. Um eine gewisse Variabilität in der Leistung zu ermöglichen, können Schutzbänder eingerichtet werden, die solchen Bemühungen bei hohen Arbeitslasten Rechnung tragen, die durch ein hohes Aufkommen von Netzverkehr verursacht werden, das zu vorübergehenden Spitzen in Transaktionslatenzwerten führen kann. Zum Beispiel kann ein Schutzband einen normalerweise beobachteten Transaktionslatenzwert verdoppeln oder verdreifachen. Die Größe des Schutzbandes kann von einem Maß an Variabilität und/oder einer Variabilitätsfrequenz abhängen.
  • 10 zeigt ein drittes beispielhaftes System. Wie in 10 dargestellt, enthält das dritte beispielhafte System ein System 1000. In einigen Beispielen, wie in 10 dargestellt, enthält das System 1000 ein Datenzentrum 1005 mit physischen Servern 1010 und 1020, die an eine Managementlogik 1030 über Komm.-Kanal (Kanäle) 1015 gekoppelt sind. Wie ebenso in 10 dargestellt, enthält der physische Server 1010 einen passiven Monitor 1012 und virtuelle Maschinenmanager (VMMs) 1011 und 1013. Ebenso enthält der physische Server 1020 einen passiven Monitor 1022 und VMMs 1021 und 1023.
  • Gemäß einigen Beispielen können die VMMs, die entweder im physischen Server 1010 oder physischen Server 1020 enthalten sind, eine beliebige Anzahl virtueller Maschinen (VMs) verwalten, die in 10 als VM-1 bis VM-p dargestellt sind, wobei ”p” jede positive ganze Zahl größer 2 darstellt. Ebenso können VM-1 bis VM-p separat mindestens eine Anwendung (App) unterstützen, die in 10 als App-1 bis App-q dargestellt ist, wobei ”q” eine beliebige positive ganze Zahl größer 2 darstellt. Somit können VM-1 bis VM-p als virtuelle Server dienen. Eine App, die von einer VM unterstützt wird, kann einen Dienst darstellen, der von der VM unterstützt wird. Somit können passive Monitore 1012 oder 1022 einen Schaltkreis enthalten, der entweder an einer Netz-I/O-Vorrichtung oder an ihren jeweiligen physischen Servern 1010 oder 1020 gehalten wird, um Transaktionslatenzwerte für Transaktionen zu bestimmen, die von Apps fertiggestellt werden, die von den verschiedenen VMs unterstützt werden. Die Transaktionen können auf Anforderungen beruhen, die von VMs auf demselben physischen Server, von VMs auf verschiedenen physischen Servern oder von Netzquellen (nicht dargestellt) gestellt werden.
  • In einigen Beispielen kann die Managementlogik 1030 Transaktionslatenzwerte von physischen Servern 1010 und 1020 des Datenzentrums 1005 über Komm.-Kanal (Kanäle) 1015 empfangen. Die Managementlogik 1030 kann die Transaktionslatenzwerte als Reaktion auf eine abfragende Anforderung empfangen. Alternativ kann die Managementlogik 1030 die Transaktionslatenzwerte in regelmäßigen Überwachungsintervallen empfangen. Für diese Beispiele kann die Managementlogik 1030 versuchen, eine zusätzliche VM oder einen virtuellen Server einzurichten, die bzw. der die empfangenen Transaktionslatenzwerte zur Bestimmung verwenden kann, welcher physische Server eine bessere oder angemessene Fähigkeit hat, die zusätzliche VM zu unterstützen. Transaktionslatenzwerte können mindestens ein Indikator einer bestimmten Fähigkeit eines physischen Servers sein, die zusätzliche VM zu unterstützen. Anderen Angaben können die verfügbaren Verarbeitungsfähigkeiten, Arten und/oder Mengen verfügbarer Arbeitsspeicher, usw. enthalten, ohne aber darauf beschränkt zu sein.
  • Gemäß einigen Beispielen können die Transaktionslatenzwerte mit einem Zielwert verbunden sein, der ein Maximum oder einen höchsten wünschenswerten Transaktionslatenzwert für Transaktionen angibt, die von einem bestimmten App bedient werden, das von einer bestimmten VM auf einem bestimmten physischen Server ausgeführt wird. Die Managementlogik 1030 kann diesen Zielwert zur Aufrechterhaltung annehmbarer Leistungswerte für physische Server 1010 oder 1020 im Datenzentrum 1005 durch Ausgleichen einer Anzahl von VMs, die von physischen Servern 1010 und 1020 unterstützt werden, verwenden um zu versuchen, diese physischen Server vom Überschreiten des Zielwerts abzuhalten. Die Lücke zwischen einem vom physischen Server gemeldeten Transaktionslatenzwert und dem Zielwert kann als verfügbarer Spielraum bezeichnet werden.
  • In einigen Beispielen kann die Managementlogik 1030 die verfügbare Kapazität (z. B. den Spielraum) von physischen Servern 1010 oder 1020 zumindest teilweise anhand der empfangenen Transaktionslatenzwerte bestimmen. Für diese Beispiele kann die Managementlogik 1030 dann den neuen virtuellen Server dem physischen Server mit einer höchsten bestimmten Kapazität oder einem höchsten verfügbaren Spielraum zuordnen, um die neue VM oder den virtuellen Server zu unterstützen. Zum Beispiel kann die Managementlogik 1030 bestimmen, dass der physische Server 1010 mehr Spielraum (z. B. weniger gemeldete Transaktionslatenzwerte) als der physische Server 1020 hat. Die Managementlogik 1030 kann dann für die neue VM oder den virtuellen Server Vorkehrungen treffen, dass sie von einem physischen Server 1010 errichtet oder unterstützt werden.
  • Gemäß einigen Beispielen kann die Managementlogik 1030 auch bestimmen, dass der physische Server 1020 den Zielwert für Transaktionslatenzwerte überschritten hat. Ein Überschreiten des Zielwertes kann anzeigen, dass für den physischen Server 1020 einige VMs zum physischen Server 1010 verschoben oder bewegt werden müssen, vorausgesetzt der physische Server 1010 hat verfügbaren Spielraum, um die verschobene VM zu unterstützen. Obwohl in 10 nicht dargestellt, kann die Managementlogik 1030 zusätzliche physische Server im Datenzentrum 1005 haben, die für eine Verschiebung der VM vom physischen Server 1020 verwendet werden. Diese zusätzlichen physischen Server können auch, wie oben erwähnt, Transaktionslatenzwerte zur Managementlogik 1030 senden. Wenn ein physischer Server von den zusätzlichen physischen Servern verfügbaren Spielraum hat, um die verschobene VM zu unterstützen, kann die VM zu diesem physischen Server verschoben werden.
  • 11 zeigt ein beispielhaftes Blockdiagramm für eine erste Vorrichtung 1100. Wie in 11 dargestellt, enthält die erste Vorrichtung eine Vorrichtung 1100. Obwohl die in 11 dargestellte Vorrichtung 1100 eine begrenzte Anzahl von Elementen in einer gewissen Topologie hat, ist klar, dass die Vorrichtung 1100 mehr oder weniger Elemente in anderen Topologien enthalten kann, wie für eine bestimmte Implementierung erwünscht ist.
  • Die Vorrichtung 1100 kann vom Schaltkreis 1120 unterstützt werden, der bei einer Netz I/O-Vorrichtung gehalten wird, die an einen Server gekoppelt ist. Der Schaltkreis 1120 kann zur Ausführung eines oder mehrerer Software oder Firmware implementierter Module 1122-a angeordnet sein. Es muss festgehalten werden, dass ”a” und ”b” und ”c” und ähnliche Bezeichnungen, wie hierin verwendet, Variable sein sollen, die eine beliebige positive ganze Zahl darstellen. Wenn daher zum Beispiel eine Implementierung einen Wert für a = 5 setzt, kann ein vollständiger Satz von Software oder Firmware für Module 1122-a Module 1122-1, 1122-2, 1122-3, 1122-4 oder 1122-5 enthalten. Die dargestellten Beispiele sind in diesem Zusammenhang nicht eingeschränkt und die unterschiedlichen Variablen, die durchgehend verwendet werden, können dieselben oder unterschiedliche ganze Zahlenwerte darstellen.
  • Gemäß einigen Beispielen kann der Schaltkreis 1120 einen Prozessor oder Prozessorschaltkreis enthalten. Der Prozessor oder Prozessorschaltkreis kann jeder von verschiedenen, im Handel erhältlichen Prozessoren sein, einschließlich, ohne Einschränkung, ein AMD® Athlon®, Duron® und Opteron® Prozessoren; eine ARM® Anwendung, eingebettete und sichere Prozessoren; IBM® und Motorola® DragonBall® und PowerPC® Prozessoren; IBM und Sony®Cell Prozessoren; Intel®Atom®, Celeron®, Core (2) Duo®, Core i3, Core i5, Core i7, Itanium®, Pentium®, Xeon®, Xeon Phi® und XScale® Prozessoren; und ähnliche Prozessoren. Gemäß einigen Beispielen kann der Schaltkreis 1120 auch eine anwendungsspezifische integrierte Schaltung (ASIC) sein und mindestens einige Module 1422-a können als Hardware-Elemente der ASIC implementiert sein.
  • Gemäß einigen Beispielen kann die Vorrichtung 1100 ein Zeitstempelmodul 1122-1 enthalten. Das Zeitstempelmodul 1122-1 kann imstande sein, separate Zeitstempel an eintretenden Anforderungspaketen 1105 anzubringen, die für einen Server bestimmt sind, über den eine Netz-I/O-Vorrichtung, einschließlich der Vorrichtung 1100 gekoppelt ist. Das Zeitstempelmodul 1122-1 kann auch imstande sein, separate Zeitstempel auf austretenden Antwortpaketen 1125 anzubringen, die vom Server stammen.
  • In einigen Beispielen kann die Vorrichtung 1100 auch ein Erfassungsmodul 1122-2 enthalten. Das Erfassungsmodul 1122-2 kann imstande sein, Abschnitte von separaten eintretenden Anforderungspaketen 1105 und Abschnitte von separaten austretenden Antwortpaketen 1115 zu erfassen. Die erfassten Abschnitte können die separat zeitgestempelten eintretenden Anforderungspakete und die separat zeitgestempelten austretenden Antwortpakete einzigartig identifizieren. Gemäß einigen Beispielen können die erfassten Abschnitte aus eintretenden Anfangsblockinformationen 1124-a und austretenden Anfangsblockinformationen 1126-b erhalten werden. Eintretende Anfangsblockinformationen 1124-a und austretende Anfangsblockinformationen 1126-b können von separaten TCP/IP Anfangsblöcken für eintretende Anforderungspakete 1105 oder austretende Antwortpakete 1115 erhalten werden. Das Erfassungsmodul 1122-2 kann imstande sein, die erfassten Abschnitte mit jeweiligen Zeitstempeln (z. B. in einer Datenstruktur wie einer Verweistabelle (LUT)) zumindest vorübergehend zu speichern.
  • In einigen Beispielen kann die Vorrichtung 1100 auch ein Weiterleitungsmodul 1122-3 enthalten. Das Weiterleitungsmodul 1122-3 kann imstande sein (z. B. aus einer LUT) die erfassten Abschnitte mit entsprechenden Zeitstempeln für eintretende Anforderungspakete 1105 oder austretende Antwortpakete 1115 zu erhalten. Die erfassten Abschnitte mit entsprechenden Zeitstempeln können als zeitgestempelte eintretende Paketabschnitte 1135 und zeitgestempelte austretende Paketabschnitte 1145 weitergeleitet werden. Für diese Beispiele können zeitgestempelte eintretende Paketabschnitte 1135 und zeitgestempelte austretende Paketabschnitte 1145 zum Schaltkreis weitergeleitet werden, der beim Server gehalten wird, der an die Netz-I/O-Vorrichtung gekoppelt ist, die die Vorrichtung 1100 enthält. Das Weiterleitungsmodul 1122-3 kann Transportprotokollinformationen 1128-c (die z. B. in einer LUT enthalten sind) zur Formatierung von Informationen verwenden, die zum Schaltkreis weitergeleitet werden, der beim Server gehalten wird (z. B. unter Verwendung von MCTP und/oder PCI-Express konformen Protokollen).
  • Gemäß einigen Beispielen kann die Vorrichtung 1100, die sich bei der Netz-I/O-Vorrichtung befindet, als ein erstes Teil eines passiven Monitors für den Server dienen, der an die Netz-I/O-Vorrichtung gekoppelt ist. Wie oben für 5 und 9 erwähnt, kann der passive Monitor Elemente enthalten, die vom Schaltkreis unterstützt werden, der sowohl an der Netz-I/O-Vorrichtung (z. B. Schaltkreis 1120) wie auch dem Server gehalten wird. Wie weiter unten beschrieben ist, kann der Schaltkreis, der beim Server gehalten wird, als ein zweites Teil des passiven Monitors dienen und kann weitergeleitete, erfasste Abschnitte der zeitgestempelten eintretenden Anforderungs- und austretenden Antwortpakete zur Bestimmung von Transaktionslatenzwerten für den Server verwenden.
  • Hierin enthalten ist ein Satz von Ablauflogiken, die für beispielhafte Methodologien zur Durchführung neuartiger Aspekte der offenbarten Architektur repräsentativ sind. Während der einfachen Erklärung wegen die eine oder mehreren hierein beschriebenen Methodologie(n) als eine Reihe von Vorgängen dargestellt und beschrieben ist (sind), ist für einen Fachmann verständlich und klar, dass die Methodologien nicht durch die Reihenfolge der Vorgänge begrenzt sind. Einige Vorgänge können dementsprechend in einer anderen Reihenfolge und/oder gleichzeitig mit anderen Vorgängen von den herein gezeigten und beschriebenen erfolgen. Zum Beispiel ist für Fachleute verständlich und klar, dass eine Methodologie alternativ als eine Reihe von miteinander zusammenhängenden Zuständen oder Ereignissen dargestellt werden kann, wie in einem Zustandsdiagramm. Ferner könnten nicht alle Vorgänge, die in einer Methodologie dargestellt sind, für eine neuartige Implementierung notwendig sein.
  • Eine Ablauflogik kann in Software, Firmware, und/oder Hardware implementiert sein. In Software- und Firmware-Ausführungsformen kann eine Ablauflogik durch computerausführbare Anweisungen implementiert werden, die auf mindestens einem nicht transitorischen computerlesbaren Medium oder maschinenlesbaren Medium gespeichert sind, wie einem optischen magnetischen oder Halbleiterdatenspeicher. Die Ausführungsformen sind in diesem Zusammenhang nicht eingeschränkt.
  • 12 zeigt ein Beispiel einer ersten Ablauflogik. Wie in 12 dargestellt, enthält die erste Ablauflogik eine Ablauflogik 1200. Die Ablauflogik 1200 kann für einige oder alle der Operationen repräsentativ sein, die von einer/einem oder mehreren hierin beschriebenen Logiken, Merkmalen oder Vorrichtungen ausgeführt werden, wie der Vorrichtung 1100. Insbesondere kann die Ablauflogik 1200 durch ein Zeitstempelmodul 1122-1, Erfassungsmodul 1122-2 oder Weiterleitungsmodul 1122-3 implementiert sein.
  • Gemäß einigen Beispielen kann die Ablauflogik 1200 bei Block 1202 separate Zeitstempel an eintretenden Anforderungspaketen anbringen, die für einen Server, der an eine Netz-I/O-Vorrichtung mit der Vorrichtung 1100 gekoppelt ist, bestimmt sind. Die Ablauflogik 1200 kann bei Block 1202 auch separate Zeitstempel an austretenden Antwortpaketen anbringen, die vom Server stammen. Zum Beispiel kann das Zeitstempelmodul 1122-1 die separaten Zeitstempel an eintretenden Anforderungspaketen 1105 und austretenden Anforderungspaketen 1115 anbringen.
  • In einigen Beispielen kann die Ablauflogik 1200 Abschnitte separater eintretender Anforderungspakete und Abschnitte separater austretender Antwortpakete bei Block 1204 erfassen. Für diese Beispiele können die Abschnitte vom Erfassungsmodul 1122-2 erfasst werden und die separat zeitgestempelten eintretenden Anforderungspaketen 1105 und die separat zeitgestempelten austretenden Antwortpakete 1115 einzigartig identifizieren.
  • In einigen Beispielen kann die Ablauflogik 1200 bei Block 1206 die erfassten Abschnitte mit entsprechenden Zeitstempeln zum Schaltkreis weiterleiten, der beim Server gehalten wird. Für diese Beispiele kann das Weiterleitungsmodul 1122-3 zeitgestempelte eintretende Paketabschnitte 1135 und zeitgestempelte austretende Paketabschnitte 1145 zum Schaltkreis weiterleiten, der beim Server gehalten wird.
  • 13 zeigt ein Beispiel eines ersten Datenspeichermediums. Wie in 13 dargestellt, enthält das erste Datenspeichermedium ein Datenspeichermedium 1300. Das Datenspeichermedium 1300 kann einen Herstellungsartikel enthalten. In einigen Beispielen kann das Datenspeichermedium 1300 ein beliebiges, nicht transitorisches, computerlesbares Medium oder maschinenlesbares Medium, wie einen optischen, magnetischen oder Halbleiterdatenspeicher enthalten. Das Datenspeichermedium 1300 kann verschiedene Arten von computerausführbaren Anweisungen speichern, wie Anweisungen zur Implementierung der Ablauflogik 1300. Beispiele für ein computerlesbares oder maschinenlesbares Datenspeichermedium können sämtliche greifbare Medien sein, die zum Speichern elektronischer Daten imstande sind, einschließlich flüchtiger Arbeitsspeicher oder nicht flüchtiger Arbeitsspeicher, entfernbarer oder nicht entfernbarer Arbeitsspeicher, löschbarer oder nicht löschbarer Arbeitsspeicher, beschreibbarer oder wieder beschreibbarer Arbeitsspeicher, und so weiter. Beispiele für computerausführbare Anweisungen können jede Art von Code enthalten, wie Source-Code, kompilierten Code, interpretierten Code, ausführbaren Code, statischen Code, dynamischen Code, objektorientierten Code, visuellen Code, und dergleichen. Die Beispiele sind in diesem Zusammenhang nicht eingeschränkt.
  • 14 zeigt ein beispielhaftes Blockdiagramm für eine zweite Vorrichtung. Wie in 14 dargestellt, enthält die zweite Vorrichtung eine Vorrichtung 1400. Obwohl die in 14 dargestellte Vorrichtung 1400 eine begrenzte Anzahl von Elementen in einer gewissen Topologie oder Konfiguration aufweist, ist klar, dass die Vorrichtung 1400 in anderen Konfigurationen mehr oder weniger Elemente enthalten kann, wie für eine bestimmte Implementierung gewünscht ist.
  • Die Vorrichtung 1400 kann vom Schaltkreis 1420 unterstützt werden, der bei einem Server gehalten wird. Der Schaltkreis 1420 kann zur Ausführung eines oder mehrerer Software- oder Firmware-implementierter Module 1422-a angeordnet sein. Es muss festgehalten werden, dass ”a” und ”b” und ”c” und ähnliche Bezeichnungen, wie hierin verwendet, Variable sein sollen, die eine beliebige positive ganze Zahl darstellen. Wenn daher zum Beispiel eine Implementierung einen Wert für a = 7 setzt, kann ein vollständiger Satz von Software oder Firmware für Module 1422-a Module 1422-1, 1422-2, 1422-3, 1422-4 oder 1422-5 enthalten. Die dargestellten Beispiele sind in diesem Zusammenhang nicht eingeschränkt und die unterschiedlichen Variablen, die durchgehend verwendet werden, können dieselben oder unterschiedliche ganze Zahlenwerte darstellen.
  • In einigen Beispielen, wie in 14 dargestellt, enthält die Vorrichtung 1400 einen Schaltkreis 1420. Der Schaltkreis 1420 kann zur Ausführung eines oder mehrerer Software- oder Firmware-implementierter Module 1422-a angeordnet sein. Der Schaltkreis 1420 kann Teil eines Schaltkreises eines Servers sein, der Verarbeitungskerne enthält (die z. B. als zentrale Verarbeitungseinheit (CPU) verwendet werden). Alternativ kann der Schaltkreis 1420 Teil eines Schaltkreises in einem Chipsatz für den Server sein. In jedem Szenario kann der Schaltkreis 1420 Teil eines von verschiedenen, im Handel erhältlichen Prozessoren sein, um, ohne aber darauf beschränkt zu sein, die zuvor für Schaltkreis 1120 für Vorrichtung 1100 erwähnten zu enthalten. Der Schaltkreis 1420 kann auch Teil von Mikroprozessoren, Mehrfachkern-Prozessoren und anderen Mehrfach-Prozessorarchitekturen sein. Gemäß einigen Beispielen kann der Schaltkreis 1420 auch eine ASIC sein und Module 1422-a können als Hardware-Elemente der ASIC implementiert sein, die als Teil des Schaltkreises im Chipsatz (z. B. eine Manageability Engine) enthalten sind.
  • Gemäß einigen Beispielen kann die Vorrichtung 1400 ein Anforderungsmodul 1422-1 enthalten. Das Anforderungsmodul 1422-1 kann imstande sein, zeitgestempelte eintretende Anforderungspaketabschnitte 1405 von einer Netz-I/O-Vorrichtung zu empfangen, die an den Server mit der Vorrichtung 1400 gekoppelt ist. Das Anforderungsmodul 1422-1 kann auch imstande sein, die empfangenen zeitgestempelten eintretenden Anforderungspaketabschnitte 1405 in eine Transaktionstabelle 1423-a einzufügen (die z. B. in einer Datenstruktur wie einer Verweistabelle (LUT) oder einem Notizblockspeicher gehalten wird).
  • In einigen Beispielen kann die Vorrichtung 1400 auch ein Antwortmodul 1422-2 enthalten. Das Antwortmodul 1422-2 kann imstande sein, zeitgestempelte austretende Antwortpaketabschnitte 1415 aus der Netz-I/O-Vorrichtung zu empfangen. Das Antwortmodul 1422-2 kann auch imstande sein, die empfangenen zeitgestempelten austretenden Antwortpaketabschnitte 1415 in die Transaktionstabelle 1423-a einzufügen.
  • In einigen Beispielen kann die Vorrichtung 1400 auch ein Abstimmungsmodul 1422-3 enthalten. Das Abstimmungsmodul 1422-3 kann imstande sein, zeitgestempelte eintretende Anforderungspaketabschnitte 1405, die in die Transaktionstabelle 1423-a eingefügt sind, mit zeitgestempelten austretenden Antwortpaketabschnitten 1415 abzustimmen, die auch in der Transaktionstabelle 1423-a eingefügt sind. Für diese Beispiele können Informationen wie Zieladresse/Port, die in den zeitgestempelten Abschnitten enthalten sind, zum Abstimmen entsprechender zeitgestempelter Abschnitte der eintretenden Anforderungs- und der austretenden Antwortpakete verwendet werden.
  • In einigen Beispielen kann die Vorrichtung 1400 auch ein Latenzmodul 1422-4 enthalten. Das Latenzmodul 1422-4 kann imstande sein, einen ersten und zweiten Zeitstempel für entsprechende abgestimmte zeitgestempelte Abschnitte der eintretenden Anforderungs- und austretenden Antwortpakete zu verwenden, um separate Transaktionslatenzwerte für Transaktionen zu bestimmen, die vom Server und/oder von Elementen ausgeführt werden, die vom Server unterstützt werden (z. B. VMs oder virtuelle Server). Für diese Beispiele können bestimmte Transaktionslatenzwert in eine fertige Transaktionstabelle 1424-b eingefügt werden. Die fertige Transaktionstabelle 1424-b kann in einer Datenstruktur wie LUT oder einen Notizblockspeicher gehalten werden. Gemäß einigen Beispielen können, sobald ein bestimmter Transaktionslatenzwert bestimmt und in die fertige Transaktionstabelle 1424-b eingefügt ist, entsprechende empfangene zeitgestempelte eintretende Anforderungspaketabschnitte 1405 und austretende Antwortpaketabschnitte 1415 aus der Transaktionstabelle 1423-a entfernt werden.
  • Gemäß einigen Beispielen kann die Vorrichtung 1400 auch ein Korbmodul 1422-5 enthalten. Das Korbmodul 1422-5 kann imstande sein, die bestimmten separaten Transaktionslatenzwerte aus der fertigen Transaktionstabelle 1424-b zu sammeln und zu erhalten und diese Werte während eines aktuellen Zeitintervalls in mehrere Körbe einzufügen. Für diese Beispiele kann jeder Korb mit einer inkrementierten Zeitdifferenz verbunden und zum Halten eines oder mehrerer der separat bestimmten Transaktionslatenzwerte anhand einer Nähe entsprechender separat bestimmter Transaktionslatenzwerte zu einer gegebenen inkrementierten Zeitdifferenz konfiguriert sein. Auch für diese Beispiele kann jede inkrementierte Zeitdifferenz auf einer Zeitspanne zwischen einem niedrigsten bestimmten Transaktionslatenzwert und einem höchsten bestimmten Transaktionslatenzwert von den bestimmten separaten Transaktionslatenzwerte beruhen, die in einem vorangehenden Zeitintervall gesammelt wurden.
  • In einigen Beispielen kann die Vorrichtung 1400 auch ein Sortierungsmodul 1422-6 enthalten. Das Sortierungsmodul 1422-6 kann imstande sein zu bestimmen, welcher Korb aus den mehreren Körben, die vom Korbmodul 1422-5 verwendet werden, einen bestimmten n. Perzentil Transaktionslatenzwert enthält. Das Sortierungsmodul 1422-6 kann den Korb sortieren, der den bestimmten n. Perzentil Transaktionslatenzwert enthält, um einen bestimmten Transaktionslatenzwert zu bestimmen, der gleich dem bestimmten n. Perzentil Transaktionslatenzwert ist.
  • Gemäß einigen Beispielen kann die Vorrichtung 1400 auch ein Meldungsmodul 1422-7 enthalten. Das Meldungsmodul 1422-7 kann imstande sein, Informationen in Verbindung mit den bestimmten separaten Transaktionslatenzwerten einer Managementlogik zu melden (z. B. in Verbindung mit einem Managementnetz und/oder einer Managementkonsole), die zum Verwalten mehrerer Server konfiguriert ist, die den Server enthalten, der die Vorrichtung 1400 hat. Das Meldungsmodul 1422-7 kann Transportprotokollinformationen 1427-e (die z. B. in einer LUT oder anderen Datenstruktur eingefügt sind) zum Formatieren von Informationen verwenden, die der Managementlogik (z. B. unter Verwendung von IPMI-konformen Protokollen) gemeldet werden. Die gemeldeten Informationen, können den bestimmten n. Perzentil Transaktionslatenzwert enthalten, der beim Sortieren der inkrementierten Körbe vom Sortierungsmodul 1422-6 erhalten wurde. Die Informationen können auch andere statistisch zugehörige Informationen enthalten, ohne aber darauf beschränkt zu sein, wie einen gleitenden bestimmten Transaktionslatenzdurchschnittswert oder bestimmte max/min Transaktionslatenzwerte.
  • Gemäß einigen Beispielen kann die Vorrichtung 1400, die vom Schaltkreis beim Server unterstützt wird, der an die Netz-I/O-Vorrichtung gekoppelt ist, als ein zweites Teil eines passiven Monitors für den Server dienen. Wie oben für 11 erwähnt, kann der passive Monitor Elemente enthalten, die vom Schaltkreis unterstützt werden, sowohl an der Netz-I/O-Vorrichtung (z. B. Schaltkreis 1120) wie auch am Server (z. B. Schaltkreis 1420) gehalten wird. Elemente oder Module der Vorrichtung 1400, wie oben erwähnt, können das zweite Teil des passiven Monitors durch Verwendung der weitergeleiteten, erfassten Abschnitte der zeitgestempelten eintretenden Anforderungs- und austretenden Antwortpaketen implementieren, um Transaktionslatenzwerte für den Server zu bestimmen und dann die bestimmten Transaktionslatenzwerte einer Managementlogik zu melden, die kommunikativ an den Server gekoppelt ist.
  • Verschiedene Komponenten der Vorrichtung 1400 und einer Vorrichtung, die die Vorrichtung 1400 implementiert, können kommunikativ durch verschiedenen Arten von Kommunikationsmedien zum Koordinieren von Operationen aneinander gekoppelt sein. Die Koordination kann einen einseitig gerichteten oder zweiseitig gerichteten Austausch von Informationen enthalten. Zum Beispiel können die Komponenten Informationen in der Form von Signalen kommunizieren, die über die Kommunikationsmedien kommuniziert werden. Die Informationen können als Signale implementiert sein, die verschiedenen Signalleitungen zugeordnet sind. In solchen Zuordnungen ist jede Nachricht ein Signal. Weitere Ausführungsformen können alternativ jedoch Datennachrichten verwenden. Solche Datennachrichten können über verschiedene Verbindungen gesendet werden. Beispielhafte Verbindungen enthalten parallele Schnittstellen, serielle Schnittstellen, und Busschnittstellen.
  • Hierin ist ein Satz von Ablauflogiken enthalten, die für beispielhafte Methodologien zur Durchführung neuartiger Aspekte der offenbarten Architektur repräsentativ sind. Während der einfachen Erklärung wegen die eine oder mehreren hierin gezeigten Methodologie(n) als eine Reihe von Vorgängen beschrieben ist (sind), ist für Fachleute verständlich und klar, dass die Methodologien nicht auf die Reihenfolge von Vorgängen beschränkt sind. Einige Vorgänge können dementsprechend in einer anderen Reihenfolge und/oder gleichzeitig mit anderen Vorgängen erfolgen, als hierin gezeigt und beschrieben sind. Zum Beispiel ist für Fachleute verständlich und klar, dass eine Methodologie alternativ als eine Reihe von miteinander zusammenhängenden Zuständen oder Ereignissen dargestellt werden kann, wie in einem Zustandsdiagramm. Ferner könnten nicht alle Vorgänge, die in einer Methodologie dargestellt sind, für eine neuartige Implementierung notwendig sein.
  • Eine Ablauflogik kann in Software, Firmware, und/oder Hardware implementiert sein. In Software- und Firmware-Ausführungsformen kann eine Ablauflogik durch computerausführbare Anweisungen implementiert werden, die auf mindestens einem nicht transitorischen computerlesbaren Medium oder maschinenlesbaren Medium gespeichert sind, wie einem optischen magnetischen oder Halbleiterdatenspeicher. Die Ausführungsformen sind in diesem Zusammenhang nicht eingeschränkt.
  • 15 zeigt ein Beispiel einer zweiten Ablauflogik. Wie in 15 dargestellt, enthält die zweite Ablauflogik eine Ablauflogik 1500. Die Ablauflogik 1500 kann für einige oder alle der Operationen repräsentativ sein, die von einer/einem oder mehreren hierin beschriebenen Logiken, Merkmalen oder Vorrichtungen ausgeführt werden, wie der Vorrichtung 1400. Insbesondere kann die Ablauflogik 1500 durch Anforderungsmodul 1422-1, Antwortmodul 1422-2, Abstimmungsmodul 1422-3, Latenzmodul 1422-4, Korbmodul 1422-5, Sortierungsmodul 1422-6 oder Meldungsmodul 1422-7 implementiert werden.
  • In dem dargestellten Beispiel, das in 15 dargestellt ist, kann die Ablauflogik 1500 bei Block 1502 zeitgestempelte Abschnitte von eintretenden Anforderungspaketen von einer Netzeingabe-/-ausgabevorrichtung empfangen, die an den Server gekoppelt ist, und die empfangenen zeitgestempelten Abschnitte der eintretenden Anforderungspakete in eine Transaktionstabelle einfügen. Für diese Beispiele, kann das Anforderungsmodul 1422-1 zeitgestempelte eintretende Anforderungspaketabschnitte 1405 empfangen und diese Paketabschnitte in die Transaktionstabelle 1423-a einfügen.
  • Gemäß einigen Beispielen kann die Ablauflogik 1500 bei Block 1504 zeitgestempelte Abschnitte von austretenden Antwortpaketen von der Netzeingabe-/-ausgabevorrichtung empfangen und die empfangenen zeitgestempelten Abschnitte der austretenden Antwortpakete in die Transaktionstabelle einfügen. Für diese Beispiele kann das Anforderungsmodul 1422-1 zeitgestempelte austretende Antwortpaketabschnitte 1415 empfangen und diese Paketabschnitte in die Transaktionstabelle 1423-a einfügen.
  • Gemäß einigen Beispielen kann die Ablauflogik 1500 bei Block 1506 die zeitgestempelten Abschnitte von eintretenden Anforderungspaketen mit zeitgestempelten Abschnitten von austretenden Antwortpaketen, die in die Transaktionstabelle eingefügt sind, anhand von enthaltenen Informationen mit entsprechenden zeitgestempelten Abschnitten der eintretenden Anforderungs- und der austretenden Antwortpakete abstimmen. Für diese Beispiele kann das Abstimmungsmodul 1422-3 die zeitgestempelten eintretenden Anforderungspaketabschnitte 1405, die in die Transaktionstabelle 1423-a eingefügt sind, mit zeitgestempelten austretenden Antwortpaketabschnitten 1415 abstimmen, die auch in die Transaktionstabelle 1423-a eingefügt sind.
  • In einigen Beispielen kann die Ablauflogik 1500 bei Block 1508 erste und zweite Zeitstempel für entsprechende abgestimmte zeitgestempelte Abschnitte von eintretenden Anforderungs- und austretenden Antwortpaketen verwenden, um separate Transaktionslatenzwerte für Transaktionen zu bestimmen, die vom Server ausgeführt werden. Für diese Beispiele können bestimmte Transaktionslatenzwerte vom Latenzmodul 1422-4 bestimmt und dann in eine fertige Transaktionstabelle 1424-b eingefügt werden.
  • Gemäß einigen Beispielen kann die Ablauflogik 1500 bei Block 1510 die bestimmten separaten Transaktionslatenzwerte in mehreren zeitinkrementierten Körben sammeln. Für diese Beispiele kann das Korbmodul 1422-5 die separaten Transaktionslatenzwerte in Körben sammeln, die anhand von bestimmten min/max Transaktionslatenzwerte für ein vorangehendes Zeitintervall inkrementiert wurden. Für Beispiele, wie für 4 beschrieben, können die bestimmten min/max Transaktionslatenzwerte während aktueller Zeitintervalle aktualisiert und dann während anschließender Zeitintervalle zur Entscheidung verwendet werden, wie die Körbe inkrementiert werden können.
  • In einigen Beispielen kann die Ablauflogik 1500 bei Block 1512 bestimmen, welcher zeitinkrementierte Korb einen bestimmten n. Perzentil Transaktionslatenzwert enthält, und dann diesen Korb sortieren, um den bestimmten n. Perzentil Transaktionslatenzwert zu bestimmen. Für diese Beispiele kann das Sortierungsmodul 1422-6 zunächst bestimmen, welcher Korb einen bestimmten n. Perzentil Transaktionslatenzwert enthält und dann diesen Korb sortieren, um den bestimmten n. Perzentil Transaktionslatenzwert zu finden. Gemäß einigen Beispielen, kann der bestimmte n. Perzentil Transaktionslatenzwert ein bestimmter 95. Perzentil Transaktionslatenzwert sein.
  • Gemäß einigen Beispielen kann die Ablauflogik bei Block 1514 Transaktionslatenzinformationen melden. Für diese Beispiele kann das Meldungsmodul 1422-7 Informationen wie einen bestimmten 95. Perzentil Transaktionslatenzwert oder andere Arten von statistischen Informationen melden, die sich auf bestimmte Transaktionslatenzwerte (z. B. gleitender Durchschnitt, Maximal/Minimalwerte, usw.) beziehen.
  • 16 zeigt ein Beispiel eines zweiten Datenspeichermediums. Wie in 16 dargestellt, enthält das zweite Datenspeichermedium ein Datenspeichermedium 1600. Das Datenspeichermedium 1600 kann einen Herstellungsartikel umfassen. In einigen Beispielen kann das Datenspeichermedium 1600 jedes nicht transitorische computerlesbare Medium oder maschinenlesbare Medium, wie einen optischen, magnetischen oder Halbleiterdatenspeicher enthalten. Das Datenspeichermedium 1600 kann verschiedene Arten von computerausführbaren Anweisungen speichern, wie Anweisungen zur Implementierung der Ablauflogik 1500. Beispiele für ein computerlesbares oder maschinenlesbares Datenspeichermedium können sämtliche greifbare Medien enthalten, die zum Speichern elektronischer Daten imstande sind, einschließlich flüchtiger Arbeitsspeicher oder nicht flüchtiger Arbeitsspeicher, entfernbarer oder nicht entfernbarer Arbeitsspeicher, löschbarer oder nicht löschbarer Arbeitsspeicher, beschreibbarer oder wieder beschreibbarer Arbeitsspeicher, und so weiter. Beispiele für computerausführbare Anweisungen können jede Art von Code enthalten, wie Source-Code, kompilierten Code, interpretierten Code, ausführbaren Code, statischen Code, dynamischen Code, objektorientierten Code, visuellen Code, und dergleichen. Die Beispiele sind in diesem Zusammenhang nicht eingeschränkt.
  • 17 zeigt ein beispielhaftes Blockdiagramm für eine dritte Vorrichtung. Wie in 17 dargestellt, enthält die dritte Vorrichtung eine Vorrichtung 1700. Obwohl die in 17 dargestellte Vorrichtung 1700 eine begrenzte Anzahl von Elementen in einer bestimmten Topologie oder Konfiguration aufweist, ist klar dass die Vorrichtung 1700 in anderen Konfigurationen mehr oder weniger Elemente enthalten kann, wie für eine bestimmte Implementierung gewünscht ist.
  • Die Vorrichtung 1700 kann vom Schaltkreis 1720 unterstützt werden, der bei einem Server gehalten wird. Der Schaltkreis 1720 kann zur Ausführung eines oder mehrerer Software- oder Firmware-implementierter Module 1722-a angeordnet sein. Es muss festgehalten werden, dass ”a” und ”b” und ”c” und ähnliche Bezeichnungen, wie hierin verwendet, Variable sein sollen, die eine beliebige positive ganze Zahl darstellen. Wenn daher zum Beispiel eine Implementierung einen Wert für a = 2 setzt, kann ein vollständiger Satz von Software oder Firmware für Module 1722-a Module 1722-1 oder 1722-2 enthalten. Die dargestellten Beispiele sind in diesem Zusammenhang nicht eingeschränkt und die unterschiedlichen Variablen, die durchgehend verwendet werden, können dieselben oder unterschiedliche ganze Zahlenwerte darstellen.
  • In einigen Beispielen, wie in 17 dargestellt, enthält die Vorrichtung 1700 einen Schaltkreis 1720. Der Schaltkreis 1720 kann allgemein zur Ausführung eines oder mehrerer Software- und/oder Firmware-Module 1722-a angeordnet sein. Der Schaltkreis 1720 kann Teil eines Schaltkreises eines Servers sein, der Verarbeitungskerne enthält (die z. B. als zentrale Verarbeitungseinheit (CPU) verwendet werden). Alternativ kann der Schaltkreis 1720 Teil eines Schaltkreises in einem Chipsatz für den Server sein. In jedem Szenario kann der Schaltkreis 1720 Teil eines von verschiedenen, im Handel erhältlichen Prozessoren sein, um, ohne aber darauf beschränkt zu sein, die zuvor für Schaltkreis 1120 für Vorrichtung 1100 erwähnten zu enthalten. Der Schaltkreis 1720 kann auch Teil von Mikroprozessoren, Mehrfachkern-Prozessoren und anderen Mehrfach-Prozessorarchitekturen sein. Gemäß einigen Beispielen kann der Schaltkreis 1720 auch eine ASIC sein und Module 1722-a können als Hardware-Elemente der ASIC implementiert sein, die als Teil des Schaltkreises im Chipsatz (z. B. eine Manageability Engine oder ein Leistungsknotenmanager) enthalten sind.
  • Gemäß einigen Beispielen kann die Vorrichtung 1700 ein Latenzmodul 1722-1 enthalten. Das Latenzmodul 1722-1 kann imstande sein, Transaktionslatenzwerte anhand von zeitgestempelten Abschnitten von eintretenden Anforderungspaketen, die auf zeitgestempelte Abschnitte austretender Antwortpakete abgestimmt sind, die von einer Netz-I/O-Vorrichtung empfangen werden, die an den Server mit der Vorrichtung 1700 gekoppelt sind, zu bestimmen. Für diese Beispiele können die zeitgestempelten eintretenden/austretenden Paketabschnitte 1705 vom Latenzmodul 1722-1 zur Bestimmung von Transaktionslatenzwerten verwendet werden. In einigen Beispielen kann das Latenzmodul 1722-1 alle oder einige der oben genannten Funktionen für Module ausführen, die in der Vorrichtung 1400 enthalten sind, um Transaktionslatenzwerte zu bestimmen. Zum Beispiel kann das Latenzmodul 1722-1 eintretende/austretende Paketabschnitte 1705 empfangen, eintretende Anforderungsabschnitte mit austretenden Antwortabschnitten abstimmen und separate Transaktionslatenzwerte anhand der abgestimmten Abschnitte bestimmen. In gewisser Hinsicht kann das Latenzmodul 1722-1 als ein zweites Teil eines passiven Monitors dienen. Übrigens kann der Schaltkreis an der Netz-I/O-Vorrichtung als ein erstes Teil des passiven Monitors dienen.
  • In einigen Beispielen kann die Vorrichtung 1700 auch ein Leistungsmodul 1722-2 enthalten. Das Leistungsmodul 1722-2 kann imstande sein, eine Leistungsmenge, die dem Server bereitgestellt wird, anhand eines Vergleichs von Transaktionslatenzwerten, die vom Latenzmodul 1722-2 bestimmt werden, auf ein gegebenes Transaktionslatenzziel einstellen zu lassen. Für diese Beispiele kann das gegebene Transaktionslatenzziel auf Leistungszielinformationen 1726-b beruhen, die vom Leistungsmodul 1722-2 (z. B. in einer LUT) gehalten werden. Gemäß einigen Beispielen können die Leistungszielinformationen 1726-b Informationen enthalten die über (ein) Leistungsziel(e) 1715 empfangen werden. Gemäß einigen Beispielen, kann das (können die) Leistungsziel(e) 1715 von der Managementlogik empfangen werden, die imstande ist, den Server als ein Teil eines Datenzentrums zu verwalten, das mehrere Server enthält. Leistungsziel(e) 1715 kann (können) Transaktionslatenzzielwerte oder Leistungsverbrauchsziele enthalten, ohne aber darauf beschränkt zu sein. In einigen anderen beispielhaften, Leistungszielen 1715 können Leistungssteuerungsstrategien enthalten sein, die in einem Basis-Ein-/Ausgabesystem (BIOS) für den Server eingebettet oder in einem Leistungsmanagementschema enthalten sein, das von einem Betriebssystem oder einem Managementelement für den Server verwaltet wird (z. B. eine Manageability Engine). Für diese anderen Beispiele können Leistungsziele 1715 von einem oder mehreren von BIOS, Betriebssystem oder dem Managementelement erhalten werden.
  • Das Leistungsmodul 1722-2 kann auch Leistungseinstellungsinformationen 1728-c (z. B. in einer LUT oder anderen Datenstruktur) halten. Die Leistungseinstellungsinformationen 1728-c können Strategieinformationen in Verbindung mit dem Leistungsmanagement für den Server enthalten, die anzeigen können, wie das Leistungsmodul 1722-2 eingestellt ist, um Einstellungen bei der Leistungsmenge zu bewirken, die dem Server bereitgestellt wird, um das gegebene Transaktionslatenzziel zu erfüllen. In einigen Beispielen können Leistungseinstellungsinformationen 1728-c auch auf (einem) empfangenen oder erhaltenen Leistungsziel(en) 1715 beruhen.
  • Verschiedene Komponenten der Vorrichtung 1700 und einer Vorrichtung, die Vorrichtung 1700 implementiert, können durch verschiedenen Arten von Kommunikationsmedien kommunikativ aneinander gekoppelt sein, um Operationen zu koordinieren. Die Koordination kann den einseitig gerichteten oder zweiseitig gerichteten Austausch von Informationen beinhalten. Zum Beispiel können die Komponenten Informationen in der Form von Signalen kommunizieren, die über die Kommunikationsmedien kommuniziert werden. Die Informationen können als Signale implementiert sein, die verschiedenen Signalleitungen zugeordnet sind. In solchen Zuordnungen, ist jede Nachricht ein Signal. Weitere Ausführungsformen können jedoch alternativ Datennachrichten verwenden. Solche Datennachrichten können über verschiedene Verbindungen gesendet werden. Beispielhafte Verbindungen enthalten parallele Schnittstellen, serielle Schnittstellen und Bus-Schnittstellen.
  • Hierin ist ein Satz von Ablauflogiken enthalten, die für beispielhafte Methodologien zur Durchführung neuartiger Aspekte der offenbarten Architektur repräsentativ sind. Während der einfachen Erklärung wegen die eine oder mehreren hierin gezeigte(n) Methodologie(n) als eine Reihe von Vorgängen beschrieben ist (sind), ist für Fachleute verständlich und klar, dass die Methodologien nicht auf die Reihenfolge von Vorgängen beschränkt sind. Einige Vorgänge können dementsprechend in einer anderen Reihenfolge und/oder gleichzeitig mit anderen Vorgängen erfolgen, als hierin gezeigt und beschrieben sind. Zum Beispiel ist für Fachleute verständlich und klar, dass eine Methodologie alternativ als eine Reihe von miteinander zusammenhängenden Zuständen oder Ereignissen dargestellt werden kann, wie in einem Zustandsdiagramm. Ferner könnten nicht alle Vorgänge, die in einer Methodologie dargestellt sind, für eine neuartige Implementierung notwendig sein.
  • Eine Ablauflogik kann in Software, Firmware, und/oder Hardware implementiert sein. In Software- und Firmware-Ausführungsformen kann eine Ablauflogik durch computerausführbare Anweisungen implementiert werden, die auf mindestens einem nicht transitorischen computerlesbaren Medium oder maschinenlesbaren Medium gespeichert sind, wie einem optischen magnetischen oder Halbleiterdatenspeicher. Die Ausführungsformen sind in diesem Zusammenhang nicht eingeschränkt.
  • 18 zeigt ein Beispiel einer dritten Ablauflogik. Wie in 18 dargestellt, enthält die dritte Logik eine Ablauflogik 1800. Die Ablauflogik 1800 kann für einige oder alle der Operationen repräsentativ sein, die von einer oder mehreren hierein beschriebenen Logiken, Merkmalen oder Vorrichtungen wie Vorrichtung 1700 ausgeführt wird. Insbesondere kann die Ablauflogik 1800 durch das Latenzmodul 1722-1 oder Leistungsmodul 1722-2 implementiert sein.
  • In dem in 18 dargestellten Beispiel kann die Ablauflogik 1800 bei Block 1802 Transaktionslatenzwerte anhand von zeitgestempelten Abschnitten von eintretenden Anforderungspaketen bestimmen, die auf zeitgestempelte Abschnitte von austretenden Antwortpaketen abgestimmt sind, die von einer Netz-I/O-Vorrichtung empfangen werden, die an einen Server gekoppelt ist, der Vorrichtung 1700 enthält. In einigen Beispielen kann das Latenzmodul 1722-1 zeitgestempelte eintretende/austretende Paketabschnitte 1705 vom Schaltkreis an der Netz-I/O-Vorrichtung empfangen und die empfangenen zeitgestempelten eintretenden/austretenden Paketabschnitte 1705 zum Bestimmen der Transaktionslatenzwerte verwenden.
  • Gemäß einigen Beispielen kann die Ablauflogik 1800 bei Block 1804 veranlassen, dass eine Leistungsmenge, die dem Server bereitgestellt wird, anhand eines Vergleichs der Transaktionslatenzwerte, die vom Latenzmodul bestimmt werden, mit einem gegebenen Transaktionslatenzzielwert eingestellt werden. Das Leistungsmodul 1722-2 kann Einstellungen an der Leistungsmenge anhand von Leistungszielinformationen 1726 und/oder Leistungseinstellungsinformationen 1728-c veranlassen. In einigen Beispielen können die empfangenen Leistungsziele 1715 (z. B. von einer Managementlogik, BIOS, OS oder ME) Werte für Transaktionslatenzen oder Leistungsverbrauch beeinflussen oder einstellen, die in Leistungszielinformationen 1726 und/oder Leistungseinstellungsinformationen 1728-c enthalten sind.
  • 19 zeigt ein Beispiel eines dritten Datenspeichermediums. Wie in 19 dargestellt, enthält das dritte Datenspeichermedium ein Datenspeichermedium 1900. Das Datenspeichermedium 1900 kann einen Herstellungsartikel umfassen. In einigen Beispielen kann das Datenspeichermedium 1900 ein nicht transitorisches computerlesbares Medium oder maschinenlesbares Medium, wie einen optischen, magnetischen oder Halbleiterdatenspeicher enthalten. Das Datenspeichermedium 1900 kann verschiedene Arten von computerausführbaren Anweisungen speichern, wie Anweisungen zur Implementierung der Ablauflogik 1800. Beispiele für ein computerlesbares oder maschinenlesbares Datenspeichermedium können sämtliche greifbare Medien enthalten, die zum Speichern elektronischer Daten imstande sind, einschließlich flüchtiger Arbeitsspeicher oder nicht flüchtiger Arbeitsspeicher, entfernbarer oder nicht entfernbarer Arbeitsspeicher, löschbarer oder nicht löschbarer Arbeitsspeicher, beschreibbarer oder wieder beschreibbarer Arbeitsspeicher, und so weiter. Beispiele für computerausführbare Anweisungen können jede Art von Code enthalten, wie Source-Code, kompilierten Code, interpretierten Code, ausführbaren Code, statischen Code, dynamischen Code, objektorientierten Code, visuellen Code, und dergleichen. Die Beispiele sind in diesem Zusammenhang nicht eingeschränkt.
  • 20 zeigt ein viertes beispielhaftes System. Wie in 20 dargestellt, enthält das vierte beispielhafte System ein System 2000. In einigen Beispielen, wie in 20 dargestellt, enthält das System 2000 einen Server 2010 und einen passiven Monitor 2012.
  • In einigen Beispielen kann der passive Monitor 2012 Logik und/oder Merkmale (z. B. Vorrichtung 1700) enthalten, die zum Empfangen eines Leistungsziels imstande sind, und veranlassen, dass Energieeinstellungen für den Energieserver 2010 vorgenommen oder eingestellt werden. Eine Leistung kann tatsächlich aus den Energieeinstellungen resultieren. Der passive Monitor 2012 kann ferner Logik und/oder Merkmale bei einer Netz-I/O-Vorrichtung enthalten, die an den Server 2010 gekoppelt ist (z. B. Vorrichtung 1100), um eintretende/austretende Pakete mit einem Zeitstempel zu versehen, Abschnitte der zeitgestempelten eintretenden/austretenden Pakete zu sammeln und die zeitgestempelten Abschnitte zu Logik und/oder Merkmalen beim Server 2010 (z. B. Vorrichtung 1700) zu senden. Die Logik und/oder Merkmale des passiven Monitors 2012 können dann Transaktionslatenzwerte anhand der empfangenen zeitgestempelten Abschnitte bestimmen und die bestimmte Transaktionslatenz zum Entscheiden verwenden, ob die Energieeinstellung eingestellt werden muss, um das Leistungsziel zu erfüllen.
  • Gemäß einigen Beispielen, wenn Transaktionslatenzwerte, die vom passiven Monitor 2012 bestimmt wurden, über einem Transaktionslatenzwertziel in Verbindung mit dem Leistungsziel liegen, können die Elemente des passiven Monitors 2012 eine Einstellung von Energieeinstellungen auf eine Weise zur Erhöhung der Energie zum Server 2010 bewirken, um Transaktionslatenzwerte auf ein Niveau annähernd gleich dem Transaktionslatenzwertziel zu verringern. In anderen Beispielen, wenn der passive Monitor 2012 bestimmt, dass Transaktionslatenzwerte unter dem Transaktionslatenzwertziel in Verbindung mit dem Leistungsziel liegen, kann ein Element des passiven Monitors 2012 bewirken, dass Energieeinstellungen in einer Weise zur Senkung der Energie zum Server 2010 eingestellt werden, um Transaktionslatenzwerte zu erhöhen. Das letztgenannte Beispiel kann ein Bemühen sein, den Energieverbrauch mit der Leistung für den Server 2010 auszugleichen.
  • 21 zeigt eine beispielhafte Rechnerplattform 2100. In einigen Beispielen, wie in 21 dargestellt, kann die Rechnerplattform 2100 eine Verarbeitungskomponente 2140, andere Plattformkomponenten oder eine Kommunikationsschnittstelle 2160 enthalten. Gemäß einigen Beispielen kann die Rechnerplattform 2100 in einer Rechnervorrichtung wie einem Server in einem System oder Datenzentren wie oben erwähnt implementiert sein.
  • Gemäß einigen Beispielen kann die Verarbeitungskomponente 2140 Verarbeitungsoperationen oder Logik für Vorrichtung 1400/1700 und/oder Datenspeichermedium 1600/1900 ausführen. Die Verarbeitungskomponente 2140 kann verschiedene Hardware-Elemente, Software-Elemente oder eine Kombination von beiden enthalten. Beispiele für Hardware-Elemente können Vorrichtungen, Logik-Vorrichtungen, Komponenten, Prozessoren, Mikroprozessoren, Schaltungen, Prozessorschaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktoren und so weiter), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logik-Vorrichtungen (PLD), Digitalsignalprozessoren (DSP), feldprogrammierbares Gate Array (FPGA), Speichereinheiten, Logik-Gates, Register, Halbleitervorrichtung, Chips, Mikrochips, Chipsätze und so weiter enthalten. Beispiele für Software-Elemente können Software-Komponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Vorrichtungstreiber, Systemprogramme, Software-Entwicklungsprogramme, Maschinenprogramme, Betriebssystem-Software, Middleware-, Firmware-, Software-Module, Routinen, Subroutinen, Funktionen, Methoden, Prozeduren, Software-Schnittstellen, Anwendungsprogramm-Schnittstellen (API), Anweisungssätze, Rechner-Code, Computer-Code, Codesegmente, Computer-Codesegmente, Worte, Werte, Symbole oder jede Kombination davon enthalten. Die Bestimmung, ob ein Beispiel mit Hardware-Elementen und/oder Software-Elementen implementiert wird, kann mit einer Anzahl von Faktoren variieren, wie der gewünschten Rechnungsrate, Energieniveaus, Wärmetoleranzen, Verarbeitungszyklusbudget, Eingangsdatenraten, Ausgangsdatenraten, Arbeitsspeicherressourcen, Datenbusgeschwindigkeiten und anderen Design- oder Leistungseinschränkungen, wie für ein bestimmtes Beispiel gewünscht.
  • In einigen Beispielen können andere Plattformkomponenten 2150 allgemeine Rechnerelemente enthalten, wie einen oder mehrere Prozessoren, Mehrfachkern-Prozessoren, Co-Prozessoren, Speichereinheiten, Chipsätze, Steuerungen, periphere Geräte, Schnittstellen, Oszillatoren, Zeitgebervorrichtungen, Videokarten, Audiokarten, Multimedia-Eingangs-/Ausgangs-(I/O)Komponenten (z. B. digitale Anzeigen), Energieversorgungen und so weiter. Beispiele für Arbeitsspeichereinheiten können ohne Einschränkung verschiedene Arten von computerlesbaren und maschinenlesbaren Datenspeichermedien in der Form einer oder mehrerer Arbeitsspeichereinheit(en) höherer Geschwindigkeit enthalten, wie Nur-Lese-Arbeitsspeicher (ROM), Direktzugriffsspeicher (RAM), dynamischer RAM (DRAM), Doppeldatenraten-DRAM (DDRAM), synchroner DRAM (SDRAM), statischer RAM (SRAM), programmierbarer ROM (PROM), löschbarer programmierbarer ROM (EPROM), elektrisch löschbarer programmierbarer ROM (EEPROM), Flash-Speicher, Polymerspeicher wie ferroelektrischer Polymerspeicher, Ovonic-Speicher, Phasenwechsel- oder ferroelektrischer Speicher, Silizium-Oxid-Nitrid-Oxid-Silizium-(SONOS)Speicher, magnetische oder optische Karten, eine Gruppe von Vorrichtungen wie Redundant Array of Independent Disks (RAID) Treibern, Festplattenspeichervorrichtungen (z. B. USB Speicher), Solid-State-Drives (SSD) und sämtliche anderen Arten von Datenspeichermedien, die zum Speichern von Informationen geeignet sind.
  • In einigen Beispielen kann die Kommunikationsschnittstelle 2160 Logik und/oder Merkmale zur Unterstützung einer Kommunikationsschnittstelle enthalten. Für diese Beispiele kann die Kommunikationsschnittstelle 2160 eine oder mehrere Kommunikationsschnittstelle(n) enthalten, die nach verschiedenen Kommunikationsprotokollen oder Standards arbeiten, um über direkte oder Netzkommunikationsverbindungen zu kommunizieren. Direkte Kommunikationen können durch Verwendung von Kommunikationsprotokollen oder Standards erfolgen, die in einem oder mehreren Industriestandards (einschließlich Nachfolger und Varianten) beschrieben sind, wie jenen in Verbindung mit der PCI Express Spezifikation, der IPMI-Spezifikation oder der MCTP-Spezifikation. Netzkommunikationen können durch Verwendung von Kommunikationsprotokollen oder Standards wie jenen erfolgen, die in einem oder mehreren Ethernet-Standards beschrieben sind, die vom Institute of Electrical and Electronics Engineers (IEEE) veröffentlicht wurden. Zum Beispiel kann ein solcher Ethernet-Standard IEEE 802.3-2008, Carrier sense Multiple access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications, veröffentlicht im Dezember 2008 (in der Folge ”IEEE 802.3”) enthalten.
  • Die Rechnerplattform 2100 kann Teil einer Rechnervorrichtung sein, die zum Beispiel, ein Server, ein Server-Array oder eine Server-Farm, ein Web-Server, ein Netzserver, ein Internet-Server, eine Workstation, ein Mini-Computer, eine Hauptrechner, ein Supercomputer, ein Netzgerät, eine Web Appliance, ein verteiltes Rechnersystem, Multiprozessorsysteme, Prozessor-basierte Systems oder eine Kombination davon sein kann. Daher können Funktionen und/oder spezifische Konfigurationen einer hierin beschriebenen Rechnerplattform 2100 in verschiedenen Ausführungsformen der Rechnerplattform 2100 enthalten sein oder fehlen, wie passend gewünscht wird.
  • Die Komponenten und Merkmale der Rechnerplattform 2100 können mit jeder Kombination von diskretem Schaltkreis, anwendungsspezifischen integrierten Schaltungen (ASICs), Logik-Gates und/oder Einzelchip-Architekturen implementiert werden. Ferner können die Merkmale der Rechnerplattform 2100 mit Mikrosteuerungen, programmierbaren Logik-Arrays und/oder Mikroprozessoren oder jeder Kombination der vorangehenden implementiert werden, wenn dies zweckdienlich ist. Es sollte festgehalten werden, dass Hardware-, Firmware- und/oder Software-Elemente gemeinsam oder einzeln hierin als ”Logik” oder ”Schaltung” bezeichnet werden können.
  • Es sollte klar sein, dass die beispielhafte Rechnerplattform 2100, die im Blockdiagramm von 21 dargestellt ist, ein funktionell beschreibendes Beispiel vieler möglicher Implementierungen darstellen kann. Daher bedeutet eine Teilung, Unterlassung oder Aufnahme von Blockfunktionen, die in den beiliegenden Figuren dargestellt sind, nicht, dass die Hardware-Komponenten, Schaltungen, Software und/oder Elemente zur Implementierung dieser Funktionen unbedingt in Ausführungsformen geteilt, unterlassen oder aufgenommen sind.
  • 22 zeigt eine beispielhafte Netz-I/O-Vorrichtung 2200. In einigen Beispielen, wie in 22 dargestellt, kann die Netz-I/O-Vorrichtung 2200 eine Verarbeitungskomponente 2240, andere Plattformkomponenten oder eine Kommunikationsschnittstelle 2260 enthalten. Gemäß einigen Beispielen kann die Netz-I/O-Vorrichtung 2200 in einer Netz-I/O-Vorrichtung implementiert sein, die an einen Server in einen System oder Datenzentrum wie oben erwähnt gekoppelt ist.
  • Gemäß einigen Beispielen kann die Verarbeitungskomponente 2240 Verarbeitungsoperationen oder eine Logik für die Vorrichtung 1100 und/oder das Datenspeichermedium 1300 ausführen. Die Verarbeitungskomponente 2240 kann verschiedene Hardware-Elemente, Software-Elementen oder eine Kombination von beiden enthalten. Beispiele für Hardware-Elemente können Vorrichtungen, Logik-Vorrichtungen, Komponenten, Prozessoren, Mikroprozessoren, Schaltungen, Prozessorschaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktoren und so weiter), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logik-Vorrichtungen (PLD), Digitalsignalprozessoren (DSP), feldprogrammierbares Gate Array (FPGA), Speichereinheiten, Logik-Gates, Register, Halbleitervorrichtung, Chips, Mikrochips, Chipsätze und so weiter enthalten. Beispiele für Software-Elemente können Software-Komponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Vorrichtungstreiber, Systemprogramme, Software-Entwicklungsprogramme, Maschinenprogramme, Betriebssystem-Software, Middleware-, Firmware-, Software-Module, Routinen, Subroutinen, Funktionen, Methoden, Prozeduren, Software-Schnittstellen, Anwendungsprogramm-Schnittstellen (API), Anweisungssätze, Rechner-Code, Computer-Code, Codesegmente, Computer-Codesegmente, Worte, Werte, Symbole oder jede Kombination davon enthalten. Die Bestimmung, ob ein Beispiel mit Hardware-Elementen und/oder Software-Elementen implementiert wird, kann mit einer Anzahl von Faktoren variieren, wie der gewünschten Rechnungsrate, Energieniveaus, Wärmetoleranzen, Verarbeitungszyklusbudget, Eingangsdatenraten, Ausgangsdatenraten, Arbeitsspeicherressourcen, Datenbusgeschwindigkeiten und anderen Design- oder Leistungseinschränkungen, wie für ein bestimmtes Beispiel gewünscht.
  • In einigen Beispielen können andere Plattformkomponenten 2250 allgemeine Rechnerelemente enthalten, wie einen oder mehrere Prozessoren, Mehrfachkern-Prozessoren, Co-Prozessoren, Speichereinheiten, Chipsätze, Steuerungen, periphere Geräte, Schnittstellen, Oszillatoren, Zeitgebervorrichtungen und so weiter enthalten. Beispiele für Speichereinheiten können ohne Einschränkung verschiedene Arten von computerlesbaren und maschinenlesbaren Datenspeichermedien in der Form einer oder mehrerer Speichereinheiten, wie ROM, RAM, DRAM, DDRAM, SDRAM, SRAM, PROM, EPROM, EEPROM, Flash-Speicher oder jede andere Art von Datenspeicher Medien enthalten, die zum Speichern von Informationen geeignet sind.
  • In einigen Beispielen, kann die Kommunikationsschnittstelle 2260 Logik und/oder Merkmale zur Unterstützung einer Kommunikationsschnittstelle enthalten. Für diese Beispiele kann die Kommunikationsschnittstelle 2260 eine oder mehrere Kommunikationsschnittstelle(n) enthalten, die nach verschiedenen Kommunikationsprotokollen oder Standards arbeiten, um über direkte oder Netzkommunikationsverbindungen zu kommunizieren. Direkte Kommunikationen können durch Verwendung von Kommunikationsprotokollen oder Standards erfolgen, die in einem oder mehreren Industriestandards (einschließlich Nachfolger und Varianten) beschrieben sind, wie jenen in Verbindung mit der PCI Express Spezifikation, der IPMI-Spezifikation oder der MCTP-Spezifikation. Netzkommunikationen können durch Verwendung von Kommunikationsprotokollen oder Standards wie jenen erfolgen, die in einem oder mehreren Ethernet-Standards wie IEEE 802.3 beschrieben sind.
  • Die Komponenten und Merkmalen der Netz-I/O-Vorrichtung 2200 können mit jeder Kombination von diskretem Schaltkreis, anwendungsspezifischen integrierten Schaltungen (ASICs), Logik-Gates und/oder Einzelchip-Architekturen implementiert werden. Ferner können die Merkmale der der Netz-I/O-Vorrichtung 2200 mit Mikrosteuerungen, programmierbaren Logik-Arrays und/oder Mikroprozessoren oder jeder Kombination der vorangehenden implementiert werden, wenn dies zweckdienlich ist. Es sollte festgehalten werden, dass Hardware-, Firmware- und/oder Software-Elemente gemeinsam oder einzeln hierin als ”Logik” oder ”Schaltung” bezeichnet werden können.
  • Es sollte klar sein, dass die beispielhafte Netz-I/O-Vorrichtung 2200, die im Blockdiagramm von 22 dargestellt ist, ein funktionell beschreibendes Beispiel vieler möglicher Implementierungen darstellen kann. Daher bedeutet eine Teilung, Unterlassung oder Aufnahme von Blockfunktionen, die in den beiliegenden Figuren dargestellt sind, nicht, dass die Hardware-Komponenten, Schaltungen, Software und/oder Elemente zur Implementierung dieser Funktionen unbedingt in Ausführungsformen geteilt, unterlassen oder aufgenommen sind.
  • Einer oder mehrere Aspekte mindestens eines Beispiels kann durch repräsentative Anweisungen implementiert werden, die auf mindestens einem maschinenlesbaren Medium gespeichert sind, das verschiedene Logiken im Prozessor darstellt, die, wenn sie von einer Maschine, einer Rechnervorrichtung oder einem System gelesen werden, die Maschine, die Rechnervorrichtung oder das System veranlassen, die Logik zur Durchführung der hierin beschriebenen Techniken zu fabrizieren. Solche Darstellungen, bekannt als ”IP Kerne”, können auf einem greifbaren maschinenlesbaren Medium gespeichert und verschiedenen Kunden oder Herstellungsanlagen zugeleitet werden, um in die Herstellungsmaschinen geladen zu werden, die eigentlich die Logik oder den Prozessor bilden.
  • Verschiedene Beispiele können mit Hardware-Elementen, Software-Elementen, oder einer Kombination von beiden implementiert werden. In einigen Beispielen können Hardware-Elemente Vorrichtungen, Logik-Vorrichtungen, Komponenten, Prozessoren, Mikroprozessoren, Schaltungen, Prozessorschaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktoren und so weiter), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logik-Vorrichtungen (PLD), Digitalsignalprozessoren (DSP), feldprogrammierbares Gate Array (FPGA), Speichereinheiten, Logik-Gates, Register, Halbleitervorrichtung, Chips, Mikrochips, Chipsätze und so weiter enthalten. In einigen Beispielen können Software-Elemente Software-Komponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Vorrichtungstreiber, Systemprogramme, Software-Entwicklungsprogramme, Maschinenprogramme, Betriebssystem-Software, Middleware-, Firmware-, Software-Module, Routinen, Subroutinen, Funktionen, Methoden, Prozeduren, Software-Schnittstellen, Anwendungsprogramm-Schnittstellen (API), Anweisungssätze, Rechner-Code, Computer-Code, Codesegmente, Computer-Codesegmente, Worte, Werte, Symbole oder jede Kombination davon enthalten. Die Bestimmung, ob ein Beispiel mit Hardware-Elementen und/oder Software-Elementen implementiert wird, kann mit einer Anzahl von Faktoren variieren, wie der gewünschten Rechnungsrate, Energieniveaus, Wärmetoleranzen, Verarbeitungszyklusbudget, Eingangsdatenraten, Ausgangsdatenraten, Arbeitsspeicherressourcen, Datenbusgeschwindigkeiten und anderen Design- oder Leistungseinschränkungen, wie für ein bestimmtes Beispiel gewünscht.
  • Einige Beispiele können einen Herstellungsartikel oder mindestens ein computerlesbares Medium enthalten. Ein computerlesbares Medium kann ein nicht transitorisches Datenspeichermedium zum Speichern der Logik enthalten. In einigen Beispielen kann das nicht transitorische Datenspeichermedium eine oder mehrere Arten von computerlesbaren Datenspeichermedien enthalten, die zum Speichern elektronischer Daten imstande sind, einschließlich flüchtiger Arbeitsspeicher oder nicht flüchtiger Arbeitsspeicher, entfernbarer oder nicht entfernbarer Arbeitsspeicher, löschbarer oder nicht löschbarer Arbeitsspeicher, beschreibbarer oder wieder beschreibbarer Arbeitsspeicher und so weiter. In einigen Beispielen kann die Logik verschiedene Software-Elemente, wie Software-Komponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystem-Software, Middleware-, Firmware-, Software-Module, Routinen, Subroutinen, Funktionen, Methoden, Prozeduren, Software-Schnittstellen, API, Anweisungssätze, Rechner-Code, Computer-Code, Codesegmente, Computer-Codesegmente, Worte, Werte, Symbole oder jede Kombination davon enthalten.
  • Gemäß einigen Beispielen kann ein computerlesbares Medium ein nicht transitorisches Datenspeichermedium zum Speichern oder Halten von Anweisungen enthalten, die, wenn sie von einer Maschine, eine Rechnervorrichtung oder einem System ausgeführt werden, die Maschine, die Rechnervorrichtung oder das System veranlassen, Verfahren und/oder Operationen gemäß den beschrieben Beispielen auszuführen. Die Anweisungen können jede geeignete Art von Code enthalten, wie Source-Code, kompilierten Code, interpretierten Code, ausführbaren Code, statischen Code, dynamischen Code und dergleichen. Die Anweisungen können gemäß einer vordefinierten Computersprache, Weise oder Syntax implementiert werden, um eine Maschine, Rechnervorrichtung oder ein System zu veranlassen, eine gewisse Funktion auszuführen. Die Anweisungen können mit jeder geeigneten hochwertigen, niederwertigen, objektorientierten, visuellen, kompilierten und/oder interpretierten Programmierungssprache implementiert werden.
  • Einige Beispiele können mit dem Ausdruck ”in einem Beispiel” oder ”ein Beispiel” gemeinsam mit ihren Ableitungen beschrieben sein. Diese Begriffe bedeuten, dass ein bestimmtes Merkmal, eine Struktur oder Eigenschaft, das bzw. die in Verbindung mit dem Beispiel beschrieben ist, in mindestens einem Beispiel enthalten ist. Das Vorkommen der Phrase ”in einem Beispiel” an verschiedenen Stellen in der Spezifikation bezieht sich nicht unbedingt immer auf dasselbe Beispiel.
  • Einige Beispiele können mit dem Ausdruck ”gekoppelt” und ”verbunden” gemeinsam mit ihren Ableitungen beschrieben sein. Diese Begriffe sind nicht unbedingt als Synonyme füreinander gedacht. Zum Beispiel können Beschreibungen, die die Begriff ”verbunden” und/oder ”gekoppelt” verwenden, angeben, dass zwei oder mehr Elemente in direktem physischen oder elektrischen Kontakt miteinander stehen. Der Begriff ”gekoppelt” kann jedoch auch bedeuteten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander stehen, aber dennoch zusammenwirken oder miteinander interagieren.
  • Es wird betont, dass die Zusammenfassung der Offenbarung so bereitgestellt ist, dass sie 37 C. F. R., Abschnitt 1.72(b), entspricht, wo verlangt wird, dass eine Zusammenfassung einem Leser ermöglicht, rasch die Art der technischen Offenbarung zu erkennen. Sie wird mit dem Wissen vorgelegt, dass sie nicht zur Interpretation oder Einschränkung des Umfangs oder der Bedeutung der Ansprüche verwendet wird. Zusätzlich ist in der vorangehenden ausführlichen Beschreibung erkennbar, dass verschiedene Merkmale zu einer Gruppe in einem einzigen Beispiel zusammengefasst sind, um die Offenbarung zu straffen. Diese Methode einer Offenbarung ist nicht so zu verstehen, dass die eine Absicht wiedergibt, dass die beanspruchten Beispiele mehr Merkmale erfordern als ausdrücklich in jedem Anspruch angegeben ist. Vielmehr, wie die folgenden Ansprüche zeigen, liegt der erfindungsgemäße Gegenstand in weniger als allen Merkmalen eines einzigen offenbarten Beispiels. Daher sind die folgenden Ansprüche hiermit in die ausführliche Beschreibung aufgenommen, wobei jeder Anspruch als separates Beispiel für sich steht. In den beiliegenden Ansprüchen werden die Begriffe ”enthaltend” und ”in welchen” als rein deutsche Äquivalente der entsprechenden Begriffe ”umfassend” bzw. ”worin” verwendet. Ferner werden die Begriffe ”erster”, ”zweiter”, ”dritter” und so weiter nur als Etiketten verwendet und sollen ihren Objekten keine numerischen Anforderungen auferlegen.
  • Gemäß einigen Beispielen kann eine beispielhafte erstes Vorrichtung einen Schaltkreis für eine Netzeingabe-/-ausgabevorrichtung. Die beispielhafte erste Vorrichtung kann auch Zeitstempelmodul enthalten, das vom Schaltkreis ausgeführt wird, um separate Zeitstempel an eintretenden Anforderungspaketen anzubringen, die für einen Server bestimmt sind, der an die Netzeingabe-/-ausgabevorrichtung gekoppelt ist, und separate Zeitstempel an austretenden Antwortpaketen anzubringen, die vom Server stammen. Die beispielhafte erste Vorrichtung kann auch ein Erfassungsmodul enthalten, das vom Schaltkreis ausgeführt wird, zum Erfassen von Abschnitten von separaten eintretenden Anforderungspaketen und Abschnitten von separaten austretenden Antwortpaketen. Die erfassten Abschnitte können die separat zeitgestempelten eintretenden Anforderungspakete und der separat zeitgestempelten austretenden Antwortpaketen identifizieren. Die beispielhafte erste Vorrichtung kann auch ein Weiterleitungsmodul enthalten, das vom Schaltkreis ausgeführt wird, um die erfassten Abschnitte mit entsprechenden Zeitstempeln zum Server weiterzuleiten.
  • In einigen Beispielen für die beispielhafte erste Vorrichtung, können die weitergeleiteten erfassten Abschnitte in Verbindung mit einer oder mehrere Transaktionen stehen. Eine bestimmte Transaktion kann ein bestimmtes eintretendes Anforderungspaket enthalten, das den Server veranlasst, ein bestimmtes austretendes Antwortpaket zu generieren. Der Schaltkreis, der beim Server gehalten wird, kann zum Bestimmen eines Transaktionslatenzwertes anhand des Zeitstempels angeordnet sein, der an den bestimmten eintretenden Anforderungs- und austretenden Antwortpaketen angebracht ist,
  • Gemäß einigen Beispielen für die beispielhafte erste Vorrichtung kann das Erfassungsmodul Abschnitte mit entsprechenden Zeitstempeln über ein bestimmtes Zeitintervall erfassen und des Weiterleitungsmodul kann zum Weiterleiten der erfassten Abschnitte mit entsprechenden Zeitstempeln am Ende des bestimmten Zeitintervalls angeordnet sein.
  • In einigen Beispielen für die beispielhafte erste Vorrichtung können die erfassten Abschnitte zum Server weitergeleitet werden, der beim Server gehalten wird. Der Schaltkreis, der beim Server gehalten wird, kann in einem Chipsatz enthalten sein. Das Weiterleitungsmodul kann die erfassten Abschnitte zum Schaltkreis, der beim Server gehalten wird, unter Verwendung eines Transportprotokolls das einer Spezifikation konform ist, die die Management Component Transportprotokoll (MCTP) Host Interface Specification enthält, weiterleiten.
  • Gemäß einigen Beispielen für die beispielhafte erste Vorrichtung, können die erfassten Abschnitte, die zum Schaltkreis weitergeleitet werden, beim Server gehalten werden. Der Schaltkreis, der beim Server gehalten wird, kann in einem Prozessor für den Server enthalten sein. Der Schaltkreis, der beim Server gehalten wird, kann ein Betriebssystem ausführen und ein Netzeingabe-/-ausgabevorrichtungstreiber kann als Teil des Betriebssystems implementiert sein. Das Weiterleitungsmodul kann die erfassten Abschnitte zum Schaltkreis, der beim Server gehalten wird, unter Verwendung eines Transportprotokolls, das mit einer Spezifikation konform ist, die die Management Component Transportprotokoll (MCTP) Host Interface Specification enthält, weitergeleitet werden.
  • In einigen Beispielen für die beispielhafte erste Vorrichtung können die die eintretenden Anforderungs- und die austretenden Antwortpakete Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblöcke haben. Die erfassten Abschnitte können Informationen aus TCP- und IP-Anfangsblöcken für die eintretenden Anforderungs- und austretenden Antwortpakete enthalten, Die Informationen können eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder einen Zielport enthalten.
  • Gemäß einigen Beispielen kann eine beispielhafte zweite Vorrichtung einen Schaltkreis für einen Server enthalten. Die beispielhafte zweite Vorrichtung kann auch ein Anforderungsmodul enthalten, das vom Schaltkreis ausgeführt wird, um zeitgestempelte Abschnitte von eintretenden Anforderungspaketen zu empfangen und die empfangenen zeitgestempelten Abschnitte der eintretenden Anforderungspakete in eine Transaktionstabelle einzufügen. Die beispielhafte zweite Vorrichtung kann auch ein Antwortmodul enthalten, das vom Schaltkreis ausgeführt wird, um zeitgestempelte Abschnitte von austretenden Antwortpaketen zu empfangen und die empfangenen zeitgestempelten Abschnitte der austretenden Antwortpakete in die Transaktionstabelle einzufügen. Die beispielhafte zweite Vorrichtung kann auch ein Abstimmungsmodul enthalten, das vom Schaltkreis ausgeführt wird, um zeitgestempelte Abschnitte von eintretenden Anforderungspaketen mit zeitgestempelten Abschnitten von austretenden Antwortpaketen, die in die Transaktionstabelle eingefügt sind, anhand von Informationen, die in den entsprechenden zeitgestempelten Abschnitten der eintretenden Anforderungs- und der austretenden Antwortpakete enthalten sind, abzustimmen. Die beispielhafte zweite Vorrichtung kann auch ein Latenzmodul enthalten, das vom Schaltkreis ausgeführt wird, um erste und zweite Zeitstempel für entsprechende abgestimmte zeitgestempelte Abschnitte von eintretenden Anforderungs- und austretenden Antwortpaketen zum Bestimmen von separaten Transaktionslatenzwerten für Transaktionen, die vom Server ausgeführt werden, zu verwenden.
  • In einigen Beispielen kann die beispielhafte zweite Vorrichtung ferner ein Meldungsmodul enthalten, das vom Schaltkreis ausgeführt wird, um Informationen in Verbindung mit den bestimmten separaten Transaktionslatenzwerten zu einer Managementlogik zu melden, die zum Verwalten mehrerer Server konfiguriert ist.
  • Gemäß einigen Beispielen für die beispielhafte zweite Vorrichtung, kann die beispielhafte zweite Vorrichtung ferner ein Korbmodul enthalten, das vom Schaltkreis ausgeführt wird, um die bestimmten separaten Transaktionslatenzwerte in mehreren Körben zu sammeln. Jeder Korb kann mit einer inkrementierten Zeitdifferenz verbunden und zum Halten eines oder mehrerer der separat bestimmten Transaktionslatenzwerte anhand einer Nähe der entsprechenden separat bestimmten Transaktionslatenzwerte zu einer bestimmten inkrementierten Zeitdifferenz konfiguriert sein. Jede inkrementierte Zeitdifferenz kann auf einer Zeitspanne zwischen einem niedrigsten bestimmten Transaktionslatenzwert und einem höchsten bestimmten Transaktionslatenzwert von den bestimmten separaten Transaktionslatenzwerten beruhen, die über ein vorangehendes Zeitintervall gesammelt wurden. Die zweite Vorrichtung kann auch ein Sortierungsmodul enthalten, das vom Schaltkreis ausgeführt wird, zum Bestimmen, welcher Korb von den mehreren Körben einen bestimmten n. Perzentil Transaktionslatenzwert enthält, wobei n gleich einer beliebigen positiven ganzen Zahl kleiner gleich 100 ist. Das Sortierungsmodul kann den Korb sortieren, der den bestimmten n. Perzentil Transaktionslatenzwert enthält, um einen gegebenen Transaktionslatenzwert zu bestimmen, der gleich dem bestimmten n. Perzentil Transaktionslatenzwert ist. Das Sortierungsmodul kann den gegebenen Transaktionslatenzwert dem Meldungsmodul bereitstellen. Das Meldungsmodul kann den bestimmten Transaktionslatenzwert in den Informationen enthalten, die der Managementlogik gemeldet werden.
  • In einigen Beispielen für die beispielhafte zweite Vorrichtung kann der bestimmte n. Perzentil Transaktionslatenzwert n gleich 95 enthalten und der gegebene Transaktionslatenzwert kann einen Wert größer oder gleich 95% der separat bestimmten Transaktionslatenzwerte haben, die in den mehreren Körben über das aktuelle Zeitintervall gesammelt wurden.
  • Gemäß einigen Beispielen für die beispielhafte zweite Vorrichtung können die mehreren Körbe in einem Arbeitsspeicher für den Server gehalten werden. Der Arbeitsspeicher kann einen von einem dynamischen Direktzugriffsspeicher oder statischen Direktzugriffsspeicher enthalten.
  • In einigen Beispielen für die beispielhafte zweite Vorrichtung kann der Schaltkreis für den Server bei einem Chipsatz für den Server gehalten werden.
  • Gemäß einigen Beispielen für die beispielhafte zweite Vorrichtung kann der Schaltkreis für den Server, der in einem Prozessor für den Server enthalten ist, zum Ausführen eines Betriebssystems für den Server angeordnet sein. Das Abstimmungsmodul, das Latenzmoduls und das Meldungsmodul können in einem Netzeingabe-/-ausgabevorrichtungstreiber enthalten sein, der als Teil des Betriebssystems implementiert ist.
  • In einigen Beispielen für die beispielhafte zweite Vorrichtung kann das Latenzmodul abgestimmte zeitgestempelte Abschnitte von eintretenden Anforderungspaketen löschen und abgestimmte zeitgestempelte Abschnitte von austretenden Anforderungspaketen aus der Transaktionstabelle nach der Bestimmung der separaten Transaktionslatenzwerte anhand der abgestimmten zeitgestempelten Abschnitte von eintretenden Anforderungs- und austretenden Antwortpaketen löschen.
  • Gemäß einigen Beispielen für die beispielhafte zweite Vorrichtung, können die die empfangenen zeitgestempelten Abschnitte von eintretenden Anforderungs- und austretenden Antwortpaketen Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblockinformationen enthalten. Die TCP und IP Anfangsblockinformationen können eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder einen Zielport enthalten.
  • In einigen Beispielen kann ein beispielhaftes erstes Verfahren das Bestimmen, an der Managementlogik für ein Datenzentrum, eines durchschnittlichen Kanal-Transaktionslatenzwerts für einen ersten Netzkommunikationskanal über eine erste Zeitperiode enthalten. Der erste Netzkommunikationskanal kann einen ersten Server an einen zweiten Server koppeln. Der der durchschnittliche Kanal-Transaktionslatenzwert kann anhand eines ersten durchschnittlichen Transaktionslatenzwerts für einen ersten Satz von Transaktionen, die bei dem ersten Server beobachtet werden, und eines zweiten durchschnittlichen Transaktionslatenzwertes für den ersten Satz von Transaktionen, die beim zweiten Server beobachtet werden, bestimmt werden. Das beispielhafte erste Verfahren kann auch das Bestimmen eines durchschnittlichen Server-Transaktionslatenzwerts für den ersten Server über die erste Zeitperiode enthalten. Der durchschnittliche Server-Transaktionslatenzwert kann anhand eines dritten durchschnittlichen Transaktionslatenzwerts für eingehende Anforderungen, die beim ersten Server empfangen werden, eines vierten durchschnittlichen Transaktionslatenzwerts für ausgehende Anforderungen an einen oder mehrere Server, die den zweiten Server enthalten, und einer Gesamtanzahl der eingehenden Anforderungen, die beim ersten Server in der ersten Zeitperiode empfangen werden, bestimmt werden. Das beispielhafte erste Verfahren kann auch das Generieren einer topologischen Grafik, die die durchschnittliche Kanal-Transaktionslatenz für den ersten Netzkommunikationskanal und den durchschnittlichen Server-Transaktionslatenzwert für den ersten Server zeigt, enthalten. Das beispielhafte erste Verfahren kann auch das Aktualisieren der topologischen Grafik nach einer zweiten Zeitperiode enthalten. Die aktualisierte topologische Grafik kann einen aktualisierten durchschnittlichen Kanaltransaktionslatenzwert für den ersten Netzkommunikationskanal zeigen, der über die zweite Zeitperiode bestimmt wurde, und einen aktualisierten durchschnittlichen Server-Transaktionslatenzwert für den ersten Server, der auch über die zweite Zeitperiode bestimmt wurde.
  • Gemäß einigen Beispielen für das beispielhafte erste Verfahren kann das Bestimmen des durchschnittlichen Kanaltransaktionslatenzwerts für den ersten Netzkommunikationskanal auf einer Differenz zwischen dem ersten durchschnittlichen Transaktionslatenzwert und dem zweiten durchschnittlichen Transaktionslatenzwert beruhen.
  • In einigen Beispielen für das beispielhafte erste Verfahren kann das Bestimmen des durchschnittlichen Server-Transaktionslatenzwertes für den ersten Server auf einer Differenz zwischen dem dritten durchschnittlichen Transaktionslatenzwert und dem vierten durchschnittlichen Transaktionslatenzwert und dann Dividieren der Differenz durch die Gesamtanzahl der eingehenden Anforderungen, die beim ersten Server über die erste Zeitperiode empfangen werden, beruhen.
  • Gemäß einigen Beispielen für das beispielhafte erste Verfahren, können der erste Server und der zweite Server separat ein oder mehrere Netzeingabe-/-ausgabevorrichtungen enthalten, um sowohl eintretende Anforderungspaketen wie auch austretende Antwortpakete mit Zeitstempeln zu versehen und Abschnitte separater zeitgestempelter eintretender Anforderungs- und austretender Antwortpakete zu sammeln, um dem ersten und zweiten Server zu ermöglichen, separate Transaktionen zu identifizieren und separate Transaktionslatenzwerte für die identifizierten separaten Transaktionen zu bestimmen.
  • In einigen Beispielen für das beispielhafte erste Verfahren, können die eintretenden Anforderungs- und die austretenden Antwortpakete in Verbindung mit den identifizierten separaten Transaktionen Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblöcke haben. Die gesammelten Abschnitte der separat zeitgestempelten eintretenden Anforderungs- und austretenden Antwortpakete können Informationen aus TCP- und IP-Anfangsblöcken für die eintretenden Anforderungs- und austretenden Antwortpakete in Verbindung mit den identifizierten separaten Transaktionen haben. Die Informationen können eine IP-Quellenadresse, eine Ziel-IP Adresse, einen Quellport oder einen Zielport enthalten.
  • Gemäß einigen Beispielen umfasst mindestens ein maschinenlesbares Medium mehrere Anweisungen, die infolge ihrer Ausführung in einem System das System veranlassen, das beispielhafte erste Verfahren wie oben erwähnt auszuführen.
  • In einigen Beispielen kann ein beispielhaftes zweites Verfahren bei der Managementlogik für ein Datenzentrum das Empfangen von Transaktionslatenzwerten von mehreren Servern, die im Datenzentrum enthalten sind, als Reaktion auf eine abfragende Anforderung an die mehreren Server von der Managementlogik enthalten. Das beispielhafte zweite Verfahren kann auch einen Vergleich der empfangenen Transaktionslatenzwerte mit Zieltransaktionslatenzwerten in Verbindung mit den mehreren Servern und Diensten, die durch die mehreren Server bereitgestellt werden enthalten. Das beispielhafte zweite Verfahren kann auch das Generieren eines Alarms auf der Basis eines ersten Servers von den mehreren Servern, der einen ersten Dienst mit einem Transaktionslatenzwert für den ersten Dienst bereitstellt, der einen gegebenen Zieltransaktionslatenzwert übersteigt, enthalten. Das beispielhafte zweite Verfahren kann auch das Senden des Alarms zu einer Managementkonsole enthalten, die zum Überwachen der Leistung der mehreren Server konfiguriert ist. Der Alarm kann den gegebenen Zieltransaktionslatenzwert anzeigen, der überschritten wurde, kann den ersten Server identifizieren oder kann den ersten Dienst identifizieren.
  • Gemäß einigen Beispielen für das beispielhafte zweite Verfahren können die mehreren Server mindestens eine Netzeingabe-/-ausgabevorrichtung zum Zeitstempeln sowohl eintretender Anforderungspakete wie auch austretender Antwortpakete enthalten. Die mindestens eine Netzeingabe-/-ausgabevorrichtung kann auch Abschnitte von separat zeitgestempelten eintretenden Anforderungs- und austretenden Antwortpaketen sammeln, um den mehreren Servern die Identifizierung separater Transaktionen in Verbindung mit Diensten zu ermöglichen, die von den mehreren Servern bereitgestellt werden, und auch den mehreren Servern die Bestimmung separater Transaktionslatenzwerte für die identifizierten separaten Transaktionen in Verbindung mit entsprechenden Diensten zu ermöglichen.
  • In einigen Beispielen für das beispielhafte zweite Verfahren können die eintretenden Anforderungs- und die austretenden Antwortpakete mit den identifizierten separaten Transaktionen bei den mehreren Servern verbunden werden, die Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblöcke aufweisen. Die gesammelten Abschnitte der separat zeitgestempelten eintretenden Anforderungs- und austretenden Antwortpakete können Informationen von TCP- und IP-Anfangsblöcken für die eintretenden Anforderungs- und austretenden Antwortpakets in Verbindung mit den identifizierten Transaktionen in Verbindung mit entsprechenden Diensten enthalten. Die Informationen können eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder einen Zielport enthalten.
  • Gemäß einigen Beispielen für das beispielhafte zweite Verfahren kann der erste Server anhand einer IP-Zieladresse identifiziert werden, die in gesammelten Abschnitten separat zeitgestempelter austretender Antwortpaketen in Verbindung mit separaten Transaktionen in Verbindung mit dem ersten Dienst enthalten ist. Der erste Dienst kann anhand eines Zielports identifiziert werden, der in den gesammelten Abschnitten der separat zeitgestempelten austretenden Antwortpakete enthalten ist.
  • In einigen Beispielen für das beispielhafte zweite Verfahren können die Transaktionslatenzwerte von den mehreren Servern empfangen werden, die mindestens einen von einem gleitenden Transaktionslatenzdurchschnittswert oder einem 95. Perzentil Transaktionslatenzwert für jeden Server aus den mehreren Servern enthalten.
  • Gemäß einigen Beispielen mindestens ein maschinenlesbares Medium, umfassend mehrere Anweisungen, die als Reaktion auf die Ausführung in einem System das System veranlassen, das beispielhafte zweite Verfahren wie oben erwähnt auszuführen.
  • In einigen Beispielen kann das beispielhafte dritte Verfahren auch bei einer Managementlogik für ein Datenzentrum das Empfangen von Transaktionslatenzwerten von mehreren physischen Servern enthalten. Jeder physische Server kann imstande sein, einen oder mehrere virtuelle Server zu unterstützen. Die Transaktionslatenzwerte können als Reaktion auf eine abfragende Anforderung von der Managementlogik empfangen werden. Das beispielhafte dritte Verfahren kann auch das Bestimmen einer verfügbare Kapazität jedes physischen Servers von den mehreren physischen Server enthalten, um einen oder mehrere zusätzliche virtuelle Server auf der Basis, zumindest teilweise, der empfangenen Transaktionslatenzwerte zu unterstützen. Das beispielhafte dritte Verfahren kann auch das Zuordnen eines neuen virtuellen Servers zu einem ersten physischen Server aus den mehreren physischen Servern anhand des ersten physischen Servers mit einer höchsten bestimmten Kapazität zur Unterstützung eines oder mehrerer zusätzlicher virtueller Server im Vergleich zu anderen physischen Servern von den mehreren physischen Servern enthalten.
  • Gemäß einigen Beispielen kann das beispielhafte dritte Verfahren auch das Bestimmen anhand zumindest teilweise der empfangenen Transaktionslatenzwerte enthalten, dass einem zweiten physischen Server von den mehreren physischen Servern die Kapazität fehlt, einen bestehenden ersten virtuellen Server zu unterstützen. Das beispielhafte dritte Verfahren kann auch ein Verschieben des bestehenden ersten virtuellen Servers zu einem dritten physischen Server von den mehreren physischen Servern auf der Basis des dritten physischen Servers mit verfügbarer Kapazität zum Unterstützen des bestehenden ersten virtuellen Servers enthalten.
  • In einigen Beispielen für das beispielhafte dritte Verfahren können die mehreren physischen Server separat eine Netzeingabe-/-ausgabevorrichtung zum Zeitstempeln sowohl eintretender Anforderungspakete wie auch austretender Antwortpakete für unterstützte virtuelle Server enthalten. Die Netzeingabe-/-ausgabevorrichtung kann auch Abschnitte separat zeitgestempelter eintretender Anforderungs- und austretender Antwortpakete sammeln, um den mehreren physischen Servern die Identifizierung separater Transaktionen in Verbindung mit unterstützten virtuellen Server zu ermöglichen und auch den mehreren physischen Servern die Bestimmung separater Transaktionslatenzwerte für die identifizierten separaten Transaktionen in Verbindung mit entsprechenden unterstützten virtuellen Servern zu ermöglichen.
  • Gemäß einigen Beispielen für das beispielhafte dritte Verfahren können die eintretenden Anforderungs- und die austretenden Antwortpakete in Verbindung mit den identifizierten separaten Transaktionen Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblöcke aufweisen. Die gesammelten Abschnitte von den separat zeitgestempelten eintretenden Anforderungs- und austretenden Antwortpaketen können Informationen von TCP- und IP-Anfangsblöcken für die eintretenden Anforderungs- und austretenden Antwortpakete in Verbindung mit den identifizierten separaten Transaktionen enthalten. Die Informationen können eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder einen Zielport enthalten.
  • Gemäß einigen Beispielen mindestens ein maschinenlesbares Medium, umfassend mehrere Anweisungen, die als Reaktion auf die Ausführung in einem System das System veranlassen, das beispielhafte dritte Verfahren wie oben erwähnt auszuführen.
  • Gemäß einigen Beispielen kann eine beispielhafte drittes Vorrichtung einen Schaltkreis für einen Server enthalten. Die beispielhafte dritte Vorrichtung kann auch ein Latenzmodul, das vom Schaltkreis ausgeführt wird, zum Bestimmen von Transaktionslatenzwerten anhand von zeitgestempelten Abschnitten von eintretenden Anforderungspaketen, die auf zeitgestempelte Abschnitte von austretenden Antwortpaketen abgestimmt sind enthalten, die von einer Netzeingabe-/-ausgabevorrichtung empfangen werden, die an den Server gekoppelt ist. Die beispielhafte dritte Vorrichtung kann auch ein Leistungsmodul enthalten, das vom Schaltkreis ausgeführt wird, um zu bewirken, dass eine Energiemenge, die dem Server bereitgestellt wird, anhand eines Vergleichs von Transaktionslatenzwerten, die vom Latenzmodul bestimmt werden, auf einen bestimmten Transaktionslatenzzielwert eingestellt wird.
  • In einigen Beispielen für die beispielhafte dritte Vorrichtung kann der Schaltkreis für den Server bei einem Chipsatz für den Server gehalten werden. Das Latenzmodul kann als Teil einer Manageability Engine am Chipsatz enthalten sein. Das Leistungsmodul kann als Teil eines Leistungsknotenmanagers am Chipsatz enthalten sein.
  • Gemäß einigen Beispielen für die beispielhafte dritte Vorrichtung können die eintretenden Anforderungs- und die austretenden Antwortpakete in Verbindung mit den zeitgestempelten Abschnitten von eintretenden Anforderungs- und austretenden Antwortpaketen stehen, die separat von der Netzeingabe-/-ausgabevorrichtung empfangen werden, die Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblöcke aufweist. Die zeitgestempelten Abschnitte von eintretenden Anforderungs- und austretenden Antwortpaketen können TCP- und IP-Anfangsblockinformationen von entsprechenden TCP- und IP-Anfangsblöcken für die eintretenden Anforderungs- und die austretenden Antwortpakete enthalten. Die TCP- und IP-Anfangsblockinformationen können eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder einen Zielport enthalten.
  • In einigen Beispielen kann das beispielhafte vierte Verfahren das Empfangen zeitgestempelter Abschnitte von eintretenden Anforderungspaketen von einer Netzeingabe-/-ausgabevorrichtung, die an den Server gekoppelt ist, und das Einfügen der empfangenen zeitgestempelten Abschnitte der eintretenden Anforderungspakete in eine Transaktionstabelle enthalten. Das beispielhafte vierte Verfahren kann auch das Empfangen zeitgestempelter Abschnitte austretender Antwortpakete von der Netzeingabe-/-ausgabevorrichtung und das Einfügen der empfangenen zeitgestempelten Abschnitte von austretenden Antwortpaketen in die Transaktionstabelle enthalten. Das beispielhafte vierte Verfahren kann auch das Abstimmen von zeitgestempelten Abschnitten von eintretenden Anforderungspaketen mit zeitgestempelten Abschnitten von austretenden Antwortpaketen, die in die Transaktionstabelle eingefügt sind, anhand von Informationen enthalten, die mit entsprechenden zeitgestempelten Abschnitten der eintretenden Anforderungs- und der austretenden Antwortpaketen enthalten sind. Das beispielhafte vierte Verfahren kann auch das Verwenden von ersten und zweiten Zeitstempeln für entsprechende abgestimmte zeitgestempelte Abschnitte von eintretenden Anforderungs- und austretenden Antwortpaketen enthalten, um separate Transaktionslatenzwerte für Transaktionen, die vom Server ausgeführt werden, als Reaktion auf separate eintretende Anforderungspakete, und vom Server fertiggestellt werden, wie durch separate austretende Antwortpakete angezeigt ist, enthalten.
  • Gemäß einigen Beispielen kann das beispielhafte vierte Verfahren auch das Sammeln der bestimmten separaten Transaktionslatenzwerte in mehreren Körben enthalten. Jeder Korb kann mit einer inkrementierten Zeitdifferenz verbunden und zum Halten eines oder mehrerer der separat bestimmten Transaktionslatenzwerte anhand einer Nähe entsprechender separat bestimmter Transaktionslatenzwerte zu einer bestimmten inkrementierten Zeitdifferenz konfiguriert sein. Jede inkrementierte Zeitdifferenz kann auf einer Zeitspanne zwischen einem niedrigsten bestimmten Transaktionslatenzwert und einem höchsten bestimmten Transaktionslatenzwert aus den bestimmten separaten Transaktionslatenzwerten beruhen, die über ein vorangehendes Intervall gesammelt wurden. Das beispielhafte vierte Verfahren kann auch das Bestimmen enthalten, welcher Korb aus den mehreren Körben einen bestimmten n. Perzentil Transaktionslatenzwert enthält, wobei n gleicher einer positiven ganzen Zahl kleiner 100 ist. Das beispielhafte vierte Verfahren kann auch das Sortieren des Korbs, der den bestimmten n. Perzentil Transaktionslatenzwert enthält, zum Bestimmen eines gegebenen Transaktionslatenzwerts enthalten, der gleich dem bestimmten n. Perzentil Transaktionslatenzwert ist.
  • In einigen Beispielen für das beispielhafte vierte Verfahren können die zeitgestempelten Abschnitte von eintretenden Anforderungs- und austretenden Antwortpaketen, die von der Netzeingabe-/-ausgabevorrichtung empfangen werden, Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblockinformationen enthalten. Die TCP- und IP-Anfangsblockinformationen können eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder einen Zielport enthalten.
  • Gemäß einigen Beispielen mindestens ein maschinenlesbares Medium, umfassend mehrere Anweisungen, die als Reaktion auf die Ausführung in einem System das System veranlassen, das beispielhafte vierte Verfahren wie oben erwähnt auszuführen.
  • Obwohl der Gegenstand in einer Sprache beschrieben wurde, die für strukturelle Merkmale und/oder methodologische Vorgänge spezifisch ist, ist klar, dass der in den beiliegenden Ansprüchen definierte Gegenstand nicht unbedingt auf die spezifischen Merkmale oder Vorgänge wie oben beschrieben beschränkt ist. Vielmehr sind die spezifischen, oben beschriebenen Merkmale und Vorgänge als beispielhafte Formen zur Implementierung der Ansprüche offenbart.

Claims (35)

  1. Vorrichtung, umfassend: einen Schaltkreis für eine Netzeingabe-/-ausgabevorrichtung; ein Zeitstempelmodul, das vom Schaltkreis ausgeführt wird, um separate Zeitstempel an eintretenden Anforderungspaketen anzubringen, die für einen Server bestimmt sind, der an die Netzeingabe-/-ausgabevorrichtung gekoppelt ist, und separate Zeitstempel an austretenden Antwortpaketen anzubringen, die vom Server stammen; ein Erfassungsmodul, das vom Schaltkreis ausgeführt wird, zum Erfassen von Abschnitten von separaten eintretenden Anforderungspaketen und Abschnitten von separaten austretenden Antwortpaketen, wobei die erfassten Abschnitte zum Identifizieren der separat zeitgestempelten eintretenden Anforderungspakete und der separat zeitgestempelten austretenden Antwortpaketen dienen; und ein Weiterleitungsmodul, das vom Schaltkreis ausgeführt wird, um die erfassten Abschnitte mit entsprechenden Zeitstempeln zum Server weiterzuleiten.
  2. Vorrichtung nach Anspruch 1, umfassend die weitergeleiteten erfassten Abschnitte in Verbindung mit einer oder mehrere Transaktionen, wobei eine bestimmte Transaktion ein bestimmtes eintretendes Anforderungspaket enthält, das den Server veranlasst, ein bestimmtes austretendes Antwortpaket zu generieren, wobei der Schaltkreis, der beim Server gehalten wird, zum Bestimmen eines Transaktionslatenzwertes anhand des Zeitstempels angeordnet ist, der an den bestimmten eintretenden Anforderungs- und austretenden Antwortpaketen angebracht ist.
  3. Vorrichtung nach Anspruch 1, umfassend das Erfassungsmodul zum Erfassen von Abschnitten mit entsprechenden Zeitstempeln über ein bestimmtes Zeitintervall und das Weiterleitungsmodul, das zum Weiterleiten der erfassten Abschnitte mit entsprechenden Zeitstempeln am Ende des bestimmten Zeitintervalls angeordnet ist.
  4. Vorrichtung nach Anspruch 1, wobei die erfassten Abschnitte mit entsprechenden Zeitstempeln, die zum Server weitergeleitet werden, die erfassten Abschnitte, die zum Schaltkreis weitergeleitet wurden, der beim Server gehalten wird, umfassen, wobei der Schaltkreis, der beim Server gehalten wird, in einem Chipsatz enthalten ist, wobei das Weiterleitungsmodul die erfassten Abschnitte zum Schaltkreis, der beim Server gehalten wird, unter Verwendung eines Transportprotokolls, das mit einer Spezifikation konform ist, die die Management Component Transportprotokoll (MCTP) Host Interface Specification enthält, weitergeleitet werden.
  5. Vorrichtung nach Anspruch 1, wobei die erfassten Abschnitte mit entsprechenden Zeitstempeln, die zum Server weitergeleitet werden, die erfassten Abschnitte umfassen, die zum Schaltkreis weitergeleitet werden, der beim Server gehalten wird, zum Schaltkreis, der beim Server gehalten wird, der in einem Prozessor für den Server enthalten ist, zum Schaltkreis, der beim Server gehalten wird, um ein Betriebssystem und einen Netzeingabe-/-ausgabevorrichtungstreiber auszuführen, der als Teil des Betriebssystems implementiert ist, zum Weiterleitungsmodul zum Weiterleiten der erfassten Abschnitte zum Schaltkreis, der beim Server gehalten wird, unter Verwendung eines Transportprotokolls das einer Spezifikation konform ist, die die Management Component Transportprotokoll (MCTP) Host Interface Specification enthält.
  6. Vorrichtung nach Anspruch 1, umfassend die eintretenden Anforderungs- und die austretenden Antwortpakete mit Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblöcken, wobei die erfassten Abschnitte Informationen aus TCP- und IP-Anfangsblöcken für die eintretenden Anforderungs- und austretenden Antwortpakete enthalten, wobei die Informationen eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder einen Zielport enthalten.
  7. Vorrichtung, umfassend: einen Schaltkreis für einen Server; ein Anforderungsmodul, das vom Schaltkreis ausgeführt wird, um zeitgestempelte Abschnitte von eintretenden Anforderungspaketen zu empfangen und die empfangenen zeitgestempelten Abschnitte der eintretenden Anforderungspakete in eine Transaktionstabelle einzufügen; ein Antwortmodul, das vom Schaltkreis ausgeführt wird, um zeitgestempelte Abschnitte von austretenden Antwortpaketen zu empfangen und die empfangenen zeitgestempelten Abschnitte der austretenden Antwortpakete in die Transaktionstabelle einzufügen; ein Abstimmungsmodul, das vom Schaltkreis ausgeführt wird, um zeitgestempelte Abschnitte von eintretenden Anforderungspaketen mit zeitgestempelten Abschnitten von austretenden Antwortpaketen, die in die Transaktionstabelle eingefügt sind, anhand von Informationen, die in den entsprechenden zeitgestempelten Abschnitten der eintretenden Anforderungs- und der austretenden Antwortpakete enthalten sind, abzustimmen; und ein Latenzmodul, das vom Schaltkreis ausgeführt wird, um erste und zweite Zeitstempel für entsprechende abgestimmte zeitgestempelte Abschnitte von eintretenden Anforderungs- und austretenden Antwortpaketen zum Bestimmen von separaten Transaktionslatenzwerten für Transaktionen, die vom Server ausgeführt werden, zu verwenden.
  8. Vorrichtung nach Anspruch 7, umfassend: ein Meldungsmodul, das vom Schaltkreis ausgeführt wird, um Informationen in Verbindung mit den bestimmten separaten Transaktionslatenzwerten zu einer Managementlogik zu melden, die zum Verwalten mehrerer Server konfiguriert ist.
  9. Vorrichtung nach Anspruch 8, umfassend: ein Korbmodul, das vom Schaltkreis ausgeführt wird, um die bestimmten separaten Transaktionslatenzwerte in mehreren Körben zu sammeln, wobei jeder Korb mit einer inkrementierten Zeitdifferenz verbunden und zum Halten eines oder mehrerer der separat bestimmten Transaktionslatenzwerte anhand einer Nähe der entsprechenden separat bestimmten Transaktionslatenzwerte zu einer bestimmten inkrementierten Zeitdifferenz konfiguriert ist, wobei jede inkrementierte Zeitdifferenz auf einer Zeitspanne zwischen einem niedrigsten bestimmten Transaktionslatenzwert und einem höchsten bestimmten Transaktionslatenzwert von den bestimmten separaten Transaktionslatenzwerten beruht, die über ein vorangehendes Zeitintervall gesammelt wurden; und ein Sortierungsmodul, das vom Schaltkreis ausgeführt wird, zum Bestimmen, welcher Korb von den mehreren Körben einen bestimmten n. Perzentil Transaktionslatenzwert enthält, wobei n gleich einer beliebigen positiven ganzen Zahl kleiner gleich 100 ist, wobei das Sortierungsmodul den Korb sortiert, der den bestimmten n. Perzentil Transaktionslatenzwert enthält, um einen gegebenen Transaktionslatenzwert zu bestimmen, der gleich dem bestimmten n. Perzentil Transaktionslatenzwert ist, wobei das Sortierungsmodul den gegebenen Transaktionslatenzwert dem Meldungsmodul bereitstellt, wobei das Meldungsmodul den bestimmten Transaktionslatenzwert in den Informationen enthält, die der Managementlogik gemeldet werden.
  10. Vorrichtung nach Anspruch 9, wobei der bestimmte n. Perzentil Transaktionslatenzwert n gleich 95 umfasst und der gegebene Transaktionslatenzwert einen Wert größer oder gleich 95% der separat bestimmten Transaktionslatenzwerte hat, die in den mehreren Körben über das aktuelle Zeitintervall gesammelt wurden.
  11. Vorrichtung nach Anspruch 9, umfassend die mehreren Körbe, die in einem Arbeitsspeicher für den Server gehalten werden, wobei der Arbeitsspeicher einen von einem dynamischen Direktzugriffsspeicher oder statischen Direktzugriffsspeicher enthält.
  12. Vorrichtung nach Anspruch 7, umfassend den Schaltkreis für den Server, der bei einem Chipsatz für den Server gehalten wird.
  13. Vorrichtung nach Anspruch 8, umfassend den Schaltkreis für den Server, der in einem Prozessor für den Server enthalten ist, angeordnet zum Ausführen eines Betriebssystems für den Server, wobei das Abstimmungsmodul, das Latenzmodul und das Meldungsmodul in einem Netzeingabe-/-ausgabevorrichtungstreiber enthalten sind, der als Teil des Betriebssystems implementiert ist.
  14. Vorrichtung nach Anspruch 7, umfassend das Latenzmodul zum Löschen von abgestimmten zeitgestempelten Abschnitten von eintretenden Anforderungspaketen und Löschen von abgestimmten zeitgestempelten Abschnitte von austretenden Anforderungspaketen aus der Transaktionstabelle nach der Bestimmung der separaten Transaktionslatenzwerte anhand der abgestimmten zeitgestempelten Abschnitte von eintretenden Anforderungs- und austretenden Antwortpaketen.
  15. Vorrichtung nach Anspruch 7, wobei die empfangenen zeitgestempelten Abschnitte von eintretenden Anforderungs- und austretenden Antwortpaketen Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblockinformationen umfassen, wobei die TCP und IP Anfangsblockinformationen eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder einen Zielport enthalten.
  16. Verfahren, umfassend: Bestimmen, an der Managementlogik für ein Datenzentrum, eines durchschnittlichen Kanal-Transaktionslatenzwerts für einen ersten Netzkommunikationskanal über eine erste Zeitperiode, wobei der erste Netzkommunikationskanal einen ersten Server an einen zweiten Server koppelt, wobei der durchschnittliche Kanal-Transaktionslatenzwert anhand eines ersten durchschnittlichen Transaktionslatenzwerts für einen ersten Satz von Transaktionen, die bei dem ersten Server beobachtet werden, und eines zweiten durchschnittlichen Transaktionslatenzwertes für den ersten Satz von Transaktionen, die beim zweiten Server beobachtet werden, bestimmt wird; Bestimmen eines durchschnittlichen Server-Transaktionslatenzwerts für den ersten Server über die erste Zeitperiode, wobei der durchschnittliche Server-Transaktionslatenzwert anhand eines dritten durchschnittlichen Transaktionslatenzwerts für eingehende Anforderungen, die beim ersten Server empfangen werden, eines vierten durchschnittlichen Transaktionslatenzwerts für ausgehende Anforderungen an einen oder mehrere Server, die den zweiten Server enthalten, und einer Gesamtanzahl der eingehenden Anforderungen, die beim ersten Server in der ersten Zeitperiode empfangen werden, bestimmt wird; Generieren einer topologischen Grafik, die die durchschnittliche Kanal-Transaktionslatenz für den ersten Netzkommunikationskanal und den durchschnittlichen Server-Transaktionslatenzwert für den ersten Server zeigt; und Aktualisieren der topologischen Grafik nach einer zweiten Zeitperiode, wobei die aktualisierte topologische Grafik einen aktualisierten durchschnittlichen Kanaltransaktionslatenzwert für den ersten Netzkommunikationskanal zeigt, der über die zweite Zeitperiode bestimmt wurde, und einen aktualisierten durchschnittlichen Server-Transaktionslatenzwert für den ersten Server, der auch über die zweite Zeitperiode bestimmt wurde.
  17. Verfahren nach Anspruch 16, umfassend das Bestimmen des durchschnittlichen Kanaltransaktionslatenzwerts für den ersten Netzkommunikationskanal auf der Basis einer Differenz zwischen dem ersten durchschnittlichen Transaktionslatenzwert und dem zweiten durchschnittlichen Transaktionslatenzwert.
  18. Verfahren nach Anspruch 16, umfassend das Bestimmen des durchschnittlichen Server-Transaktionslatenzwertes für den ersten Server auf der Basis einer Differenz zwischen dem dritten durchschnittlichen Transaktionslatenzwert und dem vierten durchschnittlichen Transaktionslatenzwert und dann Dividieren der Differenz durch die Gesamtanzahl der eingehenden Anforderungen, die beim ersten Server über die erste Zeitperiode empfangen werden.
  19. Verfahren nach Anspruch 16, umfassend den ersten Server und den zweiten Server, die separat ein oder mehrere Netzeingabe-/-ausgabevorrichtungen enthalten, um sowohl eintretende Anforderungspaketen wie auch austretende Antwortpakete mit Zeitstempeln zu versehen und Abschnitte separater zeitgestempelter eintretender Anforderungs- und austretender Antwortpakete zu sammeln, um dem ersten und zweiten Server zu ermöglichen, separate Transaktionen zu identifizieren und separate Transaktionslatenzwerte für die identifizierten separaten Transaktionen zu bestimmen.
  20. Verfahren nach Anspruch 19, umfassend die eintretenden Anforderungs- und die austretenden Antwortpakete in Verbindung mit den identifizierten separaten Transaktionen, die Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblöcke haben, wobei die gesammelten Abschnitte der separat zeitgestempelten eintretenden Anforderungs- und austretenden Antwortpakete Informationen aus TCP- und IP-Anfangsblöcken für die eintretenden Anforderungs- und austretenden Antwortpakete in Verbindung mit den identifizierten separaten Transaktionen enthalten, wobei die Informationen eine IP-Quellenadresse, eine Ziel-IP Adresse, einen Quellport oder einen Zielport enthalten.
  21. Verfahren umfassend: bei der Managementlogik für ein Datenzentrum, Empfangen von Transaktionslatenzwerten von mehreren Servern, die im Datenzentrum enthalten sind, als Reaktion auf eine abfragende Anforderung an die mehreren Server von der Managementlogik; Vergleichen der empfangenen Transaktionslatenzwerte mit Zieltransaktionslatenzwerten in Verbindung mit den mehreren Servern und Diensten, die durch die mehreren Server bereitgestellt werden; Generieren eines Alarms auf der Basis eines ersten Servers von den mehreren Servern, der einen ersten Dienst mit einem Transaktionslatenzwert für den ersten Dienst bereitstellt, der einen gegebenen Zieltransaktionslatenzwert übersteigt; und Senden des Alarms zu einer Managementkonsole enthalten, die zum Überwachen der Leistung der mehreren Server konfiguriert ist, wobei der Alarm den gegebenen Zieltransaktionslatenzwert anzeigt, der überschritten wurde, den ersten Server identifiziert oder den ersten Dienst identifiziert.
  22. Verfahren nach Anspruch 21, umfassend die mehreren Server, die mindestens eine Netzeingabe-/-ausgabevorrichtung zum Zeitstempeln sowohl eintretender Anforderungspakete wie auch austretender Antwortpakete und zum Sammeln von Abschnitten von separat zeitgestempelten eintretenden Anforderungs- und austretenden Antwortpaketen, um den mehreren Servern die Identifizierung separater Transaktionen in Verbindung mit Diensten zu ermöglichen, die von den mehreren Servern bereitgestellt werden, und auch den mehreren Servern die Bestimmung separater Transaktionslatenzwerte für die identifizierten separaten Transaktionen in Verbindung mit entsprechenden Diensten zu ermöglichen.
  23. Verfahren nach Anspruch 22, umfassend die eintretenden Anforderungs- und die austretenden Antwortpakete, die mit den identifizierten separaten Transaktionen bei den mehreren Servern verbunden sind, die Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblöcke aufweisen, wobei die gesammelten Abschnitte der separat zeitgestempelten eintretenden Anforderungs- und austretenden Antwortpakete Informationen von TCP- und IP-Anfangsblöcken für die eintretenden Anforderungs- und austretenden Antwortpakets in Verbindung mit den identifizierten Transaktionen in Verbindung mit entsprechenden Diensten enthalten, wobei die Informationen eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder einen Zielport enthalten.
  24. Verfahren nach Anspruch 23, umfassend den ersten Server, der anhand einer IP-Zieladresse identifiziert wird, die in gesammelten Abschnitten separat zeitgestempelter austretender Antwortpaketen in Verbindung mit separaten Transaktionen in Verbindung mit dem ersten Dienst enthalten ist, wobei der erste Dienst anhand eines Zielports identifiziert wird, der in den gesammelten Abschnitten der separat zeitgestempelten austretenden Antwortpakete enthalten ist.
  25. Verfahren nach Anspruch 21, umfassend die Transaktionslatenzwerte, die von den mehreren Servern empfangen werden, die mindestens einen von einem gleitenden Transaktionslatenzdurchschnittswert oder einem 95. Perzentil Transaktionslatenzwert für jeden Server aus den mehreren Servern enthalten.
  26. Verfahren, umfassend: Empfangen, bei einer Managementlogik für ein Datenzentrum, von Transaktionslatenzwerten von mehreren physischen Servern, wobei jeder physische Server imstande ist, einen oder mehrere virtuelle Server zu unterstützen, wobei die Transaktionslatenzwerte als Reaktion auf eine abfragende Anforderung von der Managementlogik empfangen werden; Bestimmen einer verfügbare Kapazität jedes physischen Servers von den mehreren physischen Server, um einen oder mehrere zusätzliche virtuelle Server auf der Basis, zumindest teilweise, der empfangenen Transaktionslatenzwerte zu unterstützen; und Zuordnen eines neuen virtuellen Servers zu einem ersten physischen Server aus den mehreren physischen Servern anhand des ersten physischen Servers mit einer höchsten bestimmten Kapazität zur Unterstützung eines oder mehrerer zusätzlicher virtueller Server im Vergleich zu anderen physischen Servern von den mehreren physischen Servern.
  27. Verfahren nach Anspruch 26, umfassend: Bestimmen anhand zumindest teilweise der empfangenen Transaktionslatenzwerte, dass einem zweiten physischen Server von den mehreren physischen Servern die Kapazität fehlt, einen bestehenden ersten virtuellen Server zu unterstützen; Verschieben des bestehenden ersten virtuellen Servers zu einem dritten physischen Server von den mehreren physischen Servern auf der Basis des dritten physischen Servers mit verfügbarer Kapazität zum Unterstützen des bestehenden ersten virtuellen Servers.
  28. Verfahren nach Anspruch 26, umfassend die mehreren physischen Server, die separat eine Netzeingabe-/-ausgabevorrichtung zum Zeitstempeln sowohl eintretender Anforderungspakete wie auch austretender Antwortpakete für unterstützte virtuelle Server enthalten, wobei die Netzeingabe-/-ausgabevorrichtung auch Abschnitte separat zeitgestempelter eintretender Anforderungs- und austretender Antwortpakete sammelt, um den mehreren physischen Servern die Identifizierung separater Transaktionen in Verbindung mit unterstützten virtuellen Server zu ermöglichen und auch den mehreren physischen Servern die Bestimmung separater Transaktionslatenzwerte für die identifizierten separaten Transaktionen in Verbindung mit entsprechenden unterstützten virtuellen Servern zu ermöglichen.
  29. Verfahren nach Anspruch 28, umfassend die eintretenden Anforderungs- und die austretenden Antwortpakete, die in Verbindung mit den identifizierten separaten Transaktionen Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblöcke aufweisen, wobei die gesammelten Abschnitte von den separat zeitgestempelten eintretenden Anforderungs- und austretenden Antwortpaketen Informationen von TCP- und IP-Anfangsblöcken für die eintretenden Anforderungs- und austretenden Antwortpakete in Verbindung mit den identifizierten separaten Transaktionen enthalten, wobei die Informationen eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder einen Zielport enthalten.
  30. Vorrichtung, umfassend: einen Schaltkreis für einen Server; ein Latenzmodul, das vom Schaltkreis ausgeführt wird, zum Bestimmen von Transaktionslatenzwerten anhand von zeitgestempelten Abschnitten von eintretenden Anforderungspaketen, die auf zeitgestempelte Abschnitte von austretenden Antwortpaketen abgestimmt sind, die von einer Netzeingabe-/-ausgabevorrichtung empfangen werden, die an den Server gekoppelt ist; und ein Leistungsmodul, das vom Schaltkreis ausgeführt wird, um zu bewirken, dass eine Energiemenge, die dem Server bereitgestellt wird, anhand eines Vergleichs von Transaktionslatenzwerten, die vom Latenzmodul bestimmt werden, auf einen bestimmten Transaktionslatenzzielwert eingestellt wird.
  31. Vorrichtung nach Anspruch 30, umfassend den Schaltkreis für den Server, der bei einem Chipsatz für den Server gehalten wird, wobei das Latenzmodul als Teil einer Manageability Engine am Chipsatz enthalten ist, wobei das Leistungsmodul als Teil eines Leistungsknotenmanagers am Chipsatz enthalten ist.
  32. Vorrichtung nach Anspruch 30, umfassend die eintretenden Anforderungs- und die austretenden Antwortpakete in Verbindung mit den zeitgestempelten Abschnitten von eintretenden Anforderungs- und austretenden Antwortpaketen, die separat von der Netzeingabe-/-ausgabevorrichtung empfangen werden, die Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblöcke aufweist, wobei die zeitgestempelten Abschnitte von eintretenden Anforderungs- und austretenden Antwortpaketen TCP- und IP-Anfangsblockinformationen von entsprechenden TCP- und IP-Anfangsblöcken für die eintretenden Anforderungs- und die austretenden Antwortpakete enthalten, wobei die TCP- und IP-Anfangsblockinformationen eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder einen Zielport enthalten.
  33. Mindestens ein maschinenlesbares Medium, umfassend mehrere Anweisungen, die als Reaktion auf ihre Ausführung auf einem Server den Server veranlassen zum: Empfangen zeitgestempelter Abschnitte von eintretenden Anforderungspaketen von einer Netzeingabe-/-ausgabevorrichtung, die an den Server gekoppelt ist, und Einfügen der empfangenen zeitgestempelten Abschnitte der eintretenden Anforderungspakete in eine Transaktionstabelle; Empfangen zeitgestempelter Abschnitte austretender Antwortpakete von der Netzeingabe-/-ausgabevorrichtung und Einfügen der empfangenen zeitgestempelten Abschnitte von austretenden Antwortpaketen in die Transaktionstabelle; Abstimmen von zeitgestempelten Abschnitten von eintretenden Anforderungspaketen mit zeitgestempelten Abschnitten von austretenden Antwortpaketen, die in die Transaktionstabelle eingefügt sind, anhand von Informationen, die mit entsprechenden zeitgestempelten Abschnitten der eintretenden Anforderungs- und der austretenden Antwortpaketen enthalten sind; und Verwenden von ersten und zweiten Zeitstempeln für entsprechende abgestimmte zeitgestempelte Abschnitte von eintretenden Anforderungs- und austretenden Antwortpaketen, um separate Transaktionslatenzwerte für Transaktionen, die vom Server ausgeführt werden, als Reaktion auf separate eintretende Anforderungspakete, und vom Server fertiggestellt werden, wie durch separate austretende Antwortpakete angezeigt ist.
  34. Mindestens ein maschinenlesbares Medium nach Anspruch 33, umfassend die Anweisungen, die den Server auch veranlassen zum: Sammeln der bestimmten separaten Transaktionslatenzwerte in mehreren Körben, wobei jeder Korb mit einer inkrementierten Zeitdifferenz verbunden ist und zum Halten eines oder mehrerer der separat bestimmten Transaktionslatenzwerte anhand einer Nähe entsprechender separat bestimmter Transaktionslatenzwerte zu einer bestimmten inkrementierten Zeitdifferenz konfiguriert ist, wobei jede inkrementierte Zeitdifferenz auf einer Zeitspanne zwischen einem niedrigsten bestimmten Transaktionslatenzwert und einem höchsten bestimmten Transaktionslatenzwert aus den bestimmten separaten Transaktionslatenzwerten beruht, die über ein vorangehendes Intervall gesammelt wurden; Bestimmen, welcher Korb aus den mehreren Körben einen bestimmten n. Perzentil Transaktionslatenzwert enthält, wobei n gleicher einer positiven ganzen Zahl kleiner 100 ist; Sortieren des Korbs, der den bestimmten n. Perzentil Transaktionslatenzwert enthält, zum Bestimmen eines gegebenen Transaktionslatenzwerts, der gleich dem bestimmten n. Perzentil Transaktionslatenzwert ist.
  35. Mindestens ein maschinenlesbares Medium nach Anspruch 33, wobei die zeitgestempelten Abschnitte von eintretenden Anforderungs- und austretenden Antwortpaketen, die von der Netzeingabe-/-ausgabevorrichtung empfangen werden, Übertragungssteuerungsprotokoll-(TCP) und Internetprotokoll-(IP)Anfangsblockinformationen umfassen, wobei die TCP- und IP-Anfangsblockinformationen eine IP-Quellenadresse, eine IP-Zieladresse, einen Quellport oder einen Zielport enthalten.
DE112012005356.7T 2012-12-18 2012-12-18 Techniken in Verbindung mit Server-Transaktionslatenzinformationen Withdrawn DE112012005356T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/086851 WO2014094237A1 (en) 2012-12-18 2012-12-18 Techniques associated with server transaction latency information

Publications (1)

Publication Number Publication Date
DE112012005356T5 true DE112012005356T5 (de) 2014-10-02

Family

ID=50977533

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012005356.7T Withdrawn DE112012005356T5 (de) 2012-12-18 2012-12-18 Techniken in Verbindung mit Server-Transaktionslatenzinformationen

Country Status (4)

Country Link
US (2) US9503347B2 (de)
CN (1) CN104025549B (de)
DE (1) DE112012005356T5 (de)
WO (1) WO2014094237A1 (de)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8743885B2 (en) 2011-05-03 2014-06-03 Cisco Technology, Inc. Mobile service routing in a network environment
US9794379B2 (en) 2013-04-26 2017-10-17 Cisco Technology, Inc. High-efficiency service chaining with agentless service nodes
US9407540B2 (en) 2013-09-06 2016-08-02 Cisco Technology, Inc. Distributed service chaining in a network environment
US9491094B2 (en) * 2013-09-25 2016-11-08 Cisco Techonology, Inc. Path optimization in distributed service chains in a network environment
US9686180B2 (en) 2013-11-05 2017-06-20 Cisco Technology, Inc. Managing routing information for tunnel endpoints in overlay networks
US9300585B2 (en) 2013-11-15 2016-03-29 Cisco Technology, Inc. Shortening of service paths in service chains in a communications network
US10333724B2 (en) * 2013-11-25 2019-06-25 Oracle International Corporation Method and system for low-overhead latency profiling
US9547834B2 (en) * 2014-01-08 2017-01-17 Bank Of America Corporation Transaction performance monitoring
US9992090B2 (en) 2014-01-08 2018-06-05 Bank Of America Corporation Data metrics analytics
US9277002B2 (en) * 2014-01-09 2016-03-01 International Business Machines Corporation Physical resource management
JP6033985B2 (ja) * 2014-03-07 2016-11-30 株式会社日立製作所 性能評価方法及び情報処理装置
JP2015171052A (ja) * 2014-03-07 2015-09-28 富士通株式会社 識別装置、識別プログラム、及び識別方法
US9990630B2 (en) * 2014-04-28 2018-06-05 Mastercard International Incorporated Platform and method for analyzing the performance of message oriented middleware
US9379931B2 (en) 2014-05-16 2016-06-28 Cisco Technology, Inc. System and method for transporting information to services in a network environment
US9479443B2 (en) 2014-05-16 2016-10-25 Cisco Technology, Inc. System and method for transporting information to services in a network environment
US9553998B2 (en) 2014-06-09 2017-01-24 Oracle International Corporation Sharing group notification
US10182129B1 (en) * 2014-06-19 2019-01-15 Amazon Technologies, Inc. Global optimization of a service-oriented system
US9998562B1 (en) 2014-06-19 2018-06-12 Amazon Technologies, Inc. Service-oriented system optimization using partial service relocation
US9998330B1 (en) 2014-06-19 2018-06-12 Amazon Technologies, Inc. Service-oriented system optimization using edge relocation
US9998328B1 (en) 2014-06-19 2018-06-12 Amazon Technologies, Inc. Service-oriented system optimization using client device relocation
US10091061B1 (en) 2014-06-19 2018-10-02 Amazon Technologies, Inc. Service-oriented system optimization using static analysis
US10867264B2 (en) * 2014-10-31 2020-12-15 Xerox Corporation Methods and systems for estimating lag times in a cloud computing infrastructure
US10417025B2 (en) 2014-11-18 2019-09-17 Cisco Technology, Inc. System and method to chain distributed applications in a network environment
US10116493B2 (en) 2014-11-21 2018-10-30 Cisco Technology, Inc. Recovering from virtual port channel peer failure
USRE48131E1 (en) 2014-12-11 2020-07-28 Cisco Technology, Inc. Metadata augmentation in a service function chain
US9660909B2 (en) 2014-12-11 2017-05-23 Cisco Technology, Inc. Network service header metadata for load balancing
US9847922B2 (en) * 2015-03-18 2017-12-19 Arista Networks, Inc. System and method for continuous measurement of transit latency in individual data switches and multi-device topologies
US9762402B2 (en) 2015-05-20 2017-09-12 Cisco Technology, Inc. System and method to facilitate the assignment of service functions for service chains in a network environment
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10063468B2 (en) 2016-01-15 2018-08-28 Cisco Technology, Inc. Leaking routes in a service chain
US11044203B2 (en) 2016-01-19 2021-06-22 Cisco Technology, Inc. System and method for hosting mobile packet core and value-added services using a software defined network and service chains
KR102510900B1 (ko) * 2016-02-04 2023-03-15 삼성전자주식회사 반도체 장치 및 반도체 장치의 동작 방법
KR102440948B1 (ko) * 2016-02-11 2022-09-05 삼성전자주식회사 반도체 장치 및 반도체 장치의 동작 방법
US10142163B2 (en) 2016-03-07 2018-11-27 Cisco Technology, Inc BFD over VxLAN on vPC uplinks
US10187306B2 (en) 2016-03-24 2019-01-22 Cisco Technology, Inc. System and method for improved service chaining
US10931793B2 (en) 2016-04-26 2021-02-23 Cisco Technology, Inc. System and method for automated rendering of service chaining
US10333828B2 (en) 2016-05-31 2019-06-25 Cisco Technology, Inc. Bidirectional multicasting over virtual port channel
US10419550B2 (en) 2016-07-06 2019-09-17 Cisco Technology, Inc. Automatic service function validation in a virtual network environment
US11509501B2 (en) 2016-07-20 2022-11-22 Cisco Technology, Inc. Automatic port verification and policy application for rogue devices
US10320664B2 (en) 2016-07-21 2019-06-11 Cisco Technology, Inc. Cloud overlay for operations administration and management
US10218616B2 (en) 2016-07-21 2019-02-26 Cisco Technology, Inc. Link selection for communication with a service function cluster
US10225270B2 (en) 2016-08-02 2019-03-05 Cisco Technology, Inc. Steering of cloned traffic in a service function chain
US10218593B2 (en) 2016-08-23 2019-02-26 Cisco Technology, Inc. Identifying sources of packet drops in a service function chain environment
US10193750B2 (en) 2016-09-07 2019-01-29 Cisco Technology, Inc. Managing virtual port channel switch peers from software-defined network controller
US10225187B2 (en) 2017-03-22 2019-03-05 Cisco Technology, Inc. System and method for providing a bit indexed service chain
US10884807B2 (en) 2017-04-12 2021-01-05 Cisco Technology, Inc. Serverless computing and task scheduling
US10257033B2 (en) 2017-04-12 2019-04-09 Cisco Technology, Inc. Virtualized network functions and service chaining in serverless computing infrastructure
US10333855B2 (en) 2017-04-19 2019-06-25 Cisco Technology, Inc. Latency reduction in service function paths
US10554689B2 (en) 2017-04-28 2020-02-04 Cisco Technology, Inc. Secure communication session resumption in a service function chain
US10735275B2 (en) 2017-06-16 2020-08-04 Cisco Technology, Inc. Releasing and retaining resources for use in a NFV environment
US10547509B2 (en) 2017-06-19 2020-01-28 Cisco Technology, Inc. Validation of a virtual port channel (VPC) endpoint in the network fabric
US10798187B2 (en) 2017-06-19 2020-10-06 Cisco Technology, Inc. Secure service chaining
US10397271B2 (en) 2017-07-11 2019-08-27 Cisco Technology, Inc. Distributed denial of service mitigation for web conferencing
US10673698B2 (en) 2017-07-21 2020-06-02 Cisco Technology, Inc. Service function chain optimization using live testing
US10489225B2 (en) 2017-08-10 2019-11-26 Bank Of America Corporation Automatic resource dependency tracking and structure for maintenance of resource fault propagation
US11063856B2 (en) 2017-08-24 2021-07-13 Cisco Technology, Inc. Virtual network function monitoring in a network function virtualization deployment
US10791065B2 (en) 2017-09-19 2020-09-29 Cisco Technology, Inc. Systems and methods for providing container attributes as part of OAM techniques
US11018981B2 (en) 2017-10-13 2021-05-25 Cisco Technology, Inc. System and method for replication container performance and policy validation using real time network traffic
US10541893B2 (en) 2017-10-25 2020-01-21 Cisco Technology, Inc. System and method for obtaining micro-service telemetry data
US10769009B2 (en) * 2018-03-21 2020-09-08 International Business Machines Corporation Root cause analysis for correlated development and operations data
US10666612B2 (en) 2018-06-06 2020-05-26 Cisco Technology, Inc. Service chains for inter-cloud traffic
CN110932931A (zh) * 2019-11-13 2020-03-27 苏宁云计算有限公司 用于数据中心网络延迟的检测方法及装置
US11290390B2 (en) 2019-11-20 2022-03-29 Oracle International Corporation Methods, systems, and computer readable media for lockless communications network resource quota sharing
CN113055460B (zh) * 2021-03-09 2024-04-19 百果园技术(新加坡)有限公司 一种服务器的选择方法、装置、设备及介质
CN114900662A (zh) * 2022-05-11 2022-08-12 重庆紫光华山智安科技有限公司 视频流传输质量信息确定方法、系统、设备及介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665702B1 (en) * 1998-07-15 2003-12-16 Radware Ltd. Load balancing
JP4328459B2 (ja) * 2000-10-27 2009-09-09 Necエンジニアリング株式会社 ネットワークのサービス品質測定システム及びその方法
US8171170B2 (en) * 2004-04-30 2012-05-01 Emc Corporation Storage switch task processing synchronization
CN1977509A (zh) * 2004-06-29 2007-06-06 西门子公司 从服务器集中选择一个服务器的方法
US7607129B2 (en) * 2005-04-07 2009-10-20 International Business Machines Corporation Method and apparatus for using virtual machine technology for managing parallel communicating applications
CA2652594A1 (en) * 2006-05-19 2007-11-29 Symmetricom, Inc. Network time protocol precision timestamping service
US8170022B2 (en) * 2006-07-10 2012-05-01 Cisco Technology, Inc. Method and apparatus for actively discovering internet protocol equal cost multiple paths and associate metrics
US20090307347A1 (en) * 2008-06-08 2009-12-10 Ludmila Cherkasova Using Transaction Latency Profiles For Characterizing Application Updates
CN101309125B (zh) * 2008-07-10 2011-04-06 浙江大学 一种多路并发接入的多媒体数据传输方法
US20120128011A1 (en) * 2009-06-16 2012-05-24 Holmeide Oeyvind Method on a network element for the purpose of synchronization of clocks in a network
WO2011025746A1 (en) * 2009-08-25 2011-03-03 Semtech Corporation Measurement and adjustment of real-time values according to residence time in networking equipment without access to real time
CN102742220B (zh) * 2009-12-04 2015-09-09 纳派泰克股份公司 使用加时间戳和中央控制器由多个适配器对数据帧进行的分布式处理
US8705552B1 (en) * 2010-02-09 2014-04-22 Marvell International Ltd. Controlling latency variations in a packet node
US8930525B2 (en) * 2010-04-27 2015-01-06 Hewlett-Packard Development Company, L.P. Method and apparatus for measuring business transaction performance
JP5458308B2 (ja) * 2010-06-11 2014-04-02 株式会社日立製作所 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置
US8705395B2 (en) * 2010-06-15 2014-04-22 Jds Uniphase Corporation Method for time aware inline remote mirroring
US8606958B1 (en) * 2010-10-29 2013-12-10 Amazon Technologies, Inc. Adding latency to improve perceived performance
US8964563B2 (en) * 2011-07-08 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Controller driven OAM for OpenFlow
CN102739659B (zh) * 2012-06-16 2015-07-08 华南师范大学 一种防重放攻击的认证方法
US8891528B2 (en) * 2012-06-21 2014-11-18 Breakingpoint Systems, Inc. Managing the capture of packets in a computing system
US20130347103A1 (en) * 2012-06-21 2013-12-26 Mark Veteikis Packet capture for error tracking
US20130343379A1 (en) * 2012-06-21 2013-12-26 Jonathan Stroud Ethernet-based internal device management
US8913507B2 (en) * 2012-06-21 2014-12-16 Breakingpoint Systems, Inc. Virtual data loopback and/or data capture in a computing system
US8929379B2 (en) * 2012-06-21 2015-01-06 Breakingpoint Systems, Inc. High-speed CLD-based internal packet routing
US20130346628A1 (en) * 2012-06-21 2013-12-26 Rodney S. Canion Dynamically assigned mac addresses for devices in a computing system
US8954080B2 (en) * 2012-12-14 2015-02-10 Tektronix, Inc. Monitoring traffic across diameter core agents
US8879586B2 (en) * 2012-12-20 2014-11-04 Broadcom Corporation Inband timestamping
US9894013B2 (en) * 2015-02-03 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Early queueing network device

Also Published As

Publication number Publication date
US20170201448A1 (en) 2017-07-13
US20150222516A1 (en) 2015-08-06
US9503347B2 (en) 2016-11-22
WO2014094237A1 (en) 2014-06-26
CN104025549A (zh) 2014-09-03
CN104025549B (zh) 2017-04-05
US10355959B2 (en) 2019-07-16

Similar Documents

Publication Publication Date Title
DE112012005356T5 (de) Techniken in Verbindung mit Server-Transaktionslatenzinformationen
CN109783224B (zh) 基于负载调配的任务分配方法、装置及终端设备
DE112010004940B4 (de) Automatisches Erkennen von Adressbereichen für IP-Netzwerke
DE102016100902A1 (de) Verfahren zum dynamischen Zuteilen von Ressourcen von konfigurierbaren Datenverarbeitungsressourcen
DE112016004801T5 (de) Arbeitslastzuweisung für computerressourcen
DE112017001236T5 (de) Kommunikationssystem
DE102018204577A1 (de) Techniken zum Erfüllen von Dienstgüteanforderungen für eine Fabric-Punkt-zu-Punkt-Verbindung
DE60109060T2 (de) Interkommunikationsvorprozessor
EP1711892B1 (de) Verfahren zum bestimmen eines übernahmeszenarios der softwareeinheiten bei einem rechnerausfall in einer serverfarm
DE102012224362B4 (de) Anpassung einer Testhäufigkeit für die Ressourcenauslastung
DE102014108049A1 (de) Intelligente Abfragehäufigkeit
CN111143143A (zh) 一种性能测试方法及装置
DE102018207377A1 (de) Vorabvalidierung einer plattform
DE112019002585T5 (de) Datenebene mit heavy-hitter-detektor
DE112016004319T5 (de) Technologien zur Schätzung der Netzwerkpaketumlaufzeit
DE102012219705A1 (de) Datenpaketverarbeitung im netzwerk
CN106685853A (zh) 处理数据的方法及装置
DE102013022564B4 (de) Aufrechterhalten der Bandbreiten-Servicequalität einer Hardware-Ressource über einen Hardware-Zähler
CN106371921A (zh) 一种多线程分析的均衡分流方法
DE102017102989A1 (de) Erhalten von Verpackungsanlagenzustandsdaten
DE102019131038A1 (de) Detektion von Ereignisstürmen
DE102018004328B4 (de) Technologien zur effektiven Bestimmung einer Überlastungsursache mit einem mehrstufigen Netzwerk-Switch
DE112010003922T5 (de) Verringern von Mehraufwänden bei einer Anwendungsverarbeitung
CN112052147A (zh) 监控方法、电子设备及存储介质
CN106897192B (zh) 一种基于延时分类的监控插件控制方法和装置

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee