分配cpu的閒置時間的方法和執行該方法的系統的製作方法
2023-04-27 01:56:31 1
專利名稱:分配cpu的閒置時間的方法和執行該方法的系統的製作方法
背景技術:
發明領域本發明涉及一種分配或交易(買和賣)CPU資源-即散布在網絡上的CPU中的不用的閒置時間的方法,特別是一種使用硬體資源來實現該分配的方法。
相關現有技術說明對於處理移動圖象或電影,近來關注的焦點是一種在多個分布式節點上執行單一處理的技術。將這樣的技術稱作「群集技術」。
同時,現有技術中已知在單一計算機體中安置有多個處理機的多處理機系統。
然而,構建或安裝多處理機系統來處理電影是昂貴的。此外,在安裝後,維護系統需要巨額的運行費用。
同時,現今有大量的諸如個人電腦的計算機分布式地連接到網際網路。這些計算機並不是整天都在運行,結果,有大量的CPU的閒置時間剩下來沒有用。這個趨勢在個人用計算機中更為明顯。
儘管這些計算機的每一個的性能極其低,卻有可能通過累積每個計算機的各個性能來提供一種驚人的處理能力。
然而,尚無人提出任何有效地利用這些未用的CPU資源的主意。當然也就沒有實現這種主意的系統。
此外,由於計算機的性能在大約一年或半年的時間就過時,要保持處理CPU環境的最高性能,就需要很高的費用。在這種情況下,如果將未用的CPU時間或閒置時間與其他用戶共享,就有可能降低維護費用,所以可以考慮用CPU時間來補償一部分維護費用。
但是,還沒有這種補償(或徵收)維護費用的主意,因此也沒有提供用來實現這種補償的系統。
發明概述因此,本發明的一個目的就是提供一種通過用CPU的買賣處理時間或閒置時間(促進處理時間的分配)的方法。
此外,本發明的另一個目的是提供一種通過使用硬體資源來實現該方法的系統。
按照本發明,提供一種CPU時間分配方法和一種CPU時間分配系統來克服上述的問題。也為該系統作出關於能執行本發明的方法的管理伺服器的定義。
按照本發明的第一個方面,提供一種通過網絡分配作為計算機資源的CPU閒置時間的方法。該方法包含的步驟是(1)在需要購買CPU資源的資源購買方的終端上顯示一個請求表單,用來輸入請求事項,這些請求事項中包括資源購買方要求執行的程序的標識符;(2)在這些請求事項被輸入到該請求表單時將這些請求事項存儲到資料庫中;(3)在每個要求出售CPU資源的資源提供者的計算機上指出每個請求的請求事項並允許這些資源提供者申請一個請求;和(4)向申請該請求的資源提供者的計算機提供該程序。
按照本發明的第二個方面,提供一種通過網絡分配作為計算機資源的CPU閒置時間的方法。該方法包含的步驟是(1)在需要購買CPU資源的資源購買方的終端上顯示一個請求表單,用來輸入請求事項,這些請求事項中包括資源購買方要求執行的程序的標識符;(2)在這些請求事項被輸入到該請求表單時將這些請求事項存儲到第一資料庫中;(3)通過查閱第一資料庫和包含CPU提供條件和每個資源提供者的計算機的地址的第二資料庫,確定適合於執行該程序的資源提供者的計算機;和(4)通過使用計算機的地址將該要被執行的程序提供給所確定的計算機。
按照本發明的第三個方面,提供一種通過網絡分配作為計算機資源的CPU閒置時間的方法。該方法包含的步驟是(1)在需要購買CPU資源的資源購買方的終端上顯示一個請求表單,用來輸入請求事項,這些請求事項中包括資源購買方要求執行的程序的標識符;(2)在這些請求事項被輸入到該請求表單時將這些請求事項存儲到第一資料庫中;(3)發布一個代理程序,該代理程序用計算機的地址通過網絡在資源提供者的計算機上循環地遊動,並通過查閱第一資料庫和每個計算機中駐留的、包含相應計算機的CPU提供條件的第二資料庫,確定適合於執行該程序的計算機;和(4)通過使用該計算機的地址將該要被執行的程序提供給所確定的計算機。
按照本發明的第四個方面,提供一種管理伺服器,在通過使用網絡來控制計算機的未用CPU時間的買和賣的CPU時間分配系統中,控制CPU時間分配服務並通過網絡連接到每個都由一個資源購買方擁有的終端和每個都由一個資源提供者擁有的計算機。該伺服器包含(1)一個顯示單元,它在終端上顯示請求表單,以便輸入包括資源購買方要求執行的程序的標識符在內的請求事項;(2)一個存儲這些請求事項的資料庫;(3)一個指示單元,它向計算機發送請求事項以表明它們;(4)一個接收單元,它從計算機接收一個由請求事項所代表的請求的響應;和(5)一個提供單元,它在計算機發出申請該請求的通知時向該計算機提供該程序。
按照本發明的第五個方面,提供一種管理伺服器,在通過使用網絡來控制計算機的未用CPU時間的買和賣的CPU時間分配系統中,控制CPU時間分配服務並通過網絡連接到每個都由一個資源購買方擁有的終端和每個都由一個資源提供者擁有的計算機。該伺服器包含(1)第一資料庫,它預先存儲每個資源提供者的計算機的CPU提供條件和地址;(2)一個顯示單元,它在終端顯示請求表單,以便輸入包括資源購買方要求在計算機上執行的程序的標識符在內的請求事項;(3)第二資料庫,它在這些請求事項被輸入到該請求表單時存儲這些請求事項;(4)一個確定單元,通過查閱第一資料庫和第二資料庫,確定適合於執行該程序的資源提供者的計算機;和(5)一個提供單元,它通過使用該計算機的地址將該要被執行的程序提供給所確定的計算機。
按照本發明的第六個方面,提供一種管理伺服器,在通過使用網絡來控制計算機的未用CPU時間的買和賣的CPU時間分配系統中,控制CPU時間分配服務並通過網絡連接到每個都由一個資源購買方擁有的終端和每個都由一個資源提供者擁有的計算機。該伺服器包含(1)第一資料庫,它預先存儲每個資源提供者的地址;(2)一個顯示單元,它在終端顯示請求表單,以便輸入包括資源購買方要求在計算機上執行的程序的標識符在內的請求事項;(3)第二資料庫,在這些請求事項被輸入到該請求表單時存儲這些請求事項;(4)第三資料庫,它駐留在每個計算機中,存儲著相應計算機的CPU提供條件;(5)一個發布單元,發布一個代理程序,該代理程序用從第一資料庫檢索的計算機的地址通過網絡在資源提供者的計算機上循環地遊動,並通過查閱第二資料庫和第三資料庫,確定適合於執行該程序的計算機;和(6)一個提供單元,它通過使用計算機的地址將該要被執行的程序提供給所確定的計算機。
按照本發明的第七個方面,提供一種計算機可讀的記錄媒體,有形地體現一種可由計算機執行的指令程序,以執行通過網絡來控制CPU時間分配的方法。該方法包含(1)在需要購買CPU資源的資源購買方的終端上顯示一個請求表單,用來輸入請求事項,這些請求事項中包括資源購買方要求執行的程序的標識符;(2)在將這些請求事項輸入到該請求表單時將這些請求事項存儲到資料庫中;(3)在要求出售CPU資源的資源提供者的每個計算機上指出每個請求的請求事項並允許資源提供者申請一個請求;和(4)向申請該請求的資源提供者的計算機提供該程序。
按照本發明的第八個方面,提供一種以載波體現的並表示一個指令序列的計算機數據信號,該指令序列當被處理機執行時,使計算機執行一種通過網絡來控制CPU時間分配的方法。該方法包含(1)在需要購買CPU資源的資源購買方的終端上顯示一個請求表單,用來輸入請求事項,這些請求事項中包括資源購買方要求執行的程序的標識符;(2)在將這些請求事項輸入到該請求表單時將這些請求事項存儲到資料庫中;(3)在要求出售CPU資源的資源提供者的每個計算機上指出每個請求的請求事項並允許資源提供者申請一個請求;和(4)向申請該請求的資源提供者的計算機提供該程序。
附圖簡述
圖1表示代表按照本發明的第一實施例的CPU時間分配(即CPU閒置時間交易)系統的構造的圖;圖2表示用於描述圖1中所示的系統的操作的流程;圖3表示一例在監視器上顯示的請求表單;圖4表示一例在監視器上顯示的請求列表;圖5表示一例在監視器上顯示的申請表單;圖6表示代表按照本發明的第二實施例的CPU時間分配系統的構造的圖;圖7表示用於描述圖6中所示的系統的處理的流程;圖8表示代表按照本發明的第三實施例的CPU時間分配系統的構造的圖;圖9表示用於描述圖8中所示的系統的處理的流程。
最佳實施例描述[第一實施例]如圖1中所示,按照本發明的第一實施例的CPU時間分配包括終端10-1至10-m,管理伺服器20,計算機30-1至30-n,以及連接在上述各單元之間的通信網絡100。終端10-1至10-m每個被購買CPU處理時間即CPU閒置時間的資源購買方使用,位於資源購買方能操縱終端的地方。另一方面,計算機30-1至30-n被提供或出售CPU處理時間的資源提供者擁有。
此外,管理伺服器20由服務管理器管理,後者管理CPU處理時間分配(買和賣)服務,並存儲資源購買方的請求和在資源提供者的計算機處的處理結果。通信網絡100例如也就是網際網路。
具體來說,終端10-1至10-m的其中之一訪問管理伺服器20,請求由管理伺服器20根據資源購買方的指令提供的CPU處理時間分配服務。更具體來說,該終端接收一個用於輸入關於從管理伺服器20購買一段CPU處理時間的請求事項的請求表單,並在顯示器上顯示該請求表單。然後,資源購買方將所需的事項輸入到所顯示的請求表單中,該終端將所輸入的事項作為請求事項發送到管理伺服器。
這裡,請求事項包括要被執行的程序名、提供該程序的執行環境的作業系統、對處理結果的支付、預期在標準類型的計算機中執行一個過程的標準處理時間、執行該過程所需的計算機數,以及請求時間段。計算機30-1至30-n每個除了能發送請求事項,也有把要被執行的程序發送到管理伺服器20的功能。此外,終端10-1至10-m每個都能通過網絡100查閱或下載被資源提供者上傳到管理伺服器20的處理結果。
終端10-1至10-m每個都可以包括一個CPU、一個內存和一個外部存儲器,並可以是一個執行計算的信息處理設備。因此,從諸如個人電腦的低級機器到諸如超級計算機的高級機器的任何機器都可以用。此外,對終端的CPU的性能也沒有限制。
管理伺服器20如上所述地向終端發送請求表單,並將來自資源購買方的請求事項存儲在資料庫21中的訂單表22中。管理伺服器20還把在請求事項被發送時被上傳的程序存儲到資料庫21中。管理伺服器20也有在主頁上提供用來徵集提供CPU處理時間的資源提供者的申請表單的功能。此外,管理伺服器20還將來自資源提供者的處理結果登記到資料庫21中,並通過網絡把處理結果發送到資源購買方。
所以,管理伺服器20的構成例如是帶有資料庫21的信息處理設備,諸如工作站伺服器。
計算機30-1至30-n每個通過網絡100訪問管理伺服器20,查閱為執行某程序而請求CPU處理時間的請求事項。當計算機申請(響應)該請求時,就從管理伺服器20內的資料庫21中下載該程序。
計算機30-1至30-n每個也執行從管理伺服器20下載的程序,並把執行的處理結果上傳到管理伺服器20。
類似於終端10-1至10-m,計算機30-1至30-n每個都包括一個CPU、一個內存和一個外部存儲器,足以作為能執行計算的信息處理設備。對計算機的性能沒有限制。
下面結合圖1-5對按照本發明的第一實施例的CPU時間分配系統的操作作更詳細的說明。
以下所作的說明,也假設網絡100是網際網路。此外,假設在終端10和計算機30上運行著一個www瀏覽器,來自管理伺服器20的信息被www瀏覽器顯示在監視器上,由此資源購買方和資源提供者能看到所顯示的信息。此外,假設終端10由資源購買方操縱,計算機30由資源提供者操縱。在這裡,也假設其他任何人不操縱計算機。
就是說,作為主題以術語「終端10」描述的操作基本上是由資源購買方的指令(操縱)進行的,作為主題以術語「計算機30」描述的操作基本上是由資源提供者的指令進行的。
如圖2中所示,終端10訪問一個在網際網路上提供的、代表關於一項CPU處理時間分配服務的信息的主頁,並為資源購買方選擇一個服務(步驟A1)。根據該選擇,管理伺服器20向終端10發送一個用來提示輸入購買CPU處理時間所需的事項的請求表單(步驟A2)。在這個實施例中,向終端10發送的請求表單包括HTML數據、XML數據和與這些HTML數據和XML數據有關的圖象數據。在發送請求表單時,也可以建立一個SSL連接,然後用SSL連接以一定的安全程度進行隨後的程序。
在伺服器向終端10發送請求表單之後,終端10上運行的www瀏覽器在監視器上顯示如圖3中所示的請求表單(步驟A3)。
當請求表單顯示在監視器上時,資源購買方向表單輸入所需的數據。在這個實施例中,所需的數據例如是,一個要執行的程序名,一個提供該程序的執行環境的作業系統,一個標準處理時間,一個請求接收時間段,執行該程序所需的計算機數,對處理結果的支付,以及用來通知購買處理結果的電子郵件地址。可以通過點擊一個參考按鈕來輸入程序名。具體來說,當參考按鈕被點擊時,駐留在資源購買方的計算機(本地環境)中的各程序名稱就被用瀏覽器的功能列舉在顯示器上。然後,資源購買方用諸如滑鼠的輸入設備從該列表中選擇一個程序名,所選擇的程序名被輸入到請求表單中的程序名輸入區。
當各所需的事項被如上所述地輸入到請求表單中時,終端10把輸入的各事項上傳到管理伺服器20。對應與輸入到請求表單中的程序名的程序同時也被上傳到管理伺服器20。然後,所上傳的各事項和程序被註冊到或存儲到管理伺服器20(步驟A4)。所上傳的各事項即請求事項,被作為關於購買CPU處理時間的訂單信息,存儲在資料庫21中的訂單表22中。
計算機30訪問提供CPU處理時間的分配服務的主頁,選擇一個與某資源提供者有關的服務的按鈕(步驟B1)。根據該選擇,管理伺服器20搜索訂單表22,生成一個包括當前對CPU處理時間的有效請求的列表。然後,將該列表發送到計算機30(步驟B2)。當管理伺服器20這樣向計算機30發送列表時,計算機30上運行的www瀏覽器以圖4中所示的方式顯示該列表。
然後,資源提供者檢查由www瀏覽器顯示的列表,確定並選擇一個能被執行的請求-其中要考慮到資源提供者的計算機的處理能力和未用時間的存在。此外,當資源提供者選擇該請求時,資源提供者點擊圖4中所示的一個申請按鈕。申請按鈕被點擊時,管理伺服器20就向計算機30發送一個申請表單。計算機30接收到該表單時,計算機30上運行的www瀏覽器就在計算機30的監視器上顯示該表單。
當申請表單在計算機30的監視器上顯示時,資源提供者將所需的事項輸入到申請表單中,然後點擊圖5中所示的由www瀏覽器顯示的提交按鈕。點擊提交按鈕後,計算機30就將申請表單的被輸入事項發送到管理伺服器20(步驟B3)。另外,從管理伺服器20向計算機30下載一個要被執行的程序(步驟B4)。
就這樣,管理伺服器20接收申請(對請求的申請)的事項。如圖3中所示,執行該程序所需的計算機數是由資源購買方通過請求表單指定的。該所需數然後被存儲在訂單表22中。
因此,管理伺服器20根據該申請更新在訂單表22中存儲的所需數(步驟B5)。就是說,當伺服器20接收到一項申請時,在訂單表22中存儲的所需數就遞減1.當所需數被更新成0時,管理伺服器20就不再接收另外的申請。
然後計算機30執行從管理伺服器20下載的程序(步驟B6),然後將執行結果以電子文件的形式發送到管理伺服器20(步驟B7)。
當為資源購買方的每個請求建立了一個申請時間段時,管理伺服器20在對應該請求的申請時間段期滿時確定該請求的執行結果的有效性。一項請求可能獲得多個執行結果,一般來說,如果程序是在相同的環境中執行的,則這多個執行結果是相合的。另外,管理伺服器20在請求的申請時間段期滿並且獲得了該請求的執行結果時通知資源購買方的終端10該請求的執行已經完成(步驟C1)。在這種情況下,為了把完成的消息通知資源購買方,可以採用電子郵件。
當資源購買方從管理伺服器收到該通知時,資源購買方為該執行(處理)而向一個服務管理器付費。允許各種支付方式。例如,通過銀行或郵局付款,或者可以用信用卡支付。
當服務管理器證實資源購買方的付款時,程序的執行結果就在伺服器20上被披露。在這個實施例中,資源購買方從服務管理器收到一個口令(步驟C3),並且只能用該口令來訪問所披露的處理結果(步驟C4)。
此外,資源購買方還為該執行程序而向資源提供者付費(步驟C5)。支付方式例如是,向資源提供者的指定銀行帳戶匯去預定的款額,但是也可以採用其它支付方法。
然後,將從資源購買方匯來的款額的一部分,分配給那些申請該資源購買方的請求並為該資源購買方執行該程序的資源提供者。在這個實施例中,將較大數量的款額分配給在更早的時間將處理結果返回到管理伺服器20的資源提供者。如圖4中所示,要向資源提供者分配的款額對於處理結果被返回的每個訂單來是預定的。按照本發明的CPU處理時間分配系統的第二實施例是本發明的第一實施例的變體。因此,結合圖6和7說明上述兩個實施例之間的不同點。
在這個實施例中,想要利用CPU處理時間服務的資源提供者預先向一個服務管理器註冊。通過註冊,該資源提供者的計算機的地址(網絡地址)就被存儲在該服務管理器的管理伺服器20中。因此,當資源購買方向管理伺服器20發送一個要求執行某程序的請求時,管理伺服器20就能自動向註冊的資源提供者的計算機請求該執行-即使該資源提供者不明示地提出一個對該執行的申請。為此,要求在管理伺服器20向資源提供者的計算機請求該執行時,管理伺服器20能通過網絡訪問該計算機。
如圖6中所示,CPU處理時間分配系統的第二實施例包括由資源購買方使用的終端10-1至10-m,用來管理來自資源購買方的請求的內容和請求的執行結果的管理伺服器20,資源提供者的計算機30-1至30-n,以及將以上單元相互連接的網絡100。
終端10(後綴省略)有類似於第一實施例中的終端10的功能的功能。就是說,終端10通過網絡100訪問管理伺服器20,能參與管理伺服器20所提供的CPU處理時間分配服務。具體來說,終端10-1至10-m每個從管理伺服器20接收一個用於輸入購買一段CPU處理時間的請求事項的請求表單。然後,將所需的事項輸入到請求表單中,然後將所輸入的事項作為請求事項發送到管理伺服器20。終端10也有向管理伺服器20上傳一個在請求項目中指定的、要在計算機30中執行的程序的功能。此外,終端10也能通過網絡100查閱或下載該上傳程序的執行結果。
管理伺服器20由服務管理器控制,並且有與第一實施例中的管理伺服器20的功能類似的功能。就是說,管理伺服器20向資源購買方(終端10)發送請求表單並將來自資源購買方的請求項目存儲到資料庫21中包含的訂單表22中。在這個時刻,管理伺服器20在資料庫21中註冊(儲存)要被執行的上傳的程序。管理伺服器20也從資源提供者(計算機30)接收該程序的執行結果並將它們存儲在資料庫21中。然後,管理伺服器20將執行結果發送到資源購買方。
在這個實施例中,管理伺服器20進一步有管理資源提供者的計算機30的網絡地址並在資料庫中的地址表23中存儲網絡地址的功能,以及用網絡地址通過網絡100訪問資源提供者的計算機30的功能。管理伺服器20也能把要被執行的程序發送給計算機30。
此外,管理伺服器20包含資料庫21中的CPU供應條件表24。CPU供應條件表24中包含每個計算機30的-如後文將會變得明了的-CPU供應條件。管理伺服器20通過查閱CPU供應條件表24確定一個或多個計算機來處理某個請求。其中,作為CPU供應條件,可以定義計算機30的作業系統、計算機30完成處理的時間、工作任務的優先級、可用的內存量、可用的目錄、可用的磁碟存儲量、以及單位時間的最少收費。
此外,管理伺服器20在資料庫21中包含一個處理歷史表25,表25包含每個計算機30的待執行的程序的處理歷史。管理伺服器20能在負責執行的計算機30是確定的的情況下通過使用處理歷史表25而控制優先級。就是說,一旦確定了要執行程序的計算機30,就對該計算機30加權,然後就能考慮按照計算機30的加權值的優先級而確定下一個計算機30。
資源提供者的計算機30是一個包括CPU、內存、外存並與網絡100相連的信息處理設備。計算機30也自動地執行發自管理伺服器20的程序,並將程序的執行結果發送回管理伺服器20。
以下結合圖6和7更詳細地對按照本發明的第二實施例的CPU時間分配系統的操作作出說明。
以下所作的說明,也假設網絡100是網際網路。此外,假設在終端10和計算機30上運行著一個www瀏覽器,來自管理伺服器20的信息被www瀏覽器顯示在監視器上,由此資源購買方能看到所接收的信息。此外,假設終端10由資源購買方操縱。在這裡,也假設其他任何人不操縱計算機。
就是說,作為主題以術語「終端10」描述的操作基本上是由資源購買方的指令(操縱)進行的。
從圖2和圖7中顯然可知,在本實施例中,資源購買方向管理伺服器20請求的請求程序(步驟A1至A5)與圖2中所示的相同。因此省略對該程序的說明。對該程序之後的操作更詳細地進行說明。
當資源購買方請求CPU處理時間時,管理伺服器20查閱每個計算機30的CPU供應條件表24,比較在表24中定義的CPU供應條件與實際要被執行的程序的執行(操作)條件。管理伺服器20根據比較結果選擇可用的計算機30(圖7中的步驟D1)。選擇後,管理伺服器20查閱地址表23,確定所選定計算機30的地址,然後用該地址通過網絡100向計算機30發送要被執行的程序和一個後處理程序(圖7中的步驟D2)。其中,後處理程序的作用是,在資源購買方的程序的執行完成時,將資源購買方請求要執行的資源購買方的程序的執行結果,自動地發送到管理伺服器20。可能的話,可以將後處理程序合併在資源購買方的程序中。
如上所述,管理伺服器20按照資源購買方在請求表單上指定的計算機數選擇一個或多個計算機30。管理伺服器20將要被執行的程序發送給所選擇的計算機30,並在處理歷史表25中為每個計算機30存儲一個處理歷史(步驟D3)。由此就能在下一次選擇計算機30時,考慮到一個根據該處理歷史的優先級。例如,可以將當前正在執行程序的計算機30,從執行下一個程序的下一個計算機30的候選中排除。
計算機30自動執行發自管理伺服器20的程序(步驟D4),然後將程序的執行結果發送回管理伺服器20(步驟D5)。
當管理伺服器20接收到執行結果時,管理伺服器20為每個計算機30確定執行結果是否合理,並將一個執行程序的完成的通知發送給資源購買方的終端10。在此省略對隨後的操作(步驟C1至C5)的說明,因為它們與本發明的第一實施例相同。按照本發明的CPU處理時間分配系統的第三實施例也是本發明的第一實施例的變體。
特別地,本發明的第三實施例與第二實施例的相合之處在於,當管理伺服器20接收來自資源購買方對CPU處理時間的請求時,管理伺服器向計算機30肯定地請求執行一個程序。但是與第二實施例不同之處在於選擇執行程序的計算機30的方法。
就是說,在本實施例中,以與本發明第二實施例的類似的方式,將關於參與CPU處理時間分配服務的資源提供者預先向一個服務管理器註冊。註冊的資源購買方的計算機30的網絡地址也在管理伺服器20中被存儲和管理。因此,當資源購買方向管理伺服器20發送一個要求執行某程序的請求時,管理伺服器20就能自動向註冊的資源提供者的計算機請求該執行-即使該資源提供者不明示地提出一個對該執行的申請。
另一方面,在第二實施例中,管理伺服器20選擇執行程序的計算機30,而在第三實施例中,一個循環地在網絡中的各計算機上巡遊的代理程序選擇計算機30。為此,也要求該代理程序也循環地在資源提供者的計算機上巡遊,並且每個計算機都能通過網絡接收該代理程序。
如圖8中所示,CPU處理時間分配系統的第三實施例包括由資源購買方使用的終端10-1至10-m,用來管理來自資源購買方的請求的內容和請求的執行結果的管理伺服器20,資源提供者的計算機30-1至30-n,以及將以上單元相互連接的網絡100。
終端10有類似於第一實施例中的終端10的功能的功能。就是說,終端10通過網絡100訪問管理伺服器20,能參與管理伺服器20所提供的CPU處理時間分配服務。具體來說,終端10-1至10-m每個從管理伺服器20接收一個用於輸入購買一段CPU處理時間的請求事項的請求表單。然後,將所需的事項輸入到請求表單中,然後將所輸入的事項作為請求事項發送到管理伺服器20。終端10也有向管理伺服器20上傳一個在請求項目中指定的、要在計算機30中執行的程序的功能。此外,終端10也能通過網絡100查閱或下載該上傳程序的執行結果。
管理伺服器20由服務管理器控制,並且有與第一實施例中的管理伺服器20的功能類似的功能。就是說,管理伺服器20向資源購買方(終端10)發送請求表單並將來自資源購買方的請求項目存儲到資料庫21中包含的訂單表22中。在這個時刻,管理伺服器20在資料庫21中註冊(儲存)要被執行的上傳的程序。管理伺服器20也從資源提供者(計算機30)接收該程序的執行結果並將它們存儲在資料庫21中。然後,管理伺服器20將執行結果發送到資源購買方。
此外,管理伺服器中還包含一個用來請求CPU處理時間的代理程序。代理程序通過網絡100循環地在向管理伺服器20註冊的計算機上巡遊。並且,代理程序是在註冊的計算機30上執行的。更具體來說,代理程序確定計算機的CPU提供條件是否與執行由資源提供者請求執行的資源提供者的程序的條件符合。當確定資源購買方的程序能被執行時,代理程序就使計算機30執行資源購買方的程序。
同樣,在這個實施例中,管理伺服器20進一步有管理資源提供者的計算機30的網絡地址並在資料庫中的地址表23中存儲網絡地址的功能,以及用網絡地址通過網絡100訪問資源提供者的計算機30的功能。管理伺服器20也能把要被執行的程序發送給計算機30。
此外,管理伺服器20在資料庫21中包含一個處理歷史表25,表25包含每個計算機30的待執行的程序的處理歷史。管理伺服器20能在負責執行的計算機30是確定的的情況下通過使用處理歷史表25而控制優先級。就是說,一旦確定了要執行程序的計算機30,就對該計算機30加權,然後就能考慮按照計算機30的加權值的優先級而確定下一個計算機30。
資源提供者的計算機30是一個包括CPU、內存、外存並與網絡100相連的信息處理設備。計算機30也自動地執行發自管理伺服器20的程序,並將程序的執行結果發送回管理伺服器20。當計算機30被代理程序選擇去執行資源購買方的程序時,計算機30自動地執行發自管理伺服器20的程序。就是說,計算機允許代理程序在自己的計算機30上執行,在這個意義上,管理伺服器20能訪問計算機30。
計算機30每個也包括一個CPU提供條件文件31。CPU提供條件文件31包括在第二實施例中的CPU提供條件表24中包含的一部分信息,該部分限於只對應於包含該部分的計算機30的信息。例如,該部分包括計算機30的一個作業系統、計算機30何時能開始處理的時間、計算機30何時完成處理的時間、工作任務的優先級、可用的內存量、可用的目錄、可用的磁碟存儲量和單位時間的最低收費。CPU時間分配系統的操作作出說明。CPU提供條件文件31被代理程序用來在代理程序確定什麼計算機能處理一個CPU處理請求時請求該CPU處理。
以下結合圖8和9更詳細地對按照本發明的第三實施例的CPU時間分配系統的操作作出說明。
以下所作的說明,也假設網絡100是網際網路。此外,假設在終端10和計算機30上運行著一個www瀏覽器,來自管理伺服器20的信息被www瀏覽器顯示在監視器上,由此資源購買方能看到所接收的信息。此外,假設終端10由資源購買方操縱,除非說明其他人操縱它們。
就是說,作為主題以術語「終端10」描述的操作基本上是由資源購買方的指令(操縱)進行的。
從圖2和圖9中顯然可知,在本實施例中,資源購買方向管理伺服器20請求的請求程序(步驟A1至A5)與圖2中所示的相同。因此省略對該程序的說明。對該程序之後的操作更詳細地進行說明。
當資源購買方請求CPU處理時間時,管理伺服器20查閱每個計算機30的CPU過程歷史表25,以獲得每個計算機30的負荷,在考慮了所獲得的負荷信息的情況下,確定代理程序循環地在上面巡遊的計算機的順序。此外,管理伺服器通過使用地址表23而得到每個計算機的地址,並產生一個包含按所確定的順序排列的計算機30的列表的循環信息。該循環信息然後被傳送到代理程序。在這個實施例中,假設確定了代理程序循環性巡遊的順序是,第一到計算機30-1,第二到計算機30-2,第三到計算機30-3,…最後到計算機30-n。在本實施例的循環信息中,列在第一位的是計算機30-2的地址,在該地址下面依次列出計算機30-2的地址至計算機30-n的地址。此外,在計算機30-n的地址的下面(即在列表中的底部),列出管理伺服器20的地址。
管理伺服器20在地址表23搜索計算機30-1的地址並通過指定該地址而把代理程序發送給計算機30-1(圖9中的步驟E1)。於是,代理程序在該計算機30上被執行。在發送代理程序的同時,管理伺服器20也可以按與第二實施例的系統類似的方式發送後處理程序。或者,也可以將後處理程序包含在按照資源購買方的請求要被執行的程序中。
在計算機30-1上運行的代理程序查閱CPU提供條件文件30-1,比較該條件與要被執行的購買方的程序的執行(操作)條件,以確定計算機30-1是否能執行資源購買方所指定的程序。如果代理程序確定計算機30-1能執行該程序,代理程序就請求計算機30-1執行資源購買方所指定的程序(步驟E2)。
如上所述,循環信息包括以循環順序列出的計算機的地址。通過使用循環信息,代理程序就能循環地一個接一個在計算機上巡遊。
在這個實施例中,按照循環信息,在計算機30-1上完成執行的代理程序然後通過網絡100轉移到下一個計算機30-2。其中,代理程序查閱CPU提供條件文件31-2,確定計算機30-2是否能執行資源購買方所指定的程序。如果代理程序確定計算機30-2能執行該程序,代理程序就請求計算機30-2執行資源購買方所指定的程序(步驟E3)。
代理程序就這樣按照循環信息在各計算機上巡遊,但是,當代理程序選擇了一些計算機並且所選擇的計算機的數目達到了資源購買方所指定的數目時,就沒有必要再循環轉移。因此,在這種情況下,代理程序返回到管理伺服器20,管理伺服器20更新由代理程序確定的執行資源購買方所指定的程序的過程歷史表25(步驟E24)。
此外,當其他資源購買方向管理伺服器20發送CPU處理時間請求時,管理伺服器20查閱過程歷史表25以生成循環信息並確定每個計算機的優先級。也可以將同時執行由前一個資源購買方所指定的程序的計算機排除。
代理程序按照循環信息即所確定的優先級在計算機上循環性地巡遊。
被代理程序確定能執行資源購買方所指定的程序的計算機30,在程序的執行完成時,向管理伺服器20發送執行結果(步驟E5)。
當管理伺服器20接收到執行結果時,管理伺服器20為每個計算機30確定執行結果是否合理,並將一個執行程序的完成的通知發送給資源購買方的終端10。在此省略對隨後的操作(步驟C1至C5)的說明,因為它們與本發明的第一實施例相同。
按照本發明的CPU處理時間分配系統,可以從連接到例如網際網路的許多資源提供者提供大量的CPU處理時間資源給購買方執行程序。因此,資源購買方就能以低成本計算其計算機不能計算的方程。為此,當然可以將方程分解成一些供並行計算或部分計算的程序。例如,方程可能是多重積分或密碼解密。方程的計算也能在短時間內完成,因為被分解的程序是同時被執行的。
此外,按照本發明的系統,資源提供者能利用自己計算機的CPU能力並能通過這種利用獲得一些收入。
如上所述,按照本發明的系統,資源購買方和資源提供者雙方都能通過有效地使用資源提供者的計算機的未用CPU而收益。
權利要求
1.一種通過網絡分配作為計算機資源的CPU閒置時間的方法,包含下列步驟在需要購買CPU資源的資源購買方的終端上顯示一個請求表單,用來輸入請求事項,這些請求事項中包括資源購買方要求執行的程序的標識符;在將這些請求事項輸入到該請求表單時將這些請求事項存儲到資料庫中;在要求出售CPU資源的資源提供者的每個計算機上指出每個請求的請求事項並允許資源提供者申請一個請求;和向申請該請求的資源提供者的計算機提供該程序。
2.如權利要求1的方法,還包含下列步驟在程序的執行在資源提供者的計算機上被完成後,通過網絡向資源購買方的終端提供程序的執行結果。
3.如權利要求1的方法,還包含下列步驟從資源提供者的計算機向資源購買方的終端發送為程序的執行付款的信息;和根據付款的信息,向資源購買方的終端提供程序的執行結果。
4.如權利要求1的方法,其中這些請求項目還包括為程序的執行結果的支付和申請該請求的時間段中的至少之一。
5.一種通過網絡分配作為計算機資源的CPU閒置時間的方法,包含下列步驟在需要購買CPU資源的資源購買方的終端上顯示一個請求表單,用來輸入請求事項,這些請求事項中包括資源購買方要求執行的程序的標識符;在將這些請求事項輸入到該請求表單時將這些請求事項存儲到第一資料庫中;通過查閱第一資料庫和包含CPU提供條件和每個資源提供者的計算機的地址的第二資料庫,確定適合於執行該程序的資源提供者的計算機;和通過使用該計算機的地址將該要被執行的程序提供給所確定的計算機。
6.一種通過網絡分配作為計算機資源的CPU閒置時間的方法,包括下列步驟在需要購買CPU資源的資源購買方的終端上顯示一個請求表單,用來輸入請求事項,這些請求事項中包括資源購買方要求執行的程序的標識符;在將這些請求事項輸入到該請求表單時將這些請求事項存儲到第一資料庫中;發布一個代理程序,該代理程序用該計算機的地址通過網絡在資源提供者的計算機上循環地轉移,並通過查閱第一資料庫和每個計算機中駐留的、包含相應計算機的CPU提供條件的第二資料庫,確定適合於執行該程序的計算機;和通過使用該計算機的地址將該要被執行的程序提供給所確定的計算機。
7.如權利要求6的方法,其中,代理程序按預定順序在計算機上轉移,該預定順序是根據計算機的地址列表和每個計算機的過程歷史而預備的。
8.一種管理伺服器,在通過使用網絡來控制計算機的未用CPU時間的買和賣的CPU時間分配系統中,控制CPU時間分配服務並通過網絡連接到每個都由一個資源購買方擁有的終端和每個都由一個資源提供者擁有的計算機,包含一個顯示單元,它在終端顯示請求表單,以便輸入包括資源購買方要求執行的程序的標識符在內的請求事項;一個存儲請求事項的資料庫;一個指示單元,它向計算機發送表明請求的請求事項;一個接收單元,它從計算機接收一個由請求事項所代表的請求的響應;和一個提供單元,它在計算機發出申請該請求的通知時向該計算機提供該程序。
9.權利要求8的伺服器,還包含一個結果提供單元,它在程序的執行在資源提供者的計算機上被完成後,通過網絡向資源購買方的終端提供程序的執行結果。
10.如權利要求8的伺服器,還包含一個交易控制提供單元,它從資源提供者的計算機向資源購買方的終端發送為程序的執行付款的信息;並且它根據付款的信息,向資源購買方的終端提供程序的執行結果。
11.如權利要求8的伺服器,其中這些請求項目還包括為程序的執行結果的支付和申請該請求的時間段中的至少之一。
12.一種管理伺服器,在通過使用網絡來控制計算機的未用CPU時間的買和賣的CPU時間分配系統中,控制CPU時間分配服務並通過網絡連接到每個都由一個資源購買方擁有的終端和每個都由一個資源提供者擁有的計算機,包含第一資料庫,它預先存儲每個資源提供者的計算機的CPU提供條件和地址;一個顯示單元,它在終端顯示請求表單,以便輸入包括資源購買方要求在計算機上執行的程序的標識符在內的請求事項;第二資料庫,它在請求事項被輸入到請求表單時存儲請求事項;一個確定單元,通過查閱第一資料庫和第二資料庫,確定適合於執行該程序的資源提供者的計算機;和一個提供單元,它通過使用計算機的地址將該要被執行的程序提供給所確定的計算機。
13.一種管理伺服器,在通過使用網絡來控制計算機的未用CPU時間的買和賣的CPU時間分配系統中,控制CPU時間分配服務並通過網絡連接到每個都由一個資源購買方擁有的終端和每個都由一個資源提供者擁有的計算機,包含第一資料庫,它預先存儲每個資源提供者的計算機的地址;一個顯示單元,它在終端顯示請求表單,以便輸入包括資源購買方要求在計算機上執行的程序的標識符在內的請求事項;第二資料庫,它在請求事項被輸入到請求表單時存儲請求事項;第三資料庫,它駐留在每個計算機中,存儲著相應計算機的CPU提供條件;一個發布單元,它發布一個代理程序,該代理程序用從第一資料庫檢索的計算機的地址通過網絡在資源提供者的計算機上循環地轉移,並通過查閱第二資料庫和第三資料庫,確定適合於執行該程序的計算機;和一個提供單元,它通過使用計算機的地址將該要被執行的程序提供給所確定的計算機。
14.有形地體現一種可由計算機執行的指令程序的計算機可讀的記錄媒體,執行一種通過網絡來控制CPU時間分配的方法,該方法包含下列步驟在需要購買CPU資源的資源購買方的終端上顯示一個請求表單,用來輸入請求事項,這些請求事項中包括資源購買方要求執行的程序的標識符;在將這些請求事項輸入到該請求表單時將這些請求事項存儲到資料庫中;在要求出售CPU資源的資源提供者的每個計算機上指出每個請求的請求事項並允許資源提供者申請一個請求;和向申請該請求的資源提供者的計算機提供該程序。
15.一種以載波體現的並表示一個指令序列的計算機數據信號,該指令序列當被處理機執行時,使計算機執行一種通過網絡來控制CPU時間分配的方法,該方法包含下列步驟在需要購買CPU資源的資源購買方的終端上顯示一個請求表單,用來輸入請求事項,這些請求事項中包括資源購買方要求執行的程序的標識符;在將這些請求事項輸入到該請求表單時將這些請求事項存儲到資料庫中;在要求出售CPU資源的資源提供者的每個計算機上指出每個請求的請求事項並允許資源提供者申請一個請求;和向申請該請求的資源提供者的計算機提供該程序。
16.一種在彼此可通過網絡通信的多個終端之間分配(交易)作為計算機資源的CPU閒置時間的方法,包含下列步驟尋找有計算機資源和作為資源購買方終端的至少一個;尋找另一個需要計算機資源和作為賣方終端的另一個;和由賣方通過網絡使用資源購買方的計算機資源。
全文摘要
一種CPU時間分配系統中包含多個由資源購買方使用終端,多個由資源提供者使用的計算機,和一個通過網絡與各終端和計算機連接的管理伺服器。管理伺服器從終端接收對資源提供者的計算機的未使用CPU處理時間的請求。該請求包括資源購買方要求在計算機上執行的程序的標識符,例如程序名。伺服器進一步從計算機接收一個對終端的請求的響應。然後,伺服器在計算機發送一個申請該請求的通知時,向計算機發送該程序。在計算機上執行該程序,將程序的執行結果發送到請求資源購買方的終端,與一個付費交換。
文檔編號G06Q50/00GK1343951SQ0113296
公開日2002年4月10日 申請日期2001年9月11日 優先權日2000年9月11日
發明者長門正喜 申請人:日本電氣株式會社