專利名稱:用于提供所要求的能力的萬維網服務器的遠程動態配置的制作方法
技術領域:
本發明涉及網絡服務領域,具體涉及服務器的遠程和動態配置,用于促進所要求的服務器能力。
背景技術:
許多公司提供托管服務,以向客戶提供安全、強壯和靈活的基礎結構,這種基礎結構中托管了各種應用,例如,萬維網應用,諸如在線銀行、在線購物、信息服務和托管服務之類,所述托管服務諸如“為所使用的能力付費”,它使得客戶能夠僅僅為它們使用的處理能力付費,并且使得所述客戶可以以節省成本的方式部署最新的設備。托管服務通過下述方式向許多企業提供了內部地建立和運行它們的技術基礎結構的替代方案通過接進在其他公司的數據中心的計算機系統以提供軟件應用和諸如服務器的硬件資源的管理。這些服務器和服務的管理和操縱向許多托管公司提供了極大的挑戰,因為在諸如服務器場之類的環境內的服務器的管理和操縱的關鍵問題是服務器的剛性的基礎結構和架構,這是因為服務器與服務器正在發表的數據相關聯地扮演的角色的定義。
資源向例如支持特定客戶的產品的萬維網服務器的剛性分配可能導致低效使用昂貴的萬維網服務器資源,它的使用未達到其全部能力,而支持其他產品的其他萬維網服務器伸展到斷點。而且,今天的當前現代萬維網服務器軟件是復雜和靈活的,并且可以通過應用協議接口(API)被配置和擴展以促進在基本超文本標記語言(HTML)頁面的標準服務之外的強大處理。但是,當前的部署實踐和技術要求使用配置文件或二進制注冊表來手動配置萬維網服務器,因此萬維網服務器在它們的處理對于特定網站的請求的操作期間保持靜態。當用于特定HTML頁面或不同的網站URL的附加或不同資源需要發表或者需要向或從服務器池增加或去除新的服務器的時候,必須重新啟動服務器以使得任何改變生效。這需要服務器場(server farm)管理員方面的很大的管理努力,因為需要大量的時間來手動配置服務器,并且關閉服務器和重新啟動服務器以允許任何改變生效不總是方便的,因為這會導致服務丟失一段時間。
美國專利申請公開US 2002/0002602(2602)描述了一種系統,用于響應于客戶的請求而對于所述客戶提供網頁,從多個合作的萬維網服務器以協作的方式指定用于提供網頁的資源,并且保持可靠的連接以便服務器和客戶保持同步并且不丟失信息。為了使得上述發生以便萬維網服務器處理URL和將所述URL與數據源相關聯,所述萬維網服務器要求人為干預,并且萬維網服務器需要被關閉和重新啟動以使得改變生效。
發明內容
按照本發明,現在提供了一種用于遠程和動態配置服務器以促進所需要的服務器能力的方法,包括步驟(a)客戶器件從在通信網絡中的第一服務器請求資源;(b)第一服務器從客戶器件接收對于所述資源的請求;(c)第一服務器將對于資源的客戶請求動態內容模塊,所述動態內容模塊用于識別可以提供所請求的資源的可用第三服務器,并且將所請求的資源路由到客戶器件;(d)從第一和第三服務器整理來自第一和第三服務器的性能數據,并且第一服務器向第二服務器報告所述性能數據;(e)第二服務器分析在步驟(d)整理的性能數據以確定第一和第三服務器的執行能力,并且識別第一或第三服務器是否已經達到了預定的門限;以及(f)第二服務器響應于步驟(e)而調整第一服務器或第三服務器的分配,并且向第一服務器的動態配置模塊發出對于第一服務器或第三服務器的配置更新指令,并且確定資源更新是否成功。
本發明有益地允許最佳化服務器性能,以便可以根據服務器的性能來從服務器池分配或解除分配所述服務器,所述性能例如服務器是否擴展能力,或等同地,服務器是否沒有被完全使用。而且,通過使用模塊化的自主計算部件,系統能夠在關閉的和不可預測的條件下配置和重新配置其本身。而且,所述方法允許對于硬件資源或數據資源進行改變而不需要像其他現有技術系統那樣重新啟動服務器。
優選的是,本發明提供了動態內容模塊,用于從動態配置模塊請求第三服務器的連接配置文件。這允許第一服務器確定哪個數據源服務器具有客戶所請求的資源。
優選的是,本發明提供了調整從一個自由的服務器池或向一個自由的服務器資源池分配或解除分配第一服務器和第三服務器之一或兩者。本發明因此可以監控服務器的性能,并且根據服務器的工作負荷添加附加的資源或解除分配資源。
優選的是,本發明提供了從第一服務器分離所請求的資源,以允許引入新服務或去除冗余的服務。
在另一個方面,本發明提供了一種用于遠程和動態配置服務器以提供所需要的能力的系統,所述系統包括客戶器件,用于請求和接收在通信網絡中的資源,所述系統還包括第一服務器,所述第一服務器包括動態內容模塊、動態配置模塊和報告模塊;用于將對于資源的客戶請求路由到所述動態內容模塊的裝置;所述動態內容模塊用于識別可以提供所請求的資源的第三服務器的裝置和用于檢索與在所述動態配置模塊中存儲的第三服務器相關聯的連接配置文件的裝置;所述報告模塊用于從第一服務器和第三服務器整理性能數據的裝置和用于將所述性能數據路由到第二服務器的裝置;第二服務器,包括分析模塊、資源分配模塊和資源更新模塊,所述第二服務器向所述分析模塊發送性能數據;分析模塊用于確定第一服務器和第三服務器的執行能力的裝置和用于識別第一服務器和第三服務器是否已經達到預定門限的裝置;所述資源分配模塊用于響應于識別裝置而調整第一服務器和第三服務器之一或兩者的分配的裝置;資源更新模塊用于向第一服務器的動態配置模塊發出用于第一服務器和第三服務器之一或兩者的配置更新指令的裝置和用于確定資源更新是否成功的裝置;包括一個或多個資源的第三服務器和用于第三服務器向第一服務器提供所請求的資源的裝置。
另一個優點是HTTP URL可以被服務器處理和與遠程數據源相關聯而不必重新啟動服務器或不要求人為干預。本發明的另一個優點是對于數據源的動態的即插即用的安全和集中管理,以便在工作中服務網站。本發明的另一個優點是提供對于其他機制的多個協議支持——諸如FTP、XML和SOAP——和文件共享。
現在參照附圖來僅僅舉例說明本發明,其中
圖1圖解了其中可以按照本發明的優選實施例實現本發明的服務器場;圖2圖解了用于詳細說明按照本發明的優選實施例的系統的部件的概覽的方框圖;圖3圖解了用于詳細說明按照本發明的優選實施例的、圖2的萬維網服務器的動態內容模塊的功能的流程圖;圖4圖解了用于詳細說明按照本發明的優選實施例的、圖2的萬維網服務器的報告模塊的功能的流程圖;圖5圖解了用于詳細說明按照本發明的優選實施例的、圖2的管理服務器的分析模塊的功能的流程圖;圖6圖解了用于詳細說明按照本發明的優選實施例的、圖2的管理服務器的資源分配模塊的功能的流程圖;圖7圖解了用于詳細說明按照本發明的優選實施例的、圖2的管理服務器的資源更新模塊的功能的流程圖。
具體實施例方式
圖1圖解了可以實現本發明的服務器場。所述服務器場包括多個客戶器件100和105,它們連接到諸如因特網110的網絡。客戶器件100和105通過在網絡110上發送和接收對于資源的請求來執行交易。路由器115和120提供了在網絡110和局域網(LAN)125之間的連接,所述局域網可以是高速以太網或任何其他適當的傳輸介質或拓撲。路由器115和120接收輸入的請求,并且通過網絡135向路由器/防火墻130轉發所述請求,路由器/防火墻130將所述請求過濾而提供到服務器145-155。本發明具體化了用于服務器145-155的中央控制點的管理服務器140。服務器140-155可以實現一個或多個服務器技術,包括例如UNIX,它是美國和其他國家中的Open Group的注冊商標;Novell,它是在美國和其他國家中的Novell公司的注冊商標;或Windows NT,它是在美國和其他國家或兩者中的微軟公司的注冊商標;和/或對等的聯網布置。雖然已經參照服務器場說明了本發明,但是本發明可以等同地被應用到普遍計算環境以及其他服務器聯網布置。
應用數據被存儲在與服務器140-155分離的一個或多個數據源服務器175和180中的數據存儲器中。從在網絡160上的服務器145-155的任何一個發送請求。所述請求被路由器/防火墻165接收,并且通過另外的網絡170路由到適當的數據源服務器175和180,它們存儲由一個或多個客戶器件100和105請求的資源。
參見圖2,示出了所述系統的示意圖。所述系統包括模塊化自主計算部件,用于提供自診斷能力以檢測服務器145-155的性能問題。而且,通過使用模塊化部件,所述系統能夠提供數據源的“即插即用”,以容易引入新服務。
所述系統包括服務器145,它具有報告模塊205,用于在所分配的服務器池中整理來自每個服務器145-155的性能和請求數據;動態內容模塊215,用于通過最適當的接口發送對于資源的請求,以使用服務器145-155的本地數據訪問能力或通過建立和管理到遠程服務器本身的連接來訪問被請求的資源;動態配置模塊216,用于更新、處理和存儲在所分配的服務器池中的每個服務器的配置文件;客戶器件100,用于從服務器請求資源。所述配置文件用于保存特定服務器145-155的配置設置,諸如注冊、端口設置、安裝路徑、驗證設置、用戶設置、SMPT設置、連接設置、萬維網瀏覽器設置和在設置中的日志。
所述系統還包括管理服務器140,用于提供用于可用的服務器池中的所有服務器的中央控制點;分析模塊230,用于分析來自報告模塊205的性能和請求數據;資源分配模塊235,用于確定在自由服務器資源池中是否存在要添加到所分配的服務器池的自由資源或是否需要解除分配一個服務器和將其放回所述自由服務器資源池;資源更新模塊240,用于確定是否已經成功地向或從所述可用的資源池分配或解除分配資源;以及管理客戶245,用于向所述系統輸入人為配置任務。管理客戶245可以從服務器管理員接收管理請求。管理客戶作為圖形用戶界面,并且在提供到管理服務器的管理上提供很大的靈活性,諸如使用在服務器145-155和管理服務器140之間的標準HTTP連接經由因特網提供在遠處的另一個站點中的連接。為了僅僅使得被授權的管理員能夠進行配置改變,可以向安全目錄提供一個接口,用于處理驗證和授權請求(在附圖中未示出)。
使用作為在HTTP會話上的傳送機制220和225的擴展標記語言(XML)將數據流220和225發送到服務器145-155和管理服務器140,或者將其從服務器145-155和管理服務器140發送出來。XML是在萬維網上的結構化文件和數據的通用格式。XML使用類似于HTML的標簽,并且允許以許多人可以明白的方式來結構化數據。可以在萬維網聯盟找到關于XML的進一步的信息。
客戶器件100向服務器145發送對于特定資源的請求。可以被服務器145-155接收的一種這樣的請求是HTTP URL,例如,請求HTML頁面的http//www.ibm.com。為了允許服務器翻譯所述HTTP URL,所述服務器使用域名服務(DNS),它將因特網域名翻譯為網絡地址,諸如129.42.19.99。所述資源可以是標準的HTML頁面或.exe文件。服務器145從客戶器件100和105接收對于資源的請求,所述請求被發送到動態內容模塊215。
雖然圖2圖解了管理服務器140和服務器145,但是應當明白,所述系統可以包括如圖1所示的多個服務器145-155,每個服務器包括如圖2所示的模塊。
現在參照圖3來說明動態內容模塊215的操作。應當注意,在圖3中的虛線表示數據流,單實線表示控制流。動態內容模塊215在步驟300從客戶器件接收對于資源的請求,并且在步驟305比較在服務器145上存儲的內容與所請求的資源。例如,如果客戶從www.ibm.com/news/today.html請求資源,則動態內容模塊比較在服務器上存儲的today.html頁面和在源服務器上存儲的today.html頁面以確定是否已經更新了today.html頁面,向客戶器件發送最新的today.html頁面。在步驟310,服務器確定是否已經高速緩沖存儲了內容,并且在步驟360確定所高速緩沖存儲的內容是否是當前和最新的。如果所述高速緩沖存儲器是當前的,則控制進行到步驟355,并且從內容高速緩沖存儲器350檢索所請求的資源,同樣,如果內容未被高速緩沖存儲,則在步驟315識別包括所請求的資源的服務器。而且,在步驟355,向報告模塊205發送涉及服務器145的行為的信息。所述信息可以包括這樣的數據,諸如對于諸如產品之類的每個資源的請求數量、服務器響應所需要的時間或所請求的服務的類型,諸如HTTP或文件傳送協議(FTP)。
為了使得服務器145能夠識別數據源服務器175,所述服務器在步驟325從連接配置存儲器320檢索源服務器的連接配置文件。在步驟330對于內容請求執行預處理。在步驟335,向數據源服務器175發送請求,在步驟340,服務器145從源服務器接收客戶器件300請求的內容。所檢索的內容被存儲在內容高速緩沖數據存儲器350中,或者,現有的內容在步驟345被以所檢索的內容刷新,并且被存儲在內容高速緩沖數據存儲器350中。
返回步驟355,關于在步驟300從客戶器件100請求的資源的信息以及性能信息被發送到報告模塊210。參照圖4,在步驟400,報告模塊205從動態內容模塊215接收內容信息,并且記錄所述信息。這些細節在步驟405被存儲在服務器統計數據存儲器中,并且與每個服務器145-155相關聯的服務器統計(響應時間、所請求的頁面的數量、多少次、什么頁面、哪個服務器、服務器配置細節和性能數據)在步驟410經由XML數據流220被發送到管理服務器140。
參見圖5,管理服務器140的分析模塊230接收在XML數據流220中的服務器統計,并且,分析模塊230在步驟500分析所述服務器統計以在步驟505確定服務器145-155是否已經達到預定的門限,如果服務器的性能還沒有達到預定的門限,則控制返回步驟500,否則控制進行到步驟510,并且分析模塊230分析服務器的當前配置設置,并且向資源分配模塊235發送所述服務器的配置設置。
參見圖6,在步驟600,如果已經超過性能門限或者如果一個服務器應當從所分配的服務器的當前池被去除和返回到自由資源池,則資源分配模塊235確定新的服務器是否應該被加到服務器145-155的當前的池。如果分析模塊230確定要增加附加的服務器,則控制進行到步驟605,并且資源分配模塊在步驟610識別是否存在備用資源。備用資源可以例如是附加服務器或等同地是一些其他的硬件資源。如果不能定位備用資源,則控制進行到步驟630,并且在步驟635,一個例外誤差被產生和顯示在管理控制臺245中,以警告技術人員資源更新失敗。返回步驟610,如果已經定位了備用資源,則控制進行到步驟615,選擇新的服務器,并且從特定服務器140-155的配置數據庫615請求關于服務器的配置設置文件的信息。在步驟620,一旦已經接收到配置設置文件,則所述配置設置文件使用所選擇的服務器的當前指令被更新,并且經由XML數據流225被發送到資源更新模塊240和動態配置模塊126。
參見圖7,在步驟700,經由XML數據流225向服務器145的動態配置模塊216發送配置更新信息。資源更新模塊240在步驟710等待來自服務器145的確認。如果在步驟715配置更新成功,則控制進行到步驟720,更新配置數據庫730。返回步驟720,如果來自服務器145的確認成功,則控制也進行到步驟735,并且進行對于負荷平衡基礎結構的配置更新請求。等同地,如果在步驟720更新不成功,則控制進行到步驟745,并且產生例外處理警告,并且在步驟750認為資源更新失敗。
權利要求
1.一種用于遠程和動態配置服務器以促進所需要的服務器能力的方法,包括步驟(a)客戶器件從在通信網絡中的第一服務器請求資源;(b)第一服務器從客戶器件接收對于所述資源的請求;(c)第一服務器將對于資源的客戶請求動態內容模塊,所述動態內容模塊用于識別可以提供所請求的資源的可用第三服務器,并且將所請求的資源路由到客戶器件;(d)從第一和第三服務器整理來自第一和第三服務器的性能數據,并且第一服務器向第二服務器報告所述性能數據;(e)第二服務器分析在步驟(d)整理的性能數據以確定第一和第三服務器的執行能力,并且識別第一或第三服務器是否已經達到了預定的門限;以及(f)第二服務器響應于步驟(e)而調整第一服務器或第三服務器的分配,并且向第一服務器的動態配置模塊發出對于第一服務器或第三服務器的配置更新指令,并且確定資源更新是否成功。
2.按照權利要求1的方法,其中,所述動態內容模塊還包括從動態配置模塊請求用于第三服務器的連接配置文件。
3.按照權利要求1的方法,其中,所述動態配置模塊存儲用于第一服務器和第三服務器之一或兩者的配置設置。
4.按照權利要求1的方法,其中,調整第一服務器和第三服務器之一或兩者的分配還包括從自由服務器池分配附加服務器。
5.按照權利要求1的方法,其中,調整第一服務器和第三服務器之一或兩者的分配還包括從所分配的資源池向自由服務器資源池解除分配第一服務器或第三服務器。
6.按照權利要求1或2的方法,其中,第一服務器和第二服務器通過XML數據流彼此通信。
7.按照權利要求1的方法,其中,第二服務器是管理服務器,用于提供用于一個或多個第一服務器的中央控制點。
8.按照權利要求1的方法,其中,所請求的資源被與第一服務器分離,以允許引入新服務或去除冗余的服務。
9.按照權利要求1的方法,其中,第一服務器是多個服務器。
10.按照權利要求1的方法,其中,第三服務器是多個服務器。
11.一種用于遠程和動態配置服務器以提供所需要的能力的系統,所述系統用于客戶器件,所述客戶器件用于請求和接收在通信網絡中的資源,所述系統還包括第一服務器,所述第一服務器包括動態內容模塊、動態配置模塊和報告模塊;所述第一服務器還包括用于將對于資源的客戶請求路由到所述動態內容模塊的裝置;所述動態內容模塊用于識別可以提供所請求的資源的第三服務器的裝置和用于檢索與在所述動態配置模塊中存儲的第三服務器相關聯的連接配置文件的裝置;以及所述報告模塊用于從第一服務器和第三服務器整理性能數據的裝置和用于將所述性能數據路由到第二服務器的裝置;第二服務器,包括分析模塊、資源分配模塊和資源更新模塊,所述第二服務器向所述分析模塊發送性能數據;第二服務器還包括分析模塊用于確定第一服務器和第三服務器的執行能力的裝置和用于識別第一服務器和第三服務器是否已經達到預定門限的裝置;所述資源分配模塊用于響應于識別裝置而調整第一服務器和第三服務器之一或兩者的分配的裝置;以及資源更新模塊用于向第一服務器的動態配置模塊發出用于第一服務器和第三服務器之一或兩者的配置更新指令的裝置和用于確定第一服務器和第三服務器之一或兩者的分配或解除分配是否成功的裝置;以及包括一個或多個資源的第三服務器和用于第三服務器向第一服務器提供所請求的資源的裝置。
12.按照權利要求11的系統,其中,用于調整第一服務器和第三服務器之一或兩者的分配的裝置還包括從自由服務器池分配附加服務器的裝置。
13.按照權利要求11的系統,其中,用于調整第一服務器和第三服務器之一或兩者的分配的裝置還包括用于從所分配的資源池向自由服務器資源池解除分配第一服務器或第三服務器之一或兩者的裝置。
14.按照權利要求11的系統,其中,用于在第一服務器和第二服務器之間通信的裝置是通過XML數據流。
15.按照權利要求11的系統,其中,用于所述連接配置文件的裝置包括用于第一服務器和第三服務器的連接設置。
16.按照權利要求11的系統,其中,所述動態配置模塊提供用于存儲用于第一服務器和第三服務器的配置設置的裝置。
17.按照權利要求11的系統,其中,第二服務器是管理服務器,用于提供用于第一服務器和第三服務器的中央控制點的裝置。
18.按照權利要求11的系統,其中,用于所請求的資源的裝置被與第一服務器分離,以允許用于引入新服務或去除冗余的服務的裝置。
19.按照權利要求11的系統,其中,第一服務器是多個服務器。
20.按照權利要求11的系統,其中,第三服務器是多個服務器。
21.一種計算機程序產品,包括在計算機可讀存儲介質上存儲的計算機程序代碼,它當在數據處理系統上被執行時指令所述數據處理系統執行權利要求1的方法。
全文摘要
本發明涉及用于遠程和動態配置萬維網服務器以促進所需要的能力的方法和系統。本發明提供了對于下述問題的解決方案關于服務器的剛性基礎結構和架構的、在諸如服務器場的環境內的一個或多個服務器的管理和操縱的問題,這是由于服務器與服務器正在發表的數據相關聯地扮演的角色的定義。以模塊化的自主計算部件的形式提供了一種解決方案,以允許服務器處理URL,并且允許所述服務器將其與遠程數據源相關聯而不必重新啟動或人為干預服務器,并且允許通過下述方式來引入新的服務和/或硬件資源通過整理和分析從服務器收集的性能數據以確定服務器是否結束或在使用。
文檔編號G06F9/50GK1679300SQ03820990
公開日2005年10月5日 申請日期2003年8月29日 優先權日2002年9月7日
發明者尼古拉斯·J·米奇利 申請人:國際商業機器公司