TWI494858B - 用於虛擬交換機攔截器的方法、系統及電腦可讀取儲存媒體 - Google Patents

用於虛擬交換機攔截器的方法、系統及電腦可讀取儲存媒體 Download PDF

Info

Publication number
TWI494858B
TWI494858B TW101100599A TW101100599A TWI494858B TW I494858 B TWI494858 B TW I494858B TW 101100599 A TW101100599 A TW 101100599A TW 101100599 A TW101100599 A TW 101100599A TW I494858 B TWI494858 B TW I494858B
Authority
TW
Taiwan
Prior art keywords
virtual
message
application
component
virtual machines
Prior art date
Application number
TW101100599A
Other languages
English (en)
Other versions
TW201234268A (en
Inventor
Ashvin Sanghvi
Ilarie Letca
Alexandre Coelho
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of TW201234268A publication Critical patent/TW201234268A/zh
Application granted granted Critical
Publication of TWI494858B publication Critical patent/TWI494858B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • 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/04Network management architectures or arrangements
    • 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/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • 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/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Description

用於虛擬交換機攔截器的方法、系統及電腦可讀取儲存媒體
本發明係關於虛擬交換機攔截器。
資訊技術(IT)專業人員負責為企業管理計算資源。通常,該等IT專業人員的任務是降低成本以及提高運行效率。然而,資料中心會很快地接近容量,而購買新的伺服器增加了資本和運營開支,以及其他成本。同時,伺服器通常且基本上未被充分使用,而提供新機器是一個很長的程序,如此使得難以回應於快速改變的商業需求。
虛擬機器技術促進了提高的實體資源利用率以及靈活的機器供應。習慣上,軟體應用程式緊密地耦合到執行軟體應用程式的實體伺服器。虛擬機器技術提供了軟體應用程式和實體硬體之間的抽象層,並且允許例如在單台實體伺服器上提供多個虛擬機器。由此,工作負荷可被整合以提高實體資產利用率,並且可根據需要迅速地部署和停用機器。
為了促進管理,為IT專業人員提供用於監視實體資源、虛擬資源或兩者的手段是有幫助的。例如,關於效能或故障的度量對於決定是否要增加、移除或移動機器來說可能是有用的。該資訊可經由應用程式檢測(application instrumentation)來獲取。
通常,向應用程式添加代理,代理監視應用程式以及將相關資訊傳到該應用程式之外給管理元件以供進一步處理。換言之,對於每一個應用程式,添加一個代理,並且在代理和管理器之間存在靜態關係。舉例而言,主機伺服器上的虛擬機器管理器可經由本端應用程式代理從虛擬機器接收與應用程式有關的狀態訊息。
下文呈現了簡化的發明內容,以便提供對所揭示標的的某些態樣的基本理解。本發明內容不是廣泛性的概觀。其並不意欲識別關鍵/重要元素,亦不意欲劃定所主張標的的範圍。其唯一目的是以簡化形式呈現一些概念,作為稍後呈現的更詳細描述的序言。
簡言之,本案大體而言係關於促進虛擬應用程式的管理。可在主控應用程式的虛擬機器外部觀察來自虛擬應用程式的訊息,並且隨後可根據該訊息執行一或多個動作。例如,可裝備一個虛擬交換機或類似機制來觀察本端及/或遠端託管的虛擬應用程式之間傳遞的訊息,並且將該等訊息提供給管理服務以供進一步處理。所執行的動作可包括監視應用程式執行以及路由、過濾及/或轉換訊息等等。此外,本端收集的資訊可被發送給更高級別的管理層以經受住虛擬機器的迅速置放和遷移,以及實體機器的增減、更新以及重命名。
為實現上述及相關目的,在此結合以下描述和附圖描述了所主張標的的某些說明性態樣。該等態樣指示可實踐本標的的各種方式,其均落在所主張標的的範圍之內。當結合附圖閱讀以下詳細描述時,本發明的其他優點和新穎特徵將變得顯而易見。
以下的細節一般針對促進虛擬應用程式管理。通常,採用代理/管理器方法,其中虛擬應用程式裝備了代理,該代理可觀察虛擬應用程式中的動作並將資訊提供給常駐於應用程式外部的管理器以供進一步處理。然而,傳統方法不能很好地適應於當前和將來的多層虛擬化。單個伺服器目前可主控數十個虛擬機器,並且在不久的將來,伺服器將能夠主控數百個虛擬機器。此外,常駐於一個伺服器上的虛擬機器的數量可隨著虛擬機器被部署、移除以及從一個伺服器移動到另一個伺服器而快速改變。當前代理管理器方法要求首先應用程式要裝備一個代理(但並非總是如此),其次要在代理和管理器之間建立靜態連結。虛擬機器的絕對容積以及相關聯的活力並不有助於本方法。
如此處所描述的,應用程式訊息可從應用程式和主控虛擬機器外部觀察,其中該等訊息對應於虛擬應用程式之間的通訊。例如,可裝備虛擬交換機或類似元件來觀察訊息。隨後,可分析觀察到的訊息,並且根據該訊息等執行動作。例如,可產生與應用程式執行、誤差,及/或異常有關的管理度量。另外地或替代地,入站和出站訊息可被重新路由、過濾,及/或轉換。在本端主機伺服器處收集的資料亦可被提供給管理伺服器,以跨伺服器供對應用程式的進一步處理以及與應用程式進行互動。
現在參看附圖更詳細地描述本案的各個態樣,在全部附圖中用相似的標記來代表相似或相應的元件。然而應該理解,附圖及其相關詳細描述不意欲將所主張的標的限於所揭示的特定形式。相反,其意圖是涵蓋落在所主張標的的精神和範圍之內的所有修改、均等物和替代的方案。
最初參看圖1,圖示促進虛擬應用程式管理的系統100。如所示,系統100包括主機伺服器110,主機伺服器110是能夠主控複數個虛擬機器120(VM1 -VMX ,其中「X」是正整數)的實體機器。每個虛擬機器120可主控一或多個應用程式122,應用程式122包括系統和應用程式軟體,並且每個虛擬機器120可包括允許跨應用程式通訊並由此允許跨虛擬機器通訊的網路通訊協定堆疊124。換言之,應用程式122可經由主控虛擬機器120發送訊息給由不同虛擬機器120主控的一或多個其他應用程式122,並且接收來自由不同虛擬機器120所主控的一或多個其他應用程式的訊息。訊息可被實現為資料封包,諸如TCP/IP(傳輸控制協定/網際網路協定)封包、指向虛擬機器共享的記憶體的指標,或供隨後的協定處理的原始資料等等各種形式。
虛擬交換機130是經由將訊息路由到目標虛擬機器等方式來允許通訊的元件。虛擬交換機130可被嵌入在虛擬化元件132(例如虛擬機器監視器、系統管理程式、......)內,可以是獨立應用程式,或者可被包括在伺服器硬體內作為韌體。如所示的,訊息可由虛擬交換機130路由到本端虛擬機器或者路由到構成電腦網路(或換言之,網路雲端140)的一部分的遠端虛擬機器。因此,虛擬交換機130可允許本端以及遠端的動態資源分配。例如,虛擬機器120可從一台實體主機遷移到另一台,而虛擬交換機130可將訊息重新路由到其新的位置以維持通訊連結。此外,虛擬交換機130可做的不止簡單地轉發資料封包。虛擬交換機130亦可負責各種封包檢查功能(假設其被提供了必要的資料)。因此,虛擬交換機130可利用提供的或以其他方式可用的身份碼、憑證等(例如來自虛擬化元件132)來提供可讀資料以促進檢查。此外,注意虛擬交換機元件130不限於是虛擬交換機本身,而是亦可包括其他類似機制,諸如但不限於虛擬集線器和虛擬路由器。
另外,虛擬交換機130可以裝備有交換機介面元件150(亦簡稱介面元件150),介面元件被配置成觀察,或觀察並攔截傳遞的訊息並將訊息或訊息的副本轉發給管理元件160以供進一步處理。根據一個實施例,介面元件150可對應於一或多個應用程式編寫介面。注意,藉由將介面元件150設置在主控應用程式的虛擬機器之外,觀察不依賴於應用程式是否具有能夠觀察來自虛擬機器內的訊息的代理,並且易於在虛擬機器被動態地部署、移除,及/或移動時處理任何數量的虛擬機器。
除了通訊訊務,介面元件150可被配置成獲取並為管理元件160提供與虛擬機器有關的元資料。例如,該等元資料可識別虛擬機器如何配置以及什麼應用程式可在該虛擬機器上執行。例如在部署虛擬機器之後,至少一部分元資料可被提供給虛擬化元件132,元資料隨後可由介面元件150提供給管理元件160。
管理元件160被配置成根據應用程式訊息,以及可選地,根據從介面元件150獲取的元資料來執行動作。例如,應用程式訊息訊務可被監視並被用來計算度量,該等度量提供與應用程式如何執行以及是否發生了任何誤差及/或異常有關的資訊。資料亦可被收集起來以允許趨勢預測或其他分析。管理元件160亦可基於交換的訊息來做出關於訊息的路由、過濾以及轉換的決策,並且可將決策作為指令傳遞給虛擬交換機130及/或親自執行由該等指令所規定的動作。此外,管理元件160所執行的動作可基於一或多個策略及/或由例如系統管理員(IT專業人員)規定的明確指令。
舉例而言(但並非限制),可收集與哪個虛擬機器正與哪些其他虛擬機器通訊有關的資訊。若隔離策略(例如,規定對於可將虛擬機器置放在相對於彼此的何處的限制)允許,該資訊可被用來將虛擬機器置放在同一主機、機殼(enclosure)、區域網路等,以便藉由將通訊中的虛擬機器移動得離彼此更近來改良效能,由此降低通訊成本。
此外,可以瞭解的是,限制管理對於系統的主要功能的影響是所期望的。因此,管理元件160不需要改變或路由訊息,訊息時常可被排隊並被從容地處理,不太會負面地影響系統效能。此外,若訊息抵達佇列的速度比其被處理的速度快,訊息可簡單地被丟棄而完全不被處理。
圖2更詳細地圖示出代表性管理元件160。管理元件160包括一或多個封包監視器元件210、一或多個訊息檢查器元件220,以及訊息處理器元件230。一或多個封包監視器元件210和訊息檢查器元件220提供預處理操作,以允許訊息處理器元件230在抽象的更高層級執行動作。
一或多個封包監視器元件210可被配置成採用已知的或新穎的技術來從較小的傳遞的單元中重新構建應用程式產生的訊息(例如,整個SOAP封包或HTTP請求)。換言之,一或多個封包監視器元件210可被配置成對網路訊務進行解析並在一組網路通訊協定(亦稱通訊協定)的堆疊內的任何一層解釋該等訊息。為此,封包監視器元件210可被配置成根據對較低層(例如,層2(資料)和層3(網路))的觀察來重組網路堆疊(例如,層4-7(傳輸、通信期、表示、應用程式))。根據一種實施方式,該功能可藉由執行與執行在虛擬機器內的相同的協定堆疊124的副本來賦能。以此方式,可在不同層級(例如,層2、IP、TCP、HTTP、SOAP、......)上理解訊息,並且在合適的情況下,可在合適的層級上應用解密。類似地,由於可在所要求的任何層級處解釋網路通訊協定堆疊,可在任意層(例如,資料封包層、訊息層、......)規定至少影響要被執行的動作的策略。亦要注意,一或多個封包監視器元件210可以是依賴於技術的(例如,用於作業系統A的監視器元件、用於作業系統B的監視器元件)。
一或多個訊息檢查器元件220可以被配置成在網路堆疊的一或多個指定層上對特定技術的通訊進行檢查。此外,可為一或多個訊息檢查器元件220指派為特定技術和堆疊層識別請求和回復配對的任務。一旦識別了訊息配對,訊息配對可被提供給訊息處理器元件230以供進一步處理。
訊息處理器元件230提供與由一或多個訊息檢查器元件220提供的訊息相關聯的額外處理。更特定言之,訊息處理器元件230可採用與包括所支援的應用程式等的虛擬機器有關的元資料來幫助將訊息與特定應用程式相關聯。隨後,可對訊息資料執行任意數量的操作。例如,可計算效能度量、匯出健康資訊,以及收集與應用程式有關的事件資料。另外,訊息可被重新路由到其他目的地、被過濾,及/或被轉換。
圖3中圖示了訊息處理器元件230的一個代表性實施例。如所圖示的,訊息處理器元件230包括一或多個身份監視器元件310(身份監視器元件1 --身份監視器元件M ,其中「M」是正整數),其被配置成根據訊息本身以及可選地關於與訊息相關聯的一或多個虛擬機器(例如,發射器、接收器)的元資料來識別源或目的地應用程式。一旦應用程式與訊息相關聯,一或多個工作項320(工作項1 --工作項N ,其中「N」是正整數)可被產生用來定義待執行的動作。例如,工作項320可包括用於儲存應用程式活動的指令或用於報告軟體異常的出現的指令。換言之,維護工作項的佇列。
工作管理器元件330被配置成例如根據上下文資訊(例如,工作流專案、CPU利用率、記憶體利用率、......)對來自佇列的工作項320進行排程以供執行。作為實例,在訊息未被改變或路由的情況下,當滿足可接受的效能閾值時,工作項的佇列可被從容地處理,以限制對當前執行中的虛擬應用程式的影響。此外,若工作管理器元件330和相關聯的硬體不能跟上訊息處理,則訊息可簡單地被丟棄,或者換言之,訊息被允許通過而不經過完整的分析和處理。
為了監視新的或不支援的技術,訊息檢查器元件220可向主機伺服器110(圖1)登錄。然而,被監視的資料以及如何配置、識別,或收集與應用程式有關的資料在很大程度上可在不知曉用於觀察或以其他方式獲取資料的特定技術堆疊的情況下被處理。
此外,由於虛擬機器外部的通訊量是觀察插入點,因此對於訊息觀察、攔截之類而言,虛擬機器生存期限和配置不再是問題。例外,一旦虛擬機器被配置成執行並被啟動,則虛擬化軟體(例如,系統管理程式、虛擬監視器、虛擬交換機、......)將把與虛擬機器有關的元資料儲存起來以當觀察該虛擬機器的訊息時幫助識別應用程式。類似的,虛擬機器可提供用於對加密的通訊進行解密的身份碼(例如,憑證),該等憑證可被管理元件160用來促進觀察和處理訊息。更大體而言,資料可以是依賴於協定的,並且虛擬化元件132基於例如由虛擬機器所提供的資訊可理解該資料。
圖4圖示了促進虛擬應用程式管理的系統400。類似於圖1的系統100,系統400包括主機伺服器110,主機伺服器110包括複數個虛擬機器120和虛擬交換機130,虛擬交換機130在此處構成虛擬化元件132(例如,虛擬機器監視器、系統管理程式、......)的一部分。虛擬交換機130裝備有介面元件150,其用於允許對複數個虛擬機器120以及可經由網路雲端140來存取的其他虛擬機器之間的通訊進行監視。與圖1的系統100不同,在該實施例中,管理元件160由複數個虛擬機器120中的一個來主控。換言之,管理元件160是一個虛擬裝置(例如,被設計為在虛擬機器內部執行的軟體影像)。如此處所示,管理元件160由「VMX 」來主控。因此,根據對跨虛擬機器通訊的觀察、攔截之類,介面元件150可將通訊訊息經由「VMX 」提供給管理元件160。類似的,注意管理元件160可被放置在主機伺服器110(未圖示)外部,並且可經由網路雲端140來存取。在任一個實施例中,管理元件160保持之前述及之與根據訊息和可選的元資料等來執行各個動作有關的功能。
將注意力轉至圖5,圖示促進分層管理的系統500。數個本端主機伺服器502(主機伺服器1 --主機伺服器M ,其中「M」是正整數)可包括對應於圖1、2和4中的管理元件160的各個本端管理元件504(本端管理元件1 --本端管理元件M ,其中「M」是正整數)。每個本端管理元件504所收集的資料可被提供給包括中央管理元件510的管理伺服器506。另外,中央管理元件510可在資料儲存520中儲存應用程式定義(或者換言之,應用程式元資料),以允許隨後對應用程式和應用程式的狀態進行建模。另外,可收集關於應用程式的各種資料並存放在資料儲存520中以供分析和趨勢預測等。基於分析、管理員輸入及/或其他因素,中央管理器元件510可指示本端管理元件504中的一或多個執行動作或實施策略。例如,中央管理元件510可協調各主機伺服器502之間的負載平衡。為了允許虛擬機器在執行期間在主機之間移動且同時維持對訊息的理解,虛擬機器即時遷移可發生在TCP(傳輸控制協定)超時內,並且中央管理元件510可包括與正被移動的虛擬機器相同的協定堆疊的執行副本。
系統500圖示雙層分層管理結構,其中第一層對應於常駐於各個主機伺服器502上的本端管理元件504,而第二層對應於由管理伺服器506所執行的中央管理元件510。該結構有助於在存在大量虛擬機器情況下的應用程式管理以及虛擬機器的快速置放和遷移,以及實體機器的增減、更新和重命名。此外,應當瞭解系統500不限於兩層,而是可伸縮以支援任意數量個層或分層層級以促進管理。舉例而言(但並非限制),可由一全域管理伺服器(未圖示)來監督一管理伺服器叢集,並且/或者可在主機伺服器502和管理伺服器506之間插入中間管理伺服器(未圖示)。
參考若干元件之間的互動已經描述了上述系統、架構、環境等。應該瞭解,此種系統和元件可以包括其中指定的彼等元件或子元件,某些指定的元件或子元件,及/或附加的元件。子元件亦可以被實施為在通訊上被耦合到其他元件而不是被包括在父元件中的元件。此外,一或多個元件及/或子元件可以組合成提供聚集功能的單個元件。系統、元件,及/或子元件之間的通訊可以根據推送(push)及/或拉取(pull)模型來實現。各元件亦可以與一或多個其他元件進行互動,出於簡要考慮在此未特定描述其他元件,但本領域的技藝人士均已知。
此外,以上揭示系統以及以下方法的各個部分可以包括或包含人工智慧、機器學習或基於知識或規則的元件、子元件、程序、手段、方法或機制(例如,支援向量機器、神經網路、專家系統、貝氏信賴網路、模糊邏輯、資料融合引擎、分類器……)。此種元件和其他元件可以自動化其執行的某些機制或程序,由此使得系統和方法的各部分更為自我調整以及高效及智慧。舉例而言(但並非限制),本端管理元件504和全域管理元件510可採用該機制來決定或推斷管理戰略等。
考慮到以上描述的示例性系統,參看圖6-8的流程圖將可以更好地瞭解依照所揭示的標的而實施的方法。儘管為了說明簡潔起見,按照一系列方塊圖示和描述了方法,但是,應該理解和瞭解,所主張的標的不限於方塊的順序,因為一些方塊可以按與此處所圖示和描述的不同的順序進行及/或與其他方塊併發地進行。此外,並非全部所圖示的方塊皆是實施下文所描述的方法所必需的。
參看圖6,圖示促進虛擬應用程式管理的方法600。在元件符號610處,觀察發送到以及發送自一或多個虛擬機器的訊息。例如,應用程式可跨兩個或兩個以上虛擬機器分佈,並且可觀察跨應用程式通訊。此外,該觀察、攔截之類可在虛擬機器外部執行。在一個實施例中,該等訊息可採用TCP/IP資料封包的形式。然而,訊息亦不限於此。舉例而言(但並非限制),訊息可以規定指向由兩個或兩個以上虛擬機器所共享的本端記憶體的指針。此外,要瞭解的是跨應用程式通訊不限於本端虛擬機器,而是可包括在由其他可經由網路存取的實體伺服器所主控的虛擬機器之間的通訊。
在元件符號620處,可根據訊息執行一或多個動作。在一個實例中,動作可對應於基於訊息以及可選地基於虛擬機器元資料來識別訊息所對應的特定應用程式。在另一實例中,動作可對應於監視應用程式訊息並儲存訊息以供後續使用。另外或替代地,訊息資料可被分析、相關、聚集及/或設置閾值等,其結果可被用於例如對訊息進行路由、過濾及/或轉換以及置放、遷移、更新虛擬機器。此外,可基於例如由系統管理員所規定的一或多個策略或明確指令來執行該等動作。舉例而言(但並非限制),可基於源和目的地虛擬機器的相對位置使用適當的層級協定來執行基於策略的訊息轉換。亦即,若虛擬機器在同一個主機上,可執行記憶體區塊轉移;若虛擬機器在同一個刀鋒伺服器機殼上,可轉移巨量的區塊;若虛擬機器位於同一個區域網路,可採用積極的分塊;並且若決定對於網路介面卡卸載了傳輸控制協定,則可採用特定協定,如串流傳輸。
圖7圖示了一種應用程式通訊處理的方法700。在元件符號710處,從例如觀察或攔截跨虛擬機器的應用程式訊息的介面獲取資料封包。在元件符號720處,重新構建該訊息。採用已知或新穎的機制,網路通訊協定堆疊的應用程式層(層7)以及其他中間層可以從資料連結層及/或網路層(層2和3)資料封包中重組。此舉可藉由例如執行與資料封包獲取自的虛擬機器相同的網路通訊協定堆疊(例如,網路通訊協定套件的實施)的本端複本來完成。在元件符號730處,應用身份碼來對加密的資料封包(或更特定言之,對網路通訊協定堆疊層)進行解密。在虛擬機器被置放(或換言之,部署)在主機伺服器上之後,可由虛擬機器提供該等身份碼或與其他安全機制有關的資訊,並且隨後可被獲取並用於使資料能夠被讀取。在元件符號740處,訊息配對被識別,即請求與針對例如對於特定技術或網路通訊協定層的各個請求的回應相配對。在元件符號750處,根據訊息以及可選地根據與虛擬機器有關的元資料來識別與訊息相關聯的應用程式。
圖8是圖示應用程式管理的方法800的流程圖。在元件符號810處,從虛擬應用程式訊息中獲取資料。例如,可觀察本端及/或遠端主控的虛擬應用程式之間的訊息,而該訊息內容可以是破獲取的資料。在元件符號820處,可對資料執行一或多個動作。例如,資料可被儲存以供隨後的應用程式建模或趨勢預測,及/或被處理以計算應用程式如何執行或封包應如何被路由、過濾或轉換。另外,可以瞭解的是所執行的動作亦可由策略或明確指令規定。在元件符號830處,一或多個動作的結果被輸出給例如系統管理員或檔案以供稍後分析。此外,在訊息被攔截且想要不同的路由的情況下,輸出可對應於被重新路由的訊息。
如此處所描述的,與經由代理來在應用程式層觀察應用程式活動的傳統管理系統相比,可藉由觀察主控虛擬機器外部的訊息來促進虛擬應用程式管理。不過,該兩種應用程式管理的方法不需要互相排斥。相反,與觀察例如來自虛擬交換機的訊息相反,或者除此之外,可增加本發明的管理方法來接受來自常駐於應用程式的代理的輸出。類似資訊可經由兩種方法中的任意一種來獲取。此外,採用兩種方法可提供用於確證結果的手段,或者換言之,用於增加由一種方法所產生的結果的置信度的手段。
在此所用的術語「元件」、「系統」和「引擎」及其各種形式意欲代表與電腦相關的實體,其可以是硬體、硬體和軟體的組合、軟體,或執行中的軟體。例如,元件可以是但不限於是,在處理器上執行的程序、處理器、物件、實例、可執行程式、執行的執行緒、程式及/或電腦。作為說明,在電腦上執行的應用程式和電腦皆可以是元件。一或多個元件可以常駐在程序及/或執行的執行緒中,並且元件可以位於一個電腦內及/或分佈在兩個或兩個以上電腦之間。
在本文中使用的用語「示例性」或其各種形式意謂用作示例、實例或說明。在此被描述為「示例性」的任何態樣或設計並不一定要被解釋為相比其他態樣或設計更優選或有利。此外,各實例僅是出於清楚和理解的目的來提供的並且並不意謂以任何方式限制或約束所主張標的或本發明的相關部分。可以瞭解,本來可呈現不同範圍的各種附加或替代實例,但出於簡明的目的已被省略。
如此處所使用,術語「推論」或「推斷」通常代表從經由事件及/或資料擷取的一組觀察結果來推理或推斷系統、環境,及/或使用者的狀態的程序。可以使用推斷來識別特定上下文或動作,亦可以產生例如狀態上的概率分佈。推斷可以是概率性的,亦即,基於對資料和事件的考慮,計算在感興趣狀態上的概率分佈。推斷亦可以代表用於從一組事件及/或資料構成較高級別的事件的技術。此種推斷導致從一組觀察到的事件及/或儲存的事件資料建構新的事件或動作,不管事件在時間上是否緊密相關,以及事件和資料是來自一個還是多個事件和資料來源。可採用各種分類方案及/或系統(例如,支援向量機器、神經網路、專家系統、貝氏信賴網路、模糊邏輯、資料融合引擎......)來執行關於所主張標的的自動化及/或推斷的動作。
而且,對於在詳細描述或申請專利範圍中使用術語「包括」、「包含」、「具有」、「含有」或其他形式的變型而言,此種術語意欲以類似於術語「包括」的方式體現包含性,如同「包括」在用作申請專利範圍中的連接詞時所解釋的一般。
為了為所主張標的提供上下文,圖9以及以下論述意欲提供對其中可以實施本標的的各態樣的合適環境的簡要、概括描述。然而,合適的環境僅是實例且並非意欲對使用範圍或功能提出任何限制。
儘管能夠在可以在一或多台電腦上執行的程式的電腦可執行指令的一般上下文中描述以上揭示的系統和方法,但是,本領域的技藝人士將認識到,各態樣亦可以與其他程式模組等相結合地實施。一般而言,程式模組包括執行特定任務或實施特定抽象資料類型的常式、程式、元件和資料結構等。此外,本領域技藝人士可以瞭解,上述系統和方法可用各種電腦系統配置實現,包括單一處理器、多處理器或多核心處理器電腦系統、小型計算設備、大型電腦,以及個人電腦、掌上型計算設備(例如,個人數位助理(PDA)、電話、手錶......)、基於微處理器或可程式設計消費或工業電子設備等。各態樣亦可以在其中任務由經由通訊網路連結的遠端處理設備執行的分散式運算環境中實現。然而,所主張標的的某些態樣,若不是所有態樣的話,可以在獨立電腦上實現。在分散式運算環境中,程式模組可以位於本端和遠端記憶體儲存設備中的一個或兩者中。
參看圖9,圖示示例性通用電腦910或計算設備(例如,桌上型電腦、膝上型電腦、伺服器、掌上型設備、可程式設計消費或工業電子設備、機上盒、遊戲系統......)。電腦910包括一或多個處理器920、記憶體930、系統匯流排940、大量儲存器950,以及一或多個設備介面元件970。系統匯流排940與至少上述系統元件通訊地耦合。然而,可以瞭解,在其最簡單的形式中,電腦910可包括耦合到記憶體930的一或多個處理器920,該一或多個處理器920執行儲存在記憶體930中的各種電腦可執行動作、指令及/或元件。
處理器920可以用通用處理器、數位訊號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式閘陣列(FPGA)或其他可程式邏輯設備、個別閘門或電晶體邏輯、個別硬體元件或被設計為執行此處描述的功能的其任意組合來實施。通用處理器可以是微處理器,但在替代方案中,處理器可以是任何處理器、控制器、微控制器,或狀態機。處理器920亦可被實施為計算設備的組合,例如DSP和微處理器的組合、複數個微處理器、多核心處理器、結合DSP核心的一或多個微處理器,或任何其他此種配置。
電腦910可包括各種電腦可讀取媒體或以其他方式與各種電腦可讀取媒體互動以促進控制電腦910來實施所主張標的的一或多個態樣。電腦可讀取媒體可以是能由電腦910存取的任何可用媒體,並包含揮發性和非揮發性媒體以及可移除和不可移除媒體。舉例而言(但並非限制),電腦可讀取媒體可包括電腦儲存媒體和通訊媒體。
電腦儲存媒體包括以用於儲存諸如電腦可讀取指令、資料結構、程式模組或其他資料之類的資訊的任意方法或技術來實施的揮發性和非揮發性、可移除和不可移除媒體。電腦儲存媒體包括,但不限於,記憶體設備(例如,隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電子可抹除可程式唯讀記憶體(EEPROM)......)、磁性儲存設備(例如,硬碟機、軟碟、磁帶盒、磁帶......)、光碟(例如,壓縮光碟(CD)、數位多功能光碟(DVD)......),以及固態設備(例如,固態驅動器(SSD)、快閃記憶體驅動器(例如,記憶卡、記憶棒、鍵式磁碟......)......),或者可用於儲存所需資訊並且可由電腦910存取的任何其他媒體。
通訊媒體通常以諸如載波或其他傳輸機制等已調制資料信號來體現電腦可讀取指令、資料結構、程式模組或其他資料,並包括任何資訊傳送媒體。術語「已調制資料信號」意謂具有以在信號中編碼資訊的方式被設定或改變其一或多個特徵的信號。舉例而言(但並非限制),通訊媒體包括諸如有線網路或直接線連接之類的有線媒體,以及諸如聲學、RF、紅外線及其他無線媒體之類的無線媒體。上述的任意組合亦應包含在電腦可讀取媒體的範圍內。
記憶體930和大量儲存器950是電腦可讀取儲存媒體的實例。取決於計算設備的確切配置和類型,記憶體930可以是揮發性的(例如RAM)、非揮發性的(例如ROM、快閃記憶體......)或是兩者的某種組合。作為實例,包括諸如在啟動期間在電腦910內的元件之間傳輸資訊的基本常式的基本輸入/輸出系統(BIOS)可被儲存在非揮發性記憶體中,而揮發性記憶體可充當外部快取緩衝記憶體以促進處理器920的處理等。
大量儲存器950包括相對於記憶體930用於儲存大量資料的可移除/不可移除、揮發性/非揮發性電腦儲存媒體。例如,大量儲存器950包括但不限於,諸如磁碟或光碟機、軟碟機、快閃記憶體、固態驅動器,或記憶棒的一或多個設備。
記憶體930和大量儲存器950可包括或其中儲存有作業系統960、一或多個應用程式962、一或多個程式模組964和資料966。作業系統960用於控制和分配電腦910的資源。應用程式962包括系統和應用程式軟體之一或兩者,並且可利用作業系統960對資源的管理經由儲存在記憶體930及/或大量儲存器950中的程式模組964和資料966來執行一或多個動作。因此,應用程式962可根據由此提供的邏輯來將通用電腦910變成專用機器。
所主張標的的全部或各部分可以使用產生控制電腦以實現所揭示功能的軟體、韌體、硬體或其任意組合的標準程式編寫及/或工程技術來實現。舉例而言(但並非限制),系統100的介面元件150和管理元件160或其部分可以是或形成應用程式962的一部分,並且包括儲存在記憶體中及/或大量儲存器950中的一或多個模組964以及資料966,其功能可在由一或多個處理器920執行時被實現。
根據一個特定實施例,處理器920可與片上系統(SOC)或在單個積體電路基板上包括或換言之整合硬體和軟體的類似架構相對應。此處,處理器920可包括至少與處理器920和記憶體930相似的一或多個處理器以及記憶體等。一般處理器包括最少量的硬體和軟體並且廣泛依賴於外部硬體和軟體。作為對比,處理器的SOC實施更強大,因為其將硬體和軟體嵌入其中以能夠用最少的外部硬體和軟體或不依賴於外部硬體和軟體來賦能特定功能。例如,介面元件150和管理元件160及/或相關聯的功能可被嵌入到SOC架構中的硬體內。
電腦910亦包括通訊地耦合到系統匯流排940並促進與電腦910的互動的一或多個設備介面元件970。作為實例,設備介面元件970可以是埠(例如,串列、並行、PCMCIA、USB、火線......)或介面卡(例如,聲音、視訊......)等。在一個示例性實施中,設備介面元件970可被具體化為使用者輸入/輸出介面,該使用者輸入/輸出介面使得使用者能夠經由一或多個輸入設備(例如,諸如滑鼠的指向設備、軌跡球、觸控筆、觸摸墊、鍵盤、話筒、操縱桿、遊戲墊、圓盤式衛星天線、掃瞄器、相機、其他電腦......)來將命令和資訊輸入到電腦910中。在另一示例性實施中,設備介面元件970可被具體化為輸出周邊介面,該輸出周邊介面向顯示器(例如,CRT、LCD、電漿......)、揚聲器、印表機及/或其他電腦等提供輸出。此外,設備介面元件970可被具體化為網路介面,該網路介面使得能夠諸如經由有線或無線通訊鏈路與其他計算設備(未圖示)通訊。
以上所已經描述的內容包括所主張標的的各態樣的實例。當然,出於描述所主張標的的目的而描述每一個可以想到的元件或方法的組合是不可能的,但本領域內的一般技藝人士應該認識到,所揭示標的的許多進一步的組合和排列皆是可能的。從而,所揭示的標的意欲涵蓋落入所附申請專利範圍的精神和範圍內的所有此種變更、修改和變化。
100...系統
110...主機伺服器
120...虛擬機器
122...應用程式
124...網路通訊協定堆疊
130...虛擬交換機
132...虛擬化元件
140...網路雲端
150...交換機介面元件
160...管理元件
210...封包監視器元件
220...訊息檢查器元件
230...訊息處理器元件
310...身份監視器元件
320...工作項
330...工作管理器元件
400...系統
500...系統
502...本端主機伺服器
504...本端管理元件
506...管理伺服器
510...中央管理元件
520...資料儲存
600...方法
610...步驟
620...步驟
700...方法
710...步驟
720...步驟
730...步驟
740...步驟
750...步驟
800...方法
810...步驟
820...步驟
830...步驟
910...通用電腦
920...處理器
930...記憶體
940...系統匯流排
950...大量儲存器
960...作業系統
962...應用程式
964...程式模組
966...資料
970...設備介面元件
圖1是促進虛擬應用程式管理的系統的方塊圖。
圖2是代表性管理元件的方塊圖。
圖3是代表性訊息處理器元件的方塊圖。
圖4是促進虛擬應用程式管理的系統的方塊圖。
圖5是促進虛擬應用程式的分層管理的系統的方塊圖。
圖6是促進虛擬應用程式管理的方法的流程圖。
圖7是應用程式通訊處理的方法的流程圖。
圖8是促進虛擬應用程式管理的方法的流程圖。
圖9是圖示用於本案的各態樣的合適操作環境的示意性方塊圖。
100...系統
110...主機伺服器
120...虛擬機器
122...應用程式
124...網路通訊協定堆疊
130...虛擬交換機
132...虛擬化元件
140...網路雲端
150...交換機介面元件
160...管理元件

Claims (20)

  1. 一種促進應用程式管理的方法,包括以下步驟:採用被配置來執行儲存在記憶體中的電腦可執行指令以執行以下動作的至少一個處理器:觀察虛擬交換訊務,該虛擬交換訊務包括一個或更多個主控應用程式的虛擬機器之外部的傳入及傳出之虛擬應用程式訊息;及藉由該等指令的一部分,根據該訊息執行一動作,其中該等指令的該部分能夠被配置成由該等主控應用程式的虛擬機器之其中一者來主控。
  2. 如請求項1之方法,進一步包括以下步驟:根據與該等主控應用程式的虛擬機器中的至少一個有關的元資料執行該動作。
  3. 如請求項1之方法,執行該動作之步驟包含以下步驟:提供關於該訊息的路由資訊至一虛擬交換機。
  4. 如請求項1之方法,進一步包括以下步驟:用由該等主控應用程式的虛擬機器中的一個提供的身份碼解密該訊息。
  5. 如請求項1之方法,進一步包括以下步驟:從一應用程 式內的一代理獲取該訊息。
  6. 如請求項1之方法,進一步包括以下步驟:接收影響該所執行的動作的一策略。
  7. 如請求項6之方法,進一步包括以下步驟:基於該策略在一網路通訊協定堆疊層級解釋該訊息。
  8. 如請求項1之方法,其中執該行動作之步驟包括以下步驟:根據該訊息決定該等虛擬機器中的一個或更多個的置放。
  9. 如請求項1之方法,進一步包括以下步驟:向一管理伺服器提供自該訊息觀察的本端主機資料。
  10. 一種促進虛擬應用程式管理的系統,包括:一處理器,該處理器耦合到一記憶體,該處理器被配置來執行儲存在該記憶體中的以下電腦可執行元件:一第一元件,該第一元件被配置成經由一虛擬交換機觀察前往或來自一虛擬應用程式的一訊息,該虛擬應用程式由一個或更多個虛擬機器主控;及一第二元件,該第二元件被配置成根據該所觀察到的訊息來執行一動作,其中該第二元件能夠被配置成由該等虛擬機器之其中一者來主控。
  11. 如請求項10之系統,其中該第二元件被配置成根據與該等虛擬機器中的至少一個有關的元資料來執行該動作。
  12. 如請求項10之系統,其中該訊息提供指向由該等虛擬機器中的兩個或兩個以上所共享的記憶體的一指標。
  13. 如請求項10之系統,其中該訊息是由為一個或更多個本端虛擬機器提供協定處理的一專用虛擬裝置所提供的。
  14. 如請求項10之系統,該訊息去往執行通訊協定處理的一網路介面控制器。
  15. 如請求項10之系統,該動作包含路由、過濾或轉換中的至少一者。
  16. 如請求項10之系統,進一步包括一第三元件,該第三元件被配置成將監視應用程式執行的動作的結果從一本端主機伺服器傳遞到一管理伺服器。
  17. 一種具有指令儲存於其上的電腦可讀取儲存媒體,該等指令使至少一個處理器在執行該等指令時執行一方法,該方法包括以下步驟:觀察虛擬交換訊務,該虛擬交換訊務包括一個或更多個虛 擬機器之外部的傳入及傳出之虛擬應用程式訊息;及藉由該等指令的一部分,根據該訊息執行一動作,其中該等指令的該部分能夠被配置成由該等虛擬機器之其中一者來主控。
  18. 如請求項17之電腦可讀取儲存媒體,進一步包括基於關於一個或更多個虛擬機器的元資料執行該動作。
  19. 如請求項17之電腦可讀取儲存媒體,進一步包括用由一虛擬機器監視器管理之身份碼解密一加密的訊息。
  20. 如請求項17之電腦可讀取儲存媒體,進一步包括將自該訊息獲取之資訊提供至一外部管理服務。
TW101100599A 2011-02-10 2012-01-06 用於虛擬交換機攔截器的方法、系統及電腦可讀取儲存媒體 TWI494858B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/025,042 US9292329B2 (en) 2011-02-10 2011-02-10 Virtual switch interceptor

Publications (2)

Publication Number Publication Date
TW201234268A TW201234268A (en) 2012-08-16
TWI494858B true TWI494858B (zh) 2015-08-01

Family

ID=46637910

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101100599A TWI494858B (zh) 2011-02-10 2012-01-06 用於虛擬交換機攔截器的方法、系統及電腦可讀取儲存媒體

Country Status (5)

Country Link
US (3) US9292329B2 (zh)
EP (2) EP2673706A4 (zh)
CN (1) CN102664786B (zh)
TW (1) TWI494858B (zh)
WO (1) WO2012109599A2 (zh)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5772946B2 (ja) * 2010-07-21 2015-09-02 日本電気株式会社 計算機システム、及び計算機システムにおけるオフローディング方法
JP5545154B2 (ja) * 2010-09-29 2014-07-09 株式会社ワコール ボトム衣類
US9292329B2 (en) * 2011-02-10 2016-03-22 Microsoft Technology Licensing, Llc Virtual switch interceptor
US20180074843A1 (en) * 2011-03-31 2018-03-15 P4tents1, LLC System, method, and computer program product for linking devices for coordinated operation
US10846396B1 (en) * 2011-05-25 2020-11-24 Hewlett-Packard Development Company, L.P. Downloading data in a dedicated virtual machine
US20130024553A1 (en) * 2011-07-18 2013-01-24 Cisco Technology, Inc. Location independent dynamic IP address assignment
US8935457B2 (en) * 2011-07-29 2015-01-13 International Business Machines Corporation Network filtering in a virtualized environment
US8881145B2 (en) * 2011-12-15 2014-11-04 Industrial Technology Research Institute System and method for generating application-level dependencies in one or more virtual machines
KR101953790B1 (ko) * 2012-02-27 2019-03-05 한국전자통신연구원 클라우드 네트워킹 장치 및 방법
US20130312096A1 (en) * 2012-05-18 2013-11-21 Vmware, Inc. On-demand data scan in a virtual machine
EP2687982A1 (en) * 2012-07-16 2014-01-22 NTT DoCoMo, Inc. Hierarchical system for managing a plurality of virtual machines, method and computer program
US9135051B2 (en) * 2012-11-02 2015-09-15 Red Hat Israel, Ltd. Redirecting guest-generated events to an event aggregator in a networked virtualization environment
US9130979B2 (en) 2012-12-11 2015-09-08 Microsoft Technology Licensing, Llc Systems and methods for using virtual machines to sequence native applications into virtual packages and for reimaging virtual machines
US9626205B2 (en) * 2013-08-14 2017-04-18 Bank Of America Corporation Hypervisor driven embedded endpoint security monitoring
US9385959B2 (en) 2013-09-26 2016-07-05 Acelio, Inc. System and method for improving TCP performance in virtualized environments
US10581687B2 (en) 2013-09-26 2020-03-03 Appformix Inc. Real-time cloud-infrastructure policy implementation and management
US10291472B2 (en) 2015-07-29 2019-05-14 AppFormix, Inc. Assessment of operational states of a computing environment
US10355997B2 (en) 2013-09-26 2019-07-16 Appformix Inc. System and method for improving TCP performance in virtualized environments
CN104580124B (zh) * 2013-10-29 2019-04-05 华为技术有限公司 协议栈选择方法、装置及设备
CN104102695B (zh) * 2014-06-26 2017-11-10 晨星半导体股份有限公司 智能设备启动过程的数据处理方法及智能设备
US9906454B2 (en) 2014-09-17 2018-02-27 AppFormix, Inc. System and method for providing quality of service to data center applications by controlling the rate at which data packets are transmitted
JP6354901B2 (ja) * 2014-10-06 2018-07-11 日本電気株式会社 仮想マシンの故障検知および回復用管理システム
WO2016065565A1 (en) 2014-10-30 2016-05-06 Empire Technology Development Llc Malicious virtual machine alert generator
TWI578737B (zh) * 2015-02-10 2017-04-11 鴻海精密工業股份有限公司 交換機、控制設備及其管理方法
US9912400B1 (en) * 2015-08-31 2018-03-06 Rockwell Collins, Inc. Concurrent mobile user objective system streaming
US10652112B2 (en) 2015-10-02 2020-05-12 Keysight Technologies Singapore (Sales) Pte. Ltd. Network traffic pre-classification within VM platforms in virtual processing environments
US10116528B2 (en) 2015-10-02 2018-10-30 Keysight Technologies Singapore (Holdings) Ptd Ltd Direct network traffic monitoring within VM platforms in virtual processing environments
CN106909436B (zh) 2015-12-23 2020-07-21 财团法人工业技术研究院 产生虚拟机消息队列应用程序的相关关系的方法与系统
US10178003B2 (en) * 2016-12-15 2019-01-08 Keysight Technologies Singapore (Holdings) Pte Ltd Instance based management and control for VM platforms in virtual processing environments
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US11068314B2 (en) 2017-03-29 2021-07-20 Juniper Networks, Inc. Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
US10868742B2 (en) 2017-03-29 2020-12-15 Juniper Networks, Inc. Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control
US11323327B1 (en) 2017-04-19 2022-05-03 Juniper Networks, Inc. Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles
US10558483B2 (en) 2017-04-20 2020-02-11 International Business Machines Corporation Optimal dynamic placement of virtual machines in geographically distributed cloud data centers
US10855694B2 (en) * 2017-05-30 2020-12-01 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for monitoring encrypted packet flows within a virtual network environment
US10903985B2 (en) * 2017-08-25 2021-01-26 Keysight Technologies Singapore (Sales) Pte. Ltd. Monitoring encrypted network traffic flows in a virtual environment using dynamic session key acquisition techniques
US10992652B2 (en) 2017-08-25 2021-04-27 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for monitoring encrypted network traffic flows
US10541901B2 (en) 2017-09-19 2020-01-21 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems and computer readable media for optimizing placement of virtual network visibility components
US10764169B2 (en) 2017-10-09 2020-09-01 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing virtual network components deployed in virtual private clouds (VPCs)
US11038770B2 (en) 2018-02-01 2021-06-15 Keysight Technologies, Inc. Methods, systems, and computer readable media for managing deployment and maintenance of network tools
US10812349B2 (en) 2018-02-17 2020-10-20 Keysight Technologies, Inc. Methods, systems and computer readable media for triggering on-demand dynamic activation of cloud-based network visibility tools
TWI685253B (zh) 2018-07-12 2020-02-11 瑞昱半導體股份有限公司 多媒體串流及路由裝置及其運作方法
US10893030B2 (en) 2018-08-10 2021-01-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for implementing bandwidth limitations on specific application traffic at a proxy element
US11489745B2 (en) 2019-10-15 2022-11-01 Keysight Technologies, Inc. Methods, systems and computer readable media for providing a declarative network monitoring environment
US11190417B2 (en) 2020-02-04 2021-11-30 Keysight Technologies, Inc. Methods, systems, and computer readable media for processing network flow metadata at a network packet broker
TWI773196B (zh) * 2021-03-16 2022-08-01 和碩聯合科技股份有限公司 分配運算資源的方法和使用所述方法的電子裝置
US20230065780A1 (en) * 2021-08-27 2023-03-02 International Business Machines Corporation Message management via a universal interface apparatus
US12063140B2 (en) 2022-10-31 2024-08-13 Keysight Technologies, Inc. Methods, systems, and computer readable media for test system agent deployment in a smartswitch computing environment

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070186212A1 (en) * 2006-01-24 2007-08-09 Citrix Systems, Inc. Methods and systems for providing access to a computing environment
TW200821936A (en) * 2006-09-29 2008-05-16 Microsoft Corp Distributed hardware state management in virtual machines
US20090024994A1 (en) * 2007-07-20 2009-01-22 Eg Innovations Pte. Ltd. Monitoring System for Virtual Application Environments
US20090204723A1 (en) * 2005-08-23 2009-08-13 Netronome Systems Inc. System and Method for Processing and Forwarding Transmitted Information
US20090290501A1 (en) * 2008-05-23 2009-11-26 Levy Joseph H Capture and regeneration of a network data using a virtual software switch
US20100077395A1 (en) * 2008-03-07 2010-03-25 Aled Edwards Virtual machine liveness check
TW201023042A (en) * 2008-12-10 2010-06-16 Inst Information Industry Scheduler of virtual machine module, scheduling method thereof, and device containing computer software
CN101765225A (zh) * 2008-12-24 2010-06-30 华为技术有限公司 一种虚拟化的集群管理方法和集群节点

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021419A (en) * 1997-09-16 2000-02-01 International Business Machines Corporation System for filtering broadcast digital information in accordance with channel identifiers stored in preference list which can be dynamically updated via command through network
US6862622B2 (en) * 1998-07-10 2005-03-01 Van Drebbel Mariner Llc Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture
US6636898B1 (en) * 1999-01-29 2003-10-21 International Business Machines Corporation System and method for central management of connections in a virtual private network
US6483804B1 (en) * 1999-03-01 2002-11-19 Sun Microsystems, Inc. Method and apparatus for dynamic packet batching with a high performance network interface
WO2001001272A2 (en) * 1999-06-30 2001-01-04 Apptitude, Inc. Method and apparatus for monitoring traffic in a network
US7272651B1 (en) * 2001-08-28 2007-09-18 Cisco Technology, Inc. RSVP transmitter proxy
US20040088448A1 (en) * 2001-10-16 2004-05-06 Userspace Corporation Embedded system and method for controlling, monitoring of instruments or devices and processing their data via control and data protocols that can be combined or interchanged
US7203192B2 (en) * 2002-06-04 2007-04-10 Fortinet, Inc. Network packet steering
US7177311B1 (en) 2002-06-04 2007-02-13 Fortinet, Inc. System and method for routing traffic through a virtual router-based network switch
US20040006724A1 (en) * 2002-07-05 2004-01-08 Intel Corporation Network processor performance monitoring system and method
US20050114490A1 (en) * 2003-11-20 2005-05-26 Nec Laboratories America, Inc. Distributed virtual network access system and method
US8204984B1 (en) * 2004-04-01 2012-06-19 Fireeye, Inc. Systems and methods for detecting encrypted bot command and control communication channels
ATE385646T1 (de) * 2004-04-14 2008-02-15 Telecom Italia Spa Eine methode und ein system zur bedienung der zustellung eines inhalts in computernetzen
US20060209695A1 (en) * 2005-03-15 2006-09-21 Archer Shafford R Jr Load balancing in a distributed telecommunications platform
US7672949B2 (en) * 2004-12-28 2010-03-02 Sap Ag Connection manager having a common dispatcher for heterogeneous software suites
US7685635B2 (en) 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
US7945677B2 (en) * 2005-09-06 2011-05-17 Sap Ag Connection manager capable of supporting both distributed computing sessions and non distributed computing sessions
CA2562212C (en) * 2005-10-05 2012-07-10 Lg Electronics Inc. Method of processing traffic information and digital broadcast system
US20070156907A1 (en) * 2005-12-30 2007-07-05 Galin Galchev Session handling based on shared session information
US8656006B2 (en) 2006-05-11 2014-02-18 Ca, Inc. Integrating traffic monitoring data and application runtime data
US8018938B1 (en) * 2006-06-02 2011-09-13 World Wide Packets, Inc. Translating between a switching format and a transport format
US7797406B2 (en) 2006-07-27 2010-09-14 Cisco Technology, Inc. Applying quality of service to application messages in network elements based on roles and status
US7843912B2 (en) 2006-08-03 2010-11-30 Citrix Systems, Inc. Systems and methods of fine grained interception of network communications on a virtual private network
US8250641B2 (en) 2007-09-17 2012-08-21 Intel Corporation Method and apparatus for dynamic switching and real time security control on virtualized systems
US8560694B2 (en) 2008-02-01 2013-10-15 Microsoft Corporation Virtual application server with version control
GB2458154B (en) 2008-03-07 2012-06-27 Hewlett Packard Development Co Routing across a virtual network
US8102781B2 (en) * 2008-07-31 2012-01-24 Cisco Technology, Inc. Dynamic distribution of virtual machines in a communication network
US7962647B2 (en) * 2008-11-24 2011-06-14 Vmware, Inc. Application delivery control module for virtual network switch
US8612559B2 (en) * 2008-12-10 2013-12-17 Cisco Technology, Inc. Central controller for coordinating multicast message transmissions in distributed virtual network switch environment
US8201168B2 (en) 2008-12-25 2012-06-12 Voltaire Ltd. Virtual input-output connections for machine virtualization
US8893156B2 (en) 2009-03-24 2014-11-18 Microsoft Corporation Monitoring of distributed applications
US9672189B2 (en) 2009-04-20 2017-06-06 Check Point Software Technologies, Ltd. Methods for effective network-security inspection in virtualized environments
US20110085560A1 (en) * 2009-10-12 2011-04-14 Dell Products L.P. System and Method for Implementing a Virtual Switch
EP2513810B1 (en) * 2009-12-14 2016-02-17 Citrix Systems, Inc. Methods and systems for communicating between trusted and non-trusted virtual machines
US8528091B2 (en) * 2009-12-31 2013-09-03 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for detecting covert malware
JP5392137B2 (ja) * 2010-02-17 2014-01-22 富士通株式会社 通信処理のためのプログラム、コンピュータ及び方法
US8599854B2 (en) * 2010-04-16 2013-12-03 Cisco Technology, Inc. Method of identifying destination in a virtual environment
US8478997B2 (en) * 2010-09-10 2013-07-02 Raytheon Company Multi-level security software architecture
US9292329B2 (en) * 2011-02-10 2016-03-22 Microsoft Technology Licensing, Llc Virtual switch interceptor
WO2012109633A2 (en) * 2011-02-11 2012-08-16 Achilles Guard, Inc. D/B/A Critical Watch Security countermeasure management platform
US8996807B2 (en) * 2011-02-15 2015-03-31 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a multi-level cache
US8539074B2 (en) * 2011-07-19 2013-09-17 International Business Machines Corporation Prioritizing data packets associated with applications running in a networked computing environment
US9571591B2 (en) * 2011-12-28 2017-02-14 Dynatrace Llc Method and system for tracing end-to-end transaction which accounts for content update requests
US8707417B1 (en) * 2012-02-14 2014-04-22 Trend Micro, Inc. Driver domain as security monitor in virtualization environment
US9571332B2 (en) * 2012-04-17 2017-02-14 Adara Networks, Inc. Methods and apparatuses for remote application provisioning automation over virtualized IT infrastructure
WO2013183947A1 (ko) * 2012-06-05 2013-12-12 엘지전자 주식회사 3d 방송 서비스를 위한 방송 신호 처리 방법 및 장치
US10346148B2 (en) * 2013-08-12 2019-07-09 Amazon Technologies, Inc. Per request computer system instances
DE102015213305A1 (de) * 2015-07-15 2017-01-19 Saint-Augustin Canada Electric Inc. Optisches Lichttransmissionselement für eine Solarenergieanordnung mit einem Erntebereich und einem Justiersteuerungsbereich, und Verfahren zur Justierung desselben
US10574440B2 (en) * 2016-05-06 2020-02-25 ZeroDB, Inc. High-performance access management and data protection for distributed messaging applications

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204723A1 (en) * 2005-08-23 2009-08-13 Netronome Systems Inc. System and Method for Processing and Forwarding Transmitted Information
US20070186212A1 (en) * 2006-01-24 2007-08-09 Citrix Systems, Inc. Methods and systems for providing access to a computing environment
TW200821936A (en) * 2006-09-29 2008-05-16 Microsoft Corp Distributed hardware state management in virtual machines
US20090024994A1 (en) * 2007-07-20 2009-01-22 Eg Innovations Pte. Ltd. Monitoring System for Virtual Application Environments
US20100077395A1 (en) * 2008-03-07 2010-03-25 Aled Edwards Virtual machine liveness check
US20090290501A1 (en) * 2008-05-23 2009-11-26 Levy Joseph H Capture and regeneration of a network data using a virtual software switch
TW201023042A (en) * 2008-12-10 2010-06-16 Inst Information Industry Scheduler of virtual machine module, scheduling method thereof, and device containing computer software
CN101765225A (zh) * 2008-12-24 2010-06-30 华为技术有限公司 一种虚拟化的集群管理方法和集群节点

Also Published As

Publication number Publication date
US20160170795A1 (en) 2016-06-16
WO2012109599A2 (en) 2012-08-16
EP4303733A3 (en) 2024-03-20
CN102664786A (zh) 2012-09-12
WO2012109599A3 (en) 2012-11-01
EP2673706A4 (en) 2014-07-02
CN102664786B (zh) 2017-04-26
US20180121229A1 (en) 2018-05-03
US20120210318A1 (en) 2012-08-16
EP2673706A2 (en) 2013-12-18
US10733007B2 (en) 2020-08-04
US9292329B2 (en) 2016-03-22
EP4303733A2 (en) 2024-01-10
TW201234268A (en) 2012-08-16
US9858108B2 (en) 2018-01-02

Similar Documents

Publication Publication Date Title
TWI494858B (zh) 用於虛擬交換機攔截器的方法、系統及電腦可讀取儲存媒體
EP3739451A1 (en) Detect and enforce api slas using cloud access api broker
US11418613B2 (en) Systems and methods for recording metadata about microservices for requests to the microservices
US10983769B2 (en) Systems and methods for using a call chain to identify dependencies among a plurality of microservices
US10706028B2 (en) Detecting outliers in server transaction time as a form of time series data
US11032396B2 (en) Systems and methods for managing client requests to access services provided by a data center
EP3739848B1 (en) Systems and methods for identifying a context of an endpoint accessing a plurality of microservices
US11055191B2 (en) Service graph highlights missing nodes and links
US11374828B2 (en) Systems and methods for using an error budget for monitoring performance of a service level of a service
US11482255B2 (en) Replay a service graph at a point in time to troubleshoot
EP3970346B1 (en) Automatically replicate api calls to separate data centers
US20240095073A1 (en) Systems and methods for automatically scaling clusters or applications in a cloud environment
US20240106886A1 (en) Systems and methods for intelligent load balancing of hosted sessions
US20240303358A1 (en) Method and system for reconfiguring a data protection module based on metadata

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees