国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      在多播消息傳送環(huán)境中訂閱應(yīng)用消息的方法和系統(tǒng)的制作方法

      文檔序號:7668222閱讀:195來源:國知局
      專利名稱:在多播消息傳送環(huán)境中訂閱應(yīng)用消息的方法和系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明的領(lǐng)域是數(shù)據(jù)處理,或者更具體地說,是用于在多播消息傳送 環(huán)境中訂閱應(yīng)用消息的方法、系統(tǒng)和產(chǎn)品。
      背景技術(shù)
      消息傳送環(huán)境通常可用于在消息發(fā)送設(shè)備與使用消息的消息接收設(shè)備 之間提供數(shù)據(jù)通信。消息是一定量的包括一個或多個數(shù)據(jù)字段的數(shù)據(jù),并 從安裝在消息發(fā)送設(shè)備上的消息發(fā)生方傳遞到安裝在消息接收設(shè)備上的消 息用戶。消息可以例如代表數(shù)字或文本信息、圖像、加密信息和計算枳一呈 序指令。
      消息傳送環(huán)境可以支持點對點消息傳送、發(fā)布和訂閱消息傳送或以上 兩者。在點對點消息傳送環(huán)境中,消息發(fā)生方可以將消息提供給單個消息 用戶。在發(fā)布和訂閱消息傳送環(huán)境中,消息發(fā)生方可以向特定頻道或主題 發(fā)布消息,并且任何訂閱了該頻道或主題的消息用戶接收所述消息。由于 消息發(fā)生方和消息用戶間接地通過頻道或主題在發(fā)布和訂閱環(huán)境中通信, 因此消息發(fā)送與消息接收是分離的。因此,發(fā)生方與用戶都不需要維護(hù)關(guān) 于彼此的狀態(tài),從而減少或消除了交互參與方之間的相關(guān)性。因此,發(fā)布 和訂閱環(huán)境可以允許消息發(fā)布方和消息訂閱方異步地工作。
      為了進(jìn)一步說明消息傳送環(huán)境,圖1是示出用于數(shù)據(jù)通信的典型消息
      傳送環(huán)境的方塊圖,所述環(huán)境包括消息發(fā)送設(shè)擬100 )、消息接收設(shè)擬104 ) 以及消息管理服務(wù)器(102)。消息發(fā)送設(shè)備(100)是其上安裝有消息發(fā) 生方(110, 一組用于創(chuàng)建或轉(zhuǎn)換應(yīng)用消息的計算枳艱序指令)的計算機(jī)設(shè) 備。消息發(fā)生方(110)通常將消息發(fā)送到消息管理服務(wù)器(102)以便傳 輸?shù)较⒔邮赵O(shè)備。在圖1的實例中,消息發(fā)生方(110)在消息流(106)上將消息發(fā)送至消息管理服務(wù)器(102)。消息發(fā)送設(shè)備(100)可以通過 從消息發(fā)送設(shè)備本身的數(shù)據(jù)或從某些其他源接收的數(shù)據(jù)生成消息,來產(chǎn)生 所發(fā)送的消息。消息接收設(shè)備(104)是其上安裝有消息用戶(112, 一組 用于接收和使用應(yīng)用消息的計算機(jī)程序指令)的計算機(jī)設(shè)備。消息用戶(112)通常從消息管理服務(wù)器(102)接收消息。在圖1的實例中,消息 用戶(112 )在消息流(108 )上從消息管理服務(wù)器(102 )接收消息。在圖 1的實例中,消息流(106)和消息流(108)是例如使用用戶數(shù)據(jù)報協(xié)議('UDP,)和網(wǎng)際協(xié)議('IP,)實現(xiàn)的數(shù)據(jù)通信頻道。
      在點對點消息傳送環(huán)境中或在發(fā)布和訂閱消息傳送環(huán)境中,從消息發(fā) 送設(shè)備傳送至消息接收設(shè)備的消息通常都經(jīng)過消息管理服務(wù)器(102)。消 息管理服務(wù)器(102)是其上安裝有消息管理模塊(114,用于管理從消息 發(fā)生方(110)傳送至消息用戶(112)的消息的計算枳4呈序指令)的計算 機(jī)設(shè)備。消息管理模塊的實例可以包括IBM WebSphere MQ, Sun Microsystems的Open Message Queue和OpenJMS Group的OpenJMS。 在點對點消息傳送環(huán)境中,當(dāng)消息管理模塊(114 )接收到從不同消息提供 方發(fā)送至用戶(112)的消息時,消息管理模塊(114)為消息用戶(112) 提供消息排隊。在發(fā)布和訂閱消息傳送環(huán)境中,消息管理模塊(114)管理 消息發(fā)生方所發(fā)布的和消息用戶所訂閱的各個頻道或主題。在任一消息環(huán) 境中,消息管理模塊(114)還可以提供安全服務(wù),以便確保只有從消息發(fā) 生方(110)到達(dá)消息傳送用戶(112)的消息才是消息用戶(112)祐:授權(quán) 接收以及消息發(fā)生方(110)祐:授^L義送的那些消息。
      當(dāng)前的消息傳送環(huán)境(例如結(jié)合圖l描述的消息傳送環(huán)境)具有某些 缺點。從消息發(fā)送設(shè)備發(fā)送到消息管理服務(wù)器以便傳送到消息接收設(shè)備的 消息在消息管理服務(wù)器中祐延遲,直到消息管理服務(wù)器能夠處理該消息。 在消息管理月良務(wù)器中進(jìn)行的消息處理通常增加了消息傳送環(huán)境的總體消息 傳送等待時間,并降低了在數(shù)據(jù)通信環(huán)境中傳輸數(shù)據(jù)的總體速度。消息傳 送等待時間是在消息發(fā)生方發(fā)送消息時開始和在消息用戶接收到消息時結(jié) 束的時間段。
      在許多數(shù)據(jù)通信環(huán)境中,即使消息傳送等待時間略有增加,其成本也 是高昂的。例如,考慮金融市場數(shù)據(jù)環(huán)境。金融市場數(shù)據(jù)環(huán)境是用于傳送 與金融市場和金融市場的參與者有關(guān)的信息的數(shù)據(jù)處理環(huán)境。在金融市場 數(shù)據(jù)環(huán)境中,消息通常稱為"行情(tick)"并表示諸如金融報價或金融 新聞之類的金融市場數(shù)據(jù)。金融報價包括任何給定金融證券的出價和要價。 "出價"指買方愿意為證券所支付的最高價格。"要價"指賣方愿意為證 券接受的最低價格。在金融市場數(shù)據(jù)環(huán)境中,消息發(fā)生方可以根據(jù)實時的 金融市場情況來提供對買賣金融證券的報價,而消息用戶可以根據(jù)金融報 價來買賣金融證券。當(dāng)消息用戶根據(jù)由消息發(fā)生方提供的報價價格來買賣 金融證券時,消息用戶在金融證^艮價中獲得出價或M的能力很大程度 上受金融市場數(shù)據(jù)環(huán)境中的消息傳送等待時間的影響。消息傳送等待時間可能性就越小。實際上,很不穩(wěn)定的證券可能會在幾秒鐘的時間內(nèi)在價格 上顯著地波動。
      當(dāng)前減少消息傳送等待時間的解決方案是從消息傳送環(huán)境中移除消息 管理服務(wù)器。在此類當(dāng)前解決方案中,消息發(fā)送設(shè)備直接向消息接收設(shè)備 發(fā)送消息。此類當(dāng)前解決方案的缺點在于,移除消息管理服務(wù)器從消息傳 送環(huán)境中除去了由消息管理^^務(wù)器提供的管理功能。因此,當(dāng)前解決方案 實際上在需要消息管理服務(wù)器的管理功能的消息傳送環(huán)境中沒有提供解決 方案。例如,考慮多播消息傳送環(huán)境,其中消息接收設(shè)備沒有關(guān)于消息發(fā) 送設(shè)備的狀態(tài)或存在的信息,并且消息發(fā)送設(shè)備發(fā)送應(yīng)用消息而不考慮是 否有任何設(shè)備在監(jiān)聽消息。在此類環(huán)境中,進(jìn)一步考慮消息接收設(shè)備要求 直到消息接收設(shè)備已經(jīng)建立了接收消息的消息流之后,才進(jìn)行從消息發(fā)送 設(shè)備傳送消息。從此類金融市場數(shù)據(jù)環(huán)境中移除消息管理服務(wù)器除去了能 夠?qū)⑴c環(huán)境中的各個消息發(fā)送設(shè)備有關(guān)的信息提供給消息接收設(shè)備的中央 實體,并且去除了由消息管理服務(wù)器提供的排隊能力。

      發(fā)明內(nèi)容
      本發(fā)明公開了用于在多播消息傳送環(huán)境中訂閱應(yīng)用消息的方法、系統(tǒng)
      和產(chǎn)品,包括由消息接收設(shè)備請求流管理服務(wù)器初始化對來自消息發(fā)送 設(shè)備的應(yīng)用消息的消息訂閱;在所述消息接收設(shè)備中從所述流管理服務(wù)器 接收來自所述消息發(fā)送設(shè)備的多播消息流的數(shù)據(jù)通信端點;由所述消息接 收i殳備開始在所述數(shù)據(jù)通信端點處監(jiān)聽所述應(yīng)用消息;以及在開始監(jiān)聽所 述應(yīng)用消息之后,由所述消息接收設(shè)備通知所述消息發(fā)送設(shè)備在所述數(shù)據(jù) 通信端點處發(fā)布所述應(yīng)用消息。
      在一些實施例中,接收數(shù)據(jù)通信端點可以包括,除了接收所述數(shù)據(jù)通 信端點以外,還接收一個或多個備選數(shù)據(jù)通信端點。在此類實施例中,在 多播消息傳送環(huán)境中訂閱應(yīng)用消息還可以包括由所述消息接收設(shè)備標(biāo)識 所述數(shù)據(jù)通信端點的故障狀況;以及響應(yīng)于所述故障狀況,所述消息接收 設(shè)備從在所述數(shù)據(jù)通信端點處監(jiān)聽所述應(yīng)用消息切換為在所述備選數(shù)據(jù)通 信端點之一處監(jiān)聽所述應(yīng)用消息。
      從以下對附圖中示出的本發(fā)明示例性實施例的更具體的說明,本發(fā)明 的上述和其他目標(biāo)、特征和優(yōu)點將是顯而易見的,在附圖中,相同的標(biāo)號 通常代表本發(fā)明的示例性實施例的相同部分。


      圖l是示出了用于數(shù)據(jù)通信的典型消息傳送環(huán)境的方塊圖2是示出了根據(jù)本發(fā)明的示例性實施例的用于在多播消息傳送環(huán)境 中訂閱應(yīng)用消息的典型系統(tǒng)的網(wǎng)絡(luò)和方塊圖3示出了根據(jù)本發(fā)明的示例性實施例的包括在多播消息傳送環(huán)境中 訂閱應(yīng)用消息中使用的示例性消息接收設(shè)備的自動化計算機(jī)器的方塊圖4是示出了根據(jù)本發(fā)明的示例性實施例的在多播消息傳送環(huán)境中訂 閱應(yīng)用消息的示例性方法的流程圖5是示出了根據(jù)本發(fā)明的示例性實施例的在多播消息傳送環(huán)境中訂 閱應(yīng)用消息的進(jìn) 一 步示例性方法的流程圖6是示出了根據(jù)本發(fā)明的示例性實施例的在多播消息傳送環(huán)境中訂閱應(yīng)用消息的進(jìn)一步示例性方法的流程圖;以及
      圖7是示出了根據(jù)本發(fā)明的示例性實施例的在多播消息傳送環(huán)境中訂 閱應(yīng)用消息的進(jìn)一步示例性方法的流程圖。
      具體實施例方式
      從圖2開始,結(jié)合附圖描述根據(jù)本發(fā)明的實施例的用于在多播消息傳 送環(huán)境中訂閱應(yīng)用消息的示例性方法、系統(tǒng)和產(chǎn)品。圖2是示出了根據(jù)本 發(fā)明實施例的用于在多播消息傳送環(huán)境中訂閱應(yīng)用消息的示例性系統(tǒng)的網(wǎng) 絡(luò)和方塊圖。圖2的根據(jù)本發(fā)明實施例的在多播消息傳送環(huán)境中訂閱應(yīng)用 消息的系統(tǒng)通常按照以下步驟來操作消息接收設(shè)備(210 )請求流管理服 務(wù)器初始化對來自消息發(fā)送設(shè)備(208)的應(yīng)用消息的消息訂閱。消息訂閱 是消息接收設(shè)備被授權(quán)從消息發(fā)送設(shè)備接收的 一組應(yīng)用消息。消息接收設(shè) 備(210 )從流管理服務(wù)器(212 )接收來自消息發(fā)送設(shè)備(208 )的多播消 息流(280)的數(shù)據(jù)通信端點。消息接收設(shè)備(210)開始在數(shù)據(jù)通信端點 處監(jiān)聽?wèi)?yīng)用消息。當(dāng)開始監(jiān)聽?wèi)?yīng)用消息之后,消息接收設(shè)備(210 )通知消 息發(fā)送設(shè)備(208 )在數(shù)據(jù)通信端點處發(fā)布應(yīng)用消息。消息接收設(shè)備(210 ) 也可以通知消息發(fā)送設(shè)備(208 )在數(shù)據(jù)通信端點處停止發(fā)布應(yīng)用消息。消 息接收設(shè)備(210)還可以請求流管理服務(wù)器(212)關(guān)閉消息訂閱。在圖 2的示例性系統(tǒng)中,消息接收設(shè)備(210)實現(xiàn)為訂閱客戶端設(shè)備,而消息 發(fā)送設(shè)備(208)實現(xiàn)為饋送適配器。
      圖2中所示的高速低等待時間數(shù)據(jù)通信環(huán)境(201)包括高速低等待時 間數(shù)據(jù)通信網(wǎng)絡(luò)(200)。網(wǎng)絡(luò)(200)包括饋送適配器(208)、流管理服 務(wù)器(212)和訂閱客戶端設(shè)備(210),以及用于將這些設(shè)備(208、 212、 210)連接在一起以便進(jìn)行數(shù)據(jù)通信的^5出設(shè)施。圖2的網(wǎng)絡(luò)(200)稱為 '高速低等待時間,,因為在連接到網(wǎng)絡(luò)(200)的設(shè)備之間,在流管理服 務(wù)器(212)管理的消息流上發(fā)送的應(yīng)用消息繞過了流管理服務(wù)器(212)。 例如,在消息流(280)上從饋送適配器(208)到訂閱客戶端設(shè)備(210) 的應(yīng)用消息繞過了流管理服務(wù)器(212)。盡管此類消息不會因在流管理服務(wù)器(212)中進(jìn)行處理而延遲,但是流管理服務(wù)器(212)仍保留對連接 到高速低等待時間數(shù)據(jù)通信網(wǎng)絡(luò)(200)的設(shè)備之間的流(280)的管理。
      為了進(jìn)一步有助于網(wǎng)絡(luò)(200)的'高速低等待時間,特性,將注意到 網(wǎng)絡(luò)(200)不包括路由器,路由器是一種計算機(jī)聯(lián)網(wǎng)設(shè)備,其基本功能是 跨網(wǎng)絡(luò)將數(shù)據(jù)分組轉(zhuǎn)發(fā)到其目的地。相反,每個設(shè)備(208、 212、 210 )都通信的路由功能。由于網(wǎng)絡(luò)(200)不包括專用于路由數(shù)據(jù)分組的計算機(jī)聯(lián) 網(wǎng)設(shè)備,所以圖2的網(wǎng)絡(luò)(200)可以稱為"最低程度路由網(wǎng)絡(luò)"。盡管圖 2所示的示例性網(wǎng)絡(luò)(200)不包括路由器,但是此類最低程度路由網(wǎng)絡(luò)只 是為了說明。實際上,某些根據(jù)本發(fā)明的實施例的用于在多播消息傳送環(huán) 境中訂閱應(yīng)用消息的高速低等待時間網(wǎng)絡(luò)可以包括路由器。
      在圖2中所示的高速低等待時間數(shù)據(jù)通信環(huán)境(201)包括多播消息流 (280 )。多播消息流是在發(fā)送設(shè)備的通信端點與至少 一個接收設(shè)備的通信 端點之間的多播數(shù)據(jù)通信頻道。通信端點包括網(wǎng)絡(luò)地址和用于發(fā)送設(shè)備或 接收設(shè)備的端口。在多播數(shù)據(jù)通信頻道中,在消息的目的地地址與接收設(shè) 備的通信端點之間存在一對多的關(guān)系。也就是說,每個目的地地址都確定 了一組接收設(shè)備(流的每個消息要復(fù)制到其)的通信端點。多播數(shù)據(jù)通信 頻道可以例如使用用戶數(shù)據(jù)報協(xié)議("UDP")和網(wǎng)際協(xié)議("IP")、 實際通用多播("PGM")協(xié)議或任何其他本領(lǐng)域的技術(shù)人員將想到的多 播數(shù)據(jù)通信協(xié)議來實現(xiàn)。
      圖2的示例性系統(tǒng)包括通過有線連接(262 )連接到高速低等待時間數(shù) 據(jù)通信網(wǎng)絡(luò)(200)的流管理服務(wù)器(212)。圖2的流管理服務(wù)器(212) 是其上安裝有流管理模塊(228)、認(rèn)iM^塊(230)、授^Uf莫塊(234)和 授權(quán)策略(235)的計算機(jī)設(shè)備。流管理模塊(228)是包括一組計算機(jī)程 序指令的軟件組件,所述指令用于代理建立從饋送適配器(208)到訂閱客 戶端設(shè)備(210)的消息流(280)。流管理模塊(228)可以通過以下步驟 來代理建立消息流(280):接收來自訂閱客戶端設(shè)備(210)的初始化消 息訂閱的請求、認(rèn)證訂閱客戶端設(shè)備(210)、授權(quán)訂閱客戶端設(shè)備(210)從饋送適配器(208 )接收消息流(280)上的應(yīng)用消息(240 ),以及從消 息發(fā)送設(shè)備(208)向訂閱客戶端設(shè)備(210)提供消息流(280)的數(shù)據(jù)通 信端點。除了代理建立消息流(280),流管理模塊(228)還包括一組用 于在消息傳送環(huán)境(201)中執(zhí)行其他管理功能的計算機(jī)程序指令,例如, 響應(yīng)于從訂閱客戶端設(shè)備(210 )接收到發(fā)布通知,通知饋送適配器(208 ) 開始在消息流(280)上發(fā)布消息。
      圖2的認(rèn)證模塊(230 )是一組能夠通過暴露的認(rèn)證應(yīng)用編程接口 ("API" ) (232)來向流管理模塊(228)提供認(rèn)證安全服務(wù)的計算機(jī) 程序指令。認(rèn)證是檢驗實體的身份的過程。在圖2的示例性系統(tǒng)中,認(rèn)證 模塊(230 )檢驗訂閱客戶端設(shè)備(210 )的身份。認(rèn)證模塊(230 )可以使 用各種安全基礎(chǔ)設(shè)施(例如,共享密鑰基礎(chǔ)設(shè)施或^H^^i^出設(shè)施)來提供 認(rèn)證安全服務(wù)。
      圖2的授權(quán)模塊(234)是一組能夠通it^露的授權(quán)API (236)向流 管理模塊(228 )提供授權(quán)安全服務(wù)的計算機(jī)程序指令。授權(quán)是僅允許由已 被授權(quán)使用資源的資源使用者來使用資源的過程。在圖2的實例中,授權(quán) 模塊(234)標(biāo)識訂閱客戶端設(shè)備(210 )被授權(quán)在消息流(280)上接收的 應(yīng)用消息。圖2的授權(quán)模塊(234)使用授權(quán)策略(235)來提供授權(quán)安全 服務(wù)。授權(quán)策略(235 )是一組管理被授權(quán)實體在消息流上發(fā)送和接收應(yīng)用 消息的權(quán)限的規(guī)則。例如,在金融市場數(shù)據(jù)環(huán)境中,授權(quán)實體可以被授權(quán) 接收包含某些金融證券(而非其他證券)的金融報價的應(yīng)用消息。授權(quán)策 略(235)可以在單個實體或?qū)嶓w在組中的成員資格的基礎(chǔ)上授予權(quán)限。
      在圖2的示例性系統(tǒng)中,饋送適配器(208)通過有線連接(260)連 接到高速低等待時間數(shù)據(jù)通信網(wǎng)絡(luò)(200)。饋送適配器(208)是一種計 算機(jī)設(shè)備,能夠?qū)⒃陴佀瓦m配器輸入流(214)上接收的具有第一格式的應(yīng) 用消息轉(zhuǎn)換為在饋送適配器輸出流(216)上向訂閱客戶端設(shè)M輸?shù)木哂?第二格式的應(yīng)用消息。饋送適配器輸入流(214 )是從饋送源到饋送適配器 (208)的消息流。饋送適配器輸出流(216)是由流管理服務(wù)器(212)管 理的從饋送適配器(208)到訂閱客戶端設(shè)備(210)的消息流。
      在圖2的實例中,饋送適配器(208)在饋送適配器輸入流(214)上 從饋送源(213)接收應(yīng)用消息。饋送源(213)是一種計算機(jī)設(shè)備,能夠 將數(shù)據(jù)聚合為應(yīng)用消息并將所述消息發(fā)送至饋送適配器。例如,在金融市 場數(shù)據(jù)環(huán)境中,饋送源(213)可以實現(xiàn)為由可選價糾艮告機(jī)構(gòu)(Options Price Reporting Authority, "OPRA")控制的饋送源。OPRA是由美國 證券買賣交易產(chǎn)生的金融市場信息的證券信息處理器。OPRA所發(fā)布的核 心信息是最終的銷售報告和報價。金融市場數(shù)據(jù)環(huán)境中的饋送源的其他實 例可以包括由Consolidated Tape Association ( "CTA")或Nasdaq Stock Market, Inc控制的饋送源。CTA監(jiān)管在紐約股票交易所和美國股票交易 所列出證券的實時交易和報價信息的發(fā)布。Nasdaq Stock Market, Inc運作 NASDAQ Market Centers^,后者是美國的基于電子屏幕的股票證券市場。 在金融市場數(shù)據(jù)環(huán)境中,將饋送適配器輸入流稱為"金融市場數(shù)據(jù)饋送"。 圖2的饋送適配器(208 )上安裝有轉(zhuǎn)換模塊(220 )、轉(zhuǎn)換表(222 )、 轉(zhuǎn)換功能庫(224)、消息庫(225)、消息模型(244)、消息傳送中間件 (276)以及傳輸引擎(278)。轉(zhuǎn)換模塊(220)是一組計算^4呈序指令, 用于將在饋送適配器輸入流(214 )上接收的具有第一格式的應(yīng)用消息轉(zhuǎn)換 為具有第二格式的應(yīng)用消息(240),以便在饋送適配器輸出流(216)上 傳輸?shù)接嗛喸O(shè)備。
      轉(zhuǎn)換模塊(220)根據(jù)轉(zhuǎn)換表(222)將應(yīng)用消息從第一格式轉(zhuǎn)換為第 二格式。圖2的轉(zhuǎn)換表(222 )是數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)規(guī)定了能夠?qū)?yīng)用 消息從一種格式轉(zhuǎn)換為另一種格式的轉(zhuǎn)換功能。通過使用多個轉(zhuǎn)換表,轉(zhuǎn) 換模塊(220)可以將消息從多種輸入格式轉(zhuǎn)換為多種輸出格式。在圖2 的實例中,轉(zhuǎn)換表(222)規(guī)定了能夠?qū)酿佀瓦m配器輸入流(214)接收 的具有第一格式的應(yīng)用消息轉(zhuǎn)換為具有第二格式的應(yīng)用消息(240 )以^f更在 憒送適配器輸出流(216)上傳輸?shù)接嗛喛蛻舳嗽O(shè)備的轉(zhuǎn)換功能。圖2的轉(zhuǎn) 換表(222)可以使用結(jié)構(gòu)化文檔(例如,可擴(kuò)展標(biāo)記語言("XML") 文檔)來實現(xiàn)。
      圖2的轉(zhuǎn)換功能庫(224 )是可加載的軟件模塊,該模塊包含一個或多個轉(zhuǎn)換功能,能夠?qū)?yīng)用消息中的數(shù)據(jù)字段從一種格式轉(zhuǎn)換為另一種格式, 或?qū)?shù)據(jù)字段的值從一個值轉(zhuǎn)換為另一個值。包含在轉(zhuǎn)換功能庫中的轉(zhuǎn)換功能可以例如將16位整數(shù)轉(zhuǎn)換為32位整數(shù)、將存儲在字符串字段中的數(shù) 字轉(zhuǎn)換為64位雙浮點值、將一個數(shù)據(jù)字段的值增加l,或是本領(lǐng)域的技術(shù) 人員將想到的任何其他轉(zhuǎn)換。轉(zhuǎn)換模塊(220)通過轉(zhuǎn)換功能庫(224)的 轉(zhuǎn)換功能暴露的一組轉(zhuǎn)換功能API (226)來訪問轉(zhuǎn)換功能。在圖2的實例 中,轉(zhuǎn)換功能庫(224)可以實現(xiàn)為在運行時可用于轉(zhuǎn)換模塊(220)的動 態(tài)鏈接庫、在編譯時鏈接到轉(zhuǎn)換模塊(220)的靜態(tài)鏈接庫、動態(tài)加載Java 類,或本領(lǐng)域的技術(shù)人員將想到的任何其他實施方式。
      在圖2的實例中,由饋送適配器(208)傳輸?shù)膽?yīng)用消息(240)具有 在消息模型(244)中指定的格式。消息模型(244)是定義用于創(chuàng)建、訪 問和操縱應(yīng)用消息(240)(轉(zhuǎn)換自從饋送源(213 )接收的應(yīng)用消息(未 示出))的結(jié)構(gòu)和格式的元數(shù)據(jù)。也就是說,消息模型(244)指定了用于 解釋應(yīng)用消息的消息格式并包括一個或多個字段定義。每個字段定義都指 定了在應(yīng)用消息中存儲數(shù)據(jù)的消息字段并包括消息字段的字段特性。在圖 2的實例中,當(dāng)流管理服務(wù)器(212)代理到訂閱客戶端設(shè)備的消息流時, 由流管理服務(wù)器(212)在饋送適配器(208)和訂閱客戶端設(shè)備(210)兩 者上建立消息;漠型(244)??梢允褂媒Y(jié)構(gòu)化文檔(如XML文檔)、Java 對象、C++對象或本領(lǐng)域的技術(shù)人員將想到的任何其他實施方式來實現(xiàn)消 息模型。
      在圖2的實例中,轉(zhuǎn)換模塊(220)和轉(zhuǎn)換功能庫(224)的轉(zhuǎn)換功能 使用消息庫(225)來處理包含在應(yīng)用消息(240)中的數(shù)據(jù)。消息庫(225) 是軟件模塊,其包括一組用于根據(jù)消息模型(244)來創(chuàng)建、訪問和操縱消 息(240)的功能。通過消息庫(225)暴露的消息API (227),轉(zhuǎn)換模塊 (220)、轉(zhuǎn)換功能庫(224)的轉(zhuǎn)換功能以及消息傳送中間件(276)可以 訪問消息庫(225)。
      在圖2的轉(zhuǎn)換模塊(220)對應(yīng)用消息執(zhí)行數(shù)據(jù)處理之前,轉(zhuǎn)換模塊 (220)從饋送源(213)接收具有第一格式的應(yīng)用消息(未示出)。圖2的轉(zhuǎn)換模塊(220 )可以通過饋送適配器(208 )的接收傳輸引擎(未示出) 來接收源流消息。接收傳輸引擎是工作在網(wǎng)絡(luò)堆棧的傳輸層的軟件模塊, 并且可以根據(jù)UDP/IP協(xié)議、PGM協(xié)議或本領(lǐng)域技術(shù)人員將想到的任何其 他數(shù)據(jù)通信協(xié)議來實現(xiàn)。接收傳輸引擎可以將接收的應(yīng)用消息直接提供給 轉(zhuǎn)換模塊(220),或提供給消息傳送中間件(276),后者又將源流消息 提供給轉(zhuǎn)換模塊(220)。
      在圖2的轉(zhuǎn)換模塊(220)對從饋送源(213)接收的應(yīng)用消息執(zhí)行數(shù) 據(jù)處理之后,轉(zhuǎn)換模塊(220 )將具有第二格式的應(yīng)用消息提供給消息傳送 中間件(276)。圖2的消息傳送中間件(276)是在饋送適配器(208)、 可能存在的任何備用饋送適配器、訂閱客戶端設(shè)備(210 )以及饋送源(213 ) 之間提供高可用性服務(wù)的軟件組件。另外,圖2的消息傳送中間件(276) 包括一組用于根據(jù)本發(fā)明的實施例在多播消息傳送環(huán)境中訂閱應(yīng)用消息的 計算機(jī)程序指令。消息傳送中間件(276)通常通過以下操作來根據(jù)本發(fā)明 的實施例在多播消息傳送環(huán)境中訂閱應(yīng)用消息接收發(fā)布應(yīng)用消息的通知, 并且響應(yīng)于接收到發(fā)布應(yīng)用消息的通知,增加代表用戶對所述應(yīng)用消息的 興趣的計算機(jī)數(shù)據(jù)元素的值。當(dāng)代表用戶興趣的值大于零時,消息傳送中 間件(276)將具有在發(fā)布通知中指定的特性的應(yīng)用消息提供給傳輸引擎 (278)以便傳輸?shù)接嗛喛蛻舳嗽O(shè)備(210)。消息傳送中間件(276)通常 從流管理服務(wù)器(212)接收發(fā)布通知。從轉(zhuǎn)換模塊(220)接收提供給傳 輸引擎(278)的應(yīng)用消息。轉(zhuǎn)換^^莫塊(220)通過消息傳送中間件(276) 暴露的消息傳送中間件API (266)來與消息傳送中間件(276)交互。
      在圖2的實例中,饋送適配器(208)還提供了停止在消息流上發(fā)布特 定應(yīng)用消息以及停止轉(zhuǎn)換用戶不希望發(fā)布的消息的能力。也就是說,消息 傳送中間件(276 )還通常通過以下操縱來根據(jù)本發(fā)明的實施例在多播消息 傳送環(huán)境中訂閱應(yīng)用消息接收停止發(fā)布應(yīng)用消息的通知,響應(yīng)于接收到 停止發(fā)布應(yīng)用消息的通知,減小代表用戶對應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù) 元素的值,判定代表用戶對應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的值是否低 于預(yù)定閾值,以及如果代表用戶對應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的值低于預(yù)定閾值,則通知數(shù)據(jù)提供者停止向消息發(fā)送設(shè)備提供應(yīng)用消息。在
      圖2的實例中,將數(shù)據(jù)提供方實現(xiàn)為饋送源(213 )。當(dāng)由于饋送適配器(208 ) 不再具有任何對應(yīng)用消息感興趣的用戶而使代表用戶興趣的值低于零時, 饋送適配器(208)通知饋送源(213)停止提供應(yīng)用消息。為了區(qū)分由饋 送適配器傳輸?shù)母鞣N類型的消息,饋送適配器可以具有多個值,每個值都 代表用戶對特定類型的應(yīng)用消息的興趣。
      圖2的傳輸引擎(278)是工作在由國際標(biāo)準(zhǔn)化組織所提出的OSI協(xié) 議堆棧的傳輸和網(wǎng)絡(luò)層的軟件組件。傳輸引擎(278 )在聯(lián)網(wǎng)的設(shè)備之間提 供數(shù)據(jù)通信服務(wù)??梢愿鶕?jù)UDP/IP協(xié)議、PGM協(xié)議或任何其他本領(lǐng)域技 術(shù)人員將想到的數(shù)據(jù)通信協(xié)議來實現(xiàn)傳輸引擎。傳輸引擎(278 )是軟件模 塊,包括一組用于向訂閱客戶端設(shè)備(210 )發(fā)送應(yīng)用消息的計算機(jī)程序指 令。圖2的傳輸引擎(278)可以通過以下操縱來發(fā)送應(yīng)用消息(240): 從消息傳送中間件(276)接收應(yīng)用消息,將消息傳送中間件(276)提供 的應(yīng)用消息封裝成傳輸分組,以及通過消息流(280)向訂閱客戶端設(shè)備 (210 )發(fā)送分組。消息傳送中間件(276 )通過傳輸引擎(278 )暴露的傳 輸API (268)來操作傳輸引擎(278)。
      圖2的示例性系統(tǒng)中的訂閱客戶端設(shè)備(210)通過有線連接(264) 連接到高速低等待時間數(shù)據(jù)通信網(wǎng)絡(luò)(200)。圖2的訂閱客戶端設(shè)備(210) 是能夠訂閱由各個饋送適配器發(fā)送的消息流的計算機(jī)設(shè)備。例如,在金融 市場數(shù)據(jù)環(huán)境中,訂閱客戶端設(shè)備可以訂閱行情,以便在消息流(由金融 證券代理商控制的饋送適配器提供)上接收特定證券的出價和要價。
      在圖2的實例中,訂閱客戶端設(shè)備(210)上安裝有應(yīng)用(238)、消 息庫(248 )、消息模型(244 )、消息傳送中間件(252 )、流管理庫(272 ) 以及傳輸引擎(256)。應(yīng)用(238)是處理從饋送適配器(208)接收的應(yīng) 用消息(240)中包含的數(shù)據(jù)的軟件組件。應(yīng)用(238)可以處理數(shù)據(jù)以供 訂閱客戶端設(shè)備(210 )自身使用、將所述數(shù)據(jù)提供給另一個饋送適配器、 或?qū)⑺鰯?shù)據(jù)用于其他設(shè)備。在金融市場數(shù)據(jù)環(huán)境中,安裝在訂閱客戶端應(yīng)用。所述應(yīng)用還可以是增值應(yīng)用,其向行情提供諸如特定證券的最佳買賣價格(通常未包含在饋送源(213)提供的行情中)之類的信息。然后, 訂閱客戶端設(shè)備可以將該行情發(fā)送給饋送適配器以重新銷售給其他訂閱客 戶端設(shè)備。
      應(yīng)用(238)使用消息庫(248)來處理包含在應(yīng)用消息(240)中的數(shù) 據(jù)。消息庫(248)是包含一組功能的軟件模塊,所述功能用于根據(jù)安裝在 饋送適配器(208)和訂閱客戶端設(shè)備(210)兩者上的消息模型(244)來 創(chuàng)建、訪問和操縱消息(240)。應(yīng)用(238)可通過消息庫(248)暴露的 消息API ( 250 )來訪問消息庫(248 )。
      訂閱客戶端設(shè)備(210)與流管理服務(wù)器(212)之間的通信可以使用 流管理庫(272)來實現(xiàn)。流管理庫(272)是一組包含在動態(tài)鏈接庫或靜 態(tài)鏈接庫中的功能,所述庫通過流管理庫API(274)而可用于應(yīng)用(238)。 通過流管理庫(272),圖2的訂閱客戶端設(shè)備(210)可以請求訂閱來自 饋送適配器的消息、修改現(xiàn)有的消息訂閱或取消訂閱。流管理庫(272)包 括一組用于才艮據(jù)本發(fā)明的實施例在消息傳送環(huán)境中訂閱應(yīng)用消息的計算機(jī) 程序指令。流管理庫(272 )通常通過以下操作來根據(jù)本發(fā)明的實施例在消 息傳送環(huán)境中訂閱應(yīng)用消息請求流管理服務(wù)器(212 )初始化來自消息發(fā) 送設(shè)備(208 )的應(yīng)用消息的消息訂閱,在消息接收設(shè)備中從流管理服務(wù)器(212 )接收來自消息發(fā)送設(shè)備(208 )的多播消息流(280)的數(shù)據(jù)通信端 點,在數(shù)據(jù)通信端點處開始監(jiān)聽?wèi)?yīng)用消息,以及在開始監(jiān)聽?wèi)?yīng)用消息之后, 通知消息發(fā)送設(shè)備(208 )在數(shù)據(jù)通信端點處發(fā)布應(yīng)用消息。當(dāng)流管理庫272)接收數(shù)據(jù)通信端點時,流管理庫(272)除了接收數(shù)據(jù)通信端點以 外,還可以接收一個或多個備選數(shù)據(jù)通信端點。
      流管理庫(272 )也通常通過以下操作來根據(jù)本發(fā)明的實施例在消息傳 送環(huán)境中訂閱應(yīng)用消息通知消息發(fā)送設(shè)備在數(shù)據(jù)通信端點處停止發(fā)布應(yīng) 用消息,請求流管理服務(wù)器關(guān)閉消息訂閱。由應(yīng)用(238)使用的流管理庫(272)的功能可以通過調(diào)用CORBA對象的成員方法、使用Java遠(yuǎn)程方 法調(diào)用("RMI" ) API調(diào)用遠(yuǎn)程對象的成員方法、使用Web服務(wù),或本領(lǐng)域的技術(shù)人員將想到的任何其他通信實施方式來通過網(wǎng)絡(luò)(200)與流管理服務(wù)器(212 )通信。
      "CORBA"指公共對象請求代理體系結(jié)構(gòu),其是對象管理組("OMG")提出的用于可互操作企業(yè)應(yīng)用的計算機(jī)工業(yè)規(guī)范。CORBA 是由OMG于1991年首次發(fā)布的用于遠(yuǎn)程過程調(diào)用的標(biāo)準(zhǔn)。CORBA可以 被認(rèn)為是一種進(jìn)行遠(yuǎn)程過程調(diào)用的面向?qū)ο蟮姆椒?,盡管CORBA支持在 傳統(tǒng)RPC中并不存在的特性。CORBA使用說明性語言(接口定義語言("IDL"))來描述對象的接口。 IDL中的接口描述被編輯以生成用于 客戶端側(cè)的"存根,,和用于服務(wù)器側(cè)的"構(gòu)架"。使用此生成的代碼,在 面向?qū)ο蟮木幊陶Z言(如C+十或Java)中實現(xiàn)的遠(yuǎn)程方法調(diào)用看起來像本 地對象中的本地成員方法的調(diào)用。
      javaTM遠(yuǎn)程方法調(diào)用API是用于執(zhí)行由SunMicrosystemsTM發(fā)布的遠(yuǎn) 程過程調(diào)用的Java應(yīng)用編程接口 。 JavaTM RMI API是一種在存在于單獨 JavaTM虛擬機(jī)(通常在單獨的計算機(jī)上運行)中的Java對象之間進(jìn)行遠(yuǎn)程 過程調(diào)用的面向?qū)ο蟮姆椒?。JavaTMRMI API使用遠(yuǎn)程過程對象接口來描 述位于服務(wù)器上的遠(yuǎn)程對象。在RMI注冊表(其中Java客戶端可以獲得 對遠(yuǎn)程Java對象的遠(yuǎn)程接口的引用)中發(fā)布遠(yuǎn)程過程對象接口。通過使用 編輯的用于客戶端側(cè)的"存根"和用于服務(wù)器側(cè)的"構(gòu)架"來提供網(wǎng)絡(luò)連 接操作,JavaTM RMI允許Java客戶端像任何其他本地Java對象那樣來訪 問遠(yuǎn)程Java對象。
      在應(yīng)用(238 )處理包含在應(yīng)用消息(240 )中的數(shù)據(jù)之前,應(yīng)用(238 ) 從消息傳送中間件(252)接收消息(240),消息傳送中間件(252)又通 過傳輸引擎(256)從饋送適配器(208)接收應(yīng)用消息(240)。消息傳送 中間件(252)是在訂閱客戶端設(shè)備(210)、饋送適配器(208)、任何備 用饋送適配器,以及流管理模塊(212 )之間提供高可用性服務(wù)的軟件組件。 消息傳送中間件(252 )通過從流管理庫(272 )接收消息流(280)的數(shù)據(jù) 通信端點和一個或多個備選端點來提供此類高可用性服務(wù)。消息傳送中間 件(252 )包括一組用于通過以下操作來根據(jù)本發(fā)明的實施例在多播消息傳
      送環(huán)境中訂閱應(yīng)用消息的計算機(jī)程序指令標(biāo)識數(shù)據(jù)通信端點的故障狀況, 以及響應(yīng)于所述故障狀況,從在數(shù)據(jù)通信端點處監(jiān)聽?wèi)?yīng)用消息切換至在備選數(shù)據(jù)通信端點之一處監(jiān)聽?wèi)?yīng)用消息。應(yīng)用(238)和流管理庫(272)通過消息傳送中間件API (254)來與消息傳送中間件(252)交互。
      圖2的傳輸引擎(256)是工作在由國際標(biāo)準(zhǔn)化組織提出的OSI協(xié)議 堆棧的傳輸和網(wǎng)絡(luò)層中的軟件組件。傳輸引擎(256)在聯(lián)網(wǎng)設(shè)備之間提供數(shù)據(jù)通信服務(wù)。可以根據(jù)UDP/IP協(xié)議、PGM協(xié)議或本領(lǐng)域技術(shù)人員想到的任何其他數(shù)據(jù)通信協(xié)議來實現(xiàn)傳輸引擎。傳輸引擎(256)是用于從饋送 適配器(208)接收應(yīng)用消息(240)的軟件組件。傳輸引擎(256)通過以下操作來接收應(yīng)用消息(240)通過消息流(280) 反饋送適配器(208) 接收傳輸分組,從接收的分組中解封裝應(yīng)用消息(240),以及向訂閱客戶端設(shè)備(210)的消息傳送中間件(252 )提供應(yīng)用消息(240)。在圖2 的實例中,消息傳送中間件(252)通過傳輸引擎(256)暴露的傳輸API (258)來操作傳輸引擎(256)。
      在圖2的示例性系統(tǒng)中示出的服務(wù)器和其他設(shè)備是用于說明而非進(jìn)行 限制。用于在多播消息傳送環(huán)境中訂閱應(yīng)用消息的設(shè)備可以使用通用計算機(jī)來實現(xiàn),例如,計算機(jī)服務(wù)器或工作站、手持計算機(jī)設(shè)備如個人數(shù)字助理("PDA")或移動電話,或本領(lǐng)域技術(shù)人員所想到的任何其他根據(jù)本發(fā)明實施例的用于數(shù)據(jù)處理的自動化計算機(jī)器。
      構(gòu)成圖2中所示的示例性系統(tǒng)的服務(wù)器和其他設(shè)備的布置是用于說明 而非進(jìn)行限制。盡管到圖2的網(wǎng)絡(luò)(200)的連接是以有線連接來示出和描述的,但是讀者將注意到,根據(jù)本發(fā)明的各種實施例,還可以使用無線連接。此外,用于根據(jù)本發(fā)明的各種實施例的數(shù)據(jù)處理系統(tǒng)可以包括本領(lǐng)域 技術(shù)人員將想到的未在圖2中示出的額外服務(wù)器、路由器、其他設(shè)備和對等體系結(jié)構(gòu)。此類數(shù)據(jù)處理系統(tǒng)中的網(wǎng)絡(luò)可以支持多種數(shù)據(jù)通信協(xié)議,包括例如傳輸控制協(xié)議("TCP")、網(wǎng)際協(xié)議("IP")、超文本傳輸協(xié) 議("HTTP")、無線接入?yún)f(xié)議("WAP")、手持設(shè)M輸協(xié)i義("HDTP") 以及其他本領(lǐng)域技術(shù)人員將想到的協(xié)議。除了圖2中示出的以外,本發(fā)明的各種實施例還可以在多種硬件平臺上實現(xiàn)。
      在一些實施例中,根據(jù)本發(fā)明的在多播消息傳送環(huán)境中訂閱應(yīng)用消息 可以使用 一個或多個消息接收設(shè)備、流管理服務(wù)器和消息發(fā)送設(shè)備來實現(xiàn)。 這些設(shè)備和服務(wù)器又在某種程度上至少可以作為計算機(jī)(即,自動化計算機(jī)器)來實現(xiàn)。因此,為了進(jìn)一步說明,圖3示出了才艮據(jù)本發(fā)明的實施例 的包括在多播消息傳送環(huán)境中訂閱應(yīng)用消息中使用的示例性消息接收設(shè)備(300)的自動化計算機(jī)器的方塊圖。圖3的消息接收設(shè)備(300)包括至 少一個計算機(jī)處理器(156)或"CPU",以及隨機(jī)存取存儲器(168)("RAM"),隨M取存儲器(168)通過高速存儲器總線(166)和總 線適配器(158)連接到處理器(156)和消息接收設(shè)備的其他組件。
      存儲在RAM (168)中的是應(yīng)用(238 )、消息(240 )、消息模型(244)、 消息庫(248 )、消息傳送中間件(252 )、流管理庫(272 )和傳輸引擎(256)。 每個應(yīng)用消息(240)都是一定量的包括一個或多個數(shù)據(jù)字段的數(shù)據(jù),并在 消息流上從一個i殳備發(fā)送至另一個設(shè)備。如上所述,消息可以代表數(shù)字或 文本信息、圖像、加密信息、計算機(jī)程序指令等。例如,在金融市場數(shù)據(jù) 環(huán)境中,消息通常被稱為"行情,,并代表諸如金融才艮價或金融新聞之類的 金融市場數(shù)據(jù)??梢浴嚼粲媒Y(jié)構(gòu)化文檔(如XML文檔)、Java對象、C++ 對象或任何其他本領(lǐng)域技術(shù)人員將想到的實施方式來實現(xiàn)每個應(yīng)用消息(240)。消息模型(244)是定義消息(240)的結(jié)構(gòu)和格式的元數(shù)據(jù)。消 息模型(244)也可以使用結(jié)構(gòu)化文檔(如XML文檔)、Java對象、C++ 對象或任何其他本領(lǐng)域技術(shù)人員將想到的實施方式來實現(xiàn)。圖3所示的應(yīng) 用(238)、消息庫(248)、消息傳送中間件(252)、流管理庫(272) 和傳輸引擎(256 )是軟件組件,所述軟件組件是如上所述根據(jù)圖2的訂閱 客戶端設(shè)備工作的計算機(jī)程序指令。
      RAM (168)中還存儲了操作系統(tǒng)(154)。根據(jù)本發(fā)明實施例的在消 息接收設(shè)備中使用的操作系統(tǒng)包括UNIXrM, LinuxTM, MicrosoftNTTM, IBM的AIXTM, IBM的i5/OSTM以及本領(lǐng)域技術(shù)人員將想到的其他操作系 統(tǒng)。圖3的實例中的操作系統(tǒng)(154)、應(yīng)用(238)、消息(240)、消息模型(244 )、消息庫(248)、消息傳送中間件(252 )和傳輸引擎(256 ) 示為在RAM(168)中,但是此類軟件的許多組件通常還存儲在非易失性 存儲器中,例如存儲在盤驅(qū)動器(170)上。
      圖3的示例性消息接收設(shè)備(300)包括總線適配器(158)、包含用 于高速總線的驅(qū)動電子設(shè)備的計算機(jī)硬件組件、前端總線(162)、視頻總 線(164)和存儲器總線(166),以及用于較慢的擴(kuò)展總線(160)的驅(qū)動 電子設(shè)備。根據(jù)本發(fā)明實施例的用于消息接收設(shè)備的總線適配器的實例包 括Intel北橋、Intel存儲器控制器集線器、Intel南橋以及Intel I/O控制器 集線器。根據(jù)本發(fā)明實施例的用于消息接收設(shè)備中的擴(kuò)展總線的實例可以 包括外圍組件互連("PCI")總線和PCI Express ( "PCIe")總線。
      圖3的示例性消息接收設(shè)備(300)還包括盤驅(qū)動器適配器(172), 其通過擴(kuò)展總線(160)和總線適配器(158 )與示例性消息接收i殳備(300 ) 的處理器(156 )和其他組件相連。盤驅(qū)動器適配器(172 )以盤驅(qū)動器(170 ) 的方式將非易失性數(shù)據(jù)存儲裝置連接到示例性消息接收設(shè)備(300)。用于 消息接收設(shè)備中的盤驅(qū)動器適配器包括集成驅(qū)動器電子設(shè)備("IDE") 適配器、小型計算機(jī)系統(tǒng)接口 ( "SCSI")適配器,以及本領(lǐng)域技術(shù)人員 將想到的其他適配器。另外,對于消息接收設(shè)備,非易失性計算機(jī)存儲器 可以實現(xiàn)為光盤驅(qū)動器、電可擦除可編程只讀存儲器(所謂的"EEPROM" 或"閃速"存儲器)、RAM驅(qū)動器等,如本領(lǐng)域的技術(shù)人員將想到的。
      圖3的示例性消息接收設(shè)備(300)包括一個或多個輸"輸出("I/O") 適配器(178)。消息接收設(shè)備中的I/O適配器通過例如軟件驅(qū)動器和計算 才;u更件來實現(xiàn)面向用戶的輸7W輸出,以便控制到顯示設(shè)備(如計算機(jī)顯示 屏)的輸出以及來自用戶輸入設(shè)備(181)(如鍵盤和鼠標(biāo))的用戶輸入。 圖3的示例性消息接收設(shè)備(300)包括視頻適配器(209),后者是專用 于向顯示設(shè)備(180 )(如顯示屏或計算機(jī)監(jiān)視器)進(jìn)行圖形輸出的I/O適 配器的一個實例。視頻適配器(209)通過高速視頻總線(164)、總線適 配器(158)和前端總線(162 )(其也是高速總線)連接到處理器(156)。
      圖3的示例性消息接收設(shè)備(300)包括用于與其他計算機(jī)(182)進(jìn)
      行數(shù)據(jù)通信以及與高速低等待時間數(shù)據(jù)通信網(wǎng)絡(luò)(200 )進(jìn)行數(shù)據(jù)通信的通 信適配器(167)。可以串行地通過RS-232連接、通過如通用串行總線 ("USB")之類的外部總線、通過如IP數(shù)據(jù)通信網(wǎng)絡(luò)之類的數(shù)據(jù)通信網(wǎng) 絡(luò)以及本領(lǐng)域技術(shù)人員將想到的其他方式來實現(xiàn)此類數(shù)據(jù)通信。通信適配 器實現(xiàn)硬件級別的數(shù)據(jù)通信,通過通信適配器, 一臺計算機(jī)直接地或通過 數(shù)據(jù)通信網(wǎng)絡(luò)向另 一臺計算機(jī)發(fā)送數(shù)據(jù)通信。用于根據(jù)本發(fā)明實施例的在 多播消息傳送環(huán)境中訂閱應(yīng)用消息的通信適配器的實例包括用于有線撥號 通信的調(diào)制解調(diào)器、用于有線數(shù)據(jù)通信網(wǎng)絡(luò)通信的IEEE 802.3以太網(wǎng)適配 器,以及用于無線數(shù)據(jù)通信網(wǎng)絡(luò)通信的IEEE 802.11b適配器。
      盡管參考示例性消息接收設(shè)備討論了圖3,但是讀者應(yīng)注意到,用于 實現(xiàn)根據(jù)本發(fā)明實施例的用于在多播消息傳送環(huán)境中訂閱應(yīng)用消息的示例 性流管理服務(wù)器和示例性消息發(fā)送設(shè)備的自動化計算機(jī)器與圖3的示例性 消息接收設(shè)備(300)是類似的。也就是說,此類示例性流管理服務(wù)器和饋 送適配器包括一個或多個處理器、總線適配器、總線、RAM、視頻適配器、 通信適配器、I/O適配器、盤驅(qū)動器適配器以及其他本領(lǐng)域技術(shù)人員將想 到的與圖3的示例性消息接收設(shè)備(300)類似的組件。
      為了進(jìn)一步說明,圖4是示出了根據(jù)本發(fā)明的實施例的在多播消息傳 送環(huán)境中訂閱應(yīng)用消息的示例性方法的流程圖。圖4的方法包括由消息接 收設(shè)備請求流管理服務(wù)器(400)初始化來自消息發(fā)送設(shè)備的應(yīng)用消息的消 息訂閱。消息接收設(shè)備可以通過向流管理服務(wù)器發(fā)送訂閱初始化請求(402 ) 來請求(400 )流管理服務(wù)器初始化來自消息發(fā)送設(shè)備的應(yīng)用消息的消息訂 閱。訂閱初始化請求(402)可以作為XML文檔、對消息接收設(shè)備上的 RMI對象的成員方法調(diào)用,或任何其他本領(lǐng)域技術(shù)人員將想到的實施方式 來實現(xiàn)。例如,考慮以下實現(xiàn)為RMI對象的成員方法的示例性訂閱初始化 請求
      endpoint * initialize—subscription (string topic);
      示例性功能"initialize_subscription"指示流管理服務(wù)器初始化應(yīng)用消 息(具有由"topic"的值定義的特性)的消息訂閱。示例性功能"initialize—subscription"向計算機(jī)存儲器地址(該處存在代表數(shù)據(jù)通信端 點的數(shù)據(jù)結(jié)構(gòu))返回指針。讀者應(yīng)注意,上述示例性功能是為了說明而不 是進(jìn)行限制。實際上,本領(lǐng)域技術(shù)人員將想到的其他示例性功能也可以用 于根據(jù)本發(fā)明實施例的在多播消息傳送環(huán)境中訂閱應(yīng)用消息。
      圖4的訂閱初始化請求(402 )包括消息接收設(shè)備請求從消息發(fā)送設(shè)備 接收的應(yīng)用消息的主題(414 )。主題代表消息接收設(shè)^^請求接收的消息的 特性。每個應(yīng)用消息通常都包括描述包含在應(yīng)用消息中的信息的主題數(shù)據(jù) 字段。通過使用主題,消息接收設(shè)備可以指定該消息接收設(shè)備請求從消息 發(fā)送設(shè)備接收的消息的組。例如,在金融市場數(shù)據(jù)環(huán)境中,消息接收設(shè)備 可以使用主題來請求從OPRA饋送源接收行情,該行情包含在芝加哥期權(quán) 交易所("CBOE")上交易的IBM期權(quán)的報價,其包括在CBOE上的 IBM期權(quán)的最佳買賣價格。
      圖4的訂閱初始化請求(402)還包括用于消息接收設(shè)備的安全證書
      (416)。作為初始化消息訂閱的一部分,流管理服務(wù)器通常對消息接收設(shè) 備的身份進(jìn)行認(rèn)證,并判定消息接收設(shè)備是否被授權(quán)接收所請求的應(yīng)用消 息。安全證書(416)可以實現(xiàn)為公共密鑰基礎(chǔ)設(shè)施中的數(shù)字簽名、安全令
      起者的身份進(jìn)行認(rèn)證的安全數(shù)據(jù),安全令牌的實例可以包括在由IBM, Microsoft和VeriSign開發(fā)的名為"Web服務(wù)安全"("WS-Security") 的Web月良^H^范或由IBM, Microsoft, VeriSign, OpenNetworks, Layer 7, Computer Associates, BEA, Oblix, Reactivity, RSA Security, Ping Identity和Actional開發(fā)的名為"Web服務(wù)信任語言"("WS-Trust") 的Web服務(wù)規(guī)范中描述的那些安全令牌。
      如果流管理服務(wù)器判定消息接收設(shè)備被授權(quán)接收所請求的應(yīng)用消息, 則流管理服務(wù)器然后可以繼續(xù)對訂閱初始化請求(402 )中指定的應(yīng)用消息 的消息訂閱進(jìn)行初始化。也就是說,流管理服務(wù)器可以創(chuàng)建或修改流管理 服務(wù)器中用于管理消息訂閱的數(shù)據(jù)結(jié)構(gòu),并在流管理服務(wù)器上啟動用于執(zhí) 行消息訂閱管理的過程。流管理服務(wù)器還可以標(biāo)識和操縱用于管理消息發(fā)送設(shè)備的服務(wù)提供方,從一個或多個消息發(fā)送設(shè)備獲得網(wǎng)絡(luò)地址(消息發(fā)送設(shè)備將向其發(fā)送在訂閱初始化請求(402)中指定的應(yīng)用消息),以及執(zhí) 行任何其他本領(lǐng)域技術(shù)人員將想到的訂閱初始化。
      圖4的方法還包括在消息接收設(shè)備中從流管理服務(wù)器接收(404 )來自 消息發(fā)送設(shè)備的多播消息流的數(shù)據(jù)通信端點(406)。數(shù)據(jù)通信端點(406) 代表包括網(wǎng)絡(luò)地址(消息接收設(shè)備可以在該處監(jiān)聽來自消息發(fā)送設(shè)備的應(yīng) 用消息)的數(shù)據(jù)結(jié)構(gòu)。如上所述,流管理服務(wù)器通常獲取消息接收設(shè)備可 以在該處監(jiān)聽來自消息發(fā)送設(shè)備的應(yīng)用消息的網(wǎng)絡(luò)地址。圖4的通信端點(406)可以根據(jù)UDP/IP協(xié)議、PGM協(xié)議或任何其他本領(lǐng)域技術(shù)人員將 會想到的數(shù)據(jù)通信協(xié)議來實現(xiàn)。
      圖4的方法還包括由消息接收i殳備開始在數(shù)據(jù)通信端點(406)處監(jiān)聽(408 )應(yīng)用消息。消息接收設(shè)備可以通過調(diào)用安裝在消息接收設(shè)備(開始 在端點(406)處監(jiān)聽?wèi)?yīng)用消息)上的傳輸引擎的傳輸引擎API的功能, 來開始根據(jù)圖4的方法在數(shù)據(jù)通信端點(406)處監(jiān)聽(408)應(yīng)用消息。 考慮以下用于根據(jù)本發(fā)明實施例在多播消息傳送環(huán)境中訂閱應(yīng)用消息的示 例性功能
      buffer * transport—listen (int endpoint一ID);
      示例性功能"transport一listen"指示消息接收設(shè)備的傳輸引擎在由 "endpoint一ID"的值標(biāo)識的數(shù)據(jù)通信端點處監(jiān)聽?wèi)?yīng)用消息。示例性功能 "transportjisten"返回計算機(jī)存儲器中用于緩沖器的地址,傳輸引擎將 通過數(shù)據(jù)通信端點接收的應(yīng)用消息;故置在該緩沖器中。讀者將注意到,上 述示例性功能是為了說明而不是為了進(jìn)行限制。實際上,本領(lǐng)域技術(shù)人員 將想到的其他示例性功能也可以用于根據(jù)本發(fā)明實施例的在多播消息傳送 環(huán)境中訂閱應(yīng)用消息。
      圖4的方法還包括在開始監(jiān)聽?wèi)?yīng)用消息之后,由消息接收設(shè)備通知 (410)消息發(fā)送設(shè)備在數(shù)據(jù)通信端點處發(fā)布應(yīng)用消息。在開始監(jiān)聽?wèi)?yīng)用消 息之后,消息接收設(shè)備可以通過向流管理服務(wù)器發(fā)送消息發(fā)布通知(412 ), 來通知(410 )消息發(fā)送設(shè)備根據(jù)圖4的方法在數(shù)據(jù)通信端點處發(fā)布應(yīng)用消
      息。流管理服務(wù)器隨后又可以指示消息發(fā)送設(shè)備在數(shù)據(jù)通信端點(406)中 指定的網(wǎng)絡(luò)地址處發(fā)布消息。消息發(fā)布通知(412 )可以實現(xiàn)為XML文檔、 對消息接收設(shè)備上的RMI對象的成員方法的調(diào)用,或任何其他本領(lǐng)域技術(shù) 人員將想到的實施方式。讀者將注意到,在消息接收設(shè)備開始監(jiān)聽?wèi)?yīng)用消 息之后通知消息發(fā)送設(shè)備發(fā)布應(yīng)用消息,有利地確保了消息接收設(shè)備不會 丟失在初始化訂閱后發(fā)送的第 一個消息。
      通常在多播消息傳送環(huán)境中,會在消息發(fā)送設(shè)備上產(chǎn)生故障,這會阻 止設(shè)備正確地向消息接收設(shè)備發(fā)送應(yīng)用消息。當(dāng)發(fā)生此類故障時,消息接 收設(shè)備可以從在一個數(shù)據(jù)通信端點處監(jiān)聽來自故障消息發(fā)送設(shè)備的應(yīng)用消 息切換為在備選數(shù)據(jù)通信端點處監(jiān)聽來自另 一個消息發(fā)送設(shè)備的應(yīng)用消 息。因此,為了進(jìn)一步說明,圖5是示出了根據(jù)本發(fā)明實施例的在多播消 息傳送環(huán)境中訂閱應(yīng)用消息的進(jìn)一步示例性方法的流程圖,所述方法包括 響應(yīng)于故障狀況(506),消息接收設(shè)備從在數(shù)據(jù)通信端點(406)處監(jiān)聽 應(yīng)用消息切換為(508)在備選^:據(jù)通信端點(502)處監(jiān)聽?wèi)?yīng)用消息。
      圖5的方法與圖4的方法類似。也就是說,圖5的方法包括消息接 收設(shè)備請求(400 )流管理服務(wù)器初始化來自消息發(fā)送設(shè)備的應(yīng)用消息的消 息訂閱;在消息接收設(shè)備中從流管理服務(wù)器接收(404)來自消息發(fā)送設(shè)備 的多播消息流的數(shù)據(jù)通信端點(406);消息接收設(shè)備開始在數(shù)據(jù)通信端點 處監(jiān)聽(408)應(yīng)用消息;以及在開始監(jiān)聽?wèi)?yīng)用消息之后,由消息接收設(shè)備 通知(410)消息發(fā)送設(shè)備在數(shù)據(jù)通信端點處發(fā)布應(yīng)用消息。圖5的實例還 與圖4的實例的類似之處在于,圖5的實例包括訂閱初始化請求(402)和 消息發(fā)布通知(412)。
      在圖5的方法中,從消息發(fā)送設(shè)備接收(404)多播消息流的數(shù)據(jù)通信 端點(406)包括除了接收數(shù)據(jù)通信端點以外,還接收(500) —個或多個 備選數(shù)據(jù)通信端點(502)。每個備選數(shù)據(jù)通信端點(502)都代表包括網(wǎng) 絡(luò)地址的數(shù)據(jù)結(jié)構(gòu),消息接收設(shè)備將在所述地址處監(jiān)聽來自備選消息發(fā)送 設(shè)備的應(yīng)用消息。如上所述,流管理服務(wù)器通常獲取消息接收設(shè)備可以在 該處監(jiān)聽來自備選消息發(fā)送設(shè)備的應(yīng)用消息的網(wǎng)絡(luò)地址。圖4的數(shù)據(jù)通信端點(406)可以根據(jù)UDP/IP協(xié)議、PGM協(xié)議或任何其他本領(lǐng)域技術(shù)人 員將想到的數(shù)據(jù)通信協(xié)議來實現(xiàn)。
      圖5的方法還包括由消息接收設(shè)備標(biāo)識(504)數(shù)據(jù)通信端點(406) 的故障狀況(506)。故障狀況(506) 4戈表數(shù)據(jù)通信終端(406)的一組約 束,其指示消息接收設(shè)備何時應(yīng)切換至備選端點(502)。例如,如果在一 段預(yù)定時間之后,沒有從端點(406)接收到消息,則故障狀況(506)可 以指定消息接收設(shè)備應(yīng)切換到備選端點。為了進(jìn)一步說明,當(dāng)消息接收設(shè) 備從消息發(fā)送設(shè)備接收到故障通知消息時,故障狀況(506)可以指定消息 接收設(shè)備應(yīng)切換至備選端點。消息接收設(shè)備可以通過定期判定是否出現(xiàn)數(shù) 據(jù)通信端點(406)的故障狀況(506)的約束條件,來才艮據(jù)圖5的方法確 定(504 )數(shù)據(jù)通信端點(406)的故障狀況(506)。如果出現(xiàn)故障狀況(506 ) 的任何約束條件,則消息接收設(shè)備確定了故障狀況(506)。
      圖5的方法還包括響應(yīng)于故障狀況(506),消息接收設(shè)備從在數(shù)據(jù)通 信端點(406)處監(jiān)聽?wèi)?yīng)用消息切換為(508)在備選數(shù)據(jù)通信端點(502) 之一處監(jiān)聽?wèi)?yīng)用消息。所述消息接收設(shè)備可以通過以下操縱來根據(jù)圖5的 方法從在數(shù)據(jù)通信端點(406)處監(jiān)聽?wèi)?yīng)用消息切換(508)為在備選數(shù)據(jù) 通信端點(502 )之一處監(jiān)聽?wèi)?yīng)用消息調(diào)用來自安裝在消息接收設(shè)備上的 傳輸引擎的傳輸引擎API的功能,所述功能停止在端點(406)處監(jiān)聽?wèi)?yīng) 用消息并開始在備選端點(502)之一處監(jiān)聽?wèi)?yīng)用消息。例如,考慮以下示 例性的用于根據(jù)本發(fā)明實施例在多播消息傳送環(huán)境中訂閱應(yīng)用消息的功 能<formula>complex formula see original document page 25</formula>
      示例性功能"transport_stop_listen"指示消息接收設(shè)備的傳輸引擎停 止在由"endpoint一ID"的值標(biāo)識的數(shù)據(jù)通信端點處監(jiān)聽?wèi)?yīng)用消息。如上所 述,示例性功能"transport—listen"指示消息接收設(shè)備的傳輸引擎在由 "endpoint_ID"的值標(biāo)識的數(shù)據(jù)通信端點處監(jiān)聽?wèi)?yīng)用消息。示例性功能 "transport—listen"返回計算機(jī)存儲器中用于緩沖器的地址,傳輸引擎將通過數(shù)據(jù)通信端點接收的應(yīng)用消息放置在該緩沖器中。讀者將注意到,上 述示例性功能是為了說明而不是為了進(jìn)行限制。實際上,本領(lǐng)域技術(shù)人員 將想到的其他示例性功能也可以用于根據(jù)本發(fā)明實施例的在多播消息傳送 環(huán)境中訂閱應(yīng)用消息。
      在金融市場數(shù)據(jù)環(huán)境中,消息發(fā)送設(shè)備通常實現(xiàn)為饋送適配器,所述 饋送適配器能夠?qū)碜责佀驮吹木哂械谝桓袷降膽?yīng)用消息轉(zhuǎn)換為具有第二 格式的應(yīng)用消息,以便傳輸?shù)街T如訂閱客戶端設(shè)備的消息接收設(shè)備。運行 饋送適配器的金融成4^艮大程度上取決于饋送適配器從饋送源接收的應(yīng)用 消息的數(shù)量。因此,饋送適配器僅接收該饋送適配器已訂閱的應(yīng)用消息是 有利的。這樣,饋送適配器監(jiān)視由饋送適配器發(fā)送的每種類型的應(yīng)用消息的用戶數(shù)量。因此,為了進(jìn)一步說明,圖6是示出了才艮據(jù)本發(fā)明實施例的 在多播消息傳送環(huán)境中訂閱應(yīng)用消息的進(jìn)一步示例性方法的流程圖,所述 方法包括響應(yīng)于接收到發(fā)布應(yīng)用消息的通知(412),消息發(fā)送設(shè)備增加(602)代表用戶對應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的值(604)。
      圖6的方法與圖4的方法類似。也就是說,圖6的方法包括消息接 收設(shè)備請求(400 )流管理服務(wù)器初始化來自消息發(fā)送設(shè)備的應(yīng)用消息的消 息訂閱;在消息接收設(shè)備中從流管理服務(wù)器接收(404)來自消息發(fā)送設(shè)備 的多播消息流的數(shù)據(jù)通信端點(406);消息接收設(shè)備開始在數(shù)據(jù)通信端點 處監(jiān)聽(408)應(yīng)用消息;以及在開始監(jiān)聽?wèi)?yīng)用消息之后,消息接收設(shè)備通 知(410)消息發(fā)送設(shè)備在數(shù)據(jù)通信端點(406)處發(fā)布應(yīng)用消息。圖6的 實例還與圖4的實例的類似之處在于圖6的實例包括訂閱初始化請求(402)和消息發(fā)布通知(412)。
      圖6的方法還包括在消息發(fā)送設(shè)備中接收(600)發(fā)布應(yīng)用消息的通知(412 )。消息發(fā)送設(shè)備可以通過消息管理服務(wù)器從消息發(fā)送設(shè)備或直接從 消息發(fā)送設(shè)備自身來接收(600)消息發(fā)布通知(412)。通常,流管理服 務(wù)器或消息發(fā)送設(shè)備通過可管理的數(shù)據(jù)通信連接來向消息發(fā)送設(shè)備發(fā)送消 息發(fā)布通知(412),該數(shù)據(jù)通信連接使用UDP/IP、 TCP/IP或任何其他 本領(lǐng)域技術(shù)人員將想到的數(shù)據(jù)通信協(xié)議來實現(xiàn)。
      圖6的方法還包括響應(yīng)于接收到發(fā)布應(yīng)用消息的通知(412),消息發(fā) 送設(shè)備增加(602 )代表用戶對應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的值 (604)。消息發(fā)送設(shè)備可以根據(jù)圖6的方法,通過為每個接收的消息發(fā)布 通知(412 )將值(604)遞增1來增加(602 )值(604)。通過使用值(604), 消息發(fā)送設(shè)備可以監(jiān)視由設(shè)備所發(fā)送的應(yīng)用消息的用戶的數(shù)量。
      圖6的方法描述了消息發(fā)送設(shè)備對接收消息發(fā)布通知的響應(yīng)?,F(xiàn)在轉(zhuǎn) 到圖7:圖7描述了消息發(fā)送設(shè)備對接收到停止發(fā)布應(yīng)用消息的通知的響 應(yīng)。因此,圖7是示出了根據(jù)本發(fā)明實施例的在多播消息傳送環(huán)境中訂閱 應(yīng)用消息的進(jìn)一步示例性方法的流程圖,所述方法包括消息接收設(shè)備通 知(700 )消息發(fā)送設(shè)備在數(shù)據(jù)通信端點處停止發(fā)布應(yīng)用消息。消息接收設(shè) 備可以通過向流管理服務(wù)器發(fā)送停止發(fā)布通知(702 )來根據(jù)圖7的方法通 知(700)消息發(fā)送設(shè)備在數(shù)據(jù)通信端點處停止發(fā)布應(yīng)用消息。流管理服務(wù) 器然后又可以指示消息發(fā)送設(shè)備停止在數(shù)據(jù)通信端點中指定的網(wǎng)絡(luò)地址處 發(fā)布消息。停止發(fā)布通知(702)可以使用XML文檔、對消息接收設(shè)備上 的RMI對象的成員方法的調(diào)用,或任何其他本領(lǐng)域4支術(shù)人員將想到的實施 方式來實現(xiàn)。
      圖7的方法還包括在消息發(fā)送設(shè)備中接收(704 )停止發(fā)布應(yīng)用消息的 通知(702)。消息發(fā)送設(shè)備可以通過消息管理服務(wù)器從消息發(fā)送設(shè)備或直 接從消息發(fā)送設(shè)備自身來接收(704)停止發(fā)布通知(702)。通常,流管 理服務(wù)器或消息發(fā)送設(shè)備通過可管理的數(shù)據(jù)通信連接來向消息發(fā)送設(shè)備發(fā) 送停止發(fā)布通知(702),所述數(shù)據(jù)通信連接使用UDP/IP、 TCP/IP或任 何其他本領(lǐng)域技術(shù)人員將想到的數(shù)據(jù)通信協(xié)議來實現(xiàn)。
      圖7的方法包括響應(yīng)于接收到停止發(fā)布應(yīng)用消息的通知,消息發(fā)送設(shè) 備減小(706 )代表用戶對應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的值(604)。 消息發(fā)送設(shè)備可以根據(jù)圖7的方法,通過為每個接收的停止發(fā)布通知(412) 將值(604)遞減1來減小(706)值(604 )。
      圖7的方法還包括由消息發(fā)送設(shè)備判定(710 )代表用戶對應(yīng)用消息的 興趣的計算機(jī)數(shù)據(jù)元素的值(604)是否低于預(yù)定閣值(712)。預(yù)定閾值(712 )代表用于確定消息發(fā)送設(shè)備應(yīng)何時通知數(shù)據(jù)提供者停止提供應(yīng)用消 息的值。通常,將預(yù)定闊值(712)設(shè)置為1。消息發(fā)送設(shè)備可以通過將值
      (604)與預(yù)定閾值(712)相比較來判定(710)值(604)是否低于預(yù)定 閾值(712)。如果值(604)小于預(yù)定闊值(712),則值(604)低于預(yù) 定閾值(712)。如果值(604)大于或等于預(yù)定閾值(712),則值(604) 不低于預(yù)定閾值(712)。
      圖7的方法包括如果代表用戶對應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的 值(604 )低于預(yù)定閾值(712 ),則消息發(fā)送設(shè)備通知(714 )數(shù)據(jù)提供者 停止向消息發(fā)送設(shè)備提供應(yīng)用消息。消息發(fā)送設(shè)備可以根據(jù)圖7的方法, 通過向數(shù)據(jù)提供者發(fā)送停止數(shù)據(jù)通知(716)來通知(714)數(shù)據(jù)提供者停 止向數(shù)據(jù)發(fā)送設(shè)備提供應(yīng)用消息。消息發(fā)送設(shè)備通常通過管理消息流向數(shù) 據(jù)提供者發(fā)送停止數(shù)據(jù)通知(716),該管理消息流使用UDP/IP、 TCP/IP 或任何其他本領(lǐng)域技術(shù)人員將想到的數(shù)據(jù)通信連接來實現(xiàn)。停止數(shù)據(jù)通知
      (716 )可以作為XML文檔、對消息發(fā)送設(shè)備上的RMI對象的成員方法 的調(diào)用,或任何其他本領(lǐng)域技術(shù)人員將想到的實施方式來實現(xiàn)。讀者將注 意到,在代表用戶對應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的值(604)低于預(yù) 定閾值(712)的情況下通知(714)數(shù)據(jù)提供者停止向消息發(fā)送設(shè)備提供 應(yīng)用消息,有利地防止了消息發(fā)送設(shè)備要求重傳消息接收設(shè)備未訂閱的應(yīng) 用消息。
      圖7的方法還包括消息接收設(shè)備請求(718)流管理服務(wù)器關(guān)閉消息訂 閱,而不管值(604)是否低于預(yù)定閾值(712)。消息接收設(shè)備可以根據(jù) 圖7的方法,在通知消息發(fā)送設(shè)備停止發(fā)布應(yīng)用消息之后,請求(718)流 管理服務(wù)器關(guān)閉消息訂閱。根據(jù)圖7的方法的請求(718)流管理服務(wù)器關(guān) 閉消息訂閱使流管理服務(wù)器能夠重新分配任何用于初始化和管理消息接收 設(shè)備的消息訂閱的計算機(jī)資源。
      消息接收設(shè)備可以通過調(diào)用安裝在消息接收設(shè)備上的流管理庫的關(guān)閉 消息訂閱的API的功能,而才艮據(jù)圖7的方法來請求(718)流管理月l務(wù)器 關(guān)閉消息訂閱。例如,考慮以下示例性的用于根據(jù)本發(fā)明實施例在多播消息傳送環(huán)境中訂閱應(yīng)用消息的功能
      void close subscription (int subscription ID);
      示例性功能"close_subscription "指示流管理服務(wù)器關(guān)閉由 "subscription—ID"的值標(biāo)識的消息訂閱。示例性功能"close_subscription" 可以是在消息接收設(shè)備上實例化的遠(yuǎn)程Java RMITM對象或CORBA對象 的一部分。讀者將注意到,上述示例性功能是用于說明而不是進(jìn)行限制。 實際上,本領(lǐng)域技術(shù)人員將想到的其他示例性功能也可以用于根據(jù)本發(fā)明 的實施例在多播消息傳送環(huán)境中訂閱應(yīng)用消息。
      鑒于本文的上述說明,讀者將認(rèn)識到,根據(jù)本發(fā)明實施例的在多播消 息傳送環(huán)境中訂閱應(yīng)用消息將提供以下益處
      在多播消息傳送環(huán)境中初始化訂閱后,防止消息接收設(shè)備丟失所 發(fā)送的第一個消息的增強(qiáng)的能力,以及
      防止消息發(fā)送設(shè)備要求重傳消息發(fā)送設(shè)備未訂閱的應(yīng)用消息的能力。
      主要在用于在多播消息傳送環(huán)境中訂閱應(yīng)用消息的完整功能計算機(jī)系 統(tǒng)的上下文中描述了本發(fā)明的示例性實施例。但是,本領(lǐng)域的讀者將認(rèn)識 到,本發(fā)明也可以包含在計算機(jī)程序產(chǎn)品中,所述計算機(jī)程序產(chǎn)品布置在 與任何適當(dāng)數(shù)據(jù)處理系統(tǒng)一起使用的信號承載介質(zhì)上。此類信號承載介質(zhì) 可以是用于機(jī)器可讀信息的傳輸介質(zhì)或可記錄介質(zhì),包括磁介質(zhì)、光介質(zhì) 或其他合適的介質(zhì)??捎涗浗橘|(zhì)的實例包括硬盤驅(qū)動器中的磁盤或軟盤、 用于光學(xué)驅(qū)動器的光盤、磁帶和本領(lǐng)域技術(shù)人員將想到的其他介質(zhì)。傳輸 介質(zhì)的實例包括用于語音通信的電話網(wǎng)和數(shù)字?jǐn)?shù)據(jù)通信網(wǎng)絡(luò),例如 EthernetsTM和使用網(wǎng)際協(xié)議和萬維網(wǎng)通信的網(wǎng)絡(luò),以及無線傳輸介質(zhì),例 如根據(jù)IEEE 802.11規(guī)范族實現(xiàn)的網(wǎng)絡(luò)。本領(lǐng)域的技術(shù)人員將立即認(rèn)識到, 任何具有合適的編程裝置的計算機(jī)系統(tǒng)都能夠執(zhí)行包含在程序產(chǎn)品中的本 發(fā)明的方法的步驟。本領(lǐng)域的技術(shù)人員將很快認(rèn)識到,盡管在說明書中描 述的一些示例性實施例面向安裝在計算機(jī)硬件上并在其上執(zhí)行的軟件,但是作為固件或硬件實現(xiàn)的備選實施例也在本發(fā)明的范圍之內(nèi)。
      從前面的描述應(yīng)當(dāng)理解,可以對本發(fā)明的各個實施例進(jìn)行修改和更改 而不偏離本發(fā)明的真實精神。本說明書中的描述只是出于示例并且不應(yīng)在限制的意義上理解。本發(fā)明的范圍僅由以下權(quán)利要求的語言來限定。
      權(quán)利要求
      1.一種在多播消息傳送環(huán)境中訂閱應(yīng)用消息的方法,所述方法包括由消息接收設(shè)備請求流管理服務(wù)器初始化對來自消息發(fā)送設(shè)備的應(yīng)用消息的消息訂閱;在所述消息接收設(shè)備中從所述流管理服務(wù)器接收來自所述消息發(fā)送設(shè)備的多播消息流的數(shù)據(jù)通信端點;由所述消息接收設(shè)備開始在所述數(shù)據(jù)通信端點處監(jiān)聽所述應(yīng)用消息;以及在開始監(jiān)聽所述應(yīng)用消息之后,由所述消息接收設(shè)備通知所述消息發(fā)送設(shè)備在所述數(shù)據(jù)通信端點處發(fā)布所述應(yīng)用消息。
      2. 根據(jù)權(quán)利要求l所述的方法,其中接收數(shù)據(jù)通信端點進(jìn)一步包括除 了接收所述數(shù)據(jù)通信端點以外,還接收一個或多個備選數(shù)據(jù)通信端點,并 且所述方法還包括由所述消息接收設(shè)備標(biāo)識所述數(shù)據(jù)通信端點的故障狀況;響應(yīng)于所述故障狀況,所述消息接收設(shè)備從在所述數(shù)據(jù)通信端點處監(jiān)聽所述應(yīng)用消息切換為在所述備選數(shù)據(jù)通信端點之一處監(jiān)聽所述應(yīng)用消息。
      3. 根據(jù)權(quán)利要求l所述的方法,還包括 在所述消息發(fā)送設(shè)備中接&良布所述應(yīng)用消息的通知;以及響應(yīng)于接收到所述發(fā)布應(yīng)用消息的通知,由所述消息發(fā)送設(shè)備增加代 表用戶對所述應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的值。
      4. 根據(jù)權(quán)利要求l所述的方法,還包括由所述消息接收設(shè)備通知所述 消息發(fā)送設(shè)備停止在所述數(shù)據(jù)通信端點處發(fā)布所述應(yīng)用消息。
      5. 根據(jù)權(quán)利要求l所述的方法,還包括 在所述消息發(fā)送設(shè)備中接收停止發(fā)布應(yīng)用消息的通知; 響應(yīng)于接收到所述停止發(fā)布應(yīng)用消息的通知,所述消息發(fā)送設(shè)備減小代表用戶對所述應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的值;所述消息發(fā)送設(shè)備判定所述代表用戶對所述應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的值是否低于預(yù)定閾值;以及如果所述代表用戶對所述應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的值低于 所述預(yù)定閾值,則所述消息發(fā)送設(shè)備通知數(shù)據(jù)提供者停止向所述消息發(fā)送 設(shè)備提供所述應(yīng)用消息。
      6. 根據(jù)權(quán)利要求l所述的方法,還包括由所述消息接收設(shè)備請求所述 流管理服務(wù)器關(guān)閉所述消息訂閱。
      7. 根據(jù)權(quán)利要求1所述的方法,其中所述應(yīng)用消息包括金融市場數(shù)據(jù)。
      8. —種在多播消息傳送環(huán)境中訂閱應(yīng)用消息的系統(tǒng),所述系統(tǒng)包括一 個或多個計算機(jī)處理器、可操作地連接到所述一個或多個計算機(jī)處理器的 計算扭存儲器,所述計算機(jī)存儲器中布置有計算機(jī)程序指令,所述計算機(jī) 程序指令能夠執(zhí)行以下步驟由消息接收設(shè)備請求流管理服務(wù)器初始化對來自消息發(fā)送設(shè)備的應(yīng)用 消息的消息訂閱;在所述消息接收設(shè)備中從所述流管理服務(wù)器接收來自所述消息發(fā)送設(shè) 備的多播消息流的數(shù)據(jù)通信端點;由所述消息接收設(shè)備開始在所述數(shù)據(jù)通信端點處監(jiān)聽所述應(yīng)用消息;以及在開始監(jiān)聽所述應(yīng)用消息之后,由所述消息接收設(shè)備通知所述消息發(fā) 送設(shè)備在所述數(shù)據(jù)通信端點處發(fā)布所述應(yīng)用消息。
      9. 根據(jù)權(quán)利要求8所述的系統(tǒng),還包括能夠執(zhí)行以下步驟的計算機(jī)程 序指令在所述消息發(fā)送設(shè)備中接收發(fā)布所述應(yīng)用消息的通知;以及 響應(yīng)于接收到所述發(fā)布應(yīng)用消息的通知,由所述消息發(fā)送設(shè)備增加代 表用戶對所述應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的值。
      10. 根據(jù)權(quán)利要求8所述的系統(tǒng),還包括能夠執(zhí)行以下步驟的計算機(jī) 程序指令由所述消息接收設(shè)備通知所述消息發(fā)送設(shè)備停止在所述數(shù)據(jù)通 信端點處發(fā)布所述應(yīng)用消息。
      11. 根據(jù)權(quán)利要求8所述的系統(tǒng),還包括能夠執(zhí)行以下步驟的計算機(jī) 程序指令在所述消息發(fā)送設(shè)備中接收停止發(fā)布應(yīng)用消息的通知;響應(yīng)于接收到所述停止發(fā)布應(yīng)用消息的通知,所述消息發(fā)送設(shè)備減小 代表用戶對所述應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的值;所述消息發(fā)送設(shè)備判定所述代表用戶對所述應(yīng)用消息的興趣的計算機(jī) 數(shù)據(jù)元素的值是否低于預(yù)定閾值;以及如果所述代表用戶對所述應(yīng)用消息的興趣的計算機(jī)數(shù)據(jù)元素的值低于 所述預(yù)定閾值,則所述消息發(fā)送設(shè)備通知數(shù)據(jù)提供者停止向所述消息發(fā)送 設(shè)備提供所述應(yīng)用消息。
      12. 根據(jù)權(quán)利要求8所述的系統(tǒng),還包括能夠執(zhí)行以下步驟的計算機(jī) 程序指令由所述消息接收設(shè)備請求所述流管理服務(wù)器關(guān)閉所述消息訂閱。
      13. 根據(jù)權(quán)利要求8所述的系統(tǒng),其中接收數(shù)據(jù)通信端點進(jìn)一步包括 除了接收所述數(shù)據(jù)通信端點以外,還接收一個或多個備選數(shù)據(jù)通信端點, 所述系統(tǒng)還包括能夠執(zhí)行以下步驟的計算機(jī)程序指令由所述消息接收設(shè)備標(biāo)識所述數(shù)據(jù)通信端點的故障狀況; 響應(yīng)于所述故障狀況,所述消息接收設(shè)備從在所述數(shù)據(jù)通信端點處監(jiān) 聽所述應(yīng)用消息切換為在所述備選數(shù)據(jù)通信端點之一處監(jiān)聽所述應(yīng)用消
      全文摘要
      本發(fā)明涉及一種在多播消息傳送環(huán)境中訂閱應(yīng)用消息的方法和系統(tǒng),包括由消息接收設(shè)備請求流管理服務(wù)器初始化對來自消息發(fā)送設(shè)備的應(yīng)用消息的消息訂閱;在所述消息接收設(shè)備中從所述流管理服務(wù)器接收來自所述消息發(fā)送設(shè)備的多播消息流的數(shù)據(jù)通信端點;由所述消息接收設(shè)備開始在所述數(shù)據(jù)通信端點處監(jiān)聽所述應(yīng)用消息;以及在開始監(jiān)聽所述應(yīng)用消息之后,由所述消息接收設(shè)備通知所述消息發(fā)送設(shè)備在所述數(shù)據(jù)通信端點處發(fā)布所述應(yīng)用消息。
      文檔編號H04L12/18GK101202642SQ20071019996
      公開日2008年6月18日 申請日期2007年11月14日 優(yōu)先權(quán)日2006年12月12日
      發(fā)明者K·S·博加爾, K·W·博根達(dá)勒, P·D·劉易斯, R·拉維桑卡爾, 王正平 申請人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1