[go: up one dir, main page]

TWI479415B - 用於促進管理及有效提升部署規模之應用程式之描述系統及方法 - Google Patents

用於促進管理及有效提升部署規模之應用程式之描述系統及方法 Download PDF

Info

Publication number
TWI479415B
TWI479415B TW097150663A TW97150663A TWI479415B TW I479415 B TWI479415 B TW I479415B TW 097150663 A TW097150663 A TW 097150663A TW 97150663 A TW97150663 A TW 97150663A TW I479415 B TWI479415 B TW I479415B
Authority
TW
Taiwan
Prior art keywords
service
services
description
channel
resource
Prior art date
Application number
TW097150663A
Other languages
English (en)
Other versions
TW200937291A (en
Inventor
Jose Bernabeu-Auban
Yousef A Khalidi
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 TW200937291A publication Critical patent/TW200937291A/zh
Application granted granted Critical
Publication of TWI479415B publication Critical patent/TWI479415B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Description

用於促進管理及有效提升部署規模之應用程式之描述系統及方法
本發明關於用於促進管理及有效提升部署規模之應用程式描述系統及方法
電腦應用程式已發展成在一特定運算平台上作業。傳統而言,運算平台係設計成控制一單一電腦,因此設計給該運算平台之應用程式亦設計成在一單一電腦上作業。網際網路已經引進新的方法,其中電腦程式被部署到電腦中。當該部署方法已經改變時,該等終端使用者仍將可預期電腦應用程式可以相同地作業,不論它們被部署在網際網路上或存在於該終端使用者的電腦上。
本發明之具體實施例係關於用於操作一可縮放之運算平台的系統、方法及電腦儲存媒體。接收描述一所請求服務之服務描述。在收到該服務描述時,即決定所需要的資源及該等可用資源。要維持該服務之部署所需要的資源被對映到該運算平台的該等可使用資源,所以該服務可被部署。一實例描述隨著每次該服務之部署而修改,以允許維持該服務之部署。
此「發明內容」係以一簡化型式來介紹選擇性觀念,其在以下的「實施方式」中會進一步說明。此「發明內容」並非要提出所主張之標的的關鍵特徵或基本特徵,也並非要做為輔助決定所主張之標的的範疇。
本發明之具體實施例的標的利用此處的特定性來說明以達到法定需求。但是,該說明本身並不是要限制本發明的範疇。而是,本發明人已經視為所主張的標的亦可用其它方式配合其它現有或未來技術來實施,以包括類似於在此文件中所述之步驟的不同步驟或步驟的組合。再者,雖然術語「步驟」及/或「方塊」會在此處用於表示所使用方法之不同元件,該等術語不應解譯成暗示在此處所揭示的多種步驟之間有任何特殊的順序,除非及除了當明確地描述個別步驟的順序。
本發明之具體實施例係關於用於操作一可縮放之運算平台的系統、方法及電腦儲存媒體。其接收描述一請求的服務之服務描述。在收到該服務描述時,即決定所需要的資源及該等可用資源。要維持該服務之部署所需要的資源被對映到該運算平台的該等可使用資源,所以該服務可被部署。一實例描述隨著每次該服務之部署而修改,以允許維持該服務之部署。
在另一種態樣中,本發明提供一種用於操作一可縮放的運算平台之方法。該方法包括接收對於一或多項服務之一請求,其中一服務契約係關聯於該等服務之請求。該等服務之每一項係包含一元件及一通道,且其中該通道為一負載平衡器通道、一狀態化切換通道及一無狀態切換通道中至少一項。該方法亦包括接收該等一或多項服務之服務描述,其中該服務描述係包含一應用組態設定、一系統組態設定及一資源參照中至少一項。該方法繼續決定部署該等一或多項服務所需要之資源,以及決定在產生一第一實例描述之後該可縮放運算平台之至少一可使用資源。一旦已經決定所需要及可使用的該等資源之後,該方法包括那些資源的對映,以及部署該等一或多項服務以產生一結果。然後該方法繼續傳輸所部署的服務結果。
在另一種態樣中,本發明提供一種用於操作一可縮放的運算平台之方法。該方法包括接收對於一或多項服務之一額外請求,決定部署該等服務所需要的資源,決定該可縮放運算系統之至少一項可使用資源,產生一第二實例描述,對映部署該等服務所需要的該等資源到該可縮放之運算平台的可使用資源,部署該等服務以產生一結果,且傳送該結果。該方法亦提供於該第一實例描述與該第二實例描述之修正,以反應部署該等服務所需要之資源到該可縮放之運算平台的該至少一可使用資源的對映。
本發明又另一種態樣提供一種電腦系統,實施在一或多個具有電腦可執行指令實施於上之電腦儲存媒體上,用於執行一種用於操作一可縮放之運算平台的方法。該方法包含一接收元件,其接收對於服務之一請求,包括一服務描述,其具有部署與其相關的該服務所需要的資源之描述,一資源決定元件,其決定部署該服務所需要的該等資源,一資源對映元件,其對映部署該服務所需要的該等資源,及一部署元件,其部署關聯於部署該服務所需要的該等對映的資源之該服務。
在已經簡短說明本發明之具體實施例的概述之後,以下將說明適合於實施其具體實施例的一示例性作業環境。
請概略參照圖面,先特別參照第1圖,所示為適合於實施本發明之具體實施例的示例性作業環境,並概略指定為運算裝置100。運算裝置100僅為一適用運算環境的一個範例,且其並非建議任何限制到本發明之使用或功能性的範疇。運算環境100亦不能解譯為具有任何相依性或關於所例示之模組/元件的任何一個或組合之需求。
具體實施例可用電腦碼或機器可使用指令的一般性內文來描述,包括電腦可執行指令,例如程式模組,其由一電腦或其它機器執行,例如一個人資料助理或其它掌上型裝置。概言之,程式模組包括例式、程式、物件、模組、資料結構及類似者,其代表可執行特殊工作或實施特定的摘要資料型態的程式碼。具體實施例可實施在多種系統組態中,包括掌上型裝置、消費者電子、泛用型電腦、專用運算裝置等。具體實施例亦可實施在分散式運算環境中,其中的工作由透過一通訊網路鏈結的遠端處理裝置來執行。
請繼續參照到第1圖,運算裝置100包括一匯流排110,其直接或間接地結合以下的裝置:記憶體112、一或多個處理器114、一或多個呈現模組116、輸入/輸出埠(I/O,“input/output”)118、I/O模組120及一例示性電源供應122。匯流排110代表那些可為一或多個匯流排(例如一位址匯流排、資料匯流排或其組合)。雖然第1圖之多個方塊所示有為了清楚之目的的線,實際上,描述多種模組無法非常清楚,且在比喻上,這些線可更為準確地淡化及模糊。例如,其可考慮一呈現模組,例如為I/O模組的一顯示裝置。同時,處理器具有記憶體。本發明人可辨識這些為本技術的性質,並重覆第1圖的圖形僅為可用於配合一或多個具體實施例之一示例性運算裝置的例示。在像是「工作站」、「伺服器」、「膝上型電腦」、「掌上型裝置」等這些類別之間並沒有差別,其皆在第1圖之範疇內所考量,並參照到「電腦」或「運算裝置」。
運算裝置100基本上包括多種電腦可讀取媒體。藉由範例(而非限制)電腦可讀取媒體可包含隨機存取記憶體(Random Access Memory,RAM);唯讀記憶體(Read Only Memory,ROM);電性可抹除可程式化唯讀記憶體(Electronically Erasable Programmable Read Only Memory, EEPROM);快閃記憶體或其它記憶體技術;CDROM、數位多功能碟片(Digital Versatile Disk,DVD)或其它光學或全像媒體;磁性卡匣、磁帶、磁碟儲存器或其它磁性儲存裝置、載波或任何其它可用於編碼所想要的資訊並可由運算裝置100存取之媒體。
記憶體112包括型式為揮發性及/或非揮發性記憶體的電腦儲存媒體。該記憶體可為可移除式、不可移除式或其組合。示例性硬體裝置包括固態記憶體、硬碟機、光碟機等。運算裝置100包括一或多個處理器,其自多種實體讀取資料,例如記憶體112或I/O模組120。呈現模組116呈現資料表示給一使用者或其它裝置。示例性呈現模組包括一顯示裝置、喇叭、列印模組、振動模組及類似者。I/O埠118允許運算裝置100來邏輯地耦合於其它裝置,包括I/O模組120,其中一些可為內建。例示性模組包括一麥克風、搖桿、遊戲板、衛星碟、掃描器、印表機、無線裝置及類似者。
請參照第2圖,所示為為根據本發明一具體實施例之用於操作一可縮放之運算平台的示例性系統200的方塊圖。運算平台200僅為一適當運算平台的範例,其並非提出本發明之用途與功能之範疇的任何限制。運算平台200亦不能解釋為具有任何相依性或關於所例示之模組/元件的任何一個或組合之需求。
請繼續參照第2圖,運算平台200包含一接收元件212、一服務描述產生元件(未圖示)、一資源決定元件216、一資源對映元件218、一部署元件220,其所有皆透過一網路210彼此通訊。網路210可以包括但不限於一或多個區域網路(Local area networks,LAN)及/或廣域網路(Wide area network,WAN)。這些網路化環境常見於辦公室、企業化運算網路、企業內網路及網際網路。因此,網路210並不在此進一步說明。
運算平台200的一示例性具體實施例組合多種元件成為一實例器240及一部署器250。資源決定元件216可被組合到實例器240中。資源對映元件218及部署元件220被組合到部署器250中。運算平台200之例示的具體實施例組合本發明的該等元件到所識別之特定組裝中,本技術專業人士將可清楚瞭解到該等組合並不限於實例器240及部署器250。本技術專業人士亦將可清楚瞭解到該等元件並不限於該等特定識別之組合以及不限制必須要組合的該等元件。
接收元件212接收服務的一請求。該服務為一結構化實體,其中該結構係由接收元件212收到的一服務描述所決定。所收到的該服務描述符合於關聯於被請求之服務的服務契約。一服務描述提供一組組態設定、一系 列的輸入介面、及一系列與其它裝置之介面上的相依性。為了該服務成為一結構化實體,其包含一結構化組合的角色、群組及通道。角色提供一電腦程式的樣板描述。角色係由指明實施該角色之電腦碼、該角色需要之主控環境、該等組態設定、該角色之終止點組合及它們效能之模型所描述。該角色的組態設定可以包括集合式設定,由該角色的所有實例所共享,或是對於該角色之每個實例為特定的個別設定。此外,包括在一角色之描述中的該組終止點另分類成輸入終止點及輸出終止點。一角色的輸出終止點提供來自一來源元件之連接點到一目標元件的輸入終止點。一角色實例經由其終止點通訊。一角色實例亦由包括在其描述中的該等資源所定義。角色亦可群組成一組角色來形成一群組。最小的群組大小由一單一角色構成。因此,群組及角色在當兩者不需要有區分時被描述成一元件。該服務亦包括通道。通道建立通過該元件的終止點之多個元件之間的連接。
接收元件212接收對於一服務的請求及一服務描述。一服務描述包括含有該服務如何被組態及部署之資訊,以及可以用於分析該服務之效能的資訊。此外,該服務描述提供充份的資訊,所以本發明可分配及協調維持該服務之部署所需要的資源。
該服務描述及一實例描述包括略述該服務之元件及通道。該實例描述由資源決定元件216產生,以加入略述該服務之元件及通道成為包括在所收到之服務描述中,以及被決定為要部署之該服務的一特定實例所需要的資源。該等多種元件及該等多種通道之間關係的描述代表該服務之拓樸。該拓樸描述該等通道連接該等多種 元件之終止點。如果該等通道或該等元件被改變,該拓樸亦可對於該服務改變。一服務之拓樸包括關於為使該服務適當地運作之該等元件的連接之資訊、該等元件之輸入終止點與一服務的輸入介面之間的路由、該等元件之輸出終止點與一服務的相依性之間的路由、所需要之每個元件之複本的最小數目,必須發生而避免中斷該服務之維護的指引,可用於評估該服務效能之效能參數的描述,通知部署器250適當之對映的角色之間關聯的指示,及於元件之間傳遞組態設定的指示。
包括在協助定義該拓樸之服務描述中的該等通道可以採用多種型式。一通道可為一負載平衡器通道、一狀態化切換通道及一無狀態切換通道中任一種。一負載平衡器通道由一來源元件的輸出終止點連接至一目標元件的輸入終止點。來自該來源元件之流量根據關聯於該通道之相同政策而重新分佈到該等目標元件之一。可以決定流量分佈的該等政策的範例包括但不限於均勻分佈、最小成本路由、最少時間路由、關聯互連路由、或任何可以實施兩個元件之間連接的其它分佈方式。該負載平衡器通道有能力來管理任何數目的輸入終止點及輸出終止點。該等來源元件僅必須包括關聯於該負載平衡化通道之負載平衡器的虛擬位址之資訊。然後該負載平衡器將重新分佈該連接到該等複數目標元件,而無關於該等目標元件的數目。
根據本發明一具體實施例之示例性負載平衡化通道係示於第6圖的方塊圖中,並概略表示成參考編號610。複數來源元件620、622及624被預期來與複數個目標元件630及632建立一負載平衡器通道連接。但是,該等複數來源元件620、622及624並不具有必要的資訊來與目標元件630、632建立一直接連接。而是,來源元件620、622及624具有被導引到負載平衡器610之一虛擬位址。因此來源元件620、622及624連接於負載平衡器610。然後負載平衡器610基於被指定給該特定負載平衡器通道之政策來重新分佈該等連接至目標元件630及632。
第二種通道為一狀態切換通道。一狀態切換通道係關聯於「m」個不同位址,其中「m」為該目標元件之實例的數目。當利用一狀態切換通道時,該來源元件知道「m」個目標元件的數目。然後該來源元件選擇要連接的該目標元件之「m」個實例之一。因此該等來源元件包括要連接那一個「m」實例之指定。然後在該通道內的一路由器即導引該等連接至該適當的目標元件。一示例性但非限制性之具體實施例提供該等來源元件儲存該等「m」位址在該等來源元件實例之每一者的組態中,並包括該選擇的「m」位址與所請求的目標連接。然後在該狀態化切換通道內的一路由器即導引該連接至適當的目標元件。
一示例性狀態化切換通道示於第7圖之方塊圖中。該狀態切換通道包括路由器710、複數來源元件720、722及724、以及複數目標元件730及732。該等來源元件720、722及724之每一者知道該等兩個目標元件730及732。因此,該等來源元件720、722及724之每一者做出選擇來導引它們的連接至一或多個特定目標元件。該連接係導引到分佈該連接至適當的目標元件730及/或732的路由器710。
第三種通道為一無狀態切換通道,其需要該來源元件於該等目標元件當中選擇。不像是該狀態切換通道,該無狀態切換通道並不需要來自該來源元件之目標元件位址之組態。因此,該無狀態切換通道提供一來源元件決定與一目標元件需要一連接,但該選擇的目標元件在該連接中並未識別。包括在該無狀態切換通道中的該路由器基於一通訊協定、由另一元件提供的指令或另一個分佈導引器來連接該來源元件與該等目標元件。
一示例性無狀態切換通道示於第8圖的方塊圖中。該無狀態切換通道包括一路由器810及來源元件820、822及824,以及目標元件830及832。該等來源元件820、822及824之每一者知道兩個目標元件830及832。來自來源元件820、822、824之連接並不包括對路由器810之分佈指示來分佈該連接到所識別的目標元件830或832。而是在此示例性具體實施例中,路由器810基於自另一通道接收的一通訊來分佈該等連接。因此,來源元件820、822、824之間的連接基於路由器810接收的分佈指示來連接至目標元件830及832。
本技術專業人士將可清楚瞭解到第6圖、第7圖及第8圖中包括的該等示例性具體實施例在本質上為示例性,而並非限制關於來源元件、目標元件、連接元件之通道、或建立在每個通道內的該等連接之數目。
除了包括該服務之拓樸之外,該服務描述亦可包括該等組態設定及該等資源參照。該等組態設定包括應用組態設定及系統組態設定。應用組態設定為一元件的定義之一部份,因此該應用組態之宣告及得到的解譯為該元件之語義及行為本身所代表。一元件的應用組態設定可為每個實例不同或共同設定。一共同設定係由該元件的所有實例所共享。一每個實例之設定可對於該元件的每個唯一實例具有不同的設定。
第二種組態設定為一系統組態設定。系統組態設定為一元件之嵌入或加入在一群組的角色中的性質。不像是該元件的定義本身具有之應用組態設定,該等系統組態設定令由該運算平台解譯及利用。該等系統組態設定之指定係在已經被指定給該系統組態設定之政策之下操作的該運算平台之控制之下。
資源參照亦可被包括在該服務描述中。資源參照指明其需要存取某些運算平台提供的資源。可使用之資源的種類由該運算平台指定。該等資源的範例包括符合於一特定應用程式介面之區域檔案系統空間,例如檔案、目錄及驅動組合資源。此外,記錄串流及事件計數器為該運算平台可以使用的該等資源之範例。
回到第2圖,實例器240包括資源決定元件216。實例器240的角色係要基於該服務描述及該實例描述建立要部署的一服務。該實例器對於部署器250提供該服務之演化實例,以經由部署元件220及資源對映元件218來部署。實例器240利用對於要被部署之服務的一實例所決定的該等資源,以及該服務描述來產生該實例描述,以允許該服務之初始部署或該服務的漸進式部署。不論是否其為一初始部署或一漸進式部署,實例器240決定該等資源的可用性。實例器240利用資源決定元件216來決定部署該服務所需要的該等資源,以及根據與部署器250之協定可以用來部署該服務之該等資源。資源決定元件216評估該服務描述,並決定該服務必須如何 被設置來調整該服務的規模,以提供充份的服務能力來達到該服務之目前需求。為了組態調整規模之部署的服務,該資源決定元件部份評估達到該服務之實例的需求所需要的該等資源。然後資源決定元件216基於資源決定元件216之對於所需要且可用於提供服務之充份能力的資源之決定來產生一實例描述。
部署器250接收由實例器240提供的實例描述。部署器250利用資源對映元件218來對映在該實例描述中詳細提出之需要的資源到實體裝置及它們相關的連接設定。該資源可被對映的實體裝置之範例包括但不限於第1圖之運算裝置100。此外,支援第1圖之運算裝置100之下,該等資源可被對映到的實體裝置基本上為關聯於資料中心的裝置,其包括例如交換器、伺服器、堆疊、路由器、虛擬運算裝置、遠端運算裝置、點對點運算裝置、專屬運算裝置及可指定的運算裝置。本技術專業人士將可清楚瞭解到所列出的實體裝置並非要限制實體裝置之範疇到該服務描述需要的資源可被對映到的那些。該實體裝置的連接設定可以包括該實體裝置的IP位址或其它識別協定。
部署元件220部署該服務。部署元件220利用由資源對映元件218所需要及可以執行的該等資源之對映來部署由資源決定元件216所產生的該實例描述中所描述的該服務。實例器240與部署器250利用可調整的運算平台200之該等元件來部署一服務。由實例器240與部署器250之動作所定義的該循環對於該服務之每個新實例重複。該服務的每個新實例以多種方式利用可縮放的運算平台200之多種元件來以所需要的該能力提供該服務,而不允許該服務的中斷。
現在請參照第3圖,所示為為根據本發明一具體實施例之用於操作一可縮放之運算平台的示例性方法300的流程圖。開始時如方塊310所示,接收到對一服務之初始請求。對於服務的初始請求包括一服務契約及一服務描述。一服務契約略述了所要部署之該服務的界限。該等界限包括該服務描述將要考慮及依循的需要、限制及限定。對於服務所收到的請求可以包括該服務描述以及該服務契約,或對於服務之請求可獨立於該服務描述及該服務契約來接收。因此,其已經考慮到可以接收對於服務之請求、該服務契約及該服務描述之任何及所有組合。對於服務之請求之接收如方塊310所示,且該服務描述之接收如方塊315所示。一旦已經收到該服務描述,維持該服務所需要的該等組態及資源之決定如方塊320所示,而可以使用之資源如方塊325所示。於決定了維持該服務所需要之該等資源及可用於部署該服務之該等資源之後,該服務之實例描述即可產生,如方塊330所示。所需要的該等資源被對映到該等可使用之資源,如方塊340所示。該等資源的對映允許在該服務描述中的該服務被部署,如方塊350所示。於該服務已經被部署之後,一結果即可產生及傳送,如方塊360所示。
如果收到該服務之一額外請求,如方塊384所示,該方法回到產生一實例描述,如方塊330所示。如果未收到一額外請求,該方法等待機會來重新產生一實例描述。此係示於方塊382中。
對於該服務之每個額外請求,即部署該服務的一新實例。於接收一額外請求之後重新產生一實例描述允許該可縮放之運算平台來調整該實例描述中所需要的資源之改變以及在用於部署之可使用資源中的改變。此外,該實例描述之重新產生允許改善、新需求、效能改變及維護可被加入該服務的每個新實例中。此允許該可縮放的運算平台來提供該服務持續的部署,而調整該部署的規模,並加入該新實例描述的元件。
現在請參照第4圖,所示為代表透過多種組合之一服務描述的生命周期之架構圖,其概略指定為參考編號400。一開發階段410包括接收新服務的請求,或一既有服務的改善。於開發階段410期間,亦可引進新的需求。新服務的請求、改善的請求及新的需求被加入到一開發者的服務描述中來定義一服務。該開發者的服務描述被傳送到實例器組合階段420,其中所需要的資源及可使用的資源被決定,且該開發者的服務描述被改變而成為一實例描述。該實例描述被傳送到部署組合階段430。由該實例描述所略述的服務被部署。其取得監視資訊及資料中心改變,例如實體裝置資訊。然後該監視資訊、資料中心改變及部署狀態被傳送到該實例化組合,以及要加入到它們個別的實例描述中用於該服務之稍後實例的部署。
現在請參照第5圖,所示為一示例性拓樸的示意圖,其概略指定為參考編號500。如先前參照第2圖所述,該拓樸提供該等多種元件與該服務之多種通道之間關係的描述。拓樸500包括元件及它們相關的組態數值,如參考編號502、504、508、510、512、516及518所示。此外,一通道表示成參考編號506及參考編號514。拓樸500顯示連接於參考編號508、510及512所示之元件的以參考編號502及504所表示的元件。於兩組元件之間為一通道,如參考編號506所示。該通道分佈該連接至508、510及512處所示之元件的適當輸入終止點。那些元件由它們的輸出終止點連接至514處所表示的該通道。然後通道514分佈該等連接至參考編號516及518處所表示的元件。所得到的拓樸500包括在該服務描述中來略述該服務之該等元件、通道及組態數值。
現在請參照第9圖,所示為該服務部署發展的流程圖,概略指定為參考編號900。服務部署發展900開始於對一新服務的請求,其造成該服務的建立,如參考編號910所示。該服務被部署,如參考編號920所示,作為服務930的第一實例。該服務生命周期繼續,如參照第3圖及第4圖所述。該服務描述隨著該服務的每個實例改變。該服務的第二請求被接收到,且其被部署,如參考編號940所示,作為服務950的第二實例。該周期持續服務960之「n」個實例。在該服務的第「n」個實例之後,該服務自該可縮放運算平台中刪除,如參考編號970所示。
由此可看出,本發明之具體實施例係關於用於操作一可縮放之運算平台的系統、方法及電腦儲存媒體。其接收描述一請求的服務之服務描述。在收到該服務描述時,即決定所需要的資源及該等可用資源。產生一實例描述。要維持該服務之部署所需要的資源被對映到該運算平台的該等可使用資源,所以該服務可被部署。該實例描述隨著每次該服務之部署而修改,以允許維持該服務之部署。
本發明已連結於特定具體實施例進行說明,其在所有態樣中係要做為例示性而非限制性。關於本發明之技術的專業人士將可瞭解在不悖離本發明範疇之下有其它具體實施例。
由前所述,其將可看出本發明為可良好適應於取得上述所有目標及目的,以及由該系統及方法可明顯及隱含的其它好處。其將可瞭解到某些特徵及次組合皆有用處,且可在不參照其它特徵及次組合來利用。此係在本發明範疇內來考量。
100‧‧‧運算裝置
110‧‧‧匯流排
112‧‧‧記憶體
114‧‧‧處理器
116‧‧‧呈現模組
118‧‧‧輸入/輸出埠
120‧‧‧輸入/輸出模組
122‧‧‧電源供應
200‧‧‧系統
210‧‧‧網路
212‧‧‧接收元件
216‧‧‧資源決定元件
218‧‧‧資源對映元件
220‧‧‧部署元件
240‧‧‧實例器
250‧‧‧部署器
400‧‧‧架構圖
410‧‧‧開發階段
420‧‧‧實例器組合階段
430‧‧‧部署組合階段
500‧‧‧拓樸
502‧‧‧元件及相關的組態數值
504‧‧‧元件及相關的組態數值
506‧‧‧通道
508‧‧‧元件及相關的組態數值
510‧‧‧元件及相關的組態數值
512‧‧‧元件及相關的組態數值
514‧‧‧通道
516‧‧‧元件及相關的組態數值
518‧‧‧元件及相關的組態數值
610‧‧‧負載平衡化通道
610...負載平衡化通道
620...來源元件
622...來源元件
624...來源元件
630...目標元件
632...目標元件
710...路由器
720...來源元件
722...來源元件
724...來源元件
730...目標元件
732...目標元件
810...路由器
820...來源元件
822...來源元件
824...來源元件
830...目標元件
832...目標元件
以下參照附屬圖面詳細說明本發明,其中:
第1圖為適用於實施本發明之具體實施例的示例性運算環境的方塊圖;
第2圖為根據本發明一具體實施例之用於操作一可縮放之運算平台的示例性作業環境的方塊圖;
第3圖為根據本發明一具體實施例之用於操作一可縮放之運算平台的示例性方法的流程圖;
第4圖為根據本發明之具體實施例中經由多種組合之服務描述的生命周期之示意圖;
第5圖為根據本發明一具體實施例中一示例性拓樸之示意圖;
第6圖為根據本發明一具體實施例之一負載平衡通道的方塊圖;第7圖為根據本發明一具體實施例之一狀態切換通道的方塊圖;第8圖為根據本發明一具體實施例之一無狀態切換通道的方塊圖;及第9圖為根據本發明一具體實施例之服務部署發展的流程圖。
200...系統
210...網路
212...接收元件
216...資源決定元件
218...資源對映元件
220...部署元件
240...實例器
250...部署器

Claims (20)

  1. 一種電腦系統,該電腦系統實施在一或更多個電腦儲存媒體上,該一或更多個電腦儲存媒體具有電腦可執行指令實施於其上,該等電腦可執行指令用於執行一種用於操作一可縮放(scalable)之運算平台的方法,該電腦系統包含:一接收元件,該接收元件經配置以用於接收針對一服務的一請求及該服務的一服務描述,該服務描述包含所請求之該服務的一結構之描述;一資源決定元件,該資源決定元件經配置以用於至少部分地基於該服務描述決定部署該服務所需要的一或更多個資源,其中該資源決定元件經進一步配置以決定該可縮放之運算平台的至少一個可使用資源,該至少一個可使用資源經決定為部署該服務所需要;一實例描述產生元件,該實例描述產生元件經配置以用於產生一實例描述,該實例描述描述所欲部署之該服務的該結構,其中該實例描述係基於該服務描述、該經決定部署該服務所需要的該一或更多個資源以及該經決定為需要之該至少一個可使用資源而產生;一資源對映元件,該資源對映元件經配置以用於對映在該實例描述中所描述之該服務的該結構至該可縮放之運算平台的該至少一個可使用資源;及一部署元件,該部署元件經配置以用於基於該對映動作以在該可縮放之運算平台中部署該服務。
  2. 如申請專利範圍第1項所述之電腦系統,其中該服務 之該結構係包含複數個元件及一或更多個通道。
  3. 如申請專利範圍第2項所述之電腦系統,其中該等複數個元件之每一元件為一角色及一群組中之至少一項。
  4. 如申請專利範圍第2項所述之電腦系統,其中該一或更多個通道之每一通道於該等元件之任兩者之間建立一連接。
  5. 如申請專利範圍第4項所述之電腦系統,其中該一或更多個通道之每一通道為下列其中之一:一負載平衡器通道、一狀態化切換通道及一無狀態切換通道。
  6. 如申請專利範圍第5項所述之電腦系統,其中該一或更多個通道中至少一項為一負載平衡器通道,且其中該電腦系統另包含一負載平衡元件,該負載平衡元件由該負載平衡器通道運用來決定該等複數個元件中任兩者的一或更多個終止點。
  7. 如申請專利範圍第5項所述之電腦系統,其中該一或更多個通道中至少一項為一狀態化切換通道,且其中該電腦系統另包含一狀態化切換元件,該狀態化切換元件由該狀態化切換通道運用來連接該等複數個元件中任兩者。
  8. 如申請專利範圍第5項所述之電腦系統,其中該一或更多個通道中至少一項為一無狀態切換通道,且其中該電腦系統另包含一無狀態切換元件,該無狀態切換元件由該無狀態切換通道運用來連接該等複數個元件中任兩者。
  9. 一種電腦儲存媒體,該電腦儲存媒體具有電腦可執行指令實施於其上,該等電腦可執行指令用於執行一種 用於操作一可縮放(scalable)之運算平台的方法,該方法包含以下步驟:接收對於一或更多項服務之一第一請求,其中該第一請求包括該一或更多項服務之一服務描述,該服務描述包含所請求之該一或更多項服務之各者的一結構的描述;至少部分地基於該服務描述來決定部署該一或更多項服務到該可縮放之運算平台所需要的一或更多個資源;決定該可縮放之運算平台之至少一可使用資源,該至少一可使用資源經決定為部署該一或更多項服務所需要者;基於至少該服務描述、所需要的該一或更多個資源及該至少一可使用資源而產生一第一實例描述,該第一實例描述描述了欲部署之該一或更多項服務之各者的結構;對映在該第一實例描述中所描述的該結構到該可縮放之運算平台的該至少一可使用資源;根據該對映動作,部署該一或更多項服務以產生一結果;及傳送該結果。
  10. 如申請專利範圍第9項所述之電腦儲存媒體,其中對於服務的該所接收第一請求及該所接收服務描述係以一次接收或多次接收的方式接收。
  11. 如申請專利範圍第9項所述之電腦儲存媒體,其中該一或更多項服務之每一項係包含至少一通道及複數個元件。
  12. 如申請專利範圍第9項所述之電腦儲存媒體,其中該至少一通道為下列之一者:一負載平衡器通道、一狀態化切換通道及一無狀態切換通道。
  13. 如申請專利範圍第12項所述之電腦儲存媒體,其中該至少一通道為一負載平衡器通道,且其中該方法另包含下列步驟:決定該等複數個元件之一或更多個終止點。
  14. 如申請專利範圍第12項所述之電腦儲存媒體,其中該至少一通道為一狀態切換通道及一無狀態切換通道之一,且其中該方法另包含下列步驟:連接該等複數個元件。
  15. 如申請專利範圍第9項所述之電腦儲存媒體,其中該等複數個元件之每一元件為一角色及一群組中至少一項。
  16. 如申請專利範圍第9項所述之電腦儲存媒體,其中該方法另包含下列步驟:接收對於該一或更多項服務之一額外請求;及產生該一或更多項服務之一額外實例描述。
  17. 如申請專利範圍第9項所述之電腦儲存媒體,其中該第一實例描述係進一步包含一應用組態設定、一系統組態設定及一資源參照中至少一項。
  18. 一種電腦儲存媒體,該電腦儲存媒體具有電腦可執行指令實施於其上,該等電腦可執行指令用於執行一種用於操作一可縮放之運算平台的方法,該方法包含以下步驟:接收對於一或更多項服務的請求,其中該一或更多項服務之每一項的一結構包含一元件及一通道,其 中該通道為一負載平衡器通道、一狀態化切換通道及一無狀態切換通道中至少一項;接收對於該一或更多項服務之一服務描述,該服務描述包含被請求之該一或更多項服務之每一項的該結構,其中該服務描述係進一步包含一應用組態設定、一系統組態設定及一資源參照中至少一項;至少部分基於該一或更多項服務之該服務描述,決定部署該一或更多項服務所需要的該等資源;決定該可縮放之運算平台之至少一可使用資源,該至少一可使用資源係經決定為部署該一或更多項服務所需要;產生一第一實例描述,該第一實例描述描述將部署之該一或更多項服務之每一項的該結構,其中該第一實例描述係基於至少該服務描述、經決定為所需要的該等資源及該經決定該可縮放之運算平台之至少一可使用資源而產生;對映將部署之該一或更多項服務之每一項的該結構到該可縮放之運算平台的至少一可使用資源;部署該一或更多項服務以產生一結果;及傳送該結果。
  19. 如申請專利範圍第18項所述之電腦儲存媒體,其中該方法另包含以下步驟:接收對於該一或更多項服務之一額外請求;根據該服務描述,產生該一或更多項服務之一額外實例描述;決定部署該一或更多項服務所需要的至少一項資源,其係關聯於該一或更多項服務之該額外實例描 述;決定該可縮放之運算平台之至少一可使用資源,該至少一可使用資源係經決定為部署該一或更多項服務所需要;對映部署該一或更多項服務所需要的該至少一資源到該可縮放之運算平台的該至少一可使用資源;部署該一或更多項服務以產生一第二結果;及傳送該第二結果。
  20. 如申請專利範圍第19項所述之電腦儲存媒體,其中該第一實例描述及該額外實例描述被修正以反應部署該一或更多項服務所需要的該等資源到該可縮放之運算平台之該至少一項可使用資源之對映。
TW097150663A 2008-01-28 2008-12-25 用於促進管理及有效提升部署規模之應用程式之描述系統及方法 TWI479415B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/020,890 US8893141B2 (en) 2008-01-28 2008-01-28 System and method for describing applications for manageability and efficient scale-up deployment

Publications (2)

Publication Number Publication Date
TW200937291A TW200937291A (en) 2009-09-01
TWI479415B true TWI479415B (zh) 2015-04-01

Family

ID=40900540

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097150663A TWI479415B (zh) 2008-01-28 2008-12-25 用於促進管理及有效提升部署規模之應用程式之描述系統及方法

Country Status (12)

Country Link
US (1) US8893141B2 (zh)
EP (1) EP2238542A4 (zh)
JP (1) JP5391207B2 (zh)
KR (1) KR101544359B1 (zh)
CN (1) CN101925887B (zh)
AU (1) AU2009209365B2 (zh)
BR (1) BRPI0906412B1 (zh)
CA (1) CA2710343C (zh)
RU (1) RU2502125C2 (zh)
SG (1) SG187505A1 (zh)
TW (1) TWI479415B (zh)
WO (1) WO2009097173A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601253B2 (en) * 2008-04-24 2013-12-03 International Business Machines Corporation Dynamic provisioning in data processing environment
US9300532B2 (en) * 2008-10-24 2016-03-29 Microsoft Technology Licensing, Llc Automating deployment of service applications by exposing hosting environment constraints
US8661120B2 (en) 2010-09-21 2014-02-25 Amazon Technologies, Inc. Methods and systems for dynamically managing requests for computing capacity
US8667139B2 (en) * 2011-02-22 2014-03-04 Intuit Inc. Multidimensional modeling of software offerings
GB2503464A (en) 2012-06-27 2014-01-01 Ibm Allocating nodes in a service definition graph to resources in a resource catalogue according to node specific rules
US10225164B2 (en) * 2012-09-07 2019-03-05 Oracle International Corporation System and method for providing a cloud computing environment
US20140143752A1 (en) * 2012-11-16 2014-05-22 Level 3 Communications, Llc Systems and methods for providing environments as a service
EP3036630A1 (en) * 2013-12-04 2016-06-29 NEC Europe Ltd. Method and system for generating a virtual device resource accessible by an application
US9256467B1 (en) 2014-11-11 2016-02-09 Amazon Technologies, Inc. System for managing and scheduling containers
US10749985B2 (en) * 2015-05-19 2020-08-18 Amazon Technologies, Inc. Custom communication channels for application deployment
US10261782B2 (en) 2015-12-18 2019-04-16 Amazon Technologies, Inc. Software container registry service
US10171612B2 (en) 2015-12-28 2019-01-01 Microsoft Technology Licensing, Llc Caching service with client-enabled routing
US9823919B2 (en) * 2015-12-30 2017-11-21 Microsoft Technology Licensing, Llc Controlled deployment of application feature in mobile environment
US10135837B2 (en) 2016-05-17 2018-11-20 Amazon Technologies, Inc. Versatile autoscaling for containers
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10409642B1 (en) 2016-11-22 2019-09-10 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
KR20200038038A (ko) 2018-10-02 2020-04-10 한국전자통신연구원 다중 클라우드 상에서의 애플리케이션 관리 장치 및 방법
US10715388B2 (en) * 2018-12-10 2020-07-14 Sap Se Using a container orchestration service for dynamic routing
US11669365B1 (en) 2019-08-26 2023-06-06 Amazon Technologies, Inc. Task pool for managed compute instances

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120780A1 (en) * 2001-12-21 2003-06-26 Xiaoyun Zhu Network resource assignment system and method
TW591909B (en) * 2001-05-23 2004-06-11 Ibm Dynamic deployment of services in a computing network
US20040167959A1 (en) * 2003-02-21 2004-08-26 International Business Machines Corporation Autonomic service routing using observed resource requirement for self-optimization

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920705A (en) * 1996-01-31 1999-07-06 Nokia Ip, Inc. Method and apparatus for dynamically shifting between routing and switching packets in a transmission network
US6128509A (en) * 1997-11-07 2000-10-03 Nokia Mobile Phone Limited Intelligent service interface and messaging protocol for coupling a mobile station to peripheral devices
US6907395B1 (en) 2000-10-24 2005-06-14 Microsoft Corporation System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model
US20030004746A1 (en) 2001-04-24 2003-01-02 Ali Kheirolomoom Scenario based creation and device agnostic deployment of discrete and networked business services using process-centric assembly and visual configuration of web service components
US6985939B2 (en) 2001-09-19 2006-01-10 International Business Machines Corporation Building distributed software services as aggregations of other services
US20030078987A1 (en) * 2001-10-24 2003-04-24 Oleg Serebrennikov Navigating network communications resources based on telephone-number metadata
AU2002365257A1 (en) 2001-10-26 2003-07-24 Zeosoft Corporation Development, management of distributed clients and servers
US20030212898A1 (en) 2002-05-09 2003-11-13 Doug Steele System and method for remotely monitoring and deploying virtual support services across multiple virtual lans (VLANS) within a data center
AU2002309456A1 (en) 2002-05-16 2003-12-02 Agency For Science, Technology And Research A computing system deployment planning method
US20030233631A1 (en) 2002-06-13 2003-12-18 Ambrose Curry Web services development method
US20040148370A1 (en) 2003-01-23 2004-07-29 Electronic Data Systems Corporation System and method for composing, configuring, deploying, and managing services using a graphical user interface
US7072807B2 (en) 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
ATE384994T1 (de) * 2003-12-10 2008-02-15 Ibm Verfahren und system zur automatischen erzeugung von dienstschnittstellen für eine dienstorientierte architektur
RU44841U1 (ru) * 2004-10-12 2005-03-27 Закрытое акционерное общество "ЛАБИ ЛАБС" СИСТЕМА УПРАВЛЕНИЯ ИНФОРМАЦИОННЫМ НАПОЛНЕНИЕМ СЕТИ (OSSr)
US7406689B2 (en) * 2005-03-22 2008-07-29 International Business Machines Corporation Jobstream planner considering network contention & resource availability
US20060245354A1 (en) 2005-04-28 2006-11-02 International Business Machines Corporation Method and apparatus for deploying and instantiating multiple instances of applications in automated data centers using application deployment template
JP4129988B2 (ja) 2005-11-10 2008-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション リソースのプロビジョニング方法
US7970856B2 (en) * 2006-06-02 2011-06-28 International Business Machines Corporation System and method for managing and distributing assets over a network
JP2008140052A (ja) * 2006-11-30 2008-06-19 Ricoh Co Ltd アプリケーションソフト及び情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW591909B (en) * 2001-05-23 2004-06-11 Ibm Dynamic deployment of services in a computing network
US20030120780A1 (en) * 2001-12-21 2003-06-26 Xiaoyun Zhu Network resource assignment system and method
US20040167959A1 (en) * 2003-02-21 2004-08-26 International Business Machines Corporation Autonomic service routing using observed resource requirement for self-optimization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OSCAR ARDATZ ci al., "Multicast Injection for Application Network Deployment", 26th annual IEEE Conference on Local Computer Networks, 200L Proceedings LCN November 2001, Pages 386-394. *

Also Published As

Publication number Publication date
KR20100126280A (ko) 2010-12-01
RU2502125C2 (ru) 2013-12-20
CA2710343C (en) 2016-08-30
US20090193426A1 (en) 2009-07-30
JP5391207B2 (ja) 2014-01-15
SG187505A1 (en) 2013-02-28
TW200937291A (en) 2009-09-01
BRPI0906412B1 (pt) 2019-11-26
CN101925887B (zh) 2014-10-29
CN101925887A (zh) 2010-12-22
RU2010131472A (ru) 2012-02-10
AU2009209365B2 (en) 2014-01-23
EP2238542A4 (en) 2012-08-29
WO2009097173A1 (en) 2009-08-06
JP2011512578A (ja) 2011-04-21
US8893141B2 (en) 2014-11-18
BRPI0906412A2 (pt) 2015-07-14
AU2009209365A1 (en) 2009-08-06
KR101544359B1 (ko) 2015-08-13
CA2710343A1 (en) 2009-08-06
EP2238542A1 (en) 2010-10-13

Similar Documents

Publication Publication Date Title
TWI479415B (zh) 用於促進管理及有效提升部署規模之應用程式之描述系統及方法
Buyya et al. Software-defined cloud computing: Architectural elements and open challenges
US10120725B2 (en) Establishing an initial configuration of a hardware inventory
JP4886690B2 (ja) グリッド・コンピューティング環境内の最適化並行データ・ダウンロード
JP6549787B2 (ja) ネットワークサービスをデプロイするための方法及び装置
US9674275B1 (en) Providing a file system interface to network-accessible computing resources
US20190253367A1 (en) Automated failure recovery of subsystems in a management system
US20130036213A1 (en) Virtual private clouds
WO2017113201A1 (zh) 一种网络服务的生命周期管理方法及设备
JP2018518728A (ja) 仮想デスクトップ・インフラストラクチャにおける複数のプロトコルの使用
KR20070006906A (ko) Hpc 환경에서의 토폴로지-인식 작업 스케쥴링 및백필링을 위한 시스템 및 방법
US11941406B2 (en) Infrastructure (HCI) cluster using centralized workflows
CN103607426A (zh) 安全服务订制方法和装置
JP2015503158A (ja) データ・センターにおけるロール・インスタンス到達可能性
CN103905232A (zh) 虚拟机管理系统及方法
KR100618159B1 (ko) 정책 쿼럼 기반의 그리드 자원 관리 시스템 및 그 방법
Cerroni Network performance of multiple virtual machine live migration in cloud federations
Jayapandian et al. The online control framework on computational optimization of resource provisioning in cloud environment
CN115633034A (zh) 一种跨集群的资源调度方法、装置、设备及存储介质
CN116708554A (zh) 一种可切换出口ip的网络代理方法及系统
Majhi et al. VM migration auction: Business oriented federation of cloud providers for scaling of application services
Khan et al. Cloud computing: Analysis of various services
Marsh et al. Matchmaking and implementation issues for a P2P desktop grid
Esposito et al. OpenMosix approach to build scalable HPC farms with an easy management infrastructure
Khongbri How cloud infrastructure can be built with low resource across multiple Cloud Platforms?

Legal Events

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