欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于動態(tài)地選擇最佳消息路徑的系統(tǒng)、方法和服務(wù)的制作方法

文檔序號:7960175閱讀:289來源:國知局
專利名稱:用于動態(tài)地選擇最佳消息路徑的系統(tǒng)、方法和服務(wù)的制作方法
技術(shù)領(lǐng)域
本發(fā)明總體上涉及在網(wǎng)絡(luò)上的數(shù)據(jù)傳送。具體地說,本發(fā)明涉及基于多個預(yù)先確定標(biāo)準(zhǔn)決定在直接對等(peer-to-peer)連接或基礎(chǔ)設(shè)施系統(tǒng)上的最佳數(shù)據(jù)傳送的路徑。
背景技術(shù)
在網(wǎng)絡(luò)上機器間數(shù)據(jù)的移動是計算的一種基本活動。這種分布式系統(tǒng)典型地設(shè)計為使用下述兩個系統(tǒng)之一基礎(chǔ)設(shè)施消息系統(tǒng)或者對等消息系統(tǒng)(還通常稱為點對點消息系統(tǒng))?;A(chǔ)設(shè)施消息系統(tǒng)以或者結(jié)構(gòu)化或者非結(jié)構(gòu)化的數(shù)據(jù)發(fā)送消息;該消息使用一個獨立的服務(wù)器分送。對等消息系統(tǒng)以或者結(jié)構(gòu)化或者非結(jié)構(gòu)化的數(shù)據(jù)發(fā)送消息;該消息經(jīng)由一個直接建立于發(fā)送和接收計算機之間的通道分送。WWW(萬維網(wǎng))就是一個對等消息系統(tǒng)的例子,它使用http協(xié)議從一點到另一點交換數(shù)據(jù)。
基礎(chǔ)設(shè)施消息系統(tǒng)的例子包括服務(wù)器或者中間媒介,舉例而言,例如MQ Series,Jetstream或者TSpaces。這樣的中介服務(wù)器作為消息的一個臨時保持區(qū)工作,這保證了消息在安全地分送到接收者前不會被丟棄。相比于對等消息系統(tǒng),基礎(chǔ)設(shè)施消息系統(tǒng)通常包括更多特征并且更易于管理或掌管。但是,基礎(chǔ)設(shè)施消息系統(tǒng)通常會導(dǎo)致一些性能的開銷。
對等消息系統(tǒng)相比于基礎(chǔ)設(shè)施消息系統(tǒng)通常會有更優(yōu)的性能。但是,整體的對等消息系統(tǒng)由于其分散化而通常難于作為整體進(jìn)行掌管或管理。對等網(wǎng)絡(luò)通常有意促進(jìn)分布式獨立管理。
對等消息系統(tǒng)允許快速數(shù)據(jù)傳輸;數(shù)據(jù)傳輸中唯一的限制因素是發(fā)送系統(tǒng)、接收系統(tǒng)、以及連接發(fā)送和接收系統(tǒng)的通信網(wǎng)絡(luò)的速度。對等通信進(jìn)一步僅需要對所涉及的少數(shù)幾個方作中等強度的管理努力。舉例而言,在一個兩臺計算機的連接中,僅在數(shù)據(jù)交換中涉及的兩臺計算機需要對數(shù)據(jù)交換連接的建立、使用以及終止進(jìn)行配置。
相比于對等消息系統(tǒng),基礎(chǔ)設(shè)施消息系統(tǒng)允許發(fā)送者以及接收者(進(jìn)一步稱為客戶端)不丟失消息地進(jìn)行連接、斷開連接、重新連接。一個支持基礎(chǔ)設(shè)施消息系統(tǒng)的基礎(chǔ)設(shè)施系統(tǒng)接收用于一個客戶端的消息并且當(dāng)該客戶端連接時分送該消息。如果客戶端未連接,消息可以由基礎(chǔ)設(shè)施系統(tǒng)存儲并于當(dāng)客戶端連接時分送該消息。
基礎(chǔ)設(shè)施消息系統(tǒng)通常還包括其他特征例如多階段提交事務(wù),每單個消息多個接收者、持久性(Persistence)、審核跟蹤(audit trail)以及容錯。但是,被要求支持這種數(shù)據(jù)交換形式的基礎(chǔ)設(shè)施使基礎(chǔ)設(shè)施消息系統(tǒng)擔(dān)負(fù)了開銷,表現(xiàn)為消息延遲時間增加以及數(shù)據(jù)移動速率增加兩種形式。消息延遲時間是指從發(fā)送信息至完全接收該信息所流逝的時間。數(shù)據(jù)移動速率是指在發(fā)送者及接收者之間移動數(shù)據(jù)所需要的時間上所傳送的數(shù)據(jù)的數(shù)量?;A(chǔ)設(shè)施消息系統(tǒng)的優(yōu)點導(dǎo)致速度降低以及管理需求增加。進(jìn)一步而言,基礎(chǔ)設(shè)施消息系統(tǒng)通常對消息存儲區(qū)中能夠存儲的數(shù)據(jù)量有所限制。
盡管上述技術(shù)已被證明有用,但仍期待給出另外的改進(jìn)。存在這樣的情形,其中可期望這樣的通信模型,其允許在基礎(chǔ)設(shè)施消息系統(tǒng)或?qū)Φ认⑾到y(tǒng)中作出優(yōu)選。例如,一種通信系統(tǒng)可以向多個用戶提供視頻饋送。該通信系統(tǒng)向用戶提供以下能力,注冊視頻饋送,開啟和關(guān)閉視頻饋送,在各種視頻饋送中作出選擇,調(diào)整視頻饋送的速度和特征等。這些控制消息因其較小而容易在基礎(chǔ)設(shè)施消息系統(tǒng)上進(jìn)行交換。視頻饋送由于其大小而不適合于基礎(chǔ)設(shè)施消息系統(tǒng)。更合適地,該視頻饋送最好使用點對點消息系統(tǒng)傳送。
使用傳統(tǒng)方法,一個應(yīng)用可以在單個系統(tǒng)中使用兩個或更多的通信方案。但是,傳統(tǒng)方法要求客戶端每個特定連接靜態(tài)地選擇一種通信方法;客戶端不可能經(jīng)由多于一種的通信機制對同一消息進(jìn)行監(jiān)聽。靜態(tài)連接強制在某些連接上的特定行為而非其他。例如,對等連接不提供消息持久性;因此,在專用于對等傳送的連接上發(fā)送的所有消息都不具有持久性。
此外,不同消息系統(tǒng)對消息有效載荷的要求不同,可以使得經(jīng)由各種消息系統(tǒng)發(fā)送同一個復(fù)雜對象(由客戶端應(yīng)用定義)是很困難甚至不可能的。因此,在不同系統(tǒng)上發(fā)送的消息要作不同的準(zhǔn)備??蛇x擇地,一個通用消息系統(tǒng)可以使用在消息特征方面最共同的特點,以在對等消息系統(tǒng)以及基礎(chǔ)設(shè)施消息系統(tǒng)二者上發(fā)送消息。但是,這種方法排除了許多有用的消息特征,這些消息特征當(dāng)使用對等消息系統(tǒng)或者基礎(chǔ)設(shè)施消息系統(tǒng)時可用。向分布式系統(tǒng)添加具有不同特征的附加消息系統(tǒng)的復(fù)雜性是一種非常復(fù)雜的方法來最優(yōu)化消息路徑。
因此,需要一種用于動態(tài)地選擇最佳消息路徑的系統(tǒng)、方法以及服務(wù),用于使用具有單個接口的單個系統(tǒng)傳送消息,所述接口能以基礎(chǔ)設(shè)施消息格式,對等消息格式,或任何其他數(shù)據(jù)傳輸格式進(jìn)行操作,并且還能根據(jù)多種標(biāo)準(zhǔn)動態(tài)地選擇消息格式。對此種解決方案的需求迄今仍未被滿足。

發(fā)明內(nèi)容
本發(fā)明滿足了上述需求,并且給出了一種系統(tǒng)、一種服務(wù)、一種計算機程序產(chǎn)品、以及一種相關(guān)方法(此處統(tǒng)稱為該系統(tǒng)或本系統(tǒng))用于動態(tài)地選擇用于傳送消息的最佳消息路徑。本系統(tǒng)根據(jù)諸如例如效率、經(jīng)濟(jì)、數(shù)據(jù)需求、審核需求、安全性、數(shù)據(jù)大小之類的各種標(biāo)準(zhǔn)動態(tài)地選擇最佳消息路徑。本系統(tǒng)能夠指示消息旁路一個基礎(chǔ)設(shè)施消息服務(wù)器,只要發(fā)送客戶端和接收客戶端在一個適當(dāng)模式,以在直接消息路徑上直接地交換消息。另外,系統(tǒng)10能夠在一個基礎(chǔ)設(shè)施消息路徑上利用基于基礎(chǔ)設(shè)施的通信機制。
當(dāng)該發(fā)送客戶端和接收客戶端并非處于直接地交換消息的適當(dāng)模式時,本系統(tǒng)使用基礎(chǔ)設(shè)施消息路徑(在此還稱為基礎(chǔ)設(shè)施模式)將消息通過基礎(chǔ)設(shè)施消息服務(wù)器路由。此外,即使當(dāng)基礎(chǔ)設(shè)施消息服務(wù)器被旁路時本系統(tǒng)仍實現(xiàn)了使用基礎(chǔ)設(shè)施消息服務(wù)器的益處,其成本通常比直接使用該基礎(chǔ)設(shè)施消息服務(wù)器要低得多。
本系統(tǒng)的直接通信支持多種通信模式,例如廣播、組播、對等(也被稱為直接模式)、多接收以及發(fā)布/訂閱。本系統(tǒng)以直接模式操作,該模式利用直接消息路徑,其是一種向特定目的地發(fā)送消息的客戶端的數(shù)據(jù)傳輸?shù)耐ㄓ媚J?。以直接模式操作意味著發(fā)送客戶端和接收客戶端對將進(jìn)行消息交換達(dá)成協(xié)定。
直接模式是異步通信機制的特殊例子,例如,元組空間(tuplespace)系統(tǒng),其中大量的通信是匿名和基于內(nèi)容的。異步通信機制是多接收的,意味著是接收者而非發(fā)送者決定了誰來獲得消息。消息不特定地尋址到一個接收者。相比于支持Java消息服務(wù)(JMS)的系統(tǒng),其通常明確地識別會話雙方,多接收消息是面向列隊通信的更常規(guī)的形式。
不同類型的基礎(chǔ)設(shè)施消息服務(wù)器以不同方式建立直接連接。舉例而言,在JMS產(chǎn)品中,建立直接連接涉及在發(fā)送客戶端和接收客戶端之間建立通道。在TSpaces中,接收客戶端向該消息服務(wù)器注冊,以期在任何發(fā)送的元組(即消息)匹配一個特定格式或者內(nèi)容時收到通知。若發(fā)送客戶端在消息中還包括其名稱,則請求通知能夠更特定。特定尋址在每個方向中都能發(fā)生。發(fā)送者可以通過在消息中包括接收者的名稱尋址特定于該接收者的消息。發(fā)送者可以通過包括進(jìn)發(fā)送者名稱使得更為個性化,這幫助接收者創(chuàng)建一個直接的應(yīng)答。發(fā)送者還可以發(fā)送普通消息并且包括他或她的名稱,從而允許接收者監(jiān)聽來自該發(fā)送者的消息或具有特定內(nèi)容的消息。
當(dāng)使用本系統(tǒng)用于直接連接(例如IBM的直接連接,IBMDC)時,發(fā)送客戶端在它們的意圖上是明確的。當(dāng)發(fā)送客戶端規(guī)定了目的消息接收者(接收客戶端)時,一個對等連接即被創(chuàng)建。隨后,在該連接保持有效的同時,任何消息寫入調(diào)用直接地在直接消息路徑上轉(zhuǎn)到接收客戶端,而非流經(jīng)消息基礎(chǔ)設(shè)施服務(wù)器。因此,即使發(fā)送客戶端或發(fā)送應(yīng)用使用標(biāo)準(zhǔn)的基于基礎(chǔ)設(shè)施的消息接口,作為IBMDC一部分的程序庫也能夠?qū)⑾⒅苯拥刂匦侣酚傻浇邮湛蛻舳说某绦驇?,完全旁路基礎(chǔ)設(shè)施。當(dāng)網(wǎng)絡(luò)連接存在并且穩(wěn)定時,且當(dāng)用戶已聲明需要或允許直接模式時,則本系統(tǒng)使用該直接模式的更快路由。默認(rèn)情況,或者要求基礎(chǔ)設(shè)施模式的額外特征時,則使用基于基礎(chǔ)設(shè)施模式的更具魯棒性的路由。
本系統(tǒng)允許在發(fā)送客戶端上的應(yīng)用使用單個通信系統(tǒng)用于數(shù)據(jù)傳輸?shù)闹苯幽J胶突A(chǔ)設(shè)施模式這兩者。本系統(tǒng)允許應(yīng)用具備選擇是否為數(shù)據(jù)傳輸選擇最佳消息路徑的靈活性。本系統(tǒng)可旁路基礎(chǔ)設(shè)施消息路徑,用以減少消息延遲時間、減少發(fā)送的消息數(shù)量以及提高整體帶寬。
本系統(tǒng)在發(fā)送客戶端和接收客戶端之間創(chuàng)建了一種更快的消息路徑。本系統(tǒng)進(jìn)一步創(chuàng)建了可不同地使用的獨立消息路由。例如,使用直接模式的快速路由可用于大容量任務(wù),例如流媒體,而使用基礎(chǔ)設(shè)施模式的較慢路由可用于如加密密鑰、驗證碼或者元數(shù)據(jù)信息等。
由本系統(tǒng)在基礎(chǔ)設(shè)施模式下創(chuàng)建的第二個連接能夠當(dāng)消息在直接模式下分送失敗時被用作可選的消息路徑或者備份(容錯)消息路徑。相反地,在從客戶端到基礎(chǔ)設(shè)施服務(wù)器的連接切斷,而對等連接仍打開的情況下,則該第二連接可作為到基礎(chǔ)設(shè)施服務(wù)器的可選路徑。該可選路徑在無線或者移動環(huán)境下有用。
使用本系統(tǒng),在直接模式下通信的兩個客戶端(即對等客戶端)能夠在另一臺機器上啟動通信服務(wù)器用以動態(tài)地添加或創(chuàng)建“基礎(chǔ)設(shè)施”連接到否則只是對等通信中。這種動態(tài)地創(chuàng)建基礎(chǔ)設(shè)施連接的能力為通信連接提供了附加功能,并且尤其可應(yīng)用于對基礎(chǔ)設(shè)施模式的附加功能有所需求,且對該基礎(chǔ)設(shè)施模式性能的輕微降低能夠容忍的情況。
取決于網(wǎng)絡(luò)條件的改變,本發(fā)明能在兩種連接模式之間進(jìn)行交替。例如,直接對等連接的成本可變,這使非直接連接更為吸引人且節(jié)約成本。作為另一個例子,本系統(tǒng)能夠選擇在發(fā)送者和接收者之間使用直接連接,之后發(fā)送者可陸續(xù)增加多個接收者。從某種角度而言,發(fā)送者使用非直接方法(其中所有接收者都能從基礎(chǔ)設(shè)施獲得消息)發(fā)送單個消息比發(fā)送者明確地把消息發(fā)給他們中的每一個要更加經(jīng)濟(jì)。
在本發(fā)明中,發(fā)送者具有按照消息路由以及消息成本降低技術(shù)打開的多種選項。可以使用一個較大的“發(fā)送消息”時間窗口對轉(zhuǎn)到不同位置的相同消息的多個拷貝進(jìn)行檢測,在這一點,可決定使用發(fā)布/訂閱通信模型,或可能組播通信形式,這取決于根據(jù)排序功能哪一種被認(rèn)為更好。
本發(fā)明可通過一個實用程序體現(xiàn),例如一個消息路徑選擇實用程序。本發(fā)明還提供通過首先規(guī)定用于決定最佳路徑的標(biāo)準(zhǔn)集合,然后調(diào)用消息路徑選擇實用程序以決定最佳路徑,用于用戶識別最佳路徑用于消息傳送的裝置。


本發(fā)明的各種特征及其實現(xiàn)方式將參考以下的說明書、權(quán)利要求以及附圖更詳細(xì)的描述,其中在適當(dāng)?shù)臅r候參考數(shù)字被重復(fù)使用,以指示參考項之間的相應(yīng)關(guān)系,其中圖1是其中本發(fā)明的消息路徑選擇系統(tǒng)可使用的示例性操作環(huán)境的示意圖;圖2是示例性操作環(huán)境的示意圖,在該操作環(huán)境中圖1的消息路徑選擇系統(tǒng)和消息基礎(chǔ)設(shè)施服務(wù)器一起示出;圖3是示出了發(fā)送客戶端上應(yīng)用程序與接收客戶端上應(yīng)用程序之間的通信的方塊圖,其中出現(xiàn)了由圖1的消息路徑選擇系統(tǒng)動態(tài)地選擇通信模式;以及圖4包括圖4A,4B,以及4C,代表示出了圖1的消息路徑選擇系統(tǒng)的操作的方法的處理流程圖。
具體實施例方式
圖1描繪了一個示例性的整體環(huán)境,其中可使用根據(jù)本發(fā)明的動態(tài)地選擇最佳消息路徑的系統(tǒng)(系統(tǒng)10)和相關(guān)方法。系統(tǒng)10包括軟件編程代碼或者計算機程序產(chǎn)品,該產(chǎn)品典型地嵌入在或者安裝于主機服務(wù)器15上(在此還稱為發(fā)送客戶端15)??晒┻x擇地,系統(tǒng)10可保存于適當(dāng)?shù)拇鎯橘|(zhì)上,例如磁盤、CD、硬盤等設(shè)備。
由發(fā)送客戶端15所傳送消息的一個或多個接收者表示為多臺計算機,例如計算機20、25、30,并且它們可以通過網(wǎng)絡(luò)35訪問主機服務(wù)器15。消息包括以指令、注冊信息、文檔、文件、視頻、音頻或者任何其他能夠電子地傳送的數(shù)據(jù)形式的形式的數(shù)據(jù)。計算機20、25、30各包括允許計算機20、25、30安全地與主機服務(wù)器15接口連接的軟件。主機服務(wù)器15經(jīng)由諸如電話、電纜或者衛(wèi)星鏈路之類的通信鏈路40連接到網(wǎng)絡(luò)35。計算機20、25、30能夠分別經(jīng)由通信鏈路45、50、55連接到網(wǎng)絡(luò)35。當(dāng)根據(jù)網(wǎng)絡(luò)35對系統(tǒng)10進(jìn)行描述時,計算機20、25、30可本地而非遠(yuǎn)程地,從發(fā)送客戶端15接收消息。發(fā)送客戶端15可使用系統(tǒng)10手工地或通過使用應(yīng)用自動地發(fā)送消息。
圖2示出了一個示例性的操作環(huán)境,該環(huán)境示出了由系統(tǒng)10的消息路徑選擇的示例性選項。計算機25(在此還稱為為接收客戶端25)示出了一個從發(fā)送客戶端15接收消息的通用接收客戶端。
系統(tǒng)10能夠選擇經(jīng)由消息基礎(chǔ)設(shè)施服務(wù)器210的基礎(chǔ)設(shè)施消息路徑205。消息基礎(chǔ)設(shè)施服務(wù)器將接收到的消息發(fā)布于一個虛擬消息板或“白板”上。發(fā)布于白板上的消息可被目的接收者取回,例如接收客戶端25??墒褂美缣摂M消息板來建立基礎(chǔ)設(shè)施消息路徑205,其中消息被發(fā)送客戶端15發(fā)布于該虛擬消息板上并被接收客戶端25所取回??捎上⒒A(chǔ)設(shè)施服務(wù)器210使用的示例性的基于消息的基礎(chǔ)設(shè)施,包括TSpace,MQ series,LINDA,JavaSpaces,或者任何其他基于元組空間的技術(shù)。另一個示例性的基于消息的基礎(chǔ)設(shè)施利用了例如電子郵件協(xié)議。
系統(tǒng)10還能夠進(jìn)一步選擇直接消息路徑215,其直接地傳送消息至接收客戶端25。直接消息路徑215可使用任何直接或點對點的協(xié)議建立,這些協(xié)議不需要例如消息基礎(chǔ)設(shè)施服務(wù)器210這樣基于消息的基礎(chǔ)設(shè)施。示例性的協(xié)議包括例如TCP,UDP,IP廣播技術(shù)等。能夠用于直接消息路徑215的另外的協(xié)議包括任何不使用基于消息的基礎(chǔ)設(shè)施的網(wǎng)絡(luò)協(xié)議,例如蜂窩電話協(xié)議等。
另外的可用于IP網(wǎng)絡(luò)上的直接消息路徑215的協(xié)議包括組播。使用組播,發(fā)送客戶端15在網(wǎng)絡(luò)35上建立數(shù)據(jù)流。由發(fā)送客戶端15所建立的數(shù)據(jù)流可有多個接收者。接收客戶端25直接從數(shù)據(jù)流中取回消息。
圖3示出了發(fā)送客戶端15,消息基礎(chǔ)設(shè)施服務(wù)器210,以及接收客戶端25的方塊圖。發(fā)送客戶端15包括一個應(yīng)用程序A 305,傳送通信中間件310以及傳送傳輸層315。傳送通信中間件310提供給發(fā)送客戶端15和系統(tǒng)10使用直接消息路徑215或者基礎(chǔ)設(shè)施消息路徑205傳送消息的能力。
接收客戶端25包括一個應(yīng)用程序B 320,接收通信中間件325以及接收傳輸層330。接收通信中間件320提供給接收客戶端25使用直接消息路徑215或者基礎(chǔ)設(shè)施消息路徑205接收或獲得消息的能力。消息基礎(chǔ)設(shè)施服務(wù)器210包括一個消息應(yīng)用335,消息通信中間件340以及消息傳輸層345。
系統(tǒng)10安裝于傳送通信中間件310中。利用系統(tǒng)10,傳送通信中間件310動態(tài)地選擇一個最佳消息路徑。在一個實施方式中,系統(tǒng)10安裝于應(yīng)用程序A 305中。當(dāng)應(yīng)用程序A 305準(zhǔn)備并且發(fā)送數(shù)據(jù)或消息時,應(yīng)用程序A 305利用系統(tǒng)10動態(tài)地選擇一個最佳消息路徑。
圖4(圖4A,4B,4C)示出了系統(tǒng)10在使用一個或多個預(yù)先確定標(biāo)準(zhǔn)選擇用于消息傳輸?shù)淖罴严⒙窂街械牟僮鞣椒?00。應(yīng)用程序A 305選擇用于傳輸?shù)臄?shù)據(jù)(步驟405)。應(yīng)用程序A305將選擇的數(shù)據(jù)傳遞到傳送通信中間件310(步驟410)。系統(tǒng)10就預(yù)先確定標(biāo)準(zhǔn)對選擇的數(shù)據(jù)進(jìn)行評估(步驟415)。系統(tǒng)10就預(yù)先確定標(biāo)準(zhǔn)對網(wǎng)絡(luò)35的性能進(jìn)行評估(步驟420)。
根據(jù)在步驟415和步驟420中評估的預(yù)先確定標(biāo)準(zhǔn),系統(tǒng)10可以決定在所有可用的路徑上傳送選擇數(shù)據(jù)(決定步驟430)。在這種情況下,系統(tǒng)10指示傳送傳輸層315于基礎(chǔ)設(shè)施消息路徑205(由圖4B中方法435所表示)以及直接消息路徑215(由圖4C中方法440所表示)上并行地傳送選擇數(shù)據(jù)。
為在基礎(chǔ)設(shè)施消息路徑205上傳送選擇數(shù)據(jù)(方法435),傳送通信中間件310命令傳送傳輸層315使用基礎(chǔ)設(shè)施消息路徑205傳送選擇數(shù)據(jù)(步驟445)。消息基礎(chǔ)設(shè)施服務(wù)器210接收所傳送的數(shù)據(jù)并且將所傳送的數(shù)據(jù)發(fā)布于例如一個虛擬白板上(步驟450)。接收客戶端25從消息基礎(chǔ)設(shè)施服務(wù)器210取回所發(fā)布的數(shù)據(jù)(步驟455)。
為在直接消息路徑215上傳送選擇數(shù)據(jù)(方法440),傳送通信中間件310命令傳送傳輸層315使用直接消息路徑215傳送選擇數(shù)據(jù)(步驟460)。接收客戶端25接收所傳送的數(shù)據(jù)(步驟465)。用于直接連接的機制可以取決于發(fā)送者與接收者之間的協(xié)定。在一個視頻流的事件中,例如,其中速度要緊而可靠性并不,就可以使用簡單的UDP(不可靠數(shù)據(jù)報協(xié)議)分組。在其他情況下,可使用一個簡單的TCP/IP會話(如套接字,或者對象流)。
另外,在決定步驟430處,系統(tǒng)10基于對數(shù)據(jù)以及網(wǎng)絡(luò)性能的評估選擇一個最佳消息路徑。如果所選最佳路徑是直接消息路徑(決定步驟470),系統(tǒng)10指示傳送傳輸層315在直接消息路徑215上傳送選擇數(shù)據(jù)(由圖4C中方法440所表示)。如果所選的最佳路徑不是直接消息路徑215(決定步驟470),系統(tǒng)10指示傳送傳輸層315在基礎(chǔ)設(shè)施消息路徑205上傳送選擇數(shù)據(jù)(由圖4B中方法435所表示)。
在一個實施方式中,系統(tǒng)10安裝于應(yīng)用程序A 305中。在本實施方式中,系統(tǒng)10評估所選擇數(shù)據(jù),評估網(wǎng)絡(luò)35的性能,以及在將選擇數(shù)據(jù)傳遞到傳送通信中間件310(步驟410)之前選擇一個最佳消息路徑(步驟415,步驟420,步驟425)。
當(dāng)接收客戶端25從直接消息路徑215以及基礎(chǔ)設(shè)施消息路徑205接收消息時,通信的變化對于應(yīng)用程序B 320透明。接收通信中間件325對于應(yīng)用程序B 320隱藏消息路由的細(xì)節(jié)。
由系統(tǒng)10在決定一個最佳消息路徑時所使用的標(biāo)準(zhǔn)包括檢查由應(yīng)用程序A 305放置在所選擇數(shù)據(jù)上的一個標(biāo)簽。該標(biāo)簽包括由應(yīng)用程序A 305使用某一特定的消息路徑的特定請求。一個標(biāo)簽可以包括所選擇數(shù)據(jù)的身份,例如,控制數(shù)據(jù),大量數(shù)據(jù),低優(yōu)先級數(shù)據(jù),高優(yōu)先級數(shù)據(jù),請求審核跟蹤的數(shù)據(jù),不要求審核跟蹤的數(shù)據(jù),視頻,文本等。系統(tǒng)10包括一個標(biāo)簽以及與這些標(biāo)簽相關(guān)聯(lián)的最佳路徑的數(shù)據(jù)庫。系統(tǒng)10能夠例如為高優(yōu)先級數(shù)據(jù)選擇直接消息路徑215。此外,系統(tǒng)10還能夠例如為請求審核跟蹤的數(shù)據(jù)選擇基礎(chǔ)設(shè)施消息路徑205,其中消息基礎(chǔ)設(shè)施服務(wù)器210能夠生成審核跟蹤。
用于決定一個最佳消息路徑的標(biāo)準(zhǔn)還包括所選擇用于傳輸?shù)臄?shù)據(jù)的類型。例如,相比于非結(jié)構(gòu)化數(shù)據(jù),系統(tǒng)10能夠為結(jié)構(gòu)化數(shù)據(jù)選擇不同的最佳消息路徑,或者相比于文本數(shù)據(jù),該系統(tǒng)能夠?qū)Χ嗝襟w數(shù)據(jù)進(jìn)行不同的路由。
系統(tǒng)10能夠使用所選擇數(shù)據(jù)的大小作為標(biāo)準(zhǔn),用于選擇一個最佳消息路徑。舉例而言,大消息例如大于1MB的消息能夠使用直接消息路徑傳送,以提高所選擇數(shù)據(jù)的數(shù)據(jù)傳輸速度。這種標(biāo)準(zhǔn)能被進(jìn)一步規(guī)定為基于數(shù)據(jù)類型的大小限制。
由系統(tǒng)10所使用的標(biāo)準(zhǔn)進(jìn)一步包括網(wǎng)絡(luò)35的性能,消息基礎(chǔ)設(shè)施服務(wù)器210的性能,使用負(fù)載等。系統(tǒng)10包括一個反饋系統(tǒng),該系統(tǒng)主動地監(jiān)控網(wǎng)絡(luò)35的性能和消息基礎(chǔ)設(shè)施服務(wù)器210的性能。例如,當(dāng)網(wǎng)絡(luò)35忙碌時或消息基礎(chǔ)設(shè)施服務(wù)器210忙碌時,系統(tǒng)10選擇在直接消息路徑215上路由所選擇數(shù)據(jù)。
例如,應(yīng)用程序A 305已經(jīng)選擇了用戶希望確保其向5個其他計算機傳送的數(shù)據(jù)。網(wǎng)絡(luò)35報告大量的錯。如果這時所選擇數(shù)據(jù)使用直接消息路徑215傳送,其中一些計算機就可能無法接收到所選擇消息。所以,系統(tǒng)10選擇基礎(chǔ)設(shè)施消息路徑205,因為消息基礎(chǔ)設(shè)施服務(wù)器210是以一種保持方式發(fā)布所選擇數(shù)據(jù)。如果網(wǎng)絡(luò)35癱瘓,數(shù)據(jù)的目的接收者則不能取回該數(shù)據(jù)。但是,當(dāng)網(wǎng)絡(luò)35恢復(fù)過來時,該數(shù)據(jù)的目的接收者能夠連接到消息基礎(chǔ)設(shè)施服務(wù)器210并取回該所選擇數(shù)據(jù)。
由系統(tǒng)10在選擇最佳消息路徑中使用的另一個標(biāo)準(zhǔn)是要傳送數(shù)據(jù)的機密性。直接消息路徑215能比基礎(chǔ)設(shè)施消息路徑205更加安全,因為在直接消息路徑215上傳送的數(shù)據(jù)可以加密并且定向給特定的接收者。不過,發(fā)送客戶端15和接收客戶端25能夠使用消息基礎(chǔ)設(shè)施服務(wù)器210對加密消息的傳輸進(jìn)行協(xié)商。
系統(tǒng)10能夠在選擇最佳消息路徑時使用日志標(biāo)準(zhǔn)。需要日志的數(shù)據(jù)由系統(tǒng)10定向到消息基礎(chǔ)設(shè)施服務(wù)器210。發(fā)布的任何數(shù)據(jù)能夠被復(fù)制到一個或多個數(shù)據(jù)庫中,以生成所傳送數(shù)據(jù)的存檔。
系統(tǒng)10能夠在選擇最佳消息路徑時使用成本標(biāo)準(zhǔn)。系統(tǒng)10能夠選擇最佳消息路徑以最小化所選擇數(shù)據(jù)的傳輸成本。系統(tǒng)10能夠進(jìn)一步將所選擇數(shù)據(jù)具有的接收者的數(shù)目作為一個標(biāo)準(zhǔn)來使用。具有大量接收者的所選擇數(shù)據(jù)可能在基礎(chǔ)設(shè)施消息路徑205上傳輸,或者使用廣播技術(shù)在直接消息路徑215上傳輸更為經(jīng)濟(jì)。
取決于由系統(tǒng)10評估的標(biāo)準(zhǔn),系統(tǒng)10可以選擇基礎(chǔ)設(shè)施消息路徑205和直接消息路徑215這二者。例如,某種特定類型的數(shù)據(jù)可能需要在直接消息路徑215上進(jìn)行快速傳輸,同時需要由消息基礎(chǔ)設(shè)施服務(wù)器210提供的審核跟蹤。
系統(tǒng)10的一個示例性使用是一家醫(yī)院,該醫(yī)院使用例如圖1所示的網(wǎng)絡(luò)傳輸以及選擇性地日志數(shù)據(jù)。包括由一名醫(yī)生吩咐的特定治療或由一名醫(yī)生所觀察的特定發(fā)現(xiàn)的醫(yī)療數(shù)據(jù)能夠由系統(tǒng)10定向到基礎(chǔ)設(shè)施消息路徑205。消息基礎(chǔ)設(shè)施服務(wù)器210將該醫(yī)療數(shù)據(jù)記錄到一個醫(yī)療日志中,以便存檔和保護(hù),例如,用以抵御誤診訴訟(malpractice suit)。但諸如X射線圖片這樣的大量數(shù)據(jù)超出了預(yù)先確定的大小標(biāo)準(zhǔn)以及由系統(tǒng)10定向到直接消息路徑215,用以向醫(yī)生的桌面計算機或手持平板電腦傳輸。
盡管出于說明的目的,系統(tǒng)10被描述為僅與發(fā)送或傳輸消息或者數(shù)據(jù)有關(guān),應(yīng)該清楚的是,系統(tǒng)10還可應(yīng)用于需要確認(rèn)或者保證分送的消息或數(shù)據(jù),也可應(yīng)用于不需要確認(rèn)或不需要保證分送的消息或數(shù)據(jù)。
此外,盡管出于說明的目的,系統(tǒng)10被描述為僅與向接收者服務(wù)器傳輸消息或數(shù)據(jù)有關(guān),應(yīng)該清楚的是,系統(tǒng)10還可應(yīng)用于使用多種通信技術(shù),例如IP組播技術(shù),將消息或數(shù)據(jù)的傳輸定向到任何數(shù)目的額外計算機。
應(yīng)該理解的是,已經(jīng)所描述的本發(fā)明的特定實施方式僅僅對本發(fā)明的原理的某些應(yīng)用作了說明。對于這里所述的用于動態(tài)地選擇最佳消息路徑的系統(tǒng)、方法以及服務(wù)可做諸多修改,而不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種基于一個或多個標(biāo)準(zhǔn)從多個可用路徑中動態(tài)地選擇優(yōu)選路徑用以從源向目的地傳送消息的方法,該方法包括應(yīng)用生成該消息;自動地決定該消息目的地;基于該消息目的地自動地決定該多個可用路徑中的至少一些可用路徑;對該應(yīng)用透明地使用該消息的屬性來選擇優(yōu)選的分送路徑;以及在該優(yōu)選路徑上向該目的地分送該消息。
2.根據(jù)權(quán)利要求1所述的方法,其中自動地決定該消息目的地包括以下任何一個使用消息內(nèi)容;以及由該應(yīng)用提供該目的地。
3.根據(jù)權(quán)利要求1所述的方法,其中該多個可用路徑包括以下任何一個或多個直接通信路徑;以及間接通信路徑。
4.根據(jù)權(quán)利要求3所述的方法,其中該直接通信支持以下通信模式的至少一個或者多個廣播;組播;對等;多接收;以及發(fā)布或訂閱。
5.根據(jù)權(quán)利要求1所述的方法,其中該間接通信支持消息系統(tǒng)。
6.根據(jù)權(quán)利要求1所述的方法,還包括,在向該目的地分送該消息后,存儲用于該分送的該優(yōu)選路徑,以及將該優(yōu)選路徑結(jié)合為該標(biāo)準(zhǔn)的一部分。
7.根據(jù)權(quán)利要求1所述的方法,還包括基于排序函數(shù)對該可用路徑進(jìn)行排序;以及將該可用路徑的排序結(jié)果結(jié)合為該標(biāo)準(zhǔn)的一部分。
8.根據(jù)權(quán)利要求7所述的方法,其中對該可用路徑進(jìn)行排序包括使用以下任何一個或多個考慮該消息的屬性;考慮該應(yīng)用的屬性;以及考慮該可用路徑的屬性。
9.根據(jù)權(quán)利要求8所述的方法,其中該消息屬性包括以下任何一個或多個消息大小;消息加密;以及消息內(nèi)容,其中該消息內(nèi)容包括以下任何一個或多個音頻,視頻,以及文本數(shù)據(jù)。
10.根據(jù)權(quán)利要求8所述的方法,其中該應(yīng)用屬性包括以下任何一個或者多個應(yīng)用安全性;性能需求;分送保證需求;以及該應(yīng)用的延遲時間。
11.根據(jù)權(quán)利要求8所述的方法,其中該可用路徑屬性包括以下任何一個或者多個該可用路徑是否提供消息分送的確認(rèn);該可用路徑的質(zhì)量;該可用路徑的延遲時間;在該可用路徑上的數(shù)據(jù)傳送的速率;使用該可用路徑的成本;該可用路徑的擁擠狀況;該可用路徑的安全性;該可用路徑的可靠性;該可用路徑能夠傳輸?shù)臄?shù)據(jù)類型;以及出口防火墻協(xié)議上的可達(dá)到性。
12.根據(jù)權(quán)利要求1所述的方法,其中選擇該優(yōu)選分送路徑包括兩個或更多優(yōu)選路徑,用以向該目的地分送該消息。
13.根據(jù)權(quán)利要求12所述的方法,還包括基于該消息內(nèi)容在該兩個或更多優(yōu)選路徑上分發(fā)該消息。
14.根據(jù)權(quán)利要求12所述的方法,其中該兩個或更多優(yōu)選路徑包括安全路徑以及不安全路徑。
15.根據(jù)權(quán)利要求13所述的方法,還包括在該消息目的地對該消息進(jìn)行結(jié)合。
16.根據(jù)權(quán)利要求1所述的方法,其中該消息目的地包括以下任何一個單個目的地點或者多個目的地點。
17.根據(jù)權(quán)利要求1所述的方法,還包括連續(xù)地監(jiān)控該消息屬性以便連續(xù)地選擇至少兩個優(yōu)選分送路徑;以及按照需要在該至少兩個優(yōu)選分送路徑間交替,以便在該至少兩個優(yōu)選分送路徑上將消息分送到至少一個目的地。
18.根據(jù)權(quán)利要求1所述的方法,還包括在該目的地確認(rèn)該消息的保真度。
19.一種計算機程序產(chǎn)品,包括存儲于計算機可讀介質(zhì)上的多個可執(zhí)行指令代碼,該代碼用于基于一個或多個標(biāo)準(zhǔn)從多個可用路徑中動態(tài)地選擇優(yōu)選路徑,以便從源向目的地傳送消息,該計算機程序產(chǎn)品包括應(yīng)用,具有用于生成該消息的第一指令代碼集合;第二指令代碼集合,用于自動地決定該消息目的地;第三指令代碼集合,用于根據(jù)該消息目的地,自動地決定多個可用路徑的至少一些可用路徑;第四指令代碼集合,用于對該應(yīng)用透明地使用該消息的屬性來選擇該優(yōu)選分送路徑;以及第五指令代碼集合,用于在該優(yōu)選路徑上向該目的地分送該消息。
20.一種消息路徑選擇系統(tǒng),用于基于一個或多個標(biāo)準(zhǔn)從多個可用路徑中動態(tài)地選擇優(yōu)選路徑,以便從源向目的地傳送消息,該系統(tǒng)包括傳送客戶端應(yīng)用,用于生成該消息;傳送通信中間件,用于自動地決定該消息目的地;該傳送通信中間件用于基于該消息目的地自動地決定該多個可用路徑的至少一些可用路徑;傳送客戶端,對該應(yīng)用透明地使用該消息的屬性,以選擇該優(yōu)選分送路徑;以及傳送傳輸層,用于在該優(yōu)選路徑上向該目的地分送該消息。
21.一種用于基于一個或多個標(biāo)準(zhǔn)從多個可用路徑中動態(tài)地選擇優(yōu)選路徑用以從源向目的地傳送消息的服務(wù),該服務(wù)包括應(yīng)用生成該消息;消息路徑選擇系統(tǒng)自動地決定該消息目的地,基于該消息目的地自動地決定該多個可用路徑的至少一些可用路徑,以及對該應(yīng)用透明地使用該消息的屬性來選擇該優(yōu)選分送路徑;以及該消息路徑選擇系統(tǒng)在該優(yōu)選路徑上向該目的地分送該消息。
全文摘要
一種消息路徑選擇系統(tǒng)為傳送消息動態(tài)地選擇一個最佳消息路徑。該系統(tǒng)根據(jù)各種標(biāo)準(zhǔn)動態(tài)地最優(yōu)化消息路徑,各種標(biāo)準(zhǔn)例如效率、經(jīng)濟(jì)、數(shù)據(jù)要求、審核要求、安全性、數(shù)據(jù)大小等。該系統(tǒng)能夠指示消息旁路基礎(chǔ)設(shè)施消息服務(wù)器從而使用直接消息路徑。該系統(tǒng)還能夠從基礎(chǔ)設(shè)施消息服務(wù)器切換到直接方法。該系統(tǒng)還能夠利用基礎(chǔ)設(shè)施消息路徑為替換或與直接消息路徑并行地使用。該系統(tǒng)允許應(yīng)用使用單個通信系統(tǒng)用于數(shù)據(jù)傳輸?shù)闹苯幽J胶突A(chǔ)設(shè)施模式這兩者。本系統(tǒng)能夠旁路基礎(chǔ)設(shè)施消息路徑,從而降低消息延遲時間、發(fā)送的消息的數(shù)目,并且提高了整體帶寬。
文檔編號H04L12/58GK1870594SQ20061007580
公開日2006年11月29日 申請日期2006年4月18日 優(yōu)先權(quán)日2005年5月26日
發(fā)明者托賓·喬恩·萊曼, 詹姆斯·H·考夫曼, 羅伯特·格倫·迪恩 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
桐庐县| 沂源县| 营口市| 凤庆县| 灌云县| 长汀县| 浏阳市| 吉木乃县| 枣阳市| 永胜县| 威远县| 贵德县| 贵州省| 万载县| 马山县| 社旗县| 广昌县| 黔江区| 松潘县| 宁陵县| 岚皋县| 红安县| 大同市| 罗山县| 吉安市| 枣庄市| 岫岩| 教育| 文水县| 明水县| 车险| 达孜县| 白沙| 凤冈县| 文安县| 阳西县| 资源县| 类乌齐县| 罗源县| 祁门县| 昌黎县|