專利名稱:源到負載的自動匹配的制作方法
技術領域:
本公開涉及與源和負載的使用相關的應用。特別地,本公開涉及源到負載的自動匹配。
背景技術:
隨著負載和源的數量的日益增加,系統復雜度也隨之提高,保持對哪些負載從哪些源饋送的追蹤變得更加困難。同樣,隨著遠程監測系統實際上的增加,保持對負載的物理位置的追蹤變得更加困難。此外,可能不斷地增加、移除、臨時斷開、重新定位和重新連接負載和源。因此,負載的位置以及負載和源之間的連接拓撲是一種活動的、動態的環境。拓撲信息是有用的的一個實例是數據中心應用。由于能量消耗,并且特別是電流增加,與功率拓撲有關的最新信息以及特別是服務器的物理位置以及哪些服務器連接到哪些電路分支或功率點變得日漸重要。這種信息使數據中心管理器能夠通過充分計劃、為數據中心設備提供適當規模的能量、功率平衡、負載削減、過載保護、有效的問題診斷等來優化功率消耗。另外,在一些數據中心應用中,為了監測可靠性并降低故障情況下的故障排除時間,可能要求管理器保持最新的功率拓撲信息。存在與數據中心應用不同的各種應用,其中拓撲和負載位置信息是或將是有用的。已知的用于保持拓撲和位置信息的方法包括間或進行更新以反映負載和源之間的連接的電子表格或數據庫。其他的方法包括利用條形碼或間或地進行掃描的RFID標簽對負載或饋送電纜進行標記。這些方法中的一些被證明是不可靠的并且不能在所有的時間提供最新信息。另外,這些方法中的一些方法需要人類干預,這增加了維護成本和潛在的不可靠性。
發明內容
在一個實施例中,匹配源到負載的方法包括分別接收對應于在多個負載和多個源處的在時間段內的樣本的負載活動數據和源活動數據。匹配源到負載的方法進一步包括基于負載活動數據和源活動數據來評價在負載活動和源活動之間的相似性,并基于評價匹配來自多個負載的負載到來自多個源的至少一個源。
合并入且構成為說明書一部分的附圖示出了各種示例性系統、方法等,所述示例性系統圖示本發明的方面的各種示例性實施例。應當認識到的是,附圖中的部件的圖示界限代表所述界限的一個例子。本領域普通技術人員可以了解的是,一個部件可被設計成多個部件或者所述多個部件可被設計成單個部件。此外,內部部件可以被實現為外部部件并且反之亦然。另外,為了便于說明,附圖可能未按比例繪制并且某些部分的比例可能被擴大。圖I圖示包括負載和源的示例性系統的示意圖;圖2圖示包括負載、源和匹配服務器的示例性系統的示意圖;圖3圖示用于將源自動匹配到負載的匹配服務器的一個實施例的功能框圖;圖4圖示用于將負載自動匹配到源的匹配服務器的另一個實施例的功能框圖;圖5圖示包括負載、源和匹配服務器的示例性系統的示意圖;圖6圖示包括負載、源和匹配服務器的示例性系統的示意圖;圖7圖示包括負載、源和匹配服務器的示例性系統的示意圖;圖8圖示包括負載、源和匹配服務器的示例性系統的示意圖;圖9圖示將源匹配到負載的示例性方法;圖10圖示將源匹配到負載的示例性方法;圖11圖示將源匹配到負載的示例性方法;圖12示出匹配服務器的一個實施例的示意性框圖。
具體實施例方式定義此處所使用的“計算機可讀介質”指直接地或間接地參與提供信號、指令或數據的介質。計算機可讀介質可采用的形式包括但不局限于非易失性介質、易失性介質和傳輸介質。非易失性介質可包括,例如,光盤或磁盤等。易失性介質可包括,例如光盤或磁盤、動態存儲器等。傳輸介質可包括同軸電纜、銅線或光纜等。傳輸介質也可以采用電磁輻射的方式,類似于在無線電波和紅外數據通信器件所產生的,或者采用一個或多個信號組的形式。計算機可讀介質的常見形式包括但不局限于,軟盤、軟磁盤、硬盤、磁帶、其它磁介質、CD-ROM、其它光學介質、穿孔卡片、紙帶、具有穿孔圖案的其他物理介質、RAM、ROM、EPROM、FLASH-R0M、或其它存儲器芯片或卡、存儲棒、載波/脈沖以及計算機、處理器或其它電子設備可讀取的其它介質。用于在網絡(像Internet)上傳播指令或其它軟件的信號可被認為是“計算機可讀介質”。此處所使用的“數據存儲”指能夠存儲數據的物理或邏輯實體。數據存儲例如可以是數據庫、表、文件、列表、隊列、堆、存儲器、注冊表等。數據存儲可駐留在一個邏輯或物理實體中,或者分布在兩個或多個邏輯或物理實體之間。此處所使用的“邏輯”包括但不局限于,用來執行功能或動作、或者通過另一邏輯、方法或系統中來促使功能或動作的硬件、固件、軟件或每個的組合。例如,基于所需的應用或需求,邏輯可包括軟件控制的微處理器、類似于專用集成電路(ASIC)的離散邏輯、編程邏輯設備、包含指令的存儲器設備等。邏輯可包括一個或多個門、門的組合或其它電路組件。邏輯也可以完全實現為軟件。在描述了多個邏輯的邏輯體的情況中,可將多個邏輯的邏輯體合并到一個物理邏輯體中。類似地,在描述單個邏輯的邏輯體的情況中,可將該單個邏輯的邏輯體分布到多個物理邏輯體之間。還將了解的是,計算機可讀或可執行指令可位于在一個邏輯中,或分布在兩個或多個通信的、合作的或并行處理的邏輯之間,并且因此可以按照串行、并行、大規模并行和其它的方式被加載或執行。“可操作的連接”,或者將實體“可操作地連接”的連接,是可以發送或接收信號、物理通信或邏輯通信的連接。典型地,可操作的連接包括物理接口、電接口或數據接口,但應注意的是,可操作的連接可包括足以允許可操作的控制的這些或其它類型的連接的不同組合。例如,可以實現彼此直接地或通過一個或多個中間實體(例如,處理器、操作系統、邏輯、軟件或其它實體)來通信信號,能夠可操作地連接兩個實體。邏輯或物理通信信道可用于創建可操作的連接。“可操作的連接”,或者將組件“可操作地連接”的連接,還是可操作地連接的組件或可操作的連接執行其預期的目的的連接。例如,兩個組件可以直接地或通過一個或多個中間組件可操作地彼此連接。此處所使用的“信號”包括但不局限于一個或多個電或光信號、模擬或數字信號、數據、一個或多個計算機或處理器指令、消息、比特或比特流、或其它可被接收、傳送或檢測的方式。此處所使用的“軟件”包括但不局限于一個或多個計算機或處理器指令,可讀取、解釋、編譯或運行所述指令并且所述指令促使計算機、處理器或其它電子設備按所需方式執行功能、動作或行為。該指令可以體現為各種形式,例如例程、算法、模塊、方法、線程或包括單獨應用或來自動態或靜態鏈接庫的代碼的程序。軟件也可以按各種可執行或可加載的形式來執行,包括但不局限于獨立程序、功能調用(本地或遠程)、servelet, applet (小程 序)、存儲在存儲器中的指令、操作系統的一部分或其它類型的可執行指令。將認識到的是,對于本領域普通技術人員來說,軟件的形式可能依賴于例如所需應用的需求、其運行的環境或設計人員/程序員的需要等。可使用類似于Java, Java Script, Java. NET, ASP. NET, VB. NET, Cocoa, Pascal,C#, C++,C, CGI,Perl, SQL, Mat lab, Mathematica, Maple, Mathcad, API, SDK 的編程語言和工具、組件、固件、微代碼或其它語言和工具來產生用于實現此處描述的示例性系統和方法的各種組件的合適軟件。軟件,不論是整個系統或系統的組件,都可實現為制品并且被保持或提供作為如之前定義的計算機可讀介質的一部分。軟件的另一種形式可包括在網絡上或其它通信介質上向接收者傳送軟件的程序代碼的信號。因而,在一個例子中,計算機可讀介質具有信號的形式,其中當該信號從web服務器被下載到用戶時,該信號表示為軟件/固件。在另一個實施例中,當將計算機可讀介質保持在web服務器上時,該計算機可讀介質具有軟件/固件的形式。還可使用其它的形式。此處所使用的“用戶”包括但不局限于一個或多個人、軟件、計算機或其它設備、或它們的組合。在將負載匹配到源的上下文中,此處所使用的“匹配”包括但不局限于發現或確定負載和源之間的連接關系(例如,電連接、功率連接、流體連接等)。根據存儲器中的數據位上的操作的算法和符號表示來呈現下面的詳細說明的一些部分。這些算法描述和表示是本領域技術人員能夠用于將他們的工作內容傳遞給其他人時所使用的手段。此處的算法,并且通常被設想為產生結果的操作序列。該操作可包括對物理量或非物理量的控制。通常,盡管不是必須的,這些量采用可在邏輯等中能夠被存儲、傳遞、組合、比較和其他操作等的電或磁信號的形式。已經證明的是,有時為了方便、主要出于普通應用的原因,將這些信號指代為比特、數值、元素、符號、字符、術語、數字等。但是應當在心中謹記的是,這些以及類似的術語應當與恰當的物理量相關聯并且這些術語僅是應用于這些量的方便標簽。除非進行了其他明確的規定,否則將認識到在整個說明書中,類似于處理、計算、演算、確定、顯示等的術語,指代對被表示為物理(電)量的數據進行操作或轉換的計算機系統、邏輯、處理器或類似的電子設備的操作或過程。在附圖中圖I圖示系統100的示意圖,該系統100包括η個負載Ll-Ln以及m個源Sl_Sm。從源Sl-Sm饋送負載Ll-Ln并且因此每個負載連接到至少一個源。但是,并不清楚哪些負載連接到哪些源。由于負載和源的日益增加的數量,諸如系統100的系統的復雜性增高,保持對哪些負載連接到哪些源的追蹤以及保持對負載的物理位置的追蹤變得更加困難。圖2圖示系統200的示意圖。類似于上面討論的系統100,系統200包括η個負載Ll-Ln以及m個源Sl_Sn。從源Sl-Sm饋送負載Ll-Ln并且因此每個負載連接到至少一個源。
在系統200中,負載Ll-Ln為活動感知負載。這意味著負載Ll-Ln能夠對與它們自身在時間段內的活動級別相對應的負載活動數據進行報告。例如,在數據中心內,負載Ll-Ln可以是服務器,服務器的操作系統能夠報告服務器活動度量或負載活動數據,例如,(PU使用、I/O使用、網絡使用等。活動感知負載的其它例子包括電信裝備、網絡集線器、HVAC裝備、電機等。負載活動數據可包括任意的物理上可測量的量。負載活動數據的其它例子包括功率、信號強度、熱散失(heat dissipation)、扭矩、壓力、流量、單位時間的操作
坐寸ο在系統200中,源Sl-Sm為活動感知源。源Sl-Sm能夠對與它們自身在時間段內的活動級別相對應的源活動數據進行報告。在數據中心的例子中,源Sl-Sm可以是不間斷電源(UPS)或電源分配單元(PDU)。這些源能夠報告與從源進行饋送的負載直接相關聯的源活動。例如,PDU可被配置為對與活動感知負載連接的每個輸出斷路器的消耗以kVA為單位進行報告。在另一個例子中,與多個活動感知負載可操作地連接的UPS可被配置為以VA為單位來報告消耗。活動感知源的其它例子包括電機起動器、空氣泵、電池、DC電源等。源活動數據可包括任何物理上可測量的量。源活動數據的其它例子包括功率、電流、諧波失真、功率因子、實際功率、表觀功率(apparent power)、V + A、壓力、流量等。系統200進一步包括匹配服務器210。匹配服務器210可操作地連接到負載Ll-Ln和源Sl-Sm。匹配服務器210從負載Ll-Ln接收負載活動數據并且從源Sl-Sm接收源活動數據。基于負載活動數據和源活動數據,并假設負載上存在可忽略的能量存儲,匹配服務器210可自動地將負載匹配到源并因此確定系統200的拓補。在一個實施例中,匹配服務器210以預編程的時間間隔周期性地確定系統200的拓撲,該系統100包括所有的負載和源。在另一個實施例中,匹配服務器210周期性地探測先前匹配的負載-源組的連接。匹配服務器210可每次一組或每次多于一組地探測匹配的負載-源組的連接。在其他實施例中,該匹配服務器210將負載匹配到源或者在特定條件(例如,用戶動作,負載插入、源插入、負載移除、源移除、源低負荷等)時對之前匹配的組進行探測。所屬領域的普通技術人員將了解的是,匹配服務器210可以是獨立服務器或計算機,或者匹配服務器210可駐留在網絡管理計算機或其他網絡計算機中,或者匹配服務器210可嵌入在系統中的其他裝置(例如,F1DU,儀表控制調整(MCA, meter-control-adjust)模塊,刀片機架(blade racks)等)。圖3圖示說明參考圖2公開的用于將負載自動匹配到源的匹配服務器300的實施例的原理框圖。匹配服務器300包括活動監測器310,其被配置為接收該負載活動數據和源活動數據。在示例的實施例中,活動監測器310可操作地連接到I/O接口 320,所屬I/O接口 320被配置為與包括負載和源的網絡進行交互。匹配服務器300進一步包括數據存儲330,該數據存儲330可操作地連接到活動監測器310和匹配引擎340。數據存儲330存儲源活動數據和負載活動數據。匹配服務器300還包括匹配引擎340,該匹配引擎340可操作地連接到活動監測器310或數據存儲330,并被配置為基于源活動數據和負載活動數據將源自動匹配到負載。匹配引擎340在假設與源和負載分別對應的源活動數據和負載活動數據之間存·在功能關系的情況下進行工作,其中源和負載在系統中互相連接。在數據中心的例子中,隨著服務器的活動增加,電源消耗也隨之增加。因此,對于連接的負載和源,As = f (\),其中As是源活動數據并且\是負載活動數據。該函數f可單調地增加或減小,但不必要為線性。由于函數f是單調的,因此匹配引擎340能夠使用非參數相關法(例如,弗利德曼測試(friedman test)、肯德爾等級(Kendall,s tau)、西格爾圖基測試(Siegel-Tukeytest)、斯皮爾曼等級相關系數(Spearman’ rho)、Levenstein距離等)對與源對應的源活動數據和與負載對應的負載活動數據之間的類似程度進行評價。例如,如果采用斯皮爾曼等級相關系數,則相關系數將被定義為
6TJ;) = P = I -.......-·1 j7..............— fd = rmkA {aLj)-mnkA {as)其中 P e
,
Φ -I) 11,
Al = (aL1, aL2, · · ·,aLn),As = (asl, aS2, · · ·,aSn),mnk一| {x, e Ai , X, iS (J} | ,并且γΟ‘)=|{χ, £為x, <aSi}\因此,如果負載活動數據包括來自m個負載(即,
O
4”,42>"4Λ))的讀數并且源活動數據包括來自m個源卿,^1},Af}A{smb的讀數,
貝U相關性片4" ’ 4J))可被用于執行自動匹配。在一個實施例中,負載活動數據包括來自m個負載的至少20個讀數或采樣,并且源活動數據包括來自m個源的至少20個讀數或采樣。在另一個實施例中,負載活動數據包括來自m個負載的30個讀數或采樣,并且源活動數據包括來自m個源的30個讀數或采樣。在其它實施例中,負載活動數據包括來自m個負載的大于20個讀數或采樣或小于30個讀數或采樣,并且源活動數據包括來自m個源的大于20個讀數或采樣或小于30個讀數或采樣。在其他實施例中,活動監測器310可連續接收負載活動數據和源活動數據,并且匹配引擎340在匹配時可采用最近進入的讀數或采樣。匹配引擎340通過對組合的最優化問題求解自動地匹配負載到源,該最優化問題根據最優化標準來處理將m個負載分配到m個源,使得結果是“最可能”的分配。在一個實施例中,匹配引擎340通過對線性求和分配問題(LSAP)求解將負載自動地匹配到源。在其它的實施例中,匹配引擎340通過不是對線性求和分配問題求解的方法來將負載自動地匹配到源,例如對二次方程式分配問題、線性塊分配問題等進行求解。在一個實施例中,“最可能”的量與差異性的分數或關聯成本度量相對應,當和4Λ更小地相似時(即,,4 ))該關聯成本度量增加。在這個例子中,分數或成本越小,與源對應的源活動數據和與負載對應的負載活動數據之間更為相似。在這一實施例中,線性求和分配問題變為以使匹配的總成本(即,分數的和)最小化的方式,將每個負載匹配到一個源。在一個實施例中,匹配引擎340采用Munkres (曼克勒斯)算法來對將負載自動匹配到源的線性求和分配問題求解。采用Munkres,負載自動匹配到源的線性求和分配問題可表述為獲得二元置換矩陣X = (Xu)mxm,其中如果#=/(#)(例如,負載i連接到源j)貝丨J Xij = I,否貝丨J Xij = O,其使滿足= 1 (j = I, · · · ,=l(i = 1,…,m)以及Xij e {0,1} (i, j = I, , m)的最小化。一旦獲得了 X,則可將連接到源S的負載L的匹配對(matching pairs) P的列表構造為P = {(Li, Sj) ^ij = 1}。在上述實施例中,使用Munkres算法對線性求和分配問題進行求解。在其它實施例中,匹配引擎340可采用除Munkres之外的多個算法(例如,Jonker-Volgenant, Burkard-Derigs, Dell' Amico, Martello, Yamada等)中的一個來對線性求和分配問題進行求解。作為相似度的分數或關聯成本度量ΔΟΙΙ0,」#)的基礎的相關算法(例如,斯皮爾曼等級相關系數)的使用可被實際的實現方式挑戰所干擾。例如,不能將負載活動數據和源活動數據的報告速度假定為相同,這是因為他們不必須來自相同的數據流。負載活動數據和源活動數據的不同報告速度可產生導致數據延遲或丟失的偏移的或拉伸的時間序列,這會影響對負載活動數據和源活動數據的相應采樣進行精確比較所必需的時間對準。在一個實施例中,匹配引擎340采用動態時間規整(DTW)來克服對偏移或拉伸的時間序列的負載活動數據和源活動數據進行比較的問題。DTW是一種索引或對準例如源活動數據As和負載活動數據Al的時間序列以使他們的相似度最小化的方法。為了執行對準,構造大小為ηχη的矩陣,使得每個(ith,jth)元素包含在兩個點^,和%,之間的成本度量的值4氣,弋)(例如,rf(氣,)= 氣·-'I2)。通過所述矩陣,在滿足邊界條件、連續性和單調性的約束情況下,通過表示Al和As元素的最佳對準的特定矩陣元素(i,j )來形成規整路徑W。將和As之間的DTW差異性度量定義為最小成本規整路徑W的長度,其是DTW(Ay As)=
權利要求
1.一種計算機實現方法(900),包括 獲得第一負載活動數據(910),所述第一負載活動數據對應于在時間段內在第一負載處的活動; 獲得第二負載活動數據(910),所述第二負載活動數據對應于在所述時間段內在第二負載處的活動; 獲得第一源活動數據(920),所述第一源活動數據對應于在所述時間段內在第一源處的活動; 獲得第二源活動數據(920),所述第二源活動數據對應于在所述時間段內在第二源處的活動; 評價下述之間的相似性(930 ): 所述第一負載活動數據和所述第一源活動數據, 所述第一負載活動數據和所述第二源活動數據, 所述第二負載活動數據和所述第一源活動數據,以及 所述第二負載活動數據和所述第二源活動數據;以及 根據應用于從所述評價得到的分數的最優化標準來匹配所述第一負載到所述第一源和所述第二源中的一個并且匹配所述第二負載到所述第一源和所述第二源中的一個(950)。
2.如權利要求I所述的方法,其中較高的相似性對應于較低的分數并且所述最優化標準對應于使所述分數的總和最小化。
3.如權利要求I所述的方法,其中在所述第一負載處的所述活動包括電源、單位時間操作、CPU使用、I/O使用和網絡使用中的至少一個。
4.如權利要求I所述的方法,其中在所述第一源處的所述活動包括功率消耗、電流、諧波失真、功率因數、真實功率和視在功率中的至少一個。
5.如權利要求I所述的方法,其中所述匹配包括求解線性求和分配問題。
6.如權利要求I所述的方法,其中所述匹配包括求解二元置換矩陣。
7.如權利要求I所述的方法,其中所述評價包括 沿所述時間段索引下列的樣本以使所述相似性最大化 所述第一負載活動數據和所述第一源活動數據, 所述第一負載活動數據和所述第二源活動數據, 所述第二負載活動數據和所述第一源活動數據,以及 所述第二負載活動數據和所述第二源活動數據。
8.如權利要求I所述的方法,其中所述評價包括 沿所述時間段計算下列之間的動態時間規整(DTW)和DTW的下界近似值中的至少一個 所述第一負載活動數據和所述第一源活動數據, 所述第一負載活動數據和所述第二源活動數據, 所述第二負載活動數據和所述第一源活動數據,以及 所述第二負載活動數據和所述第二源活動數據。
9.一種計算機實現方法(900),包括接收負載活動數據(910),所述負載活動數據對應于在多個負載處在時間段內采樣到的活動; 接收源活動數據(920),所述源活動數據對應于在多個源處在所述時間段內采樣到的活動; 計算在所述負載活動數據和所述源活動數據的樣本對內的關聯成本度量(940);以及 根據最優化標準基于所述關聯成本度量將每個負載分配到至少一個源(950)。
10.如權利要求9所述的方法,其中較高的相似性對應于所述關聯成本度量的較低的值并且所述最優化標準對應于所述關聯成本度量的所述值的總和的最小化。
11.如權利要求9所述的方法,進一步包括 沿所述時間段對準對應于所述負載活動數據和所述源活動數據的樣本對。
12.如權利要求9所述的方法,其中所述分配包括獲得矩陣X=(Xu)mxm,如果Aln =Z(Jf0)IJ Xij = 0,否則 Xij = !,其使滿足Σμ2# =1( j=1,2,· · · -m>=1(i=l,2,· · · m)和 XiJ e {0,1} (i,j=l, 2,· · ·,m)的H1K最小化,其中HAf,Λψ)為關聯成本度量。
13.如權利要求9所述的方法,進一步包括 將所述負載活動數據和所述源消耗數據轉換為相對等級(930)。
14.如權利要求9所述的方法,進一步包括 將所述負載活動數據和所述負載活動數據的相對等級中的一個歸一化;以及 將所述源消耗數據和所述源消耗數據的相對等級中的一個歸一化。
15.一種計算機實現方法,包括 接收負載活動數據(910),所述負載活動數據對應于在多個負載處在時間段內的活動的樣本; 接收源活動數據(920),所述源活動數據對應于在多個源處在所述時間段內的活動的樣本; 基于所述負載活動數據和所述源活動數據評價在所述負載活動和所述源活動之間的相似性(940);以及 基于所述評價將來自所述多個負載的負載分配到來自所述多個源的至少一個源(950)。
16.如權利要求15所述的方法,進一步包括 確定來自所述多個源的至少兩個源為冗余源,所述冗余源為來自所述多個負載的所述負載饋電,其中所述分配包括將所述負載分配到所述至少兩個源。
17.如權利要求15所述的方法,其中所述評價包括 計算動態時間規整(DTW)和DTW的下界近似值中的至少一個。
18.如權利要求15所述的方法,其中所述分配通過矩陣X=(Xij)mxm給出,如果A(f = /(40》則 =I,否則 Xij = 0,其使滿足22,~=1(」=1,2,…,πι),Σ二Xv =1(i=l,2,...m)以及 XiJ e {0,1} (i,j=l,2,…,m)的最小化,其中是根據所述評價步驟的相異性分數,其中所述相異性分數與包括對應于所述負載i的負載活動數據和對應于所述源j的源活動數據的對的評價相對應。
19.如權利要求14所述的方法,其中較高的相似性對應于在所述評價中計算出的較低的分數并且所述分配如此分配使得所述分數的總和最小。
20.如權利要求14所述的方法,其中所述負載活動數據包括CPU使用、I/O使用和網絡使用中的至少一個,并且所述源活動數據包括功率消耗、VA、電流、諧波失真、功率因子、真實功率和視在功率中的至少一個。
全文摘要
一種匹配源到負載的方法,包括分別接收對應于在多個負載和多個源處在時間段內的活動的樣本的負載活動數據和源活動數據。該匹配源到負載的方法進一步包括基于負載活動數據和源活動數據評價在負載活動數據和源活動數據之間的相似性,并且基于評價匹配負載到源。
文檔編號G06F1/32GK102939572SQ201180028785
公開日2013年2月20日 申請日期2011年6月10日 優先權日2010年6月11日
發明者L·R·佩雷拉 申請人:伊頓公司