TW466434B - Object-oriented message transmission interface used in heterogeneous area network - Google Patents

Object-oriented message transmission interface used in heterogeneous area network Download PDF

Info

Publication number
TW466434B
TW466434B TW87103433A TW87103433A TW466434B TW 466434 B TW466434 B TW 466434B TW 87103433 A TW87103433 A TW 87103433A TW 87103433 A TW87103433 A TW 87103433A TW 466434 B TW466434 B TW 466434B
Authority
TW
Taiwan
Prior art keywords
message
queue
area network
local area
transmission interface
Prior art date
Application number
TW87103433A
Other languages
Chinese (zh)
Inventor
Jia-Shiung Shen
Yu-Ming Liou
Yi-Lang Jang
Shin-Chiuan Guo
Original Assignee
Inst Information Industry
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 Inst Information Industry filed Critical Inst Information Industry
Priority to TW87103433A priority Critical patent/TW466434B/en
Application granted granted Critical
Publication of TW466434B publication Critical patent/TW466434B/en

Links

Abstract

The invention relates to an object-oriented message transmission interface used in heterogeneous area network, in which an application system communicates with a kernel in the network including several nodes to transmit a message. Each node includes a message queue manager (MQM) composed of several outbound queues and several inbound queues, in which message is written to the outbound queue and read from the inbound queue so as to communicate with the application system; and a forwarding message system (FMS), which is electrically connected to the MQM and is composed of several outbound threads and several inbound threads. The outbound thread corresponds to the outbound queue and communicates with the kernel by means of reading the message from the outbound queue with the outbound thread and writing the message to the inbound queue with the inbound thread.

Description

466434 A7 B7 五、發明説明() 訊息傳輸是在區域網路上各個節點之應用程式互相 溝通最常用的方法,不過一般的做法是直接叫用傳輸控制 通訊協定(TCP)或使用者資料封包通訊協定(User Datagram Protocal,UDP)作訊息的送與收,接收訊息 的應用程式再用切換敍述(switch statement)根據訊 息的種類分別去處理訊息。這種做法的缺點如下: (1)可再用性差 直接叫用TCP或UDP的結果,使得開發新的區域網路 上的應用程式時,又得把這一段程式重寫一遍。 (2 )不易維護 用switch statement根據訊息的種類分別去處理 訊息’當訊息的種類一多,程式變得魔大不易讀,更嚴重 的是,增加新的訊息種類便得修改此段程式以及宣告訊息 種類的前置標(header file),增加維護的困難。 (3)缺乏彈性 當區域網路的配置需要更動,例如節點由兩個變成 三個或更改節點的網際網路通訊協定(ip)位址等,就得 更改上述做法的程式碼;另外當區域網路上的應用程式夠 複雜,訊息也夠多,此時想利用程序多工(mu丨t i_ process)或執行緒多工(multi-thread)分別處理不同 性質的訊息,就無法使用上述的做法,除非作大幅度的修 改0 為改善習用之缺失,是以提出本案『用在異質區域 網路之物件導向式訊息傳輸界面』,其中更包含一自動執 行程序。 2 (CNS ) A4規格(210X297公釐了 ti··:.. : I I I - - - -- i I -I - — — I—ψ 4° (請先聞讀背面之注^κ項再填寫本頁) 經濟部中央標率局®:工消費合作社印Μ 466434 A7 B7 五、發明説明( 經濟部中央標準局員工消費合作社印製 、本案的目的在於提供一個再用性高、使 =性高之網料輸界面;其次,更提供—自動執彳亍程 提高應用系統設計之便利性。簡要說明如下·案用Λ異質區域網路之物件 :二干節點的網路中,使-應用系統盘 一核心(kernel)進行通訊,以傳遞—訊息,其 黜 係包含:-訊息仔列管㈣(顧),係由料外向 (queue)與若干内向佇列組成,而藉由將該訊息寫至該外 向仔列及將該訊息自該内向㈣讀出,以與該應用系統通 訊;以及-訊息收發器(FMS),係電連接至該訊息 理器(MQM),由若干外向執行緒(thread)與若干内向執 行緒組成,該外向執行緒係對應至該外向佇列,藉由該外 向執行緒自該外向佇列讀取該訊息及該内向執緒將該訊息 寫至該内向佇列,以與該核心通訊。 〜 如所述之用在異質區域網路之物件導向式訊息傳輸 界面,其中該網路係為一區域網路。當然,其中該外向仔 列之個數係等於該區域網路的節點數,該内向佇列係由該 應用系統定義。該内向執行緒之個數係等於該區域網路除 了本身外的節點數。 如所述之用在異質區域網路之物件導向式訊息傳輸 界面,其中該内向執行緒之一係不經該網路,而直接藉該 訊息收發器(FMS)將該訊息傳送至該節點本身。 如所述之用在異質區域網路之物件導向式訊息傳輸 界面,其中該訊息收發器(FMS)係為一物件(Object), 負貴由該外向佇列取出訊息送至該網路,以及由網路接收 諳 先 閱 背 面 之 注 意 事 項 再 裝 頁 訂 本紙張尺度通财@邮料(CNS )从胁(21Gx 297公發) --—--- 46643 4 A7 B7 五、發明説明( 經濟部中央標準局貝工消費合作社印掣 訊息放到該内向佇列,該訊息收發器(FJJS)更包含若干傳 輸連接(TCPConnect)物件,每一傳輸連接物件各用該執 行緒之一以透過一受訊(Socket)物件執行其任務。 如所述之用在異質區域網路之物件導向式訊息傳輸 界面’其中該訊息仲列管理器係為一物件,用以維護該外 向件列與該内向佇列,更為該訊息提供一共用記憶體管理 CSyncBuddy)物件以及一解決訊息跨程序(process)問 題(Persist)物件。 如所述之用在異質區域網路之物件導向式訊息傳輸 界面,其中該共用記憶體管理(SyncBuddy)物件係繼承 自一 Buddy物件。 如所述之用在異質區域網路之物件導向式訊息傳輸 界面’其中該内向佇列及該外向佇列係為一同步佇列 (SyncQueue)物件,繼承自一佇列(Queue)物件,再利 用一Mutex物件與一c〇ndVar物件以解決同步的問題。 如所述之用在異質區域網路之物件導向式訊息傳輸 界面’其中更包含:一根訊息(RootMsg)物件,使用者 足義之訊息係繼承自該{^〇〇1^32物件,而該R〇〇tMsg物件 係繼承自一沒有資料成員(data member),只有虛擬法 則(virtual method)的虛擬物件(peudoRootMsg); 以及一系統資訊(Sys lnf0)物件,係電連接至該根訊息 其包含一描述各個節點資訊的Node Info物件與一描述該 應用系統各個程序(Process)資訊的ProcInf 〇物件。 如所述之用在異質區域網路之物件導向式訊息傳輸 界面,其中節點資訊物件係包含有一 I P位址與一屬於該 f請先閲讀背面之注意事項再填¢¢-本頁) 裝 -訂 -髮. 經濟部中央標孪局貝工消費合作社印製 466434 A7 ______ _B7___________ 五、發明説明() 節點的程序(process)名稱;該程序(Process)資訊主 要内容係包含一執行該程序(process)的指令名稱,一 指令所在的路徑,與一或多個該程序(process)會使用 的内向佇列名稱。 一種用於異質區域網路之物件導向式訊息傳輸界面 之執行自動化程序,其包含下列步驟:輸入一系統初始檔 (sys. ini),藉文法剖析(Parser)以產生一系統定義檔 (sysdefs.h)與一系統資訊樓(sysinfo.mmf);輸入一 訊息初始檔(msg.ini ),藉文法剖析及编碼(code)以產 生一訊息定義檔(msgdefs.h)與一”*msg.h”檔;以及輸 入該訊息定義樓(msgdefs.h),藉編碼(code)以產生一 ’’Message.h”檔與一” Persist.h,’檔。 如所述之用在異質區域網路之物件導向式訊息傳輸 界面之執行自動化程序,其中該”*msg.h”檔係代表個別 訊息的前置檔(header file)。 本案得藉由下列圖式及詳細説明,俾得一更深入之 了解: 圖一·典型的STREAM以及以TCP為例的STREAM。 圖二:本案擴充STREAM後之架構示意圖。 圖三:在包含三個節點的區域網路中,以節點三為 例之收送示意圖。 圖四:本案之邏輯觀念圖。 圖五:本案靜態觀念結構。 圖六:本案實體觀念結構。 圖七:本案實體觀念結構之process view。 ’ (讀先閱讀背面之注意事項再填寫本頁) 裝· % 466434 A7 _________B7_ 五、發明説明() 圖八:系統配置檔案自動化處理程序。 圖九:系統訊息檔案自動化處理程序。 以上圖式之主要構件如下: 11 :訊息傳遞頭。 12 :驅動端。 13 : —對佇列。 14 :傳輸控制通訊協定(TCP)。 15 :網際網路通訊協定(ip)。 21 :訊息佇列管理器(MQM)。 22 :訊息收發器(FMS)。 OBx :外向仔列。 IBx :内向佇列。 OBTx :外向執行绪。 IBTx :内向執行緒。 經濟部中央標準局—工消費合作社印製 ---------裝---I---訂 (誚先聞讀背面之注意事項再填寫本頁) 本發明利用物件導向的特性與程式自動生產 (automatic code generation)的技巧,並且將 Dennis Ritchie發明之STREAM機制從核心面(kernel space)往外擴充到使用者面(user· Space),才得到這 種以宣告方式代替寫程式既簡單又實用的訊息傳輸機制。 圖一左圖是典型的STREAM,圖一右圖是以TCP為例的 STREAM架構,圖二是本發明將其擴充後的架構是意圖。 圖一左圖説明一個典型的STREAM包括資訊傳遞頭 11 (s t r e a m h e a d),驅動端 12 (d r i v e r e n d ),與在它 們之間的零或多個模組(module)。stream head提供與 應用系統的介面,d r i v e r e n d直接與設備(d e v i c e)溝 本紙浪尺度適用中國國家橾準(CNS ) A4規格(2I0X 297公釐) 466434 A7 B7 五、發明説明() 通,module用來處理中間過程的資料。每一個module包含 一對佇列13--讀佇列(queue)與寫佇列,stream head與 driver end也都包含一對佇列,寫佇列(write queue)將訊 息往下由應用程式傳送到driver end,讀许列(read queue )反向將訊息往上由driver end傳送到應用程式,中 間的inodu 1 e也可以產生其它訊息往下或往上傳送。圖一 右圖在stream head與driver end之間插入TCP1 4與IP15兩個 module。其中驅動端通常為一區域網路(如乙太網路等)。 圖二在user space加一個訊息作列管理器 21(Message Queue Manager,MQM) module,訊息佇 列管理器21 (MQM)代替stream head提供與應用系統的 介面,訊息佇列管理器21(MQM)同時管理維護兩類佇列--外向佇列與内向佇列,外向佇列相當於寫佇列,内向佇 列相當於讀佇列。外向佇列的個數等於區域網路上節點的 個數,應用系統定義用來接收訊息之佇列屬於内向佇列, 因此内向佇列的個數會因應用系統定義之佇列的多寡而有 所不同。訊息收發器22(FaciUty Message Service’FMS)是一個包含多個執行緒(thread)的 process,在user space負責訊息的虛擬收送,也是與 kernel space之stream “以溝通的唯一介面。每二 個外向件列對應-個外向執行緒,負責由外向传列取出訊 息以便將訊息送出;内向執行緒負貴接收其它節點傳來的 訊息’接到後將訊息放到内向待列,因此除了自己以外網 路上有幾個節點就會有幾個内向執行緒(thread)。 圖二是-個包含三個節點之區域網路其中節點三的 7 CNS ) ( 210x297^^ ) HI— HI n^i. I— i —^K ^^^1 *^—^1TJ "e (讀先閏讀背面之注意事項再填寫本頁) 經濟部中央標準局負工消費合作社印製 經漓部中央標莩局貝工消費合作社印製 46643 4 at B7 五、發明説明() 訊息收送示意圖,節點三除了訊息收發器(FMS) process外,尚有應用系統的五個process SERI, .USER5 ;訊息佇列管理器(MQM)有三個外向梓列 (〇Β1,〇Β2,ΟΒ3),其中0B1的訊息要送到節點一,那2送 到節點二,0B3送給自己,亦即0B3的訊息不經過網路直 接藉 FMS 作 IPC( Inter Process Communication), 三個節點的process定義的内向佇列(IB1. , IB7)有七 個,其中屬於節點三的只有IB3,IB4,與IB5 ;對應於 其它節點,FMS會產生一個外向執行緒(0BT)與一個内向 執行緒(IBT ),例如對應節點一,一定有外向執行緒 (0BT1)與内向執行緒(IBT1),0BT1負貴將0B1的訊息送 到節點一,I BT 1負貴接收由節點一送來的訊息並且將訊 息放到訊息指定的内向抒列,對應於節點三自己只有外向 執行緒0BT3,負責對0B3的訊息作IPC。圖三的例子中, USER1透過訊息佇列管理器(MQM)將訊息送到節點一與節 點二;USER3將訊息送給USER2,USER2從該訊息指定的 内向佇列IB3接收訊息;USER4指定由IB4接收由節點一 或節點二送來的訊息。 以下分別使用Alan Bur ns的四個觀點説明本案的架 構 硬體 •邏輯觀點説明設計本案的物件模型。 •靜態觀點説明本案軟體的組織結構。 •動態觀點説明設計時併行與同步的問題。 •實體觀點用分散式的觀點説明如何將軟體映射至 表紙張尺度適用 fmtm- { cks ) am (210x297^1 請 先 聞 讀 背 面 意 事 項 再 填 寫 本 頁 裝 訂 經濟部中央標率局員工消費合作社印聚 4 6 6 4 3 4 A7 __________B7 五、發明説明() 邏輯觀點之架構 本案邏輯觀點之架構如圖四所示,主要有四種 (class)分説明如下: • FMS物件負f由外向传列取出訊息送到網路,或由網 路接收訊息放到内向佇列,當應用系統共有N個節點,針 對自己以外的節點,每—個節點各需要一個傳輸連接 (TCPConnect)物件從事網路接收與分送訊息的作業,因 此FMS就需要用到2*(N-1)個TCPConnection物件。每 一個TCPConnection各自用一個執行緒透過受訊 (Socket)物件執行它的任務,因此FMS至少要用到 2木(N-1)個執行緒物件。 訊息佇列管理器(M Q Μ)物件管理維護外向佇列與内向 佇列並且是所有的process存取這些佇列的唯一窗口。當 應用系統共有N個節點,訊息佇列管理器(mqm)管理N個外 向抒列與所有應用系統(A P)定義的内向仔列,另外就是 為訊息提供共用記憶體管理(S y n c B u d d y )物件以及用來 解決訊息跨process問題的Persist物件。訊息佇列管理 器(MQM)管理的外向佇列與内向佇列都是同步仔列物件 SyncQueue,同步佇列物件繼承自Buddy物件,再利用 Mutex物件解決同步的問題。 根訊息(RootMsg)物件是訊息的源頭,所有訊息都 直接間接繼承自Root Msg物件。為了解決不同的編譯器 (comp i 1 er )可能對同一個訊息物件在記憶體會有不同的 配置(layout),RootMsg繼承自一個沒有資料成員 (data member)只有虚擬法則(virtua丨method)的虛 本紙張尺度適用中国國家標準(CNS ) A4規格(210X 297公釐) ----------裝------ix------d.. (諳先聞讀背面之注意事項再填寫本頁) 經滴部中央椋準局員工消費合作社印製 466434 A7 ___B7_ 五、發明说明() 擬物件PeudoRootMsg。 系統資訊(SysInfo)物件根據系統配置檔案描述整 個系統的配置,包含描述各個節點資訊的Nodeinfo物件 與描述各個process資訊的Proclnfo物件,當系統有群 组時,尚包含描述各個群組資訊的Grouplnfo物件。群 組資訊描述屬於該群組的節點名稱;節點資訊主要的内容 有IP的位址與屬於該節點的process名稱;process資 訊主要的内容有執行該process的指令名稱、指令所在 的路徑,與該process會使用的内向佇列名稱。Sys〖nfo 物件是外界詢問系統配置資訊的唯一窗口。 靜態觀點之架構 本案分成四個層次,每一層所屬的物件如圖五與 示。最底層是直接使用作業系統1 ibrary的作業系統層, 目前使用的作業系統為NT與So 1 ar i s,硬體可以使用PC 或SUN工作站。 第二層是與作業系統無關的基本物件,有些物件例 如 Queue、Buddy、Syslnfo、Persist等使用的 library 是ANSI-C,它們的code在NT與Solaris 是一 樣的。但是像Thread、Mutex、CondVar、Shm等,就必 須藉由 bridge、abstract factory ' 與singleton三 種design pattern,將它們作成與作業系統無關的物 件,如此可將到處散置的iiifdef NT、#ifdef SOLARIS全部縮減集中到abstract factory内。 第三層是應用系統介面層次,本層次的物件是由基 本物件組合而成,以便提供應用系統最簡易的使用介面。 _ __10 本紙張尺度適用中國國家標隼(CNS M4規格(21〇Χ297公釐) ' --------装------ir------^ (讀先聞讀背面之注意事項再填寫本頁) A7 4 6 6 A 3^- B7 五、發明説明() 例如T C P C ο η n e c t i ο η利用S 〇 c k e t組合而成;訊息待列管 理器(MQM)由SyncQueue與SyncBuddy組合而成,而 SyncQueue由 Queue、Mutex與 CondVar組合而成, SyncBuddy 由 Buddy 與Mutex 組合而成。 第四層是應用系統層次,此層只提供FMS物件,它透 過TCPConnection與訊息佇列管理器(MQM)提供的 service ,以及利用Thread讓訊息可以在網路上各個節 點之間流通。而其它process定義的物件全部屬於這一 層,他們只要透過訊息佇列管理器(MQM)提供的 serv i ce ’便可以完成訊息的收送以及收到訊息後的處 理。 動態觀點之架構 由於SyncQueue與SyncBuddy是同一個節點各個 process共用的資源,下列幾種情形會產生併行控制的問 題: (1) 當應用系統(AP)將訊息放到外向佇列的同時, 對應此外向佇列之FMS執行緒也可能要從外向佇列拿出訊 息0 (2) 當一個節點有不只一個AP,而且這幾個Ap正好 同時要將訊息送往一個節點時,亦即搶著將訊息放到該節 點對應的外向仲列。 (3) 第一個情況AP在跟SyncBuddy要記憶體的同 時,可能FMS執行緒要將記憶體還給巧“此化丫。 (4) 第二個情況同時有幾個a p跟s y n c B u d 體。 P己隐 -----... n 本紙張尺度適用中國國家標準(CNS ) A4規格(2】OX 297公釐) (請先閱讀背面之注意事項再填寫本頁) -裝· 訂 經濟部中央標率局員工消費合作社印掣 4 6 6 4 3 4 經濟部中央標準局員工消費合作社印聚 A7 B7 五、發明説明() (5) 當AP要從内向佇列拿出訊息的同時,對應此内向 佇列之FMS執行緒也可能要將訊息放到内向佇列。 (6) 當一個節點有不只_個Ap,而且這幾個Ap正好 同時要從同一個内向佇列拿出訊息。 (7) 第五個情況AP要將記憶體還給SyncBuddy的同 時,可能FMS執行緒正在要跟SyncBU(jdy要記憶體。 (8) 第六個情況同時有幾個Ap有將記憶體還給 SyncBuddy 0 综合上述分析,我們知道只要每一個SyncQueue與466434 A7 B7 V. Description of the invention () Message transmission is the most commonly used method to communicate with each other's application programs on the local network, but the general method is to directly call the Transmission Control Protocol (TCP) or User Data Packet Communication Protocol (User Datagram Protocal, UDP) is used to send and receive messages, and the application that receives the message uses a switch statement to process the message separately according to the type of message. The disadvantages of this approach are as follows: (1) Poor reusability The result of directly invoking TCP or UDP makes it necessary to rewrite this program when developing a new application on a local area network. (2) It is not easy to maintain. Use switch statements to process messages according to the type of message. 'When there are many types of messages, the program becomes magical and difficult to read. What's more, adding new types of messages requires modifying this program and declaring it. The header file of the message type increases the difficulty of maintenance. (3) Lack of flexibility When the configuration of the local network needs to be changed, for example, the node changes from two to three or the Internet Protocol (IP) address of the node is changed, the code of the above practice must be changed; The application on the network is complicated enough and there are enough messages. At this time, if you want to use the process mu (multi-thread) or multi-thread (multi-thread) to process different types of messages, you cannot use the above method. Unless a major change is made to improve the lack of practice, this case is the "object-oriented message transmission interface used in heterogeneous area networks", which also includes an automatic execution process. 2 (CNS) A4 specification (210X297 mm ti · :: ..: III----i I -I----I-ψ 4 ° (Please read the note ^ κ on the back before filling in this Page) Central Standards Bureau of the Ministry of Economic Affairs®: Printed by the Industrial and Consumer Cooperatives 466434 A7 B7 V. Description of the Invention (Printed by the Consumers' Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs, the purpose of this case is to provide a highly reusable, high-quality Network material delivery interface; Secondly, it also provides-automatic execution process to improve the convenience of application system design. Brief description is as follows: Λ heterogeneous local area network objects: the network of the two dry nodes, the application system disk A kernel communicates with each other to deliver a message. The system includes:-Message queue management (Gu), which consists of a queue and a number of inward queues. By writing the message to The outward-facing queue and the message are read from the inward-facing frame to communicate with the application system; and-the message transceiver (FMS), which is electrically connected to the message manager (MQM), is composed of a number of outward-oriented threads (threads) ) Is composed of a number of inward threads that correspond to the outward The inbound thread reads the message from the outbound queue and the inbound thread writes the message to the inbound queue to communicate with the core. ~ As described above, it is used in a heterogeneous local area network. An object-oriented message transmission interface, where the network is a local area network. Of course, the number of outward-facing queues is equal to the number of nodes in the local network, and the inbound queue is defined by the application system. The The number of inward threads is equal to the number of nodes in the local area network other than itself. The object-oriented message transmission interface used in the heterogeneous local area network as described, wherein one of the inward threads does not pass through the network. , And directly send the message to the node itself through the message transceiver (FMS). The object-oriented message transmission interface used in the heterogeneous area network as described, wherein the message transceiver (FMS) is an object (Object), take the message from the outside queue to the network, and receive it from the network. Read the precautions on the back first and then bind the page. Paper size 通 财 @ 邮 料 (CNS) 从 卫 (21Gx 297 Send) ------ 46643 4 A7 B7 V. Description of the Invention (The message printed by the Central Standards Bureau of the Ministry of Economic Affairs, the Shellfish Consumer Cooperative, is placed in the inbound queue, and the message transceiver (FJJS) also includes several transmission connections (TCPConnect ) Object, each transmission connection object uses one of the threads to perform its task through a socket object. The object-oriented message transmission interface used in a heterogeneous local area network as described above, wherein the message is The row manager is an object that is used to maintain the outbound rows and the inbound queues. It also provides a shared memory management CSyncBuddy object and a Persist object to solve the message process problem. The object-oriented message transmission interface used in the heterogeneous local area network as described, wherein the shared memory management (SyncBuddy) object is inherited from a Buddy object. The object-oriented message transmission interface used in a heterogeneous local area network as described above, wherein the inbound queue and the outbound queue are a SyncQueue object, inherited from a Queue object, and then A Mutex object and a CondVar object are used to solve the synchronization problem. The object-oriented message transmission interface used in the heterogeneous local area network as described above further includes: a message (RootMsg) object, and the user's message is inherited from the {^ 〇〇1 ^ 32 object, and the The R〇〇tMsg object is inherited from a virtual object (peudoRootMsg) without a data member, only a virtual method; and a system information (Sys lnf0) object, which is electrically connected to the root message which contains A Node Info object describing the information of each node and a ProcInf object describing the information of each process of the application system. As mentioned in the object-oriented message transmission interface used in heterogeneous local area networks, the node information object contains an IP address and a file belonging to the f. Please read the precautions on the back before filling this page. Order-Distribution. Printed by the Central Bureau of Standards, Ministry of Economic Affairs, Shellfish Consumer Cooperative, 466434 A7 ______ _B7___________ V. Description of the Invention () The name of the process of the node; the main content of the process information includes the execution of the process. ) Instruction name, the path where an instruction is located, and one or more inbound queue names that the process (process) will use. An execution automation process for an object-oriented message transmission interface for a heterogeneous local area network, including the following steps: inputting a system initial file (sys.ini), parsing (Parser) to generate a system definition file (sysdefs. h) and a system information building (sysinfo.mmf); input a message initial file (msg.ini), parse and encode (code) to generate a message definition file (msgdefs.h) and a "* msg. h "file; and enter the message definition building (msgdefs.h) to generate a" Message.h "file and a" Persist.h, "file by code. As mentioned, the object-oriented message transmission interface used in the heterogeneous local area network executes the automation process, where the "* msg.h" file represents the header file of the individual message. In this case, we can gain a deeper understanding through the following diagrams and detailed descriptions: Figure 1. Typical STREAM and STREAM using TCP as an example. Figure 2: Schematic diagram of STREAM after the expansion of this case. Figure 3: In a local area network with three nodes, the receiving and sending diagram is taken as an example of node three. Figure 4: The logical concept of the case. Figure 5: The static conceptual structure of the case. Figure 6: Conceptual structure of the entity in this case. Figure 7: Process view of the conceptual structure of the entity in this case. ’(Read the precautions on the back before filling in this page) Installation ·% 466434 A7 _________B7_ V. Description of the invention () Figure 8: System configuration file automatic processing program. Figure 9: System message file automation process. The main components of the above diagram are as follows: 11: Message transmission header. 12: Drive side. 13: — Confrontation. 14: Transmission Control Protocol (TCP). 15: Internet Protocol (IP). 21: Message queue manager (MQM). 22: Message Transceiver (FMS). OBx: outward-bounded. IBx: Inward queue. OBTx: outgoing threads. IBTx: Inward Thread. Printed by the Central Bureau of Standards of the Ministry of Economic Affairs—Consumer and Cooperative Cooperatives ------------ Installation --- I --- Order (诮 Please read the precautions on the back before filling out this page) The present invention utilizes object-oriented features And automatic code generation techniques, and extended the STREAM mechanism invented by Dennis Ritchie from the kernel space (kernel space) to the user space (user · Space), and got this kind of declaration instead of writing programs. Simple and practical message transmission mechanism. The left diagram in Figure 1 is a typical STREAM, the right diagram in Figure 1 is a STREAM architecture using TCP as an example, and Figure 2 is the intention of the present invention to expand the architecture. Figure 1 on the left illustrates a typical STREAM including information transmission head 11 (str e a m h e a d), driver 12 (d r i v e r en d), and zero or more modules between them. Stream head provides the interface with the application system. The driverend directly communicates with the device (device). The standard for Chinese paper (CNS) A4 (2I0X 297 mm) 466434 A7 B7. 5. Description of the invention (), the module is used to Handle intermediate data. Each module contains a pair of queues 13--read queue and write queue, stream head and driver end also contain a pair of queues, and write queues send messages down by the application At the driver end, the read queue (read queue) reversely sends the message up from the driver end to the application. The inodu 1 e in the middle can also generate other messages to send down or up. Figure 1. The right figure inserts TCP1 4 and IP15 modules between the stream head and driver end. The driver is usually a local area network (such as Ethernet). Figure 2 Adds a message as a queue manager 21 (MQM) module in the user space. The message queue manager 21 (MQM) provides the interface with the application system instead of the stream head. The message queue manager 21 (MQM) Simultaneously manage and maintain two types of queues-outward queues and inward queues. Outward queues are equivalent to writing queues, and inward queues are equivalent to reading queues. The number of outbound queues is equal to the number of nodes on the local network. The queue defined by the application system to receive messages is an inbound queue. Therefore, the number of inbound queues will vary depending on the number of queues defined by the application system. different. Message Transceiver 22 (FaciUty Message Service'FMS) is a process containing multiple threads. It is responsible for the virtual sending and receiving of messages in the user space. It is also the only interface for communicating with the kernel space stream. Every two Outbound threads correspond to an outward thread, which is responsible for fetching messages from the outbound queue to send the messages out; inward threads receive messages from other nodes. 'After receiving, put the message into the inward queue, so except for yourself If there are several nodes on the network, there will be several inward threads. Figure 2 is a three-node regional network (7 CNS of node three) (210x297 ^^) HI— HI n ^ i. I— i — ^ K ^^^ 1 * ^ — ^ 1TJ " e (read the precautions on the back before filling out this page) Printed by the Central Standards Bureau of the Ministry of Economic Affairs Printed by Beigong Consumer Cooperative 46463 4 at B7 V. Description of the invention () Message sending schematic diagram, in addition to the message transceiver (FMS) process, node 3 has five process SERI, .USER5 application systems; message queue management (MQM) has three external Xiang Zilie (〇Β1, 〇Β2, 〇Β3), where the message of 0B1 is sent to node 1, then 2 is sent to node 2, 0B3 is sent to itself, that is, the message of 0B3 directly borrows FMS for IPC without going through the network ( Inter Process Communication), there are seven inbound queues (IB1., IB7) defined by the process of three nodes, of which only three are IB3, IB4, and IB5; corresponding to other nodes, FMS will generate an outward thread (0BT) and an inward thread (IBT), for example, corresponding to node 1, there must be an outward thread (0BT1) and an inward thread (IBT1), 0BT1 will send the message of 0B1 to node 1, and I BT 1 will cost you Receives the message sent by node one and puts the message in the inward queue designated by the message. Corresponding to node three, it has only an outward thread 0BT3, which is responsible for IPC of 0B3's message. In the example in Figure 3, USER1 queues through the message. The manager (MQM) sends the message to node one and node two; USER3 sends the message to USER2, and USER2 receives the message from the inbound queue IB3 specified by the message; USER4 specifies that IB4 receives the message sent by node one or node two The following are respectively Use Alan Burns's four viewpoints to explain the architecture of the case. • Logical viewpoints explain the object model for designing the case. • Static viewpoints explain the organizational structure of the software of the case. • Dynamic viewpoints explain the parallel and synchronous issues during design. • Entity perspective Use a decentralized perspective to explain how to map the software to the paper size. Applicable fmtm- {cks) am (210x297 ^ 1 Please read the notice on the back before filling out this page. Ju 4 6 6 4 3 4 A7 __________B7 V. Description of the invention () The structure of the logical view The structure of the logical view of this case is shown in Figure 4. There are four main types of class descriptions: • The negative f of the FMS object is passed outward. Take out the message to the network, or receive the message from the network and put it in the inbound queue. When the application system has a total of N nodes, for each node other than itself, each node needs a TCPConnect object for network reception. And the operation of distributing messages, FMS needs to use 2 * (N-1) TCPConnection objects. Each TCPConnection uses a thread to perform its task through the socket object, so FMS needs to use at least 2 thread (N-1) thread objects. Message queue manager (MQM) object management maintains outbound queues and inbound queues and is accessed by all processes The only window. When the application system has N nodes, the message queue manager (mqm) manages N outbound queues and inbound queues defined by all application systems (AP). In addition, it provides shared memory management for messages (S ync Buddy) objects and Persist objects used to solve the problem of cross-process messages. Outbound queues and inbound queues managed by the Message Queue Manager (MQM) are synchronization queue objects SyncQueue, and the synchronization queue objects inherit from the Buddy object , And then use the Mutex object to solve the synchronization problem. The root message (RootMsg) object is the source of the message, and all messages are directly and indirectly inherited from the Root Msg object. In order to solve the problem, different compilers (comp i 1 er) may use the same message object. There will be different layouts in the memory. RootMsg inherits from a virtual paper with no data member and only virtual law (virtua 丨 method). The paper size applies the Chinese National Standard (CNS) A4 specification (210X 297 mm). ---------- Equipment ------ ix ------ d .. (谙 Please read the notes on the back before filling this page) Printed by the agency 466434 A7 ___B7_ V. Description of the invention () Prototype object PeudoRootMsg. The system information (SysInfo) object describes the overall system configuration according to the system configuration file, including the Nodeinfo object describing each node information and the Proclnfo object describing each process information. When the system has groups, it also contains Grouplnfo objects describing the information of each group. The group information describes the name of the node that belongs to the group. The main content of the node information is the IP address and the name of the process that belongs to the node. The main content of the process information includes the name of the instruction that executes the process, the path where the instruction is located, and the The inbound queue name that the process will use. The Sysnfo object is the only window for the outside world to ask for system configuration information. The structure of the static view This case is divided into four levels, and the objects belonging to each level are shown in Figure 5. The bottom layer is the operating system layer that directly uses the operating system 1 ibrary. The operating systems currently used are NT and So 1 ar s. The hardware can use PC or SUN workstations. The second layer is the basic objects that have nothing to do with the operating system. Some objects, such as Queue, Buddy, Syslnfo, Persist, etc., use ANSI-C. Their code is the same in NT and Solaris. But like Thread, Mutex, CondVar, Shm, etc., you must use bridge, abstract factory 'and singleton three design patterns to make them objects that are not related to the operating system. In this way, all iiifdef NT, #ifdef SOLARIS scattered all over The reduction is concentrated in the abstract factory. The third layer is the application system interface level. The objects in this level are composed of basic objects in order to provide the easiest interface for the application system. _ __10 This paper size applies to the Chinese national standard (CNS M4 specification (21〇 × 297 mm) '' ---------------------------- Note on the back, please fill out this page again) A7 4 6 6 A 3 ^-B7 V. Description of the invention () For example, TCPC ο η necti ο η is combined with S 〇cket; the message queue manager (MQM) is created by SyncQueue and SyncBuddy is combined, SyncQueue is combined by Queue, Mutex, and CondVar, and SyncBuddy is combined by Buddy and Mutex. The fourth layer is the application system level. This layer only provides FMS objects. It uses TCPConnection and the message queue manager. (MQM) provides services, and uses Thread to allow messages to circulate between nodes on the network. All other objects defined by the process belong to this layer, they only need to use the service queue provided by the message queue manager (MQM). You can complete the sending of messages and the processing after receiving the messages. The architecture of the dynamic view Because SyncQueue and SyncBuddy are resources shared by each process on the same node, the following situations will cause parallel control problems: (1) When the application system (AP) puts information into the external queue, the FMS thread corresponding to the external queue may also take out the message from the external queue. 0 (2) When a node has more than one AP, and these several When Ap wants to send a message to a node at the same time, that is to say, he rushes to put the message in the outbound queue corresponding to the node. (3) In the first case, when the AP wants memory with SyncBuddy, the FMS thread may need to Return the memory to Qiao ". (4) In the second case, there are several ap and sync B ud bodies at the same time. P Jiyin -----... n This paper size applies to Chinese national standards (CNS ) A4 specification (2) OX 297 mm) (Please read the precautions on the back before filling out this page)-Binding and ordering stamps for employees' consumer cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs 4 6 6 4 3 4 Central Standards Bureau of the Ministry of Economic Affairs Employee Consumer Cooperative Co-print A7 B7 V. Description of the Invention () (5) When the AP wants to get the message from the inward queue, the FMS thread corresponding to this inward queue may also put the message in the inward queue. 6) When a node has not only _ Aps, but these Aps must be from the same Within a queue out the message. (7) The fifth case AP memory when you want to return SyncBuddy the same, may FMS thread is to keep SyncBU (jdy to memory. (8) In the sixth case, there are several Aps that return the memory to SyncBuddy. 0 Based on the above analysis, we know that as long as each SyncQueue and

SyncBuddy各自使用自己的jjutex,在作 的動作之前先利用Mutex的Lock method將相關的動作 鎖住,避免其它執行緒中途插進來執行,等到動作完全結 束後’再利用Mutex的Unlock method把鎖解開,讓等 著執行的執行緒進來執行。 實體觀點之架構 我們用一個較簡單的終端雷達系統來説明實體觀點 的架構。如圖六所示共有六個節點,分成三組,第一組是 監控子系統(Monitor Control System)有兩個節點彼 此互為備援;第二组是終端雷達子系統(Terminal Radar System)也有兩個節點彼此互為備援;第三組是 管制雷達席(Controller Radar Positi〇n)有兩個節 點,此组不必備援,因此不必恰有兩個節點不可,視虛擬 需要可以有一個或一個以上的節點。 各組功能説明如下:監控子系統要知道各個節點軟 硬體的狀態,因此各個節點要將自己的狀態利用監控訊息 ______12 本紙張尺度適用中國國家標率(CNS > A4規格(210X297公楚) (锌先閏讀背面之注意事項再填寫本頁) 裝· 訂 4 經濟部中央標隼局員工消費合作社印^ 6 6 4 3 4 A7 _____B7___ 五、發明説明() " ' 跟監控系統報告,也經由監控子系統下達監控命令到其它 節點;終端雷達子系統接收雷達訊號,經過追蹤處理後, 要將飛行物最新的位置傳送給管制雷達席;管制雷達席提 供雷達顯示幕,方便管制員管制飛行物。互為備援的兩個 節點彼此要傳送備援訊息,以便知道對方的狀態,—發生 問題可以即時處理。 •圖七顯示各個節點所執行的pr〇cess,每一個節 點都要先執行FMS process以便傳遞訊息,因為 LMC(Local Monitor Control) process控制 FMS以 外的process完成容錯功能,每一個節點都要執rLMC。 • TSC(Time Synchronization Control) Process 用來協 調統一各個節點的内部時間,所以每一個節點都要執行 TSC 〇 #GMD(Global Monitor Control) process提供圖形使用 者介面讓維護人員知道系統各個節點軟硬體的狀態,也可 以下監控命令到各個節點。GMD只在監控子系統執行。 #MDF(Monitor Data Fofmat) process是GMD對 外聯絡的代表。不管是接收各節點LMC提供的狀態報告訊 息或下達監控命令訊息給某節點的LMC,都藉由MDF完 成。MDF收到狀態報告訊息後,將狀態紀錄在與gMD共用 的記憶體’作為GMD顯示資料的來源;當有人下命令, GMD也將命令紀錄在與MDF共用的記憶體,MDF看到後將 之轉成訊息送出去。M D F只在監控子系統執行。 • RDP(Radar Data Processing)process提供接 收雷達訊號與雷達訊號追蹤處理等功能,追蹤的結利果利 _____13 本紙張尺度顧巾目辭辟(CNS ) A4規格(210X 297公整) i : .裝 訂 I ! (諳先閱讀背面之注意事項再填寫本頁) 466434 A7 B7 五、發明説明( 經濟部中央標準局員工消费合作社印製 y息傳送給管制雷達席。RDP只在終端雷達子系統執 ,DSP(DispIay) prGce_供圖形使用者介面讓 “|J員可以知道飛行物的最新位置與下達管 。聊 只在管制雷達席執行。 _KDF(Radar Data Format) process是DSP對外 ,絡的代表。RDF收到RDP傳來的雷達訊息後,將資料紀 ,在與DSP共用的記憶體,作為Dsp顯示資料的來源;當 管制員下命令,DSP也將f制命令紀錄在與RDF共用的^ 憶體,RDF看到後將之轉成訊息送給RDp處理。⑽匕气 監控子系統執行。 圖七中實線代表節點與節點間的訊息傳輸通道,節 點間的訊息透過FMS傳送到其它節點的pr〇cess,節點内 的訊息是LMC與同節點的其除外)溝通之 訊息,事實上這些訊息的傳遞也是透過?1^。 I.使用程序説明 本發明的使用程序如下: 1.使用者準備輸入檔案 A 整個應用系統定義一個系統配置檔案 ” s y s _ i n i ” ° 此檔案説明系統的f卩點與P r 〇 c e s S,節點的說明包 括ip位址與在該郎點執行的所有pr〇cess名稱, process的説明包括執行檔案名稱與用來接收訊息的所有 内向佇列名稱,其文法見附錄一。 B .整個應用系統定義一個訊息樓案” msg .丨n丨”。 請 先 閲 讀 背 S 事 項 再 t 裝 i -—-丨 -------- 1¾ 本紙张尺度適用中國國家標率(CNS ) 經濟部中央椋準局負工消費合作社印製 46643 4 a7 B7 五、發明説明() 此檔案説明全部的訊息,訊息的説明包括目的地、 用來接收此訊息的内向佇列名稱、用來處理此訊息的物件 名稱、與此訊息所攜帶資料的資料結構等,其文法見附錄 二。當應用系統很複雜,其訊息種類上百或千種,此時將 所有訊息宣告在同一檔案不易維護,可將訊息分別定義在 多個檔案,而由訊息檔案”msg. ini”含括進來。 C .每一個節點定義自我節點檔案” g e 1 f. i n i ’’ 每一個節點都要有此檔案,説明目前所在節點的名 稱。 II.執行自動化程序 A. 輸入” sys· ini”經過同樣文法的parser先後處 理兩次分別產出” sysdefs.h”與” sysinfor.mmr,見 圖八。 ” sysdefs.h”的内容除了定義所有節點、 process、與内向佇列的ID外,尚有節點總數、内向行 列總數等常數。 ’’sysinfo.nunf”是Syslnfo物件的binary標案,只 有它與’’self,ini”是所process在run time執行要用 到的兩個外部檔案。 B. 輸入 ”msg_ini”經 過 Parser與 CodeSyncBuddy each uses its own jjutex. Prior to the action, Mutex's Lock method is used to lock the related actions, so that other threads are not inserted in the middle of the execution. When the action is completely completed, then use the Mutex Unlock method to unlock the lock. Let the threads waiting to execute come in to execute. Structure of the Entity View We use a simpler terminal radar system to illustrate the structure of the Entity View. As shown in Figure 6, there are a total of six nodes, divided into three groups. The first group is the Monitor Subsystem (Monitor Control System), which has two nodes as backups to each other. The second group is the Terminal Radar System. The two nodes serve as backups for each other; the third group is the Controller Radar Positi0n. There are two nodes in this group. This group does not necessarily have to be aided, so it is not necessary to have exactly two nodes. Depending on the virtual needs, there can be one or More than one node. The functions of each group are described as follows: the monitoring subsystem needs to know the status of the software and hardware of each node, so each node must use its own monitoring information ______12 This paper size is applicable to the Chinese national standard (CNS > A4 specification (210X297) ) (Zinc read the precautions on the back before filling out this page) Binding · Order 4 Printed by the Employees 'Cooperatives of the Central Bureau of Standards of the Ministry of Economic Affairs ^ 6 6 4 3 4 A7 _____B7___ 5. Description of the invention () "' Report with the monitoring system , Also sends monitoring orders to other nodes through the monitoring subsystem; the terminal radar subsystem receives the radar signal, and after tracking processing, the latest position of the flying object is transmitted to the control radar table; the control radar table provides a radar display screen for the convenience of the controller Control flying objects. Two nodes that are backups of each other need to send backup messages to each other in order to know the status of the other party-problems can be dealt with immediately. • Figure 7 shows the pr0cess performed by each node, and each node must First execute the FMS process in order to transmit the message, because the LMC (Local Monitor Control) process controls the completion of processes other than FMS For faulty functions, each node must execute rLMC. • TSC (Time Synchronization Control) Process is used to coordinate and unify the internal time of each node, so each node must execute the TSC 〇 # GMD (Global Monitor Control) process to provide graphic users The interface allows the maintenance personnel to know the status of the software and hardware of each node of the system, and can also send monitoring commands to each node. GMD is only executed in the monitoring subsystem. #MDF (Monitor Data Fofmat) The process is the representative of GMD's external communication. The status report message provided by the node LMC or the LMC that issued a monitoring command message to a node is completed by the MDF. After receiving the status report message, the MDF records the status in the memory shared with gMD 'as the source of GMD display data; When someone gives an order, GMD also records the order in the memory shared with MDF. When MDF sees it, it turns it into a message and sends it out. MDF only executes in the monitoring subsystem. • RDP (Radar Data Processing) process provides receiving radar signals And radar signal tracking processing and other functions, tracking results and benefits _____13 This paper standard CNS) A4 size (210X 297 mm) i:. Binding I! (谙 Please read the notes on the back before filling this page) 466434 A7 B7 V. Description of the invention (printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs) To the control radar seat. RDP is only implemented in the terminal radar subsystem. DSP (DispIay) prGce_ is for the graphical user interface so that J members can know the latest position of the flying object and the delivery manager. The chat is only performed on the control radar seat. _KDF (Radar Data Format) Process is the external representative of the DSP. After receiving the radar information from the RDP, RDF records the data in the memory shared with the DSP as the source of the Dsp display data. When the controller orders, the DSP will also f The command records are stored in the memory shared by RDF. After RDF sees it, it turns it into a message and sends it to RDp for processing. The gas monitoring subsystem executes it. The solid line in Figure 7 represents the message transmission channel between nodes and between nodes. The messages are transmitted to other nodes through FMS. The messages in the nodes are the messages that the LMC communicates with other nodes except the same nodes. In fact, the transmission of these messages is also through? 1. The use procedure is as follows: 1. The user prepares to enter the file A. The entire application system defines a system configuration file “sys_ini” ° This file describes the system's f 卩 points and Pr 〇ces S, node description Including the IP address and all prcess names executed at the point, the process description includes the execution file name and all inbound queue names used to receive messages, the syntax is shown in Appendix I. B. The entire application system defines a message Building case "msg. 丨 n 丨". Please read the S-item first and then install i ---- 丨 -------- 1¾ This paper size applies to China National Standards (CNS) Central Bureau of Standards, Ministry of Economic Affairs Printed by the Consumer Goods Cooperatives 46743 4 a7 B7 V. Invention Description () This file describes all the messages. The message description includes the destination, the name of the inbound queue used to receive the message, the name of the object used to process the message, For the data structure of the information carried by this message, etc., its grammar is shown in Appendix 2. When the application system is very complex and there are hundreds or thousands of types of messages, it is not easy to maintain all messages declared in the same file. Files, which are included in the message file "msg. Ini". C. Each node defines itself as a node file "ge 1 f. Ini" Each node must have this file, indicating that at present The name of the node. II. Executing the automation program A. Input "sys · ini" through the parser of the same grammar and process it twice to produce "sysdefs.h" and "sysinfor.mmr, respectively, as shown in Figure 8. The contents of" sysdefs.h "are all except the definition In addition to the IDs of nodes, processes, and inward queues, there are constants such as the total number of nodes and the total number of inward rows and columns. "Sysinfo.nunf" is the binary label of the Syslnfo object, and only it is associated with "self, ini". Two external files to be used for run time execution: B. Enter "msg_ini" through Parser and Code

Generation 處理後產出” rasgdefs.h”與”*Msg.h”,見 圖九左圖。 ”msgdefs.h”的内容定義所有訊息的11}與訊息總 數0 ” *msg . h”代表個別訊息的header f i le。 15 本紙張尺度適用中國國家標隼(CNS ) A4規格(2】0X297公釐) —夺-- (請先閲讀背面之注意事項再填寫本頁) -·吞 經漪部中央標準局貝工消費合作社印製 4 6 6 4 3 ^ a7 _____B7 _ 五、發明説明() C·輸入”msgdefs_h”經過Code Generation處理 後產出” Message.h”與” Persist,h”,見圖九右圖。 ” Mssage.h”定義之Message物件,其所佔的記憶體 視所有訊息中最大者,接收訊息一律使用此物件保證不會 錯。 ”Persist, h”用來解決訊息在不同的process會用 到不同的 virtual table 作 dynamic binding的問 題。如何解決對使用者而言是透通的,他不會用到此物 件0 III.前面步騾B中自動產生的各個訊息header file’除了處理訊息的method : Proc ()未定義外, 其它的met hod都自動定義好了,定義proc()建議使用 XXX: : Instance()->HandleYYY(1:his),其中XXX是應 用程式的物件類別並且只會用到一個instance,否則要 使用global物件;γγγ是訊息的類別。這一個 statement是唯一需要使用者寫的c〇de。另外,説明應 用程式送訊息的範例如下:After generation, "rasgdefs.h" and "* Msg.h" are produced, as shown in the left figure of Figure 9. The content of "msgdefs.h" defines 11} of all messages and the total number of messages 0 "* msg.h" represents the header f i le of individual messages. 15 This paper size is applicable to China National Standard (CNS) A4 specification (2) 0X297 mm)-win-(Please read the precautions on the back before filling this page) Printed by the cooperative 4 6 6 4 3 ^ a7 _____B7 _ 5. Description of the invention () C. Input "msgdefs_h" after Code Generation processing to produce "Message.h" and "Persist, h", as shown in the right figure of Figure 9. According to the message object defined by "Mssage.h", the memory it occupies is the largest of all messages, and this object is always used to receive messages to ensure that it will not be wrong. "Persist, h" is used to solve the problem that messages will use different virtual tables for dynamic binding in different processes. How to solve it is transparent for the user, he will not use this object. 0 III. Each message header file automatically generated in the previous step 骡 B 'is except for the method of processing the message: Proc () is not defined, other Met hod is automatically defined, and proc () is recommended to use XXX:: Instance ()-> HandleYYY (1: his), where XXX is the object class of the application and only one instance is used, otherwise global Object; γγγ is the type of message. This statement is the only code that needs to be written by the user. In addition, an example of how the application sends messages is as follows:

XyMs^iata data( Hi, send a msg to you"); // prepare message data XyMsg mgg = XyMsg(data); //get a lcxal message that is an instance ofXyMs ^ iata data (Hi, send a msg to you "); // prepare message data XyMsg mgg = XyMsg (data); // get a lcxal message that is an instance of

XyMsg 職::InstaeCK>Send〇nsg); // ㈣ the local message 應用程式收訊息的範例如下:XyMsg Position :: InstaeCK >Send〇nsg); // ㈣ the local message An example of an application receiving a message is as follows:

Message rasg; // get a naxinum sise local msg used to receive any kind of msg. while(l) { 16 本紙張尺度適用中國图家標準(CNS ) A4規格(21^297公釐) --------f-------ΐτ------Μ (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印掣 A7 B7 五、發明説明() MQM: :Instance()->Receive(MY_Q, msg): // receive message from queue:MY_Q msg.ProceO; // prooess the received message } IV. compile-and-link應用程式 V .執行” f ms . exe”。 用最簡單的例子説明上述五個步驟,此例只包含兩 個節點,節點N0DE1的AP1_PR0C送訊息ToAP2Msg給節點 N0DE2 的 AP2_PR0C,AP2_PR〇C由内向佇列 AP2_Q接到 後,回送 acknowlege 訊息 ToAP2AckMsg ’ AP1_PR0C 由 内向佇列AP1_Q接收此訊息。步騾一之系統配置檔案 ” s y s . i n i ”内容如下: [Nodes] N0DE1 ip__addrs = 128.12.23.88 //允許一個以上 processes = ΑΡ1_ΜΧ) //允許―個以上 N0DE2 ip_addr = 128.12.23.89 processes = AP2_H?0C [Processes]Message rasg; // get a naxinum sise local msg used to receive any kind of msg. While (l) {16 This paper size is applicable to the China Mapper Standard (CNS) A4 specification (21 ^ 297 mm) ----- --- f ------- ΐτ ------ M (Please read the notes on the back before filling out this page) Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs A7 B7 V. Description of Invention () MQM:: Instance ()-> Receive (MY_Q, msg): // receive message from queue: MY_Q msg.ProceO; // prooess the received message} IV. Compile-and-link application V. Run "f ms .exe ". The simplest example is used to illustrate the above five steps. This example contains only two nodes. AP1_PR0C of node N0DE1 sends a message ToAP2Msg to AP2_PR0C of node N0DE2. After receiving AP2_PR from the inward queue AP2_Q, it sends back the acknowlege message ToAP2AckMsg 'AP1_PR0C. Receive this message from the inbound queue AP1_Q. The content of the system configuration file "sys.ini" in Step 1 is as follows: [Nodes] N0DE1 ip__addrs = 128.12.23.88 // Allow more than one processes = ΑΡ1_Μχ) // Allow-more than N0DE2 ip_addr = 128.12.23.89 processes = AP2_H? 0C [Processes]

APl.PROC exec = "apl.exe" queues = AP1_Q //允許一個以上APl.PROC exec = " apl.exe " queues = AP1_Q // Allow more than one

AP2_PR〇C 17 ____ 本紙伕尺度適用中國國家標準(CNS ) A4規格(210X297公瘦) ---------d----„---IT------♦ {請先聞讀背面之注意事項再填寫本頁) A7 4 ο 643 4 B7 五、發明説明()AP2_PR〇C 17 ____ The size of this paper is applicable to China National Standard (CNS) A4 (210X297 male thin) --------- d ---- „--- IT ------ ♦ {Please First read the notes on the back before filling out this page) A7 4 ο 643 4 B7 V. Description of the invention ()

exec = "ap2.exe" queues = AP2_Q 步驟一之訊息權案” m s g . i n i ”内容如下:exec = " ap2.exe " queues = AP2_Q The information right case "m s g. i n i" in step 1 is as follows:

ToAP2Msg to = N0DE2 queue = AP2_Q data = { char msg[128); }ToAP2Msg to = N0DE2 queue = AP2_Q data = {char msg [128);}

ToAP2AckMsg to = N0DE1 queue = API JQ 步騾一之節點一的” self . ini”内容如下: current node = NODE 1 步驟一之節點二的” se 1 f . i n i ”内容如下: current node = N0DE2 步騾二執行一個shell script即可。 步賴三在步驟二自動產生之header file補 上::Proc() method的内容,例如在ToAP2Msg.h中加 入斜體字的部份:ToAP2AckMsg to = N0DE1 queue = API JQ The content of "self.ini" of node one of step one is as follows: current node = NODE 1 The content of "se 1 f.ini" of node two of step one is as follows: current node = N0DE2 step 骡Second, execute a shell script. Step Lai San added the content of the header file automatically generated in Step 2: Proc () method, for example, add the italicized part to ToAP2Msg.h:

ToAP2Msg::Proc〇{ Ap20bi::InstaiK^〇->HandleToAP2^^(this); } 在ToAP2AckMsg.h中加入斜體字的部份:ToAP2Msg :: Proc〇 {Ap20bi :: InstaiK ^ 〇- > HandleToAP2 ^^ (this);} Add the italicized part to ToAP2AckMsg.h:

ToAP2AckMsg: :?T〇c,〇{Ap20bj:: Instance()->HandleToAP2AckMsg( this);} 接著依步驟三的範例發展應用程式,AP1_PR0C有關 訊息的程式如下: _18_ 本紙張尺度適用中國國家榇準(CNS ) A4规格(2】0X297公釐) J Ί--------iT------^1,· (請先閱讀背面之注意事項再填寫本買) 經濟部中央標隼局員工消費合作社印製 '46643 4 a7 B7 五、發明説明() class AplObj(){ToAP2AckMsg::? T〇c, 〇 {Ap20bj :: Instance ()-> HandleToAP2AckMsg (this);} Then develop the application according to the example in step 3. The program of the relevant message of AP1_PR0C is as follows: _18_ This paper size is applicable to Chinese countries. Standard (CNS) A4 specification (2) 0X297 mm J Ί -------- iT ------ ^ 1, (Please read the notes on the back before filling in this purchase) Central Ministry of Economic Affairs Printed by the Standards Bureau's Consumer Cooperatives' 46643 4 a7 B7 V. Description of Invention () class AplObj () {

AplObj::AplObj() {...} public: static AplObj * InstanceO {...} void HandleToAP2AckMsg(ToAP2AdiMsg 相现){·_} main() {AplObj :: AplObj () {...} public: static AplObj * InstanceO {...} void HandleToAP2AckMsg (ToAP2AdiMsg present) {· _} main () {

ToAP2Ms^&ta dataCHi, send a msg to you"); // prepare message data ToAP2Msg msg = ToAP2Msg(data) ; // construct message MQM::Instance()->Send(nisg) ; // send the local messageToAP2Ms ^ & ta dataCHi, send a msg to you "); // prepare message data ToAP2Msg msg = ToAP2Msg (data); // construct message MQM :: Instance ()-> Send (nisg); // send the local message

Message msg; while(l) { MQM: :Instance()->Receive(APljQ, &msg); // receive message msg.ProcO; // process the received message } 經濟部中央標準局員工消費合作社印^ (請先閱讀背面之注意事項再填寫本頁) } AP2_PR0C有關訊息的程式如下: class Ap20bj {Message msg; while (l) {MQM:: Instance ()-> Receive (APljQ, &msg); // receive message msg.ProcO; // process the received message} ^ (Please read the precautions on the back before filling this page)} The procedure for AP2_PR0C messages is as follows: class Ap20bj {

Ap20bj::Ap20bj(){...} public: 19 本紙張尺度適用中國國家標準(CNS ) A4规格(210X297公釐) 經濟部中央標準局貝工消費合作社印¾ Α7 Β7 五、發明説明() .一. static Ap20bj * InstanoeO {...} void HandleToAP2Msg(ToAP2Msg Jtmsg) { ToAP2AckMsg rasg; M®(:: Instance〇->Send(nisg); nain() {Ap20bj :: Ap20bj () {...} public: 19 This paper size applies to the Chinese National Standard (CNS) A4 (210X297 mm) Printed by the Bayer Consumer Cooperative of the Central Bureau of Standards of the Ministry of Economic Affairs ¾ A7 Β7 V. Description of the invention () .A. Static Ap20bj * InstanoeO {...} void HandleToAP2Msg (ToAP2Msg Jtmsg) {ToAP2AckMsg rasg; M® (:: Instance〇- > Send (nisg); nain () {

Message insg; while(l) { lM::Instance()->Receive(AP2_Q,&nisg); // receive message msg.ProcO; //process the received message } } 步驟五執行” f ms . exe”各節點的FMS process會 自動執行該節點的所有的process。這個例子雖然簡單, 但是即使複雜如航管系統的使用程序與方式也是如此。 本案訊息傳輸機制的優點如下: (1)可再用性高: 不管是簡單的分散式應用系統或複雜的航管系統都 適用,内部為執行緒同步化(thread synchronization),記憶體管理等產生的跨作業系統 物件其可再用性更高。 (2 )傳輸的訊息只是單純的資料而是訊息物件,因此 ____ 20 本紙張尺度適用中國國$標準(CNS ) Α4ϋ ( 210X297公釐) — - . 裝 I 訂 1 i Μ (餚先閲讀背面之注意事項再填寫本頁) 166434 A7 B7___ 五、發明説明() 可以運用動態結合(dynamic binding)的技術取代 switch statement ,即使增加新的訊息,應用程式也 無需修改,編譯(comp Π e ),只要與新增的訊息物件的 物件碼(object code)重新連結(link)即可,增加應用 系統的維護性。 (3) 使用簡便: 應用系統只用到收與送兩個服務法則(service met hod)以及訊息物件處理訊息的method,甚至連訊息物 件的程式碼都是用宣告的方式自動產生。 (4) 本案提供單獨的程序(process)虚擬負責訊息的 傳送,應用系統可以完全不知道此process的存在,亦 即訊息的傳輸對開發者而言是透通的。並且此process不 因系統配置的改變或訊息的增加需要重新comp i 1 e和 link0 (5) 擴充性高: 由於借用STREAM的觀念,因此可依不同的需求,實 作各種通訊協定。 (6) 允許使用多重區域網路,節點上應用程式的發展 允許使用 multi-process 與 multi-thread。 當區域網路上各個節點使用相同的電腦,我們稱為 同質區域網路;否則稱為異質區域網路。使用異質區域網 路又有字元次序(byte order)的問題。目前市面上雖然 有TCP類程式庫(class library)出售,解決了第一個 缺點,但是可再用性的層級仍然太低。理想的做法是應用 程式只須將訊息資料準備好就可以利用物件的method傳 .----21 本紙張尺度適用中國國家標毕(CNS ) A4规袼(21 OX 297公釐) L---.-----裝----^---訂----------線 (锖先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局員Η消費合作社印掣 46643 4 A7 B7 五、發明説明() 送出去,接收訊息的應用程式只須準備好處理訊息的物 件’接到訊息後控制權直接交給處理訊息的物件之 me thod ’寫應用程式只管訊息的收送,至於訊息如何 送、如何收以及前面提及的各種缺點與問題,完全交給本 發明代為處理’對寫應用程式的人而言,這·段是透通的 (transparent )。 本案得由熟悉本技藝之人士任施匠思而為諸般修 飾,然皆不脱如附申請專利範圍所欲保護者。 (請先閏讀背面之?i意事唄再嗔寫本頁) -裝 經濟部中央標準局員工消費合作社印取 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐}Message insg; while (l) {lM :: Instance ()-> Receive (AP2_Q, &nisg); // receive message msg.ProcO; // process the received message}} Step 5 is performed "f ms. Exe The FMS process of each node will automatically execute all processes of that node. Although this example is simple, it is the same even if it is as complicated as the procedures and methods of the air traffic control system. The advantages of the message transmission mechanism in this case are as follows: (1) High reusability: Whether it is a simple decentralized application system or a complex air traffic management system, it is generated internally by thread synchronization, memory management, etc. Of cross-operating system objects is more reusable. (2) The transmitted message is just pure data but a message object, so ____ 20 This paper size applies to China's national standard (CNS) Α4ϋ (210X297 mm) —-. I order 1 i Μ (read the back of the book first) Please note this page, please fill in this page) 166434 A7 B7___ 5. Description of the invention () Dynamic switch technology can be used to replace the switch statement. Even if new information is added, the application program does not need to be modified and compiled (comp Π e), As long as it is relinked with the object code of the newly added message object, the maintainability of the application system can be increased. (3) Easy to use: The application system only needs to receive and send the two service rules (service met hod) and the method of the message object to process the message, and even the code of the message object is automatically generated by a declaration method. (4) This case provides a separate process that is virtually responsible for message transmission. The application system can be completely unaware of the existence of this process, that is, the transmission of the message is transparent to the developer. And this process does not need to recomp i 1 e and link0 due to the change of system configuration or the increase of messages. (5) High scalability: Since the concept of STREAM is borrowed, various communication protocols can be implemented according to different needs. (6) Multi-area networks are allowed, and the development of applications on nodes allows the use of multi-process and multi-thread. When each node on the local network uses the same computer, we call it a homogeneous local network; otherwise it is called a heterogeneous local network. The use of heterogeneous area networks has another problem of byte order. Although TCP class libraries are currently on the market, which solves the first disadvantage, the level of reusability is still too low. The ideal method is that the application only needs to prepare the message data to use the method of the object. ---- 21 This paper size applies to China National Standards (CNS) A4 regulations (21 OX 297 mm) L-- -.----- Installation ---- ^ --- Order ---------- line (锖 Read the precautions on the back before filling this page) Printed by a member of the Central Standards Bureau of the Ministry of Economic AffairsΗConsumer Cooperative Switch 46743 4 A7 B7 V. Description of the invention () The application that sends and receives the message only needs to prepare the object that processes the message. 'After receiving the message, control is directly passed to the object that processes the message. Thod' Write the application only the message. As for how to send messages, how to receive them, and the various shortcomings and problems mentioned above, the present invention is completely handed over to the present invention to handle 'for the person writing the application program, this paragraph is transparent. This case may be modified by anyone who is familiar with the art, but it is not as bad as the protection of the patent scope attached. (Please read the "I" on the back of the page before writing this page)-Installed by the Central Consumers Bureau of the Ministry of Economic Affairs and printed by the Consumer Cooperatives. The paper size applies to the Chinese National Standard (CNS) A4 (210 X 297 mm)

Claims (1)

4bb43 4 A8 BS C8 DS r,濟部t央標準局負工消費合作社印裝 申請專利範圍 :—種用在異質區域網路之物件導向式訊息傳輸界面, 係於'包含若干節點的網路中,使—應用系統與一核心 (kernel)進行通訊,以傳遞一訊息,其每一節點係包 含: 一訊息佇列管理器(MQM),係由若干外向佇列 (queue)與若干内向佇列組成,而藉由將該訊息 寫至該外 "丁列及將孩訊息自該内向佇列讀出,以與該應用系統通 訊;以及 訊息收發器(FMS )’係電連接至該訊息佇列管理器 (MQM),由若干外向執行緒(thread)與若干内向執行緒 組成,該外向執行緒係對應至該外向传列,藉由該外向執 订緒自該外向传列讀取該訊息及該内向執緒將該訊息寫至 該内向佇列,以與該核心通訊。 2 ·如中請專利期第!項所述之用在異質區域網路之物 件導向式訊息傳輸界面,其中該網路係為一區域網路。 3 ·如中請專利範固第2項所述之用在異質區域網路之物 件導向式訊息傳輸界面,其中該外向仔列之個數係等於該 區域網路的節點數,該内向仲列係由該應用系統定義。 4如申4專則!固第2嘴所述之用在異質區域網路之物 件導向式訊息傳輸界面,其中該内向執行緒之 該區域網路除了本身外的節點數。 系寺於 5 *如申請專利範圍第2項所述之用在異質區域網路之物 件導向式訊息傳輸界面’其中該内向執行緒之—係不細該 網路,—而直接藉該訊息收發器(FMS)將該訊息傳送至^ 點本身。 -- -I n I I n - I - 1 I t锖先閱讀背面之注意事項再填寫本頁} 訂. 線.-~.1!--------- 23 本纸張尺度適用中國國家標準(CNS ) A4規格(210X297公羞 .I 1— , 經濟部中央標準局員工消費合作社印製 A8 B8 C8 D8 六、申請專利範圍 6:如中請專利範園第丨項所述之用在異質區域網路之物 件導向式訊息傳輸界面,其中該訊息收發器(FMs)係為一 物件(Object),負責由該外向佇列取出訊息送至該網 路,以及由網路接收訊息放到該内向件列,該訊息收發器 (FMS)更包含若干傳輸連接(TCpc〇nnect)物件,每一傳 輸連接物件各用該執行緒之一以透過—受訊(s〇cket)物 件執行其任務。 7·如申請專利範圓第!項所述之用在異質區域網路之物 件導向式訊息傳輸界面,其中該訊息佇列管理器 件,用以維護該外向㈣與該内向仵列,更為該訊息提供 一共用記憶體管理(SyncBuddy )物件以及一解決訊息跨 程序(process)問題(persist)物件。 ^ 8 ·如申請專利範圍第7項所述之用在異質區域網路之物 件導向式訊息傳輸界面,其中該共用記憶體管理 (SyncBuddy)物件係繼承自—Buddy物件。 8二如申請專利範圍第1項所述之用在異質區域網路之物 件導向式訊息傳輸界面,其中該内向佇列及該外向佇列係 為一同步佇列(SyncQueue)物件,繼承自一佇列(Queue) 物件,再利用一Mutex物件與一c〇ndVar物件以解決同步 的問題。 9.如申請專利範圍第1項所述之用在異質區域網路之物 件導向式訊息傳輸界面,其中更包含: —根訊息CEootMsg)物件,該訊息係繼承自該 RootMsg物件,而該R〇〇tMsg物件係繼承自一沒有資料成 員(data member),只有虚擬法則(virtual meth〇d) -_______ 24 本紙張尺度1¾财辟縣(CNS ) A4驗(2歌297公着) 1 ^ . 1¾. .~ 訂—-----". (請先閱讀背面之注^^^項再填寫本頁) ABCD 466434 六、申請專利範圍 的虛擬物件(PeudoRootMsg);以及 一系統資訊(Sy s I n f 〇)物件,係電連接至該根訊息 其包含一描述各個節點資訊的Modelnfo物件與一描述該 應用系統各個程序(process)資訊的Proclnfo物件。 10.如申請專利範圍第9項所述之用在異質區域網路之 物件導向式訊息傳輸界面,其中節點資訊物件係包含有一 I P位址與一屬於該節點的程序(process)名稱;該程 序(Process)資訊主要内容係包含一執行該程序 (process)的指令名稱,一指令所在的路徑,與一該程 序(process)會使用的内向佇列名稱。 1 1 · 一種用於異質區域網路之物件導向式訊息傳輸界面 之執行自動化程序,其包含下列步騾: 輸入一系統初始檔(sy s · i n i ),藉文法剖析 (Parser)以產生一系統定義檔(sysdefs ♦ h)與一系統資 訊檔(sysinfo.mmf); 輸入一訊息初始檔(rosg.ini),藉文法剖析及編碼 (code)以產生一訊息定義檔(mSgdefs.h)與一 ”氺rasg·h” 檔; 輸入該訊息定^S^sgdefs.h),藉編碼(code)以 產生一” Message . ” Per s is t · h” 檔。 1 2 ·如申請專利範圍第項所述之用在異質區域網路之 物件導向式訊息傳輸界面之執行自動化程序,其中該 ”*msg.h”檔係代表個別訊息的前置檔(header file)。 25 本紙張尺度適用中國國家標準(CNS ) A4規格(21 OX 297公釐) ---:--------裝------訂--------汰。 (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印裝4bb43 4 A8 BS C8 DS r, printed by the Ministry of Standards, Central Bureau of Standards, Consumer Cooperatives, patent application scope: an object-oriented message transmission interface used in heterogeneous local area networks, which is based on a 'network with several nodes' The application system communicates with a kernel to transmit a message, each node of which includes: a message queue manager (MQM), which consists of a number of outward queues and a number of inward queues Composition, and by writing the message to the outside " Dingle and reading the child's message from the inside to the queue to communicate with the application system; and the message transceiver (FMS) 'is electrically connected to the message 伫Column Manager (MQM), consisting of a number of outbound threads and a number of inward threads. The outbound thread corresponds to the outbound thread, and the message is read from the outbound thread by the outbound thread. And the inward thread writes the message to the inward queue to communicate with the core. 2 · If the patent period is requested, please! The item-oriented message transmission interface for a heterogeneous local area network described in the above item, wherein the network is a local area network. 3 · The object-oriented message transmission interface used in heterogeneous local area network as described in item 2 of the patent, where the number of the outward-facing rows is equal to the number of nodes in the local network, and the inward-facing rows It is defined by the application system. 4 as applied 4 rules! The object-oriented message transmission interface used in the heterogeneous local area network described in the second mouth, wherein the number of nodes of the local area network in the inward thread except itself. Department of the temple in 5 * As described in the scope of the patent application No. 2 object-oriented message transmission interface used in heterogeneous local area network 'where the inward thread-the network is not detailed,-and directly send and receive by this message The device (FMS) sends the message to the point itself. --I n II n-I-1 I t 锖 Please read the notes on the back before filling in this page} Order. Line.- ~ .1! --------- 23 This paper size applies to China National Standard (CNS) A4 specification (210X297 public shame. I 1-, printed by A8, B8, C8, D8, Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs) 6. Scope of patent application 6: as described in item 丨 of the Patent Application Park Object-oriented message transmission interface in heterogeneous local area network, in which the message transceiver (FMs) is an object, which is responsible for fetching messages from the external queue to the network, and receiving messages from the network. To the inbound list, the message transceiver (FMS) further includes a number of transmission connection (TCpc〇nnect) objects, and each transmission connection object uses one of the threads to perform its operation through a socket object. Task 7. The object-oriented message transmission interface for heterogeneous local area network as described in the patent application Fan Yuan No. 1 item, in which the message queue management device is used to maintain the outbound queue and the inbound queue, and more Providing a shared memory management (SyncBuddy) object for the message and A solution to the problem of persistence of message objects. ^ 8 · An object-oriented message transmission interface for a heterogeneous local area network as described in item 7 of the scope of patent application, wherein the shared memory management (SyncBuddy) The object is inherited from the Buddy object. 82. The object-oriented message transmission interface used in the heterogeneous local area network as described in item 1 of the scope of patent application, wherein the inward queue and the outward queue are a synchronous queue (SyncQueue) object, inherited from a Queue object, and then uses a Mutex object and a CondVar object to solve the synchronization problem. 9. Used in heterogeneous local area network as described in item 1 of the scope of patent application The object-oriented message transmission interface further includes:-the root message CEootMsg) object, the message is inherited from the RootMsg object, and the RootMsg object is inherited from a data member, only virtual rules (Virtual meth〇d) -_______ 24 Paper size 1¾Cai County (CNS) A4 inspection (2 songs 297 books) 1 ^. 1¾.. ~ Order —----- ". (Please read the back first Note ^^^ (Fill in this page) ABCD 466434 VI. Patented virtual object (PeudoRootMsg); and a system information (Sy s I nf 〇) object, which is electrically connected to the root message which contains a Modelnfo object describing each node information and a Proclnfo object describing the process information of the application system. 10. The object-oriented message transmission interface used in a heterogeneous local area network as described in item 9 of the scope of patent application, wherein the node information object includes an IP address and a process name belonging to the node; the process The main content of the (Process) information includes a command name for executing the process, a path where the command is located, and an inbound queue name that the process (process) will use. 1 1 · An automated process for implementing an object-oriented message transmission interface for a heterogeneous local area network, which includes the following steps: Enter a system initial file (sy s · ini), and use parser to generate a system Definition file (sysdefs ♦ h) and a system information file (sysinfo.mmf); enter a message initial file (rosg.ini), parse and code (gram) to generate a message definition file (mSgdefs.h) and a “氺 rasg · h” file; enter the message and specify ^ S ^ sgdefs.h) to generate a “Message.” Per s is t · h ”file by code. 1 2 · If item No. of the scope of patent application The implementation automation process of the object-oriented message transmission interface used in the heterogeneous local area network described above, wherein the "* msg.h" file represents the header file of individual messages. 25 This paper standard applies to China Standard (CNS) A4 specification (21 OX 297 mm) ---: -------- install -------- order -------- Tip. (Please read the note on the back first (Please fill in this page for matters) Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs
TW87103433A 1998-03-09 1998-03-09 Object-oriented message transmission interface used in heterogeneous area network TW466434B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW87103433A TW466434B (en) 1998-03-09 1998-03-09 Object-oriented message transmission interface used in heterogeneous area network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW87103433A TW466434B (en) 1998-03-09 1998-03-09 Object-oriented message transmission interface used in heterogeneous area network

Publications (1)

Publication Number Publication Date
TW466434B true TW466434B (en) 2001-12-01

Family

ID=21629643

Family Applications (1)

Application Number Title Priority Date Filing Date
TW87103433A TW466434B (en) 1998-03-09 1998-03-09 Object-oriented message transmission interface used in heterogeneous area network

Country Status (1)

Country Link
TW (1) TW466434B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7349958B2 (en) 2003-06-25 2008-03-25 International Business Machines Corporation Method for improving performance in a computer storage system by regulating resource requests from clients
TWI396979B (en) * 2004-04-21 2013-05-21 Dell Products Lp Method and apparatus for configuring a plurality of systems within a solution

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7349958B2 (en) 2003-06-25 2008-03-25 International Business Machines Corporation Method for improving performance in a computer storage system by regulating resource requests from clients
US8086711B2 (en) 2003-06-25 2011-12-27 International Business Machines Corporation Threaded messaging in a computer storage system
TWI396979B (en) * 2004-04-21 2013-05-21 Dell Products Lp Method and apparatus for configuring a plurality of systems within a solution

Similar Documents

Publication Publication Date Title
RU2379755C2 (en) System and method for sharing objects between computers over network
US8024661B2 (en) Collaboration framework
Johanson et al. Extending tuplespaces for coordination in interactive workspaces
CN105204812B (en) A kind of multiple solutions display & control system and its integrated approach based on plug-in unit
CN104615489B (en) A kind of implementation method of multinode data interaction
CN109684097B (en) CMSP-based JSON data analysis and storage method
Karsenty et al. GroupDesign: Shared editing in a heterogeneous environment
CN105577446B (en) Lightweight embedded network management system and method
CN110309231A (en) A kind of method of data synchronization and system across computer room
JPH09269931A (en) Cooperative work environment constructing system, its method and medium
TW466434B (en) Object-oriented message transmission interface used in heterogeneous area network
de Alwis et al. GT/SD: performance and simplicity in a groupware toolkit
CN115774573B (en) Application integration method, device, electronic equipment and storage medium
CN103532829A (en) Instant messaging system electronic white board access method based on XMPP (xml based messaging and presence protocol)
Capellmann et al. Petri Net based specifications of services in an Intelligent Network-Experiences gained from a test case application
CN101309186B (en) Design method of expandable general purpose type P2P network simulator
Changquan et al. The design and implement of educational resource sharing platform based on web service
Liu et al. The design and implementation of mina-based smart home data synchronization system
CN109150856A (en) Realize method, system, electronic equipment and the storage medium of videoconference
CN108769087A (en) A kind of development approach and server of interactive system
Bates A framework to support large-scale active applications
Ceglar et al. A new approach to collaborative frameworks using shared objects
CN108595524A (en) A kind of distribution High Availabitity Internet of Things data exchange method
Wang et al. Software architecture based on message queue
Davies et al. Experiences of using RM-ODP to build advanced mobile applications

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees