TWI337823B - Message delivery with configurable assurances and features between two endpoints - Google Patents

Message delivery with configurable assurances and features between two endpoints Download PDF

Info

Publication number
TWI337823B
TWI337823B TW093105449A TW93105449A TWI337823B TW I337823 B TWI337823 B TW I337823B TW 093105449 A TW093105449 A TW 093105449A TW 93105449 A TW93105449 A TW 93105449A TW I337823 B TWI337823 B TW I337823B
Authority
TW
Taiwan
Prior art keywords
message
delivery
local
application
computer program
Prior art date
Application number
TW093105449A
Other languages
English (en)
Other versions
TW200503487A (en
Inventor
Richard D Hill
Rodney T Limprecht
Hany Essam Ramadan
David E Langworthy
Shy Cohen
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of TW200503487A publication Critical patent/TW200503487A/zh
Application granted granted Critical
Publication of TWI337823B publication Critical patent/TWI337823B/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
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Acyclic And Carbocyclic Compounds In Medicinal Compositions (AREA)
  • General Factory Administration (AREA)

Description

1337823 玖、發明說明: 【發明所屬之技術領域】 本發明係有關於可靠傳訊系統。更特言之,本發明提 供一含有可靠保證和多種特性之一單一開發程式模型,該多 種特性係為一應用程式的特定需求或該應用程式的特殊安 裝所組態和設計的。 【先前技術】 傳訊糸統已變成通訊越來越流行的一方式。這些通訊 系統涉及範®從電子郵件系統到安全交易,從聊天室到各種 網路服務像是網際網路購物。這些通訊系統的每一者需要 不同程度的安全、可靠性、擴充性(scalability)及可用性。這 些需求範圍從鬆散耦合模型像是含有簡單發後不理(fire and forget)可靠度及提供交易持久性傳訊之仵列系統之資 料(datagram)機制’至使用協定像是傳輸控制協定(TCp)及含 有作業階段導向通訊的遠端程序呼叫(RpC)之緊密柄人模 型。 由於對各種通訊機制的不同需求,像是在上面那些特定 確認的通訊機制,在這些機制當中每一機制装 风別再程式模型為不 同的’甚至在類似系統當中是來自不同供應葙 %冏。並且,在 每一程式模型中可組態彈性的程度跨越不 〜个1』機制及實作而 變化°開發程式師及系統設計者一般必須理魬 哪母—機制; 決定哪一機制最適合他們的需求,藉由那機制 ^ 疋我的特定 界面撰寫程式碼。 1337823 如果產品或配置需求改變’然而’需要一不同通訊機 制,通常必須重新設計及重新實作所造成的程式瑪。這是 由於最可靠的通訊機制關於或控制可靠性保證之選擇及特 性沒有提供足夠彈性的事實,該等特性係最可靠的通訊機制 提供給該等應用程式所使用的。例如,這樣的機制一般僅 僅提供確實一次依序傳遞。然而,有許多情況是比一應用 程式實際需要還多。
在提供更多或更高的保證時也會招致支出像是確實— 次依序傳遞。例如,必須從接收者將認可訊息送回到發送 者以認可訊息的接收。沒有這個認可訊息,發送者無法得 知訊息是否收到,所以無法提供確實一次保證》 可與偶而 失去訊息共存的應用程式也許不想要招致至少一次認可協 定的成本,如果無法傳遞一單一低優先權訊息,則冒一作業 階段故障的危險。在這種情況下,需要認可訊息未必増加 通訊成本及減少應用程式的可用性·
於是,對一單一開發程式模型有需要存在,該單一開發 程式模型提供一可靠的傳訊基礎,其係為提供給該應用程式 之訊息傳遞保證和特性可組態所在。並且,有需要一單一 可靠傳訊開發程式模型以對各種傳輸實作及對各種保證和 特性支援各式各樣的作業階段狀態和傳訊的儲存設備。 【發明内容】 根據本發明示範的 述所認定的不足和缺點 實施例,其克服了目前傳訊系統4 。例如,示範的實施例提供 4 1337823 一或更多的訊息傳輸之傳訊系統。並且,本發明提供_可 靠傳訊摘要’其係藉由提供一單一程式模型而簡化應用程式 的開發,該單一程式模漤允許指定一或更多端·對-端 (end-to-end)的傳遞保證以在執行時選擇一特定訊息傳輸咬 些特定訊息傳輸’相對地指定在發展時的該特定訊息傳輸。
本發明的可靠傳訊摘要係供給指定訊息傳遞保證的應 用程式,其所指疋的訊息傳遞保證係與實際上用來傳送該等 訊息的其下傳輸或些傳輸無關。於是,這摘要讓應用程式 開發者與傳輸層次的細節分離。同樣地,該摘要允許開發 者與網路拓撲(topology)和系統的連通性之細節分離。
首先系統定義一訊息通道界面’其係摘錄在多個不同訊 息的傳輸上用來交換訊息之送出及接收作業。不像傳統程 式模型般,定義多個與其下傳輸無關之端-對-端訊息傳遞保 證,每一端-對-端的訊息傳遞保證可選擇與該單一開發程式 模型一起使用。此外,可從下面選擇該訊息傳遞保證:至 少一次訊息傳遞、至多一次訊息傳遞、依序訊息傳遞,及訊 息存留時間(time to live)當令選擇該等可組態的保證。最 後,定義多個本地可靠傳訊特性,可在該單一程式模型之内 選擇使用每一本地可靠傳訊特性。此外,本地可靠傳訊特 性可為一狀態儲存、訊息存留時間,和交易的訊息緩衝之任 一者。 依據本發明的另一示範實施例,藉由摘錄一用於不同訊 息傳輸上交換訊息的一訊息通道界面來提供一簡化應用程 式開發之方法’其藉著提供一用於存取不同訊息傳輸的單一 5 1337823 程式楳型來簡化應用程式開發之方法,並讓一應用程式 者以指定一或更多端-對-端訊息傳遞保證。該訊息傳 證外遽擇與該單一程式模塑一起使用’可從以下選擇該 傳遞保證:至少一次訊息傳遞、至多一次訊息傳遞、 訊息傳遞’及訊息存留時間(time to nve)。 並且,該 使得一應用程式開發者指定一或更多本地可靠傳訊特 •q*在該單一程式模型之内選擇使用每一本地可靠傳 性,其包含一作業階段狀態的儲存、存留訊息時間,和 的訊息缓衝之至少一者。 在以下描述中將說明本發明的附加特性及優點,並 描述當中部分將是顯而易見的’或者可由本發明的實 習。可藉助於這些儀器及在該等附加的申請專利範圍 別指出的結合而理解及獲得本發明的特性和優點。本 的這些和其他的特性將從下面的描述和附加的申請專 ®變得更徹底明顯’或者可由如以下說明本發明的實施 習。 【實施方式】 本發明係藉由提供一單一開發程式棋型而觸及用 化可靠傳訊應用程式發展之方法 '系統,和電腦程式J 該單一開發程式棋塑係在開發一或更多應用程式時用 取和使用多個不同訊息傳輪。如在下面詳盡所討論, 明的實施例可包含各種電腦硬體之一特殊用途或一般 開發 遞保 訊息 依序 方法 性。 訊特 交易 且從 施學 中特 發明 利範 而學 來簡 品 ’ 以存 本發 用途 1337823
第1圖說明可靠傳訊堆疊10〇3和1〇01>之一高階的表示 法。在一傳訊堆疊中’沒有一可靠傳訊協定125的應用程 式105想要送出一訊息至’例如另一應用程式層ι85,其將 傳送訊息或一系列訊息丨丨5直接到這個資料傳訊層1 4〇 β (特別提到應用程式1〇5也許是住何類型的應用程式,像是 例如一服務’ 一般應被理解為適當地涵蓋一應用程式架構。) 因為資料不可靠,訊息或些訊息115可被複製、延遲及/或 丟掉。例如,在一具有發後不理(fire and forget)可靠度之 較不可靠的資料協定中’為了許多原因可丟掉訊息或些訊息 115’包括在傳輸160和165之間的中介物135。於是,夥 伴端點應用程式1 8 5從沒收到該訊息或該些訊息11 5,且該 送出的應用程式10S將不會察覺沒收到訊息或些訊息〗丨5。
依據本發明的示範實施例,然而,可靠傳訊堆疊l〇〇a 和10 0b提供有可靠傳訊協定125。於是,例如,可靠傳訊 架構120(或另一者1 80 )可確保從應用程式1〇5送出的訊息 或些訊息115在它們的目的端點處到達。例如,如果應用 程式1 0 5想要傳送訊息或些訊息】1 5到它的作業階段相對方 應用程式185,應用程式1〇5可Send()訊息或些訊息1 15到 將它們指派給作業階段和給定訊息序號之可靠傳訊架構 120。 一作業階段標識符(identifier)對應於應用程式105和 應用程式185之間的作業階段通訊。換句話說,一作業階 段指為在兩應用裎式105和185之間的雙工對話。序列編 號對應於該作業階段通訊之内的特定訊息》 例如,也許有 在單一作業階段之内的幾個訊息係在兩應用程式105和185 7 1337823 之間通訊,並且依次按照由該應用程式送出的順序來將每一 訊息編號。此外,也許有多個作業階段係在應用程式ι〇5、 185和可能的其他應用程式之間建立(建立的每一作業階段 可有相同或不同的傳遞保證)。於是,每一訊息將被指定一 作業階段和序號’其係為獨一無二地識別該特定的作業階段 及在該作業階段内該訊息之序列的順序。
在寫入一作業階段和序列標頭於訊息191上及執行其 他需要的通道處理之後’訊息191係被儲存在一送出缓衝器 中的作業階段狀態190。後續地’訊息191的一拷貝係經 資料傳訊140而傳輸下去,該資料傳訊140係由例如提供選 徑(routing)標頭而便利於訊息19丨的端-對-端傳輸。則傳 送訊息191可能透過一或更多中介物,例如中介物135,每 一中介物便利於訊息1 9 1的端-對·端傳輸作為-系列點-對· 點傳輸。或許使用可延展的截取機制來實作像是選徑、過 濾、策略管理和安全之動作。特别提到可程序化地或經組 態來建立傳輸層145、170、155以及在傳訊端點和中介物 140、175、150中端點處之可用的動作。
如果對應用程式105指定至少一次傳遞的保證(在下面 詳盡描述)時’可靠傳訊架構120期待從表示恰當地收到訊 息之可靠傳訊架構1 8 〇接收到認可訊息。訊息1 9 2樓載一 收到訊息191(例如,在一序列中的訊息5)的認可訊息。定 期地,如果認可訊息192沒有被可靠傳訊架構12〇接收到, 或因為可靠傳訊架構18〇尚未恰當地收到一拷貝或因沒有 認可訊息係由可靠傳訊架構12〇自18〇接收到之其令一者, 8 1337823 則再次傳送訊息1 91 * 於是,如果訊息1 9 1被丟掉、被延 遲’或被選徑失誤(misrouted),例如藉由中介物135,可靠 傳訊架構120繼續(在一逾時(timeout)期限之内,描述於後) 以試圖保證由可靠傳訊架構1 80恰當地收到訊息! 9 1之至少 一份拷貝而定期地發送訊息191·須注意的是關於訊息 1 9 1對上面描述的那些類似原因,然而,訊息】92可被丟掉、 被延遲,或被選徑失誤。如此,本發明提供如在下文描述 之認可訊息1 9 2的可靠訊息傳遞。 它送認可訊息192到可靠傳訊架構12〇 β在收到認可訊^ 1 92時,可靠傳訊架搆! 2〇從它的作業階段狀態(送出)緩备 器190清除訊息191的拷貝並且停止進行它額外的傳送。 同樣地可靠傳訊架構18〇將它已收到訊息的一拷貝奋 錄於作業階段狀態(接收)緩衝器195,所以由可靠訊息架相 所收到之任何複製訊息可被丟棄,無論是否該些訊息已 經被傳遞至應用程式185。錢,㈣程式i85可從^ 階段狀態(接收)緩㈣195經它的心‘()命令重新得至, 該收到的訊息 如果可贵後知
靠傳訊架構1 20沒有收到認可訊I
192由於它被丟掉、 延遲或被選徑失誤,然後將繼續If 心191的重送,從而觸發 靠傳訊架搆1 80以送出認可訊.1 192的另一拷貝„這個 E , J繼續直到由可靠傳訊架構1 2 收到至 >、一認可訊息i 92 , 飞直到可靠傳訊架搆120放棄| 试將一失誤指示送到應用程式105。 了依據本發明及如關於第2圖詳盡所描述那樣配置巧 9 1^37823
靠傳訊架構120和/或180每一者為對話200(第2圖)。對 送200為一訊息架構摘要,其中服務(或應用程式的例子)使 用對話200為與其他服務之可靠作業階段導向的通訊。開 發程式者可使用一對話通道220來存取對話。此外,在對 該應用程式之訊息傳遞保證是可組態之處,對話2〇〇提供一 可靠傳訊基礎和一單一開發程式模型。須達到這些可靠性 保證或者出現一作業階段故障。對話200的開發程式給予 —對應的執行時實作彈性以提供附加特性,其為保持對於應 用程式實作所宣稱的保證(正確性限制)。尤其是,一應用 程式可配有對實作應用程式清楚明白之可用性和擴充性的 變化程度。並且,在應用程式1〇5和185之間的這些作業 階段通訊可在許多傳輸類型上實現(例如,傳輸控制協定八網 際網路通訊協定(TCP/IP) 160和HTTP 165),傳輸連線例 子,和網路拓撲。
由對話200提供的可靠性保證包括至少_次(AL〇)、至 多一次(AMO)、依序(1〇)傳遞。也提供一附加作業階段存 留時間(TTL)保證。AMO保證確保由送出應用程式所送的 任何給定的訊息’這訊息將至多—次送到該接收的應用程 式。因為對話200是一摘要,如果副本訊息會破壞該應用 程式的語意,則應用程式免除必須偵測和放棄副本訊息。 同樣地’ ALO保證提供由該送出應用程式所送的所有訊息 係由該接收端點來接收,其使應用程式免除必須偵測失去或 誤導的些訊息,並協調它們的重送。10保證提供將訊息依 該應用程式送出它們的順序而遞送到該接收的應用程式。 10 這使該應用程式免除必須處 月恩理该些訊息的不按順序 對話200也提供一作業 肖序接收。 的夥伴之間的對話作業階 秒件端點 段係在該作業階段存留時間截止 之前元成。如果在穿 如果在儿成對話作業階段之前,該作 留時間截止時,將這此# % s ' —對話通道放置於一失誤的狀態裡,並 且提供給該應用程式關於哕生 埘於該失誤的通報。應用程式可藉由 重新協商存留時間而延展該作業階段存留時間。 對話讓要被用的這些訊息傳遞保證個別地或以任何辞 合來滿足-給定的應用程式和配置的特定要求。例如, AM〇、AL〇和10三種保證的結合提供-般大多數可靠通訊 機制之確實-次、依序傳遞像是TCP/IP。$而,不像一般 通訊機制和它們對應的開發程式棋型,可定製這些保證而沒 有改變該應用程式所使用的開發程式模型。 對話200不僅考慮到可組態的保證,且考慮到要被選擇 且彼此被獨立組態之本地可靠傳訊特性,並且與上面選擇的 保證無關。這些本地可靠傳訊特性歸為兩個不同的範疇: 對開發程式模型是不可或缺的那些本地可靠傳訊特性及關 於那些與應用程式無關的定製化本地可靠傳訊特性。例 如,不可或缺的本地特性可包括:交易的緩衝,其對於應 用程式具有一致性、隔離性和單一性(atomicity)語意;或一 概況檔(profile)參考,其使一概況檔與作業階段聯結以允許 獨立的定製化。可定製的本地特性包括:作業階段狀態 的儲存組態、緩衝器限額、送出的逾時期限(timeout)、可組 態的訊息TTL、作業階段的優先權訊息,或有害訊息的偵測 閲值,如在下文所描述。 依據本發明的示範實施例,對話 和訊息儲存為一可置換元件稱作對与 260是可置換的,所以第三方可獨立 200提供作業階段狀態 庫260。 因為對話庫 著作及分佈對話庫260
的實作 話庫。 。管理者可挑選和選择實際上用於所給的安裝之 於是,這個機制允許極大彈性以滿足持久性、效能 自治,和管理的目標。 庫’其具有一記憶體儲存 對話庫2 60可為一可抽取式的儲存 '磁碟上的持久性儲存、在一監控 程序(daemon process)儲存、在非揮發性的記憶體庫争、在 光學儲存上、磁帶、網路附加的儲存,或可移除的儲存。並 且,該對話庫可為遠端或不在節點上的儲存。
依據本發明的一示範實施例’提供一記憶體對話庫的實 作(例如,對話庫260),其將所有狀態保持於該應用程式記 憶體。這個對話庫提供對狀態的快速存取;然而,如果 應用程式的處理狀態遺失時,在所有狀態失去的開支(例如 由使用者终止該應用程式,由作業系統終止,例如,由於一 應用程式的失誤,或在應用程式執行故障之處的系統卜 依據另一示範實施例,快捷對話庫實作(例如,對話庠
260)在一分離的專用監控程序的記憶體中保存狀態。這個 對話庫確保狀態倖存於應用程式處理故障,然而,以進行處 理的開支處切換到保持該狀態*如果該監控程序故障或作 業系統或電腦節點故障時,則失去負貴該作業階段的所有狀 態》 又依據對話庫實作的另一實施例(例外,對話庫26〇), 12 1337823 在一資料庫 像是結構性 入以保持狀 統故障倖存 護狀態的一 事常規性的 本發明 點或另一節 服器可被組 的伺服器資 因此具有很 本發明 在以符合由 性。並且 可修改一應 組態)而利用 在相同的應 態需求。 j 一應用程式 存一起工作 好。對話;Q 程式碼中指 由對話 對話200係> 争作業階段的狀態資訊保持於一持久性樣式 查詢語言(SQL)伺服器。然而,在進行磁碟寫 態之下,這種持久性狀態可使電腦節點或作業系 。 使用一資料庫系統像是一 SQL伺服器用β維 益處是安裝可已經有工具、技術和處理以適當從 備份及重要應用程式狀態的復原。 也提供可組態一些對話庫以執行在本地電雎節 點上。例如,一持久性的對話庫像是一 SQL飼 態以使用一本地伺服器資料庫或在另一節點上 料庫。其他節點也許是一群集系統的一部分, 高的可用性》 一應用程式或些應用程式所使用的特定配置 ,為了調適像是增加負載或容量之需求的改變 用程式組態以使用一不同的儲存庫(或儲存庫 丨新儲存選擇或提出其他配置環境考量β此外 用程式之内的不同通訊作業階段可具有不同 纤話讓每一作業階段個別地被組皞。 例如, 之内的一些作業階段最好可與持久性的狀雜 ’而其他作業階段可用易揮發狀態儲存工作Γ g可透過-概況檔(在以下描述)或在應用程: 定而被組態。 式 200提供的另一可組態的特性 ,^ 硬衝器FK φε &發送者和接收者應用程式處緩衝訊息。額
13 1337823 緩衝增進兩應用程式的自治,即使其另一端不是正在執行或 是無法達到例如由於一網路分區,其允許其中一 乃运出訊息
至它們的本地緩衝器或從它們的本地緩衝器接收訊自。例 如’雖然另一方暫時難以獲得即不是正在執行或是無法達 到’應用程式205可繼續送出訊息。這是由累積在本地送 出緩衝器250中的訊息來達成直到能夠成功傳送訊息。同 樣地,應用程式205能收到先前在接收緩衝器245中緩衝的 訊息,即使目前送出訊息的應用程式不是正在執行。對話 200提供一可組態的緩衝器限額,.其定義將由系統緩衝訊氣 的最大數目(視訊息尺寸而定)·於是,這限制由對話狀態 235所消耗空間的量,並且限制可由另—端點所消耗的本地 資源。這也允許該傳訊系統以為該應用程式保留足夠的空 間以.本地地緩衝訊息之指定的數目。對話200也提供_定 義由該傳訊基礎將緩衝的訊息之最小保留數目的最小緩衝 器限額’其與一最大訊息尺寸結合而定義由該傳訊基礎將緩 衝器之位元組的最小數目。緩衝器限額係可透過一概況稽 (在以下描述)或在應用程式碼中指定來組態。
對話200也提供一可組態送出逾時期限特性,當送出 一訊息時,該訊息是被置放在對話庫260 /送出緩衝器250。 如果該緩衝器是滿的’即’如果已經達到該緩衝器限額,則 阻擋對Send()2 10的呼叫直到該送出逾時期限截止,或在緩 衝器中的空間變得可用的以保持該訊息。當訊息成功傳送 到該接收端點及由該接收端點認可且不再需要於本地端點 重試時,在緩衝器中的空間變得可用的。如果在該送出逾 14 1337823 時期限截止之前空間變得可用的’則Send()21〇呼叫正常完 成。如果在空間為可用之前該送出逾時期限載止,則發生 * 一例外(exception)以提供通報給應用程式關於訊息無法成 , 功地緩衝· 於是,該應用程式可在之後再次嘗試β 可組 態的逾時期限讓應用程式以在阻擋的簡易性上選擇回應的 程度。送出逾時期限可透過_概況檔(在以下描述)或在應 用程式碼中指定來組態。 如先前所提’對話200支援一端-對-端作業階段ttl 保證。對話200也提供可組態為一本地特性的一可選擇訊 息存留時間。該訊息TTL要求傳送訊息必須在存留時間所 指定的時間内由接收端點成功地收到,否則對應用程式 205提出一失誤。對話200也為訊息TTL提供一可組味的 延期。於是,當存留時間截止時,對該送出應用程式2〇5 提供通報。此時應用程式205具有選擇終止這個對話或延 展該訊息存留時間。類似於送出逾時期限,可由應用程式 碼設定存留時間的期限’或使用一概況檔以間接地組態存留 時間的期限。 由對話200提供的另一特性是該指派選擇性的優先權。 在對話200之内的所有訊息具有相同的優先權β然而,當 Φ 來自多個對話的訊息是可用於傳輸時,在傳送該訊息中給定 含較高優先權的對話先行於含較低優先權的對話。同樣 · 地,當訊息可用於“傳遞"至該接收應用程式時,含較高優 先權的訊息在含較低優先權的訊息之前收到。可由應用程 式碼設定優先權或間接地使用在下文描述的概況棺。 15 1337823 使 者 易 地 其 獲 性 該 如 控 面 可 如 這 交 止 出 並 易 變 純 的 對話200也提供訊息之可選擇交易緩衝。當以交易來 用對話時,本地送出及接收緩衝器充作交易資源的管理 β 在這種情況下,在交易下所收到的訊息被視為易受交 结果影響之試驗性傳遞(從該接收緩衝器刪除)。同樣 ,試驗性捕獲(添加到送出緩衝器)在交易下送出的訊息, 易受交易結果影窖。如果交易投入,這些試驗性訊息捕 及傳遞係造成永久性的。如果交易中止,放棄這些試驗 作業彷彿它們從未發生過。像其他交易資源管理者般, 等對話庫負責為試驗性緩衝器作業提供交易的獨立性(例 ’在交易外看不見捕獲的訊息),並且在一交易管理者的 制下完成交易單一性的交易。 交易的緩衝簡化正確傳訊應用程式的發展(例如,甚至 對故障或並行的活動當中使正確的狀態轉變)。應用程式 使用這個特性以協調資訊交換和本地的訊息處理。例 ’一應用程式可在一交易的範圍内接收和處理一訊息β 訊息處理可包括讀取和更新一或更多交易資料庫以及在 易中所包括的對話上送出一或更多訊息。如果交易中 ’則所有工作是未完成的。尤其是,放棄該等試驗性送 的訊息。即’作業階段夥伴將不會看見這些部分結果-且該收到的訊息維持是可用於傳遞。後來允許在一新交 的範圍内處理該訊息。當一交易投入時,這活動全部都 得水久性的,包括該收到訊息的刪除和送出訊息的緩衝。 粹影響是確實一次的訊息處理·交易緩衝是一本地對話 特性,不論是否應用程式使用這個特性,其對它的作業階
16 1337823 段夥伴應用程式係完全可知的。
依據示範的實施例,及關於第2圖在以下描述那樣,當 在發送者端點處呼叫Send() 210時,這個訊息係試驗性放置 於對話庫260裡。如果該交易投入,將該訊息交付對話庫 260且使其可用於傳送至夥伴端點。如果交易中止,放棄 這個訊息。在接收者處,當呼叫Revice()21 5(或刪除)時, 該訊息係從對話庫260争試驗性刪除。如果交易投入,該 訊息係從對話庫260永久性刪除》如果交易中止,訊息保 留在對話庫260令且可用於再次傳遞。處理的接收考慮到 確實一次的訊息處理。 應該注意的是雖然處理的緩衝是佇列系統的一共同特 性’但是這些系統一般要求一持久性的對話庫。無論對話 庫2 60的耐久性如何,對話2〇〇提供這些相同的交易語意, 在所有情況下提供相同的程式模螌。例如,記憶體的儲存 庫係藉由加入成為一交易的資源管理者而提供交易的語意。 然而,對話200讓這個應用程式實作與配置細節分開,該等 配置細節包含與傳輸和連通性特徵關聯的細節、訊息選徑和 端點的狀態管理。
由對話200提供的另一特性是一可選擇有害的訊息功 能。如先前所提及,當在一交易下接收和處理一訊息且那 個交易中止時,訊息保留在對話庫260中且可用於再次傳遞 至該應用程式。有時致使該交易中止的問題是癖間的,例 如’由於鎖死、傳遞和訊息處理的逾時期限而在下一次嘗试 上成功。若對一給定的訊息的傳遞嘗試重複造成一中止, 17 i337823 該訊息被視為有害”。對話200提供一方法以組態在該 訊息被視為有害之前傳遞多少次。當偵測一有害訊息時, 提出一失誤給該應用程式並且使處理這個訊息的嘗試停止 直到該應用程式採取正確的行動。這確保沒浪費從沒成功 之嘗試工作的處理資源,或僅在某種介入之後成功。有害 訊息的偵測可透過一概況檔(在以下描述)或在應用程式碼 中指定來組態。
可選擇的概况擋特性提供一命名為對話組態選擇組β 如上述’有許多對話之可組態的特性像是緩衝器限額、逾時 期限、儲存庫,等等。而且,對話200提供可組態的訊息 傳遞保證,例如AL〇 ' ΑΜ0及1〇,其應用程式碼可獨立指
定一所希望的最小層級傳遞保證,該所希望的最小層級傳遞 保證係為如果想要的話可透過組態而增進β概況檔提供將 共同對話設定歸類及藉由名字來參考那些設定的一方法。 並且’對話200的實作讓概況檔的選擇係透過應用程式組態 檔案因此管理者具有在設定上之配置時間的控制。當產 生或接受對話時,應用程式用名字來參考概況檔,且使用在 概況檔t所指定的所有設定以產生對話2〇〇。可直接建立 疋作為一應用程式程式的一部分作為程式碼或作為其 他開發程式構造物。概況檔係可由參考在程式碼中或其他 開發程式構造物直接與一應用程式聯結,因此可無關於應用 程式程式而設定概況播的值。直接建立之概況棺的值係優 先於由概況棺參考間接地設定概況檔的值。 因為對話2〇〇提供這些特性和保證的任何結合彼此互 18 1337823 相獨立,可組態對話2 Ο 0以符合任何耦合組態,其係從類似 於傳輸控制協定(tcp)和遠端程序呼叫(RPC)的開發程式模 型之緊密式耦合的開發程式模型到類似於資料和佇列之鬆 散式耦合的開發程式模型。此外,對話200有效率地支援 像是單向、半雙工(從一單一請求/回應到更複雜的模式),及 最複雜的全雙工交互作用之各種雙方訊息交換模式(MEPS)° 於是,對話200考慮到雙方通訊開發程式模型的一致性。
第2圖依據本發明的示範實施例說明一對話200之作業 的特性。提供一對話通道應用開發程式界面(API)220為應 用程式205的一摘要。如先前所描述,對話200使用一傳 訊協定像是資訊網服務之可靠傳訊(WS-RM),其定義一系列 訊息。一序列係定義在一作業階段中訊息的一單向訊息 知·。結合兩個這樣的序列以形成一對話,在兩個通訊方之 間的每一方向有一序列。當呼叫通道220 Send()方法210 時’如一參數傳至Send()方法210的訊息係儲存於送出狀態 2 50,並且根據送出該訊息的順序,以一單調漸增訊息序號 獨特地戳記。
訊息255被緩衝於送出狀態25〇以在序列中保持關於該 個別訊息255的狀態。就這點而言,這些訊息可謂為被 捕獲於狀態250且Send()2i〇傳回該應用程式。更特 s之,Send()方法210接受—訊息作為一參數。以一序號 戮》己的k個訊息傳給送出緩衝器25Q且後續或同時儲存於 错存庫260 °就這點而言,該訊息被1S為“捕獲的”且 Send()210傳回。肖其他訊息重複這個呼叫造成訊息255 19 的一序列或部分序列 對話狀態235包括分別為送出和接收緩衝器250和 240。對話狀態235控制和储存這樣不變的資訊像是針話 標識符、由應用程式指定的保證,和移伴端點位址。對話 狀態235也控制作業階段資訊像是下一個外送序號和認可 訊息的狀態。並且’像是對話存留時間、逾時期限、儲存 庫的地點’等等的組態資料係保持在對話作業階段狀態 235 ◊ 一旦捕獲訊息’此時協定270可處理和傳送該捕獲的訊 息,例如,於是透過埠2 8 5的訊息2 7 5 »對話2 0 0的開發 程式模型和執行時的基礎提供一靈活且有效率的端點解決 模型。 模型最低限度確保充分解決兩端點以提供可靠資訊交 換°尤其是’協定270可在一處理的對話中傳送該初始訊 心之前確保兩端點保持一參考,其係足以保證端點唯一性和 透過對話200和它的對應作業階段之正確的訊息相互關係。 这要求’例如以確保將訊息可靠地傳遞到一單一作業階段夥 伴’所以確保至多一次傳遞。這個端點解法可根據多個因 、’0括一識別該夥伴應用程式的標識符(例如,一由對話 2〇0的產生者使用、本地組態、在訊息標頭中的選徑資料、 +介物組態’和該目標應用程式組態的全球資源標識符 (URI))。 重要的是注意該應用程式實作205不需要與對話端點 法的細節有關。對話200的基礎執行一解法處理以協調 20 1337823 這起始端點以確保這是該作業階段之唯一選擇的同級端點。 這如需要那樣完成且對應用程式執行2〇5是一目了然的。
當提供這個彈性以在各式各樣的網路組態中達到正確 的執行時,也可提供該對話的執行時端點解法以確保達成訊 息傳遞目標。這個特性支援在各種組態中的應用程式的靈 活配置以提出擴充性、可用性,安全性(例如防火牆)和效能 的需要。服務配置組態包括,例如,應用程式園地(例如, 向外擴展的複製)和應用程式分割(例如,由顧客數目或地理 本地之分割處理)。可分別或一起使用應用程式園地和應用 程式分割。例如’可佈署一應用程式以使用依資料而定的 選徑至應用程式分割’其輪流由應用程式伺服器的—因地構 成。
協定270也決定什麼類型的端-對-端保證和本地特性已 由應用程式205指定’與在上面描述用於執行端點解決的方 法無關。如果該應用程式205指定ALO保證,協定270 在對話的送出緩衝器250中保持訊息275的一拷貝直到協定 270係從恰當接收該訊息275之接收者(未示出)收到—確定 的認可訊息。當協定270係從接收者處收到一確定的認可 訊息時’它將這個事實記錄在作業階段狀態235中並且從送 出緩衝器250處刪除這個訊息。如果協定270在一規定的 重試逾時期限内沒有收到一域定的認可訊息,則該協定以相 同的訊息序號重送該相同訊息275的一拷貝。對話200可 重複這個處理許多次,並為了避開網路上更進一步擁擠,可 運用重試定時器退回策略。如果在訊息存留時間所規定的 21 1337823 期限之内沒有收到一認可訊息,則產生一失誤以通知該送出 應用程式205沒有符合這個保證。
當收到一對話訊息28〇時,協定270複製訊息於接收緩 衝器狀態240中。協定270也記錄該下一期望的訊息序號。 當收到一訊息280時'如果對話200保證包括AMO 1到遠 訊息280的訊息序號係與先前已到達的該組訊息序號相比 較,先前已到達的該組訊息序號係如前面提到儲存在接收緩 衝器狀態240中。如果該組已經含有一匹配的序號,訊息 2 8 0被視為一副本且被放棄;否則,為了將來參考使訊息 280放置在本地接收緩衝器240裡。 如果該些保證包括AL0,在接收該訊息280時,則協 定270送出一未序列完整之選择性確定的级可訊息到對話 的夥伴端點。這個認·可訊息必須包括迄今在作業階和·中已 經接收的所有訊息的序號。包括一套序列範園的一速記表 示法可用來保存訊息的空間。
如果這些規定的保證不包括10,則該訊息280透過接 收通道220立即可用於“傳遞”到該接收應用程式2〇5。尤 其是,送出一通報到可用於接收一訊息的應用程式2〇5ί然 後,應用程式205可呼叫Receive()215,於是可用於傳遞的 下一訊息傳給應用程式205且所謂發生“傳遞”。 如果指定此IO保證’到達訊息280的序號與下一期望 的序號相比敉。如果此序號比下一期望的序號更小’玫棄 這個到達訊息280 *如果它們相匹配,該訊息280立即可 用於"傳遞,,到該接收應用程式205 ’並且將卞一期望的序 22 1337823 號設置成下一遺失訊息的數目。如果這個序號比 的序號更大’則動作取決於是否也規定ALO保證。 規定ALO保證,則該訊息280立即可用於傳遞到 用程式205, 並且將下一期望的序號設置成比 280的序號更大的序號。如果指定ALO保證, 280不可用於傳遞到該接收應用程式205,但是保 緩衝器240中。於是,如果它們不相匹配,則假 更低序號的一其他訊息尚未收到。當所有如此遺 序號訊息都到達時,則在適當序列中訊息的連續範 傳遞到該接收應用程式,並且將下一期望的序號設 遺失訊息的數目。 如在上所述,當訊息係可用於傳遞到該接收 205時,發出一通報到接收應用程式205。 此時 程式可在對話通道220上呼叫Receive()方法215 一可用的訊息傳遞。Receive()可被多次呼叫以輪 一可用的訊息。為了碟保順序,連績傳遞該事件i 是’當一訊息係可用於傳遞到接收應用程式205時 叫先前以一對話200事件登記的應用程式碼,而將 件通報傳遞到應用程式205。 即使其他訊息可用 對那應用程式不作其他呼叫直到對該應用程式碼 叫傳回。在那個應用程式碼之内,應用程式205 對話Receive()215以接收下一可用的訊息。 也如同上述那樣,當呼叫Send()210時,則目 緩衝器250中的訊息數目與規定的緩衝器限額相妇 下一期望 如果沒 該接收應 到達訊息 則該訊息 留在接收 定至少一 失的較低 圍可用於 置成下一 應用程式 接收應用 以接受下 流接收每 愚報。於 ' ’藉由呼 一單一事 於傳遞, 的那個呼 一般呼叫 前在送出 匕較°如 23 1337823 果匕超過限額,在一個事件上阻擋Send()2 10的呼叫者直到 空間變付可用的或者直到超過該送出逾時期限。當在送出 緩衝器250中的空間變得可用時,緩衝器檢查是否有任何呼 叫者等待送出訊息。如果是這樣情形,則不加以阻擋 Send〇21〇的呼叫者且能夠再次送出訊息。 對話200的所有狀態-包括在訊息緩衝器250和240中 的那些狀態、在通道22〇中的那些狀態,和在協定27〇十的 那些狀態-能夠同時被保持於對話庫26〇中。對話庫260 應含有最新的資訊。這保證對話狀態235具有對話庫260 的持久性質’並且讓所有特性不論對話庫260處於使用中而 作用。例如’放置一訊息280在接收绫衝器240争可涉及 磁碟寫入對話庫260。為了提供保證,僅在訊息已經被記 錄於對話庫2 6 0之後’送出認可訊息。這確保例如發送者 或接收者一直具有該訊息的一拷貝·同樣地,在送出方這 一邊,僅在訊息已經被記錄於對話庫26〇之後,Send〇2 10 將是完成。 如先前所提到,對話庫260也許是一可柚取式的儲存 庫,允許極大彈性以符合耐久性、效能、自治和管理的目標。 例如,可在包括以下的一單一架構内從多個儲存庫之一選擇 一對話庫260 :使所有狀態保持於應用程式記憶體中的一 記憶體對話庫實作:保持狀態在一分離專用之監控程序的 記憶體中的一快捷對話庫執行;或一持久性的資料庫健存 實作像是結構性查詢語言(SQL)伺服器。在相同應用程式 205之内的不同對話可使用不同儲存庫。此外,本發明也 24 ^37823 提供一些對話庫260可被組態以在該本地電腦節點或另_ 節點上執行。
因為對話200代表應用程式205充作一代理,隔離應用 程式205以改變連通性。這使得例如在一應用程式開始之 處的批處理型式送出和接收一些訊息,然後可不必等待另一 端點回應或甚至可用的。並且,含有很大彈性題枒以符合 各種傳遞保證和本地特性例如訊息或作業階段的存留時間 來安排訊息傳遞。例如’受到傳遞保證的支配,搿話200 可在某段時間傳播最高的訊息負載(負載平衡)或者變換訊 息傳遞到一更符合成本效益的時間、等待一資源變得可用、 起因於訊息或對話優先權,等等,無關於應用程式205。 此外’儲存庫260提供對應用程式205停止和重新開始的能 力·批處理、排程,以及應用程式的停止和重新開始的能 力增加系統的可用性和擴充性。 此外,如在上所影射,應用程式205可指定關於對話緩 衝器250和240而交易處理send()210或Receive()215作業》 這允許應用程式’例如接收一訊息、在一或更多的對話上送
出一些訊息,和全都在一單一交易内更新一應用程式奉。 在交易的這個用法中,僅僅是一本地觀點並且不帶到其他端 點。 在執行時期間對話也提供失誤的復原,其能夠自動復原 (遮罩)許多失誤265而沒有涉及該應用程式實作。一應用 程式可依靠接收一對話2〇〇活動之該些宣稱的特徵(即’宣 稱的保證和特性)。如果對話200或協定270的基礎決定該 25 1337823 &旦稱的特性不再符合,該對話係置在一失誤的狀態裡, 並且提屮 — ^田―失誤事件,考慮到無關於主要應用程式碼或甚至 λ 式2〇5之頻帶外改正動作。如果可改 正(修復)奂* 大系265,對話可被置回到服務裡。不可復原的 失誤’即'無法修理的失誤,會導致對話200和應用程式通 ' 報 的終止。這樣的一開發程式符合"故障快速修復 (faiUfast)”模型,其為可靠應用程式發屐的基礎· 可偉存的故障可包括下列:破壞、遺失'複製或延遲訊 傳輪和網路的故障;處理故障;中介物故障和系統 故障。如上述,因為對話2〇〇提供一摘要給應用程式並且 魯 ’、持它自己本身的緩衝器和儲存庠,對話200也支援含有間 敗連通性的應用程式和環境。對話也可適用於改變環境像 對網路拓撲'重新協商安全環境條件或端點的重新佈署之 士話2〇〇可在它自己本身上自動試圃修復這些失誤, ^如藉由重送訊息。4者’或同時,對話200可送出-請 】第一方,例如一系統作業者或診斷程式碼,請求援助 。復該失誤。這個援助可為,例如簡單人為介入以修復 在一網路_的斷線或可能一自動化修復處理。不管怎樣, « 旦修復該失誤,對話, a 丁通2〇〇可繼續送出訊息。這些與其他
可用特性耦合考慮到長久在印从M L J氏久存留的對話。然而,如果無法由 对話綱或透過某些其他第三方介人來解決_失誤,應對啟 始這個對話的應用程式205提出一失誤訊息。 - 可組態應用程式以使用對話庫鳩,其讓對話要保持跨 26 1337823 越應用程式處理故障和重新開姶。一些儲存庫260可額外 忍受系統的故障和重新開始。 可由如上述之特定領域的失誤管理程式和基本的訊息 重送支援的一結合自動處理其他傳輸失誤。例子包括由安 全憑證或策略期限載止的失誤。如果傳送於一安全作業階 段上的訊息係由於憑證期限截止而致誤,則對話2〇〇可重新 議訂該安全憑證並清除該對話失誤。當對話處理重新繼續 時,這些缓衝的訊息將隨同更新的憑證藉助於標準的重試處 理而被重新傳送。
同樣,如上述,對話200的設計和對應的基礎讓執行時 動態地調適一對話200到一變化的執行環境。這可對應用 程式實作提供透明性且支援長久存留對話的存在和高度可 用性的應用程式》
上述失誤管理程式的結合(可為可抽取式的),傳輸和傳 遞的重試及失誤和修復的模型允許對話以適用於許多環境 變化。這些變化包括,但是不局限於,策略變更(例如,訊 息私密性)、協定變更(例如’支援新安全協定)、網路拓撲 變更(例如,路由器或防火踏的增加或撤除)、改變一佈署的 應用程式以處理增加的負載(例如,導入一應用程式因地和/ 或分割),和一對話端點和聯結的狀態之重新佈署(例如,炎 害復原)。這也考慮到規模可調適的配置選擇,其包括從报 小到很大的支援。例如,對話200支援向上擴充、向外擴 充、應用程式複製或分割,再者透明於該應用程式實作。 第3圖說明對話200的生命週期和狀態3〇〇。對話200 27 1337823
可能在兩種主要狀態之其中一者,活動狀態320或非活動狀 態3 60。 如果對話200是處於活動狀態320,則對話通道 物件 220是在記憶體中,否則對話200是處於非活動狀態 360並且對話200僅存在於對話庫260中。管理系統資源 係透過去活化(Deactivati〇n)350 和重新活化 (Reactivation)340處理而發生,其能夠人工或自動地發生。 例如,如果應用程式呼叫處分,則去活化3 5 0可人工地發 生,或由於一非活動時間而自動地發生,其中某段時間流逝 於對話通道上沒交換任何訊息* 可去活化這樣的一通道(對 應的物件係從記憶體釋出),因此為其他事情釋放記憶體資 源。
如果一應用程式係從對話管理者(未示出)請求該通 道,重新活化340可人工發生,或如果為該作業階段發生一 新訊息,則重新活化340可自動地發生。在對話產生3 1 0 期間,由對話管理者指派每一對話之一唯一的識別碼(ID)。 這個識別碼係由應用程式205在一重新活化340請求時傳給 對話管理者,而對話管理者使用這個識別碼來找到該對話狀 態並且重新開始該通道《 去活化350和重新活化340的界 面讓系統限制與對話聯結的處理資源’該與對話聯結的處理 資源不主動地用來送出輸出訊息或處理引入訊息。這讓該 基礎架構利用除了那些與對話庫260聯結以外之相關資源。 並且,這個設計考慮到資源排程包括:依據優先權或資源 的可用性來安排訊息傳送;為了更有效率的傳送來分批處 理訊息;依據優先權或資源的可用性來安排訊息傳遞;及 28 1337823 為了更有效率的處理來分批傳遞訊息。 由 功能的應用程式啟始。或者,該傳訊系統係可在從 要一新對話的另一端點接收一訊息之後,啟始對話產 #在這種情沉下,該系統通知該應用裎式205關於 對話》此時應用程式20 5可呼叫在對話管理者上的 方法以接受該對話請求和致使對話產生3 1 〇 ,或者應 可呼叫在對話管理者上的一拒絕方法以拒絕該對話 對話管理者也控制拆卸330,其係為了若干原因可 °拆卸的一個原因可能是作業階段成功地完成, 方完成送出且不再有訊息保留著。拆卸33〇的另一 能是終止對話200 ,例如,應用程式呼一 Ί 終止功能 伴端點收到一終止指示。當一方終止該對話時,將 生310 表示需 生310 請求一 —接受 用程式 請求。
被啟始 即,雙 原因可 或自夥 〜訊息送到另一方以表明這情況。這個訊息的沒有可靠 性’僅是試圈告訴另一方這個對話被終止。终止意味著將 不進一步交換任何訊息於對話作業階段上。
儘管本發明的描述將這個對話定義為可由兩作業階段 鳴點夥伴·送出和接收應用程式訊息的一雙工通訊機制另_ 市範實施例包括一單純模型。根據實施例,一作業階段端 ’占僅送出應用程式訊息而不會從它的夥伴端點接收應用程 式訊息,並且該作業階段端點夥伴僅接收應用程式訊息而不 适出應用程式訊息。這些相同可組態的保證和可組態的本 地續點特性應用如在對話中。實作改變在於該送出端點處 不需要一接收緩衝器240’且在該接收端點處不需要—送出 29 1337823 缓衝器250。 在本發明+ 固内的實施例也包括電腦可讀取的媒體,其 係用以攜載或具有蚀产 开有儲存在其上之電腦可執行的指令或資料 結構。如此電腦订# 了讀取的媒體可為由一個一般用途或特殊 用途電腦存取的任 J仕何可用媒體。透過例子,而不局限性, 如此電腦可讀取的 R取的媒體可包括隨機存取記憶體 、唯讀記憶體、常^ ^ 电卞式可清除程式化唯讀記憶體(EEPROM)、 唯讀光碟或 - 可其他光碟儲存、磁碟儲存或其他磁碟儲存裝 置’或者可用央媸# >
々揭戰或以電腦可執行的指令或資料結搆形式 健存所想要的泡4 m壯 程式碼裝置之任何其他媒體,並且可由一個一 g用途或特殊用途電雎存取的任何其他媒體。t在一網路 或另it訊連線(硬體連線無線或硬體連線或無線的一 組合之任—去、μ Λ J上傳送或提供資訊至一電腦時,電腦適當地 視該連線為一雷脏 腦可讀取的媒體》因此,任何這樣的連線 恰當地稱為—常 了讀取的媒體。上述的組合也應該被包 人在電腦可讀取的媒趙範圍之内。t腦可執行的指令包 】 其使得—般用途電腦'特殊用途電腦,或特殊用 處裝置以執行-某種功能或功能組之指令和資料。
^第4囷和下面的討論意圊提供可實作本發明的一合適 十算環境之簡紐的、一般性描述。雖然不是必要但是將 以電腦可執行的指令之-般環境條件像是在網路環境中由 :腦執:的程式模組來描述本發明。⑨常,程式模組包括 仃特疋任務或執行特定抽象資料類型之常式、程式'物 件70件、資料結構,等等*電猫可執行的指令、聯結的 30 1337823 資料結構,及程式模組表示該等程式码裝置的例子,其用以 執行在這裡所揭露之方法的步驟》如此可執行的指令或聯 結的資料結構之特定序列表示對應動作的例子,其用以實作 在這樣的步驟十所描述的功能。
那些熟悉此技藝者將認知本發明可在含有許多種類塑 的電腦系統組態之網路計算環境中實施,許多種類型的電腦 系統組態包括個人電腦、掌上型裝置、多處理器系統、以微 處理器為基礎或可編程的消費者電子、網路個人電聪、迷你 型電腦、大型電腦’等等·本發明也可實施在透過一通訊 網路連結(由硬體連線連結、無線連結,或硬想連線或無線 連結的一組合之任一者)之本地和遠端處理裝置所執行任務 的分散式計算環境中。在一分散式的計算環境中,程式模 組可位於兩者本地和遠端的記憶體儲存裝置中。
關於第4圖’一用於實作本發明的一示範系統包括以習 知電腦420形式之一個一般用途計算裝置,其包括一處理單 元42 1、一系統記憶體422 ’及耦接各種系統元件含一系統 記憶體422到處理單元421之系統匯流排423。 系統匯流 排423可為幾種匯流排結構之任何種,其係包括一記德體匯 流排或記憶體控制器、一週邊匯流排,及使用許多種匯流排 架構當中之任何種的本地匯流排。系統記憶體包括唯讀記 憶體(ROM)424和隨機存取記憶體(RAM)425。 含有在電腦 内420的元件之間協助傳送資訊的基本常式之_基本輸入/ 輸出系統(BIOS)426,如在開機期間,可被儲存在ROM 424 中。 31 1337823 電腦42 0也可包括—用於從一磁性硬碟439讀取和寫入 磁硬碟機427、-用於從—可移除式磁碟片429讀取或 寫入之磁碟機428,及一用於從一可移除式光碟片43ι像是 一光碟唯讀或其他光學媒體讀取或寫入之一光碟機43〇。 磁性硬碟機427、磁碟機42 8,和光碟 硬碟驅動界面432、磁碟驅動界面433 機430係分別藉由一 ’和光碟驅動界面43 4
而連接到系統匯流排423。該等驅魴和它們所聯結之電腦 可讀取的媒體對電腦420提供電腦可讀取的指令、資料結 構'程式模组’和其他資料之非揮發性儲存。冑管在此描 述該示範環境使用一磁性硬碟439、一可移除式磁碟片429 和一可移除式光碟片43卜及其他類型電腦可讀取的媒體用 以儲存被用資料,其包括卡式磁帶、快閃記憶卡、數位多用 途影音光碟(DVD)、Bernoulli cartridges(磁帶盒)、隨機存 取記憶體、唯讀記憶體等等。 含一或更多程式模組之程式碼裝置可被儲存在硬碟 439、磁碟片429 '光碟片431、唯讀記憶體424或隨機存取
記憶艘425上,它包括一作業系,统35、_或更多應用程式 模組36、其他程式模組437和程式資料43 8。 一使用者可 透過鍵盤.440、指標裝置442,或其他輸入裝置(未示出) 像是一麥克風、控制桿、遊戲控制板、衛星碟、掃描器或 其他類似物來輸入命令和資訊到電腦42〇裡。這些和其他 輸入裝置經常透過一與系統匯流排423連接的序列埠界面 446而連接到處理單元421。或者,可由其他界面像是一 平行淳、一遊戲埠或一通用序列匯流排(USB)來連接該等 32 1337823 輪入裝置β —監視器447成另一顯示裝置也經由一界面像 是視訊配接卡4 4 8而連接到系統匯流排4 2 3。除了監視器 之外,徊人電腦一般包括其他週邊輸出裝置(未示出)像是 擴音器及印表機。
電腦420可使用邏輯連線至一或更多遠端電腦像是遠 端電腦449a和449b而作業於一連網的環境中。遠端電腦 449a和449b的每一者也許是另·-個人電腦、一伺服器' 一路由器、一網路PC、_同級裝置或其他常見的網路節點, 而一般包括上述相關於電腦420之許多或所有元件,雖然 在第4圊中僅已經說明記憶體儲存裝置45〇a和45〇b以及 它們關聯的應用程式436a和436b。在第4圖中所描繪的 邏輯連線包括在此透過例子介紹但非限制性的一區域網路 (LAN)45 1和一廣域網路(WAN)452。如此連網的環境係在 整個辦公室或整個企業之電腦網路、組織内網路和網際網 路中的平常事》
當使用於一 LAN的連網環境時,電腦420係透過一網 路界面或配接卡453而連接到在區域網路45 1β當使用於 一 WAN的連網環境時’電腦420可包括一數據機454、_ 無線連結’或用以建立通信於廣域網路452上像是網際網 路的其他裝置。可為内部或外部的數據機454係經由序 列槔界面446而連接到系統匯流排423。在一連網的環境 中’描繪相關於電腦420的程式模組或其中部分可被健存 在遠端記憶體儲存裝置中。須知所顯示的網路連接係示範 性的,可使用在廣域網路452上建立通信的其他裝置。 33 1337823 本發明可被實施於其他特定形式而沒有捧離它的精神 或基本特徵。該描述的實施例要視為在所有態樣中僅是例 示說明性並非限制。因此,本發明的範圍係由這些所附申 請專利範圍來表明而非由前面的描述。在該些申請專利範 圍均等的意義和範固之内的所有變更係涵蓋在它們的範 鳴。 【圖式簡單說明】 為了描述可獲得本發明在上面所表示法及其他的優點 和特性之方式,將藉由參考特定實施例,其在附加的囷式中 例示而顯析在上簡述的本發明之一更特別的描述。須瞭解 這些圏式僅描飧本發明的一般實施例,並非因而被視為本發 明的限制’以外加的特定性及細節經隨附的圓式運用將描述 及解說本發明,其_如下: 第1圖為根據本發明示範的實施例 > 例示用以送出及 接收訊息之可靠傳訊堆疊; 第2囷為根據本發明示範的實施例,例示一訊息配置; 第3囷為根據本發明示範的實施例,例示在一應用程 式和一傳輪之間一連結的生命遇期;及 第4囷為例示一示範的系統’其對本發明提供一合適 的作業環境。 【元件代表符號簡單說明】 l〇〇a、l〇〇b可靠傳訊堆疊105應用程式層 34 1337823 110 應用程式協定架構 115 傳送訊息或一系列訊息 120 可靠傳訊 125 可靠傳訊協定 130 傳訊協定 135 中介物 140 、1 5 0 ' 1 7 5傳訊t介物 145 、155、170傳輸層 160 、165傳輸 180 可靠傳訊架構 185 應用程式層 190 作業階段狀態(送出)緩衝器 191 訊息 192 認可訊息 195 作業階段狀態(接收)緩衝器 200 對話 205 應用程式 210 Send() 215 Re vice() 220 對話通道 235 對話狀態 240 接收緩衝器 245 接收緩衝器 250 送出緩衝器 255 訊息 260 對話庫 265 失誤 270 協定 275 訊息 280 對話訊息 285 埠 300 對話的生命週期和狀態 3 10 對話產生 320 活動狀態 330 對話拆卸 340 重新活化 350 去活化 360 1卜活動狀態 420 電腦 421 處理單元 422 系統記憶體 423 系統匯流排 424 唯讀記憶體 425 @機存取記憶體 426 基本輸入輸出系統(BIOS) 427 硬碟機 428 磁碟機
35 1337823 429 磁 碟 片 430 光 碟 43 1 光 碟 片 432 硬 碟 433 磁 碟 驅 動界面 434 光 碟 43 5 作 業 系 統 436 應 用 437 程 式 模 組 438 程 式 439 硬 碟 440 鍵 盤 442 指 標 裝 置 446 序 列 447 監 視 器 448 視 訊 449a 、 449b 遠端電腦 45 1 區 域 452 廣 域 網 路 453 網 路 機 驅動界面 驅動界面 程式 資料 埠界面 配接卡 網路 界面 4 5 4數據機 436a ' 436b記憶體儲存裝置的應用程式 460a ' 460b記憶體儲存裝置

Claims (1)

1337823 拾、申請專利範圍,:: i〆種在支援一或更多訊息傳輸之一傳訊系統中藉由 . 提供一單一開發程式(Programming)模型允許指定_或更多 端對·端(end.t〇-end)訊息傳遞保證以符合於執行時的要求 之簡化應用程式開發的方法,其與執行時所使用的一特定訊 息傳輸或些特定訊息傳輸無關’相對地指定在開發時的一特 定訊息傳輸或些特定訊息傳輸,該方法至少包含以下動作: 定義一訊息通道界面的動作,該訊息通道界面摘錄用 以交換訊息於一或更多可用的訊息傳輸上的送出及接收選 項來送出及接收一或更多訊息;及 ® 定義多個端-對-端(end-to-end)訊息傳遞保證的動作, 其係使用於一單一開發程式(Pr〇gramm彳nS)棋型之内,每一 端-對-端(end-to-end)訊息傳遞保證可被指定在執行時與可 用的該特定訊息傳輸或些特定訊息傳輸無關,而沒有指定在 開發時一或更多可用的訊急傳輸,其中上述多個端-對-端 (end-to-end)訊息傳遞保證包含至少一次訊息傳遞、至多一 次訊息傳遞、依序訊息傳遞’及訊息存留時間(time to live)
之至少一者。 2.如申請專利範圍第1項所述之方法,更包含以下一 動作= 定義多個本地可靠訊息特性的動作,其中該多個本地 可靠訊息特性的每一者可被選擇以使用於一單一開發程式 (programming)模切之内’並且該多個本地可靠訊息特性包 37 1337823 含一作業階段(session)狀態儲存、一 況息存留時間 的(transacted)訊息緩衝之至少一者。 及交易 3.如申請專利範圍第2項所述之方法,其中 段(session)狀態儲存的該本地可糞 非思特性至少 抽取式的儲存庫。 —作業階 包含一可 4.如申請專利範圍第3項所述 至少包含一氧憶體(in-memory)錄存 或一監控程序(daemon process)错存 之方法’其中該儲存庫 、磁碟上的持久性儲存 5.如申請專利範圍第4項所迷 對於指定一或更多上述定義多個端重方法,其中該儲存庫 傳遞保證的一應用程式而言係為 對-端(end-t〇-end)訊息 巧+地的· υ· «°甲萌导利範圍第 對於指定-或更多上述定義多個 其中該儲存庫 傳遞保證的-應用程式而言係為 …端(end-t0-end)訊息 艰端的0 7.如申請專利範圍第2項所述之 靠訊息特性更包含一緩衝器限額在 合下而定義出將由該系統緩衝的最大 限額限制訊息可消耗的最大空間。 方法,其中該本地可 與—最大訊息尺寸結 訊息數目,該緩衝器 38 1337823 8.如申請專利範圍第7項所述之方法,其中該本地可 靠訊息特性更包含一送出的逾時期限(timeout),其在送出 逾時期限截止之後如果要求緩衝器空間,而受制於該緩衝器 限額,不阻擋(unblock)—訊息送出功能尚未可用的。 9. 如申請專利範圍第2項所述之方法,其中該本地可 靠訊息特性更包含一緩衝器限額,在與一最大訊息尺寸結 合下而保留足夠一指定的訊息數目之緩衝器空間。
10. 如申請專利範圍第2項所述之方法,其中該本地 可靠訊息特性更包含一優先權選項,其中較高優先權訊息 的傳送(transmission)係在較低優先權訊息之前。 11. 如申請專利範圍第2項所述之方法,其中該本地 可靠訊息特性更包含一優先權選項,其中較高優先權訊息 的傳遞(delivery)係在較低優先權訊息之前。 12. 如申請專利範圍第2項所述之方法,其中無論該 作業階段狀態儲存的持久性,該交易的(transacted)訊息緩衝 之本地可靠訊息特性係可用的。 13. 如申請專利範圍第2項所述之方法,其中該本地 可靠訊息特性更包含一可組態數目,其係在一訊息被視為 無法傳遞之前有多少次訊息傳遞而後必須中止。 39 1337823 I4·如申請專利範圍第2項所述之方法,其中 徵可由一組概況檔(profile)來定義,該組概況檔給予 組之訊息組態選項,該特定組之訊息組態選項係由威 (end-to-end)訊息傳遞保證及本地特性所定義。 15· —種在支援一或更多訊息傳輸之一傳訊系 由提供一單一開發程式(programming)棋型允許指定 多端-對-端(end-to-end)訊息傳遞保證以使用在選擇 時的一特定訊息傳輪之簡化應用程式開發的方法,相 定在開發時的該特定訊息傳輸,該方法至少包含以下 摘錄一訊息通道界面的步驟,該訊息通道界面 交換訊息於一或更多訊息傳輸上; 允許一應用程式開發者以指定多個端-(end-to-end)傳遞保證之一或多者的步驟,其係使用 —開發程式(programming)模型之内,泫等指定的端 息傳遞保證要被使用於選擇一適合在執行時的訊息句 没有指定在開發時的任何訊息傳輸,其中上述多個 端(end-to-end)訊息傳遞保證包含至少—次訊息傳遞 次訊息傳遞、依序訊息傳遞,及訊息存留時間(time 之至少一者。 U,如申請專利範®第1 5項所述之方法,良包 步驟: 允許一應用程式開發者以指定多個本地可靠訊 傳訊特 -對·瑞 成更 射地指 步铒: 係用以 對·-端 於該車 -踹訊 卜输,而 端-對· 、至多 to live) 含以下 息特性 40 1337823 之一或多者的步驟,其中該多個本地可靠訊息特性的每— 者可被選擇以使用於該單一開發程式(programming)模型之 内’並且該多個本地可靠訊息特性包含一作業階段(sessi〇n) 狀態儲存、一訊息存留時間,及交易的(transacte(j)訊息緩衝 之至少一者。 17. 如申請專利範圍第16項所述之方法,其中一作業 階段(session)狀態儲存的該本地可靠訊息特性至少包含一 可抽取式的儲存庫。 18. 如申請專利範圍第17項所述之方法,其中該儲存 庫至少包含一記憶體(in-memory)儲存、磁碟上的持久性儲 存或一監控程序(daemon process)儲存。 19. 如申請專利範圍第16項所述之方法,其中該本地 可靠訊息特性更包含一緩衝器限額,在與_最大訊息尺寸 結合下而定義出將由該系統緩衝的最大訊息數目,該缓衡 器限額限制訊息可消耗的最大空間。 20. 如申請專利範圍第丨9項所述之方法,其中該本地 可靠訊息特性更包含一送出的逾時期限(time〇ut),如果已 符合該緩衝器限額,則在送出逾時期限載止之後,不阻擋 (unblock)該訊息送出功能。 1^^7823 21‘如申請專利範圍第16項所述之方法,其中該本地 可靠訊息特性更包含一優先權選項,其中傳送較高優先權 訊息係在較低優先權訊息之前。 22·如申請專利範園第16項所述之方法,其中該本地 可靠訊息特性更包含一優先權選項,其中接收較高優先權 訊息係在較低優先權訊息之前。
23.如申請專利範圍第16項所述之方法,其中無論該 作業階段狀態儲存的持久性,該交易的(transacted)訊息緩衝 之本地可靠訊息特性係可用的。 24. 如申請專利範圍第16項所述之方法,其中該本地 可靠訊息特性更包含在一訊息被視為無法傳遞之前’組態 多少次訊息傳遞而後必須中止之一方式。 25. 如申請專利範園第16項所述之方法’其中傳訊特 徵可由一組概況檔(profile)來定義,該組概況檔給予一特疋 租之訊息組態選項,該特定組之訊息組態選項係由端-對-端 (end-to-end)訊息傳遞保證及本地特性所定義。 26. —種在支援一或更多訊息傳輸之一傳訊系統中包 含一或更多攜載電腦可執行指令之電腦可讀取的媒體以實 作一簡化應用程式開發的方法之電腦程式產品,該簡化應 42 1337823 用程式開發的方法係藉由提供一單一開發程式 (programming)模型允許指定一或更多端對·端(end_t〇 end) 訊息傳遞保證以使用在選擇一執行時的一特定訊息傳輸,相 對地指定在開發時的該特定訊息傳輸,該方法至少包含以 下動作: 定義一訊息通道界面的動作,該訊息通道界面摘錄用 以交換訊息於一或更多訊息傳輸上的送出及接收選項;及 定義多個端-對-端(end-to-end)訊息傳遞保證的動作, 其係使用於一單一開發程式.(programming)模型之内,& 多個 端-對-端訊息傳遞保證要被使用於選擇一適合在執行時的 訊息傳輸,而沒有指定該適合在開發時的訊息傳輪,其中 述多個端-對-端(end-to-end)訊息傳遞保證包含至少一 + 息傳遞、至多一次訊息傳遞、依序訊息傳遞’及訊息存留時 間(time to live)之至少一者。 27. 如申請專利範圍第26項所述之電腦程式產品, 包含以下一動作: 定義多個本地可靠訊息特性的動作,其中該多個本地 可靠訊息特性的每一者可被選擇以使用於一單一開發程弋 (programming)模型之内,並且該多個本地可靠訊息特性包 含一作業階段(session)狀態儲存、一訊息存留時間,及交易 的(transacted)訊息緩衝之至少一者。 28. 如申請專利範圍第27項所述之電腦程式產品, 43 1337823 申一作業階段(session)狀態儲存的該本地可貪μ A 典訊息特性至 少包含一可抽取式的儲存庫。 29. 如申請專利範圍第28項所述之電腦程 ' 八彦品,其> 中該儲存庫至少包含一記憶趙(in-memory)儲存、磁拔 , 孫上的 持久性儲存或一監控程序(daemon process)儲存。 30. 如申請專利範圍第27項所述之電腦程式產品,其 中該本地可靠訊息特性更包含一緩衝器限額,在與—最大 訊息尺寸結合下而定義出將由該系統緩衝的最大訊息數 φ 目,該緩衝器限額限制訊息可消耗的最大空間。 31. 如申請專利範圍第30項所述之電腦程式產品,其 中該本地可靠訊息特性更包含一送出的逾時期限 (timeout) ’如果已符合該緩衝器限額’則在送出逾時期限截 止之後,不阻擋(unblock)該訊息送出功能》 3 2.如申請專利範圍第27項所述之電腦程式產品,其 中該本地可靠訊息特性更包含一優先權選項,其中傳送較 φ 高優先權訊息係在較低優先權訊息之前。 33.如申請專利範固第27項所述之電腦程式產品,其 中該本地可靠訊息特性更包含一優先權選項,其中接收較 高優先權訊息係在較低優先權訊息之前。 44 1337823 34.如申請專利範圍第27項所述之電腦程式產品,其 、 中無論該作業階段狀態儲存的持久性,該交易的(transacted) 訊息緩衝之本地可靠訊息特性係可用的β 、 35·如申請專利範圍第27項所述之電腦程式產品,其 中該本地可靠訊息特性更包含在一訊息被視為無法傳遞之 前’,组態多少次訊息傳遞而後必須中止之一方式。 36. 如申請專利範圍第27項所述之電腦程式產品,其 中傳訊特徵可由一組概況檔(pr〇file)來定義,該組概況檔給 予一特定組之訊息組態選項,該特定組之訊息組態選項係由 端-對-端(end-t〇-end)訊息傳遞保證及本地特性所定義。 37. —種在支援一或更多訊息傳輸之一傳訊系統中包 含一或更多攜載電腦可執行指令之電腦可讀取的媒體以實 作一簡化應用程式開發的方法之電腦程式產品,該簡化應 用程式開發的方法係藉由提供—單一開發程式 鲁 (programming)模型允許指定—或更多端對·端(end t〇 end) 訊息傳遞保證以使用在選擇一執行時的一特定訊息傳輸,相 , 對地指定在開發時的該特定訊息傳輸,該方法至u少包含以 下步驟: “ 摘錄一訊息通道界面的步騍,該訊息通道界面係用以 交換訊息於一或更多訊息傳輪上; 45 1337823 允許一應用程式開發者以指定多個端-對-端 (end-to-end)傳遞保證之一或多者的步驟,其係使用於該單 一開發程式(programming)模型之内,該等指定的端-對、端訊 息傳遞保證要被使用於選擇一適合在執行時的訊息傳輪,而 沒有指定在開發時的任何訊息傳輪,其中上述多個端對、 端(end-t〇-end)訊息傳遞保證包含至少一次訊息傳遞、至多 一次訊息傳遞、依序訊息傳遞,及訊息存留時間(time t〇丨“幻 之至少一者β 38·如申請專利範圍第37項所述之電腦程式產品,更 包含以下步驟: 允許一應用程式開發者以指定多個本地可靠訊息特性 之一或多者的步驊,其中該多個本地可靠訊息特性的每一 者了被選擇以使用於該單一開發程式(programming)模型之 内’並且該多個本地可靠訊息特性包含一作業階段(sessi〇n) 狀L儲存、一訊息存留時間’及交易的(transacted)訊息缓衝 之至少一者。 39‘如申請專利範圍第38項所述之電腦程式產品,其 中一作業階段(session)狀態儲存的該本地可靠訊息特性至 少包含一可抽取式的儲存庫。 40.如申請專利範圍第3 9項所述之電腦程式產品,其 中該倚存庠至少包含一記憶體(in-memory)儲存、磁碟上的 46 1337823 持久性儲存或一監控程序(daemon process)儲存。 41.如申請專利範圍第38項所述之電腦程式產品,其 中該本地可靠訊息特性更包含一緩衝器限額,在與—最大 訊息尺寸結合下而定義出將由該系統緩衝的最大訊息數 目,該缓衝器限額限制訊息可消耗的最大空間。
42.如申請專利範圍第41項所述之電腦程式產品,其 中該本地可靠訊息特性更…包含—送出的逾時期限 (timeout) ’如果已符合該缓衝器限額'則在送出逾時期限钱 止之後,不阻擋(unblock)該訊息送出功能* 43.如申請專利範圍第38項所述之電腦程式產品,其 中該本地可靠訊息特性更包含一優先權選項,其中傳送較 高優先權訊息係在較低優先權訊息之前。
44.如申請專利範圍第38項所述之電腦程式產品,其 中該本地可靠訊息特性更包含一優先權選項,其中接收較 高優先權訊息係在較低優先權訊息之前β 45.如申請專利範圍第38項所述之電腦程式產品,其 中無論該作業階段狀態儲存的持久性,該交易的(transacted) 訊息緩衝之本地可靠訊息特性係可用的。 47 1337823 46. 如申請專利範圍第38項所述之電腦程式 中該本地可靠訊息特性更包含在一訊息被視為無 前,組態多少次訊息傳遞而後必須中止之一方式 47. 如申請專利範圍第38項所述之電腦程式 中傳訊特徵可由一組概況檔(profile)來定義,該組 予一特定組之訊息組態選項,該特定組之訊息組態 端-對-端(end-to-end)訊息傳遞保證及本地特性所另 產品’其 法傳遞之 產品,其 概況檔給 選項係由 1義。
48
TW093105449A 2003-03-27 2004-03-02 Message delivery with configurable assurances and features between two endpoints TWI337823B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/401,649 US7676580B2 (en) 2003-03-27 2003-03-27 Message delivery with configurable assurances and features between two endpoints

Publications (2)

Publication Number Publication Date
TW200503487A TW200503487A (en) 2005-01-16
TWI337823B true TWI337823B (en) 2011-02-21

Family

ID=32825023

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093105449A TWI337823B (en) 2003-03-27 2004-03-02 Message delivery with configurable assurances and features between two endpoints

Country Status (19)

Country Link
US (1) US7676580B2 (zh)
EP (1) EP1463249A3 (zh)
JP (1) JP2004295895A (zh)
KR (1) KR20040086583A (zh)
CN (1) CN1534923B (zh)
AU (1) AU2004200732A1 (zh)
BR (1) BRPI0400775A (zh)
CA (1) CA2460274A1 (zh)
CO (1) CO5560092A1 (zh)
IL (1) IL160572A0 (zh)
MX (1) MXPA04002731A (zh)
MY (1) MY144262A (zh)
NO (1) NO20041261L (zh)
NZ (1) NZ531382A (zh)
PL (1) PL366440A1 (zh)
RU (1) RU2363040C2 (zh)
SG (1) SG116532A1 (zh)
TW (1) TWI337823B (zh)
ZA (1) ZA200401582B (zh)

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8144671B2 (en) 2005-07-01 2012-03-27 Twitchell Jr Robert W Communicating via nondeterministic and deterministic network routing
US7693952B2 (en) * 2003-03-27 2010-04-06 Microsoft Corporation Availability and scalability in a messaging system in a manner transparent to the application
US7966368B2 (en) * 2003-05-02 2011-06-21 Microsoft Corporation Communicating messages over transient connections in a peer-to-peer network
JP2005293370A (ja) * 2004-04-01 2005-10-20 Hitachi Ltd 記憶制御システム
US7142107B2 (en) 2004-05-27 2006-11-28 Lawrence Kates Wireless sensor unit
US7483943B2 (en) * 2004-09-21 2009-01-27 Microsoft Corporation Reliable messaging using clocks with synchronized rates
KR100663465B1 (ko) * 2004-10-08 2007-01-02 삼성전자주식회사 전송제어 프로토콜을 사용하는 데이터 네트워크에서 다중 세그먼트 복구를 위한 가상 블록 정보의 송수신 방법 및 장치
US7730196B2 (en) * 2004-12-03 2010-06-01 Microsoft Corporation Efficient transfer of messages using reliable messaging protocols for web services
US7899921B2 (en) * 2004-12-08 2011-03-01 Microsoft Corporation Verifying and maintaining connection liveliness in a reliable messaging for web services environment
US7421501B2 (en) * 2005-02-04 2008-09-02 Microsoft Corporation Queued sessions for communicating correlated messages over a network
US7474618B2 (en) * 2005-03-02 2009-01-06 Objective Interface Systems, Inc. Partitioning communication system
US8032500B2 (en) * 2005-08-22 2011-10-04 Oracle America, Inc. Dynamic sending policies and client-side disaster recovery mechanism for messaging communication
JP2007081678A (ja) * 2005-09-13 2007-03-29 Ntt Docomo Inc データ中継装置及びデータ中継方法
US7721293B2 (en) * 2005-09-21 2010-05-18 Sap Ag Web services hibernation
US7761533B2 (en) * 2005-09-21 2010-07-20 Sap Ag Standard implementation container interface for runtime processing of web services messages
US7711836B2 (en) * 2005-09-21 2010-05-04 Sap Ag Runtime execution of a reliable messaging protocol
US20070067461A1 (en) * 2005-09-21 2007-03-22 Savchenko Vladimir S Token streaming process for processing web services message body information
US7716279B2 (en) * 2005-09-21 2010-05-11 Sap Ag WS addressing protocol for web services message processing runtime framework
US7788338B2 (en) 2005-09-21 2010-08-31 Sap Ag Web services message processing runtime framework
US7606921B2 (en) * 2005-09-21 2009-10-20 Sap Ag Protocol lifecycle
US8745252B2 (en) * 2005-09-21 2014-06-03 Sap Ag Headers protocol for use within a web services message processing runtime framework
US20070081472A1 (en) * 2005-10-06 2007-04-12 Mung Chiang System for evolvable network design
US20070294584A1 (en) * 2006-04-28 2007-12-20 Microsoft Corporation Detection and isolation of data items causing computer process crashes
WO2008101756A1 (en) * 2007-02-20 2008-08-28 International Business Machines Corporation Method and system for concurrent message processing
US20080307056A1 (en) * 2007-06-07 2008-12-11 Vladimir Videlov Web Services Reliable Messaging
US8200836B2 (en) * 2007-11-16 2012-06-12 Microsoft Corporation Durable exactly once message delivery at scale
US8214847B2 (en) * 2007-11-16 2012-07-03 Microsoft Corporation Distributed messaging system with configurable assurances
US7523206B1 (en) 2008-04-07 2009-04-21 International Business Machines Corporation Method and system to dynamically apply access rules to a shared resource
WO2009140669A2 (en) 2008-05-16 2009-11-19 Terahop Networks, Inc. Securing, monitoring and tracking shipping containers
US20100008377A1 (en) * 2008-07-08 2010-01-14 International Business Machines Corporation Queue management based on message age
US8600559B2 (en) 2008-10-27 2013-12-03 Lennox Industries Inc. Method of controlling equipment in a heating, ventilation and air conditioning network
US9268345B2 (en) 2008-10-27 2016-02-23 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8255086B2 (en) 2008-10-27 2012-08-28 Lennox Industries Inc. System recovery in a heating, ventilation and air conditioning network
US8802981B2 (en) 2008-10-27 2014-08-12 Lennox Industries Inc. Flush wall mount thermostat and in-set mounting plate for a heating, ventilation and air conditioning system
US8352080B2 (en) 2008-10-27 2013-01-08 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8452456B2 (en) 2008-10-27 2013-05-28 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8463443B2 (en) 2008-10-27 2013-06-11 Lennox Industries, Inc. Memory recovery scheme and data structure in a heating, ventilation and air conditioning network
US8615326B2 (en) 2008-10-27 2013-12-24 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8564400B2 (en) 2008-10-27 2013-10-22 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8352081B2 (en) 2008-10-27 2013-01-08 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8655490B2 (en) 2008-10-27 2014-02-18 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8548630B2 (en) 2008-10-27 2013-10-01 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US9152155B2 (en) 2008-10-27 2015-10-06 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8600558B2 (en) 2008-10-27 2013-12-03 Lennox Industries Inc. System recovery in a heating, ventilation and air conditioning network
US8463442B2 (en) 2008-10-27 2013-06-11 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US8725298B2 (en) 2008-10-27 2014-05-13 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and conditioning network
US9377768B2 (en) 2008-10-27 2016-06-28 Lennox Industries Inc. Memory recovery scheme and data structure in a heating, ventilation and air conditioning network
US8774210B2 (en) 2008-10-27 2014-07-08 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8892797B2 (en) 2008-10-27 2014-11-18 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8560125B2 (en) 2008-10-27 2013-10-15 Lennox Industries Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8452906B2 (en) 2008-10-27 2013-05-28 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8437877B2 (en) 2008-10-27 2013-05-07 Lennox Industries Inc. System recovery in a heating, ventilation and air conditioning network
US8295981B2 (en) 2008-10-27 2012-10-23 Lennox Industries Inc. Device commissioning in a heating, ventilation and air conditioning network
US8239066B2 (en) 2008-10-27 2012-08-07 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8762666B2 (en) 2008-10-27 2014-06-24 Lennox Industries, Inc. Backup and restoration of operation control data in a heating, ventilation and air conditioning network
US8994539B2 (en) 2008-10-27 2015-03-31 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US8977794B2 (en) 2008-10-27 2015-03-10 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8442693B2 (en) 2008-10-27 2013-05-14 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8661165B2 (en) 2008-10-27 2014-02-25 Lennox Industries, Inc. Device abstraction system and method for a distributed architecture heating, ventilation and air conditioning system
US8543243B2 (en) 2008-10-27 2013-09-24 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8855825B2 (en) 2008-10-27 2014-10-07 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8798796B2 (en) 2008-10-27 2014-08-05 Lennox Industries Inc. General control techniques in a heating, ventilation and air conditioning network
US9325517B2 (en) 2008-10-27 2016-04-26 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US9432208B2 (en) 2008-10-27 2016-08-30 Lennox Industries Inc. Device abstraction system and method for a distributed architecture heating, ventilation and air conditioning system
US9651925B2 (en) 2008-10-27 2017-05-16 Lennox Industries Inc. System and method for zoning a distributed-architecture heating, ventilation and air conditioning network
US9261888B2 (en) 2008-10-27 2016-02-16 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8744629B2 (en) 2008-10-27 2014-06-03 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8655491B2 (en) 2008-10-27 2014-02-18 Lennox Industries Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US8874815B2 (en) 2008-10-27 2014-10-28 Lennox Industries, Inc. Communication protocol system and method for a distributed architecture heating, ventilation and air conditioning network
US9678486B2 (en) 2008-10-27 2017-06-13 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8788100B2 (en) 2008-10-27 2014-07-22 Lennox Industries Inc. System and method for zoning a distributed-architecture heating, ventilation and air conditioning network
US9632490B2 (en) 2008-10-27 2017-04-25 Lennox Industries Inc. System and method for zoning a distributed architecture heating, ventilation and air conditioning network
US8437878B2 (en) 2008-10-27 2013-05-07 Lennox Industries Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US8694164B2 (en) 2008-10-27 2014-04-08 Lennox Industries, Inc. Interactive user guidance interface for a heating, ventilation and air conditioning system
US8433446B2 (en) 2008-10-27 2013-04-30 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
JP5169761B2 (ja) * 2008-11-17 2013-03-27 富士通株式会社 電子ファイル管理システム,端末装置および電子ファイル管理プログラム
US8424024B2 (en) * 2009-03-26 2013-04-16 Digi International Inc. Application-specific serial port redirector
US7958244B2 (en) * 2009-09-25 2011-06-07 International Business Machines Corporation Imposed policies for handling instant messages
USD648642S1 (en) 2009-10-21 2011-11-15 Lennox Industries Inc. Thin cover plate for an electronic system controller
USD648641S1 (en) 2009-10-21 2011-11-15 Lennox Industries Inc. Thin cover plate for an electronic system controller
US8285775B2 (en) * 2009-10-22 2012-10-09 International Business Machines Corporation Expedited transaction failure handling by leveraging a reliable message transport protocol to assist detection of discarded processing
US8260444B2 (en) 2010-02-17 2012-09-04 Lennox Industries Inc. Auxiliary controller of a HVAC system
US8719625B2 (en) * 2010-07-22 2014-05-06 International Business Machines Corporation Method, apparatus and computer program for processing invalid data
US9264787B2 (en) 2010-11-29 2016-02-16 Rosemount Inc. Communication system for process field device
US8910182B2 (en) * 2011-05-27 2014-12-09 Microsoft Corporation Managing and simplifying distributed applications
US8806250B2 (en) 2011-09-09 2014-08-12 Microsoft Corporation Operating system management of network interface devices
US8892710B2 (en) 2011-09-09 2014-11-18 Microsoft Corporation Keep alive management
US9049660B2 (en) 2011-09-09 2015-06-02 Microsoft Technology Licensing, Llc Wake pattern management
US9047182B2 (en) 2012-12-27 2015-06-02 Microsoft Technology Licensing, Llc Message service downtime
US9742819B2 (en) * 2013-03-15 2017-08-22 Synaptive Medical (Barbados) Inc. System and method for reliable messaging between application sessions across volatile networking conditions
US9614794B2 (en) * 2013-07-11 2017-04-04 Apollo Education Group, Inc. Message consumer orchestration framework
US9454364B2 (en) 2013-07-17 2016-09-27 Accenture Global Services Limited Mobile application optimization platform
US9749280B2 (en) * 2013-09-20 2017-08-29 Oracle International Corporation Techniques for reliable messaging for an intermediary in a network communication environment
ES2930670T3 (es) * 2014-03-11 2022-12-21 Iex Group Inc Técnicas para el mecanismo de retransmisión de mensajes
US10362059B2 (en) * 2014-09-24 2019-07-23 Oracle International Corporation Proxy servers within computer subnetworks
KR102357697B1 (ko) * 2014-09-23 2022-02-08 오라클 인터내셔날 코포레이션 컴퓨터 서브네트워크들 내의 프록시 서버들
US10142273B2 (en) 2015-06-23 2018-11-27 International Business Machines Corporation Handling various scenarios where an email recipient is not available
US10333879B2 (en) 2015-08-07 2019-06-25 Satori Worldwide, Llc Scalable, real-time messaging system
US9319363B1 (en) 2015-08-07 2016-04-19 Machine Zone, Inc. Scalable, real-time messaging system
US9602455B2 (en) 2015-08-07 2017-03-21 Machine Zone, Inc. Scalable, real-time messaging system
US9407585B1 (en) 2015-08-07 2016-08-02 Machine Zone, Inc. Scalable, real-time messaging system
US9319365B1 (en) 2015-10-09 2016-04-19 Machine Zone, Inc. Systems and methods for storing and transferring message data
US9385976B1 (en) 2015-10-09 2016-07-05 Machine Zone, Inc. Systems and methods for storing message data
US9397973B1 (en) 2015-10-16 2016-07-19 Machine Zone, Inc. Systems and methods for transferring message data
CN107231284B (zh) * 2016-03-23 2020-06-05 阿里巴巴集团控股有限公司 一种消息的发送方法和终端设备
CN107231283B (zh) * 2016-03-23 2020-12-18 阿里巴巴集团控股有限公司 消息管理方法及装置、消息预读方法及装置
US9602450B1 (en) 2016-05-16 2017-03-21 Machine Zone, Inc. Maintaining persistence of a messaging system
US10404647B2 (en) 2016-06-07 2019-09-03 Satori Worldwide, Llc Message compression in scalable messaging system
US9608928B1 (en) * 2016-07-06 2017-03-28 Machine Zone, Inc. Multiple-speed message channel of messaging system
US9967203B2 (en) 2016-08-08 2018-05-08 Satori Worldwide, Llc Access control for message channels in a messaging system
US10374986B2 (en) 2016-08-23 2019-08-06 Satori Worldwide, Llc Scalable, real-time messaging system
US10305981B2 (en) 2016-08-31 2019-05-28 Satori Worldwide, Llc Data replication in scalable messaging system
US9667681B1 (en) 2016-09-23 2017-05-30 Machine Zone, Inc. Systems and methods for providing messages to multiple subscribers
US10187278B2 (en) 2017-02-24 2019-01-22 Satori Worldwide, Llc Channel management in scalable messaging system
US10270726B2 (en) 2017-02-24 2019-04-23 Satori Worldwide, Llc Selective distribution of messages in a scalable, real-time messaging system
US10447623B2 (en) 2017-02-24 2019-10-15 Satori Worldwide, Llc Data storage systems and methods using a real-time messaging system
US20230069362A1 (en) * 2021-08-27 2023-03-02 Toshiba Tec Kabushiki Kaisha Maintenance support server and maintenance system

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020004812A1 (en) 1997-06-26 2002-01-10 Tetsuro Motoyama Method and system for diagnosis and control of machines using connectionless modes having delivery monitoring and an alternate communication mode
GB2268374A (en) 1992-06-23 1994-01-05 Ibm Network addressing
US5786771A (en) 1993-02-12 1998-07-28 International Business Machines Corporation Selectable checking of message destinations in a switched parallel network
US5377350A (en) 1993-04-30 1994-12-27 International Business Machines Corporation System for cooperative communication between local object managers to provide verification for the performance of remote calls by object messages
IL111154A0 (en) 1993-10-21 1994-12-29 Martino Ii John A Systems and methods for electronic messaging
US5826269A (en) 1995-06-21 1998-10-20 Microsoft Corporation Electronic mail interface for a network server
US6339794B2 (en) 1995-12-08 2002-01-15 Microsoft Corporation Wire protocol for a media server system
GB2313524A (en) * 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US5872930A (en) 1996-07-11 1999-02-16 Microsoft Corporation Load balancing between E-mail servers within a local area network
US5870556A (en) 1996-07-12 1999-02-09 Microsoft Corporation Monitoring a messaging link
US5819272A (en) 1996-07-12 1998-10-06 Microsoft Corporation Record tracking in database replication
US5951648A (en) 1997-03-03 1999-09-14 Mylex Corporation Reliable event delivery system
US6058389A (en) 1997-10-31 2000-05-02 Oracle Corporation Apparatus and method for message queuing in a database system
US6205498B1 (en) 1998-04-01 2001-03-20 Microsoft Corporation Method and system for message transfer session management
US6446206B1 (en) 1998-04-01 2002-09-03 Microsoft Corporation Method and system for access control of a message queue
US6256634B1 (en) 1998-06-30 2001-07-03 Microsoft Corporation Method and system for purging tombstones for deleted data items in a replicated database
US6594701B1 (en) 1998-08-04 2003-07-15 Microsoft Corporation Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data
US7050432B1 (en) 1999-03-30 2006-05-23 International Busines Machines Corporation Message logging for reliable multicasting across a routing network
US7020697B1 (en) 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US6970945B1 (en) 1999-11-01 2005-11-29 Seebeyond Technology Corporation Systems and methods of message queuing
US7003571B1 (en) * 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
US7162512B1 (en) 2000-02-28 2007-01-09 Microsoft Corporation Guaranteed exactly once delivery of messages
US6772216B1 (en) * 2000-05-19 2004-08-03 Sun Microsystems, Inc. Interaction protocol for managing cross company processes among network-distributed applications
US20020123966A1 (en) 2000-06-23 2002-09-05 Luke Chu System and method for administration of network financial transaction terminals
US6980518B1 (en) * 2000-06-23 2005-12-27 International Business Machines Corporation Gossip-based reliable multicast message recovery system and method
US6816458B1 (en) * 2000-09-13 2004-11-09 Harris Corporation System and method prioritizing message packets for transmission
US20020073211A1 (en) * 2000-12-12 2002-06-13 Raymond Lin System and method for securely communicating between application servers and webservers
US6954792B2 (en) * 2001-06-29 2005-10-11 Sun Microsystems, Inc. Pluggable authentication and access control for a messaging system
US6877107B2 (en) 2001-07-05 2005-04-05 Softwired Ag Method for ensuring operation during node failures and network partitions in a clustered message passing server
US7254616B1 (en) * 2001-07-27 2007-08-07 Ciena Corporation Reliable communication mechanism with “at most once” delivery guarantee
US7631092B2 (en) 2001-10-05 2009-12-08 Bea Systems, Inc. System and method for providing a pluggable message store
US7406537B2 (en) 2002-11-26 2008-07-29 Progress Software Corporation Dynamic subscription and message routing on a topic between publishing nodes and subscribing nodes
US7162524B2 (en) 2002-06-21 2007-01-09 International Business Machines Corporation Gapless delivery and durable subscriptions in a content-based publish/subscribe system
US7720910B2 (en) 2002-07-26 2010-05-18 International Business Machines Corporation Interactive filtering electronic messages received from a publication/subscription service
US7203706B2 (en) 2002-08-01 2007-04-10 Oracle International Corporation Buffered message queue architecture for database management systems with memory optimizations and “zero copy” buffered message queue
US7181482B2 (en) 2002-08-01 2007-02-20 Oracle International Corporation Buffered message queue architecture for database management systems
WO2004036382A2 (en) 2002-10-17 2004-04-29 Tibco Software Inc. Method and system to communicate messages in a computer network
US7152180B2 (en) * 2002-12-06 2006-12-19 Ntt Docomo, Inc. Configurable reliable messaging system
US7290051B2 (en) * 2003-01-09 2007-10-30 Sun Microsystems, Inc. Method and apparatus for hardware implementation independent verification of network layers
US7693952B2 (en) 2003-03-27 2010-04-06 Microsoft Corporation Availability and scalability in a messaging system in a manner transparent to the application
US7287066B2 (en) 2003-10-31 2007-10-23 Sap Aktiengesellschaft Publish-subscribe system having a reliability mechanism
US7634583B2 (en) 2003-12-18 2009-12-15 Microsoft Corporation Systems and methods that utilize persisted push/pull state to provide reliable message publishing
GB2412762B (en) 2004-04-02 2009-01-28 Symbian Software Ltd Inter process communication in a computing device
US7483943B2 (en) 2004-09-21 2009-01-27 Microsoft Corporation Reliable messaging using clocks with synchronized rates
US7525964B2 (en) 2004-11-03 2009-04-28 International Business Machines Corporation Mechanism for delivering messages to competing consumers in a point-to-point system
US7613830B2 (en) 2004-12-10 2009-11-03 Microsoft Corporation Reliably transferring queued application messages
GB0427798D0 (en) 2004-12-18 2005-01-19 Ibm Publish/subscribe messaging system
US20060146999A1 (en) 2005-01-06 2006-07-06 Tervela, Inc. Caching engine in a messaging system
US8255455B2 (en) 2005-12-30 2012-08-28 Sap Ag Method and system for message oriented middleware virtual provider distribution
US7818417B2 (en) 2006-01-10 2010-10-19 International Business Machines Corporation Method for predicting performance of distributed stream processing systems
US20070245018A1 (en) 2006-04-12 2007-10-18 International Business Machines Corporation Dynamic access control in a content-based publish/subscribe system with delivery guarantees
US20080209007A1 (en) 2007-02-27 2008-08-28 Tekelec Methods, systems, and computer program products for accessing data associated with a plurality of similarly structured distributed databases
US8136122B2 (en) 2007-08-30 2012-03-13 Software Ag Systems and/or methods for providing feature-rich proprietary and standards-based triggers via a trigger subsystem
DE602008004570D1 (de) 2007-09-20 2011-02-24 Markport Ltd Nachrichtenübermittlung in mobilfunknetzen

Also Published As

Publication number Publication date
EP1463249A2 (en) 2004-09-29
CN1534923A (zh) 2004-10-06
ZA200401582B (en) 2004-08-31
JP2004295895A (ja) 2004-10-21
NZ531382A (en) 2005-10-28
MXPA04002731A (es) 2005-06-17
IL160572A0 (en) 2004-07-25
NO20041261L (no) 2004-09-28
CN1534923B (zh) 2012-05-30
US7676580B2 (en) 2010-03-09
SG116532A1 (en) 2005-11-28
MY144262A (en) 2011-08-29
KR20040086583A (ko) 2004-10-11
PL366440A1 (en) 2004-10-04
EP1463249A3 (en) 2006-06-07
TW200503487A (en) 2005-01-16
RU2004109131A (ru) 2005-09-10
RU2363040C2 (ru) 2009-07-27
CA2460274A1 (en) 2004-09-27
CO5560092A1 (es) 2005-09-30
US20040205781A1 (en) 2004-10-14
AU2004200732A1 (en) 2004-10-14
BRPI0400775A (pt) 2004-10-26

Similar Documents

Publication Publication Date Title
TWI337823B (en) Message delivery with configurable assurances and features between two endpoints
TWI337482B (en) Computer program product and method of improving availablity and scalability in a messaging system in a manner transparent to the application
US7698392B2 (en) Method and system for establishing a user-friendly data transfer service application executing within a heterogeneous distributed service application execution environment
US7080385B1 (en) Certified message delivery and queuing in multipoint publish/subscribe communications
US20160226718A1 (en) Reliably updating a messaging system
US7881336B2 (en) HTB gateway for healthcare transaction base
CN104205756A (zh) 并发进程执行
US8275905B2 (en) System and method for store-and-forward for highly available message production
JP3860966B2 (ja) マルチポイントパブリッシュ/サブスクライブ通信における証明付メッセージの配送およびキュー操作
JP2012529087A (ja) ユーザー定義エージェントを使用するメッセージの配信
CN113961372A (zh) 一种mq多实例消息发送方法和装置
CN105573935B (zh) 调平io
EP2715555B1 (en) Managing and simplifying distributed applications
JPH10336242A (ja) データ通信システム
NO331943B1 (no) Tilgjengelighet og skalerbarhet i et meldingssystem pa en mate som er transparent for applikasjonen.

Legal Events

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