專利名稱:在網(wǎng)絡(luò)上捆綁消息的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在計(jì)算機(jī)網(wǎng)絡(luò)上傳播信息的技術(shù)領(lǐng)域。更具體地,本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)中的客戶機(jī)服務(wù)器體系結(jié)構(gòu),其中客戶機(jī)通過生成請(qǐng)求消息和接收數(shù)據(jù)消息從服務(wù)器搜索信息項(xiàng)。
背景技術(shù):
現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)通常涉及維持(具有)大的信息數(shù)據(jù)庫(項(xiàng))的系統(tǒng)/代理/服務(wù)器。例如,yahoo.com提供了涉及多個(gè)大數(shù)據(jù)庫的新聞、股票市場(chǎng)報(bào)價(jià)、體育信息、多媒體內(nèi)容等。數(shù)據(jù)庫被用于對(duì)來自各種客戶機(jī)系統(tǒng)(信息搜索者/搜索者)的對(duì)信息項(xiàng)的子集的請(qǐng)求提供服務(wù)。
滿足這些請(qǐng)求的最明顯的方法是為每個(gè)單獨(dú)的客戶機(jī)發(fā)送所請(qǐng)求的項(xiàng)目的子集。但是,這種方法可能增加服務(wù)器的計(jì)算資源以及網(wǎng)絡(luò)資源的負(fù)擔(dān)??商娲兀?wù)器可以為所有信息搜索者廣播所有的項(xiàng)目,然后各個(gè)接收者從中提取所請(qǐng)求的信息。該方案導(dǎo)致網(wǎng)絡(luò)帶寬資源的浪費(fèi),并且同時(shí)使每個(gè)接收者忙于從大量信息中搜索而不堪重負(fù)。一種同時(shí)解決服務(wù)器以及客戶機(jī)系統(tǒng)的計(jì)算成本的矛盾需求的方法是對(duì)多個(gè)客戶組所請(qǐng)求的項(xiàng)目分組,然后向相應(yīng)客戶組提供響應(yīng)集。在該方法中,可以實(shí)現(xiàn)矛盾需要之間的折衷,最優(yōu)化全局目標(biāo)。
在對(duì)來自客戶機(jī)的請(qǐng)求的服務(wù)中存在各種類型的成本。服務(wù)器在每次向客戶機(jī)發(fā)送信息束時(shí)會(huì)產(chǎn)生一定的成本。給定的客戶機(jī)可能沒有收到所請(qǐng)求的準(zhǔn)確數(shù)量的項(xiàng)目,它可能接收到多于/少于所請(qǐng)求數(shù)量的項(xiàng)目。存在與客戶機(jī)沒有收到的每個(gè)項(xiàng)目有關(guān)的成本。以及,與收到的但沒有請(qǐng)求的每個(gè)項(xiàng)目相關(guān)的成本,因?yàn)閷?duì)于客戶機(jī)存在附加的負(fù)擔(dān)來剔除這種額外的信息。
美國專利No.5805823提供了用于在客戶機(jī)-服務(wù)器網(wǎng)絡(luò)中的客戶應(yīng)用之間的最佳多路消息聚合的系統(tǒng)和方法(a system and method for optimalmultiplexed message aggregation between client applications inclient-server network)。該發(fā)明提供了一種向客戶機(jī)多路傳輸消息的消息體系結(jié)構(gòu)。該發(fā)明只進(jìn)行了普通、簡單的消息聚合,而不是對(duì)客戶機(jī)。另外,實(shí)現(xiàn)的聚合只是普通的和簡單的,沒有限定最佳的技術(shù)以便節(jié)省計(jì)算資源。
美國專利No.2002020124101A1涉及通過選擇性的提前傳遞在服務(wù)器側(cè)優(yōu)化到客戶機(jī)的內(nèi)容傳遞,從而能夠根據(jù)服務(wù)器的當(dāng)前負(fù)載優(yōu)化性能。該發(fā)明基于概率測(cè)量預(yù)先向客戶機(jī)傳遞內(nèi)容。該發(fā)明沒有考慮到一個(gè)或多個(gè)客戶的實(shí)際請(qǐng)求。
美國專利公開No.20010027494A1捆綁去往同一個(gè)地址或子地址的一個(gè)或多個(gè)消息。只為同一個(gè)客戶機(jī)和被其服務(wù)的計(jì)算設(shè)備管理數(shù)據(jù)包。根據(jù)用戶定義的時(shí)間限制或包的大小進(jìn)行捆綁。該發(fā)明沒有公開任何實(shí)現(xiàn)在捆綁消息和單獨(dú)傳送它們之間進(jìn)行優(yōu)化的方法。
美國專利No.6407994提供了為了在電信網(wǎng)絡(luò)中傳送捆綁消息的系統(tǒng)和方法。該專利只為特定的客戶機(jī)捆綁一個(gè)或多個(gè)消息,而不考慮對(duì)相同信息項(xiàng)提出請(qǐng)求的其它客戶機(jī)。由此,雖然該專利減少了帶寬需求,但沒有為解決在服務(wù)器或客戶機(jī)端的處理開銷提供任何手段。
發(fā)明內(nèi)容
本發(fā)明的目的是通過同時(shí)對(duì)客戶機(jī)及它們的請(qǐng)求進(jìn)行聚類(cluster),將滿足客戶機(jī)的請(qǐng)求的總成本最小化。最優(yōu)化涉及服務(wù)器和客戶機(jī)兩者的計(jì)算成本。
為了實(shí)現(xiàn)所述目的,所提出的發(fā)明首先公式化在服務(wù)來自各種客戶機(jī)的請(qǐng)求中所涉及的各種成本。然后,本發(fā)明采用同時(shí)對(duì)客戶機(jī)和項(xiàng)目聚類的方法和系統(tǒng)。在可配置的預(yù)先定義值的范圍上對(duì)多個(gè)請(qǐng)求和客戶機(jī)進(jìn)行聚類,并計(jì)算每一個(gè)選擇的聚類數(shù)量值的成本。本發(fā)明采用模糊聚類算法同時(shí)對(duì)客戶機(jī)和項(xiàng)目進(jìn)行聚類,從而最小化滿足客戶機(jī)的請(qǐng)求的總成本。
在所附權(quán)利要求書中說明了本發(fā)明特有的新穎特征。但是,當(dāng)結(jié)合附圖閱讀本說明書時(shí),通過參考后面對(duì)優(yōu)選實(shí)施例的詳細(xì)介紹可以更好的理解發(fā)明本身以及所采用的優(yōu)選方式、進(jìn)一步的目的和優(yōu)點(diǎn),其中圖1示出了由服務(wù)器(存儲(chǔ)項(xiàng)目)和客戶機(jī)構(gòu)成的基本的網(wǎng)絡(luò)結(jié)構(gòu)。
圖2示出了一般的計(jì)算系統(tǒng)的內(nèi)部結(jié)構(gòu),在其上通過使用它們作為服務(wù)器以及客戶機(jī),可以實(shí)現(xiàn)本發(fā)明。
圖3是用于這里所介紹的方法的流程圖。
圖4是用于以給定的聚類數(shù)量同時(shí)對(duì)項(xiàng)目和客戶機(jī)進(jìn)行聚類的處理過程的流程圖。
具體實(shí)施例方式
圖1示出了可以實(shí)現(xiàn)本發(fā)明的一般的客戶機(jī)-服務(wù)器網(wǎng)絡(luò)。它包括連接到網(wǎng)絡(luò)(1.1)的一個(gè)或多個(gè)服務(wù)器(1.6)。網(wǎng)絡(luò)和范圍覆蓋了所有類型的網(wǎng)絡(luò),例如局域網(wǎng)、因特網(wǎng)等。并且在網(wǎng)絡(luò)上還存在不同的客戶機(jī)(1.2、1.3、1.4、1.5)。在網(wǎng)絡(luò)上的不同客戶機(jī)之間的互連可以通過任何已知的通信方式,例如有線鏈接、無線鏈接或者通過紅外線傳輸。網(wǎng)絡(luò)拓?fù)鋭t覆蓋所有已知的拓?fù)?,例如星形、線形、環(huán)形或者它們的任意組合。客戶機(jī)與服務(wù)器使用任何已知的通信協(xié)議進(jìn)行通信,例如TCP/IP或以太網(wǎng)。對(duì)于服務(wù)器和客戶機(jī)的數(shù)量沒有限制,數(shù)據(jù)可以位于一個(gè)服務(wù)器上或者分布在多個(gè)服務(wù)器上。服務(wù)器(1.6)用于信息存儲(chǔ),客戶機(jī)是信息搜索者,向服務(wù)器發(fā)送請(qǐng)求以獲得服務(wù)器中包含的信息項(xiàng)目。
客戶機(jī)(1.2、1.3、1.4、1.5)包括電子設(shè)備,例如個(gè)人計(jì)算機(jī)、移動(dòng)電話、交互式電視等,由人操作或由代表個(gè)人或組織的利益工作的軟件代理操作。
圖2示出了可以實(shí)施本發(fā)明的一般的計(jì)算系統(tǒng)(2.1)的框圖。計(jì)算機(jī)系統(tǒng)(2.1)包括通過系統(tǒng)總線(2.2)的幫助互相連接在一起的各種子系統(tǒng)。微處理器(2.3)通信并控制其它子系統(tǒng)的功能。微處理器(2.3)作為控制單元與存儲(chǔ)器(2.4)一起操作,執(zhí)行由存儲(chǔ)的指令定義的操作。在一般的計(jì)算機(jī)系統(tǒng)中,控制模塊是任何商業(yè)上可用的處理器,例如,Intel的x86處理器和Motorola的680×0系列。計(jì)算系統(tǒng)可以是單處理器系統(tǒng)或者在單個(gè)系統(tǒng)或網(wǎng)絡(luò)上使用兩個(gè)或多個(gè)處理器。該控制模塊還控制計(jì)算系統(tǒng)(未示出)的其它部件的功能??刂颇K(2.3)通過互連計(jì)算設(shè)備各部分的系統(tǒng)總線(2.2)訪問所述存儲(chǔ)器(2.4)??刂颇K執(zhí)行用于計(jì)算機(jī)系統(tǒng)的基本功能的稱作操作系統(tǒng)的程序。操作系統(tǒng)的一些例子為UNIX、WINDOWS和DOS。這些操作系統(tǒng)為各種程序分配計(jì)算機(jī)系統(tǒng)資源,并且方便用戶與系統(tǒng)的交互。存儲(chǔ)器(2.4)通過存儲(chǔ)程序執(zhí)行所需的指令和數(shù)據(jù)支持微處理器。存儲(chǔ)器的例子包括隨機(jī)訪問存儲(chǔ)器裝置,例如動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器(DRAM)或靜態(tài)存儲(chǔ)器(SRAM)。存儲(chǔ)裝置(2.5)用于永久保持?jǐn)?shù)據(jù)和指令,例如操作系統(tǒng)和其它程序。視頻接口(2.6)用作系統(tǒng)總線和顯示裝置(2.7)之間的接口,顯示裝置(2.7)通常是視頻顯示單元,例如監(jiān)視器。網(wǎng)絡(luò)接口(2.8)用于通過有線或無線的方式將計(jì)算機(jī)與網(wǎng)絡(luò)上的其它計(jì)算機(jī)連接,該網(wǎng)絡(luò)可以是局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)或者任何其它類型的計(jì)算機(jī)網(wǎng)絡(luò)。該網(wǎng)絡(luò)接口也可以用來連接因特網(wǎng)。計(jì)算機(jī)系統(tǒng)還可以包含聲卡(2.9)。系統(tǒng)通過輸入/輸出接口(2.10)連接到各種輸入設(shè)備,例如鍵盤(2.11)和鼠標(biāo)(2.12),以及輸出設(shè)備如打印機(jī)(2.13)。這些子系統(tǒng)的各種配置都是可能的。還應(yīng)當(dāng)注意到,實(shí)現(xiàn)本發(fā)明的系統(tǒng)可以使用比上述子系統(tǒng)更多或更少的子系統(tǒng)。
在本發(fā)明的優(yōu)選實(shí)施例中,指令以計(jì)算機(jī)程序的形式存儲(chǔ)在存儲(chǔ)裝置(2.5)中。該程序包含用于在本說明書中所介紹的不同算法的編碼的指令。在運(yùn)行程序時(shí),這些指令被傳送到存儲(chǔ)器(2.4)中,并且處理器(2.3)執(zhí)行這些指令。可以通過例如鍵盤(2.11)和鼠標(biāo)(2.12)的輸入設(shè)備給出指令來人工控制該系統(tǒng)。無論是由程序或由用戶輸入的指令都駐留在存儲(chǔ)器(2.4)中,并且隨后由微處理器(2.3)遵照?qǐng)?zhí)行。應(yīng)當(dāng)理解,本發(fā)明并不限于由計(jì)算機(jī)系統(tǒng)或其上運(yùn)行的軟件構(gòu)成的任何特定的硬件。
本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,用于由客戶機(jī)產(chǎn)生服務(wù)請(qǐng)求以及由服務(wù)器對(duì)它們進(jìn)行處理的各種手段是計(jì)算機(jī)程序。這些程序能夠以嵌入的形式存在于系統(tǒng)的硬件中或者體現(xiàn)在各種計(jì)算機(jī)可讀介質(zhì)中。計(jì)算機(jī)可讀介質(zhì)可以采取為在特定信息處理系統(tǒng)中的實(shí)際使用編碼的編碼格式的形式。在本文中的計(jì)算機(jī)程序手段(裝置)或計(jì)算機(jī)程序的意思是任何語言的指令集的任何表達(dá)、代碼或符號(hào),使具有信息處理能力的系統(tǒng)直接或者執(zhí)行下面的兩者之一或者都執(zhí)行之后實(shí)現(xiàn)特定的功能a)轉(zhuǎn)換為另一種語言、代碼或符號(hào)。
b)以不同的材料形式再現(xiàn)。
在圖2介紹的例子并不意味著對(duì)結(jié)構(gòu)的限制,所述手段的結(jié)合裝置的配置可以根據(jù)實(shí)施而變化??梢圆捎眠m于實(shí)現(xiàn)這里介紹的手段任何類型的計(jì)算機(jī)系統(tǒng)或其它設(shè)備來實(shí)現(xiàn)本發(fā)明。典型的硬件和軟件的組合是具有計(jì)算機(jī)程序的通用計(jì)算機(jī)系統(tǒng),當(dāng)裝載和執(zhí)行時(shí),該計(jì)算機(jī)程序控制計(jì)算機(jī)系統(tǒng),從而實(shí)現(xiàn)這里所介紹的手段??梢允褂玫慕Y(jié)合裝置的其它例子為筆記本計(jì)算機(jī)或手持計(jì)算機(jī)、PDA等。
本發(fā)明所要解決的問題可以定義為假設(shè)r1,…,rN為N個(gè)信息/消息項(xiàng),s1,…,sM為M個(gè)客戶機(jī)。假設(shè) 假設(shè)R1,…,和RK為發(fā)送到客戶機(jī)的子集S1,…,和SK的項(xiàng)目的子集。假設(shè)R1,…,和RK由N維二進(jìn)制列向量表示,S1,…,和SK由M維二進(jìn)制列向量表示。并且,假設(shè)R=[rij]=[R1,…,RK]以及S=[sij]=[S1,…,SK]表示相應(yīng)的矩陣。即, 則,服務(wù)器的成本與K成正比,客戶機(jī)的成本依賴于它接收到的額外項(xiàng)目的數(shù)量和它請(qǐng)求但沒有收到的項(xiàng)目的數(shù)量。假設(shè)T=[tij],這里tij是sj收到的ri的拷貝的數(shù)量。
tij=Σl=1KrilSjl]]>則由sj收到的項(xiàng)目的總數(shù)為∑itij。因此,向客戶機(jī)的S1,…,SK集合發(fā)送項(xiàng)目R1,…,RK的總成本為
Φ(R,S,K)=αK+βΣj=1M|tj▿aj|--(1)]]>這里,aj=[a1j,…,aNj]是表示由sj請(qǐng)求的項(xiàng)目的向量,tj=[t1j,…,tNj]是表示由sj收到的項(xiàng)目的向量,|xy|表示在向量x和y之間的對(duì)稱差的基數(shù)(the cardinality of the symmetric difference)。則問題是找到R、S和K使Φ(R,S,K)最小化。
上述問題的解由矩陣A=[aij]確定。作為一個(gè)簡單的例子,考慮M個(gè)客戶機(jī)的情況,其中每個(gè)只搜索一個(gè)項(xiàng)目,搜索M個(gè)不同的項(xiàng)目(即,M<N)。因?yàn)閺淖顑?yōu)化的角度考慮,所有的客戶機(jī)都是相同的,所以假設(shè)由這些客戶機(jī)請(qǐng)求的M個(gè)項(xiàng)目被分為K個(gè)相等的組,并且每組項(xiàng)目被多點(diǎn)傳送(multicast)到相應(yīng)的請(qǐng)求該組中項(xiàng)目的客戶機(jī)集合。則,|tjaj|=M/K-1,解上述最優(yōu)化問題得到K=Mβ/α.]]>通過上述方程式得到的推論之一是僅當(dāng)βM2>a時(shí),項(xiàng)目應(yīng)當(dāng)被分組并多點(diǎn)傳送以滿足請(qǐng)求,即,服務(wù)器的處理成本至少比客戶的成本重要M倍。
本發(fā)明提出了通過客戶機(jī)和項(xiàng)目的聚類解決上述優(yōu)化問題。在圖3中示出了所涉及的基本步驟。首先,定義聚類數(shù)量的值的范圍,并且將K設(shè)置為最小值(3.1)。使用客戶機(jī)的請(qǐng)求的數(shù)據(jù)(3.2),將客戶機(jī)(搜索者)和項(xiàng)目同時(shí)聚類為‘K’個(gè)聚類(3.3)。然后計(jì)算以結(jié)果項(xiàng)目和客戶機(jī)聚類進(jìn)行的處理的成本(3.4)。如果當(dāng)前的成本小于之前得到的最小成本(如果有的話)(3.5),則當(dāng)前成本作為最小成本保存。而且,將當(dāng)前聚類的數(shù)量記為聚類的最佳數(shù)量。然后K加1(3.6)。如果K大于所定義的聚類的最大值(3.7),則輸出所保存的聚類的最佳數(shù)量并用該數(shù)量對(duì)項(xiàng)目和客戶機(jī)進(jìn)行聚類(3.8)。重復(fù)步驟3.3到3.6,直到達(dá)到聚類的最大值。下面將更詳細(xì)的說明同時(shí)對(duì)項(xiàng)目和客戶機(jī)聚類(3.3)的方法當(dāng)A是任意二進(jìn)制矩陣時(shí),難以找到上述問題的最佳解。本發(fā)明提出了通過找到次最佳解近似解決上述問題的聚類算法。
解法是通過以下步驟進(jìn)行的在一個(gè)給定的范圍內(nèi)對(duì)于K的各種值找到使Φ(R,S,K)最小化的R、S,并且然后選擇使目標(biāo)函數(shù)最小化的K。
下面給出了基于模糊集合理論的最優(yōu)化算法,對(duì)于一個(gè)給定的K優(yōu)化Φ(R,S,K),為了簡單起見表示為Φ(R,S)。對(duì)于一個(gè)給定的K,解優(yōu)化為
Φ(R,S)=Σj=1M|tj▿aj|--(2)]]>假設(shè)元素sj屬于第l組具有模糊組員(fuzzy membership)sjl,并且ri屬于第l組具有模糊組員ril,這里sjl∈
,ril∈
。這些模糊組員要求滿足Σi=1Kril=1,]]>以及(3)Σj=1KSjl=1---(4)]]>為了實(shí)現(xiàn)要求最小化的該新的目標(biāo)函數(shù)Φ(R,S)=Σj=1M|tj▿aj|+ρ(R,S)+Σi=1Nηi(Σl-1Kril-1)+Σj=1Mμl(Σl=1Ksjl-1)--(5)]]>這里,ρ(R,S)是在指定模糊程度中起作用的正則化函數(shù)(regularizationfunction),ηi和μj是分別對(duì)應(yīng)于條件(3)和(4)的拉格朗日乘數(shù)。tj和aj之間的模糊對(duì)稱差計(jì)算如下|tj▿aj|=Σi=1N|tij-aij|]]>ρ(R,S)的例子之一為ρ(R,S)=λrΣi=1NΣl=1Krillog(ril)+λsΣj=1MΣl=1Ksjllog(sjl)--(6)]]>注意,當(dāng)sjl和ril等于1或0時(shí),在ρ(R,S)中的各項(xiàng)最大化。λr和λs是指定模糊程度的加權(quán)參數(shù)。假設(shè)uij=sign(tij-aij),這里 則|tj▿aj|=Σi=1Nuij(tij-aij)]]>對(duì)于相對(duì)于sjl和ril,ρ(R,S)如(6)中所給定的Φ的最優(yōu)性的必要條件如下∂Φ∂sjl=Σi=1Nuijril-λs(1+log(sjl))+μj=0]]>以及 (7)∂Φ∂ril=Σj=1Muijsjl-λr(1+log(ril))ηi=0--(8)]]>
以及,在方程式(3)和(4)中定義了相對(duì)于ηi和μj的必要條件。由方程式(3)、(4)、(7)和(8)解出sjl和ril,得到sjl=exp(-(ril/λs+1))Σm=1Kexp(-(rjm/λs+1))--(9)]]>ril=exp(-(sil/λr+1))Σm=1Kexp(-(sim/λr+1))--(10)]]>這里,rjl=Σi=1Nuijril]]>并且sil=Σj=1Muijsjl]]>對(duì)(9)和(10)使用皮卡(Picard)迭代,優(yōu)化在(5)中給出的目標(biāo)函數(shù)。以用于sjl和ril的初始隨機(jī)值開始,在每次迭代分別使用(9)和(10)更新sjl和ril的值(defuzzy),直到達(dá)到收斂或某些終止條件。最后,將模糊組員sjl和ril逆模糊化,從而得到客戶機(jī)和項(xiàng)目的明確的聚類。圖4示出了算法的各個(gè)步驟,總結(jié)如下步驟1.根據(jù)由各個(gè)客戶機(jī)作出的請(qǐng)求形成矩陣A=[aij](4.1)。
步驟2.隨機(jī)初始化sjl和ril,使得滿足方程式(3)和(4)(4.2)。
步驟3.用公式(9)計(jì)算Sjl的新集合,sjl’。4.3)步驟4.用公式(10)計(jì)算ril的新集合,ril’。(4.3)步驟5.如果Σi,l|ril′-ril|>θr,]]>并且Σj,l|sjl′-sjl|>θs(4.4),]]>則拷貝ril’到ril,拷貝sjl’到sjl,并回到步驟3。(4.5,4.6)步驟6.拷貝ril’到ril,拷貝sjl’到sjl。(4.7)步驟7.對(duì)sjl和ril進(jìn)行逆模糊化。(4.7)步驟8.結(jié)束。
逆模糊化將模糊組員的向量轉(zhuǎn)換為二進(jìn)制值的向量。換句話說,根據(jù)模糊組員,將項(xiàng)目和客戶機(jī)分配到各個(gè)聚類中。假設(shè)f=(f1,…,fK)表示在聚類Cl中的項(xiàng)目或客戶機(jī)的模糊組員,l=1,…,K。下面給出的方法對(duì)f逆模糊化,以得到g=(g1,…,gK),這里gi是二進(jìn)制,i=1,…,K。假設(shè)f’=maxl(f-l),則使用下面的公式得到g的元素 其中γ是小于1的常數(shù)。
其它修改正則化項(xiàng)ρ(R,S)的其它形式可以是ρ(R,S)=λrΣi=1NΣl=1Kril2+λsΣj=1MΣl=1Ksjl2--(10)]]>將其用在公式(5)中,得到sjl和ril的更新公式rjl=12λs(1KΣm=1Ks^m-s^l)--(11)]]>sjl=12λs(1KΣm=1Kr^m-r^l)--(12)]]>顯然,對(duì)于本領(lǐng)域的普通技術(shù)人員,以上所述僅僅是說明性的,不是要窮舉或限制,只以例子的形式提出,可以在上述本發(fā)明的范圍內(nèi)進(jìn)行各種修改。本發(fā)明可以以硬件、軟件或硬件和軟件的組合的形式實(shí)現(xiàn)。在本發(fā)明中所介紹的模塊可以以在一個(gè)計(jì)算機(jī)系統(tǒng)上以集中的方式實(shí)現(xiàn),或者分散在幾個(gè)互連的計(jì)算機(jī)系統(tǒng)上。適于實(shí)現(xiàn)這里所介紹的方法的任何類型的計(jì)算機(jī)系統(tǒng)或其它設(shè)備都是合適的。典型的硬件和軟件的組合是具有計(jì)算機(jī)程序的通用計(jì)算機(jī)系統(tǒng),當(dāng)裝載和執(zhí)行時(shí),該程序控制計(jì)算機(jī)系統(tǒng),從而實(shí)現(xiàn)這里所介紹的方法。
因此,本發(fā)明并不限于為了公開的目的而選擇的特定的例子,而是試圖覆蓋所有不脫離本發(fā)明的許可范圍的變化和修改。因此,本發(fā)明并不由這里所包含的介紹或附圖限定,而僅由權(quán)利要求書限定。
權(quán)利要求
1.一種在客戶機(jī)-服務(wù)器網(wǎng)絡(luò)中使處理客戶機(jī)請(qǐng)求的成本最小化的方法,包括以下步驟-為進(jìn)入的客戶機(jī)請(qǐng)求將被聚類在其中的聚類數(shù)量選擇值的范圍;-為每個(gè)選擇的值同時(shí)對(duì)請(qǐng)求和發(fā)請(qǐng)求的客戶機(jī)進(jìn)行聚類;-計(jì)算處理每個(gè)請(qǐng)求和發(fā)請(qǐng)求的客戶機(jī)的聚類的成本;以及-確定提供最小處理成本的聚類組合。
2.根據(jù)權(quán)利要求1的方法,還包括將項(xiàng)目的聚類分配到各自的客戶機(jī)的聚類的步驟。
3.根據(jù)權(quán)利要求1的方法,其中為聚類數(shù)量選擇值的范圍的步驟是可配置的手工過程。
4.根據(jù)權(quán)利要求1的方法,其中對(duì)為聚類數(shù)量選擇的范圍中的每個(gè)值進(jìn)行聚類的步驟,包括以下步驟-隨機(jī)地初始化請(qǐng)求和發(fā)請(qǐng)求的客戶機(jī)的模糊組員值;-迭代地計(jì)算模糊組員值,直到模糊組員值的變化的和小于可配置的閾值;以及-對(duì)模糊組員值逆模糊化,以得到項(xiàng)目和客戶機(jī)的實(shí)際聚類。
5.一種在客戶機(jī)-服務(wù)器網(wǎng)絡(luò)中用于最小化服務(wù)客戶機(jī)請(qǐng)求的成本的系統(tǒng),包括-用于為進(jìn)入的客戶機(jī)請(qǐng)求將被聚類到其中的聚類數(shù)量選擇值的范圍的選擇裝置;-為每個(gè)選擇的值同時(shí)對(duì)請(qǐng)求和發(fā)請(qǐng)求的客戶機(jī)進(jìn)行聚類的聚類裝置;-為每個(gè)選擇的值建立總處理成本的計(jì)算設(shè)備;以及-用于建立最小處理成本的確定裝置。
6.根據(jù)權(quán)利要求5的系統(tǒng),還包括將項(xiàng)目的聚類分配到各自的客戶機(jī)的聚類的裝置。
7.根據(jù)權(quán)利要求5的系統(tǒng),其中發(fā)請(qǐng)求的客戶是連接到作為服務(wù)由客戶機(jī)產(chǎn)生的請(qǐng)求的一個(gè)或多個(gè)計(jì)算設(shè)備的請(qǐng)求產(chǎn)生計(jì)算設(shè)備。
8.根據(jù)權(quán)利要求5的系統(tǒng),其中該請(qǐng)求包括客戶機(jī)需要的信息、消息和數(shù)據(jù)。
9.根據(jù)權(quán)利要求7的系統(tǒng),其中所述裝置位于一個(gè)服務(wù)器設(shè)備或者多個(gè)服務(wù)器設(shè)備的組合上,所述服務(wù)器設(shè)備包括-系統(tǒng)總線;-連接到該系統(tǒng)總線的通信單元;-連接到該系統(tǒng)總線上的包含指令集合的存儲(chǔ)器;以及-執(zhí)行該存儲(chǔ)器中的該指令的控制單元。
10.根據(jù)權(quán)利要求7的系統(tǒng),其中客戶機(jī)和服務(wù)器計(jì)算設(shè)備通過任何適合的計(jì)算機(jī)網(wǎng)絡(luò)互相連接,該網(wǎng)絡(luò)包括使用包括環(huán)形、總線形和星形的任何希望的網(wǎng)絡(luò)拓?fù)涞囊蕴W(wǎng)、因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和域域網(wǎng)。
11.一種計(jì)算機(jī)程序產(chǎn)品,包括存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)可讀程序代碼,用于在客戶機(jī)-服務(wù)器網(wǎng)絡(luò)中最小化處理客戶機(jī)請(qǐng)求的總成本,包括-用于為進(jìn)入的客戶機(jī)請(qǐng)求將被聚類到其中的聚類數(shù)量選擇值的范圍的計(jì)算機(jī)可讀程序代碼裝置;-為每個(gè)選擇的值同時(shí)對(duì)請(qǐng)求和客戶機(jī)進(jìn)行聚類的計(jì)算機(jī)可讀程序代碼裝置;-為每個(gè)聚類數(shù)量的選擇的值計(jì)算處理的總成本的計(jì)算機(jī)可讀程序代碼裝置;以及-用于確定最小處理成本的計(jì)算機(jī)可讀程序代碼裝置。
12.根據(jù)權(quán)利要求11的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括用于將請(qǐng)求的聚類分配到各自的客戶機(jī)的聚類的計(jì)算機(jī)可讀程序代碼裝置。
13.根據(jù)權(quán)利要求11的計(jì)算機(jī)程序產(chǎn)品,其中為在聚類數(shù)量的選定范圍內(nèi)的每個(gè)值進(jìn)行聚類的計(jì)算機(jī)可讀程序代碼裝置包括-用于隨機(jī)地初始化項(xiàng)目和客戶機(jī)的模糊組員值的計(jì)算機(jī)可讀程序代碼裝置;-用于迭代地計(jì)算模糊組員值直到組員值的變化的和小于可配置的閾值的計(jì)算機(jī)可讀程序代碼裝置;以及用于對(duì)模糊組員值逆模糊化以得到項(xiàng)目和客戶機(jī)的實(shí)際聚類的計(jì)算機(jī)可讀程序代碼裝置。
全文摘要
本發(fā)明介紹了在客戶機(jī)-服務(wù)器網(wǎng)絡(luò)中優(yōu)化網(wǎng)絡(luò)帶寬并在消息/數(shù)據(jù)傳輸中得到更高效率的方法和系統(tǒng)。本發(fā)明提出對(duì)客戶機(jī)請(qǐng)求和數(shù)據(jù)項(xiàng)聚類從而最優(yōu)化網(wǎng)絡(luò)傳輸并降低分別在服務(wù)器和客戶機(jī)端發(fā)送和挑選/修剪數(shù)據(jù)項(xiàng)中所涉及的處理成本。
文檔編號(hào)G06F15/173GK1509038SQ200310121250
公開日2004年6月30日 申請(qǐng)日期2003年12月15日 優(yōu)先權(quán)日2002年12月16日
發(fā)明者M·庫馬爾, R·克里西納普拉姆, K·庫馬姆魯, M 庫馬爾, 砟仿, 鏤髂善綻 申請(qǐng)人:國際商業(yè)機(jī)器公司