TW200910108A - Inter-process communication methods and apparatus for building scalable/redundant telecommunications systems - Google Patents

Inter-process communication methods and apparatus for building scalable/redundant telecommunications systems Download PDF

Info

Publication number
TW200910108A
TW200910108A TW097116395A TW97116395A TW200910108A TW 200910108 A TW200910108 A TW 200910108A TW 097116395 A TW097116395 A TW 097116395A TW 97116395 A TW97116395 A TW 97116395A TW 200910108 A TW200910108 A TW 200910108A
Authority
TW
Taiwan
Prior art keywords
multicast
message
component
messaging
software component
Prior art date
Application number
TW097116395A
Other languages
English (en)
Inventor
Richard J Dynarski
James Kelleman
David R Mazik
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW200910108A publication Critical patent/TW200910108A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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/189Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems

Landscapes

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

Description

200910108 九、發明說明: 【發明所屬之技術領域】 本揭示案大體係關於電信系統◦更特定言之,本揭示案 係關於用於建立可調節/冗餘電信系統之程序之間通信方 法及裝置。 本專利申請案主張2007年5月4曰申請之美國臨時申請案 第60/916,247號之優先權,且該案已讓與給本受讓人且以 引用的方式明確地併入本文中。 【先前技術】 當建立分散式及冗餘電信系統時,某類別之訊息傳遞層 用於提供程序(或執行緒)之間通信。此允許分散式軟體有 限狀態機進行通信,以便提供服務。 典型afl息傳遞系統提供一種在組件之間發送點對點訊氣 之方式。有時但並非總是提供多點播送或廣播訊氣 月匕 力。 許多程序之間通信方案亦為作業系統及/或背景 (backplane)專用的。此使得難以轉移(p0rt)其服務且影變 系統之總體軟體架構,因為訊息傳遞通常為基本服務,所 有其他軟體皆對其進行寫入。 許多其他系統提供在訊息傳遞頂部之類似名稱解析、網 路時間分布’及分散式心跳分層的服務作為另—應用。此 亦導致處理無效率。 【發明内容】 揭示一種用於程序之間通信之裝置。該裝置可用作—訊 131207.doc 200910108 息傳遞系統中之訊息傳遞實體。該裝置可包括一處理器及 耦接至該處理器之電路。該電路可經組態以促進軟體組件 向訊息傳遞系統註冊,促進在經註冊之軟體組件之間的單 播通信,促進軟體組件註冊以進行多點播送事件,及促進 在經S主冊之軟體組件之間的多點播送通信。 揭不一種用於程序之間通信之裝置。該裝置可用作一訊 心傳遞系統中之訊息傳遞伺服器。該裝置可包括一處理器 及耦接至該處理器之電路。該電路可經組態以在分散式計 算系統内發現新的訊息傳遞用戶端,驗證經註冊之訊息傳 遞用戶端為操作的,在經註冊之訊息傳遞用戶端t中維持 同步,管理一資源位置快取記憶體之一主版本,及管理一 多點播送註冊資料結構之一主版本。 揭示種可由一訊息傳遞系統内之訊息傳遞實體執行的 用於程序之間通#之方法。該方法可包括促進軟體組件向 訊息傳遞系統註冊。該方法亦可包括促進在經註冊之軟體 組件之間的單㈣信。該方法亦可包括促進軟體組件註冊 以進行多點播送事件。該方法亦可包括促進在經註冊之軟 體組件之間的多點播送通信。
揭示一種可由一訊息傳遞系統内之訊息傳遞伺服器執行 的用於程序之間通信之方法。該方法可包括在分散^計Z 系統内發現新的訊息傳遞用戶端。該方法亦可包括驗證: 。主冊之訊息傳遞用戶端為操作的。該方法 j包括在經註 冊之訊息傳遞用戶端當中維持同步。該方法亦可包括管王 一資源位置快取記憶體之一主版本。該方法亦可包括;2 131207.doc 200910108 一多點播送註冊資料結構之一主版本。 揭示一種包含一訊息傳遞實體之硬體單元,該訊息傳遞 實體經組態以促進在分散式計算系統中於軟體組件之間的 程序之間通彳5。忒s孔息傳遞實體可包括一經組態以促進軟 體組件向訊息傳遞系統註冊的註冊組件。該訊息傳遞實體 亦可包括一經組態以促進在經註冊之軟體組件之間的單播 通信的資源位置伺服器。該訊息傳遞實體亦可包括一經組 態以促進軟體組件註冊以進行多點播送事件的多點播送註 冊組件。该讯息傳遞實體亦可包括一經組態以促進在經註 冊之軟體組件之間的多點播送通信的多點播送通信組件。 亦揭示一種包含一訊息傳遞伺服器之硬體單元,該訊息 傳遞伺服器經組態以促進在分散式計算系統中於軟體組件 之間的程序之間通信。該訊息傳遞伺服器可包括一經組態 以在分散式計算系統内發現新的訊息傳遞用戶端的用戶端 發現組件。該訊息傳遞伺服器亦可包括一經組態以驗證經 。主冊之δ孔息傳遞用戶端為操作之驗證組件。該訊息傳遞饲 服窃亦可包括一經組態以在該等經註冊之訊息傳遞用戶端 當中維持同步的同步組件。該訊息傳遞伺服器亦可包括一 經組態以管理一資源位置快取記憶體之一主版本的快取記 憶體管理器。該訊息傳遞伺服器亦可包括一經組態以管理 一多點播送註冊資料結構之一主版本的多點播送註冊管理 器。 亦揭示一種包含一訊息傳遞實體之裝置,該訊息傳遞實 體經組態以促進在分散式計算系統中於軟體組件之間的程 131207.doc 200910108 序之間通信。該訊息傳遞實體可包括用於促進軟體組件向 讯息傳遞系統註冊的構件。該訊息傳遞實體亦可包括用於 促進在經註冊之軟體組件之間的單播通信的構件。該訊自 傳遞實體亦可包括用於促進軟體組件註冊以進行多點播: 事件的構件。㈣息傳遞實體亦可包括用於促進在經^ 之軟體組件之間的多點播送通信的構件。 亦揭示-種包含-訊息傳遞餘器之裝置,該訊息傳遞 飼服器經組態以促進在分散式計算系統中於軟體•且件之門 的程序之間通信。該襄置可包括用於在該分散式計算系二 内發現新的訊息傳遞用戶端的構件。該裝置亦可包括用於 驗證經註冊之訊息傳遞用戶端為操狀構件。該裝置亦可 包括用於在該等經註冊之訊息傳遞用戶端當中維持同步的 構件。該裝置亦可包括用於管理―資源位置快取記憶體之 !版本的構件。該裝置亦可包括用於管理-多點播送註 冊賢料結構之一主版本的構件。 禋用於促進在分散式計 · π、…丨仍取II殂件之 二一程序之間通信之電腦程式產品。該電腦程式產品可包 一在上面具有指令之電腦可讀媒體。該等指令可包括用 :促進軟體組件向訊息傳遞^註㈣程式碼1等 =括用於促進在經註冊之軟體組件之間的單播通信的 多點:送=指:亦可包括用於促進軟體組件註冊以進行 技冊之軟❸心式碼。該等指令亦可包括用於促進在經 之軟體組件之間的多點播送通信的程式碼。 揭不-種用於促進在分散式計算系統令於軟體組件之間 131207.doc 200910108
=程序之間通信之電腦程式產品。該電腦程式產品可包括 ::上面具有指令之電腦可讀媒體。該等指令可包二於 在二散式計算系統内發現新的訊息傳遞用戶端的程式碼。 該等指令亦可包括用於驗證經註冊之訊息傳遞用氧 作之程式碼。該等指令亦可包括用於在該等經註冊之訊2 傳遞用戶端當中維持同步的程式碼。該等指令亦可包括: 於管理-資源位置快取記憶體之—主版本的程式H等 指令亦可包括用於管理一多點播送註冊資料結構 本的程式碼。 /本揭不案係關於一種分散式軟體架構,其提供一能夠進 行訊息之訊息單播及多點播送(包括廣播)的訊息傳遞b層。 Μ傳遞系統可能能夠隱藏系統之分散式本質,提供用於 將邏輯名稱解析為實體位址的方法,以及將網路時間分散 至分散式模組且驗證該等分散式模組仍為操作的。 文所述之些態樣的一優點為訊息傳遞系統,其可經 轉移至許多不同系統(例如,mix、Sun SQlads、rtqs、 β ) 乂提供此夠隱藏系統之分散式本質的共同軟體層。此 :供-靈活軟體架構。經命名之軟體組件可在不知:任何 ’、他組件的情況下在硬體/軟體架構内四處遷移。 本文所述之訊息傳遞系統可提供單一統一介面以提供在 人體虹件之間執行單播、多點播送或廣播訊息中之至少— 至:此力。此外,可確認單播、多點播送或廣播訊息中之 至者。發送者可能未知多點播送訊息接收者。此使多 點播运訊息之發送者自接收^去_。該去^許建立十分 131207.doc 200910108 軟體架構 良好地演進之極靈活的 送者的情況下自由移動 態機軟體發展模型。 接收器可在無需修改發 。此十分適合於事件驅動的有限狀 在訊息傳遞系統中之所有或若干軟體組件可由邏輯名稱 識別。在軟體組件向訊息傳遞系統註冊時,可在執行時間 建構邏輯名m絲㈣料使_新的輸入項 被輸入至名稱快取記憶體中。隨著新輪人項被添加至名稱 快取記憶體中,其亦可被廣播出至能約執行訊息傳遞軟體 的所有硬體實體。每次修改快取記憶體時,—序號可遞增 以表示快取記憶體之當前層級。此序號可用於心跳摔作中 以確保所有硬體實體具有—致的名稱快取記憶體。為效率 起見,名稱快取記憶體更新可為完全的或遞增的。訊息傳 遞系統可經組態以嘗試遞增更新,除非請求者如此過時以 致完全更新將更快。 發送至特定組件之所有訊息可利用該組件之邏輯名稱。 在訊息經處理以供發送時,訊息傳遞系統自身可將邏輯名 稱轉譯為實體位置。此特徵隱藏系統之分散式本質且允許 組件在不影響任何軟體的情況下在系統内移動。 當用於分散式硬體架構上時,訊息傳遞層亦可提供”心 跳"機制以確保所有所需組件正回應。心跳訊息可包括主 網路時間’以及表示名稱快取記憶體之整數。網路時間可 用於使系統中之所有實體時間同步。名稱快取記憶體序號 可用於判定從屬快取記憶體中之每—者是否為最新的。被 判定為過時的快取記憶體可請求完全或遞增更新以使其與 131207.doc 200910108 主記憶體再同步。 訊息傳遞層亦為可組態的以允許其用於單―作業系統類 型之環境(如基於Sun Solaris之伺服器)上或電信設備典型 之分散式多CPU環境内。此能力允許在一環境中寫入之軟 體在僅再編譯的情況下用於不同環境中。此能力為在訊息 傳遞層之上建立的軟體提供極高等級之可轉移性 (portability)。 【實施方式】 圖1说明分散式計具系統1 〇〇。分散式計算系統丨〇〇包括 經由通匯流排1 04彼此電子通信的多個硬體單元1 〇2 ^硬 體早元102可用於電#及資料通信器件中。舉例而言,硬 體單元102可為在路由器、交換器、基地台等中含有之各 種處理模組或板。硬體單元1 02包括一起工作以執行一或 多個任務的各種軟體組件106。 訊息傳遞系統108經實施於分散式計算系統1 〇〇内。訊息 傳遞系統1 08包括訊息傳遞伺服器11 〇a及一或多個訊息傳 遞用戶端110b。術語”訊息傳遞實體"no可在本文中用於 指代訊息傳遞伺服器110a或訊息傳遞用戶端1 i〇b。 訊息傳遞系統108允許分散式計算系統1 〇〇内之軟體組件 106彼此通信。軟體組件106可為有限狀態機,且訊息傳遞 系統108之目的可為保持通信之有限狀態機同步。 軟體組件106之間的通信可為單播、多點播送或廣播。 有利地,訊息傳遞系統108能夠隱藏分散式計算系統1〇〇之 分散式本質。分散式計算系統1〇〇内之軟體組件106可由邏 131207.doc •12- 200910108 輯名稱而非實體位址識別。因此,軟體組件1 06可能能夠 彼此通信,而不管其在分散式計算系統! 00之拓撲内的各 別位置。 訊息傳遞伺服器110a管理資源位置快取記憶體之一主版 本114a及多點播送註冊資料結構之一主版本丨丨6a。訊息傳 遞用戶端11 Ob中之每一者與資源位置快取記憶體之一本端 複本114b及多點播送註冊資料結構之一本端複本丨丨6b一起 工作。 每一訊息傳遞實體11〇(意即,訊息傳遞伺服器11〇a或訊 息傳遞用戶端110b)可經組態以允許分散式計算系統1〇〇内 之軟體組件106向訊息傳遞系統1 註冊。每一訊息傳遞實 體11 0亦可促進經註冊之軟體組件1 〇6之間的通信。 除執行此等功能外’訊息傳遞伺服器11〇a亦可經組態以 在分散式計算系統100内發現新的訊息傳遞用戶端i〗0b。 訊息傳遞伺服器11 〇a亦可驗證經註冊之訊息傳遞用戶端 11 Ob為操作的。訊息傳遞伺服器丨丨〇a亦可在經註冊之訊息 傳遞用戶端11 Ob當中維持同步。訊息傳遞伺服器丨丨0a亦可 官理資源位置快取記憶體之主版本丨丨4a及多點播送註冊資 料結構之主版本11 6a。 圖2說明展示軟體組件1〇6可如何向訊息傳遞系統1〇8註 冊的實例。軟體組件1〇6可將註冊訊息222發送至訊息傳遞 飼服益110a。註冊訊息222可包括軟體組件1〇6之實體位址 224。註冊訊息222亦可包括軟體組件ι〇6之邏輯名稱226。 注冊訊息222亦可包括用於邏輯名稱226之一或多個別名 131207.doc •13- 200910108 228。 回應於接收註冊訊息222,訊息傳遞伺服器1 i〇a可在資 源位置快取記憶體之主版本丨14a中形成用於軟體組件1〇6 之輸入項230。輪入項23〇可使軟體組件1〇6之實體位址 224、軟體組件106之邏輯名稱226與邏輯名稱226之別名 228相關聯。 訊息傳遞伺服器l10a亦可將廣播訊息232發送至訊息傳 遞系統ι〇8内之所有訊息傳遞用戶端110b。廣播訊息232可 包括經添加至資源位置快取記憶體之主版本丨丨4 a的輸入項 23〇。回應於接收廣播訊息232 ,每一訊息傳遞用戶端丨丨〇b 可更新資源位置快取記憶體之其本端複本114b以包括已添 加至資源位置快取記憶體之主版本1丨4a的輸入項23 0。 訊息傳遞伺服器11 〇a經展示具有註冊組件234。註冊組 件234可經組態以促進軟體組件ι〇6向訊息傳遞系統1〇8註 冊。更特疋s之,註冊組件234可經組態以處理註冊訊息 222、將適當輸入項230添加至資源位置快取記憶體之主版 本1 l4a,及將具有輸入項230之廣播訊息2;32發送至訊息傳 遞系統108内之所有訊息傳遞用戶端n〇b。 在圖2之實例中’軟體組件106將註冊訊息222發送至訊 息傳遞伺服器11 〇a。或者,軟體組件i〇6可將註冊訊息222 發送至訊息傳遞用戶端110b,且訊息傳遞用戶端110b可將 相關資訊(例如’實體位址224、邏輯名稱226及別名228)轉 發至訊息傳遞伺服器110a。 圖3說明展示訊息傳遞實體丨10(意即,訊息傳遞伺服器 131207.doc -14- 200910108 或訊心傳遞用戶端丨丨0b)可如何促進經註冊之軟體組 件106之間的單播通信之實例。在此實例中,將假設訊息 傳遞系統1G8内之軟體組件1Q6a發送最終由訊息傳遞系統 1〇8内之另-軟體組件祕接收的訊息336。,然而發送者 軟體組件106a無需知曉接收者軟體組件1〇讣之實體位址 224。實情為,由發送者軟體組件1〇仏發送之訊息的目 的地係由軟體組件1 〇6b的邏輯名稱226識別。 在自發送者軟體組件1063接收訊息336後,訊息傳遞實 體11〇將接收者軟體組件106b之邏輯名稱226解析為接收者 軟體組件106b之實體位址224。此可藉由參考資源位置快 取η己憶體11 4(若訊息傳遞實體丨丨〇為訊息傳遞伺服器丨丨〇a, 則為資源位置快取記憶體之主版本丨丨4a,或若訊息傳遞實 體11 〇為訊息傳遞用戶端11 〇b,則為資源位置快取記憶體 之本端複本114b)來實現。訊息傳遞實體110可接著將訊息 336轉發至接收者軟體組件1〇6|3。 机息傳遞實體11 〇經展示具有資源位置伺服器34〇。資源 位置伺服器340可經組態以促進經註冊之軟體組件ι〇6之間 的單播通信。更特定言之,資源位置伺服器34〇可經組態 以處理來自發送者軟體組件l〇6a之訊息336、將接收者軟 體組件106b之邏輯名稱226解析為接收者軟體組件丨〇6b之 實體位址224 ’及將訊息336轉發至接收者軟體組件1〇6b。 接收者軟體組件106b可確認訊息336之接收。接收者軟 體組件106b可將確認訊息338發送回至訊息傳遞實體11()。 訊息傳遞實體110可將確認訊息338轉發至發送者軟體組件 131207.doc -15· 200910108 106a 〇 訊息傳遞系統108可促進在分散式計算系統1〇〇中於軟體 組件106之間的多點播送通信。圖4說明展示軟體組件ι〇6 可如何註冊以進行多點播送事件的實例。 軟體組件106可將多點播送註冊訊息442發送至訊息傳遞 伺服器110a。多點播送註冊訊息442可包括軟體組件1〇6之 實體位址224。多點播送註冊訊息442亦可包括多點播送事 件(軟體組件1 06註冊以進行該事件)之邏輯名稱444。 回應於接收多點播送註冊訊息442,訊息傳遞伺服器 11 0a可在多點播送註冊資料結構之主版本丨丨6a中形成用於 軟體組件106之輸入項446。輸入項446可使軟體組件106之 實體位址224與多點播送事件(軟體組件1〇6註冊以進行該 事件)之邏輯名稱444相關聯。 訊息傳遞伺服器丨丨⑽亦可將廣播訊息448發送至訊息傳 遞系、、先1 08内之所有訊息傳遞用戶端丨丨〇b。廣播訊息448可 匕括 二添加至多點播送註冊資料結構之主版本11以的輸入 項446回應於接收廣播訊息料8,每一訊息傳遞用戶端 ii〇b可更新多點播送註冊資料結構116&之其本端複本以包 括已添加至多點播送註冊資料結構之主版本丨丨以的輸入項 446 〇 訊息傳遞伺服器U〇a經展示具有多點播送註冊組件 夕點播送註冊組件450可經組態以促進軟體組件1 〇6 註冊以進行多點播送事件。更特定言之,多點播送註冊組 件450可經組態以處理多點播送註冊訊息442、將適當輸入 131207.doc -16- 200910108 項446添加至多點播送註冊資料結構之主版本116a,及將 具有輸入項446之廣播訊息448發送至訊息傳遞系統1〇8内 之所有訊息傳遞用戶端11 Ob。 在圖4之實例中’軟體組件106將多點播送註冊訊息442 發送至訊息傳遞伺服器110a。或者,軟體組件1 〇6可將多 點播送註冊訊息442發送至訊息傳遞用戶端丨丨〇b,且訊息 傳遞用戶端11 〇 b可將相關資訊(例如,軟體組件1 〇 6之實體 位址224及多點播送事件(軟體組件1 〇6註冊以進行該事件) 之邏輯名稱444)轉發至訊息傳遞伺服器丨丨〇a。 圖5說明展示§fl息傳遞實體11 〇 (亦即,訊息傳遞祠服器 110a或訊息傳遞用戶端11 Ob)可如何促進經註冊之軟體組 件1 06之間的多點播送通信之實例。在此實例中,將假設 訊息傳遞系統108内之軟體組件i〇6a發送最終由訊息傳遞 系統10 8内之多個軟體組件1 〇 6 b至1 〇 6 d接收的多點播送訊 息552。然而,發送者軟體組件106a無需知曉接收者軟體 組件106b至106d之實體位址224b至224d。實情為,由發送 者軟體組件1 06a發送之多點播送訊息5 52的目的地係由用 於多點播送事件的邏輯名稱444識別。 在自發送者軟體組件106a接收多點播送訊息552後,訊 息傳遞實體110即識別已註冊以進行多點播送事件之軟體 組件106b至106d的實體位址224b至224d。此可藉由參考多 點播送註冊資料結構116來實現。訊息傳遞實體i丨〇接著可 將多點播送訊息552轉發至接收者軟體組件丨〇6b至丨〇6d。 接收者軟體組件l〇6b至l〇6d中之每一者可藉由將確認訊 131207.doc 200910108 息554發送回至訊息傳遞實體11 〇來回應於多點播送訊息 5 52。在意欲接收多點播送訊息552之所有軟體組件106b至 1 0 6 d已以確sS sfl息5 5 4回應之後,訊息傳遞實體11 〇就可將 單一確認訊息5 5 6發送回至發送者軟體組件1 〇 6 a。 訊息傳遞實體110經展示具有多點播送通信組件558。多 點播送通信組件558可經組態以促進經註冊之軟體組件1 〇6 之間的多點播送通信。更特定言之,多點播送通信組件 55 8可經組態以處理自發送者軟體組件1 〇6a接收之多點播 送訊息552、識別已註冊以進行多點播送事件之軟體組件 106b至106d的實體位址22朴至224d,及將多點播送訊息 552轉發至此等實體位址224b至224d。多點播送通信組件 558亦可經組態以處理自接收者軟體組件i〇6b至106d接收 之確認訊息554,及將單一確認訊息556發送回至發送者軟 體組件106a。 圖6說明可由訊息傳遞祠服器110 a執行之功能中之_ 些。訊息傳遞伺服器11 〇a經展示具有驗證組件68〇。驗證 組件680可經組態以驗證經註冊之訊息傳遞用戶端11〇b為 操作的。 訊息傳遞伺服器110a可將心跳訊息662週期性地發送至 訊息傳遞系統1〇8中之所有訊息傳遞用戶端11〇b。所有經 註冊之訊息傳遞用戶端11 〇b可經組態以藉由將心跳回覆 664發送至訊息傳遞伺服器110a而回應於所接收之每一心 跳訊息662。只要特疋訊息傳遞用戶端11 〇a繼續回應於所 發送之心跳§孔息6 6 2 ’則§孔息傳遞飼服器11 〇 a可斷定訊幸 131207.do, 200910108 傳遞用戶端110b仍為操作的。然而,若特定訊息傳遞用戶 端11 Ob未能回應於特定數目之連續心跳訊息662(例如,三 個連續心跳訊息662),則訊息傳遞伺服器1 l〇a可斷定訊息 傳遞用戶端110b不再為操作的。 訊息傳遞伺服器11 〇a亦經展示具有同步組件682。同步 組件682可經組態以在經註冊之訊息傳遞用戶端丨丨〇b當中 維持同步。為了在經註冊之訊息傳遞用戶端丨丨仙當中維持 同步’由訊息傳遞伺服器110a發送之心跳訊息662可包括 用於訊息傳遞系統108之主時間666。每一訊息傳遞用戶端 11 〇b可基於在心跳訊息662中所接收之主時間666而更新其 本端時間668(亦即’使得本端時間668與主時間666相同)。 訊息傳遞伺服器110a亦經展示具有快取記憶體管理器 684。快取記憶體管理器684可經組態以管理資源位置快取 s己憶體之主版本114a。快取記憶體管理器684可經組態以 在無論何時對該資源位置快取記憶體丨丨4a進行改變時通知 訊息傳遞系統108内之訊息傳遞用戶端u〇b。每一訊息傳 遞用戶端110b接著可更新資源位置快取記憶體之其本端複 本 114b。 由讯息傳遞伺服器1 1如發送之心跳訊息662可包括快取 記憶體序號672a。快取記憶體序號672a可由訊息傳遞用戶 端11 〇b使用以確保資源位置快取記憶體之本端複本丨1仆相 對於貝源位置快取記憶體的主版本丨丨4a為最新的。 無响何%更新資源位置快取記憶體的主版本丨丨“時,訊 息傳遞伺服器丨丨0a可使快取記憶體序號672a遞增。每一訊 131207.doc 19- 200910108 息傳遞用戶端11 Ob可比較本端快取記憶體序號672b與在心 跳讯息662中所包括的主快取記憶體序號672a。若本端快 取記憶體序號672b匹配主快取記憶體序號672a,則訊息傳 遞用戶端11 Ob可斷定資源位置快取記憶體之本端複本丨丨作 為最新的。然而,若本端快取記憶體序號672b不匹配主快 取s己憶體序號672a,則訊息傳遞用戶端丨丨〇b可斷定資源位 置快取記憶體之本端複本114b為過時的。訊息傳遞用戶端 11 〇b接著可將更新請求674發送至訊息傳遞伺服器丨丨。 在自訊息傳遞用戶端110b接收更新請求674後,訊息傳 遞伺服器110a可將資源位置快取記憶體更新676發送至訊 息傳遞用戶# 11 0 b。f源位置快取記憶體更新6 7 6可為一 完全更新,亦即,資源位置快取記憶體之整個主版本丨丨乜 的複本可傳輸至訊息傳遞用戶端u〇b。或者,資源位置快 取記憶體更新676可為一遞增更新,亦即,僅在自上次以 來發生對快取記Mll4a之改變時可傳輸所更新之本端快 取記憶體114b。 訊息傳遞飼服器11Ga亦經展示具有用戶端發現組件 6 7 8。用戶端發現組件6 7 8可經組態以在分散式計算系統 竭發現新的訊息傳遞用彳端u〇b。藉由將心跳訊息⑹ 發送至分散式計算系統1〇〇中的所有訊息傳遞用戶端 110b ’新的訊息傳遞用戶端110b能夠判定訊息傳遞伺服器 論之身份。新的訊息傳遞用戶端㈣接著可關於向訊息 傳遞系統10 8註冊而聯餐^p自@、洛μ W 繁訊息傳遞伺服器1 l〇a(例如,藉由 將回覆664發送至訊息傳遞伺服器u〇a)。 曰 131207.doc -20- 200910108 訊息傳遞祠服器11 〇a亦經展示具有多點播送註冊管理器 686。多點播送註冊管理器686可經組態以管理多點播送註 冊資料結構之主版本116a。多點播送註冊管理器686可經 組態以在無論何時對多點播送註冊資料結構丨16&進行改變 時通知訊息傳遞系統1 08内之訊息傳遞用戶端丨丨〇b。每一 訊息傳遞用戶端11 Ob接著可更新多點播送註冊資料結構之 其本端複本116b。 圖7說明用於程序之間通信之方法7〇〇的實例,該方法可 由實施於分散式計算系統100内之訊息傳遞系統1〇8内的訊 息傳遞伺服器110a執行》 根據所描繪之方法700,訊息傳遞伺服器110a可在分散 式計算系統100内發現702新的訊息傳遞用戶端110b。此可 藉由將心跳訊息662發送至分散式計算系統丨0〇中之所有訊 息傳遞用戶端11 〇b而實現。在接收心跳訊息662後,新的 訊息傳遞用戶端11 〇b即能夠判定訊息傳遞伺服器丨丨〇a之身 份。新的訊息傳遞用戶端丨1〇b接著可關於向訊息傳遞系統 1 08註冊而聯繫訊息傳遞伺服器11 0a。 訊息傳遞伺服器丨丨“亦可驗證7〇4經註冊之訊息傳遞用 戶知110b為操作的。此可藉由將心跳訊息662週期性地發 达至分散式計算系統10〇中之所有訊息傳遞用戶端丨丨扑而 實現°所有經註冊之訊息傳遞用戶端1 l〇b可經組態以藉由 將回覆664發送至訊息傳遞伺服器11〇a而回應於所接收之 母一心跳訊息662。只要特定訊息傳遞用戶端丨1〇a繼續回 應於所發送之心跳訊息662,則訊息傳遞伺服器1 i〇a可斷 131207.doc •21 · 200910108 定訊息傳遞用戶端ll〇b仍為操作的。然而,若特定訊息傳 遞用戶端11 Ob未能回應於特定數目之連續心跳訊息662(例 如’二個連續心跳訊息662),則訊息傳遞伺服器丨1〇a可斷 定訊息傳遞用戶端11 Ob不再為操作的。 訊息傳遞伺服器110a亦可在經註冊之訊息傳遞用戶端 11 〇b當中維持706同步。由訊息傳遞伺服器11〇3所發送之 心跳訊息662可包括用於訊息傳遞系統1〇8之主時間666。 每一訊息傳遞用戶端l10b可基於在心跳訊息662中所接收 之主時間666而更新其本端時間668。 訊息傳遞伺服器ll〇a亦可管理7〇8訊息傳遞資源位置快 取記憶體之主版本114a。訊息傳遞伺服器丨1〇a可將對訊息 傳遞資源位置快取記憶體之主版本〗丨4 a的改變通知訊息傳 遞系統108内之訊息傳遞用戶端u〇b(例如,當新的軟體組 件106向訊息傳遞系統108註冊時)。 訊息傳遞伺服器11(^亦可管理71〇多點播送註冊資料結 構之主版本116a。訊息傳遞伺服器丨1〇a可將對多點播送註 冊資料結構之主版本116a的改變通知訊息傳遞系統1〇8内 之訊息傳遞用戶端1 l〇b(例如,當軟體組件1〇6註冊以進行 多點播送事件時)。 上文所述之圖7之方法700可由對應於圖7A中所說明之手 段加功能區塊700A的各種硬體及/或軟體組件及/或模組執 行。換言之,圖7中所說明之區塊7〇2至71〇對應於圖7八令 所說明的手段加功能區塊702a至71 0A。 圖8說明用於程序之間通信之方法8〇〇的實例,該方法可 131207.doc -22- 200910108 由實施於分散式計算系統i 〇〇内之訊息傳遞系統i 〇8内的訊 息傳遞實體110(亦即,訊息傳遞伺服器11〇a或訊息傳遞用 戶端110b)執行。 根據所描繪之方法800,訊息傳遞實體n〇可促進8〇2軟 體組件106向訊息傳遞系統1 〇8註冊。軟體組件1 〇6可將註 冊訊息222發送至訊息傳遞實體丨丨〇。回應於接收註冊訊息 222 ’ 息傳遞實體no可使用於軟體組件1〇6之輸入項230 形成於資源位置快取記憶體之主版本114a中。輸入項230 可使軟體組件106之實體位址224、軟體組件1〇6之邏輯名 稱226與為邏輯名稱226而存在之任何別名228相關聯。可 將添加至資源位置快取記憶體之主版本丨14&的輸入項23〇 通知訊息傳遞系統1 08内之所有訊息傳遞用戶端丨丨〇b。 §fl息傳遞實體110亦可促進8〇4經註冊之軟體組件1 〇6之 間的單播通信。訊息傳遞實體!丨〇可接收訊息336,其中目 的地係由接收者軟體組件1 〇6b之邏輯名稱226識別。訊息 傳遞實體110可將接收者軟體組件l〇6b之邏輯名稱226解析 為接收者軟體組件106b之實體位址224。此可藉由參考資 源位置快取記憶體114而實現。訊息傳遞實體1丨〇接著可將 5孔息3 3 6轉發至接收者軟體組件1 〇 6 b之實體位址2 2 4。 訊息傳遞實體110亦可促進806分散式計算系統100内之 軟體組件106註冊以進行多點播送事件。回應於接收多點 播送5主冊§fL息4 4 2,訊息傳遞實體11 〇可使用於軟體组件 1 06之輸入項446形成於多點播送註冊資料結構之主版本 116a中。輸入項446可使軟體組件1〇6之實體位址224與多 131207.doc -23- 200910108 點播送事件(軟體組件106註冊以進行該事件)之邏輯名稱 444相關聯。 訊息傳遞實體110亦可促進808經註冊之軟體組件1〇6之 間的多點播送通信。在接收包括用於多點播送事件之邏輯 名稱444的多點播送訊息552後,訊息傳遞實體1丨〇即可識 別已s主冊以進行多點播送事件之軟體組件1〇补至1〇6d的實 體位址224b至224d。此可藉由參考多點播送註冊資料結構 116而實現。讯息傳遞實體!丨〇接著可將多點播送訊息 轉發至適當接收者軟體組件106b至丨〇6d。 上文所述之圖8之方法800可由對應於圖8A中所說明之手 段加功能區塊800A的各種硬體及/或軟體組件及/或模組執 行。換&之,圖8中所說明之區塊8〇2至808對應於圖8A中 所說明的手段加功能區塊802A至808A。 圖9說明本文所述之訊息傳遞系統可如何實施於基於 UNIX之系統上的實例。在所描繪之實例中,訊息傳遞系 統係在乙太網路背景之上分層且使用者-核心介面係使用 通信槽層來實施。此架構允許UNIX可裝載核心模組為訊 息傳遞系統之一部分且使核心與使用者-空間組件之間的 區別模糊。訊息傳遞系統包括訊息傳遞核心模組9〇2、資 源位置伺服器904、資源位置快取記憶體9〇6及多點播送訊 息確認處理組件908。 圖ίο說明本文所述之訊息傳遞系統可如何實施於Sun Solaris系統上的實例。此系統可在組件之間維持相同訊氣 傳遞介面’即使其執行於單一OS系統上亦如此。在此架構 131207.doc -24- 200910108 中’可自動停用如心跳及本端快取記憶體維護的訊息傳遞 特徵。若針對Linux,訊息傳遞核心模組經修改且使用者_ 空間軟體經再編譯,則同一軟體系統可執行於基於Unux 之系統上。訊息傳遞系統包括控制訊息傳遞組件i 〇〇2、資 源位置快取記憶體1006及多點播送訊息確認處理組件 1008。 圖11說明本文所述之訊息傳遞系統可如何實施於即時作 業系統(RTOS)上的實例。訊息傳遞系統包括資源位置伺服 器1104、資源位置快取記憶體1106及多點播送訊息確認處 理組件1108。 ▲亦可在此系統内支援冗餘,因為所有訊息目的地可被動 態地建立並解析。此意謂,當特定硬體單元失效時,訊息 傳遞系統可解除註冊該等邏輯名稱且更新任何分散式絲 記憶體。當在線替換時,新單元可以相同的邏輯名稱註冊 八有新的貝體位置。在無對任何應用之任何改變的情況 下,新單元可能準備好完全參與系統中。亦可藉由使待用 早凡以特^邏輯名稱註冊而使制單元保持”熱(hot)"。此 允許有效單元判定其存在(藉由能夠解析名稱)且亦將更新 =發送t其以保持待用單元同步。當剌單㈣測到有 亡時’其可以所有有效單元邏輯名稱註冊。此 允h施熱(hot)及溫(warm)冗餘兩者。 圖1 2展示如上所诚夕 ^ ^ ;促進在分散式計算系統100中 ;軟體、,且件H)6之間的程序之間通 的部分。電路|置由U之硬體實施 /考數子1200表示且可實施於路由 131207.doc -25- 200910108 器、父換器、基地台等中所含有的各種處理模組或板中。 裝置1200包含將若干電路鏈接在一起之中央資料匯流排 12〇2。該等電路包括CPU(中央處理單元)或控制器1204、 接收電路1206、傳輸電路12〇8及記憶體單元121〇。 若裝置1200為無線器件之部分,則接收電路12〇6及傳輸 電路1208可連接至RF(射頻)電路,但其未展示於圖式中。 在將所接收之信號發送出至資料匯流排12〇2之前,接收電 路1206處理且緩衝該等信號。另一方面,在將來自資料匯 流排1202之資料發送出器件12〇〇之前,傳輸電路12〇8處理 且緩衝該資料。若裝置12〇〇並非無線器件之部分,則接收 電路1206及傳輸電路12〇8可經組態以用於經由有線連接自 其他裝置(例如,其他硬體單元102)接收資料及將資料發送 至其他裝置(例如,其他硬體單元1〇2)。CPU/控制器1204 執行資料匯流排1202之資料管理的功能且進一步執行一般 資料處理的功能’包括執行記憶體單元121〇之指令内容。 替代如圖12中所示地分別安置,作為替代,傳輸電路 1208及接收電路1206可為CPU/控制器1204之部分。 記憶體單元1210包括大體由參考數字1212表示的一組模 組及/或指令。在此實施例中’模組/指令丨212尤其包括用 於促進軟體組件10 6向訊息傳遞系統1 〇 8註冊的註冊功能 1 234、用於促進在經註冊之軟體組件1 〇6之間的單播通信 的單播通信功能1218、用於促進軟體組件1〇6註冊以進行 多點播送事件的多點播送註冊功能1220、用於促進在經註 冊之軟體組件106之間的多點播送通信的多點播送通信功 131207.doc -26· 200910108 能1222、用於在分散式計算系統1〇〇内發現新的訊息傳遞 用戶端110b的發現功能丨224、用於驗證經註冊之訊息傳遞 用戶端ii〇b為操作之驗證功能1226、用於在該等經註冊之 訊息傳遞用戶端ll〇b當中維持同步的同步功能1228、用於 管理一資源位置快取記憶體1214的快取記憶體管理功能 1230,及用於管理一多點播送註冊資料結構1216的多點播 送管理功能1232。註冊功能1234、單播通信功能1218、多 點播送註冊功能1220、多點播送通信功能1222、發現功能 1224、驗證功能1226、同步功能1228、快取記憶體管理功 能1230及多點播送管理功能1232包括用於執行如圖1至圖 11中所展示且描述之處理步驟的電腦指令或程式碼。 可選擇性地實施特定用於一實體的特定指令。舉例而 言,若裝置1200提供訊息傳遞用戶端丨丨讣之功能性,則可 實施註冊功能1234、單播通信功能1218、多點播送註冊功 能1220及多點播送通信功能1222。若裝置12〇〇提供訊息傳 遞伺服器110a之功能性,則可實施所有所描繪之功能。 另外,資源位置快取記憶體1214及多點播送註冊資料結 構1216亦可包括於記憶體單元121〇中。作為替代,資源位 置快取記憶體1214及多點播送註冊資料結構12 16可儲存於 不同於記憶體單元1210的一或多個其他記憶體單元中。 在此實施例中,記憶體單元121〇為RAM(隨機存取記憶 體)電路。例示性功能(諸如,註冊功能丨234、單播通信功 能1218、多點播送註冊功能122〇、多點播送通信功能 1222、發現功能1224、驗證功能1226、同步功能1228、快 131207.doc -27- 200910108 :記憶體管理功能1230及多點播送管理功能1232)為軟體 常式、模組及/或資料集。記憶體單元121〇可連接至可為 揮發型或非揮發型之另一記憶體電路(未圖示卜作為替 代,記憶體單元mo可由其他電路類型製成,諸如 eepr〇m(電可擦可程式化唯讀記憶體)、EpR〇M(電可程式 化唯讀記憶體)、ROM(唯讀記憶體)、ASIC(特殊應用積體 電路)、磁碟、光碟及此項技術中熟知之其他類型。 應進一步注意’如所述之發明性程序亦可經編碼為载運 在此項技術中已知之任何電腦可讀媒體上的電腦可讀指 令。在此說明書及所附申請專利範圍+,術語”電腦可^ 媒體扣代麥與提供指令至任何處理器以用於執行的任何 媒體諸如在圖12之圖式中所展示且描述的cpu/控制器 讓。此媒體可為儲存H類型,且可呈如先前亦在(例如) 圖12中之記憶體單元121()之描述中描述的揮發性或非揮發 !生儲存媒體的形式。此媒體亦可為傳輸類型且可包括同轴 電$見、銅線、光纜’及載運能夠載運可由機器或電腦讀取 之L號的聲波 '電磁波或光波的空中介面。電腦可讀媒體 可為與裝置1200分離之電腦產品的部分。 如本文所使用,術語"判定,•包含廣泛多種動作,且因此 ”判定’’可包括核算、計算、處理、導出、調查、查找⑷ 如在表格、—資料庫或另―資料結構中查找)、確定 及其類似動作。又,',判定”可包括接收(例如,接收資 訊)、存取(例如,存取一記憶體中之資料)及其類似動作。 又’"判$’,可包括解析、選擇、挑選、建立及其類似動 131207.doc -28· 200910108 作。 短語”基於"並不意謂"僅基於”,除非另有明確指定。換 言之’短語,’基於"描述”僅基於”與"至少基於"兩者。 除上文之外,亦可以通用處理器、數位信號處理器 (DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列 (FPGA)或其他可程式化邏輯器件、離散閘或電晶體邏輯、 離散硬體組件或其經設計以執行本文中所述之功能的任何 組口來實施或執行結合本揭示案所描述的各種其他說明性 邏輯區塊、模組及電路。 結合本揭示案所描述之方法或演算法的步驟可直接具體 化於硬體中、由處理器執行之軟體模組中或兩者之組合 中。軟體模組可駐存於此項技術中已知的任何形式之館存 媒體甲。可使用之儲存媒體的一些實例包括讀記憶體、 快閃記憶體、尺⑽記憶體、EPROM記憶體、EEPR0_憶 體、暫存器、硬碟、抽取式碟片、CD-ROM等,如先前所 述。軟體模組可包含單一指令或許多指令,或可分散於若 干不同碼段之上、不同程式當中及多個儲存媒體上。儲存 媒體可福接至處理哭,你p # 士 . m使侍該處理器可自該儲存媒體讀取 貝減將貝訊寫入至該儲存媒體。在替代實施例中,健存 媒體可與處理器成一體式。 及應t解’用於執行本文所述之方法及技術的模組 他適當構件(諸如由圖7至圖8所說明之彼等)可 料由㈣器件及/或基地台下载及/或另外獲得。舉例而 。此盗件可輕接至一飼服器以促進用於執行本文所述之 131207.doc *29- 200910108 方法的構件之傳送。 έ應理解,中請專利範圍不限於上文所說明之精確組態及 、'件可在不脫離巾請專利範圍之範嘴的情況下對本文所 述之系統、方法及裴置的配置、操作及細節進行各種修 改、改變及變化。 【圖式簡單說明】 圖1 β兄明實施於分散式計算系統内之訊息傳遞系統的-實例; 圖2說明展τ軟體組件可如何向系統註冊之實 例; 圖3說明展示訊息傳遞實體可如何促進經註冊之軟體組 件之間的單播通信的實例; 圖4說明展示軟體組件可如何註冊以進行多點播送事件 之實例; 圖5說明展示訊息傳遞實體可如何促進經註冊之軟體組 件之間的多點播送通信之實例; 圖6說明可由訊息傳遞飼服器執行之功能中之一些; 圖7說明可由訊息傳遞伺服器執行之用於程序之間通信 之方法的一實例; 圖7A說明對應於圖7之方法的手段加功能區塊; 圖8說明可由訊息傳遞實體執行之用於程序之間通信之 方法的一實例; 圖8A說明對應於圖8之方法的手段加功能區塊; 圖9至圖11說明展*本文所述之訊息傳遞系統可如何被 131207.doc -30· 200910108 實施之若干實例;及 圖12說明用於促進在分散式計算系統中於軟體組件之間 的程序之間通信之裝置之一硬體實施的部分。【主要元件符號說明】 100 分散式計算系統 102 硬體單元 104 106 106a 106b 106c 106d 108 110 通信匯流排 軟體組件 發送者軟體組件 接收者軟體組件 接收者軟體組件 接收者軟體組件 訊息傳遞系統 訊息傳遞實體 110a 訊息傳遞伺服器 11 〇b 訊息傳遞用戶端 114 114a 114b 116 116a 116b 222 資源位置快取記憶體 資源位置快取記憶體之一主版本 資源位置快取記憶體之一本端複本 多點播送註冊資料結構 多點播送註冊資料結構之主版本 多點播送註冊資料結構之一本端複本 註冊訊息 224 實體位址 131207.doc -31 - 200910108 224b 實體位址 224c 實體位址 224d 實體位址 226 邏輯名稱 228 別名 230 輸入項 232 廣播訊息 234 註冊組件 336 訊息 338 嫁認訊息 340 資源位置伺服器 442 多點播送註冊訊息 444 邏輯名稱 446 輸入項 448 廣播訊息 450 多點播送註冊組件 552 多點播送訊息 554 綠認訊息 556 單一確認訊息 558 多點播送通信組件 662 心跳訊息 664 心跳回覆 666 主時間 668 本端時間 131207.doc -32- 200910108
672a 672b 674 676 678 680 682 684 686 700A 702A 704A 706A 708A 710A 800A 802A 804A 806A 808A 進行多點播送事件 的 主快取記憶體序號 本端快取記憶體序號 更新請求 資源位置快取記憶體更新 用戶端發現組件 驗證組件 同步組件 快取記憶體管理器 多點播送註冊管理器 手段加功能區塊 用於在分散式計算系統㈣騎的訊息傳遞用 戶端的構件 用於驗證經註冊之訊息傳遞用戶端為操作之構件 用於在經註冊之訊息傳遞用戶端當中維持同步 的構件 用於管理主訊息傳遞資源位置快取記憶體的構件 用於管理主多點播送註冊資料結構的構件 手段加功能區塊 用於促進軟體組件向訊自 心傳遞系統註冊的構 用於促進經註冊之敕舻έ 構件 ”軟體组件之間的單播通信的 用於促進軟體組件註冊以 構件 用於促進經註冊之軟體組件 之間的多點播送通 I31207.doc -33· 200910108 902 904 906 908 1002 1006 1008 1104 1106 1108 1200 1202 1204 1206 1208 1210 1212 1214 1216 1218 1220 1222 1224 信的構件 訊息傳遞核心模組 資源位置伺服器 資源位置快取記憶體 多點播送訊息確認處理組件 控制訊息傳遞組件 資源位置快取記憶體 多點播送訊息確認處理組件 資源位置伺服器 資源位置快取記憶體 多點播送訊息確認處理組件 電路裝置 中央資料匯流排 CPU(中央處理單元)或控制器 接收電路 傳輸電路 記憶體單元 模組及/或指令 資源位置快取記憶體 多點播送註冊資料結構 單播通信功能 多點播送註冊功能 多點播送通信功能 發現功能 131207.doc -34- 200910108 1226 驗證功能 1228 同步功能 1230 快取記憶體管理功能 1232 多點播送管理功能 1234 註冊功能 -35 - 131207.doc

Claims (1)

  1. 200910108 十、申請專利範圍: 1. 一種用於程序之間通信之裝置,其包含: 一處理器;及 /接至該處理器之電路,其經組態以促進軟體組件向 汛心傳遞系統註冊,促進在經註冊之軟體組件之間的單 播通信,促進軟體組件註冊以進行多點播送事件,及促 進在經註冊之軟體組件之間的多點播送通信。 2. 如請求項1之裝置,其中為了促進-軟體組件向該訊息 傳遞系統5主冊,耗接至該處理器之該電路經進—步組態 以判定該㈣組件之一邏輯名肖,判定該軟體組件之一 實體位址’及使得—使該軟體組件之該邏輯名稱與該軟 體組件之該實體位址相關聯的輪入項添加至一資源位置 快取記憶體。 女。月长項1之裝置,其中為了促進在經註冊之軟體組件 1的單播通彳§,耦接至該處理器之該電路經進一步組 態以接收—去往—軟體組件之訊息,將—識別該軟體組 件之邏輯名稱解析為—實體位址,及將該訊息發送至該 實體位址。 月求項1之裝置,其中為了促進軟體組件註冊以進行 多點播送事件’搞接至該處理器之該電路經進—步組態 以:收一對應於一多點播送事件之多點播送註冊訊息及 使得一輸入項形成於一多點播送註冊資料結構中,其中 h輸入項使該軟體組件之該實體位址與該多點播送事件 之一邏輯名稱相關聯。 131207.doc 200910108 5· 之裝置,其中為了促進在經註冊之軟體組件 4的多點播送通信’耦接至該處理器之該電路經進一 步組態以自-發送者軟體組件接收_對應於—多點播送 事件之多點播送訊息’藉由參考一多點播送註冊資料社 構而判定哪些軟體組件已註冊以進行該多點播送事件, 將該多點播送訊息發送至已註冊以進行該多點播送事件 的該等軟體組件,自該等軟體組件接收表示接收到該多 點播送訊息之確認訊息’及將—確認訊息發送至該 者軟體組件。 ' 6. —種用於程序之間通信之裝置,其包含: 一處理器;及 耦接至該處理器之電路,其經組態以在分散式計算系 ’充内發現新的讯息傳遞用戶端,驗證經註冊之訊息傳遞 用戶端為操作的,在該等經註冊之訊息傳遞用戶端當中 維持同步,管理一資源位置快取記憶體之—主版本田及 管理—多點播送註冊資料結構之一主版本。 如。月求項6之裝置,其中為了發現新的訊息傳遞用戶 端,驗證經註冊之訊息傳遞用戶端為操作的,及在該等 絰在冊之訊息傳遞用戶端當中維持同步,耦接至該處理 器之該電路經進一步組態以將心跳訊息發送至訊息傳遞 系統内之訊息傳遞用戶端,及處理對該等心跳訊息之回 覆。 " 8.如請求項6之裝置,其中為了管理該資源位置快取記憶 體之該主版本,耦接至該處理器之該電路經進一步組態 131207.doc 200910108 f在無論何時對該資源位置快取記憶體進行改變時通知 該訊息傳遞系統内之訊息傳遞用戶端且其中為了管理 該多點播送註冊資料結構之該主版本,耦接至該處理器 之該包路經進一步組態以在無論何時對該多點播送註冊 資料結構進行改變時通知該訊息傳遞系統内之訊息傳遞 用戶端。 -種用於程序之間通信之方法,該方法由一訊息傳遞系 統内之一訊息傳遞實體執行,該方法包含: 促進軟體組件向該訊息傳遞系統註冊; 促進在經註冊之軟體組件之間的單播通信,· 促進軟體組件註冊以進行多點播送事件;及 促進在經註冊之軟體組件之間的多點播送通信。 10. 如請求項9之方法,其中促進一軟體組件向該訊息傳遞 系統註冊包含: 判足該軟體組件之一邏輯名稱; 判定該軟體組件之一實體位址;及 使侍一使該軟體組件之該邏輯名稱與該軟體組件之該 實體位址相關聯的輸入項添加至一資源位置快取記憶 體。 π ·如請求項9之方法,1γ m 中促進在經§主冊之軟體組件之間 的單播通信包含: 接收-去往-軟體組件之訊息,其中該軟體組件由〆 邏輯名稱識別; 將該邏輯名稱解析為一實體位址;及 131207.doc 200910108 將該訊息發送至該實體位址。 12. 13. 14. 如請求項9之方法,其中促進軟體組㈣冊以進 播送事件包含: 接收-對應於-多點播送事件之多點播送註冊訊息;及 使得-輸入項形成於-多點播送註冊資料結構其 中該輪人項使該軟體組件之該實體位址與該多點播送事 件之一邏輯名稱相關聯。 如請求項9之方法,其中促進在經註冊之軟體組件之間 的多點播送通信包含: 自-發送者軟體組件接收—對應於一多點播送事件之 多點播送訊息; 藉由參考一多點播送註冊資料結構而判定哪些軟體組 件已註冊以進行該多點播送事件; 將該多點播送訊息發送至已註冊以進行該多點播送事 件的該等軟體組件; 自該等軟體組件接收表*純_多點播送訊息之確 3忍訊息;及 將一確認訊息發送至該發送者軟體組件。 一種用於程序之間通信之方法,該方法由-實施於一分 散式計算系統内之訊息傳遞系統内的一訊息傳遞伺服器 執行,該方法包含: 在該分散式計算系統内發現新的訊息傳遞用戶端; 驗證經註冊之訊息傳遞用戶端為操作的; 在該等經註冊之訊息傳遞用戶端當中維持同步; 131207.doc 200910108 管理一 資源位置快取記憶體之— -主版本;及
    息傳遞用戶端當中維持同步包含: 將〜跳訊息發送至該訊息傳遞系 統内之訊息傳遞用戶 端;及 處理對該等心跳訊息之回覆。 16.如1求項14之方法,其中管理該資源位置快取記憶體之 «亥主版本包含在無淪何時對該資源位置快取記憶體進行 改變%通知該訊息傳遞系統内之訊息傳遞用戶端,且其 中官理該多點播送註冊資料結構之該主版本包含在無論 何時對s玄多點播送註冊資料結構進行改變時通知該訊氡 傳遞系統内之訊息傳遞用戶端。 1 7. —種包含一訊息傳遞實體之硬體單元’該訊息傳遞實體 經組態以促進在一分散式計算系統中於軟體組件之間的 程序之間通信,該訊息傳遞實體包含: 一註冊組件’其經組態以促進軟體組件向訊息傳遞系 統註冊; 一資源位置伺服器,其經組態以促進在經註冊之軟體 組件之間的單播通信; 一多點播送註冊組件,其經組態以促進軟體組件註冊 以進行多點播送事件;及 一多點播送通信組件,其經組態以促進在經註冊之軟 131207.doc 200910108 體組件之間的多點播送通信。 18. 19. 20. 21. 如請求項17之硬體單元,其中該註冊組件進一步經組態 以: 判定該軟體組件之一邏輯名稱; 判定該軟體組件之一實體位址;及 使得一使該軟體組件之該邏輯名稱與該軟體組件之該 實體位址相關聯的輸入項添加至一資源位置快取記憶 體。 如請求項17之硬體單元,其中該資源位置伺服器進一步 經組態以: 接收一去往一軟體組件之訊息’其中該軟體組件由一 邏輯名稱識別; 將該邏輯名稱解析為一實體位址;及 將該訊息發送至該實體位址。 如請求項1 7之硬體單元,其中該多點播送註冊組件進— 步經組態以: 接收一對應於一多點播送事件之多點播送註冊訊息;及 使得一輸入項形成於一多點播送註冊資料結構中,其 中該輸入項使該軟體組件之該實體位址與該多點播送事 件之一邏輯名稱相關聯。 如請求項Π之硬體單元’其中該多點播送通信組件進一 步經組態以: 自-發送者軟體組件接收_對應於_多_送事件之 多點播送訊息; 131207.doc 200910108 藉由參考-多點播送註冊資料結構而判定哪些 件已註冊以進行該多點播送事件; 、且 將該多點播送訊息發送至已註冊以進行該多點播 件的該等軟體組件; 畢 自該等軟體組件接收表示接 T设队衣不接收到該多點播送訊息 認訊息;及 嗜 22, 將-確認訊息發送至該發送者軟體組件。 一種包含一訊息傳遞伺服 f 寸碟1·!服器之硬體早疋,該訊息傳遞 服器經組態以促進在一分埒 政式a十异系統中於軟體組件之 間的程序之間通信,該訊息傳遞伺服器包含: -用戶端發現組件,其經組態以在該分散式計算系統 内發現新的訊息傳遞用戶端; 驗(、且件’其經組態以驗證經註冊之訊息傳遞用戶 端為操作的; 一同步組件,其經組態以在該等經註冊之訊息傳遞用 戶端當中維持同步; -快取記憶體管理器,其經組態以管理一資源位置快 取記憶體之一主版本;及 、 一多點播送註冊管理器,其經組態以管理一多點播送 註冊資料結構之一主版本。 23.如請求項22之硬體單元,其中該用戶端發現 證組件及該同步組件各自經組態以: ^ 將心跳訊息發送至訊息傳遞系統内之訊息傳遞用戶 端;及 131207.doc 200910108 處理對該等心跳訊息之回覆。 24. 25. 26. 27. 如請求項22之硬體單元,其中該快取記憶體管理器經組 態以在無論何時對該資源位置快取記憶體進行改變時通 知该訊息傳遞系統内之訊息傳遞用戶端,且其中該多點 播迗註冊管理器經組態以在無論何時對該多點播送註冊 育料結構進行改變時通知該訊息傳遞系統内之訊息傳遞 用戶端。 一種包含一訊息傳遞實體之裝置,該訊息傳遞實體經組 態以促進在一分散式計算系統中於軟體組件之間的程序 之間通信,該訊息傳遞實體包含: 用於促進軟體組件向訊息傳遞系統註冊的構件丨 用於促進在經註冊之軟體組件之間的單播通信的構 用於促進軟體組件註冊以進行多點播送事件的構件;及 :於促進在經註冊之軟體組件之間的多點播送通 構件。 如請求項2 5之裝詈,甘士 # 自僂说“ 〃中该用於促進-軟體組件向該訊 心傳遞系統註冊的構件包含: 用於判定該軟體組件之-邏輯名稱的構件; 用於判定該軟體組件之—實體位址的構件;及 用於使得一使該軟體組 、,牛之5亥域輯名稱與該敕辦/土 之該實體位址相關跔μ & 、/軟體組件 關勒的輪入項添 憶體的構件。 貝嫁位置快取記 如請求項25之裝置,复 /、中該用於促進在經註冊之軟體組 131207.doc 200910108 件之間的單播通信的構件包含: 用於接收一去往—軟^ 歡體組件之訊息的槿 體組件由一邏輯名稱識別; ,八令該軟 用於將該邏輯名稱解析 抒听斫马實體位址的構件· 用於將該訊息發送至兮訾 ^主逆貢體位址的構件。 28.如請求項25之裝置,直中 >夕 '、。用於促進軟體組件古主冊以推 订多點播送事件的構件包含: β冊以進 用於接收一對應於一多 息的構件,1 U播送事件之多點播送註冊訊 用於使得一輪入項形成於— 的播杜 點播 冊資料結構中 牛,/、中该輸入項使該軟體 容換、笔古μ 只體位址與該 夕點播送事件之—邏輯名稱相關聯。 29·如請求項25之裝置,其中該 於促進在經註冊之軟體組 件之間的多點播送通信的構件包含: 用於自-發送者軟體組件接收一對應於一多點播送事 之夕點播送訊息的構件; ❹藉由參n點播送註冊資料結構而判定哪些軟 體組件已註冊以進行該多點播送事件的構件; ,$於將夕點播m發送至已註冊以進行該多點播 送事件的該等軟體組件的構件; 用於自該等軟體組件接收表示接收到該多點播送訊息 之確認訊息的構件;及 用於將一確3忍訊息發送至該發送者軟體組件的構件。 種包含一讯息傳遞伺服器之裝置,該訊息傳遞伺服器 131207.doc 200910108 經組態以促進在一分散式計算系統中於軟體組件之間的 程序之間通信,該裝置包含: 用於在該分散式計算系統内發現新的訊息傳遞用戶山 的構件; 端 用於驗證經註冊之訊息傳遞用戶端為操作之構件; 用於在該等經註冊之訊息傳遞用戶端當中維持同步 構件; ^ ' 用於管理一資源位置快取記憶體之一主版本的構件丨及 用於管理一多點播送註冊資料結構之一主版本的構 3 β求項3G之裝置’其中該用於發現新的訊息傳遞用戶 端的構件、該用於驗證經註冊之訊息傳遞用戶端為操作 之構件’及該用於在該等經註冊之訊息傳遞用戶端當中 維持同步的構件各自包含: 用於將、跳息發送至訊息傳遞系統内之訊息傳遞用 戶端的構件;及 用於處理對該等心跳訊息之回覆的構件。 士明求項30之裳置’其中該用於管理該資源位置快取記 L體之該主版本的構件包含用於在無論何時對該資源位 Κ取。己It體進仃改變時通知該訊息傳遞系統内之訊息 傳遞用戶端的構侔,甘 且其_該用於管理該多點播送註冊 資料結構之該主版太 版本的構件包含用於在無論何時對該多 點播送註冊資料沾错、电/ 付、·。構進行改變時通知該訊息傳遞系統内 之訊息傳遞用戶端的構件。 131207.doc 200910108 33. —種用於促進在— 政式3十系統中於軟體組件之間的 矛王序*之間通信的雷聪5女η 们電腦程式產品,該電腦程式產品包含一 在上面具有指令之電腦可讀媒體,該等指令包含: 用於促進軟體組件向訊息傳遞系統註冊的程式碼; 用於促進在經註冊之軟體組件之間的單播通信的程式 碼, 用於促進軟體組件全主 _ . 仟°主冊以進仃多點播送事件的程式 碼,及 用於促進在經註冊之軟體組件之間的# 程式碼。 7 34·如請求項33之電腦程式產品,其中該用於促進一軟體組 件向該訊息傳遞系統註冊的程式碼包含: 用於壯該軟體組件之—邏輯名稱的程式碼’· 用於判定該軟體組件之一實體位址的程式碼;及 用於使得-使該軟體組件之該邏輯名稱與該軟體組件 之該實體位址相關聯的輸入項添加至一資源位置快取記 憶體的程式碼。 35.如請求項33之電腦程式產品,其_該用純進在經註冊 之軟體組件之間的單播通信的程式碼包含: 用於接收一去往一軟體組件之訊息的程式碼,其中該 軟體組件由一邏輯名稱識別; 用於將該邏輯名稱解析為一實體位址的程式碼;及 用於將該訊息發送至該實體位址的程式碼。 36.如請求項33之電腦程式產品,其中該用於促進軟體组件 131207.doc 200910108 "主冊以進行多點播送事件的程式碼包含: :於接收-對應於—多點播送事件之多點播送註冊訊 心的程式碼;及 。j使力輸人項形成於—多點播送註冊資料結構中 ,式碼’其中該輸入項使該軟體組件之該實體位址盥 “夕點播送事件之—邏輯名稱相關聯。 37.2求項33之電腦程式產品,其中該用於促進在經註冊 之軟體组件之間的多點播送通信的程式石馬包含: 用^自-發送者軟體組件接收—對應於—多點播送事 牛之夕點播送訊息的程式碼; 用:藉由參考一多點播送註冊資料結構而判定哪些軟 、、且牛已3主冊以進行該多點播送事件的程式碼; =將該多點播送訊息發送至已註冊以進行該多 达事件的該等軟體組件的程式碼; 用於自該等軟體皱株垃j分圭- 件接收表不接收到該多點播送吨自 之確認訊息的程式碼;及 甙心 碼用於將-確認訊息發送至該發送者軟體組件的程式 38. -種用於促進在—分散式計算系統中於軟體组件 :序之間通信的電腦程式產品,該電腦程式產品包:― 在上面具有指令之電腦可讀媒體,該等指令包含: 用於在該分散式計算系統内發現新的訊息傳遞用戶端 的程式碼; m Ρ ^ 用於驗證經註冊之訊息傳遞用戶端為操作之程式碼; 131207.doc 200910108 用於在該等磲吁皿 、°冊之訊息傳遞用戶端當令唯 程式碼; 田r 雀持同步的 用於管理一眘、、JS A 、源位置快取記憶體之一主版 碼;及 双不的私式 用於官1理一多點:M、、/ Μ >, 碼 。 夕^播迗注冊資料結構之—主版本的程式 39·如清求項38之雷腦避斗立 式產品,其中該用於發現新的訊自 傳遞用戶端的裎式踩 _ m ^〇fL 弋馬、s玄用於驗證經註冊之訊自 戶端為操作之程式碼,芬兮H w傳遞用 彳式胃及該用於在該#經註冊 遞用戶端當中維持同步的程^各自包含: # 用於將心跳訊息發送至訊息傳遞系 戶端的程式碼;及 專遞用 用於處理對該等心跳訊自 桃汛心之回覆的程式碼。 40.如請求項38之電腦程式產品,立 八中忒用於官理該資源位 置快取s己憶體之該主版本的程式 ,^ ^ ^ 匕3用於在無論何時 對該貧源位置快取記憶體進行 變時通知該訊息傳遞系 統内之訊息傳遞用戶端的程式碼, &甲該用於管理該 多點播送註冊資料結構之該主版本 狀旱的秋式碼包含用於在 無論何時對該多點播送註冊資粗纟士 叶、、、°構進行改變時通知該 訊息傳遞系統内之訊息傳遞用戶娃^ ^ 用Ρ鳊的裎式碼。 131207.doc
TW097116395A 2007-05-04 2008-05-02 Inter-process communication methods and apparatus for building scalable/redundant telecommunications systems TW200910108A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US91624707P 2007-05-04 2007-05-04
US12/112,961 US8464272B2 (en) 2007-05-04 2008-04-30 Inter-process communication methods and apparatus for building scalable/redundant telecommunications systems

Publications (1)

Publication Number Publication Date
TW200910108A true TW200910108A (en) 2009-03-01

Family

ID=39940504

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097116395A TW200910108A (en) 2007-05-04 2008-05-02 Inter-process communication methods and apparatus for building scalable/redundant telecommunications systems

Country Status (7)

Country Link
US (1) US8464272B2 (zh)
EP (1) EP2156313A2 (zh)
JP (1) JP2010529524A (zh)
KR (1) KR20100017611A (zh)
CN (1) CN101675424A (zh)
TW (1) TW200910108A (zh)
WO (1) WO2008137668A2 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589732B2 (en) * 2010-10-25 2013-11-19 Microsoft Corporation Consistent messaging with replication
WO2015137954A1 (en) * 2014-03-13 2015-09-17 Hewlett-Packard Development Company, L.P. Component multicast protocol
US9952908B2 (en) * 2014-09-11 2018-04-24 Cisco Technology, Inc. Crowd sourced cloud computing
CN105426260B (zh) * 2015-10-30 2018-08-21 北京航天自动控制研究所 一种支持分布式系统的透明进程间通信系统及方法
CN105391711A (zh) * 2015-11-05 2016-03-09 山东超越数控电子有限公司 业务平台及基于tipc协议的通信方法
US10873540B2 (en) 2016-07-06 2020-12-22 Cisco Technology, Inc. Crowd-sourced cloud computing resource validation
US10360606B2 (en) 2016-07-19 2019-07-23 Cisco Technology, Inc. Crowd-sourced cloud computing in a multiple resource provider environment
CN107920012B (zh) * 2016-10-10 2021-05-11 腾讯科技(深圳)有限公司 即时通信消息的存储方法和装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994001832A1 (en) 1992-07-07 1994-01-20 Systems Strategies, Inc. Apparatus and method for providing service oriented, message-based interprocess communication in a networked computing system
DE4417588A1 (de) * 1993-08-30 1995-03-02 Hewlett Packard Co Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung
JPH0830455A (ja) 1994-07-18 1996-02-02 Hitachi Ltd オブジェクト指向情報処理システム
WO1997021175A1 (en) * 1995-12-08 1997-06-12 Amsc Subsidiary Corporation Mobile communications from computer aided dispatch system via a customer premises gateway for satellite communication system
US6430698B1 (en) * 1998-10-05 2002-08-06 Nortel Networks Limited Virtual distributed home agent protocol
US20040031033A1 (en) * 2001-06-02 2004-02-12 Ravi Chandra Method and apparatus for inter-process communication management
US6920485B2 (en) * 2001-10-04 2005-07-19 Hewlett-Packard Development Company, L.P. Packet processing in shared memory multi-computer systems
TW589907B (en) 2002-03-15 2004-06-01 Ind Tech Res Inst Method and system of multicast management mechanism for mobile networks
US7080151B1 (en) * 2002-04-01 2006-07-18 Utstarcom, Inc. Method and system for mobile IP home agent redundancy by using home agent control nodes for managing multiple home agents
US6721907B2 (en) * 2002-06-12 2004-04-13 Zambeel, Inc. System and method for monitoring the state and operability of components in distributed computing systems
US7734681B2 (en) * 2002-08-20 2010-06-08 Symantec Operating Corporation Inter-process messaging using multiple client-server pairs
JP4292890B2 (ja) * 2003-06-26 2009-07-08 株式会社日立製作所 マルチキャスト配信方法、配信装置およびシステム
US7721907B2 (en) * 2005-11-22 2010-05-25 Rexam Closure Systems Inc. Child-resistant flip-top dispensing closure and package
US8560651B2 (en) * 2006-03-07 2013-10-15 Cisco Technology, Inc. Method and system for streaming user-customized information

Also Published As

Publication number Publication date
EP2156313A2 (en) 2010-02-24
US20080276249A1 (en) 2008-11-06
WO2008137668A2 (en) 2008-11-13
US8464272B2 (en) 2013-06-11
JP2010529524A (ja) 2010-08-26
CN101675424A (zh) 2010-03-17
KR20100017611A (ko) 2010-02-16
WO2008137668A3 (en) 2008-12-31

Similar Documents

Publication Publication Date Title
TW200910108A (en) Inter-process communication methods and apparatus for building scalable/redundant telecommunications systems
CN1237755C (zh) 通信网络中的子组多播
JP5498594B2 (ja) フェデレーションインフラストラクチャ内の一貫性
US9800421B2 (en) Methods and apparatus for network multicasting using hierarchical replication
CN102075417B (zh) 组播剪枝方法及协议无关组播路由器
TWI373941B (en) Method and apparatus for efficient routing in communication networks
US7984127B2 (en) Data matrix method and system for distribution of data
ES2744803T3 (es) Procedimiento de agrupamiento de terminales de usuario, servidor de conferencia y sistema de conferencia
CN101247210B (zh) 一种基于组播源发现协议实现组播转发树的方法
CN109194525A (zh) 一种网络节点配置方法及管理节点
WO2022001736A1 (zh) 一种邮件处理方法、装置、设备和介质
US20130016654A1 (en) Mesh network management system
BRPI0812140B1 (pt) Método para identificar um serviço, porta de protocolo de aplicativo e sistema de processamento de serviço
Vollset et al. JMS on mobile ad hoc networks
US20180262450A1 (en) Increasing capacity in a topic-subscription messaging system
CN101309154B (zh) 报文的发送方法、发送装置和传输系统
JP2003032299A (ja) マルチキャストネットワークにおけるランデブーポイントの制御方法及び装置
JP2017152991A (ja) 情報配信装置、情報配信プログラム、通信端末、通信処理プログラム及び情報配信システム
US20200290657A1 (en) Railway automation network and method for transmitting messages in a railway automation network
US9391799B2 (en) Multicast handling in a transparent interconnect of lots of links based data center interconnect
CN113382050B (zh) 一种消息传输方法、系统、计算设备及存储介质
KR100453221B1 (ko) 유니캐스트 망을 이용한 그룹 캐스트 전송 방법 및 시스템
JP6690291B2 (ja) 情報配信システム、情報配信装置、情報配信プログラム、及び情報配信方法
JP5796898B2 (ja) データ転送装置、転送方法、およびプログラム
AU2018200879A1 (en) Controller coordination system