TWI378700B - Reliable messaging using redundant message streams in a high speed, low latency data communications environment - Google Patents

Reliable messaging using redundant message streams in a high speed, low latency data communications environment Download PDF

Info

Publication number
TWI378700B
TWI378700B TW096122459A TW96122459A TWI378700B TW I378700 B TWI378700 B TW I378700B TW 096122459 A TW096122459 A TW 096122459A TW 96122459 A TW96122459 A TW 96122459A TW I378700 B TWI378700 B TW I378700B
Authority
TW
Taiwan
Prior art keywords
message
active
stream
feed adapter
source
Prior art date
Application number
TW096122459A
Other languages
English (en)
Other versions
TW200818828A (en
Inventor
Kenneth W Borgendale
Eliezer Dekel
John J Duigenan
Gidon Gershinsky
Alexander Krits
Nir Naaman
Foluso O Okunseinde
Hilary A Pike
Wright, Jr
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of TW200818828A publication Critical patent/TW200818828A/zh
Application granted granted Critical
Publication of TWI378700B publication Critical patent/TWI378700B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Description

九、發明說明: 【發明所屬之技術領域】 本發明領域為資料處理,或特別是於高速、低潛 時資料通訊環境中使用冗餘訊息流之可靠訊息傳遞的 方法、設備及產品。 【先前技術】 訊息傳遞的環境一般可提供資料通訊,在訊息發 送裝置及訊息接收裝置之間使用應用程式訊息。應用 程式訊息是包括一或多個資料欄位的大量資料,其從 訊息發送裝置上安裝的訊息產生器傳送到訊息接收裝 置上安裝的訊息接收器。應用程式訊息是操作於資料 通訊協定堆疊應用程式層中之應用軟體所認同的訊息 形式,其與例如傳輸訊息或網路訊息對照,傳輸訊息 或網路訊息分別是辨識於傳輸層及網路層的訊息形 式。應用程式訊息可表示如數字或文字資訊、影像、 加密貧訊及電腦程式指令。 訊息傳遞環境可支援點對點訊息傳遞、發佈及訂 閱訊息傳遞,或二者皆可。在點對點訊息傳遞環境中, 訊息產生器可將應用程式訊息送往單一訊息取用器。 在發佈及訂閱訊息傳遞環境中,訊息產生器可對特定 通道或主題發佈應用程式訊息,及任何訂閱通道或主 題的訊息取用器則可接收此訊息。由於訊息產生器及 訊息取用器在發佈及訂閱環境中彼此經由通道或主 間接,通信’訊息傳送可與訊息接收分開進行。結果, 產生器與取用器均不必維持關於彼此的狀態,因而严夂 低或排除互動參與者間的相依闕係。因此,發佈及^ 閱環境允許訊息發佈者及訊息訂閱者能夠^ 二 情況下操作。 /的 為進-步解釋訊息傳遞環境,圖i提供資料 之典型H傳遞環境的說_方塊圖,其 發送裝置100、訊息接收裝置1〇4 服: :2二發送裝f:°是其上安裝有訊息== 机息產生請是-種電腦程式指令 經組態以將應用程式訊息傳送至訊息管理飼服 為1〇2以便遞送至訊息接收裝置。在_】的 矾息產生器110在訊息流106上將應 給訊息管理伺服器102。訊息發送裝置二 發送裝置110本身的資料或接收自某其他二f = f生應,式訊息來產生傳送訊息。訊息接收裝置 疋其上安裝有訊息取用器112的電腦裝置,吒自取 器112是-種電腦程式指令集,其經組態以從二自管 理伺服器m接收應用程式訊息。在圖i的範例^, 说息取用器112在訊息流108上從訊息管理飼服器1〇2 接收應用程式訊息。在圖1的範例中,訊息流ι〇6及 訊息流108是使用例如使用者資料電報協定(uDp)及 網際網路财(Ip)建置的資料it訊通道。 在點對點訊息傳遞環境或發佈及訂閱訊息傳遞環 3自發送展置傳送至訊息接收裝置的應用程 器102傳送。訊息管理 置,訊自管H ㈣模組114的電腦裝 理拉組疋組態可管理從訊息產生$ 11〇傳 取用11112之訊息的電腦程式指令。訊息管 M 的乾例包括麵WebSphere® MQ、Sun
=temS 的0pen Message Queue 及 The OpenJMS 。在點對點訊息傳遞環境中,在訊 器112的庙。攸不同訊息提供者接收送給訊息取用 息仵列給二管理模組114提供訊 境中,1自②用 。在發佈及訂閱訊息傳遞環 取用^τΐΓΓ莫組114管理訊息產生器發佈及訊息 4:理:的各種通道或主題。在任-訊息環境中, 訊息產生ΐ^4丨,健純服務’以確保只有從 用器112釋得^2息取用器112的訊息是訊息取 可發送的接收及訊息產生器110獲得授權 器㈣發t敗i息管理模'组114在訊息產生 用訊息給ii二亦協調從備用訊息產生器提供備 目 前的訊息傳遞環境有某些缺點, 如上文參考 圖 1所說明的訊息傳遞環境。在訊息管理伺服器能夠處 理從訊息發送裝置傳送至訊息管理伺服器以遞送給= 息接收裝置的應用程式訊息之前,將在訊息管理伺服 器102(原文無)中延遲該訊息。發生於訊息管理伺服养 中的訊息處理增加訊息傳遞環境的總訊息傳遞潛時, 並減少資料通訊環境中傳送資料的總速度。訊息傳遞 潛時是開始於訊息產生器傳送應靠式訊息時^結^ 於訊息取用器接收應用程式訊息時的時間週期。 料通訊環境中,即使稍微增加訊息傳遞 二:,要付出很高的代價。例如,考慮金融市場資 /二 金融市場資料環境是用於傳達關於金 及纽料參與权資訊㈣贼理環境。在 境中’-般將應用程式訊息稱為「跳 ί融=包括任何已知金融證券的買價及賣ΓΛ 七^曰買家願意支付證券的最高價格。「賣價貝t 證券的最低價格。在金融市場資料“ 券的買可根據即時金融市場狀況提供金融證 購買及出融!$ ’而訊f取用器可根據金融報價 提供的報價蹲買=隹:=:器根據訊息產生器 境的訊息傳出售金^券”金融市場資料環 券報價取得。3大幅影響訊息取用器對於金融證 于貝彳貝或買價的能力。訊息傳遞潛時越高, 訊息取用器產生的購買或出隹 =定價格時執行或執行近報 =急的證券價格可能二二 遞環決之道是移除訊息傳 訊息發送裝置直接發送目^^貞解_法中, 傳遞環境的解決辦法,在’' 有效柃供吼心 理伺服器的管理功能。再;;需要訊息管 環境範例。在此示紐包文的麵市場資料 息接收跑獲得授權可接收;慮: 價或僅獲得授權可接收至,丨、吁本^岫迷券的金融報 移除此金融市場資料環境的的金融報價。 管理訊息接收裝置在金融二;器也⑽ 裝置接收之訊息的能力。’、兄中從汛息發送 目前訊息傳遞環境另—個缺 1所述的訊息傳遞環境涉及情^ 1 σ上文參考圖 器從現用訊息細置及備二服 應用程式訊息’且每-訊息發送;置從接 1378700 子來源的資料產生應用程式訊息。在每一訊息發送裝 置產生應用程式訊息時,指派每一訊息一個訊息序 號。由於並不保證每一訊息發送裝置均會以相同順序 處理接收自該複數個子來源的資料,訊息發送裝置通 常指派相同的訊息序號給含有不同資料的訊息。當現 用訊息發送裝置失靈時,訊息管理伺服器接收從備用 訊息發送裝置產生的應用程式訊息,然後必須實行資 料復原,以識別遺失或複製的資料。由於每一訊息發 送裝置可指派相同的訊息序號給含有不同資料的訊 息,目前訊息傳遞環境的訊息管理伺服器無法仰賴訊 息序號實行資料復原,如刪除接收自備用訊息發送裝 置的複製應用程式訊息。相反地,訊息管理伺服器必 須檢查每一訊息的完整内容,以決定訊息管理伺服器 在容錯移轉期間是否已接收複製應用程式訊息。然 而,檢查應用程式訊息的完整内容卻在容錯移轉期 間,大幅增加從現用訊息發送裝置至備用訊息發送裝· 置的訊息傳遞潛時。因此,需要以更有效的方式確保 訊息管理伺服器能夠對應用程式訊息内容進行正確及 一致的資料識別以實行資料復原。 【發明内容】 本發明揭示於高速、低潛時資料通訊環境中使用 冗餘訊息流之可靠訊息傳遞的方法、設備及產品,其 包括:藉由資料流管理伺服器,自現用饋送配接器代 -12· (S ) 理建立現用訊息流至訂閱用戶端裝置’現用訊息流能 夠傳達現用應用程式訊息,每一現用應用程式訊息的 特徵在於現用來源資料流識別符、現用來源資料流序 號及現用訊息序號。藉由該資料流管理伺服器,自一 備用饋送配接器代理建立備用訊息流至該訂閱用戶端 裝置,備用訊息流能夠傳達相當於現用應用程式訊息 之複製的備用應用程式訊息’每一備用應用程式訊息 的特徵在於備用來源資料流識別符、備用來源資料流 序號及備用訊息序號。在訂閱用戶端裝置的訊息傳遞 中介軟體中’從現用饋送配接器接收該等現用應用程 式訊息。回應從現用饋送配接器至備用饋送配接器的 容錯移轉,在訂閱用戶端裝置的訊息傳遞中介軟體 中’從備用饋送配接器接收等備用應用程式訊息。及 根據現用資料流來源識別符、現用資料流來源序號、 備用資料流來源識別符及備用資料流來源序號,藉由 訂閱用戶端裝置的訊息傳遞中介軟體,管理等備用應 用程式訊息。 參考如附圖所圖解之本發明示範性具體實施例的 詳細說明,即可明白本發明上述及其他目標、特徵及 優點,附圖中相同參考號碼一般代表本發明示範性具 體實施例的相同部分。 【實施方式】 1378700 參考附圖說明於本發明實施例之高速、低潛時資 料通訊環境中使用冗餘訊息流之可靠訊息傳遞的示範 性方法、設備及產品,將從圖2開始說明。圖2提供 根據本發明實施例之高速、低潛時資料通訊環境(2〇1) 中使用几餘机息流之可靠訊息傳遞之示範性電腦資料 處理系統說明圖解的網路及方塊圖。圖2系統根據本 發明實施例一般操作於高速、低潛時資料通訊環境中 使用冗餘訊息流之可靠訊息傳遞如下:資料流管理伺 服器212從現用饋送配接器208代理建立現用訊息流 2 8 0至訂閱用戶端裝置2丨〇。現用訊息流2 8 〇能夠傳達 現用應用程式訊息’其中每一現用應用程式訊息的特 徵在於現用來源資料流識別符、現用來源資料流序號 及現用訊息序號。資料流管理伺服器212從備用饋送 配接器206代理建立備用訊息流282至訂閱用戶端裝 置210的。備用訊息流282能夠傳達相當於現用應用 程式訊息之複製的備用應用程式訊息,其中每一備用 應用程式訊息的特徵在於備用來源資料流識別符、備 用來源資料流序號及備用訊息序號。訂閱用戶端裝置 210的訊息傳遞中介軟體252從現用饋送配接器208 接收現用應用程式訊息。回應從現用饋送配接器208 至備用饋送配接器206的容錯移轉,訂閱用戶端裝置 210的訊息傳遞中介軟體252從備用饋送配接器206 接收備用應用程式訊息。訂閱用戶端裝置210的訊息 傳遞中介軟體252根據現用資料流來源識別符、現用 1378700 資料流來源序號、備用資料流來源識別符及備用資料 流來源序號,管理備用應用程式訊息。 • 圖2中圖解的高速、低潛時資料通訊環境2〇1包 括高速、低潛時資料通訊網路200。網路200包括: 現用饋送配接器208、備用饋送配接器206、資料流管 理伺服器212及訂閱用戶端裝置210,以及用於將此 等裝置206、208、212、210連接一起以進行資料通訊 _ 的基礎建設。圖2的網路200稱為「高速、低潛時」, 因為在資料流管理伺服器212管理的訊息流上,在連 接至網路200之裝置間發送的應用程式訊息將繞過資 料流管理伺服器212。例如,在現用訊息流280上從 現用饋送配接器208至訂閱用戶端裝置21〇的應用程 式訊息將繞過資料流管理伺服器212。同樣地,在備 用訊息流282上從備用饋送配接器2〇6至訂閱用戶端 裝置210的應用程式訊息將繞過資料流管理伺服器 φ 212。雖然此類汛息未因在資料流管理伺服器212中處 理而延遲’但資料流管理伺服器212仍保留管理在連 接至高速、低潛時資料通訊網路2〇〇之裝置間的 流 280、282。 ' 進步况明網路200的「高速、低潛時」的特性, 讀者將發現網路2GG並未包括路由器,路由 電腦網路裝置,其主要舰是在網mi封包轉 1378700 遞至其目的地。相反地,每〜 21〇提供其自己的路由功能,^扣6、208、212、 路200之裝置的直接連接進行=”其他連接至網 :包括路由資料封包專用的電腦網由於= 的網路200稱為「最低限度路由網路」。雖2 的不範性網路200不包括路由哭,、圖解 網路僅用於解釋目的。事實上,粑::,度路由 一 上根據本發明貫施例之
局速 '低潛時資料通訊環境中使用冗餘訊息流之 訊息傳遞中使用的-些高速、低潛時網路可包括 器。 如上所提,圖2所繪高速、低潛時資料通訊環境 201包括兩個訊息流280、282。訊息流是在發送農置 之通訊端點及至少一接收裝置之通訊端點之間的資料 通訊通道。通訊端點由網路位址及發送裝置或接收裝 置的埠構成。可將訊息流建置為多播資料通訊通道。 在多播資料通訊通道中,在訊息目的地位址及接收裝 置通訊端點之間存在一對多關係。也就是說,每一目 的地位址識別每一資料流訊息將複製於其中之接收裝 置的一組通訊端點。可使用例如使用者資料電報協定 及網際網路協定建置多播資料通訊通道。除了多播資 料通訊通道,可將訊息流建置為單播資料通訊通道。 在單播資料通訊通道中,在訊息目的地位址及接收裝 置通訊端點之間存在一對一關係。也就是說,每一目 -16- < S ) 的地位址唯-地識別單—接收裝置 =用例如傳輸控制協定(簡及IP建置二 古圖2的示範性系統包括透過纜線連接262連接至 馬速、低潛時資料通訊鱗的#料流管理飼服器 ^ 2的資料流官理伺服器212是一種電腦裝置, ”^安裝有資料流管理模組228、饋送配接器庫2〇2、 ,證模组230、授權模組234及授權方針235。資料流 管理模組228是-種電腦程式指令集,其經組態用^ 本發明實施例之高速、低潛時資料通訊環境中使用冗 餘訊息流之可靠訊息傳遞。為了於本發明實施例之高 速、低潛時資料通訊環境中使用冗餘訊息流之可靠訊 息傳遞,資料流管理模組228 —般藉由以下方式來操 作.從現用饋送配接器208代理建立現用訊息流28〇 至δ丁閱用戶端裝置210的;及從備用饋送配接器2〇6 代理建立備用訊息流(282)至訂閱用戶端裝置21〇。此 外,資料流管理模組228可藉由提供安全性服務,如 驗證訂閱用戶端裝置210及授權訂閱用戶端裝置21〇 在訊息流280、282上從饋送配接器206、208接收應 用程式訊息,以管理訊息流。 可使用饋送配接器庫202建置在資料流管理模組 228及饋送配接器206、208之間的通訊。饋送配接器 1378700 庫202是一種功能集,其包含在動態連結庫或靜態連 結庫中,可供資料流管理模組228透過饋送配接器庫 API(204)使用。透過饋送配接器庫202 ’資料流管理伺 服器212的資料流管理模組228可管理饋送配接器 206、208 ’包括提供訂閱用戶端裝置對於訊息流的請 求至饋送配接器206、208。由資料流管理模組228使 用之饋送配接器庫202的功能可透過網路200藉由以 下方式與現用饋送配接器208進行通訊:使用 Java 遠 端方法調用(RMI) API、使用網路服務、或熟習本技術 者所知的任何其他通訊建置呼叫CORBA物件的成員 方法、呼叫遠端物件的成員方法。 CORBA係指公用物件請求代理架構,即一種用於 物件管理群組(OMG)所產生之可互通企業應用程式的 電腦工業規格。CORBA是OMG於1991年首先發佈 的遠端程序調用標準。可將CORBA視為進行遠端程 序呼叫的某種物件導向方法,不過CORBA支援習用 RPC所沒有的特色。CORBA使用介面定義語言(IDL) 的宣告式語言來描述物件的介面。編譯IDL的介面描 述,以產生用戶端側的「存根」及伺服器側的「骨架」。 使用此產生的程式碼’以物件導向程式語言(如C++或 Java)實現的遠端方法調用類似區域物件的區域成員方 法調用。 •18·
JavaTM遠端方法調用API係實行Sun MicrosystemsTM發佈之遠端程序呼叫的Java應用程 式介面。JavaTM RMI API係在存在於個別JavaTM虛 擬機器(通常運行於個別電腦上)令的Java物件間進行 ,端私序呼叫的物件導向方法。JavaTMRMI AI>I使用 遠端程序物件介面描述常駐於伺服器的遠端物件。遠 端程序物件介面發佈於RMI登錄中,其中java用戶 端可取得遠端Java物件之遠端介面的參照。使用用戶 知側的編譯「存根」及伺服器侧的「骨架」提供網路 連接操作’ Java RMI允許Java用戶端存取遠端Java 物件,正如任何其他的區域Java物件一樣。 除了官理饋送配接器206、208,圖2的資料流管 理模組228亦藉由提供安全性服務來管理訊息流,例 如驗證訂閱用戶端裝置210及授權訂閱用戶端裝置 210可在訊息流280、282上從饋送配接器206、208 接收應用程式訊息。圖2的驗證模組230是一種電腦 私式指令集’其能夠透過公開的驗證應用程式介面 232 ’對資料流管理模組228提供驗證安全性服務。驗 證是確認實體之識別碼的程序。在圖2的示範性系統 中’驗證模組230確認訂閱用戶端裝置21〇的識別碼。 驗證模組230可使用各種安全性基礎建設(例如,共用 的密秘金錄基礎建設或公開金鑰基礎建設)提供驗證 安全性服務。 1378700 . 圖2的授權模組234是一種電腦程式指令集,其 能夠透過公開的授權API236,對資料流管理模組228 提供授權女全性服務。授權是僅允許已被授予權限可 使用資源之資源取用器使用資源的程序。在圖2的範 例中,授權模組234識別訂閱用戶端裝置21〇獲得授 權可在訊息流280、282上接收的應用程式訊息。圖2 的授權模組234使用授權方針235提供授權安全性服 譬 務。授權方針235是一種規則集,其掌管已經驗證的 實體在訊息流上發送或接收應用程式訊息的特權。在 金融市場資料環境中,例如可授權已經驗證的實體接 收包括某些金融證券而非其他證券之金融報價的應用 程式訊息。授權方針235可基於群組中的單獨實體或 實體成員資格來授予特權。 、— 在圖2的示範性系統中,現用饋送配接器2〇8透 • 過鐵線連接260連接至高速、低潛時資料通訊網路 2〇〇。現用饋送配接器208是一種電腦裝置,其具有能 力為將在現用饋送配接器來源資料流214上具有第一 格式的應用程式訊息轉換為在現用饋送配接器輸出資 料流216上具有第二格式的應用程式訊息。在現用饋 • 送配接器輪出資料流216)上傳送應用程式訊息給訂閱 用戶端裳置。圖2的現用饋送配接器來源資料流214 是從館送來源至現用饋送配接器208的訊息流。圖2 -20· 的現用饋送配接器輸出資料流216是資料流管理伺服 器212所管理之從現用饋送配接器(208)至訂閱用戶端 裝置210的訊息流。雖然現用饋送配接器在現用饋送 配接器來源資料流214上接收具有第一格式的應用程 式訊息及在現用饋送配接器輸出資料流216上傳送具 有第二格式的應用程式訊息,但讀者應注意在饋送配 接器來源資料流上接收的應用程式訊息在本說明書中 稱為「來源資料流訊息」,以便分辨該訊息與在饋送配 接器輸出資料流上傳送至訂閱用戶端裝置的應用程式 訊息。 在圖2的範例中,現用饋送配接器2〇8在現用饋 达配接器來源資料流214上從饋送來源213接收現用 來源資料流訊息。饋送來源213是一種電腦裴置,其 忐夠聚合資料為來源資料流訊息,並在一或多個饋送 配接器來源資料流上傳送訊息至饋送配接器2〇8。例 如在金融市場資料環境中,可將饋送來源213建置為 由選擇權價格報告管理機構(〇PRA)控制的饋送來 = 〇PRA是美國證券選擇權交易所產生之金融市場 資訊的證券資訊處理器。〇PRA散播的精齡訊是最 新銷售報告及㈣。金融市場#料環境中之饋送來源 的其他範例包括聯合報告協會(c τA)切 夫 =公司(The Nasdaq StGek Ma蛾洫)控制的: 來源。CTA監督約紐證交所及錢證交所所靡券之 1378700 P時交易量及報價資訊的散播。那斯達克證券市場八 司操作NASDAQ Market CenterSM,即美國電子螢^ 股票證券市場。在金融市場資料環境中,饋送配接器 來源資料流稱為「金融市場資料饋送」。 11 讀者應注意到圖2圖解兩個現用饋送配接器來源 資料流214。圖2的每一饋送配接器來源資料流214 在現用饋送配接器中由現用來源資料流識別符加以識 別。圖2的饋送來源213可使用一個以上饋送配接器 來源資料流傳送來源資料流訊息至現用饋送配接器 208,因為在單一來源資料流上傳送訊息所需要的頻寬 無法使用。在金融市場資料環境中,例如饋送來源可 在一個訊息流上傳送股票代號始於字母「A」至「M」 之金融證券的跳動點,並可在另一訊息流上傳送始於 字母「N」至「Z」之金融證券的跳動點。 ♦ ** ··.·.. .. 圖2的現用饋送配接器208在其上安裝有轉換模 組220、轉換器表格222、轉換器功能224、訊息284、 訊息模型244、訊息傳遞中介軟體276及傳輸引擎 278。轉換模組220是一種電腦程式指令集,用於將在 現用饋送配接器來源資料流(214)上接收之具有第一 格式的來源資料流訊息轉換成具有第二格式的應用程 式訊息,以在現用饋送配接器輸出資料流216上傳送 至訂閱用戶裝置。 -22· 1378700 此外,轉換模組220係一種電腦程式指令集,用 於本發明實施例之而速、低潛時資料通訊環境中使用 冗餘訊息流之可靠訊息傳遞。轉換模組220 —般為了 於本發明實施例之向速、低潛時資料通訊環境中使用 冗餘訊息流之可靠訊息傳遞,而藉由以下方式操作: 在複數個饋送配接器來源資料流上接收現用來源資料 流訊息,其_每一現用來源資料流訊息的特徵在於接 收現用來源資料流訊息之饋送配接器來源資料流的現 用來源資料流序號。將每一現用來源資料流訊息轉換 為現用應用程式訊息,包括將在現用饋送配接器中接 收現用來源資料流訊息的饋送配接器來源資料^之現 用來源資料流識別符的值及現用訊息序號加入 用來源資料流訊息的内容。在饋送配接器來源資料济 上接收管理來源資料流訊息。將管理來 了 轉換為管理應用程式訊息。 、枓机讯息 轉換模組220根據轉換器表格222, 訊息從第—格式轉換為第二格式。圖2的轉:之式 ―2:是指定能夠將應用程式訊息從一個袼式轉::袼 —個格式之轉換器功能224的表格。利用^換成另 ί:輸220可將訊息從各種輸 定=出。,在圖2的範例中,轉換器表格= 換㈣能224,其能夠將接收自現用饋㉝己^ -23 - 1378700 來源貨料流214之具有弟一格式的現用來源資料流訊 息轉換成具有第二格式的應用程式訊息,以在現用饋 送配接器輸出資料流216上傳送至訂閱用戶端裝置。 也就是說,轉換器表格222指定的轉換器功能224能 夠將現用來源資料流訊息轉換為現用應用程式訊息, 包括將在現用饋送配接器228中接收現用來源資料流 訊息的饋送配接器來源資料流之現用來源資料流識別 符的值及現用訊息序號加入每一現用來源資料流訊息 的内容。此外,轉換器表格222指定的轉換器功能224 能夠將管理來源資料流訊息轉換為管理應用程式訊 息。管理來源資料流訊息是從饋送來源接收之含有管 理資訊的應用程式訊息。可使用結構化文件,如可延 伸標記語言(XML)文件,建置圖2的轉換器表格222。
一圖2轉換器功能224的功能能夠將應用程式訊息 資料攔位從一個格式轉換為另一個格式或將資料欄位 的值從一個值轉換為另一個值。例如轉換器功能224 :將16位元整數轉換為32位元整數、將字_攔位中 =存的數字轉換為64位元雙浮點值、將特定資料攔位 捸值加1,或可執行熟習本技術者所知的任何其他轉 鳇°圖2的轉換模組22〇透過轉換器功能224公開的 轉換器功能AH226集,來存取轉換器功能224。 在圖2的範例中,轉換模組22〇使用轉換器功能 -24- 1378700 224’將現用來源資料流訊息轉換為現用應用程式訊息 284«>圖2的應用程式訊息284代表傳送至訂閱用戶端 裝置210的現用應用程式訊息。在訊息模型244中指 定訊息284的格式。訊息模型244是定義訊息284之 結構及格式的元資料。訊息模型244可附加於應用程 式訊息284,並連同應用程式訊息284 —起傳送至訂 閱用戶端裝置210。然而’比較常見的做法是訂閱用 戶端裝置210及饋送配接器206、208在資料流管理飼 服态212代理訊息流280時,可從資料流管理伺服器 212接收訊息模型244或其識別符。可使用結構化文 件建置訊息模型,例如XML文件、Java物件、C++ 物件、或熟習本技術者所知的任何其他建置。
在圖2的轉換模組220對來源資料流訊息實行資 ϋ處王ί,前’轉換模組220從饋送來源213接收來源 貝,流訊息。圖2的轉換模組22〇.可透過現用饋送配 f器208的接收傳輸引擎(未顯示)接收來源資料流訊 =接收傳輸引擎是操作於網路堆疊傳輸層中的軟體 二〜其可根據TCP/IP協定、UDP"P協定、或熟習 僖於所知的任何其他資料通訊協定來建置。接收 模二? 9 η T將接收的來源資料流訊息直接提供至轉換 為々自#或訊息傳遞中介軟體276,然後轉換模組220 遞中介軟體276再將來源資料流訊息提供至 -25- 圖2的訊息傳遞中介軟體276是一種軟體組件, 其可在現用饋送配接器208、備用饋送配接器206及 訂閱用戶端裝置210之間提供高可用性服務及在現用 饋送配接器208及備用饋送配接器206之間提供同步 化服務。圖2的訊息傳遞中介軟體276使用例如RMI 物件的成員方法、CORBA物件的成員方法、網路服務 或熟習本技術者所知的任何其他通訊建置,在現用饋 送配接器208及備用饋送配接器206之間透過資料通 訊通道提供同步化服務。在圖2的轉換模組220從饋 送來源213接收應用程式訊息及對應用程式訊息實行 資料處理之後’訊息傳遞中介軟體276從轉換模組220 接收應用程式訊息並將接收的應用程式訊息提供給傳 輸引擎278’以便在現用饋送配接器輸出資料流216 上傳送至訂閱用戶端裝置。轉換模組220透過訊息傳 遞中介軟體276公開的訊息傳遞中介軟體API266,與 訊息傳遞中介軟體276互動。 此外’圖2的訊息傳遞中介軟體276包括一種電 腦程式指令集,其經組態用於本發明實施例之高速、 低潛時資料通訊環境中使用冗餘訊息流之可靠訊息傳 遞。圖2的訊息傳遞中介軟體276 —般為了於本發明 實施例之高速、低潛時資料通訊環境中使用冗餘訊息 流之可靠訊息傳遞而以下列方式操作:識別在傳送序 中指定現用饋送配接器將傳送管理應用程式訊息給 1閱用戶端裝置之時間點的現用訊息序號的值;將管 應用程式訊息及識別之現用訊息序號的值傳送至備 2饋送配接器;及在現用訊息流上,在現用訊息序號 傳送序列令識別的時間點,將管理應用程式訊息 迗至訂閱用戶端裝置。 圖2的傳輸引擎278是操作於國際標準組織發表 =OSI協定堆疊之傳輸及網路層的軟體組件。傳輸引 278在網路連接的裝置之間提供資料通訊服務。傳 =可根據UDP/IP協定、TCP/Ip協定”戈熟習本 够^所知的任何其他資料通訊協絲建置。傳輸弓丨 中介軟5二:_式指令集’其能夠將訊息傳遞 、_田έ 供的應用程式訊息壓縮成封包並透 過現用訊息流280 ϋ客44 a n- ε ^ •210〇-ir 將封匕傳达至叮閱用戶端裝置 雜1專遞。中介軟體.2 76透過傳輸引擎2 7 8公開的 生系統中’備用饋送配接器206透 200。借用_ 一 妾至问速、低潛時資料通訊網路 20二養用饋运配接器2〇6是一種電腦裝置,其且有如 下月匕力·將在備用饋送配接器來源資料流218上且有 第一格式的備用訊息轉換為在備用饋送配接哭輸出資 料流217上具有第二格式的備用訊息;及在^饋送 -27- 1378700 配接器輪出資料流217上傳送備用訊息給訂閱用戶端 裝置。備用饋送配接器來源資料流218是從饋送來源 至備用饋送配接器206的訊息流。備用饋送配接 态輸出資料流217是從備用饋送配接器2〇6至訂閱用 戶端裝置210由資料流管理伺服器212管理的訊息流。 圖2的備用饋送配接器206在其上安裝有:轉換 杈組221、轉換器表格223、公開轉換器功能ApI29〇 的轉換器功能225、從備用饋送配接器206傳送至訂 閱用戶端裝置210的備用應用程式訊息288、訊息模 i 244公開说息傳遞中介軟體Αρι 267的訊息傳遞中 介軟體277及公開傳輸引擎API 269的傳輸引擎 279。安裝於備用饋送配接器206上的組件的操作方式 與安裝於現用饋送配接器208上的組件類似。 此外,圖2之備用饋送配接器206的訊息傳遞中 介軟體277包括於本發明實施例之高速、低潛時資料 通訊環境中使用冗餘訊息流之可靠訊息傳遞的電腦程 式指令集。圖2的訊息傳遞中介軟體277 —般為了於 本發明實施例之高速、低潛時資料通訊環境中使用冗 餘訊息流之可靠訊息傳遞而以下列方式操作:從現用 鑌送配接器接收管理應用程式訊息及在傳送序列中指 疋現用饋送配接器將傳送管理應用程式訊息給訂閱用 戶端裝置之時間點的現用訊息序號的值。在接收管理 -28- (S ) U/8700 應用程式訊息之前,識別在備用饋送配接器中處理之 最新備用應用程式訊息的備用訊息序號的值。根據所 * 接收現用訊息序號的值、傳送給用戶端裝置之最新訊 息之備用序號的值及預定同步化序號臨限值,決定備 用饋送配接器是否能夠在備用訊息流上同步傳送管理 應用程式訊息至訂閱用戶端裝置。將備用訊息序號加 入管理應用程式訊息具有匹配現用訊息序號之值的值 # 的内容。將與其他備用應用程式訊息一致的管理應用 程式訊息傳送至訂閱用戶端裝置。降低備用饋送配接 裔傳送備用應用程式訊息給訂閱用戶端裝置的傳輸 率;及與現用饋送配接器協商同步傳送管理應用程式 訊息至訂閱用戶端裝置的另一訊息序號。 在圖2示範性系統中的訂閱用戶端裴置21〇透過 變線連接264連接至高速、低潛時資料通訊網路200。 魯 圖2的訂閱用戶端裝置21〇是能夠·訂閱不同饋送配接 器傳送之訊息流的電腦裝置。在金融市場資料環境 中,例如訂閱用戶端裝置可訂閱訊息流上接收金融證 券經紀人控制之饋送配接器所提供之特定證券之買價 及賣價的跳動點。 ' 、 在圖2的範例中,訂閱用戶端裝置21〇在其上安 裝有應用程式238、訊息庫248、資料流管理庫272、 訊息傳遞中介軟體252及傳輸引擎256。圖2的應用 -29· 1378700 私式238是一種軟體組件,其可處理自馈送配接器 208、206之一接收之應用程式訊息240中所含有的資 料。應用程式238可處理讓訂閱用戶端裝置21〇本身 利用的資料’以將資料送至另—饋送配接器,或將資 料送至某個其他裝置。在金融市場資料環境中,訂閱 用戶端裝置上安裝的應用程式可以是根據跳動點中所 含報4貝賭貝或出售金融證券的程式交易應用程式。此 應用程式也可以是加值應用程式,其可將例如特定證 券的敢佳貝彳貝及賣^貝的資訊送至跳動點,在饋送來源 213 &供的跳動點中通常不包括此資訊。訂閱用戶端 裝置然後可將跳動點傳送至饋送配接器,以轉售給其 他訂閱用戶端裝置。 在圖2的範例中,應用程式訊息24〇代表接收自 饋送配接器206、208之一且具有訊息模型244所指定 之格式的應用程式訊息。圖2的應甩程式238使用訊 息庫248處理應用程式訊息240中所含的資料。訊息 庫248是一種功能集’即根據訊息模型244建立、存 取及操控訊息240的電腦程式指令。應用程式238可 透過讯息庫248公開的訊息AF»I 250存取訊息庫248。 在訂閱用戶端裝置210及資料流管理伺服器212 之間的通§fl可使用資料流管理庫272來建置。資料流 管理庫272是一種功能集,其包含在動態連結庫或靜 < 5 ) -30- 1378700 滤連結庫中’可供應用程式238透過資料流管理庫A 274使用。透過資料流管理庫272,訂閱用戶 210的應用程< 238’例^可請求訂閱馈送配接器^訊 息、修改現有的訊息訂閱、絲消訊息訂閱。由應 程式238使用的資料流管理庫272功能可以利用^下 方法透過網路200與資料流管理伺服器212進行通 訊:使用Java RMI API、使用網路服務、或熟習本技 術者所知的任何其他通訊建置,呼叫c〇RBA物件的 成員方法、呼叫遠端物件的成員方法。 在應用程式238處理訊息240中所含的資料之 前,應用程式238從訊息傳遞中介軟體252接收訊息 240,訊息傳遞中介軟體252又透過傳輸引擎256從饋 送配接器208、206之一接收應用程式訊息24〇。訊息 傳遞中介軟體252是一種軟體組件,其在訂閱用戶端 裝置、現用饋送配接器208及備用饋送配接器206之 間提供高可用性服務。此外,訊息傳遞中介軟體252 為資料流管理伺服器212提供訊息管理服務。此類訊 息管理服務包括限制應用程式238在訊息流上對於滿 足某些約束條件的訊息發送及接收訊息的能力。應用 程式238及資料流管理庫272透過訊息傳遞中介軟體 API 254與訊息傳遞中介軟體252互動。 此外’圖2的訊息傳遞中介軟體252包括於本發 -31 - (5 )
傳ί潛時資料通訊環境中使用冗餘訊 體252,般為了於本發明實施例之
境中使用冗餘訊息流之可靠訊息傳 作:從該現用饋送配接器接收該現 俨;配二二回應從該現用饋送配接器至該備用 貝?难庵t、—容錯移轉,在該訂閱用戶端裝置的該 介軟體中,從該備用饋送配接器接收該等 Ί程式訊息。根據該制資料流來源識別符、 ,見用:!料机來源序號、該備用資料流來源識別符及 :亥,用貝料流來源序號,藉由該訂閱用戶端裝置的該 訊心傳遞中介軟體,管理備用應用程式訊息。 圖2的傳輪引擎256是操作於國際標準組織發表 SI協疋堆豎之傳輸及網路層的軟體組件。傳輸引
於256在網路連接的裝置之間提供資料通訊服務。傳 =擎可_ UDP/IP協定、TCP/IP協定或熟習本技 =知的任何其他資料通訊協定來建置。傳輸引擎 t ^種軟體組件,其包括用於以下操作的電腦程 加》7木.透過訊息流280、282從饋送配接器208、 ^接收封包、解壓縮所接收封包的應用程式訊息及 用程式訊息給訊息傳遞中介軟體252。訊息傳 〉中介軟體252透過傳輸引擎256公開的傳輸API 258 操作傳輪弓丨擎256。 (S ) -32- 在圖2的示範性系統令圖器 St解釋,而非用於限制。本發明實施置 遞使用冗餘訊息流之可靠訊息傳 服^ 用電腦來建置,例如電腦伺 手 人數位助理
或熟習本技術者所知根據本發明實施 、、且先、用於貞料處理的任何其他自動化計算機。、
、、且成圖2中圖解之示範性系統的伺服器及並他 2配置剌於解釋,而非用於限制。雖然以繞線連 來描績及朗圖2網路的連接,但讀者應注竟 到根據本發明不同實施例,亦可制無線連接。:匕外, 如熟習本技術者所㈣,根據本發料同實施例可使 理系統包括圖2中未顯示的額外伺服器、 點對點架構。此類資料處理系統 制協定育料通訊協定,包括例如傳輸控 mrm ^、網際網路協定(ΙΡ)、超文字傳送協定 (HDTm:J存取協定(WAP)、手持裝置傳輸協定 中圖姐66本技術者所知的其他協定。除了在圖2 / 、硬體之外,可在各種硬體平台上建 的不同具體#施例。 本毛月 在一些實施例中 根據本發明於高速、低潛時資 •33- 1378700 料通訊環境中使用冗餘訊息流之可靠訊息傳遞可與一 或多個訂閱用戶端裝置、資料流管理伺服器及饋送配 接裔、電腦(即自動化計算機)一起建置。為了進一步 解釋’圖3根據本發明實施例,說明自動化計算機的 方塊圖’其包含可於高速、低潛時資料通訊環境中使 用冗餘訊息流之可靠訊息傳遞中使用之訂閱用戶端裝 置210的範例。圖3的訂閱用戶端裝置21〇包括:至 少一電腦處理器156或CPU及透過高速記憶體匯流排 166連接的隨機存取記憶體168(RA]V[)及處理器156與 至訂閱用戶端裝置其他組件的匯流排配接器158。 RAM168中儲存的是應用程式238、應用程式訊 息240、訊息模型244、訊息庫248、訊息傳遞中介軟 體252、資料流管理庫272及傳輸引擎256。每一應用 程式訊息240是包括一或多個資料欄位且在訊息流上 從一個裝置傳送至另一個裝置的資料量。通常由操作 於網路上應用程式層及網路協定堆疊傳輸層的應用程 式建立及處理應用程式訊息。如上所提,應用程式訊 息可表示數字或文字資訊、影像、加密資訊、電腦程 式指令等等。例如,在金融市場資料環境中,—般將 應用程式訊息稱為「跳動點」,代表如金融報價或財經 新聞等金融市場資料。可使用結構化文件建置每一應 用程式訊息240,例如xMl文件、Java物件、〇+物 件或熟習本技術者所知的任何其他建置。訊息模型244 -34- 1378700 是定義訊息240之結構及格式的元:#料。亦可使用妹 構化文件建置訊息模型244,例如XML文件、】謂物 件、C++物件、或熟習本技術者所知的任何並他建置。 圖解於圖3中的應用程式238、訊息庫勝訊息傳遞 中介軟體252、資料流管理庫272及傳輸引擎256是 軟體組件’也就是如以上參相2所述操作的電腦程 另外亦儲存於RAM168中的是作業系統154。可 在根據本發明實施例之訂閱用戶端裝置中使用的作業
系統包括 UNIXTM、LinuxTM、Microsoft NTTM、IBM 的AIXTny IBM的i5/OSTM及熟習本技術者所知的 其他作業系統。將圖3範例中的作業系統丨54、應用 私式238、訊息240、訊息模型244、訊息庫248、訊 息傳遞中介軟體252及傳輸引擎256顯示於rAM168 中,但此軟體的許多組件通常亦儲存於非揮發性記憶 體中’例如儲存在磁碟機170上。 圖3的示範性訂閱用戶端裝置21〇包括匯流排配 接器158、含有高速匯流排之電子驅動器的電腦硬體 組件、前端匯流排162、視訊匯流排164及記憶體匯 流排166以及低速擴充匯流排160的電子驅動器。可 使用於根據本發明實施例可使用之訂閱用戶端裴置中 的匯流排配接器範例包括Intel北橋、Intel記憶體控制 -35- 1378700 器中樞、Intel南橋及Intel I/O控制器中極。可使用於 根據本發明具體實施例可使用之訂閱用戶端裝置的擴 充匯流排範例包括週邊組件互連(PCI)匯流排及PCI高 速(PCIe)匯流排。 圖3的示範性訂閱用戶端裝置(21〇)還包括透過擴 充匯流排160及匯流排配接器158輕合至示範性訂閱 用戶端裝置210之處理器156及其他組件的磁碟機配 接器172。磁碟機配接器172連接磁碟機17〇形式的 非揮發性資料儲存裝置至示範性訂閱用戶端裝置 210。可使用於訂閱用戶端裝置中的磁碟機配接器π 包括整合驅動電子介面(IDE)配接器、 面_己接器及熟習本技術者所知的 =外’對於訂閱用戶端裝置,可將非揮發性電腦記憶 體建置為光碟機、電可擦除可程式唯讀記憶體(所謂的 ffiPROM」$「快閃」記憶體ram驅動器等等, 如熟習本技術者所知的。 圖3的示範性訂閱用戶端裝置21〇包括一或多個 =/輸出_配接器' 178。訂閱用戶端裝置中的ι/〇 過例如軟體驅動程式及控制顯示裝置輸出的 181^硬(如電腦顯示螢幕)’以及使用者輸入裝置 於盤及滑鼠)的使用者輸人’建置使用者控制的 别輸出。® 3的示範性訂閱用戶端農置21〇包括視 -36- <5 1378700 訊配接器209 ’其為專用於圖形輸出給顯示裝置18〇, 如顯示螢幕或電腦監視器之I/O配接器的範例。視訊 配接器209透過高速視訊匯流排164、匯流排配接器 158及也是高速匯流排的前端匯流排162連接至處理 器 156。 圖3的示範性訂閱用戶端裝置21〇包括與其他電 φ 腦182進行資料通訊及與高速、低潛時資料通訊網路 200進行資料通訊的通訊配接器167。此類資料通訊可 在串列上透過RS-232連接、透過外部匯流排,如通用 串列匯流排(USB)、透過資料通訊網路,如ιρ資料通 訊網路及熟習本技術者所知的其他方式來施行。通訊 配接器建置資料通訊的硬體層級,透過此層級,電腦 可直接或透過^料通訊網路將資料通訊發送至另一電 腦。可使用於本發明實施例之高速、低潛時資料通訊 環境中使用冗餘訊息流之可靠訊息傳遞的通訊配接器 鲁 範例包括有線撥接通訊的數據機、有線資料通訊網路 通訊的IEEE 802.3乙太網路配接器及無線資料通訊網 路通訊的IEEE 802.11b配接器。 雖然圖3係參考示範性訂閱用戶端裝置來論述, • 但讀者應注意到包含可使用於本發明實施例之高速、 低潛時資料通訊環境中使用冗餘訊息流之可靠訊息傳 遞之示範性資料流管理伺服器及示範性饋送配接^的 (S ) -37· 1378700 自動化4异機與圖3的示範性訂閱用戶端裝置21〇類 似。也就是說’此類示紐:#料流管㈣服器及饋送 配接杰包括-或多個處理器、匯流排配接器、匯流排、 RAM、視纖接器、通訊配接H、⑻配接器、磁碟 機配接器及類似於圖3示範性訂閱用戶端裝置21〇的 其他組件,如熟習本技術者所知的。 為了進-步解釋’圖4根據本發明實施例,說明 解於高速、低潛時資料通訊環境中使用冗餘訊息流 勹可靠訊息傳遞之示範性方法的流程圖。圖4的方法 I括藉由貧料流管理伺服器,4〇〇從現用饋送配接器 ,理建立現用訊息流280至訂閱用戶端裝置。圖4的 見用訊息流280代表在訂閱用戶端裝置之通訊端點及 鳍送配接器之通訊端點之間的資料通訊通道。訊息流 可建置為使用UDP/IP協定的多播資料通訊通道或使 用Tcp/ip協定的單播資料通訊通道,如上文參考圖2 所塊。 ’ 在圖4的範例中,現用訊息流280能夠將現用應 用程式訊息404從現用饋送配接器傳達至訂閱用戶端 襄置。現用應用程式訊息404代表訂閱用戶端裝置從 境用饋送配接器接收的應用程式訊息。圖4的每一現 用應用程式訊息404的特徵在於現用來源資料流識別 符406、現用來源資料流序號408及現用訊息序號 -38· (S ) 1378700 410。現用來源資料流識別符4 〇 6代表現用饋送配接器 伙中接收轉換成現用應用程式訊息404之現用來源士 料流讯息的饋送配接器來源資料流。現用來源資料流 序號408代表在現用饋送配接器在相同來源資料流上 接收的其他現用來源資料流訊息中,唯一地識別轉換 成現用應用程式息404之現用來源資料流訊息的序 號。現用來源資料流序號408亦提供特定現用^源資 料流訊息相對於在現用饋送配接器中接收之其他現用 來源資料流訊息的相對傳送順序。現用訊息序號41〇 代表在從特定現用饋送配接器傳送的其他應用程式訊 息中,唯一地識別現用應用程式訊息的序號。與現用 來源資料流序號408類似’現用訊息序號彻亦提供 特定現用應用程式訊息相對於從現用饋送配接器傳送 之其他現用應用私式5凡息的相對傳送順序。 、 在圖4的方.法中,藉由資料流管理舰器_從 現用鎖送配接器代理建立現用訊息流至訂閱用 戶端裝置’補由從訂_戶端裝置接收訂閱饋送配 接器之訊息的訂閱請求來施行。訂閱請求可建置為 XML文件、在訂閱用戶端裝置上對細物件之成員 方法的呼叫或熟習本技術者所知的任何1他建置。訂 閱請求包括訂酬^端裝置請求從饋送配接器接收訊 息主題的。主題代表㈣用戶端裝置請求之訊息的特 性。訂_戶端裝置可使用主題指定要從饋送配接器 •39· 。例如,在金融市場資料環境中,訂 二=可使用主題向0PRA饋送來源請求含有 之,^擇權交易所(0B0E)進行買賣之腿選擇 最1跳動點’其中包括CB0E之_選擇權的 取π貝知及最低賣價。 供、、根ί圖4方法藉由資料流管理伺服器4G0從現用 Ϊ 理建立現用訊息流(28〇)至訂閱用戶端 、’、已θ供饋送配接器的目的地位址給訂閱用戶 端裝置。饋送配接㈣目的地位址是訂閱用戶端裝置 用來收聽饋送配接!|之訊息的多播位址或單播位址。 使用資料流管理伺服器提供的目的地位址,訂閱用戶 端裝置可建立從饋送配接器至訂閱用戶端裝置的現用 訊息流280。 在資料流管理伺服器提供饋送配接器的目的地位 址之前,圖4範例中的資料流管理伺服器可實行若干 安全性服務,以確保訂閱用戶端裴置僅從饋送配接器 接收訂閱用戶端裝置獲得授權可接收的訊息。在圖4 的方法中,藉由資料流管理伺服器代理400建立從訂 閱用戶端裝置至現用饋送配接器的現用訊息流28〇亦 可藉由以下方式來施行:驗證訂閱用戶端裝置及授權 訂閱用戶端裝置在訊息流280上從饋送配接器接收訊 息。可藉由碟認&丁閱用戶端裝置連同訂閱請求所提供 的用戶端安全性認證’對訂閱用戶端裝置施行驗證。 端安全性職可建置為公開金絲礎建設的數位 簽章、、安錄符記、或熟習本技術麵知用以驗證訂 閱請求建立者識別碼的任何其他安全性資料。授權訂 閱用戶端裝置在訊息流280上接收饋送配接器的訊息 可藉由以下;^來施行:根據授權方針識別與已驗證 。丁閱用戶端裝置相關聯的特權。授權方針是一種規則 集,其軍官已驗證訂閱用戶端裝置請求從饋送配接器 接收資料的特權。 圖4的方法亦包括藉由資料流管理伺服器代理 402建立從備用饋送配接器至訂閱用戶端裝置的備用 訊息流282。在圖4的範例中,藉由資料流管理伺服 器代理402建立從備用饋送配接器至訂閱用戶端裝置 的備用訊息流282可以與代理4〇〇類似的方式來施 行,如上述,藉由資料流管理伺服器建立從現用饋送 配接器至訂閱用戶端裝置的現用訊息流280。 圖4的備用訊息流282代表在訂閱用戶端裴置之 通訊端點及饋送配接器之通訊端點之間的資料通訊通 道。在圖4的範例中’備用訊息流282能夠將備用應 用程式訊息414從備用饋送配接器傳達至訂閱用戶端 裝置。備用應用程式訊息414代表訂閱用戶端裝置從 備用饋送配接器接收的應用程式訊息。圖4的每一備 1378700 =應用程式訊息414的特徵在於備用來源資料流識別 . 符416 '備用來源資料流序號418及備用訊息序號 . 420。備用來源資料流識別符416代表備用饋送^接器^ 從中接收轉換成備用應用程式訊息414之備用來源資 料流訊息的饋送配接器來源資料流。備用來源資料流 序號418是在備用饋送配接器在特定來源資料流上^ 收的/、他備用來源資料流訊息中,唯一地識別轉換成 • ^用應用程式訊息414之備用來源資料流訊息的序 號。備用來源資料流序號418亦提供特定備用來源資 料流=息相對於在備用饋送配接器中接收之其他備用 ,原資料汛息的相對傳送順序。備用訊息序號420 :在從特疋備用饋送配接器傳送的其他應用程式訊息 中。’唯—地識別備用應用程式訊息的序號。備用訊= 序號=提供特定備用應用程式訊息相對於從備用馈& 配接裔傳送之其他備用應用程式訊息的相對傳送順 序。 .. 、 在圖4的範例中,至少一些備用應用程式訊息414 代表先前在訂閱用戶端裝置之訊息傳遞中介軟體接收 之現用應用程式訊息404的複製。如上所提,無法保 證現用饋送配接器及制饋送配接器會以相同的順序 將來,資料流訊息轉換成應用程式訊息。因此,訂閱 =戶端裝置不能只有仰賴訊息序號410、420來識別複 製訊息。不過,訂閱用戶端裝置可以仰賴來源資料流 -42- 1378700 識別符406、416及來源資料流序號408、410來識別 • 複製訊息,因為備用應用程式訊息414具有備用來源 - 資料流識別符416及現用來源資料流序號418之相同 數值組合的内容複製現用應用程式訊息404具有現用 來源資料流識別符406及現用來源資料流序號408之 特定數值组合的内容。 • 圖4的方法亦包括在訂閱用戶端裝置的訊息傳遞 中介軟體令從現用饋送配接器接收422現用應用程式 訊息404。根據圖4方法在訂閱用戶端裝置的訊息傳 遞中介軟體中從現用饋送配接器接收422現用應用程 式訊息404可藉由以下方式來施行:接收含有現用應 用裎式訊息404的傳輸封包,如TCP封包或UDP封 包’然後解壓縮傳輸封包的訊息404。 鲁圖4的方法亦包括回應從現用饋送配接器至備用 饋送配接器的容錯移轉,在訂閱用戶端裝置的訊息傳 遞中介軟體中從備用饋送配接器接收424備用應^程 气。民息414。谷錯移轉是從故障的現用組件轉變至冗 餘備用組件的程序。容錯移轉可因以下狀況而發生: 現用饋送配接器的硬體或軟體失敗、連接至現用饋送 配接器的網路基礎建設受損、或熟習本技術者所知的 2其他原因。根據圖4的方法,回應從現用饋送配 盗至備用饋送配接器的容錯移轉,在訂閱用戶端裝 -43- 1378700
封包, ,如丁CP封包或UDp封包, 包的訊息414。 用傾运配接态接收424 以下方式來施行:從備 _程式訊息414的傳輸 包,然後解壓縮傳輸封 圖4的方法亦包括藉由訂閱用户端裝置的訊息傳 遞中介軟體,根據現用資料流來源識別符槪、現用 資料流來源序號備、備用資料流來源識別符416及 備用貝料流來源序號418 ’管理426備用應用程式訊 息414 ^根據圖4的方法管理426備用應用程式訊息 414可藉由以下方式來施行:識別接收的備用應用程 4句7自具不且/t 4 J·*儿^ α ^ 式訊息是否是先前接收之現用應用程式訊息的複製及 在備用應用裎式訊息是先前接收之現用應用程式訊息 的複製時,丟棄備用應用程式訊息。訂閱用戶端裝置 的m息傳遞中介軟體可識別備用應用程式訊息是否是 先前接收之現用應用程式訊息的複製,其係藉由比較 備用來源資料流識別符416及備用應用程式訊息414 之備用來源資料流序號418的值與現用來源資料流識 別符406及先前接收之現用應用程式訊息404的現用 來源資料流序號408的值。如果先前接收的現用應用 程式訊息404,如同備用來源資料流識別符416及備 用應用程式訊息414之備用來源資料流序號418的數 值組合,具有現用來源資料流識別符406及現用來源 -44 - (s) 1378700 資料流序號408的相同數值組合,則備用應用程式訊 • 息404是現用應用程式訊息414的複製。 項者應注意到,根據圖4的方法’错由在備用應 用程式訊息是先前接收之現用應用程式訊息的複製時 丟棄備用應用程式訊息以施行管理426備用應用程式 訊息414,僅是為了解釋而非為了限制。事實上,根 φ 據圖4的方法管理426備用應用程式訊息414亦可藉 由以下方式來施行:在已接收複製備用應用程式訊息 及將複製備用應用程式訊息傳送至應用軟體時,丢棄 先前接收之現用應用程式訊息,以另外進行操作於網 路協定堆疊之應用程式層的資料處理。 如上所提,饋送配接器將來源資料流訊息轉換成 應用程式訊息,以便傳送至訂閱用戶端裝置。因此, 為了進一步解釋,圖5說明圖解於本發‘明具體實施例 # 之高速、低潛時資料通訊環境中使用冗餘訊息流之可 靠訊息傳遞的其他示範性方法的流程圖,其中包括在 現用饋送配接器中,在複數個饋送配接器來源資料流 502、506上接收500現用來源資料流訊息504,及藉 由現用饋送配接器,將每一現用來源資料流訊息504 • 轉換512成現用應用程式訊息404。 圖5的範例包括兩個現用饋送配接器來源資料 -45 - (S ) 1378700 流:第一現用饋送配接器來源資料流502及第二現用 饋送配接器來源資料流506。每一現用饋送配接器來 源資料流5 02、506是從饋送來源至現用饋送配接器的 訊息流。饋送來源在兩個現用饋送配接器來源資料流 502、506上傳送現用來源資料流訊息504至現用饋送 配接器。如上所提,饋送來源可使用一個以上訊息流 傳送應用程式訊息至現用饋送配接器,因為在單一訊 息流上傳送訊息所需要的頻寬無法取得。在金融市場 資料環境中,例如’饋送來源可在訊息流上傳送始於 字母「A」至「M」之金融證券的跳動點,並可在另一 訊息流上傳送始於子母「N」至「Z」之金融證券的跳 動點。為了冗餘之故,可將兩個訊息流傳送至現用饋 送配接器及備用饋送配接器。 在圖5的範例中,由現用來源資料流識別符406 識別在現用饋送配接器中的每一饋送配接器來源資料 流502、506。現用來源資料流識別符406代表現用饋 送配接器從中接收特定現用來源資料流訊息504的來 源資料流。圖5的每一現用來源資料流訊息504的特 徵在於接收現用來源資料流訊息之饋送配接器來源資 料流的現用來源資料流序號408。現用來源資料流序 號408代表在現用饋送配接器在特定來源資料流上接 收其他現用來源資料流訊息中唯一地識別現用來源資 料流訊息的序號。現用來源資料流序號408亦提供特 (:s) -46· 1378700 定現用來源資料流訊息相對於在現用饋送配接器 收之其他現用來源資料流訊息的相對傳送順序。 ,由於饋送來源通常指派相同的序號給在每—現用 饋送配接器來源資料流5〇2、5〇6上傳送的訊息,因此 現用饋送配接器無法僅使用現用來源f料流序號 408,唯一地識別現用來源資料流訊息5〇4。例如,考u 慮饋送來源透過兩個饋送配接器來源資料流提供現用 饋送配接器跳動點的金融市場資料環境。饋送來源可 使用來源貢料流序號'1’,在第一饋送配接器來源資料 流上’將ΊΒΜ’的跳動點傳送至現用饋送配接器,且亦 可使用來源資料流序號T,在第二饋送配接器來源資 料流上’傳送'SUNW'的跳動點。由於兩個跳動點均具 有來源資料流序號’1,,饋送配接器無法僅使用來源資 料流序號’唯一地識別跳動點。 然而,結合現用來源資料流識別符406與現用來 源資料流序號408即可提供饋送配接器唯一地識別現 用來源資料流訊息504的能力。就上述範例繼續說 明,考慮現用饋送配接器對第一饋送配接器來源資料 流指派T值給現用來源資料流識別符406及對第二饋 送配接器來源資料流指派'2'值給現用來源資料流識別 符406。現用來源資料流識別符406的'1'值及現用來 源資料流序號408的'1'值唯一地識別現用饋送配接器 -47- c S ) 1378700 上ΊΒΜ·的跳動點。同樣地,現用來源資料流識別符406 的'2'值及現用來源資料流序號408的Τ值唯一地識別 現用饋送配接器上'SUNW'的跳動點。 圖5的方法亦包括藉由現用饋送配接器,將每一 現用來源資料流訊息504轉換512成現用應用程式訊 息404。根據圖5的方法,藉由現用饋送配接器將每 一現用來源資料流訊息504轉換512成現用應用程式 訊息404包括:將在現用饋送配接器中接收現用來源 資料流訊息504之饋送配接器來源資料流之現用來源 資料流識別符406的值及現用訊息序號410,加入514 每一現用來源資料流訊息504的内容。在圖5的方法 中,藉由現用饋送配接器,將每一現用來源資料流訊 息504轉換512成現用應用程式訊息404亦可藉由以 下方式來施行:呼叫能夠將具有第一格式之來源資料 流訊息504轉換成具有第二格式之應用程式訊息4〇4 的轉換器功能。應用程式訊息404的第二格式係使用 訊息模型510來指定。如上所提,訊息模型51〇代表 的元資料定義現用饋送配接器將現用來源資料流訊息 504轉換成之現用應用程式訊息404的結構及格式。 如上所解釋,圖5的現用應用程式訊息4〇4代表 訂閱用戶端裝置從現用饋送配接器接收的應用程式訊 息。現用應用程式訊息404得自現用饋送配接器根據 -48- 1378700 訊息模型510轉換在複數個饋送配接器來源資料流 5〇2、506上到達之現用來源資料流訊息504的結果。 圖5的每一現用應用程式訊息404的特徵在於:現用 來源資料流識別符406、現用來源資料流序號408及 現用訊息序號410。 圖5的方法係參考以下項目來說明:現用饋送配 接器、在複數個饋送配接器來源資料流上的現用來源 為料流訊息、現用來源資料流識別符、現用來源資料 流序號、現用應用程式訊息、現用訊息序號等等。然 而,δ買者應注意,於高速、低潛時資料通訊環境中使 用冗餘訊息流之可靠訊息傳遞的示範性方法包括:在 備用饋适配接器中,接收在複數個饋送配接器來源資 ^流上的備用來源資料流訊息,每—饋送配接器來源 貝料流,備用來源資料流識別符在備用饋送配接器中 識別,每一備用來源資料流訊息的特徵在於接收備用 來源資料流訊息之饋送配接器來师料⑽備用來源 資料流序號。及藉由備用饋送配接器,將每―備 源貧料流訊息轉換成備職隸式訊息,包括將在 :饋运酉:接器中接收備用來源資料流訊息之饋送配接 器來源錄流的備用來源資料流識別符的值及備用訊 息序號加入每―備用來源資料流訊息的内容,其以鱼 圖5方法類似的方式操作。 /、 -49- 1378700 通常,現用饋送配接器從饋送來源接收現用饋送 配接器傳到訂閱用戶端裝置的管理訊自。 :端裳置必須能夠以相同的相對傳送順序,從現用饋 送配接器及備用饋送配接器取得管理訊息,因此現用 饋送配接器與備用饋送配接器同步遞送管理自、 閱用戶端裝置。因此’為了進—步解釋,^據本 發明實施例,說明圖解於高速、低潛時資料通訊環境 中使用冗餘訊息流之可靠訊息傳遞之另一示範性方法 的流程圖,其包括:藉由現用饋送配接器,將管理應 用程式訊息610及在傳送序列中指定現用饋送配接器 將傳送管理應用程式訊息610給訂閱用戶端裝置之時 間點的現用訊息序號612的值傳送614至備用饋送配 接器。 圖6的方法包括在現用饋送配接器中,接收6〇〇 在饋送配接器來源資料流604上的管理來源資料流訊 息602。饋送配接器來源資料流6〇4代表從饋送來源 至現用饋送配接器的訊息流。管理來源資料流訊息6〇2 代表含有從饋送來源傳達至饋送配接器之管理資訊的 來源資料流訊息。管理資訊的範例包括陳述以下項目 的資訊:饋送來源將在5:00 pm關閉;來源資料流序 號擬在100條以上的訊息後重設為,1000,;在饋送來源 已發生容錯移轉;及熟習本技術者所知的任何其他管 理資訊。 八 •50- 1378700 圖6的方法亦包括藉由現用饋送配接器,將管理 來源資料流訊息602轉換606成管理應用程式訊息 610。圖6的管理應用程式訊息610代表饋送配接器根 據訊息模型轉換以傳送給訂閱用戶端裝置的管理來源 資料流訊息。根據圖6的方法,藉由現用饋送配接器, 將管理來源資料流訊息602轉換606成管理應用程式 訊息610可藉由以下方式來施行:呼叫能夠將具有第 一格式之來源資料流訊息轉換成之具有第二格式應用 程式訊息的轉換器功能。第二格式(管理應用程式訊息 610的格式)係使用訊息模型620來指定。如上所提, sfL息模型620代表的元資料定義管理饋送配接器將現 用來源資料流訊息602轉換成之管理應用程式訊息 610的結構及格式。 …在圖6的方法中,藉由現用饋送配接器,將管理 來源資料流訊息602轉換606成管理應用程式訊息61 〇 包括:識別608在傳送序列中指定現用饋送配接器將 傳送管理應用程式訊息610給訂閱用戶端裝置之時間 點的現用訊息序號612的值。根據圖6的方法,可藉 由以下方式來施行識別608現用訊息序號612 :識別 現用饋送配接器處理之最新應用程式訊息之現用訊息 序號的值,及將預定數加入識別的值。預定數應該高 到足以產生在傳送序列中指定很前面之時間點的現用
51 1378700 訊息序號612的值,以允許備用饋送配接器與現用饋 送配接器同步。 圖6的方法亦包括藉由現用饋送配接器,將管理 應用程式訊息610及識別之現用訊息序號612的值傳 送614至備用饋送配接器。根據圖6的方法,藉由現 用饋送配接器’將管理應用程式訊息61〇及識別之現 用訊息序號612的值傳送614至備用饋送配接器可藉 由以下方式來施行:使用java RMI API、使用網路服 務、或熟習本技術者所知的任何其他通訊建 詈呼叫 CORBA物件的成員方法、呼叫遠端物件的成員方法, 傳送管理應用程式訊息610及識別之現用訊息序號 612的值。 圖θ的方法亦包括藉由現用饋送配接器,在現用 訊息流上,在現用訊息序號612在傳送序列中識別的 時間點,將管理應用程式訊息⑽舰6 i 6至訂閱用 戶端裝置。藉由現用饋送配接器,在現用訊息流上, 在現用訊息序號612在傳送相巾識時間點,將 管理應用程式訊息61G傳送616^τΜ戶端裝置可 藉由以下方絲施行:在目前要傳送的訊息—的值 匹配的現用訊息序號612值時,將管理應用程式訊息 610壓縮祕輪封包’如’ Tcp封包sUDp封包,缺 後使用例如τ〇νΙΡ龄或UDp/Ip蚊將傳輸封包傳 -52- 送至可閱用戶端裝置。目前要傳送的訊息618是電腦 圮憶體中的一個位置,其藉由儲存現用饋送配接器所 處理之要傳送的目前應用程式訊息的現用訊息序號, 指定現用饋送配接器所處理之要傳送至訂閱用戶端裝 置的目前應用程式訊息。 如上所提,現用饋送配接器將管理應用程式訊息 及現用訊息序號的值傳送至備用饋送配接器,以便同 步傳送管理應用程式訊息至訂閱用戶端裝置。因此, 為了進一步解釋,圖7說明圖解於本發明實施例之高 速、低潛時資料通訊環境中使用冗餘訊息流之可靠訊 息傳遞之進一步示範性方法的流程圖,其中包括在備 用饋送配接器中,從現用饋送配接器接收7〇〇管理應 用程式訊息610及在傳送序列中指定現用饋送配接器 將傳送管理應用程式訊息610至訂閱用戶端裝置之時 間點之現用訊息序號612的值。圖7的管理應用程式 讯息610代表饋送配接器根據訊息模型轉換以傳送給 訂閱用戶端裝置的管理來源資料流訊息。 圖7的方法亦包括藉由備用饋送配接器,識別7〇2 在接收管理應用程式訊息610之前在備用饋送配接器 中處理之最新備用應用程式訊息之備用訊息序號7〇4 的值。藉由備用饋送配接器,識別702在接收管理應 用程式訊息610之前在備用饋送配接器中處理之最新 1378700 備用應用程式訊息之備用訊息序號7G4的值可藉由以 下方式來施彳丁 :在備用饋送配接器從現 哭 =理應用程式訊息61。時,操取目前要處理 息期的值。圖7之目前要處理的訊息7〇1 憶體中個位置,其藉由儲存備用饋送配接器所處 理之目W訊息之備用訊息序號的值,指 配接器所處理的目前訊息。
圖7的方法亦包括藉由備用饋送配接器,根據接 收之現用訊息序號612的值、傳送至用戶端裝置之最 新訊息之備用序號7〇4的值及預定同步化序號臨限值 ’決$ 708備用饋送配接器是否能夠在備用訊息流 上同步傳送管理應用程式訊息61〇至訂閱用戶端裝 置。預定同步化序號臨限值706是某個數值,其指定 接收之現用訊息序號612的值在傳送序列中是否在很 前面,致使備用饋送配接器具有足夠時間可與現用饋 送配接器傳送管理應用程式訊息61 〇同步傳送管理應 用程式訊息610。 " 在圖7的方法中’決定708備用饋送配接器是否 能夠在備用訊息流上同步傳送管理應用程式訊息6丄〇 至訂閱用戶端裝置可藉由以下方式來施行:比較預定 同步化序號臨限值706與接收之現用訊息序號612的 值及傳送至用戶端裝置之最新訊息之備用序號7〇4的 < S ) -54- 值之間的差。在此示範性具體實施例中,如果預定同 步化序號臨限值706超過在接收之現用訊息序號612 的值及傳送至用戶端裝置之最新訊息之備用序號704 的值之間的差,則備用饋送配接器能夠在備用訊息流 上同步傳送管理應用程式訊息610至訂閱用戶端裝 置。然而,在此示範性具體實施例中,如果預定同步 化序號臨限值706沒有超過接收之現用訊息序號612 的值及傳送至用戶端裝置之最新訊息之備用序號704 的值之間的差,備用饋送配接器無法在備用訊息流上 同步傳送管理應用程式訊息610至訂閱用戶端裝置。 圖7的方法包括藉由備用饋送配接器,將備用訊 息序號718加入710管理應用程式訊息61〇具有匹配 現用訊*息序號612之值的值的内容,及在備用饋送配 接器能夠在備用訊息流上同步傳送管理應用程式訊息 至訂閱用戶端裝置時,藉由備用饋送配接器,將與其 他備用應用裎式訊息一致的管理應用程式訊息傳 送712至訂閱用戶端裝置。在圖7的方法中,藉由備 用饋送配接器,將備用訊息序號718加入710管理應 用裎式訊息610具有匹配現用訊息序號612之值的值 的内容可藉由以下方式來施行:使用指定管理應用程 ,矾息610之格式的訊息模型,在對應於備用訊息序 唬718之管理應用程式訊息61〇的資料欄位中,儲存 現用訊息序號612的值。 1378700 • 在圖7的方法中,藉由備用饋送配接器,將與其 他備用應用程式訊息一致的管理應用程式訊息610傳 送712至訂閱用戶端裝置可藉由以下方式來施行:在 目W要傳送的訊息711的值匹配加入訊息610之備用 訊息序號718的值時’將管理應用程式訊息61〇壓縮 成傳輸封包,如,TCP封包或UDP封包,然後使用例 • 如TCP/IP協定或UDP/IP協定,將傳輸封包傳送至訂 閱用戶端裝置。目前要傳送的訊息711是電腦記憶體 中的個位置,其藉由儲存備用饋送配接器所處理之 要傳送的目前應用程式訊息的備用訊息序號,指定現 用饋迗配接器所處理之要傳送至訂閱用戶端裝置的目 前應用程式訊息。 圖7的方法亦包括藉由備用饋送配接器,降低714 ΐ的傳輸率’及在制饋送配接II無法在備用Μ =上同步傳送管理應用程核息至 ^ :戶:送管理應用程式訊息至訂閱 降低Λ 藉由備用饋送配接器, 息至訂 暫停傳送制細程式訊桃續财的^週τ期= (:s ) -56- 1378700 用饋送配捿ϋ可在以下情況暫停傳送:在傳送每〜 • 用應用程式訊息之後、在傳送每隔_個備用應, . 訊息之後、或熟習本技術者所知的任何其他頻率。" ,在圖7的方法中,藉由備用饋送配接器,與現用 饋送配接器協商716另一訊息序號以同步傳送管理應 用程式Λ息至汀閱用戶端裝置可藉由以下方式來施 • 行:將對現用饋送配接器的請求傳送至現用饋送配接 °。以供與現用饋送配接器傳送管理應用程式訊息 61 〇同步傳送管理應用程式訊息610所使用之現用訊 息序號612的另一值。根據圖7的方法,藉由備用饋 送配接為,與現用饋送配接器協商71ό同步傳送管理 應用程式訊息至訂閱用戶端裝置的另一訊息序號亦可 藉由以下方式來施行:識別在傳送序列中指定現用饋 送配接器將傳送管理應用程式訊息61〇至訂閱用戶端 裝置之時間點之現用訊息序號612的新值,以提供備 • 用饋送配接器與現用饋送配接器傳送管理應用程式訊 息610同步傳送管理應用程式訊息610的時間。根據 圖7的方法,藉由備用饋送配接器,與現用饋送配接 器協商716另一訊息序號以同步傳送管理應用程式訊 息至訂閱用戶端裝置可另外藉由以下方式來施行:將 現用訊息序號612的新值傳送至現用饋送配接器。 4監於本文在上文所提出的解釋,讀者應明白,實 -57- < 5 > 士發明實&例之於高速、低潛時資料通訊環境中使 几餘訊息流之可靠訊息傳遞可提供優點如下: •增加容錯移轉後資料復原的效能,因為訂閱 =端I置料檢查所有已接收現職諫式訊息及 收備用應用&式n的完整内容以識別複製備用 應用程式訊息;及
. …叫川厂崎展直1以相對於其他應用程式訊 目同相對順序接收管理應用程式訊息,無論在容 二,之後’從期饋軌接^或制饋送配接 收訊息。
明.2明示紐實_大部分在以下背景中進行說 '低潛時資料通訊環境中使用冗餘訊息流 H、傳遞的完整功能電腦系统。然❿,孰習本 明白,本發明亦可内建於配置在信號負 2!=_糾產品’以搭配任何合適的資料處 ^、,,。此類仏唬負載媒體可以是機器可讀資訊 =送媒體或可記錄媒體,包括磁性媒體、光學媒體 二適媒體。可記錄媒體的範例包括硬碟中的磁 碟機的光碟、磁帶及熟習本技術者所知 他可_職。傳送媒體的範例包括 電話網路及數位資料通訊網路,wnetsTM及; *58- (5 ) 1378700 網際網路協定進行軌_路以及全球f_(w_
Wlde獅)’以及無線傳送媒體,如根據IEEE 802 U 系列規輅建置的網路。熟習本技術者應立即明白任 何具有合適程式化構件的電腦系統均能夠執行内建於 ^產品之本發明方法的步驟。熟f本技術者應立即 月白,雖然本朗書巾所說_示紐具體實施例係 針對在電腦硬體上絲及執行陳體 或硬體㈣姐騎實齡卜樣縣糾;體 從上述說明可以瞭解,在不脫離本發明不同 ^施,真實内涵下,可在本發明不同具體實; 用 > 改及變更。本說明書巾的朗僅是為了解說之 ^應將其料具有限雜。本發明麟僅受限於 以下申請專利範圍的說明文字。 圖式簡單說明】 境 圖1提供方塊圖說明資料通訊之典型訊息傳遞環 〇 圖2提供根據本發明示範性實施例之高速、低潛 通訊環境中使用冗餘訊息流之可靠訊息傳遞之 下乾电腦貧料處理系統的網路及方塊圖。 士次,3提供根據本發明示範性實施例之高速、低潛 传田;^兄中使用冗餘訊息流之可靠訊息傳遞中 丁閱用戶端裂置的自動化計算機的方塊圖。 •59- (S ) 1378700 圖4根據本發明示範性實施例之高速、低潛時資 料通訊環境中使用冗餘訊息流之可靠訊息傳遞之示範 性方法的流程圖。 圖5根據本發明示範性實施例之高速、低潛時資 料通訊環境中使用冗餘訊息流之可靠訊息傳遞之另一 示範性方法的流程圖。 圖6根據本發明示範性具體實施例之高速、低潛 時資料通訊環境中使用冗餘訊息流之可靠訊息傳遞之 另一示範性方法的流程圖。 圖7根據本發明示範性實施例之高速、低潛時資 料通訊環境中使用冗餘訊息流之可靠訊息傳遞之另一 示範性方法的流程圖。 【主要元件符號說明】 100 訊息發送裝置 102 訊息管理伺服器 104 訊息接收裝置 106 、 108 訊息流 110 訊息產生器 112 訊息取用器 114 訊息管理模組 154 作業系統 156 電腦處理器 156 電腦處理器 60- 1378700
158 匯流排配接器 160 擴充匯流排 162 前端匯流排 164 視訊匯流排 166 記憶體匯流排 167 通訊配接器 168 隨機存取記憶體 170 磁碟機 111 磁碟機配接器 178 輸入/輸出(I/O)配接器 180 顯示裝置 181 使用者輸入裝置 182 其他電腦 200 高速、低潛時資料通訊網路 201 高速、低潛時資料通訊環境 202 饋送配接器庫 204 饋送配接器庫API 206 備用饋送配接器 208 現用饋送配接器 210 訂閱用戶端裝置 212 資料流管理伺服器 213 饋送來源 214 現用饋送配接器來源資料流 216 現用饋送配接器輸出資料流 1378700
217 備用饋送配接器輸出資料流 218 備用饋送配接器來源資料流 220 ' 221 轉換模組 222 ' 223 轉換器表格 224 > 225 轉換器功能 226 、 290 轉換器功能API 228 貧料流官理核組 230 驗證模組 232 公開的驗證應用程式介面 (API) 234 授權模組 235 授權方針 236 公開的授權API 238 應用程式 240 應用程式訊息 244 、 620 訊息模型 248 訊息庫 250 訊息API 252、276、277 訊息傳遞中介軟體 254 > 267 訊息傳遞中介軟體API 256 傳輸引擎 258 ' 268 傳輸API 260、262、264、270 纜線連接 269 傳輸引擎API -62- 1378700
272 資料流管理庫 274 資料流管理庫API 278 ' 279 傳輸引擎 280 現用訊息流 282 備用訊息流 284 訊息 288 備用應用程式訊息 404 現用應用程式訊息 406 現用來源資料流識別符 408 現用來源資料流序號 410 現用訊息序號 414 備用應用程式訊息 416 備用來源資料流識別符 418 備用來源資料流序號 420 、 718 備用訊息序號 502 第一現用饋送配接器來源資 料流 504 現用來源資料流訊息 506 第二現用饋送配接器來源資 料流 602 管理來源資料流訊息 610 管理應用程式訊息 612 現用訊息序號 618 、 711 目前要傳送的訊息 701 目前要處理的訊息 63-

Claims (1)

1378700 器代:i:貝=管r服器’自-主動饋送配接 裔代理建立一主動汛息流至— 達主動應用程式訊息,上置= 符、-士如十、E 動來源資料流識別
付-主動來源資料流序號及—主動訊 ,代=ΠΓΓ服器,自-備用:送配接 益代理建立-備用訊息流至該訂 備用訊息流能夠傳達相當於嗦裝置’5亥 息之複製的該備用應用程式;每動:= 2息的舰在於—侧來源㈣流識 用來源貧料流序號及—備用訊息序號;
甲堉寻利範圍 在該訂閱用戶端裝置的訊<& t 主動馈魏接器接收該等主動應用程式S 回應主㈣送配接^鋪 ::一容錯移轉’在該訂閱用戶端裝置的該訊息:ί f中介軟體中,從該備用饋送配接器接收該等備用 應用程式訊息;及 根據該主動資料流來源識別符、該主動資料流 來源序號、_”料流來源朗符及該備用資料 ^來源序號,藉由該訂閱用戶端裝置_訊息傳遞 _介軟體’管理該等備用應用程式訊息。 (S ) -64· 1378700 2.如申請專利範圍第w之方法,其中至少一些 備用應用程式訊息相當於先前在該訂閱用戶端梦 遞中介軟體中接收之該主動應用程 3· 2請專利範圍第W之方法,其中該高速心 =貝=通騎< 土見,包含-焉速、低潛時資料通訊網 路’邊網路進-步包含該主動饋送配接器、該 饋送配接器'該資料流管理伺服器、至少一 戶端裝置,且沒有包含路由器。 ° ^ 4· ^申請專利範圍m項之方法,其中每—饋送 益包含一裝置能夠將一饋送配接器來源資料流上 具有一第一格式的訊息轉換成一饋送配接哭ς 資料流上具有-第二格式的訊息,絲該饋送 器輸出資料流上之該等訊息傳送至訂閱用戶端裴 置。 、 5.如申請專利範圍第1項之方法,進一步包含: π在該主動饋送配接器中,接收在複數個饋送配 接器來源資料流上的主動來源資料流訊息,每一铲 送配接益來源資料流藉由一來源資料流識別符在 5亥主動饋送配接器中識別,每一主動來源資料流訊 -65 - 1378700 息的特徵在於接收該主動來源資料流訊息之該饋 送配接器來源資料流的一主動來源資料流序號;及 藉由該主動饋送配接器,將每一主動來源資料 ' 流訊息轉換為一主動應用程式訊息,包括將在該主 動饋送配接器中接收該主動來源資料流訊息上之 該饋送配接器來源資料流之該主動來源資料流識 別符及一主動訊息序號加入每一主動來源資料流 訊息的内容。 6.如申請專利範圍第1項之方法,其進一步包含: 在該備用饋送配接器中,接收在複數個饋送配 接器來源資料流上的備用來源資料流訊息,每一饋 送配接器來源資料流藉由一備用來源資料流識別 符在該備用饋送配接器中識別,每一備用來源資料 流訊息的特徵在於接收該備用來源資料流訊息之 該饋送配接器來源資料流的一備用來源資料流序 • 號;及 藉由該備用饋送配接器,將每一備用來源資料 流訊息轉換為一備用應用程式訊息,包括將在該備 用饋送配接器中接收該備用來源資料流訊息上之 的該饋送配接器來源資料流之該備用來源資料流 . 識別符及一備用訊息序號加入每一備用來源資料 流訊息的内容。 -66- 如申請專利範圍第1項之方法,其進一步包含: 在δ亥主動饋送配接器中,接收在一饋送配接器 來源貧料流上的一管理來源資料流訊息; 藉由該主動饋送配接器,將該管理來源資料流 訊息轉換成-管理應用程式訊息,包括識別在一傳 送序列中指定該主動饋送配接器將傳送該管理應 用轾式汛息至該訂閱用戶端裝置之時間點的一主 動訊息序德一^ 藉由該主動饋送配接器’將該管理應用程式訊 息及該已識別的主動訊息序號傳送至該備用饋送 配接器;及 藉由该主動饋送配接器,在該主動訊息流上, 在该主動訊息序號在該傳送序列中識別的時間 點,將該管理應用程式訊息傳送至該訂閱用戶端裝 置。 、 如申請專利範圍第1項之方法,其進一步包含: 在該備用饋送配接器中’從該主動饋送配接器 接收一管理應用程式訊息及在一傳送序列中指定 該主動饋送配接器將傳送該管理應用程式訊氣给 該訂閱用戶端裝置之一時間點的一主動訊息序號: 在接收該管理應用程式訊息之前,藉由該備用 饋送配接器,識別在該備用饋送配接器中所處理的 一最新備用應用程式訊息中的一備用訊息序號;及 藉由該備用饋送配接器,根據該所接收主動訊 息序號的值、傳送給該用戶端裝置之該最新訊息的 備用序號及一預定同步化序號臨限值,決定該備用 饋,配接器是否能夠在該備用訊息流上同步傳送 該管理應用程式訊息至該訂閱用戶端裝置。
9·如申請專利範圍第8項之方法,其中該備用饋送配 接益能夠同步在該備用訊息流上傳送該管理應用 =式訊息至I亥訂閱用戶端裝置,及該方法進^包 藉由該備用饋送配接器,將—備用訊息序號加 入該管理制程式訊息具有匹配該主動訊息序號 之值的一個值的内容;及 藉由該備用饋送配接器,將與其他該備用應用
mt、-致的鮮理應肖料 閱用戶端裝置。 寸、王/ 丁 1〇.=ΐ專利範圍第8項之方法,其中該備用饋送配 二,,,、法在$制m上同步傳送該管理應用 =式訊息至該訂_戶端裝置,及該方法進一步包 3 · 藉=備用饋送配接器,降低該備用饋送配接 二:;ί:用及應用程式訊息至該訂閱用戶端裝 -68- 藉由式備㈣送配接n,與魅動饋送配接器 該管理應用程式訊息至該訂閱用戶 ^裝置的另一訊息序號。 n ,於呵逮、低潛時貢料通訊環境中使用冗餘訊 靠訊息傳遞的設備,—備包含—或多個 或多個在操作上轉合至該-或多個 „器的電腦記憶體’該等電腦記憶體在其中 已配置的電腦程式指令能夠: 藉由M料流官理伺服器,自—主動饋送配接 1理建立一主動訊息流至—訂閱用戶端裝置,該 =訊息流能夠傳達主動應㈣式訊息,每一主動 ^ &式讯息的特徵在於—主動來源資料流識別 、、—主動來源資料流序號及—主動訊息序號; 错由該資料流f理伺服器,自—制饋送配接 備田里建立一備用訊息流至該訂閱用戶端裝置,該 Φ汛息流能夠傳達相當於該等主動應用程式訊 ^之復製的該備用制程式訊息,每―應用程 =息的特徵在於-備时源f料流綱符、一備 來源資料流序號及一備用訊息序號; 訊自!?主,送配接器在該訂閱:戶端裝置的 〜傳遞中介軟體中接收該等主動應用程式訊色; f應從該主動饋送配接器至—㈣送^ -的1錯移轉’在該訂閱用戶端裝置的該訊息傳 (S ) -69- ^/«700 遞中介軟體中,從該備用饋送配接器接收該等備用 • 應用程式訊息;及 • 根據該主動資料流來源識別符' 該主動資料流 來源序號、該備用資料流來源識別符及該備用資料 流來源序號’藉由該訂閱用戶端裝置的該訊息傳遞 中介軟體’管理該等備用應用程式訊息。 鲁 I2.如申請專利範圍第11項之設備,其進一步包含的 電腦程式指令能夠: 在该主動饋送配接器中,接收在複數個饋送配 接器來源資料流上的主動來源資料流訊息,每一饋 ,配接器來源資料流藉由—主動來源資料流識別 符在該主動饋送配接器中識別,每一主動來源資料 流訊息的特徵在於接收該主動來源資料流訊息之 該饋送配接器來源資料流的一主動來源資料流序 號;及 鲁 藉由4主動饋送配接器,轉換每一主動來源資 料流訊息為一主動應用程式訊息,包括將在該主動 饋送配接器中接收該主動來源資料流訊息的該饋 送配接器來源資料流之該主動來源資料流識別符 及一主動訊息序號加入每一主動來源資料流訊息 的内容。 • 13.如申請專利範圍第11項之設備,進一步包含的電 -70- <5 > 腦程式指令能夠: 在該主動饋送配接器中,接收在一饋送配接器 • 來源資料流上的一管理來源資料流訊息; 藉由該主動饋送配接器,將該管理來源資料流 訊息轉換成-管理應用程式訊息,包括識別在一傳 送序列中指定該主動饋送配接器將傳送該管理應 用耘式汛息至該訂閱用戶端裝置之時間點的一主 • 動訊息序號; It由5亥主動饋送配接器,將該管理應用程式訊 息及該已識別的主動訊息序號傳送至該備用饋送 配接咨;及 、 藉由該主動饋送配接器,在該主動訊息流上, 在该主動訊息序號在該傳送序列中識別的時間 點’將該管理應用程式訊息傳送至該訂閱用戶端裝 置。 、 • κ如中請專利範圍第n項之設備,進—步包含電腦 程式指令能夠: _ 在該備用饋送配接器中’從該主動馈送配接器 接收一管理應用程式訊息及在一傳送序列中指定 該主動饋送配接器將傳送該管理應用程式訊息給 • 該訂閱用戶端裝置之一時間點的一主動訊息序號; • 在接收該管理應用程式訊息之前,藉由該備用 饋送配接器’識別在該備用饋送配接器中所處理之 -71 · 〇/»/◦〇 一最,備賴用程式訊息中的—備用訊息序號;及 藉由該備用饋送配接器,根據該所接收的主動 訊息序號的值、傳送給制戶純置 備用序號及-航同步化序號臨^值斤二 用饋送配接器是否能夠在該備用訊息流上同 該管理應用程式訊息至該訂閱用戶端裝置。
15. 了 Ϊ於—高速、低潛時資料通訊環境中使用冗餘訊 =之可靠訊息傳遞的電腦程式產品,該電腦程式 置於-信號負載媒體上,該電腦程式產品包 3的電腦程式指令能夠:
⑼資料流管糊服器’自—主域送配接 自立—主動訊息流至—訂閱用戶端裝置,該 二:流能夠傳達主動應用程式訊息,每一主動 J、:式讯息的特徵在於一主動來源資料流識別 、=,來源資料流序號及—主動訊息序號; 配接代理自一備用饋送 置,Kg建備訊心流至該訂閱用戶端裝 的備、^傳達代表料絲應㈣式訊息之複製 徵才於二用程式訊息’每一備用應用程式訊息的特 二岸^備用來㈣料流識別符、—備用來源資料 "IL序唬及—備用訊息序號; 晉的,1亥主動饋送配接器接收在該訂閱用戶端裝 U專遞中介軟體之該等主動制程式訊息; (S ) •72· 1378700 從該備用饋送配接器在該訂閱用戶端裝置的 該訊息傳遞中介軟體中,接收回應從該主動饋送配 接器至該備用饋送配接器的一容錯移轉;及 根據該主動貢料流來源識別符、該主動貪料流 來源序號、該備用資料流來源識別符及該備用資料 流來源序號,藉由該訂閱用戶端裝置的該訊息傳遞 中介軟體,管理該等備用應用程式訊息。 • 16.如申請專利範圍第15項之電腦程式產品,其中該 信號負載媒體包含一可記錄媒體。 17. 如申請專利範圍第15項之電腦程式產品,其中該 信號負、載媒體包含一傳送媒體。 18. 如申請專利範圍第15項之電腦程式產品,其進一 步包含的電腦程式指令能夠: φ 在該主動饋送配接器中,接收在複數個饋送配 接器來源資料流上的主動來源資料流訊息,藉由一 主動來源資料流識別符識別在該主動饋送配接器 中的每一饋送配接器來源資料流,每一主動來源資 料流訊息的特徵在於接收在該主動來源資料流訊 . 息上的該饋送配接器來源資料流之一主動來源資 料流序號,及 藉由該主動饋送配接器,將每一主動來源資料 -73- lJ/δ/ϋϋ 流訊息轉換為一主動應用程式訊息,包括將在該主 動饋送配接器中接收在該主動來源資料流訊息上 的該饋送配接器來源資料流之該主動來源資料流 識別符及一主動訊息序號加入每一主動來源資料 流訊息的内容。 19.如申請專利範圍第15項之電腦程式產品,進一步 包含的電腦程式指令能夠: 在6亥主動饋送配接器中,接收在一饋送配接器 來源資料流上的一管理來源資料流訊息; 藉由該主動饋送配接器’將該管理來源資料流 訊息轉換成一管理應用程式訊息,包括識別在一傳 送序列中指定該主動饋送配接器將傳送該管理應 用程式訊息至該訂閱用戶端裝置之時間點的一 ^ 動訊息序號; 藉由該主動饋送配接器,將該管理應用程式訊 息及該已識別的主動訊息序號傳送至該備用饋送 配接器;及 “藉由該主動饋送配接器,在該主動訊息序號在 該傳送序列中識別的時間點之該主動訊息流上,傳 送該管理應用程式訊息至該訂閱用戶端裝置。 2〇.如申請專利範圍第15項之電腦程式產品,進—步 包含的電腦程式指令能夠: , • 74 - 1378700 在該備用饋送配接器中,從該主動饋送配接器 接收一管理應用程式訊息及在一傳送序列中指定 該主動饋送配接器將傳送該管理應用程式訊息給 • 該訂閱用戶端裝置之一時間點的一主動訊息序號; 在接收該管理應用程式訊息之前,藉由該備用 饋送配接器,識別在該備用饋送配接器中處理的一 最新備用應用程式訊息中的一備用訊息序號;及 藉由該備用饋送配接器,根據該所接收該主動 • 訊息序號的值、傳送給該用戶端裝置之該最新訊息 的備用序號及一預定同步化序號臨限值,決定該備 用饋送配接器是否能夠在該備用訊息流上同步傳 送該管理應用程式訊息至該訂閱用戶端裝置。 -75 < S )
TW096122459A 2006-06-27 2007-06-22 Reliable messaging using redundant message streams in a high speed, low latency data communications environment TWI378700B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/426,849 US8122144B2 (en) 2006-06-27 2006-06-27 Reliable messaging using redundant message streams in a high speed, low latency data communications environment

Publications (2)

Publication Number Publication Date
TW200818828A TW200818828A (en) 2008-04-16
TWI378700B true TWI378700B (en) 2012-12-01

Family

ID=38440190

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096122459A TWI378700B (en) 2006-06-27 2007-06-22 Reliable messaging using redundant message streams in a high speed, low latency data communications environment

Country Status (7)

Country Link
US (2) US8122144B2 (zh)
EP (1) EP2039129B1 (zh)
JP (1) JP4566273B2 (zh)
CN (1) CN101411166B (zh)
CA (1) CA2650169C (zh)
TW (1) TWI378700B (zh)
WO (1) WO2008000625A1 (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060271663A1 (en) * 2005-05-31 2006-11-30 Fabio Barillari A Fault-tolerant Distributed Data Processing System
US8584145B1 (en) * 2010-08-06 2013-11-12 Open Invention Network, Llc System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications
US8621275B1 (en) 2010-08-06 2013-12-31 Open Invention Network, Llc System and method for event-driven live migration of multi-process applications
US8676876B2 (en) * 2006-06-27 2014-03-18 International Business Machines Corporation Synchronizing an active feed adapter and a backup feed adapter in a high speed, low latency data communications environment
US8122144B2 (en) 2006-06-27 2012-02-21 International Business Machines Corporation Reliable messaging using redundant message streams in a high speed, low latency data communications environment
US20070300234A1 (en) * 2006-06-27 2007-12-27 Eliezer Dekel Selecting application messages from an active feed adapter and a backup feed adapter for application-level data processing in a high speed, low latency data communications environment
US8296778B2 (en) 2006-06-27 2012-10-23 International Business Machines Corporation Computer data communications in a high speed, low latency data communications environment
US7725764B2 (en) * 2006-08-04 2010-05-25 Tsx Inc. Failover system and method
CN101132347A (zh) * 2006-08-24 2008-02-27 华为技术有限公司 一种实现tcp连接备份的系统及方法
US20080114938A1 (en) * 2006-11-14 2008-05-15 Borgendale Kenneth W Application Message Caching In A Feed Adapter
US8695015B2 (en) * 2006-12-06 2014-04-08 International Business Machines Corporation Application message conversion using a feed adapter
US20080140550A1 (en) * 2006-12-07 2008-06-12 Berezuk John F Generating a global system configuration for a financial market data system
US20080137830A1 (en) * 2006-12-12 2008-06-12 Bhogal Kulvir S Dispatching A Message Request To A Service Provider In A Messaging Environment
US8327381B2 (en) * 2006-12-12 2012-12-04 International Business Machines Corporation Referencing message elements in an application message in a messaging environment
US8850451B2 (en) * 2006-12-12 2014-09-30 International Business Machines Corporation Subscribing for application messages in a multicast messaging environment
US20080141275A1 (en) * 2006-12-12 2008-06-12 Borgendale Kenneth W Filtering Application Messages In A High Speed, Low Latency Data Communications Environment
US7917912B2 (en) * 2007-03-27 2011-03-29 International Business Machines Corporation Filtering application messages in a high speed, low latency data communications environment
US20090006559A1 (en) * 2007-06-27 2009-01-01 Bhogal Kulvir S Application Message Subscription Tracking In A High Speed, Low Latency Data Communications Environment
US20090024498A1 (en) * 2007-07-20 2009-01-22 Berezuk John F Establishing A Financial Market Data Component In A Financial Market Data System
US8806472B2 (en) * 2007-09-27 2014-08-12 Ericsson Ab In-service software upgrade utilizing metadata-driven state translation
US8526300B2 (en) 2008-03-31 2013-09-03 Ericsson Ab Method and apparatus for providing resiliency in multicast networks
US8620845B2 (en) * 2008-09-24 2013-12-31 Timothy John Stoakes Identifying application metadata in a backup stream
US7929423B2 (en) * 2008-12-31 2011-04-19 Alcatel Lucent MLPPP sequence number synchronization between the active and standby transmitters
US8549538B2 (en) * 2010-03-18 2013-10-01 Microsoft Corporation Coordinating communication medium state for subtasks
US9276979B2 (en) * 2010-09-01 2016-03-01 Vuclip (Singapore) Pte. Ltd. System and methods for resilient media streaming
US8589732B2 (en) 2010-10-25 2013-11-19 Microsoft Corporation Consistent messaging with replication
US9558048B2 (en) 2011-09-30 2017-01-31 Oracle International Corporation System and method for managing message queues for multinode applications in a transactional middleware machine environment
US8391136B1 (en) 2012-01-27 2013-03-05 Google Inc. Fallback messaging
US8838826B2 (en) 2012-04-04 2014-09-16 Google Inc. Scalable robust live streaming system
US9742676B2 (en) * 2012-06-06 2017-08-22 International Business Machines Corporation Highly available servers
US20140064107A1 (en) * 2012-08-28 2014-03-06 Palo Alto Research Center Incorporated Method and system for feature-based addressing
US10104130B2 (en) * 2012-09-28 2018-10-16 Avaya Inc. System and method for ensuring high availability in an enterprise IMS network
US10567489B2 (en) * 2013-03-15 2020-02-18 Time Warner Cable Enterprises Llc System and method for seamless switching between data streams
US8819127B1 (en) * 2013-04-12 2014-08-26 Fmr Llc Ensemble computing
WO2014197963A1 (en) * 2013-06-13 2014-12-18 Tsx Inc. Failover system and method
WO2015100611A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 一种网络功能虚拟化nfv故障管理装置、设备及方法
CN104765621B (zh) * 2014-01-02 2018-05-01 国际商业机器公司 一种在集群节点中部署程序的方法和系统
WO2017083140A1 (en) * 2015-11-10 2017-05-18 Avanan Inc. Cloud services discovery and monitoring
JP2018121214A (ja) * 2017-01-25 2018-08-02 日本放送協会 放送プログラム受信装置及びプログラム
US10439766B2 (en) * 2017-03-15 2019-10-08 Htc Corporation Method and apparatus for transmitting duplication data using multiple carriers
US10642506B2 (en) * 2017-09-08 2020-05-05 Dell Products L. P. High availability transactional replication
US10673791B2 (en) 2017-12-29 2020-06-02 Facebook, Inc. Techniques for data reads from secondary stores
US10642877B2 (en) 2017-12-29 2020-05-05 Facebook, Inc. Techniques for consistent reads in a split message store
US11405343B2 (en) 2017-12-29 2022-08-02 Meta Platforms, Inc. Techniques for extensible message indexing
US10645040B2 (en) * 2017-12-29 2020-05-05 Facebook, Inc. Techniques for consistent writes in a split message store
US11669076B2 (en) 2018-07-27 2023-06-06 Rockwell Automation Technologies, Inc. System and method of communicating unconnected messages over high availability industrial control systems
US11221612B2 (en) * 2018-07-27 2022-01-11 Rockwell Automation Technologies, Inc. System and method of communicating data over high availability industrial control systems
US11927950B2 (en) 2018-07-27 2024-03-12 Rockwell Automation Technologies, Inc. System and method of communicating safety data over high availability industrial control systems
US11327472B2 (en) 2018-07-27 2022-05-10 Rockwell Automation Technologies, Inc. System and method of connection management during synchronization of high availability industrial control systems
CN113225774A (zh) * 2018-08-02 2021-08-06 华为技术有限公司 一种报文传输方法及装置
CN111049729A (zh) * 2019-11-29 2020-04-21 苏州浪潮智能科技有限公司 一种持久化消息传输方法与装置
US11496575B2 (en) * 2020-09-10 2022-11-08 T-Mobile Usa, Inc. Enhanced messaging as a platform

Family Cites Families (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4787035A (en) 1985-10-17 1988-11-22 Westinghouse Electric Corp. Meta-interpreter
US5195092A (en) * 1987-08-04 1993-03-16 Telaction Corporation Interactive multimedia presentation & communication system
US4947429A (en) * 1987-11-30 1990-08-07 Zenith Electronics Corporation Pay per view television signaling method
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
US5987432A (en) * 1994-06-29 1999-11-16 Reuters, Ltd. Fault-tolerant central ticker plant system for distributing financial market data
GB2301754B (en) 1995-06-02 1999-12-29 Dsc Communications A protocol converter for a telecommunications system
US5732274A (en) 1995-11-08 1998-03-24 Electronic Data Systems Corporation Method for compilation using a database for target language independence
US5809337A (en) * 1996-03-29 1998-09-15 Intel Corporation Mass storage devices utilizing high speed serial communications
WO1998038328A1 (en) * 1997-02-28 1998-09-03 Novo Nordisk A/S Method for producing cellulose derivatives
US7046795B2 (en) * 1997-06-25 2006-05-16 Intel Corporation Method and apparatus for active latency characterization
US5864827A (en) 1997-06-27 1999-01-26 Belzberg Financial Markets & News International Inc. System and method for providing an information gateway
US5940843A (en) * 1997-10-08 1999-08-17 Multex Systems, Inc. Information delivery system and method including restriction processing
US6160874A (en) 1997-10-21 2000-12-12 Mci Communications Corporation Validation gateway
US6343321B2 (en) * 1997-10-27 2002-01-29 Sun Microsystems, Inc. Method and apparatus for network transport independence
AU2468899A (en) * 1998-01-26 1999-08-23 Unif/X Inc. A transaction execution system interface and enterprise system architecture thereof
US6393386B1 (en) 1998-03-26 2002-05-21 Visual Networks Technologies, Inc. Dynamic modeling of complex networks and prediction of impacts of faults therein
AR020608A1 (es) * 1998-07-17 2002-05-22 United Video Properties Inc Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto
US6141324A (en) * 1998-09-01 2000-10-31 Utah State University System and method for low latency communication
US6125391A (en) * 1998-10-16 2000-09-26 Commerce One, Inc. Market makers using documents for commerce in trading partner networks
US7596606B2 (en) * 1999-03-11 2009-09-29 Codignotto John D Message publishing system for publishing messages from identified, authorized senders
US6694316B1 (en) * 1999-03-23 2004-02-17 Microstrategy Inc. System and method for a subject-based channel distribution of automatic, real-time delivery of personalized informational and transactional data
EP1039410A1 (en) 1999-03-24 2000-09-27 Hewlett-Packard Company Intelligent media reader and label printer
US8479251B2 (en) 1999-03-31 2013-07-02 Microsoft Corporation System and method for synchronizing streaming content with enhancing content using pre-announced triggers
US6954454B1 (en) 1999-05-03 2005-10-11 Ut Starcom, Inc. Architecture for a central office using IP technology
WO2001056357A2 (en) * 2000-02-07 2001-08-09 Trade Tek, Llc Controlling a trading account owned by a securities trader
US7213017B2 (en) 2000-03-17 2007-05-01 Microsoft Corporation Systems and methods for transforming query results into hierarchical information
GB2362969B (en) * 2000-05-31 2004-09-22 Ibm Message transformation selection tool and method
US20020019812A1 (en) * 2000-06-16 2002-02-14 Board Karen Eleanor System and service for receiving, customizing, and re-broadcasting high-speed financial data to users operating wireless network-capable devices
US6721779B1 (en) * 2000-07-07 2004-04-13 Softwired Ag Messaging proxy system
CA2322594C (en) 2000-10-06 2005-01-11 Ibm Canada Limited-Ibm Canada Limitee System and method for managing web page components
US6901428B1 (en) 2000-10-11 2005-05-31 Ncr Corporation Accessing data from a database over a network
US6725446B1 (en) * 2000-11-01 2004-04-20 Digital Integrator, Inc. Information distribution method and system
KR100393602B1 (ko) * 2000-12-29 2003-08-02 삼성전자주식회사 셀룰러 기지국 시스템의 메시지 처리방법
US7882555B2 (en) 2001-03-16 2011-02-01 Kavado, Inc. Application layer security method and system
US7113520B1 (en) 2001-04-11 2006-09-26 Adl Llc Local protocol server
US7430609B2 (en) * 2001-04-30 2008-09-30 Aol Llc, A Delaware Limited Liability Company Managing access to streams hosted on duplicating switches
US20020169706A1 (en) * 2001-05-10 2002-11-14 International Business Machines Corporation Apparatus and methods for providing secure electronic brokers
CA2385999A1 (en) * 2001-05-15 2002-11-15 Tropic Networks Inc. Method and system for allocating and controlling labels in multi-protocol label switched networks
US7464178B2 (en) * 2001-05-23 2008-12-09 Markport Limited Open messaging gateway
US11388451B2 (en) 2001-11-27 2022-07-12 Comcast Cable Communications Management, Llc Method and system for enabling data-rich interactive television using broadcast database
GB0123403D0 (en) * 2001-09-28 2001-11-21 Tamesis Ltd Publish subscribe system
US7283904B2 (en) * 2001-10-17 2007-10-16 Airbiquity, Inc. Multi-sensor fusion
US6910078B1 (en) * 2001-11-15 2005-06-21 Cisco Technology, Inc. Methods and apparatus for controlling the transmission of stream data
US7334016B2 (en) 2001-11-15 2008-02-19 Globalview Software Inc. Data transfer system for providing non-buffered, real-time streaming data users
WO2003048905A2 (en) 2001-12-05 2003-06-12 E-Xchange Advantage, Inc. Method and system for managing distributed trading data
US20030115548A1 (en) * 2001-12-14 2003-06-19 International Business Machines Corporation Generating class library to represent messages described in a structured language schema
US20030158805A1 (en) * 2002-02-08 2003-08-21 Brian Mozhdehi Method of translating electronic data interchange documents into other formats and in reverse
JP4347545B2 (ja) * 2002-06-28 2009-10-21 株式会社 液晶先端技術開発センター 結晶化装置および結晶化方法
AU2003258052A1 (en) 2002-08-07 2004-02-25 Kryptiq Corporation Semantic qualification and contextualization of electronic messages
JP3757933B2 (ja) * 2002-11-28 2006-03-22 ソニー株式会社 通信装置
US20040193703A1 (en) * 2003-01-10 2004-09-30 Guy Loewy System and method for conformance and governance in a service oriented architecture
DE602004009902T2 (de) * 2003-02-14 2008-08-28 Research In Motion Ltd., Waterloo System und verfahren für kompakte nachrichtenübermittlung in der netzwerkkommunikation
JP4277189B2 (ja) 2003-02-19 2009-06-10 株式会社 インテック・ネットコア ルータ装置及びパケット転送制御方法
GB0308035D0 (en) * 2003-04-08 2003-05-14 Ibm Liveness monitoring in a publish/subscribe messaging system
US20040216135A1 (en) * 2003-04-23 2004-10-28 Heimbeck Reid D. Selective user input notification for multiple applications
US20050010311A1 (en) 2003-07-10 2005-01-13 Barbazette Christopher J. Data collection and diagnostic system for a semiconductor fabrication facility
US7831693B2 (en) 2003-08-18 2010-11-09 Oracle America, Inc. Structured methodology and design patterns for web services
US7225195B2 (en) * 2003-08-27 2007-05-29 Gil Avrahami Method for a dynamic information messaging system
US20050222931A1 (en) 2003-08-27 2005-10-06 Ascential Software Corporation Real time data integration services for financial information data integration
US20050105533A1 (en) * 2003-09-02 2005-05-19 Malolepsy Gary L. Video stream server switching
US7526457B2 (en) 2003-11-07 2009-04-28 Sap Ag Systems and methods for configuring software
US20050102218A1 (en) * 2003-11-10 2005-05-12 Sargent Timothy A. Data processing system, methods and computer program for determining the transaction costs for a linked set of stock transactions
US7844639B2 (en) * 2003-11-24 2010-11-30 Ebay Inc. Backward compatibility in database schemas
FR2863130A1 (fr) 2003-12-01 2005-06-03 Thomson Licensing Sa Dispositif et procede de preparation de donnees d'emission et produits correspondants
US8600845B2 (en) 2006-10-25 2013-12-03 American Express Travel Related Services Company, Inc. System and method for reconciling one or more financial transactions
US7512125B2 (en) * 2003-12-19 2009-03-31 Solace Systems, Inc. Coding of routing protocol messages in markup language
US7533149B2 (en) * 2004-04-30 2009-05-12 Microsoft Corporation Maintaining multiple versions of message bodies in a common database
US7519669B2 (en) * 2004-04-30 2009-04-14 Sap Aktiengesellschaft Prioritizing producers and consumers of an enterprise messaging system
US20050254508A1 (en) * 2004-05-13 2005-11-17 Nokia Corporation Cooperation between packetized data bit-rate adaptation and data packet re-transmission
US20050261923A1 (en) * 2004-05-21 2005-11-24 International Business Machines Corporation Method and apparatus for model based subscriptions for a publish/subscribe messaging system
US8694423B2 (en) * 2004-05-21 2014-04-08 Hewlett-Packard Development Company, L.P. Systems and methods for brokering data in a transactional gateway
US7801784B2 (en) * 2004-06-07 2010-09-21 Cfph, Llc System and method for managing financial market information
US7890396B2 (en) * 2005-06-07 2011-02-15 Cfph, Llc Enhanced system and method for managing financial market information
US7822801B2 (en) * 2004-10-14 2010-10-26 International Business Machines Corporation Subscription propagation in a high performance highly available content-based publish/subscribe system
US8321465B2 (en) 2004-11-14 2012-11-27 Bloomberg Finance L.P. Systems and methods for data coding, transmission, storage and decoding
JP2007209040A (ja) 2004-11-18 2007-08-16 Nippon Telegr & Teleph Corp <Ntt> パケット転送方法及びパケット転送装置
CA2594036A1 (en) * 2005-01-06 2006-07-13 Tervela, Inc. Intelligent messaging application programming interface
US7478419B2 (en) * 2005-03-09 2009-01-13 Sun Microsystems, Inc. Automated policy constraint matching for computing resources
US7668914B2 (en) * 2005-03-28 2010-02-23 Alcatel Lucent Milestone synchronization in broadcast multimedia streams
US20070038712A1 (en) * 2005-08-15 2007-02-15 Microsoft Corporation Acquisition of syndication feed items via an information workflow application
US7757015B2 (en) 2005-09-13 2010-07-13 International Business Machines Corporation Device, method and computer program product readable medium for determining the identity of a component
US7548995B2 (en) * 2005-10-21 2009-06-16 Microsoft Corporation Strategies for disseminating media information using redundant network streams
US20070150918A1 (en) * 2005-12-22 2007-06-28 Sony Ericsson Mobile Communications Ab Methods, devices, and computer program products for providing parental control over access to media content using a mobile terminal
US8438119B2 (en) 2006-03-30 2013-05-07 Sap Ag Foundation layer for services based enterprise software architecture
US7574586B2 (en) * 2006-05-16 2009-08-11 Texas Instruments Incorporated Efficient transfer of branch information
US7921046B2 (en) * 2006-06-19 2011-04-05 Exegy Incorporated High speed processing of financial information using FPGA devices
US8122144B2 (en) 2006-06-27 2012-02-21 International Business Machines Corporation Reliable messaging using redundant message streams in a high speed, low latency data communications environment
US20070300234A1 (en) * 2006-06-27 2007-12-27 Eliezer Dekel Selecting application messages from an active feed adapter and a backup feed adapter for application-level data processing in a high speed, low latency data communications environment
US8676876B2 (en) * 2006-06-27 2014-03-18 International Business Machines Corporation Synchronizing an active feed adapter and a backup feed adapter in a high speed, low latency data communications environment
US20070299936A1 (en) * 2006-06-27 2007-12-27 Borgendale Kenneth W Interactively streaming data from a database in a high speed, low latency data communications environment
US8296778B2 (en) * 2006-06-27 2012-10-23 International Business Machines Corporation Computer data communications in a high speed, low latency data communications environment
US20070300235A1 (en) 2006-06-27 2007-12-27 Eliezer Dekel Reliable messaging using a message stream in a high speed, low latency data communications environment
US8234391B2 (en) * 2006-09-20 2012-07-31 Reuters America, Llc. Messaging model and architecture
US20080104266A1 (en) * 2006-10-25 2008-05-01 Eliezer Dekel Reliable messaging using message streams in a high speed, low latency data communications environment
US20080114938A1 (en) * 2006-11-14 2008-05-15 Borgendale Kenneth W Application Message Caching In A Feed Adapter
US20080114839A1 (en) * 2006-11-14 2008-05-15 Borgendale Kenneth W Version Control for Application Message Models
US8695015B2 (en) * 2006-12-06 2014-04-08 International Business Machines Corporation Application message conversion using a feed adapter
US20080140550A1 (en) * 2006-12-07 2008-06-12 Berezuk John F Generating a global system configuration for a financial market data system
US20080141273A1 (en) * 2006-12-11 2008-06-12 Borgendale Kenneth W Accessing Application Message Data In A Messaging Environment
US8327381B2 (en) * 2006-12-12 2012-12-04 International Business Machines Corporation Referencing message elements in an application message in a messaging environment
US20080137830A1 (en) * 2006-12-12 2008-06-12 Bhogal Kulvir S Dispatching A Message Request To A Service Provider In A Messaging Environment
US20080141275A1 (en) * 2006-12-12 2008-06-12 Borgendale Kenneth W Filtering Application Messages In A High Speed, Low Latency Data Communications Environment
US7917912B2 (en) * 2007-03-27 2011-03-29 International Business Machines Corporation Filtering application messages in a high speed, low latency data communications environment
US20090006560A1 (en) * 2007-06-27 2009-01-01 Bhogal Kulvir S Terminating An Application Message Subscription
US20090006559A1 (en) * 2007-06-27 2009-01-01 Bhogal Kulvir S Application Message Subscription Tracking In A High Speed, Low Latency Data Communications Environment
US20090024498A1 (en) 2007-07-20 2009-01-22 Berezuk John F Establishing A Financial Market Data Component In A Financial Market Data System

Also Published As

Publication number Publication date
TW200818828A (en) 2008-04-16
EP2039129A1 (en) 2009-03-25
EP2039129B1 (en) 2014-09-03
CN101411166B (zh) 2011-07-20
US20070299973A1 (en) 2007-12-27
US8549168B2 (en) 2013-10-01
CA2650169A1 (en) 2008-01-03
CN101411166A (zh) 2009-04-15
US20120110372A1 (en) 2012-05-03
CA2650169C (en) 2016-01-05
WO2008000625A1 (en) 2008-01-03
US8122144B2 (en) 2012-02-21
JP2009542140A (ja) 2009-11-26
JP4566273B2 (ja) 2010-10-20

Similar Documents

Publication Publication Date Title
TWI378700B (en) Reliable messaging using redundant message streams in a high speed, low latency data communications environment
AU2019302940B2 (en) Implementing a blockchain-based web service
CA2649883C (en) Synchronizing an active feed adapter and a backup feed adapter in a high speed, low latency data communications environment
US9003428B2 (en) Computer data communications in a high speed, low latency data communications environment
JP4363847B2 (ja) インタラクティブ・テレビ用のデジタル・テレビ・アプリケーション・プロトコル
US7949704B2 (en) Administration of a broker-based publish/subscribe messaging system
CN101202642B (zh) 在多播消息传送环境中订阅应用消息的方法和系统
US20120254407A1 (en) System and method to monitor and transfer hyperlink presence
US20080141275A1 (en) Filtering Application Messages In A High Speed, Low Latency Data Communications Environment
US20090006559A1 (en) Application Message Subscription Tracking In A High Speed, Low Latency Data Communications Environment
US20070300234A1 (en) Selecting application messages from an active feed adapter and a backup feed adapter for application-level data processing in a high speed, low latency data communications environment
US20080114839A1 (en) Version Control for Application Message Models
US20070300235A1 (en) Reliable messaging using a message stream in a high speed, low latency data communications environment
US20090006560A1 (en) Terminating An Application Message Subscription
JP2004529410A (ja) インタラクティブ・テレビ用のサービス・ゲートウェイ
JP2006119738A (ja) 電子メール送信システム
US20130024543A1 (en) Methods for generating multiple responses to a single request message and devices thereof
US20080028044A1 (en) System and method for file transfer
US20190191222A1 (en) Method and system of content distribution in the data transfer network with built-in mechanism of conditional access
CN118233444A (zh) Http服务的调用方法、装置、存储介质及代理服务器

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees