CN104025549B - 与服务器事务延迟信息相关的技术 - Google Patents

与服务器事务延迟信息相关的技术 Download PDF

Info

Publication number
CN104025549B
CN104025549B CN201280065209.5A CN201280065209A CN104025549B CN 104025549 B CN104025549 B CN 104025549B CN 201280065209 A CN201280065209 A CN 201280065209A CN 104025549 B CN104025549 B CN 104025549B
Authority
CN
China
Prior art keywords
server
circuit
delay value
timestamp
transaction delay
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.)
Expired - Fee Related
Application number
CN201280065209.5A
Other languages
English (en)
Other versions
CN104025549A (zh
Inventor
M·德瓦尔
E·曼
C·李
M·M·拉贾帕
A·R·查加姆雷迪
D·韦斯科特
R·纳加帕恩
R·卡恩乔
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 CN104025549A publication Critical patent/CN104025549A/zh
Application granted granted Critical
Publication of CN104025549B publication Critical patent/CN104025549B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了用于确定或使用服务器事务延迟信息的多个实例。在一些实例中,耦合至服务器的网络输入/输出设备能够对与用于事务的入站请求分组和出站应答分组相关的信息加时间戳。对于这些实例,服务器的元件能够基于被加时间戳的信息来确定事务延迟值。所确定的事务延迟值可以用于监视或管理服务器的工作特性,包括:提供给服务器的功率量,或者服务器支持一个或多个虚拟服务器的能力。还描述了和声明了其他实施例。

Description

与服务器事务延迟信息相关的技术
技术领域
本发明涉及与服务器事务延迟信息相关的技术。
背景技术
托管可能几百项服务的大数据中心可能横跨很多服务器(物理的或虚拟的)。这些被容纳服务的客户可能会对缓慢或不可接受的性能产生抱怨。为了追查导致性能变慢和下降的原因,可能需要雇佣一队信息技术(IT)专家。该队IT专家可以分析应用日志和服务器资源度量,来找到在给定的数据中心中的有问题服务器(offending server)。经常,由于服务到底层服务器硬件的可能复杂的映射,可能需要几天时间才能够找到导致变慢的有问题服务器。在将服务映射至由数据中心中的物理服务器所支持的庞大数量的虚拟服务器的虚拟化云计算环境中,复杂性还会增加。对问题服务器进行故障测定的传统模型可以是基于将服务等级协议(SLA)映射至客户性能问题。一旦该映射完成,对数据中心中服务器的服务器资源度量(例如,处理器、存储设备、存储器等等)进行分析来识别可能是有问题服务器的可能候选服务器。下一级的故障测定可以包括在应用、中间件或基础结构层处开启额外级别的日志记录,以便确定问题的根源。然而,由于在数据中心中服务至底层虚拟和/或物理基础结构的复杂映射的原因,在数据中心中的SLA与底层虚拟和/或物理基础结构之间看上去不存在明显的相关性。
发明内容
本发明提供了一种用于确定事务延迟的装置,包括:用于网络输入/输出设备的电路;时间戳模块,其被所述电路执行,以将单独的时间戳放置在目的地为耦合至所述网络输入/输出设备的服务器的入站请求分组上,并将单独的时间戳放置在源自所述服务器的出站应答分组上;捕获模块,其被所述电路执行,以捕获单独的入站请求分组的多个部分和单独的出站应答分组的多个部分,所捕获部分用以识别被单独地加时间戳的所述入站请求分组和被单独地加时间戳的所述出站应答分组;以及传送模块,其被所述电路执行,以将带有各自时间戳的所述所捕获部分传送至所述服务器。
本发明还提供了一种用于确定事务延迟的装置,包括:用于服务器的电路;请求模块,其被所述电路执行,以接收入站请求分组的被加时间戳部分并将所接收的入站请求分组的被加时间戳部分放置在事务表格中;应答模块,其被所述电路执行,以接收出站应答分组的被加时间戳部分并将所接收的出站应答分组的被加时间戳部分放置在所述事务表格中;匹配模块,其被所述电路执行,以基于在所述入站请求分组和所述出站应答分组各自的被加时间戳部分中包含的信息,将在所述事务表格中放置的入站请求分组的被加时间戳部分与出站应答分组的被加时间戳部分进行匹配;以及延迟模块,其被所述电路执行,以使用入站请求分组和出站应答分组各自的匹配的被加时间戳部分的第一和第二时间戳,来确定由所述服务器执行的事务的单独的事务延迟值。
本发明还提供了一种用于确定事务延迟的装置,包括:用于服务器的电路;延迟模块,其被所述电路执行,以基于与从耦合至所述服务器的网络输入/输出设备接收的出站应答分组的被加时间戳部分匹配的入站请求分组的被加时间戳部分,来确定事务延迟值;以及功率模块,其被所述电路执行,以基于由所述延迟模块所确定的事务延迟值与给定的事务延迟目标值的比较,来导致提供给所述服务器的功率量被调整。
本发明还提供了一种用于确定事务延迟的装置,包括:用于从耦合至所述服务器的网络输入/输出设备接收入站请求分组的被加时间戳部分并将所接收的入站请求分组的被加时间戳部分放置在事务表格中的单元;用于从所述网络输入/输出设备接收出站应答分组的被加时间戳部分并将所接收的出站应答分组的被加时间戳部分放置在所述事务表格中的单元;用于基于所述入站请求分组和所述出站应答分组各自的被加时间戳部分中包含的信息,将在所述事务表格中放置的入站请求分组的被加时间戳部分与出站应答分组的被加时间戳部分进行匹配的单元;以及用于使用入站请求分组和出站应答分组各自的匹配的被加时间戳部分的第一时间戳和第二时间戳,来确定事务的单独的事务延迟值的单元,所述事务由所述服务器响应于单独的入站请求分组执行,并按照单独的出站应答分组所指示的,由所述服务器完成。
附图说明
图1示出了第一示例性系统。
图2示出了示例性过程。
图3示出了示例性事务表格。
图4示出了用于报告事务延迟信息的示例性流程图。
图5示出了第一示例性数据中心。
图6示出了示例性的在服务器之间观察到的事务延迟。
图7示出了示例性的在服务器处观察到的事务延迟。
图8示出了第二示例性数据中心。
图9示出了第二示例性系统。
图10示出了第三示例性系统。
图11示出了第一装置的示例性方框图。
图12示出了第一逻辑流的示例。
图13示出了第一存储介质的示例。
图14示出了第二装置的示例性方框图。
图15示出了第二逻辑流的示例。
图16示出了第二存储介质的示例。
图17示出了第三装置的示例性方框图。
图18示出了第三逻辑流的示例。
图19示出了第三存储介质的示例。
图20示出了第四示例性系统。
图21示出了示例性计算平台。
图22示出了示例性网络输入/输出设备。
具体实施方式
按照本文的设想,在数据中心中的SLA与底层虚拟和/或物理基础结构之间看上去不存在明显的相关性。可以在数据中心的各个部分中放置服务性能监视器,来关注于在给定服务器(例如,前端服务器)处所观察到的事务处理性能。然而,这些主动式监视器可能是特定于应用的,从而可能难以横跨在由很多服务器支持的可能几百个服务来实现。另一种方法可以是在每个托管服务器上安装探针来监视和报告经过物理或虚拟交换机的网络分组信息。在大数据中心中在每个托管服务器上安装探针是耗时且昂贵的。此外,这些探针所产生的庞大的数据量对于快速且高效地确定有问题服务器来说也是存在问题的。针对这些问题和其他挑战,需要本文所述的示例。
在一些示例中,可以实现与服务器事务延迟信息相关的技术。对于这些示例,用于网络输入/输出(I/O)设备的电路能够支持与对入站(ingress)/出站(egress)分组加时间戳相关联的一个或多个模块。例如,该电路可以执行时间戳模块,来将时间戳放置在以耦合至该网络I/O设备的服务器为目的地的入站请求分组上,并将单独的时间戳放置在源自该服务器的出站应答分组上。该电路还可以执行捕获模块,来捕获单独的入站请求分组的多个部分和单独的出站应答分组的多个部分,所捕获部分用于识别被单独地加时间戳的入站请求分组和被单独地加时间戳的出站应答分组。该电路还可以执行传送模块,以将带有各自的时间戳的所捕获部分传送至该服务器。
根据一些示例,在服务器处的电路同样能够支持用于确定事务延迟值的一个或多个模块。例如,该电路可以执行请求模块,用于接收(来自耦合至该服务器的网络I/O设备的)入站请求分组的被加时间戳部分并将所接收的入站请求分组的被加时间戳部分放置在事务表格中。该电路还可以执行应答模块,以接收(来自网络输入/输出设备的)出站应答分组的被加时间戳部分,并将所接收的出站应答分组的被加时间戳部分放置在事务表格中。该电路还可以执行匹配模块,用于基于入站请求分组和出站应答分组各自的被加时间戳部分中所包含的信息,将放置在事务表格中的入站请求分组的被加时间戳部分与出站应答分组的被加时间戳部分进行匹配。该电路还可以执行延迟模块,用于使用入站请求分组和出站应答分组各自的匹配的被加时间戳部分的第一和第二时间戳来确定该服务器所执行的事务的单独的事务延迟值。此外,该电路还可以执行报告模块,用于将与所确定的单独的事务延迟值相关联的信息报告至管理逻辑。在一些示例中,管理逻辑能够管理多个服务器。
图1示出了示例性的第一系统。如图1所示,该示例性的第一系统包括系统100。同样如图1所示,系统100包括耦合至网络170和管理网络180的服务器101。在一些实例中,服务器101可以经由网络通信(comm.)通道175耦合至网络170,以及经由带内通信通道125或带外通信通道135耦合至管理网络。同样如图1所示,服务器101耦合至一个(或多个)网络I/O设备110(例如,网络接口卡(NIC))。服务器101在图1中还被示出包括电路120、芯片组130、操作系统(OS)140或存储器150。在一些实例中,如图1所示,电路120可以分别经由通信链接123和155可通信地耦合至芯片组130和存储器150。同样,网络I/O设备110可以分别经由通信链接115和113耦合至电路120和芯片组130。
根据一些实例,如图1所示,管理网络180可以包括管理逻辑182和管理控制台184。如以下更详细描述的,服务器(诸如服务器101)的元件可以向管理网络(诸如管理网络180)传送事务延迟信息。对于这些实例,服务器101可以是数据中心的一部分,该数据中心包括多个由管理逻辑182所管理或控制的服务器(未示出)。在一些实例中,管理逻辑182可以经由通信链接183将信息传送至管理控制台184。所传送的信息例如可以包括:与操作者正在使用管理控制台184进行监视的可能的性能目标相关的警报或其他信息。
在一些实例中,网络I/O设备110可以包括电路112,其能够执行用于对入站请求分组和出站应答分组加时间戳的模块或特征。对于这些实例,给定的入站请求分组可以与服务器101的元件(例如,电路120、芯片组130、OS 140、存储器150)所支持的服务的给定事务相关联。另外,响应于该给定的入站请求分组,服务器101的这些元件可以产生给定的出站应答分组。
根据一些实例,电路112还能够执行用于捕获该给定的入站请求分组和给定的出站应答分组的至少一部分,以便唯一地识别该给定的被加时间戳的入站请求分组和该给定的被加时间戳的出站应答分组的模块或特征。对于这些实例,给定的入站请求分组和出站应答分组每一个都可以具有分组报头信息,分组报头信息可以被捕获以便唯一地识别被加时间戳的入站请求分组或出站应答分组。例如,分组报头信息可以从在给定的入站请求分组和出站应答分组中包含的传输控制协议/互联网协议(TCP/IP)报头获得。该TCP/IP报头信息可以包括,例如,源IP地址、目的地IP地址、源端口或目的地端口。源IP地址可以识别发送该入站/出站分组的服务器,以及,目的地IP地址可以识别旨在接收该入站/出站分组的服务器。另外,源端口可以识别与入站/出站分组的发送和产生相关联的服务或应用,并且,目的地端口可以识别旨在接收该入站/出站分组的服务或应用。
根据一些实例,电路112可以被配置为将时间戳放置在入站请求分组和出站应答分组的全部或至少其采样上,并捕获这些被加时间戳的分组的多个部分。加时间戳的采样和/或捕获部分的大小或数量可以取决于例如在网络流量(traffic)模式中的可能变化。高度变化的流量模式与恒定或较小变化的流量模式相比,可能需要较大的采样大小。
在一些实例中,电路112还能够执行用于将给定的入站请求分组和出站应答分组的带有各自的时间戳的所捕获部分传送至电路120或芯片组130的电路132的模块或特征。
对于将被加时间戳部分传送至电路120的实例,存储器150中所保持的操作系统140可以由一个或多个处理核心112-1至112-m执行,其中,“m”是大于2的任何正整数。根据一些实例,操作系统(OS)140能够实现网络I/O设备驱动器142。所捕获部分可以经由通信链接115传送至电路120,并随后由网络I/O设备驱动器142用来基于所包含的时间戳确定事务延迟时间值。随后,业务延迟时间值可以由OS 140或网络I/O设备驱动器142经由带内通信链接125报告至管理逻辑182。由于管理逻辑182具有对所确定的业务延迟时间值的直接访问(例如,经由网络I/O设备驱动器142或OS 140),该通信被认为是一种带内通信。
对于将被加时间戳部分传送至芯片组130处的电路132的实例,电路132可以支持管理引擎(ME)134。对于这些实例,所捕获部分可以被传送至ME 134并由ME 134用来基于所包含的时间戳确定事务延迟时间值。不是使用带内通信通道,ME 134可以经由带外通信通道135将业务延迟时间值传送至管理逻辑182。根据一些实例,ME 134和/或电路132所支持的其他元件可以根据一个或多个远程管理标准或规范来与管理逻辑182进行通信。所述一个或多个远程管理规范可以包括诸如以下的规范(包括衍生或变体):2004年2月公布的智能平台管理接口规范(IPMI)第二代,版本2.0、修订版1.0(以下称为“IPMI规范”)。尽管在图1中并未示出,ME 134还可以使用服务器101处的基本管理控制器(BMC)(未示出)来经由符合IPMI的带外通信链接135与管理逻辑182进行通信。
根据一些实例,服务器101的各种通信链接,诸如通信链接113、115、123或155,可以根据一个或多个工业标准或规范(包括衍生或变体)来操作,这些工业标准或规范包括:2010年11月公布的外设互联(PCI)Express基本规范,修订版3.0(“PCI Express”或“PCIe”)。另外,可以使用传输协议来将所捕获部分从网络I/O设备110传送至在服务器101处保持的电路,所述传输协议诸如在由分布式管理任务组(DMTF)于2010年7月公布的管理组件传输协议(MCTP)主机接口规范(DSP0256)版本1.0(以下称为“MCTP规范”)的衍生和变体中所描述的那些协议。
图2示出了示例性过程200。在一些实例中,图1示出的系统100的元件可以用于图示说明与图2中所阐述的过程200相关的示例性操作。对于这些实例,过程200提供了关于在入站请求分组由网络I/O设备110进行接收、由服务器101的元件进行处理并随后作为出站应答分组被发送以完成事务时,入站请求分组可以经历的多个一般性过程中的至少一些的实例。所描述的示例性操作并不局限于在系统100上的实现方式或者局限于本文针对图1所述的元件。
在过程2.1(接收入站请求分组)处开始,可以在网络I/O设备110处接收入站请求分组。在一些实例中,如图1所示,可以经由通信通道175从网络170接收入站请求分组。在一些其他实例中,服务器101的电路120能够支持多个虚拟服务器。对于这些实例,入站请求分组可以实际上是从这些虚拟服务器中的一个虚拟服务器接收的,并且是被发往这些虚拟服务器中的另一个虚拟服务器的。如上所述地,网络I/O设备110的电路112能够对各个入站请求分组加时间戳,并捕获被加时间戳的分组的至少多个部分(例如,TCP/IP报头信息)用于唯一性识别。
前进至过程2.2(存放分组),可以在存储器150中存放在所接收的入站请求分组中包含的信息或数据。在一些实例中,电路112可以与电路120协作来在存储器150中存放所述信息或数据。
前进至过程2.3(ISR),电路112可以导致中断服务例程(ISR)被产生,以便触发电路120的元件执行网络I/O设备驱动器142。根据一些实例,OS 140可以使用ISR来激活网络I/O设备驱动器142。
前进至过程2.4(传送数据至应用缓冲器),网络I/O设备驱动器142将请求分组的相关数据传送至应用缓冲器。在一些实例中,应用缓冲器可以被保持在存储器150处的一个或多个存储器结构中,所述存储器150可以被配置为支持应用的应用缓冲器。例如,所述应用可以由电路120的元件支持或执行,并且可以与提供服务器101的服务相关联。
前进至过程2.5(分组消息分发(dispatch)),由电路120支持或执行的协议软件(SW)栈可以将与请求分组相关联的数据或信息分发给电路120所执行的应用。根据一些实例,一旦请求分组的数据或信息被分发,应用随后处理所述数据或信息。
前进至过程2.6(应答分组信息),在处理了与请求分组相关联的数据或信息之后,由应用创建或产生应答。
前进至过程2.7(从应用缓冲器传送数据),协议SW栈可以从应用缓冲器传送与所述应答相关联的数据。在一些实例中,如上所述地,应用缓冲器可以被保持在存储器150中。
前进至处理2.8(构造NW I/O设备专用数据),网络I/O设备驱动器142可以构造针对网络I/O设备110的专用数据。根据一些实例,该数据可以包括应答分组的TCP/IP报头信息,其包括但不限于:源IP地址、目的地IP地址、源端口或目的地端口。
前进至过程2.9(命令NW I/O设备发送应答分组),网络I/O设备驱动器142可以命令网络I/O设备110发送应答分组。
前进至过程2.10(DMA),可以为网络I/O设备110设置对存储器150的直接存储器访问(DMA),以获得要被包含在应答分组中的数据。
结束于过程2.11(发送出站应答分组),网络I/O设备110可以发送应答分组。如上所述地,网络I/O设备110的电路112能够对各个出站应答分组加时间戳,并捕获被加时间戳的分组的至少多个部分(例如TCP/IP报头信息)用于唯一性识别。
根据一些实例,在接收到的入站请求分组上放置的第一时间戳与在被发送的出站应答分组上放置的第二时间戳之间的时间差等于事务延迟值。例如,所述事务延迟值可以按照诸如毫秒(ms)之类的时间单位来指示。如以下更详细描述的,服务器101的包括电路120或电路132的电路能够支持用于以下功能的模块和/或特征:确定事务的事务延迟值,以及将那些所确定的事务延迟值报告给例如管理逻辑182。
图3示出了示例性事务表格。如图3所示,事务表格包括未决事务表格310和已完成事务表格320。在一些实例中,在服务器处保持的电路能够从耦合至服务器的网络I/O设备处的元件或电路接收入站请求分组和出站应答分组的被加时间戳部分。例如,服务器101的电路120能够从网络I/O设备110处的电路122接收被加时间戳部分,并随后将所接收的被加时间戳部分放置在未决事务表格310中,未决事务表格310可以被保持在存储器150中。在其他实例中,芯片组130处的电路132能够接收被加时间戳部分并将其放置在未决事务表格310中,未决事务表格310可以被保持在芯片组130处的存储器(未示出)中。如图3所示,被加时间戳部分可以包括时间、源IP地址(SrcIP)、源端口(SrcPort)、目的地IP地址(DestIP)或目的地端口(DestPort)。如先前所述的,被加时间戳部分可以唯一地识别入站请求分组或出站应答分组,并且可以从TCP/IP报头中收集。
根据一些实例,在服务器101处保持的电路还能够将放置在未决事务表格310中的入站请求分组的被加时间戳部分与放置在未决事务表格310中的出站应答分组的被加时间戳部分进行匹配。对于这些实例,匹配可以是基于在第一部分的DestIP/DestPort与第二部分的SrcIP/SrcPort之间的匹配的地址/端口。例如,如图3所示,具有1.3677ms时间的第一被加时间戳部分可以被匹配于具有18.2356ms时间的第二被加时间戳部分。该匹配可以是基于以下来确定的:即,1.3677ms时间的DestIP/DestPort指示被发往与18.2356ms时间的SrcIP/SrcPort匹配的地址/端口的入站请求分组,这指示出站应答分组是响应于该入站请求分组而返回的。所述部分的匹配可以指示已完成事务。
在一些实例中,在服务器处保持的电路可以确定已完成事务的事务延迟值。例如,在服务器101处保持的电路可以确定在未决事务表格310中的上述匹配的被加时间戳部分之间的时间差。如图3所示,可以将指示差值16.8679ms的事务延迟值放置在已完成事务表格320中。另外,可以使用来自未决事务表格310中包含的入站请求分组的DestIP和DestPort信息来识别与所确定的事务延迟值相关联的服务器和服务。在将该时间值、DestIP和DestPort信息放置在已完成事务表格320中之后,可以从未决事务表格310中移除针对时间1.3677ms和18.2356的被加时间戳部分。
根据一些实例,可以在已完成事务表格320中放置其他所确定的事务延迟值。这些其他所确定的事务延迟值同样可以是从放置在未决事务表格310中的匹配的被加时间戳部分得到的。如图3所示,所述其他所确定的事务延迟值同样可以包括DestIP和DestPort信息。
在一些实例中,在网络I/O设备110处的电路112能够按照预先确定的或可配置的时间间隔(例如,每2秒),来传送入站请求分组或出站应答分组的被加时间戳部分。对于这些实例,在服务器处的电路120可以在这些预先确定的或可配置的时间间隔期间持续将被加时间戳部分放置在未决事务表格310中,对部分进行匹配,确定事务延迟值,并填充已完成事务表格320。电路120可以在另一预先确定的或可配置的时间内停止接收,以允许一些时间进行匹配、确定事务延迟值并随后从未决事务表格310中移除条目。一旦所述另一时间到期,电路120可以再次从网络I/O设备110处的电路接收被加时间戳部分。
根据一些实例,电路120还可以将与所确定的事务延迟值相关联的信息报告给管理逻辑182。如以上针对图1所述的,该报告操作可以是经由带内或带外通信通道的。
图4示出了用于报告事务延迟信息的示例性流程图。在一些实例中,可以使用如图1所示的系统100的元件或在图2中和针对图3所描述的先前过程来图示说明与图4中所阐述的流程图相关的示例性操作。所述的示例性操作并不局限于在系统100上的实现或局限于本文中针对图1所述的元件。这些示例性操作也不局限于在图2中和针对图3所描述的先前过程。
开始于方框405(当前时间间隔开始),在服务器101处保持的电路可以初始化当前时间间隔。例如,电路120或电路132可以初始化定时器。时间间隔可以是预先确定的和/或可配置的,以允许一个时间段(例如,2秒)来从在网络I/O设备110处保持的电路接收入站请求分组或出站应答分组的被加时间戳部分。
从方框405前进至方框410(接收被加时间戳部分),在服务器101处保持的电路执行或实现的元件可以接收被加时间戳部分。在一些实例中,网络I/O设备驱动器142或ME134能够或被配置为从网络I/O设备110接收被加时间戳部分。
从方框410前进至判断框415(请求?),判断所接收的部分是否与入站请求分组相关联。根据一些实例,所接收的被加时间戳部分可以包括TCP/IP报头信息。对于这些实例,在服务器101处保持的电路可以使用在所接收的被加时间戳部分中的DestIP和DestPort信息来判断所接收的部分是否与入站请求分组相关联。例如,如果DestIP的地址和DestPort的端口并未包含在未决事务表格310中,则所接收的部分被视为入站请求分组,并且过程移动至方框420。否则,过程移动至方框425。
从判断框415移动至方框420(放置在事务表格中),可以由在服务器101处保持的电路将所接收的与入站请求分组相关联的被加时间戳部分放置在未决事务表格310中。
从判断框415移动至方框425(找到事务表格中的匹配),可以由在服务器101处保持的电路将所接收的与出站应答分组相关联的被加时间戳部分与先前放置的与入站请求分组相关联的被加时间戳部分进行匹配。根据一些实例,在服务器101处保持的电路可以使用所匹配的被加时间戳部分各自的时间戳来确定事务延迟值。
从方框425前进至判断框430(值>最大值?),在服务器101处保持的电路可以将所确定的事务延迟值与当前时间间隔的最大(max)值进行比较。根据一些实例,当前时间间隔的最大值可以是基于一个或多个先前时间间隔的。对于这些实例,当前时间间隔的最大值可以已经被初始地设置为某个任意的最大值,并且如果该任意设置的最大值被超过则将其更新或改变为当前最大值。如果所确定的事务延迟值超过或大于当前最大值,则过程移动至方框435。否则,过程移动至判断框440。
从判断框430移动至方框435(更新下一个间隔的最大值),在服务器101处保持的电路可以更新下一个时间间隔的最大值。在一些实例中,由于当前间隔的最大值被所确定的事务值所超过,因此可以建立新的或更新后的最大值。
从判断框430移动至判断框440(时间<最小值?),在服务器101处保持的电路可以将所确定的事务延迟值与当前时间间隔的最小(min)值进行比较。根据一些实例,当前时间间隔的最小值可以是基于一个或多个先前时间间隔的。对于这些实例,当前时间间隔的最小值可以已经被初始地设置为某个任意的最小值,并且如果该任意设置的最小值被超过则将其更新或改变为当前最小值。如果所确定的事务延迟值低于或小于当前最小值,则过程移动至方框445。否则,过程移动至方框450。
从判断框440移动至方框445(更新下一个间隔的最小值),在服务器101处保持的电路可以更新下一个时间间隔的最小值。在一些实例中,由于所确定的事务值低于当前间隔的最小值,因此可以建立新的或更新后的最小值。
从方框435、判断框440或方框445移动至方框450(将事务延迟值放置在基于当前间隔的最小/最大值的递增桶式缓存(bucket)中),在服务器101处保持的电路可以将所确定的事务延迟值放置在基于当前时间间隔的最小/最大值的递增桶式缓存(incrementedbucket)。根据一些实例,已经基于所建立的最小/最大值确定了递增桶式缓存。例如,当前时间间隔的最小值可以是1ms,并且当前时间间隔的最大值可以是100ms。如果建立了100个桶式缓存,则会将第一个桶式缓存设置为接收所确定的在0ms与1ms之间的事务延迟值,会将第二个桶式缓存设置为接收所确定的在1ms与2ms之间的事务延迟值。可以按照1ms的递增值来建立后续的桶式缓存,直到将最后一个桶式缓存设置为接收所确定的在99ms与100ms之间的事务延迟值。可替换地,如果建立了100个桶式缓存但最小值是1ms且最大值是500ms,则会以5ms来递增每一个桶式缓存。对于按照1ms递增的桶式缓存的实例,如果如图3所示,所确定的事务值为16.8679ms,则该所确定的事务值会被放置在第17个递增桶式缓存中。
在一些实例中,不是线性地递增所述桶式缓存,而是可以由在服务器101处保持的电路实现其他算法来确定如何递增所述桶式缓存。例如,如果所确定的事务延迟值非均匀地分布在当前最小/最大值之间,则进行某种动态的桶式缓存形成(bucketing),其认识到给定的递增桶式缓存何时变得对于其所分配的大小(例如,所分配的存储器地址)而言过大,并相应地分配新的桶式缓存。该动态分配的桶式缓存可以将过度使用的时间或所确定的事务延迟值群分解为多个子群,从而使得较小的递增桶式缓存能够保持所述子群。该分解可以重复进行,以允许持续变小的子群。
根据一些实例,如果确定了新的最大值或新的最小值,则在服务器101处保持的电路可以调节下一个间隔的桶式缓存的增量。对于这些实例,在下一个时间间隔中的所确定的事务延迟值随后可以被放置在这些更新后的递增桶式缓存中。
在一些实例中,所述递增桶式缓存可以与在服务器101处保持的存储器的多个单独的块相关联,并且对于在服务器101处保持的电路而言是可访问的。例如,所述存储器的多个单独的块可以保持在存储器150中,并且可以对于电路120所支持的元件(例如,网络I/O设备驱动器142)而言是可访问的。在可替换实例中,所述存储器中的多个单独的块可以保持在芯片组130处(未示出),并且对于电路132所支持的元件(例如,ME 134)而言是可访问的。
从方框420或方框450前进至判断框455(当前间隔结束?),在服务器101处保持的电路可以判断当前间隔是否结束(例如,定时器到期)。在一些实例中,当前间隔可以是2秒。本文设想了大于或小于2秒的其他时间间隔。如果当前间隔结束,则过程前进至方框460。否则,过程移动至方框410,以便继续接收额外的被加时间戳部分。
从判断框455移动至方框460(确定第n个百分点桶式缓存),在服务器101处保持的电路可以确定哪个递增桶式缓存是第n个百分点桶式缓存。根据一些实例,第n个百分点桶式缓存可以是基于“n”等于任何小于或等于100的正整数。如果n=95,则确定第95个百分点桶式缓存。所述第95个百分点桶式缓存可以包括在当前时间间隔中被放置在该桶式缓存中的一个或多个所确定的事务延迟值,从而使得这些事务延迟值所具有的值大于或等于放置在其他递增桶式缓存中的事务延迟值中的95%。
根据一些实例,确定第n个百分点桶式缓存可以实现相对较快的方式,来识别被放置在一个可以包含诸如第95个百分点事务延迟值之类的统计值的递增桶式缓存中的一组事务延迟值。与必须通过查找被放置在全部递增桶式缓存中的全部事务延迟值来确定第95个百分点延迟相比,该识别方式可以更快并且可以需要更少的资源(例如,存储器资源)。
从方框460移动至方框465(拣出第n个百分点桶式缓存以确定第n个百分点值),在服务器101处保持的电路可以拣出所识别的第n个百分点桶式缓存。在一些实例中,一旦拣出了第n个百分点桶式缓存,则在服务器101处保持的电路可以确定当前时间间隔的第n个百分点事务延迟值。例如,第95个百分点事务延迟值将会使得:所确定的事务延迟值中的95%低于该值,而5%高于该值。在服务器101处保持的电路随后可以将第n个百分点事务延迟值报告给管理逻辑182。该第n个百分点事务延迟值可以在每个时间间隔之后报告,或者可以按照其他时间间隔报告,在此情况下,其可以包括在所述其他时间间隔中的平均的第n个百分点值。过程最后移动回方框405,以开始另一个间隔。
图5示出了第一示例性数据中心。如图5所示,该第一示例性数据中心包括数据中心500。根据一些实例,数据中心500包括服务器510-1至510-m,其经由各自的通信通道520-1至520-m耦合至管理逻辑505,其中“m”等于任何大于2的正整数。通信通道520-1至520-m可以包括带内或带外通信通道,被动式监视器512-1至512-m可以经由所述通信通道将事物延迟信息传送或报告给管理逻辑505。
根据一些实例,被动式监视器512-1至512-m可以包括一个或多个网络I/O设备,网络I/O设备具有能够对入站请求分组和出站应答分组加时间戳并捕获这些被加时间戳的分组的多个部分的电路。被动式监视器512-1至512-m还可以包括在服务器510-1至510-m处保持的电路,所述电路能够从网络I/O设备接收所捕获的被加时间戳部分,并基于被加时间戳部分来为入站请求分组与出站应答分组的匹配对确定单独的事务延迟值。服务器510-1至510-m处保持的电路还使得被动式监视器512-1至512-m能够将所确定的单独的事务延迟值报告给管理逻辑505。
图6示出了示例性的在服务器之间观察到的事务延迟。如图6所示,服务器510-1(服务器i)可以经由网络通信通道600耦合至服务器510-2(服务器j)。根据一些实例,在服务器510-1和510-2处的被动监视器512-1和512-2可以监视在这些服务器之间交换的网络业务。对于这些实例,在这两个服务器中任一个处的入会话指示该服务器正在提供特定类型的服务,而出会话可以指示该服务器正在使用由另一服务器所提供的特定类型的服务。在这些会话的每一个中,可以发生多个事务。
根据一些实例,用ci,j表示从服务器i(510-1)发起至服务器j(510-2)的事务的数量。被动式监视器512-1或512-2能够将入(入站)请求分组和出(出站)应答分组进行关联,以如以上针对图1-4所述地计算单独的事务延迟值。通过在网络通信通道600上收集所确定的事务延迟值(或代表性采样),可以计算或确定针对网络通信通道600的平均通道事务延迟值。另外,用表示在服务器i处观察到的从服务器i至服务器j的第一平均事务延迟值,并用表示在服务器j处观察到的从服务器i至服务器j的第二平均事务延迟值。
在一些实例中,管理逻辑505能够建立数据中心500的服务拓扑结构。对于这些实例,所述服务拓扑结构可以是一个直连图,其中每个顶点映射一个服务器。假设从服务器i(510-1)至服务器j(510-2)发起一个或多个会话(即ci,j>0),则可以给出从相应的顶点i指向相应的顶点j的弧。
根据一些实例,在一个给定的监视周期、时间间隔或时间段期间,ci,j个事务可以发生在服务器i(510-1)与服务器j(510-2)之间的网络通信通道600上。在服务器i和服务器j处所观察到的平均事务延迟值可能是不同的,其中,该差异来自于针对网络通信通道600的平均通道事务延迟。作为结果,可以使用示例性公式(1)来确定针对网络通信通道600的平均通道事务延迟。
示例性公式(1):
图7示出了示例性的在服务器处观察到的事务延迟。如图7所示,示出了服务器i(510-1),其具有入箭头和出箭头来图示说明在各个网络通信通道上的入事务和出事务。根据一些实例,在第一监视周期或时间段中的入事务的总数量可以用表示,而由服务器i和其他服务器(例如,包括服务器j)为事务进行服务中所累积的总时间可以用表示。另外,在服务器i处处理事务时,服务器i可以分析事务并产生由其他服务器进行服务的新请求。在经由网络通信通道发送所述新请求中以及在由其他服务器对其进行服务中所累积的总时间可以用来表示。根据一些实例,在之间的差可以指示在服务器i处处理事务中所累积的总时间。作为结果,可以使用示例性公式(2)计算或确定在服务器i处的平均事务延迟值。
示例性公式(2):
根据一些实例,可以将所确定的关于li和li→j的事务延迟值分别分配给在数据中心500中部署的服务器的拓扑结构中的顶点和弧。由此得到的拓扑结构可以得到一个延迟分布图或拓扑图,其包括针对网络通信通道600的平均通道事务延迟以及针对服务器i(服务器510-1)的平均服务器延迟值。对于这些实例,管理逻辑505可以包括能够将示例性公式(1)和(2)用于数据中心500中其他服务器,以便基于从数据中心500中包括的服务器的被动式监视器接收的事务延迟值来完成更为详细的拓扑结构图的逻辑和/或特征。
图8示出了第二示例性数据中心。如图8所示的,第二示例性数据中心包括数据中心800。在一些实例中,如图8所示,数据中心800包括服务器810至870。对于这些实例,在拓扑结构图中示出了所确定的针对网络通信通道的平均通道事务延迟值以及平均服务器事务延迟值。例如,服务器810示出了16ms的平均服务器事务延迟值。另外,到服务器830和840的网络通信通道具有的平均通道事务延迟值分别为2ms和7ms。
根据一些实例,数据中心800的管理逻辑可以包括用于产生图8中所示的拓扑结构图的逻辑和/或特征。对于这些实例,管理逻辑可以使用示例性公式(1)和(2)来产生该拓扑结构图。可以在一个给定的监视周期或时间段(例如,每几秒)之后,在重复的基础上产生和/或更新拓扑结构图。
在一些实例中,图8中所示的拓扑结构图可以提供关于由管理逻辑所管理的数据中心中的服务器的事务延迟值的可视化表示。
图9示出了第二示例性系统。如图9所示,第二示例性系统包括系统900。在一些实例中,如图9所示,系统900包括具有服务器912-1至912-m的数据中心910,这些服务器经由网络通信通道975耦合至网络970,以及经由一个(或多个)通信通道915耦合至管理网络980。另外,如图9所示的,管理网络980可以包括经由通信链接983耦合至管理控制台984的管理逻辑982。
在一些实例中,管理逻辑982可以包括用于从服务器912-1至912-m接收事务延迟值的逻辑和/或特征。对于这些实例,管理逻辑982可以接收响应于轮询请求的事务延迟值。可替换地,管理逻辑982可以按照规则的监视间隔来接收事务延迟值。管理逻辑982可以将所接收的事务延迟值与同服务器912-1至912-m和/或所述多个服务器所提供的服务(例如,网站服务、应用托管服务或数据库服务)相关联的目标事务延迟值进行比较。管理逻辑982可以基于服务器912-1至912-m之中的一个或多个服务器提供的事务延迟值超过目标事务延迟值,而产生警报。所产生的警报可以被发送至管理控制台984,其被配置为允许操作者监视服务器912-1至912-m的性能。所述警报可以指示被超过的一个(或多个)给定的目标事务延迟值,并识别与超过该目标的一个(或多个)事务延迟值相关联的一个(或多个)服务器和/或一个(或多个)服务。
根据一些实例,服务器912-1至912-m可以包括被动式监视器,其具有至少一个网络I/O设备用于对入站请求分组和出站应答分组二者加时间戳。所述至少一个网络I/O设备可以收集被单独地加时间戳的入站请求分组和出站应答分组的多个部分,以使得服务器912-1至912-m能够识别与服务器912-1至912-m所提供的服务相关联的单独的事务。被动式监视器还可以包括用于使得服务器912-1至912-m能够确定所识别的与相应服务相关联的单独的事务的单独的事务延迟值。这些单独的事务延迟值将会响应于轮询请求或者在给定的监视周期或时间段结束时被报告给管理逻辑982。
在一些实例中,如先前所述的,所收集的被单独地加时间戳的分组的部分可以包括来自这些分组的TCP/IP报头的信息。对于这些实例,可以基于在被单独地加时间戳的出站应答分组的被收集部分中包含的目的地IP地址,来识别服务器912-1至912-m之中的与超过给定目标的一个(或多个)事务延迟值相关联的服务器。另外,可以基于在被单独地加时间戳的出站应答分组的被收集部分中包含的目的地端口,来识别由该服务器所提供的服务。
根据一些实例,由管理逻辑982从服务器912-1至912-m接收的事务延迟值可以包括所述服务器中的一个或多个服务器的变化的平均事务延迟值。所述事务延迟值还可以包括所述服务器中的一个或多个服务器的第95个或第n个百分点事务延迟值,或者与在服务器912-1至912-m处的被动式监视器所确定的事务延迟值相关联的任意其他类型的统计值。
在一些实例中,可以基于在正常工作(例如,没有显著的性能问题)的多个时间段中和/或在稳定网络业务的多个时间段期间观察服务器912-1至912-m的历史性能趋势,来建立目标事务延迟值。为了允许性能中的一些变化,可以建立保护带来应对诸如在网络业务中的突发所造成的突发工作负担之类的努力(effort),所述突发工作负担会造成事务延迟值中的临时尖峰。例如,保护带可以使正常观察到的事务延迟值加倍或三倍。保护带的大小可以取决于变化中的等级变化和/或频率。
图10示出了第三示例性系统。如图10所示,第三示例性系统包括系统1000。在一些实例中,如图10所示,系统1000包括具有物理服务器1010和1020的数据中心1005,这两个服务器经由通信通道1015耦合至管理逻辑1030。另外,如图10所示,物理服务器1010包括被动式监视器1012和虚拟机管理器(VMM)1011和1013。另外,物理服务器1020包括被动式监视器1022和VMM 1021和1023。
根据一些实例,在物理服务器1010或物理服务器1020中包含的VMM可以管理任意数量的虚拟机(VM),其在图10中被示为VM-1至VM-p,其中“p”表示大于2的任何正整数。另外,VM-1至VM-p可以单独地支持至少一个应用(App),其在图10中被示为App-1至App-q,其中“q”表示大于2的任何正整数。因此,VM-1至VM-p可以充当虚拟服务器。VM所支持的App可以表示该VM所支持的服务。因此,被动式监视器1012或1022可以包括在网络I/O设备处或在其各自的物理服务器1010或1020处保持的电路,以便确定由各个VM所支持的App所完成的事务的事务延迟值。所述事务可以基于在同一个物理服务器上的VM或在不同物理服务器上的VM所放置的或来自其他网络源(未示出)的请求。
在一些实例中,管理逻辑1030可以经由通信通道1015从数据中心1005的物理服务器1010和1020接收事务延迟值。管理逻辑1030可以接收响应于轮询请求的事务延迟值。可替换地,管理逻辑1030可以按照规则的监视间隔来接收事务延迟值。对于这些实例,管理逻辑1030可以尝试建立额外的VM或虚拟服务器,并且可以使用所接收的事务延迟值来确定哪一个物理服务器具有较好的或充足的能力来支持所述额外的VM。事务延迟值可以是关于给定的物理服务器支持所述额外的VM的能力的至少一个指示符。其他指示可以包括但不限于可用的处理能力、可用存储器的类型和/或量等等。
根据一些实例,可以将事务延迟值与目标值相关联,所述目标值指示对于在给定的物理服务器上的给定的VM执行的给定的App所服务的事务的最大或最高期望事务延迟值。管理逻辑1030可以使用该目标值,通过平衡数据中心1005中的物理服务器1010和1020所支持的VM的数量以便努力避免这些物理服务器超过所述目标值,来保持物理服务器1010或1020的可接受的性能等级。在物理服务器的所报告的事务延迟值与所述目标值之间的间隙可以被称为可用净空。
在一些实例中,管理逻辑1030可以至少部分地基于所接收的事务延迟值来确定物理服务器1010或1020的可用能力(例如,净空)。对于这些实例,管理逻辑1030随后可以将新的虚拟服务器分配给具有最高的所确定能力或可用净空的物理服务器,以支持新的VM或虚拟服务器。例如,管理逻辑1030可以确定物理服务器1010比物理服务器1020具有更多的净空(例如,较低的所报告事务延迟值)。管理逻辑1030随后可以设置由物理服务器1010来建立并支持新的VM或虚拟服务器。
根据一些实例,管理逻辑1030还可以确定物理服务器1020已经超过了事务延迟值的目标值。超过目标值可以指示物理服务器1020需要将一些VM迁移或移动至物理服务器1010,假设物理服务器1010具有可用的净空来支持被迁移的VM。虽然在图10中并未示出,但是管理逻辑1030可以在数据中心1005中具有额外的物理服务器,其可以被用于从物理服务器1020迁移VM。这些额外的物理服务器也可以发送事务延迟值至管理逻辑1030,如上所述的。如果在所述额外的物理服务器中的物理服务器有可用的净空来支持被迁移的VM,则该|VM可以被迁移至该物理服务器。
图11示出了第一装置1100的示例性方框图。如图11所示,该第一装置包括装置1100。尽管在图11中所示的装置1100具有在特定的拓扑结构中的有限数量的元件,但是应该理解,按照给定实现方式的期望,装置1100可以包括在替代拓扑结构中的更多或更少的元件。
装置1100可以由在耦合至服务器的网络I/O设备处保持的电路1120支持。电路1120可以被设置为执行一个或多个由软件或固件实现的模块1122-a。值得注意的是,本文所使用的“a”、“b”和“c”以及类似指示旨在用于表示任何正整数的变量。因此,例如,如果一个实现方式设置值a=5,则软件或固件模块1122-a的完备集合应该是1122-1、1122-2、1122-3、1122-4或1122-5。所给出的实例并不限于此上下文,并且在通篇中所使用的不同变量可以表示相同或不同的整数值。
根据一些实例,电路1120可以包括处理器或处理器电路。所述处理器或处理器电路可以是各种商业可获得的处理器中的任意处理器,包括但不限于:处理器;的应用嵌入式安全处理器;处理器;IBM和的Cell处理器;Core(2)Core i3,Core i5,Core i7, 处理器;以及类似处理器。根据一些实例,电路1120还可以是专用集成电路(ASIC),并且至少一些模块1422-a可以被实现为ASIC的硬件元件。
根据一些实例,装置1100可以包括时间戳模块1122-1。时间戳模块1122-1能够将单独的时间戳放置入站请求分组1105上,所述入站请求分组1105的目的地为包括装置1100的网络I/O设备经由其而被耦合的服务器。时间戳模块1122-1还能够将单独的时间戳放置在源自该服务器的出站应答分组1125上。
在一些实例中,装置1100还可以包括捕获模块1122-2。捕获模块1122-2能够捕获单独的入站请求分组1105的多个部分和单独的出站应答分组1115的多个部分。所捕获部分可以唯一地识别被单独地加时间戳的入站请求分组和被单独地加时间戳的出站应答分组。根据一些实例,所捕获部分可以从入站报头信息1124-a和出站报头信息1126-b获得。入站报头信息1124-a和出站报头信息1126-b可以已经从入站请求分组1105或出站应答分组1115的单独的TCP/IP报头获得。捕获模块1122-2能够至少暂时地存储带有各自时间戳的所捕获部分(例如,在诸如查询表(LUT)之类的数据结构中)。
在一些实例中,装置1100还可以包括传送模块1122-3。传送模块1122-3能够获得(例如,从LUT获得)入站请求分组1105或出站应答分组1115的带有各自时间戳的所捕获部分。可以将带有各自时间戳的所捕获部分作为被加时间戳的入站分组部分1135和被加时间戳的出站分组部分1145进行传送。对于这些实例,被加时间戳的入站分组部分1135和被加时间戳的出站分组部分1145可以被传送至在耦合至包括装置1100的网络I/O设备的服务器处保持的电路。传送模块1122-3可以使用传输协议信息1128-c(例如,保存在LUT中)来格式化被传送至在服务器处保持的电路的信息(例如,使用兼容MCTP和/或PCI-Express的协议)。
根据一些实例,位于网络I/O设备处的装置1100可以充当耦合至网络I/O设备的服务器的被动式监视器的第一部分。如以上针对图5和9所述的,被动式监视器可以包括由在网络I/O设备处保持的电路(例如电路1120)和在服务器处保持的电路所支持的元件。如以下更为详细描述的,在服务器处保持的电路可以充当被动式监视器的第二部分,并且可以使用被传送的、被加时间戳的入站请求分组和出站应答分组的所捕获部分来确定该服务器的事务延迟值。
本文包含了一组逻辑流,用于表示用于执行所公开的架构的新颖性方面的示例性方法。虽然为了解释简单的目的,本文所示的该一个或多个方法被图示和描述为一系列的动作,但是本领域技术人员应该理解和认识到,这些方法并不受到这些动作的顺序的限制。与本文所图示和描述的相比,一些动作,根据这些动作,可以按照不同的顺序发生,和/或者与其他动作同时发生。例如,本领域技术人员将会理解和认识到,方法可以可替换地表示为一系列相互关联的状态或事件,诸如在状态图中。此外,对于新颖性的实现方式,并非是在方法中所示的全部动作都是所需要的。
逻辑流可以实现为软件、固件和/或硬件。在软件和固件实施例中,逻辑流可以由存储在至少一个非瞬态计算机可读介质或机器可读介质(诸如光学存储设备、磁性存储设备或半导体存储设备)上的计算机可执行指令来实现。实施例并不局限于该上下文。
图12示出了第一逻辑流的示例。如图12所示,第一逻辑流包括逻辑流1200。逻辑流1200可以表示由本文所述的一个或多个逻辑、特征或设备(诸如装置1100)执行操作的一些或全部。更为具体地,逻辑流1200可以由时间戳模块1122-1、捕获模块1122-2或传送模块1122-3来实现。
根据一些实例,在方框1202,逻辑流1200可以将单独的时间戳放置在目的地为耦合至网络I/O设备的服务器的入站请求分组上,该网络I/O设备具有装置1100。在方框1202,逻辑流1200还可以将单独的时间戳放置在源自该服务器的出站应答分组上。例如,时间戳模块1122-1可以将单独的时间戳放置在入站请求分组1105和出站应答分组1115上。
在一些实例中,在方框1204,逻辑流1200可以捕获单独的入站请求分组的多个部分和单独的出站应答分组的多个部分。对于这些实例,所述部分可以由捕获模块1122-2来捕获,并可以唯一地识别被单独地加时间戳的入站请求分组1105和被单独地加时间戳的出站应答分组1115。
在一些实例中,在方框1206,逻辑流1200可以将带有各自时间戳的所捕获部分传送至在该服务器处保持的电路。对于这些实例,传送模块1122-3可以将被加时间戳的入站分组部分1135和被加时间戳的出站分组部分1145传送至在该服务器处保持的电路。
图13示出了第一存储介质的示例。如图13所示,第一存储介质包括存储介质1300。存储介质1300可以包括制品。在一些实例中,存储介质1300可以包括任何非瞬态计算机可读介质或机器可读介质,诸如光学存储设备、磁性存储设备或半导体存储设备。存储介质1300可以存储各种类型的计算机可执行指令,诸如用于实施逻辑流1300的指令。计算机可读或机器可读存储介质的实例可以包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移除或非可移除存储器、可擦除或非可擦除存储器、可写或可覆写存储器等等。计算机可执行指令的实例可以包括任意合适类型的代码,诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码、面向对象的代码、可视化代码等等。所述实例并不局限于此上下文。
图14示出了第二装置的示例性方框图。如图14所示,该第二装置包括装置1400。尽管在图14中所示的装置1400具有在特定的拓扑结构或配置中的有限数量的元件,但是应该理解,按照给定实现方式的期望,装置1400可以包括在替代配置中的更多或更少的元件。
装置1400可以由在服务器处保持的电路1420支持。电路1420可以被设置为执行一个或多个由软件或固件实现的模块1422-a。值得注意的是,本文所使用的“a”、“b”和“c”以及类似指示旨在用于表示任何正整数的变量。因此,例如,如果一个实现方式设置值a=7,则软件或固件模块1422-a的完备集合应该包括模块1422-1、1422-2、1422-3、1422-4、1422-5、1422-6或1422-7。所给出的实例并不限于此上下文,并且在通篇中所使用的不同变量可以表示相同或不同的整数值。
在一些实例中,如图14所示的,装置144包括电路1420。电路1420可以通常被设置为执行一个或多个软件和/或固件模块1422-a。电路1420可以是包含处理核心(例如,用作中央处理单元(CPU))的服务器的电路的一部分。可替换地,电路1420可以是服务器的芯片组中的电路的一部分。在任一场景中,电路1420都可以是各种商业可获得的处理器中的任何处理器的一部分,这些处理器包括但不限于先前针对装置1100的电路1120所述的那些处理器。电路1420还可以是双微处理器、多核处理器或其他多处理器架构的一部分。根据一些实例,电路1420还可以是ASIC,并且模块1422-a可以被实现为作为芯片组中的电路的一部分而包含的ASIC的硬件元件(例如,管理引擎)。
根据一些实例,装置1400可以包括请求模块1422-1。请求模块1422-1能够从耦合至该服务器的网络I/O设备接收被加时间戳的入站请求分组部分1405,该服务器具有装置1400。请求模块1422-1还能够将所接收的被加时间戳的入站请求分组部分1405放置在事务表格1423-a(例如,其被保持在诸如查询表(LUT)或便笺式存储器之类的数据结构中)中。
在一些实例中,装置1400还可以包括应答模块1422-2。应答模块1422-2能够从网络I/O设备接收被加时间戳的出站应答分组部分1415。应答模块1422-2还能够将所接收的被加时间戳的出站应答分组部分1415放置在事务表格1423-a中。
在一些实例中,装置1400还可以包括匹配模块1422-3。匹配模块1422-3能够将在事务表格1423-a中放置的被加时间戳的入站请求分组部分1405与同样在事务表格1423-a中放置的被加时间戳的出站应答分组部分1415进行匹配。对于这些实例,可以使用在被加时间戳部分中包含的诸如目的地地址/端口的信息来将入站请求分组和出站应答分组中各自的被加时间戳部分进行匹配。
在一些实例中,装置1400还可以包括延迟模块1422-4。延迟模块1422-4能够使用入站请求分组和出站应答分组各自的匹配的被加时间戳部分的第一时间戳和第二时间戳,来确定由服务器和/或服务器支持的元件(诸如,VM或虚拟服务器)所执行的事务的单独的事务延迟值。对于这些实例,可以将所确定的事务延迟值放置在事务完成表格1424-b中。事务完成表格1424-b可以被保持在诸如LTU或便笺式存储器之类的数据结构中。根据一些实例,一旦给定的事务延迟值被确定并被放置在事务完成表格1424-b中,就可以从事务表格1423-a中移除相应的所接收的被加时间戳的入站请求分组部分1405和出站应答分组部分1415。
根据一些实例,装置1400还可以包括桶式缓存模块1422-5。桶式缓存模块1422-5能够在当前时间间隔期间,从事务完成表格1424-b收集或获得所确定的单独的事务延迟值,并将这些值放置在多个桶式缓存中。对于这些实例,每个桶式缓存可以与一个递增时间差相关联,并且被配置为基于各个单独地确定的事务延迟值相对于给定的递增时间差的接近度(proximity),来保存这些单独地确定的事务延迟值中的一个或多个。同样对于这些实例,每个递增时间差都是可以基于在先前时间间隔中所收集的所确定的单独的事务延迟值中最低的所确定的事务延迟值与最高的所确定的事务延迟值之间的时间跨度。
在一些实例中,装置1400还可以包括拣出模块1422-6。拣出模块1422-6能够确定由桶式缓存模块1422-5所使用的多个桶式缓存中的哪个桶式缓存包含第n个百分点的所确定的事务延迟值。拣出模块1422-6可以拣出包含该第n个百分点的所确定的事务延迟值的桶式缓存,以便确定等于该第n个百分点的所确定的事务延迟值的一个给定的事务延迟值。
根据一些实例,装置1400还可以包括报告模块1422-7。报告模块1422-7能够将与所确定的单独的事务延迟值相关联的信息报告给管理逻辑(例如,其与管理网络和/或管理控制台相关联),所述管理逻辑被配置为管理包括具有装置1400的服务器在内的多个服务器。报告模块1422-7可以使用传输协议信息1427-e(例如,其被保持在LUT或其他数据结构中)来格式化向管理逻辑报告的信息(例如,使用兼容IPMI的协议)。被报告的信息可以包括从拣出模块1422-6对递增的桶式缓存的拣出中得到的第n个百分点的所确定的事务延迟值。该信息还可以包括但不限于其他与统计相关的信息,诸如变化的平均的所确定的事务延迟值或最大/最小的所确定的事务延迟值。
根据一些实例,由在耦合至网络I/O设备的服务器处的电路所支持的装置1400可以充当该服务器的被动式监视器的第二部分。如以上针对图11所述的,被动式监视器可以包括由在网络I/O设备处保持的电路(例如电路1120)和在服务器处保持的电路(例如,电路1420)所支持的元件。如上所述的装置1400的元件或模块可以通过以下来实现被动式监视器的第二部分:使用所传送的、被加时间戳的入站请求分组和出站应答分组的所捕获部分确定服务器的事务延迟值,并随后将所确定的事务延迟值报告给可通信地耦合至服务器的管理逻辑。
装置1400的各个组件和实现装置1400的设备可以通过各种通信介质可通信地彼此耦合,以便协调操作。所述协调可以涉及对信息的单向或双向交换。例如,所述组件可以采用在所述通信介质上传送的信号的形式来传送信息。所述信息还可以被实现为分配给各种信号线路的信号。在这种分配中,每个消息是信号。然而,其他实施例可以可替换地使用数据消息。这种数据消息可以在各种连接间发送。示例性的连接包括并行接口、串行接口和总线接口。
本文包含了一组逻辑流,用于表示用于执行所公开的架构的新颖性方面的示例性方法。虽然为了解释简单的目的,本文所示的该一个或多个方法被图示和描述为一系列的动作,但是本领域技术人员应该理解和认识到,这些方法并不受到这些动作的顺序的限制。与本文所图示和描述的相比,一些动作,根据这些动作,可以按照不同的顺序发生,和/或者与其他动作同时发生。例如,本领域技术人员将会理解和认识到,一种方法可以可替换地表示为一系列相互关联的状态或事件,诸如在状态图中。此外,对于新颖性的实现方式,并非是在一个方法中所示的全部动作都是所需要的。
逻辑流可以实现为软件、固件和/或硬件。在软件和固件实施例中,逻辑流可以由存储在至少一个非瞬态计算机可读介质或机器可读介质(诸如光学存储设备、磁性存储设备或半导体存储设备)上的计算机可执行指令来执行。实施例并不局限于该上下文。
图15示出了第二逻辑流的示例。如图15所示,第二逻辑流包括逻辑流1500。逻辑流1500可以表示由本文所述的一个或多个逻辑、特征或设备(诸如装置1400)执行操作的一些或全部。更为具体地,逻辑流1500可以由请求模块1422-1、应答模块1422-2、匹配模块1422-3、延迟模块1422-4、桶式缓存模块1422-5、拣出模块1422-6或报告模块1422-7来实现。
在如图15所示的图示说明的实例中,在方框1502处,逻辑流1500可以从耦合至服务器的网络输入/输出设备接收入站请求分组的被加时间戳部分,并将所接收的入站请求分组的被加时间戳部分放置在事务表格中。对于这些实例,请求模块1422-1可以接收被加时间戳的入站请求分组部分1405并将这些分组部分放置在表格1423-a中。
根据一些实例,在方框1504处,逻辑流1500可以从网络输入/输出设备接收出站应答分组的被加时间戳部分,并将所接收的出站应答分组的被加时间戳部分放置在事务表格中。对于这些分组,请求模块1422-1可以接收被加时间戳的出站应答分组部分1415并将这些分组部分放置在事务表格1423-a中。
根据一些实例,在方框1506处,逻辑流1500可以基于在事务表格中放置的入站请求分组和出站应答分组各自的被加时间戳部分中包含的信息,来将入站请求分组的被加时间戳部分与出站应答分组的被加时间戳部分进行匹配。对于这些实例,匹配模块1422-3可以将在事务表格1423-a中放置的被加时间戳的入站请求分组部分1405与同样在事务表格1423-a中放置的被加时间戳的出站应答分组部分1415进行匹配。
在一些实例中,在方框1508处,逻辑流1500可以使用入站请求分组和出站应答分组各自的匹配的被加时间戳部分的第一时间戳和第二时间戳,来确定由服务器所执行的事务的单独的事务延迟值。对于这些实例,所确定的事务延迟值可以由延迟模块1422-4来确定,并随后放置在事务完成表格1424-b中。
根据一些实例,在方框1510处,逻辑流1500可以将所确定的单独的事务延迟值收集在多个时间递增的桶式缓存中。对于这些实例,桶式缓存模块1422-5可以将单独的事务延迟值收集在基于先前时间间隔中的最小/最大的所确定的事务延迟值而递增的桶式缓存中。对于这些实例,如针对图4所述的,最小/最大的所确定的事务延迟值可以在当前时间间隔期间更新,并随后,在后续的时间间隔中用于决定所述桶式缓存是如何进行递增的。
在一些实例中,在方框1512处,逻辑流1500可以判断哪个时间递增的桶式缓存包含第n个百分点的所确定的事务延迟值,并随后拣出此桶式缓存来确定第n个百分点的所确定的事务延迟值。对于这些实例,拣出模块1422-6可以首先确定哪个桶式缓存包含第n个百分点的所确定的事务延迟值,并随后拣出该桶式缓存来找到该第n个百分点的所确定的事务延迟值。根据一些实例,该第n个百分点的所确定的事务延迟值可以是第95个百分点的所确定的事务延迟值。
根据一些实例,在方框1514处,逻辑流可以报告事务延迟信息。对于这些实例,报告模块1422-7可以包括诸如如下的信息:第95个百分点的所确定的事务延迟值,或者与所确定的事务延迟值相关的其他类型的统计信息(例如,变化的平均值、最大/最小值等等)。
图16示出了第二存储介质的示例。如图16所示,第二存储介质包括存储介质1600。存储介质1600可以包括制品。在一些实例中,存储介质1600可以包括任何非瞬态计算机可读介质或机器可读介质,诸如光学存储设备、磁性存储设备或半导体存储设备。存储介质1600可以存储各种类型的计算机可执行指令,诸如用于实施逻辑流1500的指令。计算机可读或机器可读存储介质的实例可以包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移除或非可移除存储器、可擦除或非可擦除存储器、可写或可覆写存储器等等。计算机可执行指令的实例可以包括任意合适类型的代码,诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码、面向对象的代码、可视化代码等等。所述实例并不局限于此上下文。
图17示出了第三装置的示例性方框图。如图17所示,该第三装置包括装置1700。尽管在图17中所示的装置1700具有在特定的拓扑结构或配置中的有限数量的元件,但是应该理解,按照给定实现方式的期望,装置1700可以包括在替代配置中的更多或更少的元件。
装置1700可以由在服务器处保持的电路1720支持。电路1720可以被设置为执行一个或多个由软件或固件实现的模块1722-a。值得注意的是,本文所使用的“a”、“b”和“c”以及类似指示旨在用于表示任何正整数的变量。因此,例如,如果一个实现方式设置值a=2,则软件或固件模块1422-a的完备集合可以包括模块1722-1或1722-2。所给出的实例并不限于此上下文,并且在通篇中所使用的不同变量可以表示相同或不同的整数值。
在一些实例中,如图17所示的,装置1700包括电路1720。电路1720可以通常被设置为执行一个或多个软件和/或固件模块1722-a。电路1720可以是包含处理核心(例如,用作CPU)的服务器的电路的一部分。可替换地,电路1720可以是服务器的芯片组中的电路的一部分。在任一场景中,电路1720都可以是各种商业可获得的处理器中的任何处理器的一部分,所述处理器包括但不限于先前针对装置1100的电路1120所述的那些处理器。电路1720还可以是双微处理器、多核处理器或其他多处理器架构的一部分。根据一些实例,电路1720还可以是ASIC,并且模块1722-a可以被实现为作为芯片组中的电路的一部分而包含的ASIC的硬件元件(例如,管理引擎或功率节点管理器)。
根据一些实例,装置1700可以包括延迟模块1722-1。延迟模块1722-1能够基于与出站应答分组的被加时间戳部分匹配的入站请求分组的被加时间戳部分,来确定事务延迟值,其中,所述出站应答分组的被加时间戳部分是从耦合至具有装置1700的服务器的网络I/O设备接收。对于这些实例,延迟模块1722-1可以使用被加时间戳的入站/出站分组部分1705来确定事务延迟值。在一些实例中,延迟模块1722-1可以执行以上针对在装置1400中包括的模块所述的功能的一部分或全部,以便确定事务延迟值。例如,延迟模块1722-1可以接收入站/出站分组部分1705,将入站请求部分与出站应答部分进行匹配,并基于所匹配的部分来确定单独的事务延迟值。在一些实例中,延迟模块1722-1可以充当被动式监视器的第二部分。同时,在网络I/O设备处的电路可以充当该被动式监视器的第一部分。
在一些实例中,装置1700还可以包括功率模块1722-2。功率模块1722-2能够导致提供给服务器的功率量基于由延迟模块1722-1所确定的事务延迟值与给定的事务延迟目标的比较而被调整。对于这些实例,该给定的事务延迟目标可以基于由功率模块1722-2(例如,在LUT中)所保持的性能目标信息1726-b。根据一些实例,性能目标信息1726-b可以包括经由一个(或多个)性能目标1715所接收的信息。根据一些实例,性能目标1715可以从管理逻辑接收,所述管理逻辑能够作为包括多个服务器的数据中心的一部分来管理该服务器。性能目标1715可以包括但不限于事务延迟目标值或功耗目标。在一些其他实例中,性能目标1715可以结合功率控制策略,所述功率控制策略被嵌入在服务器的基本输入/输出系统(BIOS)中、或被包含在由服务器的操作系统或管理元件(例如,管理引擎)所管理的功率管理方案中。对于这些其他实例,可以从所述BIOS、操作系统或管理元件中的一个或多个中获得性能目标1715。
功率模块1722-2还可以保持功率设置信息1728-c(例如,在LUT或其他数据结构中)。功率设置信息1728-c可以包括与服务器的功率管理相关联的策略信息,其可以指示功率模块1722-2如何导致对提供给服务器的功率量的调整来满足给定的事务延迟目标。在一些实例中,功率设置信息1728-c还可以基于所接收的或所获得的性能目标1715。
装置1700的各个组件和实现装置1700的设备可以通过各种通信介质可通信地彼此耦合,以便协调操作。所述协调可以涉及对信息的单向或双向交换。例如,所述组件可以采用在所述通信介质上传送的信号的形式来传送信息。所述信息可以被实现为分配给各种信号线路的信号。在这种分配中,每个消息是信号。然而,其他实施例可以可替换地使用数据消息。这种数据消息可以在各种连接间发送。示例性的连接包括并行接口、串行接口和总线接口。
本文包含了一组逻辑流,用于表示用于执行所公开的架构的新颖性方面的示例性方法。虽然为了解释简单的目的,本文所示的该一个或多个方法被图示和描述为一系列的动作,但是本领域技术人员应该理解和认识到,这些方法并不受到这些动作的顺序的限制。与本文所图示和描述的相比,一些动作,根据这些动作,可以按照不同的顺序发生,和/或者与其他动作同时发生。例如,本领域技术人员将会理解和认识到,一种方法可以可替换地表示为一系列相互关联的状态或事件,诸如在状态图中。此外,对于新颖性的实现方式,并非是在一个方法中所示的全部动作都是所需要的。
逻辑流可以实现为软件、固件和/或硬件。在软件和固件实施例中,逻辑流可以由存储在至少一个非瞬态计算机可读介质或机器可读介质(诸如光学存储设备、磁性存储设备或半导体存储设备)上的计算机可执行指令来执行。实施例并不局限于该上下文。
图18示出了第三逻辑流的示例。如图18所示,第三逻辑流包括逻辑流1800。逻辑流1800可以表示由本文所述的一个或多个逻辑、特征或设备(诸如装置1800)执行操作的一些或全部。更为具体地,逻辑流1800可以由延迟模块1722-1或功率模块1722-2来实现。
在如图18所示的图示说明的实例中,在方框1802处,逻辑流1800可以基于与出站应答分组的被加时间戳部分匹配的入站请求分组的被加时间戳部分,来确定事务延迟值,其中,所述出站应答分组的被加时间戳部分是从耦合至包括装置1700的服务器的网络I/O设备接收的。在一些实例中,延迟模块1722-1可以从网络I/O设备处的电路接收被加时间戳的入站/出站分组部分1705,并使用所接收的被加时间戳的入站/出站分组部分1705来确定事务延迟值。
根据一些实例,在方框1804处,逻辑流1800可以导致提供给服务器的功率量基于由延迟模块所确定的事务延迟值与给定的事务延迟目标值的比较而被调整。功率模块1722-2可以基于性能目标信息1726和/或功率设置信息1728-c,来导致对功率量的调整。在一些实例中,所接收的性能目标1715(例如,从管理逻辑、BIOS、OS或ME接收)可以影响或设置在性能目标信息1726和/或功率设置信息1728-c中包含的事务延迟或功耗的值。
图19示出了第三存储介质的示例。如图19所示,第三存储介质包括存储介质1900。存储介质1900可以包括制品。在一些实例中,存储介质1900可以包括任何非瞬态计算机可读介质或机器可读介质,诸如光学存储设备、磁性存储设备或半导体存储设备。存储介质1900可以存储各种类型的计算机可执行指令,诸如用于实施逻辑流1800的指令。计算机可读或机器可读存储介质的实例可以包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移除或非可移除存储器、可擦除或非可擦除存储器、可写或可覆写存储器等等。计算机可执行指令的实例可以包括任意合适类型的代码,诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码、面向对象的代码、可视化代码等等。所述实例并不局限于此上下文。
图20示出了第四示例性系统。如图20所示,第四示例性系统包括系统2000。在一些实例中,如图20中所示,系统2000包括服务器2010和被动式监视器2012。
在一些实例中,被动式监视器2012可以包括能够接收性能目标并针对服务器2010的功率来导致功率设置被制定或调整的逻辑和/或特征(例如装置1700)。性能实际可以得自于所述功率设置。被动式监视器2012还可以包括在耦合至服务器2010的网络I/O设备处用于以下操作的逻辑和/或特征:对入站/出站分组加时间戳、收集被加时间戳的入站/出站分组的多个部分并将被加时间戳部分发送至在服务器2010处的逻辑和/或特征(例如,装置1700)。被动式监视器2012的逻辑和/或特征随后可以基于所接收的被加时间戳部分来确定事务延迟值,并使用所确定的事务延迟来决定功率设置是否需要被调整来满足所述性能目标
根据一些实例,如果由被动式监视器2012确定的事务延迟值高于与所述性能目标相关联的事务延迟值目标,则被动式监视器2012的元件可以导致功率设置按照以下方式被调整:增加提供给服务器2010的功率来将事务延迟值减小至大约等于所述事务延迟值目标的水平。在其他实例中,如果被动式监视器2012确定事务延迟值低于与所述性能目标相关联的事务延迟值目标,则被动式监视器2012的元件可以导致功率设置按照以下方式被调整:减小提供给服务器2010的功率来增加事务延迟值。后一实例可以努力平衡服务器2010的功耗和性能。
图21示出了示例性计算平台2100。在一些实例中,如图21所示,计算平台2100可以包括处理组件2140、其他平台元件或通信接口2160。根据一些实例,计算平台2100可以在计算设备中实现,所述计算设备诸如为在如上所述的系统或数据中心中的服务器。
根据一些实例,处理组件2140可以执行装置1400/1700和/或存储介质1600/1900的处理操作或逻辑。处理组件2140可以包括各种硬件元件、软件元件或二者的组合。硬件元件的实例可以包括器件、逻辑器件、组件、处理器、微处理器、电路、处理器电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。软件元件的实例可以包括:软件组件、程序、应用、计算机程序、应用程序、设备驱动器、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。按照给定的实例所期望的,确定是否使用硬件元件和/或软件元件来实现实例可以根据以下任意数量的因素来变化:诸如所希望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。
在一些实例中,其他平台组件2150可以包括通用计算元件,诸如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外设、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件(例如,数字显示器)、电源等等。存储器单元的实例可以包括而不限于采用一个或多个更高速率的存储器单元的形式的各种类型的计算机可读和机器可读存储介质,诸如,只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据速率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、诸如铁电聚合体存储器、双向半导体存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器之类的聚合体存储器、磁卡或光卡、诸如独立磁盘冗余阵列(RAID)驱动器之类的设备阵列、固态存储器设备(例如,USB存储器)、固态驱动器(SSD)和适合于存储信息的任何其他类型的存储介质。
在一些实例中,通信接口2160可以包括用于支持通信接口的逻辑和/或特征。对于这些实例,通信接口2160可以包括根据各种通信协议或标准进行通信以经由直接或网络通信链接进行通信的一个或多个通信接口。直接通信可以使用在一个或多个工业标准(包括衍生和变体)中描述的通信协议或标准来进行,所述工业标准诸如与PCI Express规范、IPMI规范或MCTP规范相关联的那些标准。网络通信可以使用通信协议或标准来进行,诸如由电气电子工程师协会(IEEE)所发布的一个或多个以太网标准中描述那些协议或标准。例如,一个此类以太网标准可以包括2008年12月公布的IEEE 802.3-2008,带冲突检测的载波监听多路访问(CSMA/CD)访问方法和物理层规范(以下称为“IEEE 802.3”)。
计算平台2100可以是计算设备的一部分,所述计算设备可以是,例如,服务器、服务器阵列或服务器群、网页服务器、网络服务器、互联网服务器、工作站、迷你计算机、大型计算机、超级计算机、网络设备、环球网设备、分布式计算系统、多处理器系统、基于处理器的系统、或其组合。因此,按照合适的期望,在计算平台2100的各种实施例中,可以包含或忽略本文所述的计算平台2100的功能和/或特定配置。
计算平台2100的组件和特征可以使用以下各项的任意组合来实现:分立式电路、专用集成电路(ASIC)、逻辑门和/或单芯片架构。此外,在合适的情况下,计算平台2100的特征可以使用以下来实现:微控制器、可编程逻辑阵列和/或微处理器或上述各项的任意组合。注意,在本文中,硬件、固件和/或软件元件可以统一地或单独地被称为“逻辑”或“电路”。
应该认识到,图21的方框图中所示的示例性计算平台2100可以表示很多潜在实现方式的一种功能上的描述性的实例。因此,在附图中所图示的方框功能的分割、忽略和包含都不会表示用于实现这些功能的硬件组件、电路、软件和/或元件在实施例中将必然被分割、忽略或包含。
图22示出了示例性网络I/O设备2200。在一些实例中,如图22所示的,网络I/O设备2200可以包括处理组件2240、其他平台组件或通信接口2260。根据一些实例,网络I/O设备2200可以被实现在耦合至如上所述的系统或数据中心中的服务器的网络I/O设备。
根据一些实例,处理组件2240可以执行装置1100和/或存储介质1300的处理操作或逻辑。处理组件2240可以包括各种硬件元件、软件元件或二者的组合。硬件元件的实例可以包括器件、逻辑器件、组件、处理器、微处理器、电路、处理器电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。软件元件的实例可以包括:软件组件、程序、应用、计算机程序、应用程序、设备驱动器、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。按照给定的实例所期望的,确定是否使用硬件元件和/或软件元件来实现实例可以根据以下任意数量的因素来变化:例如所希望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。
在一些实例中,其他平台组件2250可以包括通用计算元件,诸如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外设、接口、振荡器、定时设备等等。存储器单元的实例可以包括而不限于采用一个或多个更高速率的存储器单元的形式的各种类型的计算机可读和机器可读存储介质,诸如,ROM、RAM、DRAM、DDRAM、SDRAM、SRAM、PROM、EPROM、EEPROM、闪存、或适合于存储信息的任何其他类型的存储介质。
在一些实例中,通信接口2260可以包括用于支持通信接口的逻辑和/或特征。对于这些实例,通信接口2260可以包括根据各种通信协议或标准进行操作以经由直接或网络通信链接进行通信的一个或多个通信接口。直接通信可以使用在一个或多个工业标准(包括衍生和变体)中描述的通信协议或标准来进行,所述工业标准诸如与PCI Express规范、IPMI规范或MCTP规范相关联的那些标准。网络通信可以使用通信协议或标准来进行,例如,在诸如IEEE 802.3的一个或多个以太网标准中描述那些协议或标准。
网络I/O设备2200的组件和特征可以使用以下各项的任意组合来实现:分立式电路、专用集成电路(ASIC)、逻辑门和/或单芯片架构。此外,在合适的情况下,网络I/O设备2200的特征可以使用以下来实现:微控制器、可编程逻辑阵列和/或微处理器或上述各项的任意组合。注意,在本文中,硬件、固件和/或软件元件可以统一地或单独地被称为“逻辑”或“电路”。
应该认识到,图22的方框图中所示的示例性网络I/O设备2200可以表示很多潜在实现方式的一种功能上的描述性的实例。因此,在附图中所图示的方框功能的分割、忽略和包含都不会表示用于实现这些功能的硬件组件、电路、软件和/或元件在实施例中将必然被分割、忽略或包含。
至少一个实例的一个或多个方面可以由存储在至少一个机器可读介质上的代表性指令来实现,所述指令表示在处理器内的各种逻辑,所述指令当由机器、计算设备或系统读取时,使得所述机器、计算设备或系统构造用于执行本文所述技术的逻辑。这些表示(其称为“IP核”)可以存储在有形的机器可读介质上,并提供给各个客户或者制造工厂,以便装载到实际制造该逻辑或者处理器的制造机器中。
可以使用硬件元件、软件元件或两者的组合来实现各种实例。在一些实例中,硬件元件的示例可以包括器件、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。在一些实例中,软件元件可以包括:软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。按照给定的实现方式所期望的,确定是否使用硬件元件和/或软件元件来实现实例可以根据以下任意数量的因素来变化:例如所希望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。
一些实例可以包括制品或至少一个计算机可读介质。计算机可读介质可以包括用于存储逻辑的非瞬态存储介质。在一些实例中,非瞬态存储介质可以包括一种或多种类型的能够存储电子数据的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移除或非可移除存储器、可擦除或非可擦除存储器、可写或可覆写存储器等等。在一些实例中,所述逻辑可以包括各种软件元件,诸如软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。
根据一些实例,计算机可读介质可以包括用于存储或保存指令的非瞬态存储介质,所述指令当由机器、计算设备或系统执行时,导致所述机器、计算设备或系统执行根据所述实例的方法和/或操作。所述指令可以包括任意合适类型的代码,诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码等等。所述指令可以根据预定义的计算机语言、方式或语法来实现,以用于指示机器、计算设备或系统执行特定的功能。所述指令可以使用任意合适的高级、低级、面向对象的、可视化的、编译型和/或解释型编程语言来实现。
一些实例可以使用表述“在一个实例中”或“实例”以及其衍生表述来进行描述。这些术语表示结合该实例所描述的特定的特征、结构或特性包含在至少一个实例中。在申请文件中各个位置出现的短语“在一个实例中”并不必然全部指代同一实例。
一些实例可以使用表述“耦合”和“连接”以及其衍生表述来进行描述。这些术语并不必然表示彼此的同位语。例如,使用术语“连接”和/或“耦合”的描述可以指示两个或更多个元件彼此之间有着直接的或电气的接触。然而,术语“耦合”还表示两个或更多个元件彼此之间并不直接接触,而是彼此协作或相互作用。
要强调的是,本文的摘要是按照37C.F.R第1.72(b)节提供的,该节要求一个能够使读者快速地确定技术公开的性质的摘要。在此要声明的是:摘要并不用于解释或限制权利要求的范围或含义。另外,在先前的详细描述中,可以看到,为了使得本文的表述流畅,在单个实例中将各种特征编组在一起。但是本文的方法并不应该解释为反映以下意图:即,主张权利的实例需要比在每个权利要求中表达性地记载的特征更多的特征。相反地,按照所附权利要求的主张,本发明的主题所依赖的特征少于所公开的单个实例的全部特征。因此,将所附权利要求由此并入详细的说明书中,每个权利要求都自行构成一个单独的实例。在所附权利要求中,术语“包括(including)”和“其中(in which)”分别用作相应的术语“包含(comprising)”和“其中(wherein)”的普通英语同位语。此外,术语“第一”、“第二”、“第三”等等仅用于标记,而绝不意图对其修饰的对象施加数字含义方面的约束。
根据一些实例,示例性的第一装置可以包括用于网络I/O设备的电路。该示例性的第一装置还可以包括时间戳模块,其被所述电路执行,以将单独的时间戳放置在目的地为耦合至该网络输入/输出设备的服务器的入站请求分组上,并将单独的时间戳放置在源自该服务器的出站应答分组上。示例性的第一装置还可以包括捕获模块,其被所述电路执行,以捕获单独的入站请求分组的多个部分和单独的出站应答分组的多个部分。所捕获部分可以识别被单独地加时间戳的入站请求分组和被单独地加时间戳的出站应答分组。该示例性的第一装置还可以包括传送模块,其被所述电路执行,以将带有各自时间戳的所捕获部分传送至所述服务器。
在示例性的第一装置的一些实例中,被传送的所捕获部分可以与一个或多个事务相关联。给定的事务可以包括给定的入站请求分组,其导致所述服务器产生给定的出站应答分组。在服务器处保持的电路可以被设置为基于在所述给定的入站请求分组和出站应答分组上放置的时间戳来确定事务延迟值。
根据示例性的第一装置的一些实例,捕获模块可以在给定的时间间隔中捕获带有各自时间戳的部分,并且捕获模块可以被设置为在该给定的时间间隔末尾,传送带有各自时间戳的所捕获部分。
在示例性的第一装置的一些实例中,所捕获部分可以被传送至在服务器处保持的电路。在服务器处保持的电路可以包含在芯片组中。传送模块可以使用服从规范的传输协议将所捕获部分传送至在服务器处保持的电路,所述规范包括服从包括管理组件传输协议(MCTP)主机接口规范。
根据示例性的第一装置的一些实例,被传送至所述电路的所捕获部分可以被保持在服务器处。在服务器处保持的电路可以包含在服务器的处理器中。在服务器处保持的电路可以执行操作系统,并且网络输入/输出设备驱动器可以被实现为操作系统的一部分。传送模块可以使用服从规范的传输协议将所捕获部分传送至在服务器处保持的电路,所述规范包括管理组件传输协议(MCTP)主机接口规范。
在示例性的第一装置的一些实例中,入站请求分组和出站应答分组可以具有传输控制协议(TCP)和互联网协议(IP)报头。所捕获部分可以包括来自入站请求分组和出站应答分组的TCP和IP报头的信息。所述信息可以包括源IP地址、目的地IP地址、源端口或目的地端口。
根据一些实例,示例性的第二装置可以包括用于服务器的电路。示例性的第二装置还可以包括请求模块,其被所述电路执行,以接收入站请求分组的被加时间戳部分并将所接收的入站请求分组的被加时间戳部分放置在事务表格中。示例性的第二装置还可以包括应答模块,其被所述电路执行,以接收出站应答分组的被加时间戳部分并将所接收的出站应答分组的被加时间戳部分放置在事务表格中。示例性的第二装置还可以包括匹配模块,其被所述电路执行,以基于入站请求分组和出站应答分组各自的被加时间戳部分中包含的信息,将在事务表格中放置的入站请求分组的被加时间戳部分与出站应答分组的被加时间戳部分进行匹配。示例性的第二装置还可以包括延迟模块,其被所述电路执行,以使用入站请求分组和出站应答分组各自的匹配的被加时间戳部分的第一和第二时间戳来确定由服务器执行的事务的单独的事务延迟值。
在一些实例中,示例性的第二装置还可以包括报告模块,其被所述电路执行,以将与所确定的单独的事务延迟值相关联的信息报告给被配置为管理多个服务器的管理逻辑。
根据示例性的第二装置的一些实例,示例性的第二装置还可以包括桶式缓存模块,其被所述电路执行,以将所确定的单独的事务延迟值收集到多个桶式缓存中。每个桶式缓存可以与一个递增时间差相关联,并且被配置为基于各个单独地确定的事务延迟值相对于给定的递增时间差的接近度,来保存这些单独地确定的事务延迟值中的一个或多个。每个递增时间差可以基于在先前时间间隔中所收集的所确定的单独的事务延迟值中最低的所确定的事务延迟值与最高的所确定的事务延迟值之间的时间跨度。第二装置还可以包括拣出模块,其被所述电路执行,以确定所述多个桶式缓存中的哪个桶式缓存包含第n个百分点的所确定的事务延迟值,其中,n等于任何小于或等于100的正整数。拣出模块可以拣出包含该第n个百分点的所确定的事务延迟值的桶式缓存,以便确定等于该第n个百分点的所确定的事务延迟值的一个给定的事务延迟值。拣出模块可以将所述给定的事务延迟值提供给报告模块。报告模块可以将所述给定的事务延迟值包含在被报告给管理逻辑的信息中。
在示例性的第二装置的一些实例中,第n个百分点的所确定的事务延迟值可以包括n等于95的情况,并且所述给定的事务延迟值可以具有一个值,该值大于或等于在当前时间间隔中被收集在所述多个桶式缓存中的单独地确定的事务延迟值中的95%。
根据示例性的第二装置的一些实施例,可以在服务器的存储器中保持所述多个桶式缓存。该存储器可以包括动态随机存取存储器或静态随机存取存储器中的一种。
在示例性的第二装置的一些实例中,用于服务器的所述电路可以保持在服务器的芯片组处。
根据示例性的第二装置的一些实例,在服务器的处理器中包含的用于服务器的所述电路可以被设置为执行服务器的操作系统。匹配模块、延迟模块和报告模块可以包含在被实现为操作系统的一部分的网络输入/输出设备驱动器中。
在示例性的第二装置的一些实例中,在基于入站请求分组和出站应答分组的所匹配的被加时间戳部分确定了单独的事务延迟值之后,延迟模块可以从事务表格中擦除入站请求分组的所匹配的被加时间戳部分和出站应答分组的所匹配的被加时间戳部分。
根据示例性的第二装置的一些实例,所接收的入站请求分组和出站应答分组的被加时间戳部分可以包括传输控制协议(TCP)和互联网协议(IP)报头信息。TCP和IP报头信息可以包括源IP地址、目的地IP地址、源端口或目的地端口。
在一些实例中,示例性的第一方法可以包括:在数据中心的管理逻辑处,确定在第一时间段中针对第一网络通信通道的平均通道事务延迟值。第一网络通信通道可以将第一服务器耦合至第二服务器。该平均通道事务延迟值可以基于针对在第一服务器处观察到的第一组事务的第一平均事务延迟值和针对在第二服务器处观察到的该第一组事务的第二平均事务延迟值来确定。示例性的第一方法还可以包括:确定在第一时间段中针对第一服务器的平均服务器事务延迟值。该平均服务器事务延迟值可以基于针对在第一服务器处接收的入请求的第三平均事务延迟值、针对发往包括第二服务器在内的一个或多个服务器的出请求的第四平均事务延迟值、以及在该第一时间段中在第一服务器处接收的入请求的总数量来确定。示例性的第一方法还可以包括:产生拓扑结构图,其示出了针对第一网络通信通道的平均通道事务延迟值和针对第一服务器的平均服务器事务延迟值。示例性的第一方法还可以包括:在第二时间段之后更新该拓扑结构图。更新后的拓扑结构图可以示出在该第二时间段中所确定的针对第一网络通信通道的更新后的平均通道事务延迟值,以及同样在该第二时间段中所确定的针对第一服务器的更新后的平均服务器事务延迟值。
根据示例性的第一方法的一些实例,确定针对第一网络通信通道的平均通道事务延迟值可以是基于在第一平均事务延迟值与第二平均事务延迟值之间的差值。
在示例性的第一方法的一些实例中,确定针对第一服务器的平均服务器事务延迟值可以是基于:第三平均事务延迟值与第四平均事务延迟值之间的差值,并随后将该差值除以在该第一时间段中在第一服务器处接收的入请求的总数量。
根据示例性的第一方法的一些实例,第一服务器和第二服务器可以分别包括一个或多个网络输入/输出设备,用以对入站请求分组和出站应答分组加时间戳,以及收集被单独地加时间戳的入站请求分组和出站应答分组的多个部分来使得第一和第二服务器能够识别单独的事务以及确定所识别的单独的事务的单独的事务延迟值。
在示例性的第一方法的一些实例中,与所识别的单独的事务相关联的入站请求分组和出站应答分组可以具有传输控制协议(TCP)和互联网协议(IP)报头。被单独地加时间戳的入站请求分组和出站应答分组的被收集部分可以包括来自与所识别的单独的事务相关联的入站请求分组和出站应答分组的TCP和IP报头的信息。所述信息可以包括源IP地址、目的地IP地址、源端口或目的地端口。
根据一些实例,至少一个机器可读介质包括多个指令,这些指令响应于在系统上被执行,而使得所述系统执行如上所述的示例性的第一方法。
在一些实例中,示例性的第二方法可以包括:在数据中心的管理逻辑处,从在数据中心中包括的多个服务器接收响应于从管理逻辑向所述多个服务器发送的轮询请求的事务延迟值。示例性的第二方法还可以包括:将所接收的事务延迟值与同所述多个服务器和由所述多个服务器所提供的服务相关联的目标事务延迟值进行比较。示例性的第二方法还可以包括:基于所述多个服务器中提供第一服务的第一服务器所具有的、针对该第一服务的事务延迟值超过了给定的目标事务延迟值,而产生警报。示例性的第二方法还可以包括:将该警报发送至管理控制台,所述管理控制台被配置为监视所述多个服务器的性能。该警报可以指示被超过的该给定的目标事务延迟值,可以识别第一服务器,或者可以识别第一服务。
根据示例性的第二方法的一些实例,所述多个服务器可以包括至少一个网络输入/输出设备,用以对入站请求分组和出站应答分组加时间戳。所述至少一个网络输入/输出设备还可以收集被单独地加时间戳的入站请求分组和出站应答分组的多个部分,以使得所述多个服务器能够识别与所述多个服务器所提供的服务相关联的单独的事务,并且还使得所述多个服务器能够确定所识别的与各个服务相关联的单独的事务的单独的事务延迟值。
在示例性的第二方法的一些实例中,入站请求分组和出站应答分组可以与在所述多个服务器处的所识别的单独的事务相关联,并具有传输控制协议(TCP)和互联网协议(IP)报头。被单独地加时间戳的入站请求分组和出站应答分组的被收集部分可以包括来自与关联于各个服务的所识别的单独的事务相关联的入站请求分组和出站应答分组的TCP和IP报头的信息。所述信息可以包括源IP地址、目的地IP地址、源端口或目的地端口。
根据示例性的第二方法的一些实例,可以基于在与关联于第一服务的单独的事务相关联的被单独地加时间戳的出站应答分组的被收集部分中包含的目的地IP地址,来识别第一服务器。可以基于被单独地加时间戳的出站应答分组的被收集部分中包含的目的地端口,来识别第一服务。
在示例性的第二方法的一些实例中,可以从所述多个服务器接收事务延迟值,其包括所述多个服务器中每个服务器的变化的平均事务延迟值或第95个百分点的事务延迟值中的至少一个。
根据一些实例,至少一个机器可读介质包括多个指令,这些指令响应于在系统上被执行,而使得所述系统执行如上所述的示例性的第二方法。
在一些实例中,示例性的第三方法可以包括:在数据中心的管理逻辑处从多个物理服务器接收事务延迟值。每个物理服务器能够支持一个或多个虚拟服务器。可以响应于来自管理逻辑的轮询请求而接收事务延迟值。示例性的第三方法还可以包括:至少部分地基于所接收的事务延迟值,来确定所述多个物理服务器中每个物理服务器的用以支持一个或多个额外虚拟服务器的可用能力。示例性的第三方法还可以包括:基于所述多个物理服务器中的第一物理服务器与所述多个物理服务器中其他物理服务器相比具有用以支持一个或多个额外虚拟服务器的最高所确定能力,来将新的虚拟服务器分配给第一物理服务器。
根据一些实例,示例性的第三方法还可以包括:至少部分地基于所接收的事务延迟值,确定所述多个物理服务器中的第二物理服务器缺少用以支持现有的第一虚拟服务器的能力。示例性的第三方法还可以包括:基于在所述多个物理服务器中的第三物理服务器具有用以支持该现有的第一虚拟服务器的能力,将该现有的第一虚拟服务器迁移至第三物理服务器。
在示例性的第三方法的一些实例中,所述多个物理服务器可以分别包括网络输入/输出设备,用以对所支持的虚拟服务器的入站请求分组和出站应答分组加时间戳。网络输入/输出设备还可以收集被单独地加时间戳的入站请求分组和出站应答分组的多个部分,以使得所述多个物理服务器能够识别与所支持的虚拟服务器相关联的单独的事务,并且还使得所述多个物理服务器能够确定与各个所支持的虚拟服务器相关联的所识别的单独的事务的单独的事务延迟值。
根据示例性的第三方法的一些实例,与所识别的单独的事务相关联的入站请求分组和出站应答分组可以具有传输控制协议(TCP)和互联网协议(IP)报头。被单独地加时间戳的入站请求分组和出站应答分组的被收集部分可以包括来自与所识别的单独的事务相关联的入站请求分组和出站应答分组的TCP和IP报头的信息。所述信息可以包括源IP地址、目的地IP地址、源端口或目的地端口。
根据一些实例,至少一个机器可读介质包括多个指令,这些指令响应于在系统上被执行,而使得所述系统执行如上所述的示例性的第三方法。
根据一些实例,示例性的第三装置可以包括用于服务器的电路。示例性的第三装置还可以包括延迟模块,其被所述电路执行,以基于与从耦合至服务器的网络输入/输出设备接收的出站应答分组的被加时间戳部分匹配的入站请求分组的被加时间戳部分,来确定事务延迟值。示例性的第三装置还可以包括功率模块,其被所述电路执行,以基于由延迟模块所确定的事务延迟值与给定的事务延迟目标值的比较,来导致提供给服务器的功率量被调整。
在示例性的第三装置的一些实例中,用于服务器的所述电路可以保持在服务器的芯片组中。延迟模块可以被包含作为芯片组处的管理引擎的一部分。功率模块可以被包含作为芯片组处的功率节点管理器的一部分。
根据示例性的第三装置的一些实例,入站请求分组和出站应答分组可以与从网络输入/输出设备接收的、分别具有传输控制协议(TCP)和互联网协议(IP)报头的入站请求分组和出站应答分组的被加时间戳部分相关联。入站请求分组和出站应答分组的被加时间戳部分可以包括来自入站请求分组和出站应答分组的各自的TCP和IP报头的TCP和IP报头信息。所述TCP和IP报头信息可以包括源IP地址、目的地IP地址、源端口或目的地端口。
在一些实例中,示例性的第四方法可以包括:从耦合至服务器的网络输入/输出设备接收入站请求分组的被加时间戳部分并将所接收的入站请求分组的被加时间戳部分放置在事务表格中。示例性的第四方法还可以包括:从网络输入/输出设备接收出站应答分组的被加时间戳部分并将所接收的出站应答分组的被加时间戳部分放置在事务表格中。示例性的第四方法还可以包括:基于入站请求分组和出站应答分组各自的被加时间戳部分中包含的信息,将在事务表格中放置的入站请求分组的被加时间戳部分与出站应答分组的被加时间戳部分进行匹配。示例性的第四方法还可以包括:使用入站请求分组和出站应答分组各自的匹配的被加时间戳部分的第一和第二时间戳,来确定事务的单独的事务延迟值,所述事务由所述服务器响应于单独的入站请求分组而执行,并按照单独的出站应答分组所指示的,由服务器完成。
根据一些实例,示例性的第四方法还可以包括:将所确定的单独的事务延迟值收集到多个桶式缓存中。每个桶式缓存可以与一个递增时间差相关联,并且被配置为基于各个单独地确定的事务延迟值相对于给定的递增时间差的接近度,来保存这些单独地确定的事务延迟值中的一个或多个。每个递增时间差可以基于在先前时间间隔中所收集的所确定的单独的事务延迟值中最低的所确定的事务延迟值与最高的所确定的事务延迟值之间的时间跨度。示例性的第四方法还可以包括:确定所述多个桶式缓存中的哪个桶式缓存包含第n个百分点的所确定的事务延迟值,其中,n等于任何小于100的正整数。示例性的第四方法还可以包括:拣出包含该第n个百分点的所确定的事务延迟值的桶式缓存,以确定等于该第n个百分点的所确定的事务延迟值的一个给定的事务延迟值。
在示例性的第四方法的一些实例中,从网络输入/输出设备接收的入站请求分组和出站应答分组的被加时间戳部分可以包括传输控制协议(TCP)和互联网协议(IP)报头信息。所述TCP和IP报头信息可以包括源IP地址、目的地IP地址、源端口或目的地端口。
根据一些实例,至少一个机器可读介质包括多个指令,这些指令响应于在系统上被执行,而使得所述系统执行如上所述的示例性的第四方法。
尽管采用专用于结构性特征和/或方法动作的语言描述了本发明,但是应该理解,在所附权利要求中所限定的本发明并不必然限制于如上所述的特定的特征或动作。相反地,上述的特定的特征或动作是作为实现权利要求的实例的形式而公开的。

Claims (21)

1.一种用于确定事务延迟的装置,包括:
用于网络输入/输出设备的电路;
时间戳模块,其被所述电路执行,以将单独的时间戳放置在目的地为耦合至所述网络输入/输出设备的服务器的入站请求分组上,并将单独的时间戳放置在源自所述服务器的出站应答分组上;
捕获模块,其被所述电路执行,以捕获单独的入站请求分组的多个部分和单独的出站应答分组的多个部分,所捕获部分用以识别被单独地加时间戳的所述入站请求分组和被单独地加时间戳的所述出站应答分组;以及
传送模块,其被所述电路执行,以将带有各自时间戳的所述所捕获部分传送至所述服务器。
2.如权利要求1所述的装置,包括:
所述传送的所捕获部分与一个或多个事务相关联,给定的事务包括给定的入站请求分组,所述给定的入站请求分组导致所述服务器产生给定的出站应答分组,在所述服务器处保持的电路被设置为基于在所述给定的入站请求分组和出站应答分组上放置的时间戳来确定事务延迟值。
3.如权利要求1所述的装置,包括:
所述捕获模块在给定的时间间隔中捕获带有各自时间戳的多个部分,并且所述传送模块被设置为在所述给定的时间间隔末尾处,传送带有各自时间戳的所捕获部分。
4.如权利要求1所述的装置,被传送至所述服务器的带有各自时间戳的所述所捕获部分包括:被传送至在所述服务器处保持的电路的所述所捕获部分,在所述服务器处保持的所述电路包含在芯片组中,所述传送模块使用服从规范的传输协议将所述所捕获部分传送至在所述服务器处保持的所述电路,所述规范包括管理组件传输协议(MCTP)主机接口规范。
5.如权利要求1所述的装置,被传送至所述服务器的带有各自时间戳的所述所捕获部分包括:被传送至在所述服务器处保持的电路的所述所捕获部分,在所述服务器处保持的所述电路包含在所述服务器的处理器中,在所述服务器处保持的所述电路执行操作系统,并且网络输入/输出设备驱动器被实现为所述操作系统的一部分,所述传送模块使用服从规范的传输协议将所述所捕获部分传送至在所述服务器处保持的所述电路,所述规范包括管理组件传输协议(MCTP)主机接口规范。
6.如权利要求1所述的装置,包括:
所述入站请求分组和所述出站应答分组具有传输控制协议(TCP)和互联网协议(IP)报头,所述所捕获部分包括来自所述入站请求分组和所述出站应答分组的TCP和IP报头的信息,所述信息包括源IP地址、目的地IP地址、源端口或目的地端口。
7.一种用于确定事务延迟的装置,包括:
用于服务器的电路;
请求模块,其被所述电路执行,以接收入站请求分组的被加时间戳部分并将所接收的入站请求分组的被加时间戳部分放置在事务表格中;
应答模块,其被所述电路执行,以接收出站应答分组的被加时间戳部分并将所接收的出站应答分组的被加时间戳部分放置在所述事务表格中;
匹配模块,其被所述电路执行,以基于在所述入站请求分组和所述出站应答分组各自的被加时间戳部分中包含的信息,将在所述事务表格中放置的入站请求分组的被加时间戳部分与出站应答分组的被加时间戳部分进行匹配;以及
延迟模块,其被所述电路执行,以使用入站请求分组和出站应答分组各自的匹配的被加时间戳部分的第一和第二时间戳,来确定由所述服务器执行的事务的单独的事务延迟值。
8.如权利要求7所述的装置,包括:
报告模块,其被所述电路执行,以将与所确定的单独的事务延迟值相关联的信息报告给被配置为管理多个服务器的管理逻辑。
9.如权利要求8所述的装置,包括:
桶式缓存模块,其被所述电路执行,以将所确定的单独的事务延迟值收集到多个桶式缓存中,每个桶式缓存与一个递增时间差相关联,并且被配置为基于各个单独地确定的事务延迟值相对于给定的递增时间差的接近度,来保存所述单独地确定的事务延迟值中的一个或多个,每个递增时间差基于在先前时间间隔中所收集的所确定的单独的事务延迟值中的最低的所确定的事务延迟值与最高的所确定的事务延迟值之间的时间跨度;以及
拣出模块,其被所述电路执行,以确定所述多个桶式缓存中的哪个桶式缓存包含第n个百分点的所确定的事务延迟值,其中,n等于任何小于或等于100的正整数,所述拣出模块拣出包含所述第n个百分点的所确定的事务延迟值的桶式缓存,以便确定等于所述第n个百分点的所确定的事务延迟值的一个给定的事务延迟值,所述拣出模块将所述给定的事务延迟值提供给所述报告模块,所述报告模块将所述给定的事务延迟值包含在被报告给所述管理逻辑的所述信息中。
10.如权利要求9所述的装置,所述第n个百分点的所确定的事务延迟值包括n等于95,并且所述给定的事务延迟值具有的值大于或等于在当前时间间隔中被收集在所述多个桶式缓存中的单独地确定的事务延迟值中的95%。
11.如权利要求9所述的装置,包括:所述多个桶式缓存被保持在所述服务器的存储器中,所述存储器包括动态随机存取存储器或静态随机存取存储器中的一种。
12.如权利要求7所述的装置,包括:用于所述服务器的所述电路被保持在所述服务器的芯片组中。
13.如权利要求8所述的装置,包括:
用于所述服务器的所述电路包括在所述服务器的处理器中,被设置为执行所述服务器的操作系统,所述匹配模块、所述延迟模块和所述报告模块包含在被实现为所述操作系统的一部分的网络输入/输出设备驱动器中。
14.如权利要求7所述的装置,包括:
在基于入站请求分组和出站应答分组的所匹配的被加时间戳部分确定了所述单独的事务延迟值之后,所述延迟模块从所述事务表格中擦除入站请求分组的所匹配的被加时间戳部分和出站应答分组的所匹配的被加时间戳部分。
15.如权利要求7所述的装置,所接收的入站请求分组和出站应答分组的被加时间戳部分包括传输控制协议(TCP)和互联网协议(IP)报头信息,所述TCP和IP报头信息包括源IP地址、目的地IP地址、源端口或目的地端口。
16.一种用于确定事务延迟的装置,包括:
用于服务器的电路;
延迟模块,其被所述电路执行,以基于与从耦合至所述服务器的网络输入/输出设备接收的出站应答分组的被加时间戳部分匹配的入站请求分组的被加时间戳部分,来确定事务延迟值;以及
功率模块,其被所述电路执行,以基于由所述延迟模块所确定的事务延迟值与给定的事务延迟目标值的比较,来导致提供给所述服务器的功率量被调整。
17.如权利要求16所述的装置,包括:
用于所述服务器的所述电路被保持在所述服务器的芯片组中,所述延迟模块被包含作为所述芯片组处的管理引擎的一部分,所述功率模块被包含作为所述芯片组处的功率节点管理器的一部分。
18.如权利要求16所述的装置,包括:
与从所述网络输入/输出设备接收的入站请求分组和出站应答分组的所述被加时间戳部分相关联的所述入站请求分组和所述出站应答分组分别具有传输控制协议(TCP)和互联网协议(IP)报头,入站请求分组和出站应答分组的所述被加时间戳部分包括来自所述入站请求分组和所述出站应答分组各自的TCP和IP报头的TCP和IP报头信息,所述TCP和IP报头信息包括源IP地址、目的地IP地址、源端口或目的地端口。
19.一种用于确定事务延迟的装置,包括:
用于从耦合至服务器的网络输入/输出设备接收入站请求分组的被加时间戳部分并将所接收的入站请求分组的被加时间戳部分放置在事务表格中的单元;
用于从所述网络输入/输出设备接收出站应答分组的被加时间戳部分并将所接收的出站应答分组的被加时间戳部分放置在所述事务表格中的单元;
用于基于所述入站请求分组和所述出站应答分组各自的被加时间戳部分中包含的信息,将在所述事务表格中放置的入站请求分组的被加时间戳部分与出站应答分组的被加时间戳部分进行匹配的单元;以及
用于使用入站请求分组和出站应答分组各自的匹配的被加时间戳部分的第一时间戳和第二时间戳,来确定事务的单独的事务延迟值的单元,所述事务由所述服务器响应于单独的入站请求分组执行,并按照单独的出站应答分组所指示的,由所述服务器完成。
20.如权利要求19所述的装置,还包括:
用于将所确定的单独的事务延迟值收集到多个桶式缓存中的单元,每个桶式缓存与一个递增时间差相关联,并且被配置为基于各个单独地确定的事务延迟值相对于给定的递增时间差的接近度,来保存所述单独地确定的事务延迟值中的一个或多个,每个递增时间差是基于在先前间隔中所收集的所确定的单独的事务延迟值中最低的所确定的事务延迟值与最高的所确定的事务延迟值之间的时间跨度;
用于确定所述多个桶式缓存中的哪个桶式缓存包含第n个百分点的所确定的事务延迟值的单元,其中,n等于任何小于100的正整数;以及
用于拣出包含所述第n个百分点的所确定的事务延迟值的桶式缓存,以便确定等于所述第n个百分点的所确定的事务延迟值的一个给定的事务延迟值的单元。
21.如权利要求19所述的装置,从所述网络输入/输出设备接收到的入站请求分组和出站应答分组的所述被加时间戳部分包括传输控制协议(TCP)和互联网协议(IP)报头信息,所述TCP和IP报头信息包括源IP地址、目的地IP地址、源端口或目的地端口。
CN201280065209.5A 2012-12-18 2012-12-18 与服务器事务延迟信息相关的技术 Expired - Fee Related CN104025549B (zh)

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 (2)

Publication Number Publication Date
CN104025549A CN104025549A (zh) 2014-09-03
CN104025549B true CN104025549B (zh) 2017-04-05

Family

ID=50977533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280065209.5A Expired - Fee Related CN104025549B (zh) 2012-12-18 2012-12-18 与服务器事务延迟信息相关的技术

Country Status (4)

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

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
US9876711B2 (en) 2013-11-05 2018-01-23 Cisco Technology, Inc. Source address translation 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
US9992090B2 (en) 2014-01-08 2018-06-05 Bank Of America Corporation Data metrics analytics
US9547834B2 (en) * 2014-01-08 2017-01-17 Bank Of America Corporation Transaction performance monitoring
US9277002B2 (en) 2014-01-09 2016-03-01 International Business Machines Corporation Physical resource management
US9712404B2 (en) * 2014-03-07 2017-07-18 Hitachi, Ltd. Performance evaluation method and information processing device
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
US9479443B2 (en) 2014-05-16 2016-10-25 Cisco Technology, Inc. System and method for transporting information to services in a network environment
US9379931B2 (en) 2014-05-16 2016-06-28 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
US9998562B1 (en) 2014-06-19 2018-06-12 Amazon Technologies, Inc. Service-oriented system optimization using partial service relocation
US10182129B1 (en) * 2014-06-19 2019-01-15 Amazon Technologies, Inc. Global optimization of a service-oriented system
US10091061B1 (en) 2014-06-19 2018-10-02 Amazon Technologies, Inc. Service-oriented system optimization using static analysis
US9998328B1 (en) 2014-06-19 2018-06-12 Amazon Technologies, Inc. Service-oriented system optimization using client device relocation
US9998330B1 (en) 2014-06-19 2018-06-12 Amazon Technologies, Inc. Service-oriented system optimization using edge relocation
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
US9660909B2 (en) 2014-12-11 2017-05-23 Cisco Technology, Inc. Network service header metadata for load balancing
USRE48131E1 (en) 2014-12-11 2020-07-28 Cisco Technology, Inc. Metadata augmentation in a service function chain
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
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10536357B2 (en) * 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
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
US10798187B2 (en) 2017-06-19 2020-10-06 Cisco Technology, Inc. Secure service chaining
US10547509B2 (en) 2017-06-19 2020-01-28 Cisco Technology, Inc. Validation of a virtual port channel (VPC) endpoint in the network fabric
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 百果园技术(新加坡)有限公司 一种服务器的选择方法、装置、设备及介质
CN114900662B (zh) * 2022-05-11 2024-08-06 重庆紫光华山智安科技有限公司 视频流传输质量信息确定方法、系统、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1977509A (zh) * 2004-06-29 2007-06-06 西门子公司 从服务器集中选择一个服务器的方法

Family Cites Families (27)

* 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
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
AU2007253824A1 (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 浙江大学 一种多路并发接入的多媒体数据传输方法
WO2010147473A1 (en) * 2009-06-16 2010-12-23 Ontime Networks As 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
US9407581B2 (en) * 2009-12-04 2016-08-02 Napatech A/S Distributed processing of data frames by multiple adapters using time stamping and a central controller
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 华南师范大学 一种防重放攻击的认证方法
US8913507B2 (en) * 2012-06-21 2014-12-16 Breakingpoint Systems, Inc. Virtual data loopback and/or data capture in a computing system
US20130343379A1 (en) * 2012-06-21 2013-12-26 Jonathan Stroud Ethernet-based internal device management
US8891528B2 (en) * 2012-06-21 2014-11-18 Breakingpoint Systems, Inc. Managing the capture of packets 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
US20130347103A1 (en) * 2012-06-21 2013-12-26 Mark Veteikis Packet capture for error tracking
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1977509A (zh) * 2004-06-29 2007-06-06 西门子公司 从服务器集中选择一个服务器的方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104025549B (zh) 与服务器事务延迟信息相关的技术
US10756976B2 (en) Data network and execution environment replication for network automation and network applications
CN107925588A (zh) 带外平台调整和配置
CN107070692A (zh) 一种基于大数据分析的云平台监控服务系统及方法
CN103716173B (zh) 一种存储监控系统及监控告警发布的方法
CN203466840U (zh) 云服务监控系统
CN108989358B (zh) 一种基于tcp/ip协议纺机运行数据获取方法
CN103761309A (zh) 一种运营数据处理方法及系统
KR20140119561A (ko) 센서네트워크의 대규모 데이터 수집 장치 및 방법
CN103733198A (zh) 流应用性能监测度量
CN107528870A (zh) 一种数据采集方法及其设备
CN104092756A (zh) 一种基于dht机制的云存储系统的资源动态分配方法
CN107241305A (zh) 一种基于多核处理器的网络协议分析系统及其分析方法
CN108694086A (zh) 用于使用与执行虚拟化应用关联的指纹的服务保障的技术
CN106817253A (zh) 日志文件的实时监控及报警的方法和系统
Clemm et al. DNA: An SDN framework for distributed network analytics
CN108090000A (zh) 一种获取cpu寄存器信息的方法及系统
CN109660389A (zh) 一种it资产管理方法及装置
CN103580924A (zh) 一种故障定位方法、装置及系统
CN107277100A (zh) 用于近实时云基础设施策略实现和管理的系统和方法
Gupta et al. Long range dependence in cloud servers: a statistical analysis based on google workload trace
CN104320301A (zh) 一种内网专线流量监控方法及系统
CN109474479A (zh) 一种网络设备监控方法及系统
CN110198246B (zh) 一种流量监控的方法及系统
Chen Design of computer big data processing system based on genetic algorithm

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: M * Dwal

Inventor after: J * Dobot

Inventor after: E * Man

Inventor after: C * Li

Inventor after: M * R * Raja

Inventor after: A * R * Chagall Reddy

Inventor after: D * Weiscote

Inventor after: R * Naga Pahn

Inventor after: R * Cain Joe

Inventor before: M * Dwal

Inventor before: E * Man

Inventor before: C * Li

Inventor before: M * R * Raja

Inventor before: A * R * Chagall Reddy

Inventor before: D Weicot

Inventor before: R * Naga Papan

Inventor before: R * Cain Joe

CB03 Change of inventor or designer information
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170405

Termination date: 20191218

CF01 Termination of patent right due to non-payment of annual fee