專利名稱:用于客戶機-服務器網絡中協作應用的方法和系統的制作方法
技術領域:
本發明 一般地涉及計算機網絡系統,尤其涉及客戶機-服務器計 算機網絡。更具體地,本發明涉及客戶機-服務器計算機網絡中的客戶 機-服務器確定。
背景技術:
大多數多客戶機協作應用通過標準拓樸而被提供,其中在標準拓 樸中,提供專用服務器(計算機系統)來支持正被執行的應用的核心 服務器級功能。在該拓樸中,每個訪問所述應用的客戶機連接到該專用服務器,并且直接與該專用服務器交互。IBM Lotus Notes⑧是這種 應用的一個7>知的例子。然而,對于某些更傳統的協作應用,應用依賴于以下客戶機-服 務器拓樸,即通過該客戶機-服務器拓樸,"客戶機"計算機系統之一擔 任其他客戶機的"服務器"的角色,并且作為其他客戶機的"服務器"而 操作。這種應用的一個例子是聯機游戲。存在許多聯機游戲,其中游 戲應用^皮編寫為4吏得例如啟動"游戲室(gameroom)"的人的計算枳^ 系統擔任游戲應用的服務器的角色。另外,許多聯機游戲服務器實際 上被用于將若干玩家/客戶機定向到一個客戶機服務器,該客戶機服務 器實際上是產生(spawning) /運行游戲服務器類功能的用戶/玩家的 家用PC。這些交互式軟件應用通常要求客戶機服務器提供某些處理和網 絡連接能力,這可能給客戶機服務器帶來沉重的負擔。使用不提供所 要求能力的客戶機服務器導致應用運行于理想操作等級之下,并且負 面地影響其他客戶機的體驗。 參與交互環境的每個客戶機可能具有不同的系統能力。因此,客 戶機服務器具有比參與交互應用的其他客戶機中一個或多個客戶機 差的系統能力并非是不常見的。然而,由于客戶機服務器是應用的服 務器級功能的啟動者,所以在進行的會話過程中,客戶機服務器保持 對應用的執行的控制。發明內容公開了 一種用于為客戶機-服務器網絡環境中的協作應用實時地 動態確定理想的客戶機服務器的方法、系統和計算機程序產品。特別地,理想服務器實用程序(Ideal Server utility )將加入的客戶才幾的計 算機系統的能力與當前客戶機服務器的計算機系統的能力進行比較, 以確定哪個系統被最佳地配備為控制應用的執行。理想服務器實用程 序首先評估應用的啟動者/客戶機服務器的系統能力,并且存儲評估結 果。每當新客戶機加入/參與應用會話時,理想服務器實用程序就評估 新客戶機(候選客戶機服務器)的系統能力,并且將s新客戶機的系 統能力與當前客戶機服務器的系統能力進行比較。如果新客戶機具有 比當前客戶機服務器更好的能力,則為新客戶機提供客戶機服務器的 角色。通過客戶機服務器參數和進行中的應用數據的轉移來啟動應用 到候選客戶機服務器的轉移。 一旦完成轉移,應用就在候選客戶機服 務器上繼續處理,其中候選客戶機服務器現在是新的客戶機服務器。 以進行中應用會話不可察覺的停機時間完成轉移。在下面詳細的描述中將會更加明了本發明的上述以及附加的目 的、特征和優點。
通過參考對示例實施例的下列詳細描述,在結合附圖閱讀時將最 好地理解本發明自身以及其優選使用模式,其他目的和優點,其中 圖1示出了可以有利地實現本發明的特征的數據處理系統; 圖2示出了根據本發明一個示例性實施例的基本客戶機-服務器 網絡;圖3示出了根據本發明一個示例性實施例的包含用于確定相對 系統值的兩個客戶機系統的系統值參數的示例性表格;圖4示出了根據本發明一個示例性實施例的具有在批準客戶機 服務器切換的處理中所使用的選擇(彈出)窗口的示例性聯機游戲; 和圖5是一個流程圖,其示出了根據本發明一個示例性實施例,理 想服務器實用程序在評估和比較計算機系統和確定何時啟動客戶機 服務器切換中所完成的處理。
具體實施方式
本發明提供了一種用于為客戶機-服務器網絡環境中的協作應 用實時地動態確定理想的客戶機服務器的方法、系統和計算機程序產 品。特別地,理想服務器實用程序將加入的客戶機的計算機系統的能 力與當前客戶機服務器的計算機系統的能力進行比較,以確定哪個系統被最佳地配備為控制應用的執行。理想服務器實用程序首先評估應 用的啟動者/客戶機服務器的系統能力,并且存儲評估結果。每當新客 戶機加入/參與應用會話時,理想服務器實用程序就評估新客戶機(候 選客戶機服務器)的系統能力,并且將新客戶機的系統能力與當前客 戶機服務器的系統能力進行比較。如果新客戶機具有比當前客戶機服 務器更好的能力,則為新客戶機提供客戶機服務器的角色。通過客戶 機服務器參數和進行中的應用數據(會話數據)的轉移來啟動應用到 候選客戶機服務器的轉移。 一旦完成轉移,應用就在現在作為新的客 戶機服務器的候選客戶機服務器上繼續處理。以進行中的應用會話不 可察覺的停機時間完成轉移。在對本發明實施例的下列詳細描述中,以足以使本領域技術人員 能夠實現本發明的詳細描述了其中可以實現本發明的特定示例性實 施例,并且應當理解,可以利用其他實施例,并且可以做出邏輯的、 體系結構的、程序的、機械的、電氣的和其他的改變,而不脫離本發
明的精神或范圍。因此,下面的詳細描述不是限制性的,并且僅由所 附的權利要求限定本發明的范圍。在附圖的描述中,為相似的元素提供與前面圖中相似的名稱和附 圖標記。如果后一個圖在不同的上下文中或以不同的功能使用該元 素,則給該元素提供代表圖號的不同的引導數字(例如,對于圖1,為lxx;而對于圖2,為2xx)。分配給元素的具體數字僅僅是為了有 助于描述而被提供的,而不意味著暗示對本發明的任何限制(結構的 或功能的)。還應當理解,特定參數名稱的使用僅是示例性的,并且不意味著 暗示對本發明的任何限制。因此,本發明的實施例可以被提供以用于 描述上述參數的不同命名/術語,而沒有限制。現在參考附圖,圖1示出了在其中可以有利地實現本發明的特征 的數據處理系統的方框圖。數據處理系統(DPS) 100可以被用作客 戶機服務器(例如,其執行協作/共享應用軟件)或能夠成為客戶機服 務器的新客戶機。然而,在此處的描述中,假設DPS 100是當前的客 戶機服務器。DPS 100包括連接到系統總線/互連102的處理器101。同樣被連 接到系統總線/互連102的存儲器控制器105控制對存儲器106的訪 問。另一個存儲設備104和輸入/輸出控制器(1/0控制器)115也被 連接到系統總線102,其中輸入/輸出控制器(I/O控制器)115控制 多個輸入設備所進行的訪問,其中對于輸入設備,示出了鼠標120和 鍵盤117。 I/O控制器115還控制對輸出設備的訪問,其中對于輸出 設備,示出了顯示器118。為了支持可移動存儲介質的使用,I/O控 制器115還可以支持諸如USB (通用串行總線)端口 121這樣的一個 或多個端口和諸如壓縮盤讀/寫(CDRW) /數字浮見頻盤(DVD)驅動 器這樣的介質驅動器119。DPS 100還包括網絡接口設備(NID) 125,其中通過網絡接口 i殳備(NID)125, DPS 100能夠經由網絡(諸如互聯網(Internet)) 而與外部設備(諸如客戶機)連接和通信。NID 125可以是調制解調
器或網絡適配器,并且還可以是無線收發設備。DPS100包括用于支 持經由NID 125的網絡連接和通信的軟件和固件機制。本領域普通技術人員應當理解,圖1中示出的硬件可以改變。例 如,還可以使用其他外圍設備,諸如光盤驅動器等,來作為所示出的 硬件的補充或替換。因此,所示出的例子不意味著暗示對于本發明的 體系結構限制。圖1示出的數據處理系統例如可以是紐約Armonk的 國際商業機器公司的產品運行高級交互執行體(AIX)操作系統或 LINUX操作系統的IBM eServer pSeries系統。本發明的各種特征被提供作為存儲在存儲器106或其他存儲設 備104內并且由一個或多個處理器101執行的軟件代碼。因此,如圖 l所示,除了上述硬件組件之外,DPS 100還包括多個軟件組件,包 括操作系統(OS) 108 (例如,Microsoft 7>司的注冊商標Microsoft \¥11^0\¥8@或自由軟件基金會和Linux標記組織的注冊商標 GNU /LinUX )以及一個或多個軟件應用和/或實用程序。這些軟件應 用和實用程序當中有U)協作應用軟件指令APP112,其包括(b) 用于提供應用的客戶機服務器功能的軟件指令,服務器和會話代碼/ 數據114,并且更特定于本發明的(c)用于使能下面所述的理想服務 器確定特征的軟件指令。為了簡單起見,用于使能理想服務器確定特 征的代碼的總體在這里被稱為理想服務器實用程序110。在實際實現 中,理想服務器實用程序110是當DPS 100被確定為正執行協作軟件 應用的客戶機服務器時,在DPS 100上執行的協作應用(APP112) 內的子例程。在一個可替換實施例中,理想服務器實用程序IIO可以 是安裝在客戶機-服務器網絡環境內 一個或多個客戶機上的獨立的軟 件應用。協作應用允許客戶機-服務器網絡中的用戶參與正在進行中的會 話。因此,在會話過程中,新用戶/參與者可以在各個時刻加入會話。 另外,應用具有允許客戶機服務器和客戶機在活動應用執行過程中切 換關系的能力(通過理想服務器實用程序110)。應用軟件例如可以 是聯機游戲或在線聊天室。參與應用會話的每個客戶機系統在各自客
戶機系統上加載某基本軟件(其使能應用的執行)之后被允許作為參 與者。客戶機服務器具有服務器和會話數據,并且執行處理,以使得 能夠在兼容的客戶機系統上進行會話(以基本應用軟件)。在操作過程中,OS 108、 APP 112和理想服務器實用程序110 位于存儲器106內,并且在處理器(CPU) 101上被執行。根據該說 明性實施例,當DPS 100作為客戶機服務器操作時,APP112提供服 務器和會話代碼/數據114。另外,當處理器101執行理想服務器實用 程序110時,理想服務器實用程序110使得DPS 100能夠完成一系列 功能處理,包括(1)評估DPS100和通過客戶機-服務器網絡連接 到DPS 100的新客戶機計算機系統的能力;(2)確定新客戶機系統 是否具有比DPS 100更好的操作能力(處理能力和網絡帶寬等)來控 制APP 112的執行;(3)當新客戶機系統被確定為具有更好的操作 能力時,將用于APP 112的服務器和會話代碼/數據114從DPS 100 轉移到新客戶機系統;以及由圖2-5所示并在下面描述的其他特征/ 功能。圖2示出了根據本發明一個示例性實施例的客戶機-服務器網絡。 客戶機-服務器網絡205包括客戶機服務器200 (假設為DPS 100), 其中客戶機服務器200經由網絡201連接到客戶機2 202和"新"客戶 機3 203 。客戶機2 202和客戶機3 203 二者都可以是與DPS 100類似 配置的計算機系統,但是具有與客戶機服務器100不同的操作特性/ 參數(例如,處理能力和/或速度和網絡連接帶寬)。新客戶機3 203 代表協作應用環境內最近連接的客戶機。網絡205例如可以是諸如Internet這樣的廣域網(WAN )或諸 如以太網這樣的局域網(LAN)。在網絡205中,客戶機服務器200 為其他客戶機(202、 203 )提供協作應用。理想服務器實用程序110 在客戶機服務器200內執行,并且使得能夠確定加入正在進行中的客 戶機-服務器協作軟件應用會話的新客戶機(例如,客戶機3 203 )是 否具有比當前客戶機服務器系統值更高的計算機"系統值"(在圖3中 描述)。在下面的描述中,客戶機服務器200被稱為"當前,,客戶機服
務器系統,以將客戶機服務器200與"候選"客戶機服務器系統(諸如 新客戶機3 203)區別開。在客戶機-服務器協作軟件應用環境中,啟動應用的客戶機被賦 予服務器的角色(可能通過客戶機可訪問的應用Web站點),并且 被稱為客戶機服務器。Web站點所接收的對于客戶機參與應用的任何 后續客戶機請求被定向到客戶機服務器。只要參與者的數目不超過某 個值,Web站點繼續將會話請求重定向到客戶機服務器。Web站點 和/或客戶機服務器啟動基本應用軟件的下載,以允許發出請求的客戶 機參與應用會話。 一旦發出請求的客戶機已經加載了基本軟件,則發 出請求的客戶機被允許加入會話。根據所述實施例,如果在新客戶機加入應用的正在進行中的會話時,新客戶機具有更好的系統能力(即, 更好的系統值),則客戶機-服務器協作應用會話中的客戶機可以接管 客戶機服務器的角色。根據客戶機的操作參數確定客戶機的系統值。圖3示出了用于客 戶機服務器200和新客戶機3 203 二者的操作參數的示例性表格。評 估這些系統值,以確定這兩個系統中哪一個具有更好的能力來執行當 前正在客戶機服務器200上執行的特定協作應用的客戶機服務器角色 /功能。當新客戶機的系統值高于客戶機服務器的系統值時,在(服務 器和會話代碼、數據和處理)轉移之后,新客戶機系統被分配以客戶 機服務器的角色。轉移可能需要由當前客戶機服務器和新客戶機(候 選客戶機服務器)之一或二者的批準。 一旦完成轉移,新客戶機,即 現在的新客戶機服務器系統,繼續協作應用的服務器級處理,并且使其他客戶機能夠連接到正在進行中的應用會話。根據本發明的該示例性實施例,圖3的表格包含由理想服務器實 用程序IIO用以確定相對系統值的系統值參數。表格300包括當前客 戶機服務器表301和新客戶機表302。每個表包括多個參數,這些參 數中的下述參數被提供用于說明(l)存儲器大小;(2)存儲容量; (3) CPU速度;(4)網絡連接類型;(5)網絡連接速度;和(6) 從屬關系(affiliation),系統值的確定可以將上述系統值參數中的一
個或多個表示為因子(factor)。例如,在確定網絡連接值時,如果 客戶機經由撥號調制解調器連接到網絡,則相比于經由Tl或T3線路 連接的客戶機,該客戶機被分配以低的網絡值。如表300內所提供的, 新客戶機表302的參數中的幾個參數具有比客戶機服務器表301中的 類似參數更好的值。客戶機服務器的相對系統值是7,而新客戶機的 系統值是8.5。因此,由于新客戶機具有比客戶機服務器更好/更高的 相對系統值,所以新客戶機會被選擇作為新的客戶機服務器。表301和302的從屬關系表項涉及在協作應用環境中可以被作為 客戶機服務器的預先建立的"安全,,或"可信,,客戶機系統分組。從屬關 系值指示客戶機是否是當前客戶機服務器的朋友的可信網絡的成員。 客戶機可以通過其系統的IP (網際協議)地址或用戶注冊、或某些其 他形式的標識符來唯一地標識。客戶機服務器保持這些可信客戶機系 統的列表。對于最初啟動應用的客戶機服務器,從屬關系值不是必需 的,或者可以可替換地在最高等級被賦值。然而,原始客戶機服務器 (以及隨后的客戶機服務器)可以提供可信朋友的列表,以使得能夠 隨后確定候選客戶機服務器是否是可信成員(affiliate)或朋友。在一個實施例中,客戶機服務器上的理想服務器實用程序114 限制將服務器代碼/數據轉移到在可信客戶機系統的列表內未被標識 的新客戶機。如圖3所示,兩個表都通過具有從屬關系值"l,,而指示 客戶機服務器(例如,圖2的客戶機服務器200)和新客戶機(例如, 圖2的新客戶機3 203)在相同可信網絡內。因此,可以完成客戶機 服務器功能到具有更高系統值的新客戶機的轉移。在另 一個實施例 中,當新客戶機不在可信客戶機系統的網絡內時,客戶機服務器可以 接收到指示在網絡內存在新客戶機的提示。然后,客戶機服務器的用 戶可以確定是否使客戶機服務器功能的轉移能夠發生。因此,不同的 從屬關系級別指示不同的轉移選項,其范圍從(a)完全立刻轉移而 不通知到(b)防止/阻止任何轉移。現在轉到圖4,其示出了作為可以通過其來有利地應用本發明特 征的示例性協作應用的聯機游戲應用的圖形用戶接口 (GUI)的方框 圖表示。顯示窗口 400包括游戲面板401,它是運行在客戶機服務器 200 (圖2)上的聯機游戲應用(會話)中的參與者所看到的GUI (圖 形用戶接口 )的例子。在理想服務器實用程序110開始將服務器和會話代碼/數據以及 應用處理轉移到具有更高系統值(即,更好的操作能力)的客戶機系 統之前,理想服務器實用程序IIO啟動一個過程,以確定候選客戶機 服務器(例如圖2的客戶機3 203 )是否批準應用數據和處理從當前 客戶機服務器200轉移到候選客戶機服務器(203 )。在所示實施例 中,在候選客戶機服務器的顯示器上提供選擇窗口 402,它可以是彈 出窗口。 一旦選擇窗口 402被選擇,在允許繼續轉移過程之前,提示 候選客戶機服務器以指示(通過選擇選擇窗口 402內的"是,,選項)批 準或認可客戶機服務器切換。在這個實施例中,僅要求候選客戶機服 務器的批準,并且僅有候選客戶機服務器接收批準選擇窗口 402。例 如,在完成轉移的過程中或之后的某個時刻,可以經由第二彈出窗口 410將轉移通知給原始客戶機服務器。 一旦轉移已經完成,則釋放前 客戶機服務器的資源。在一個實施例中,還提示當前客戶機服務器(例如,圖2的客戶 機服務器200 )批準轉移。在新客戶機不是客戶機系統的可信網絡的 成員的情況下,或在值得進行這種批準的其他情況下,可能要求這種 4比準。選擇窗口 402在顯示窗口 400內的位置可以在顯示窗口 400的 一個角落中或在顯示窗口 400的底部處,以在轉移通知被顯示在各個 客戶機設備上時最小化應用界面的重疊。因此,當前客戶機服務器或 候選客戶機服務器的用戶可以在決定是否允許轉移的同時,繼續與應 用會話交互。圖5示出了根據本發明一個示例性實施例,理想服務器實用程序 在評估和比較計算機系統以及確定何時發生客戶機服務器切換中所 完成的過程。過程在方框501開始,其中一個用戶啟動客戶機服務器 協作應用,該用戶的計算機最初作為應用的客戶機服務器。在方框 502,理想服務器實用程序評估能力,計算/確定客戶機服務器的系統
值,并且存儲客戶機服務器的系統值。過程在方框503繼續,其中理想服務器實用程序110檢測到客戶 機加入客戶機服務器應用環境的正在進行中的會話。如方框504所示, 理想服務器實用程序通過使用與用于確定客戶機服務器的系統值(在 上面的方框502 )的那些參數類似的參數,并且分配相對值,而確定 新客戶機的系統值。通過使用客戶機服務器系統值和客戶機系統值, 理想服務器實用程序110然后在方框505確定新客戶機系統是否具有 比當前客戶機服務器更高的系統值(即,對于執行應用是否是"更好 的客戶機服務器系統")。如果在方框505中,客戶機值不高于客戶 機服務器值,則過程前進到方框512,其中應用繼續在當前客戶機服 務器上執行,并且理想服務器實用程序繼續監視正在進行中的應用會 話中的新客戶機。然而,當新客戶機的系統值高于客戶機服務器的系統值時,理想 服務器實用程序110確定新客戶機是否是客戶機服務器的可信朋友網 絡的成員,如方框506中所示。如果客戶機是客戶機服務器的可信朋 友,則理想服務器實用程序IIO提供出現在新客戶機(候選客戶機服 務器)的顯示器上的選擇(彈出)窗口,如方框507所示。因此,在 理想服務器實用程序IIO準備開始將服務器和會話數據以及應用處理 從當前客戶機服務器轉移到候選客戶機服務器(具有更高的系統值, 并且是可信朋友網絡的成員)的同時,理想服務器實用程序IIO在方 框508確定候選客戶機服務器是否已經批準轉移。如上面(圖4)提 供的,候選客戶機服務器可以經由選擇窗口來指示對轉移的批準。如 果在方框508,候選客戶機服務器批準轉移(通過選擇選擇窗口內的 "是,,),則通知被提供(給一個或多個客戶機),以指示服務器轉移 正在進行,如方框509所示。如方框510所示,服務器和會話代碼和 數據以及應用處理被轉移到候選客戶機服務器。在后臺完成應用處理 的轉移,而沒有任何明顯的操作暫停,這使得能夠將應用處理無縫地 轉移到候選客戶機服務器。因此,如果有任何中斷的話,會話中的用 戶體驗到最小的中斷。
在一個可替換的實施例中,在轉移過程中,應用處理被掛起,直 到到候選客戶機服務器的服務器和會話代碼以及數據的轉移已經完 成。在候選客戶機服務器(現在是現行的/當前的客戶機服務器)處啟動應用處理,并且向一個或多個客戶機通知轉移的完成,如方框511 所示。 一旦候選客戶機服務器被確定為現行/當前客戶機服務器,客戶 機服務器內的理想服務器實用程序被啟動,并且如方框512所示,現 行/當前客戶機服務器的理想服務器實用程序開始監視,以當新客戶機 連接到正在進行中的應用會話時檢測新客戶機。在上面的流程圖(圖5)中,雖然以特定順序描述和示出了過程 步驟,但是對特定步驟順序的使用不意味著暗示對本發明的任何限 制。可以對步驟順序進行改變,而不脫離本發明的精神或范圍。因此, 對特定順序的使用不是限制性的,并且僅由所附的權利要求限定本發 明的范圍。作為最后一個問題,重要的是,雖然已經并且將繼續在具有被安 裝軟件的全功能計算機系統的上下文中描述本發明的示例性實施例, 但是本領域的技術人員應當理解,本發明的示例性實施例的軟件方面 能夠作為各種形式的程序產品而被分發,并且不論用于實際執行分發 的信號承載介質的具體類型如何,本發明的示例性實施例等同地適 用。信號承載介質的例子包括可記錄類型介質,諸如軟盤、硬盤驅動 器、CDROM;和傳輸類型介質,諸如數字和模擬通信鏈路。雖然已經參考優選實施例具體地示出并且描述了本發明,但是本 領域的技術人員應當理解,可以在形式和細節方面進行各種改變,而 不脫離本發明的精神和范圍。
權利要求
1. 一種方法,包括確定步驟,確定耦接到協作應用環境的下一個客戶機何時具有比所述協作應用環境的當前客戶機服務器高的系統值;和轉移步驟,如果所述下一個客戶機具有更高的系統值,則將服務器和會話數據以及應用處理從所述當前客戶機服務器轉移到所述下一個客戶機。
2. 如權利要求1的方法,其中所述確定還包括 檢索步驟,檢索所述當前客戶機服務器的第一操作參數和所述下一個客戶機的第二操作參數;第 一評估步驟,利用所述客戶機服務器的第 一操作參數評估客戶 機服務器系統值;第二評估步驟,利用所述下一個客戶機的第二操作參數評估下一個客戶機系統值;以及比較步驟,比較所述當前客戶機服務器系統值和所述下一個客戶 才幾系統值。
3. 如權利要求2的方法,其中所述第一評估步驟和所述第二評估 步驟包括通過為一個或多個操作參數分配相對權重,確定相應系統 值,其中所述一個或多個操作參數包括CPU(中央處理單元)能力和 網絡連接參數。
4. 如權利要求1的方法,還包括當所述下 一個客戶機具有比所迷當前客戶機服務器高的系統值時確定所述下一個客戶機是否是可信網絡的成員; 當所述下一個客戶機是所述可信網絡的成員時,啟動到所述下一 個客戶機的轉移;和當所述下一個客戶機不是所述可信網絡的成員時,僅在從所述當 前客戶機服務器接收到對所述轉移的批準時才使能轉移。
5. 如權利要求4的方法,其中所述確定包括下列步驟之一 將所述下一個客戶機的從屬關系值與預先確定的從屬關系值標尺進行比較,其中所述預先確定的從屬關系值標尺包括觸發所述轉移 的第一值;和對照由所述當前客戶機服務器所保持的可信客戶機列表檢查所 述下一個客戶機的標識符(id),以確定所述下一個客戶機是否是所 述可信網絡的成員。
6. 如權利要求4的方法,其中所述使能還包括 在所述下一個客戶機的顯示器上顯示選擇窗口,其中所述下一個客戶機可以通過所述選擇窗口指示轉移批準;和檢測所述選擇窗口內來自所述下一個客戶機的響應。
7. 如權利要求1的方法,還包括當所述下一個客戶機具有比所述客戶機服務器高的系統值時將所迷協作應用的客戶機服務器功能的待決轉移至少通知給所 述下一個客戶機;在所述下一個客戶機上觸發提示,用于所述下一個客戶機對啟動 到所述下一個客戶才幾的轉移的批準;和僅當從所述下一個客戶機接收到所述批準時,啟動到所述下一個 客戶機的轉移。
8. 如權利要求1的方法,其中所述完成還包括 在將所述服務器和會話代碼以及數據向所述下一個客戶機轉移之后,暫停所述當前客戶機服務器上的應用處理;和并發地在所述下一個客戶機處激活本地應用處理,從而以對正在 進行中的應用會話最小的中斷,提供所述應用處理的無縫轉移。
9. 一種數據處理系統,包括 處理器,所述處理器執行協作應用;耦接到所述處理器的存儲器系統,所述存儲器系統存儲所述協作 應用的代碼和數據;網絡連接機制,用于在協作應用環境內將一個或多個客戶機計算 機系統耦接到所述數據處理系統;確定裝置,用于確定耦接到所述協作應用環境的下一個客戶機何 時具有比當前客戶機服務器高的系統值的裝置;和用于如果所述下一個客戶機具有更高的系統值,則將服務器和會 話數據以及應用處理從所述當前客戶機服務器轉移到所述下一個客 戶機的裝置。
10. 如權利要求9的數據處理系統,其中所述確定裝置還包括 用于檢索所述當前客戶機服務器的第一操作參數和所述下一個客戶機的第二操作參數的裝置;用于第一評估的裝置,利用當前客戶機服務器的第一操作參數評 估客戶機服務器系統值;用于第二評估的裝置,利用所述下一個客戶機的第二操作參數評估下一個客戶機系統值;其中,所述第 一評估和所述第二評估包括通過為 一個或多個操作 參數分配相對權重,確定相應系統值,所述一個或多個操作參數包括 CPU (中央處理單元)能力和網絡連接參數,以及用于將所述當前客戶機服務器系統值與所述下一個客戶機系統 值進行比較的裝置。
11. 如權利要求9的數據處理系統,還包括當所述下一個客戶機具有比所述客戶機服務器高的系統值時 用于確定所述下一個客戶機是否是可信網絡的成員的裝置; 用于當所述下一個客戶機是所述可信網絡的成員時,啟動到所述 下一個客戶機的轉移的裝置;和當所述下一個客戶機不是所述可信網絡的成員時,用于僅當從所 述當前客戶機服務器接收到對所述轉移的批準時,才使能所述轉移的 裝置,其中所述用于使能的裝置還包括用于在所述下一個客戶機的顯示器上顯示選擇窗口的裝置,其中 所述下一個客戶機可以通過所述選擇窗口指示轉移批準;和用于檢測所述選擇窗口內來自所述下一個客戶機的響應的裝置。
12. 如權利要求11的數據處理系統,其中所述用于確定所述下一 個客戶機是否是可信網絡的成員的裝置包括下列裝置之一用于將所述下一個客戶機的從屬關系值與預先確定的從屬關系 值標尺進行比較的裝置,所述預先確定的從屬關系值標尺包括觸發所 述轉移的第一值;和用于對照由所述當前客戶機服務器保持的可信客戶機列表檢查 所述下一個客戶機的標識符(ID),以確定所述下一個客戶機是否是 所述可信網絡的成員的裝置。
13. 如權利要求9的數據處理系統,還包括當所述下一個客戶機具有比所述客戶機服務器高的系統值時用于將所述協作應用的客戶機服務器功能的待決轉移至少通知 給所述下一個客戶機的裝置;用于在所述下一個客戶機上觸發提示,用于所述下一個客戶機對 啟動到所述下一個客戶機的轉移的批準的裝置;和用于僅當從所述下一個客戶機接收到所述批準時,啟動到所述下 一個客戶機的轉移的裝置。
14. 如權利要求10的數據處理系統,其中所迷用于完成的裝置還包括用于在將所述服務器和會話代碼以及數據向所述下一個客戶機 轉移之后,暫停所述當前客戶機服務器上的應用處理的裝置;和用于并發地在所述下一個客戶機處激活本地應用處理,從而以對 正在進行中的應用會話最小的中斷,提供所述應用處理的無縫轉移的 裝置。
全文摘要
動態地確定客戶機服務器網絡環境中協作應用的理想客戶機服務器。理想服務器實用程序將加入的客戶機的計算機系統的能力與當前客戶機服務器的計算機系統的能力進行比較,以確定哪個系統被最佳地配置以控制應用的執行。每當新客戶機加入/參與應用會話,理想服務器實用程序就評估新客戶機(候選客戶機服務器)的系統能力,并將新客戶機的系統能力與當前客戶機服務器的系統能力進行比較。如果新客戶機具有比當前客戶機服務器更好的能力,則為新客戶機提供客戶機服務器的角色。啟動到候選客戶機服務器的應用轉移。一旦完成轉移,應用在新客戶機服務器上繼續處理。
文檔編號H04L12/28GK101399832SQ20081014923
公開日2009年4月1日 申請日期2008年9月17日 優先權日2007年9月27日
發明者G·F·邁克布萊蒂, J·C·穆里洛, J·M·謝爾, S·M·科奧哈涅, S·P·穆倫 申請人:國際商業機器公司