[go: up one dir, main page]

TW571531B - Packet routing via payload inspection and subscription processing in a publish-subscribe network - Google Patents

Packet routing via payload inspection and subscription processing in a publish-subscribe network Download PDF

Info

Publication number
TW571531B
TW571531B TW91116727A TW91116727A TW571531B TW 571531 B TW571531 B TW 571531B TW 91116727 A TW91116727 A TW 91116727A TW 91116727 A TW91116727 A TW 91116727A TW 571531 B TW571531 B TW 571531B
Authority
TW
Taiwan
Prior art keywords
scope
channel
network
patent application
order
Prior art date
Application number
TW91116727A
Other languages
Chinese (zh)
Inventor
Tsu-Wei Chen
Alex W Fung
Ping-Fai Yang
Yennun Huang
Chih-Mei Lin
Original Assignee
Precache Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/199,368 external-priority patent/US7545805B2/en
Application filed by Precache Inc filed Critical Precache Inc
Application granted granted Critical
Publication of TW571531B publication Critical patent/TW571531B/en

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Packet routing via payload inspection at routers in a core of a distributed network. Packets include subjects and attributes in addition to routing information. The subjects correspond with particular types of content for subscriptions, and the attributes encapsulate the data or content. The routers store, process, and propagate filters corresponding with subscriptions to content. Upon receiving a packet, a router inspects the payload section of the packet containing the attributes in order to retrieve the subject and the attributes and apply them to the filters for the subscriptions. If an attribute satisfies a filter, the packet is routed to the next link. If the attributes do not satisfy the filters, the router discards the packet. These routing decisions are distributed among routers in the network core.

Description

571531 A7 B7 五、發明説明(1 ) 相關申請參考 本專利申請與以下專利申請.相關,並且均以提及方式整 個併入本文中:2001年8月15曰提出之美國臨時專利申請 案號 60/3 12,074,標題為 “Packet Routing Via Payload Inspection” ; 2001年8月15日提出之美國臨時專利申請案 號 60/3 12,077,標題為“Method and Apparatus for Content-Based Routing and Filtering at Routers Using Channels^ ; 2001年8月15曰提出之美國臨時專利申請案號60/3 12,076, 標題為 “Method for Sending and Receiving a Boolean Function Over a Network” ; 2 001年8月15曰提出之美國臨時專利申 請案號 60/3 12,075,標題為“Method for Storing Boolean Functions to Enable Evaluation, Modification, Reuse, and Delivery Over a Network” ;以及2001 年 10月 17 日提出之 美國臨時專利申請案號60/329,526,標題為 “Efficient Implementation of Wildcard Matching on Variable-Sized Fields in Content Based Routing”。 發明領域 本發明相關於一種用於在一網路核心中依據封包中之有 效負載檢查路由封包及用於處理發行訂購網路中之訂購的 方法及裝置。 發明背景_ 網路頻寬不斷以相數遞增。但是,網路基礎設施(包括 路由器、伺服器、精靈程式(daemon)、通訊協定等等)仍 然使用相當舊的技術。由於,網際網路應用及網路路由器 -6- 本纸張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 黑法跟上遞增的頻寬速度。@時,愈來愈多裝置及應用皆 具備網路遮力。這些裝置及應用對網路節點造成的負載已 極度增加。網路負载及應用數量遞增也提高實施及維護網 :應用的複雜度。因此,在舊型網路基礎設施中,網路頻 寬遞增及網路裝置和應用會造成資料路由及傳輸問題 ’尤其當發行内容給訂購者時。 一種用於促使網路將資訊從伺服器推播用戶端 的模型疋發行訂購模型。在這種模型中,伺服器變成其資 訊的簡化發行者,而不考慮用戶端可能對該資訊有興趣, 或是位於網路中。用戶端變成資訊訂購者,當可取得資訊 時就會傳遞資訊,可能不考慮關於在網路中的發行地點的 細即。然後,網路負貴將所發行資訊高效率路由給訂購者 ,使貧訊與有效訂購相關,並且以對發行者及訂購者無障 礙的方式進行所有事項。 因為發行訂購模型中會大幅降低伺服器的複雜度,所以 介於重量級伺服器與輕量級用戶端之間的差別會開始消失 ,或融合發行者或訂購者或兩者的對等見解。許多種應用 具有介於對等間之發行訂購型互動的本質關係。許多這些 應用的内在共同主題為,發行及訂購資訊屬於事件形式。 例如,出貰者購買或銷售存貨,造成存貨價格變更。^達 公路上發生的交通事故造成高速公路上的交通阻塞。 系統.中的安全性漏洞被發現’造成為軟體使兩者開發修補 程式(patch)。網際網路遊戲玩家射擊武器,造成另—位571531 A7 B7 V. Description of the Invention (1) References to Related Applications This patent application is related to the following patent applications. All of which are incorporated herein by reference: U.S. Provisional Patent Application No. 60 filed on August 15, 2001 / 3 12,074, entitled "Packet Routing Via Payload Inspection"; US Provisional Patent Application No. 60/3 12,077, filed on August 15, 2001, entitled "Method and Apparatus for Content-Based Routing and Filtering at Routers Using Channels ^; US Provisional Patent Application No. 60/3 12,076, filed on August 15, 2001, entitled "Method for Sending and Receiving a Boolean Function Over a Network"; US Provisional Patent Application, filed on August 15, 2001 Case No. 60/3 12,075, titled "Method for Storing Boolean Functions to Enable Evaluation, Modification, Reuse, and Delivery Over a Network"; and US Provisional Patent Application No. 60 / 329,526, filed on October 17, 2001, title For "Efficient Implementation of Wildcard Matching on Variable-Sized Fields in Content Based Routing FIELD OF THE INVENTION The present invention relates to a method and device for inspecting routing packets against the payload in a packet in a network core and for processing subscriptions in a distribution subscription network. BACKGROUND OF THE INVENTION The number of phases is increasing. However, the network infrastructure (including routers, servers, daemons, protocols, etc.) still uses fairly old technology. Because of Internet applications and network routers-6- The Zhang scale applies the Chinese National Standard (CNS) A4 specification (210 X 297 mm). The black method keeps up with increasing bandwidth speeds. @ 时, more and more devices and applications have network coverage. These devices and applications have The load caused by network nodes has increased extremely. Increasing network load and increasing number of applications have also increased the complexity of implementing and maintaining the network: applications. Therefore, in older network infrastructures, network bandwidth increases and network devices and Applications cause problems with data routing and transmission, especially when distributing content to subscribers. A model used to motivate the network to push information from servers to clients—publish and order models. In this model, the server becomes a simplified publisher of its information, regardless of whether the client may be interested in the information or located on the network. The client becomes an information orderer, and when the information is available, the information is passed on, and the details about the distribution site in the network may not be considered. Then, the network expensively routes the issued information to the subscribers, so that the poor news is related to a valid subscription, and all things are done in a way that is accessible to the publishers and subscribers. Because server complexity is greatly reduced in the release order model, the differences between heavyweight servers and lightweight clients will start to disappear, or the equivalent insights of publishers or subscribers or both will be incorporated. Many applications have a substantive relationship between peer-to-peer issue-order interactions. The common theme underlying many of these applications is that distribution and ordering information is an event format. For example, an issuer purchases or sells inventory, causing the inventory price to change. ^ Da Traffic accidents on highways cause traffic jams on highways. A security vulnerability in the system was discovered ’which caused the software to develop a patch for both. Internet gamers shoot weapons, causing another —

家的化身死亡^所有這些示範性現象都是大量訂靖 Z 省'可能 本纸朶尺度適用中國國家標準(CNS) A4規格(210X297公釐) 571531 A7 B7 ) 五、發明説明(3 有興趣的事件,並且可透過網路傳播以向這些訂購者通知 所發生的事件《因此,事件僅僅是關於在網路上某時刻·某 地點發生之某人可能有興趣的獨立(self_contained)、簡潔 的資訊^ 另一項貫例涉及排程廣播,其特性不同於只涉及非同步 事件的應用,其中事件時間不可預期且隨機發生。首先, 事件被排程在已知時間發生。第二,事件不一定是簡潔的 資訊。而是,可能是大量資料·。將大量負載資料導向至有 興趣訂購者的網路部份被發現需要大量伺服器處理。 伺服器或發行者通常執行網路的路由決策,以便指示網 路要在何處傳送發行訂購模型的發行内容。發行者健存其 發行者之内容的訂講^接收到或產生新内容時,發行者比 車父該内谷與母個訂講’以識別任何匹配。如果内容(事件) 符合任何訂購條件,則發行者會經由網路將内容推播至相 對應的訂購者。這項傳統發行訂購模型會對發行者造成極 大的負擔’特別當更多裝置具備網路功能及當訂購數量遞 增時。補充做法可能非常不理想一訂購者自行評估所有發 行事件的訂購。 Χ 隨著橫跨網際網路之數不清數量的應用日益結合,利用 事件通知的可能性變得無止盡。但是,這些可能性需要更 南效率方式以作出路由決策,並且決定事件何時符合訂講 條件.,以減輕發行者負擔《因此,一種普及、永續事件通 知服務可為網際網路應用以及其他應用及實施提供驚人的 附加價值利益。 * 8 *The death of the incarnation of the family ^ All of these exemplary phenomena are a large number of orders in the province of Z. 'Possible paper size is applicable to the Chinese National Standard (CNS) A4 specification (210X297 mm) 571531 A7 B7) 5. Description of the invention (3 Interested Events, and can be disseminated via the Internet to inform these subscribers of the events that occurred "so the event is only self-contained, concise information about what happened at a certain time on the Internet, somewhere, and someone may be interested ^ Another example involves scheduling broadcasts, which differs from applications that only involve asynchronous events, in which event times occur unexpectedly and randomly. First, events are scheduled to occur at known times. Second, events do not Concise information. Instead, it could be a large amount of data ... The portion of the network that directs a large amount of load data to interested subscribers was found to require a large number of servers to process. Servers or publishers often perform network routing decisions in order to Instructs the network where to send the distribution content of the distribution subscription model. The publisher keeps a subscription to the content of the publisher ^ Receives or generates new content At the time, the publisher talked to the mother than the car driver, and said that they could identify any match. If the content (event) meets any order conditions, the publisher will push the content to the corresponding subscriber via the Internet. This A traditional issue and order model would place a huge burden on publishers, especially when more devices have network capabilities and as the number of subscriptions increases. The supplementary approach may be very unsatisfactory-a subscriber evaluates subscriptions for all distribution events on its own. X With The ever-increasing number of applications across the Internet are increasingly being combined, and the possibilities of using event notifications are endless. However, these possibilities require more efficient ways to make routing decisions and determine when events are eligible for booking . To lighten the burden on publishers, "As a result, a popular, sustainable event notification service can provide amazing added value benefits for Internet applications and other applications and implementations. * 8 *

571531 A7 B7 五、發明説明(4 ) 發明概要 本發明提供一種用於在一網路中處理封包之第一方法及 裝置。接收到的封包具有標題區段及有效負載區段。在網 路核心中檢查該封包的有效負載區段,以在決定如何處理 封包時使用,以及依據檢查結果來選擇性處理該封包。 本發明提供一種用於配置一通道以促進内容架構型路由 之第一方法及裝置。該通道提供一介於一發行訂購網路中 複數個節點之間的邏輯通信路徑β該通道被配置以在透過 該通信路徑内容架構型路由資訊時使用,以及一訊息格式 被選取,用於依據該通道以透過該通信路徑傳輸。 本發明提供一種用於在一發行訂購網路中傳輸述詞 (Predicate)之第三方法及裝置。一運算式被接收,其包括 有關一訂購的布林值(B〇〇lean_Valued)述詞。該運算式被 編石馬成-用於在該網路中傳輸的訊息,以在内容^型路 由時使用,並且該訊息被傳輸入一網路核心中的至少一路 由器,以便為該訂購提供内容架構型路由。 本發明提供一種用於儲存一發行訂購網路之訂購的第四 方法及裝置。一結構被指定,以在該網路中儲存一訂購。 該結構被分割成複數個子運算式,並且該等子運算式係用 來共同指定-肖定訂購…冑林值述詞與該特定訂購:該 等子運算式的至少-子運算式相關,並且該布林值述詞= 供該特定訂購之-通知元件的指示,以便為該訂晴提 容架構型路由。 〃 本發明提供一種用於在一網路中路由封包之第 五方法及571531 A7 B7 V. Description of the invention (4) Summary of the invention The present invention provides a first method and device for processing packets in a network. The received packet has a header section and a payload section. The payload section of the packet is inspected in the core of the network to use when deciding how to process the packet, and to selectively process the packet based on the inspection results. The present invention provides a first method and device for configuring a channel to promote content-based routing. The channel provides a logical communication path between a plurality of nodes in a distribution and subscription network. The channel is configured to be used when routing information through the communication path content architecture, and a message format is selected for use in accordance with the The channel is transmitted through the communication path. The present invention provides a third method and device for transmitting a predicate in a distribution order network. An expression is received, which includes predicates on a subscription's Bollinger_Valued. The expression is compiled into a message for transmission in the network for use in content routing, and the message is transmitted to at least one router in a network core to provide for the subscription Content-based routing. The present invention provides a fourth method and apparatus for storing an order for a distribution order network. A structure is specified to store a subscription in the network. The structure is divided into a plurality of sub-expressions, and these sub-expressions are used to collectively specify-Schroding order ... The forest predicate is related to this particular order: at least-sub-expressions of the sub-expressions, and The Boolean value predicate = an indication of the -notification element for that particular order, in order to improve the architectural routing for the order. 〃 The present invention provides a fifth method for routing packets in a network and

裝 訂Binding

本纸張尺度適用中圉國家標準(CNS) A4規格(210 X29T^i7 571531 A7 _ B7 五、發明説明(5 ) 裝置。接收到的封包具有標題區段及有效負載區段。在網 路核心中檢查該封包的有效負載區段,以藉由使用限制具 有萬用字元之該有效負載區段中之欄位大小的路由規則來 決定如何路由封包,以及依據檢查結果來選擇性路由該封 包。 圖式簡單說明 併入並且建構本說明書一部份的附圖及本說明書解說本 發明的優點及原理。 圖1顯示在一網路核心中之智慧型路由的圖式。 圖2顯示適用於發行者及訂購者之智慧型路由器的網路 圖。 圖3顯示適用於智慧型路由器及網路骨幹路由器之網路 基礎設備的圖式。 圖4顯示智慧型路由器之硬體組件的圖式。 圖)顯不發行者機器及訂購者機器的圖式。 圖6顯示智慧型路由器之通道管理員的圖式。 圖7顯示在使用者機器中用於連接機器與智慧型路由 之軟體組件的圖式β 圖8顯示智慧型路由器之軟體組件的圖式。 圖9顯不訊息之封包結構的圖式。 圖10顯示發行方法的流程圖。 圖11顯示訂購方法的流程圖。 圖12顯示通道及訂購畫面的圖式。 圖13顯示内容架構型路由方法的流程圖。 7 OilThis paper standard applies to China National Standard (CNS) A4 specification (210 X29T ^ i7 571531 A7 _ B7 V. Description of the invention (5) device. The received packet has a header section and a payload section. In the core of the network Check the payload section of the packet to determine how to route the packet by using a routing rule that restricts the field size in the payload section with wildcard characters, and selectively route the packet based on the inspection results The diagrams briefly illustrate the drawings incorporated in and constructing a part of this specification, and this specification explains the advantages and principles of the present invention. Figure 1 shows a diagram of intelligent routing in a network core. Figure 2 shows a diagram applicable to The network diagram of the smart router of the publisher and the orderer. Figure 3 shows the diagram of the network infrastructure equipment applicable to the smart router and the network backbone router. Figure 4 shows the diagram of the hardware components of the smart router. (Picture) Shows diagrams of publisher machines and subscriber machines. Figure 6 shows a diagram of a tunnel manager of a smart router. FIG. 7 shows a diagram of a software component of a smart router for connecting the machine to the smart device β. FIG. 8 shows a diagram of a software component of the smart router. FIG. 9 shows a diagram of a packet structure of a message. FIG. 10 shows a flowchart of the issuing method. Fig. 11 shows a flowchart of the ordering method. Figure 12 shows the diagram of the channel and order screen. FIG. 13 shows a flowchart of a content architecture routing method. 7 Oil

圖14顯示快取方法的流程圖。 圖15顯示快取索引的圖式。 圖16顯示外傳訊息之代理方法的流程圖。 圖17顯示傳入訊息之代理方法的流程圖。 圖1 8顯示訊息編碼實例的圖式。 圖19顯示用於儲存訂購之資料庫結構的圖式。 圖20顯不萬用字元方法的流程圖。 發明詳細說明 概管. 一種網際網路等級(或其他分散式網路等級)的事件通知 乐統提供具有發行訂購網路功能及彈性體現的應用。在本 乐統中’應用程式使用事件通知應用程式介面(API)來發 行通知及/或訂購及接收關於網路内部發生之事件的通知。 系統的通知被給定一主題,這是分類通知封裝之資訊種 類的子串或其他結構。再者,通知被填入含有該通知特有 資訊的一組屬性。例如,應用可使用主題qu〇tes nyse及屬 性符號和價格發行關於紐約證券交易所(New Y〇rk stock Exchange)之父易的通知。應用可發生一具有特定屬性值 的個別通知,例如,具有等於SNE (Sony Corporation的股 票行情指示符號)的符號及等於85·25的價格《如果通知中 不是所士屬性都被預先定義,則意識到會在所有通知中會 發現.同系列主題的屬性。但是,發行者以按通知或其他基 礎來新增判別(discretionary)屬性,以便提供額外的事件 特定資訊。因此,不是全部或甚至任何屬性需要被預先定 -11 - 本纸張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)FIG. 14 shows a flowchart of the caching method. Figure 15 shows a diagram of a cache index. FIG. 16 shows a flowchart of an agent method for outgoing messages. FIG. 17 shows a flowchart of a proxy method for incoming messages. Figure 18 shows a diagram of an example of message encoding. Figure 19 shows a diagram of a database structure for storing subscriptions. Figure 20 shows a flowchart of a wildcard method. Detailed Description of the Invention Overview. An Internet-level (or other decentralized network-level) event notification Letong provides applications with the ability to publish and subscribe to the network and flexible manifestation. In this Le Tong application, the application uses the Event Notification Application Programming Interface (API) to issue notifications and / or order and receive notifications about events that occur within the network. The system's notification is given a subject, which is a substring or other structure that categorizes the type of information encapsulated in the notification. Furthermore, the notification is populated with a set of attributes containing information specific to the notification. For example, the application may issue a notice about the New York Stock Exchange's New York Stock Exchange using the subject quotes nyse and property symbols and prices. An application can generate an individual notification with a specific attribute value, for example, a symbol equal to SNE (Sony Corporation's stock market indicator) and a price equal to 85 · 25 "If not all attributes are predefined in the notification, then awareness You will find the properties of the same series of topics in all notifications. However, publishers add discretionary attributes on a notification or other basis to provide additional event-specific information. Therefore, not all or even any attributes need to be predetermined. -11-This paper size applies the Chinese National Standard (CNS) A4 specification (210 X 297 mm)

裝 訂Binding

線 在本系統中,不會限制訂購者只訂購主題或整個通道。 下文中會進一步解說及定義通道。通道可包括用於指定(例 如)主題及一層或一層以下層級相關子欄位(子主題)階層結 構》因此,訂購者可提供更細緻的興趣表達,其方式 過通知屬性來指定内容架構型篩選條件。例如,訂購者可 訂購具有符號等於SNE及價格大於90·0〇之主題qu〇tes nyse 的所有通知(指示或許有訂購者所擁有之大批股票的銷售 機會)。當訂購者提供登錄訂購時或其他時間,符合訂^ 的所有通知都可經由回呼(caUback)函式或其他類^函式 傳遞給訂購者。訂購可被分成許多_選條件。 回呼可執行許多計算,包括像將訊息寫入至終端機或傳 送電子郵件一樣簡單的事項,如起始大批股票銷售之類的 複雜事項,以及起始新發行訂購活動的複雜事項(例如, 使用以75.00價格購買機會的新訂購取代現有訂購,或發 行有關已修改訂購者投資組合的新通知)。 例如,代理程式會在發行及訂購活動方面協助應用。代 理程式或許會利用或可能是使用Pr〇xy (代理伺服器)來實 施。當使用代理程式,代理程式提供用於外傳通知及訂購 的網路連接,以及將傳入的相符通知傳遞給訂購者。一旦 通知進入網路,則系統的路由器網路會將通知傳播給其: 購匹配通知的所有訂購者。實施此目的的一種方式是將通 知廣播至所有網路點,然後讓應用代理程式決定該通知是 否與其訂購者相關。但是,ϋ不一定是可擴充的做法一網 571531 五、發明説明( 路通常會因訊息資料流量負載而迅速不堪負荷,尤其是有 大量有效及囉嗦的發行者時.而且,即使足量的頻寬不·是 問題’訂購者也會因必須處理許多通知而受不了。 系統的不範性網路在路由通知方式方面的效率極高。第 ,匕可使用多點播送路由,以確保透過網路中的任何連 結(例如)傳播通知至多一次。第二,它可採用大量的精密 最佳化篩選條件,以儘可能減少通知傳播。 圖1顯不在網路核心中之智慧型路由的概念圖β在發行 訂購網路運用中,發行者14經由邊緣路由器16將訊息内容 傳輸至網路核心10。發行訂購網路包括任何類型網路,用 於將資料或内容從發行者路由至訂購者。内容係經由一個 或一個以上通道18傳輸,其中通道表示介於路由器與其他 裝置之間的邏輯連接。網路核心1〇中的智慧型路由器。決 :是否要路由或轉遞訊息。具體而言,智慧型路由器12決 定訊息是否包含訂購者24訂購的内容。 每個訂購都封裝-主題筛選條件及一屬性薛選條件。路 由器可能會將主題筛選條件展開成一組相符主題集,並且 以按主題為基礎來合併屬性筛選條件。智慧型路由琴比對 通知主題來評估主料選條件,並且比對通知中的屬性值 來評估屬性筛選條件。主題筛選條件的語法可能合使用萬 用而屬性!帛選條件的語法可能會使用布林⑽〇㈣ 下文中會進一步解說。術語“篩選條件”係用來描 述訂購者有興趣從發行者接收的_組事件集。路由規則传 由師選條件產± ’並且供智慧型路“使用以作出路由決Lines In this system, orderers are not restricted to ordering only topics or entire channels. Channels are further explained and defined below. Channels can include a hierarchy for specifying (for example) topics and related subfields (subtopics) at one or lower levels. Therefore, subscribers can provide more detailed expressions of interest by notifying attributes to specify content architecture filtering condition. For example, a subscriber may order all notifications with the subject equal to SNE and a subject quotes nyse with a price greater than 90 · 00 (indicating that there may be sales opportunities for a large number of shares owned by the subscriber). When the orderer provides a login order or other time, all notifications matching the order ^ can be passed to the orderer via a caUback function or other similar ^ function. Ordering can be divided into many options. Callbacks can perform many calculations, including things as simple as writing a message to a terminal or sending an e-mail, complex things like starting a large stock sale, and complicated things like starting a new issue ordering activity (for example, Replace existing subscriptions with new subscriptions for purchase opportunities at 75.00 or issue new announcements about modified subscriber portfolios). For example, the agent assists the application in terms of publishing and ordering activities. The agent may or may not be implemented using Proxy (proxy server). When using an agent, the agent provides an internet connection for outbound notifications and ordering, and passes incoming matching notifications to the subscriber. Once the notification enters the network, the system's router network will propagate the notification to all of its subscribers: One way to do this is to broadcast the notification to all network points and then let the application agent decide whether the notification is relevant to its subscribers. However, ϋ is not necessarily an extensible way. 571531 5. Description of invention (The road will usually be overwhelmed due to the load of information and data traffic, especially when there are a large number of effective and 发行 publishers. Moreover, even a sufficient amount of frequent Forgiveness is the problem. Subscribers ca n’t stand it because they have to deal with many notifications. The system ’s non-standard network is extremely efficient in terms of routing notifications. Third, you can use multicast routing to ensure that you can pass through the network. Any link in the road (for example) propagates the notification at most once. Second, it can use a large number of precise optimization filters to minimize the spread of notifications. Figure 1 shows the concept of intelligent routing not in the core of the network In the use of distribution and subscription networks, the publisher 14 transmits the message content to the network core 10 via the edge router 16. The distribution and subscription network includes any type of network for routing data or content from the publisher to the subscriber. Content is transmitted via one or more channels 18, where a channel represents a logical connection between the router and other devices. Network Core 10 Smart router. Decide whether to route or forward the message. Specifically, the smart router 12 determines whether the message contains the content ordered by the subscriber 24. Each order is encapsulated-a subject filtering condition and an attribute selection condition. The router may expand the topic filtering conditions into a set of matching topic sets, and merge the attribute filtering conditions based on the topic. The smart routing piano compares the notification topics to evaluate the main selection criteria, and compares the attributes in the notification. Value to evaluate attribute filter conditions. The syntax of the subject filter conditions may be combined with the universal and attributes! The syntax of the selection conditions may be described by Bring ⑽ ㈣ ㈣ will be explained further below. The term "filter conditions" is used to describe The orderer is interested in the set of events received from the publisher. The routing rules are passed by the teacher to select the conditions and are used by the smart way to make routing decisions.

571531 A7 B7 五 策。 因此,如果訊息26不符合整個篩選條件集,例如,知慧 型路由器12捨棄訊息26,這表示不會轉遞訊息。例如:: 果依據主題篩選條件及屬性篩選條件評估,訊息2〇符人效 個筛選條件集的任一篩選條件,則會依據為相符篩選條= 指定的所有路由及/或動作規則,智慧型路由器12經由邊 緣路由器22或可能其他裝置將訊息20路由(轉遞)至訂購者 24 ’或使用訊息2〇執行路由器12内部的其他函式。繼續搜 尋士到已用完整個筛選條件集,或已獲得關於所有規則二 決策,無論哪一項先達成。 這種在網路核心中的智慧型内容架構型路由提供(例如) 警示及更新的即時資料傳遞警示之即時資料傳遞的實例 包括但不限於以下項目:股票即時行情、交通'新聞、旅 遊、天氣'詐欺偵查、安全性、電傳、工廠自動化、供應 鏈管理及網路管理。更新之即時資料傳遞的實例包括但不 限於以下項目:軟體更新、防毒軟財新、電影及音樂傳571531 A7 B7 Five policies. Therefore, if the message 26 does not meet the entire set of filtering conditions, for example, the smart router 12 discards the message 26, which means that the message will not be forwarded. For example :: If the evaluation is based on the subject filter and attribute filter conditions, the message 20 characters of any of the filter conditions of the filter condition set will be based on the matching filter bar = all routing and / or action rules specified, wisdom The type router 12 routes (forwards) the message 20 to the subscriber 24 ′ via the edge router 22 or possibly other devices or uses the message 20 to perform other functions inside the router 12. Continue to search until you have used the complete set of filters, or you have obtained all decisions regarding Rule Two, whichever comes first. This intelligent content-based routing in the core of the network provides (for example) alerts and updated real-time data delivery. Examples of real-time data delivery alerts include, but are not limited to, the following items: real-time stock quotes, traffic news, travel, weather 'Fraud detection, security, telex, factory automation, supply chain management and network management. Examples of updated live data transfers include, but are not limited to, software updates, anti-virus software innovations, movies and music transfers

遞、工作流程、儲存管理及快取區一致性。可有用於傳送 訂購資訊的許多其他的應用。 表格1顯示儲存具有主題及筛選條件述詞的訂購。可視 需要以任何類型資料結構儲存至網路任何位置。如下文中 解說,述詞屬於訂購組件。訂購可以任何方式陳述,以下 提餐其實例。 ____________*14 - 本紙張尺度適用中國國家標準(CNS) Α4規格(210 X 297公釐) 五、發明説明(10 )Delivery, workflow, storage management, and cache area consistency. There are many other applications for transmitting ordering information. Table 1 shows storing subscriptions with subject and filter predicates. You can save it to any location on the network with any type of data structure. As explained below, the predicates are part of the order. Ordering can be stated in any way, examples of meals are given below. ____________ * 14-This paper size applies to China National Standard (CNS) Α4 size (210 X 297 mm) 5. Description of the invention (10)

表格1 訂購1 主題1 述詞1 訂購N 主題N 述詞N 表格2提供發行及訂購股票即時行情伺服器的實例。本 實例僅供解說用途,並且訂購可包括任何類型資料或内容 的任何數量及任何類型參數。 表格2 . 股票即時行情伺服器實例 Subject Tree Publication Quotes.NYSE subject = Quotes.NYSE Quotes.AMEX Attributes Quotes.NASDAQ Symbol = SNE Price = 51 Volume = 1000000 · Attributes Subscription Symbol Subject = Quotes.NYSE Price Filter Volume (Symbol = SNE) & (Price > 55) 述詞提供訂購的布林運算式,而主題提供訂購通道的指 示。這可用許多不同方式表示訂購。使用布林運算式是一 項此類實例,並且提供將訂購輕易轉換成主題篩選條件及 屬性篩選條件,以作内容架構型路由之用。或著可在不需 要參考主題的情況下來表示訂購;但是,使用主題或通道 (下文中會進一步解說)提供用於解譯及套S篩選條件至屬 性的内容。 路由可在網路核心中達成並且分散整個網路,以減輕發 行者及訂購者機器的處理負擔,並且顯著增強網路效率。 -15· 本纸張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 571531 A7Table 1 Order 1 Topic 1 Predicate 1 Order N Topic N Predicate N Table 2 provides examples of real-time stock market servers that issue and order stocks. This example is for illustrative purposes only, and the subscription may include any amount of any type of material or content and any type of parameters. Table 2. Real-time stock quote server example Subject Tree Publication Quotes.NYSE subject = Quotes.NYSE Quotes.AMEX Attributes Quotes.NASDAQ Symbol = SNE Price = 51 Volume = 1000000 · Attributes Subscription Symbol Subject = Quotes.NYSE Price Filter Volume (Symbol = SNE) & (Price > 55) The predicate provides the Bollinger expression for the order, and the subject provides an indication of the order channel. This can represent ordering in many different ways. The use of Bollinger expressions is one such example, and provides easy conversion of subscriptions into topic filters and attribute filters for content-structured routing. Alternatively, the order can be expressed without reference to the subject matter; however, the use of the subject or channel (further explained below) provides content for interpretation and set of filter criteria to attributes. Routing can be achieved in the core of the network and disperse the entire network to reduce the processing load on the issuer and subscriber machines and significantly enhance network efficiency. -15 · This paper size applies to China National Standard (CNS) A4 (210 X 297 mm) 571531 A7

圖1顯示一發行者、一訂講者及一智慧型路由^,僅供解 說用途;實施可包括許多發行者、訂講者及智慧型路由器 。術語“智慧型路由器’,表示能夠檢查網路核心或其他位置 中之封包或訊息之有效負載來決定路由的路由器或其他實 、體。 、 路基礤設旅 圖2顯示適用於發行者及訂購者之智慧型路由器的網路 圖。例如,提供通道服務的路由實體3〇實際上被定位在網 路基礎設施層,如下文中解說,用於在智慧型路由器之間 路由訊息。概念上,發行者32包括用於接收發行内容指示 (如用於擷取内容的指標)的應用程式34,以及用於編碼内 容以經由通道服務30進行網路傳輸的代理程式%。邏輯互 相連接之智慧型路由器38、40、42、44、46和48的集合使 用從訂購的主題篩選條件和屬性篩選條件產生的路由規則 攸發行者路由内容。複數條連結39、41、43及45提供介於 智慧型路由器38、40、42、44、46與48之間的邏輯連接。 其他連結37和47分別提供介於發行者32與智慧型路由器% 之間的邏輯連接,及介於訂購者54與智慧型路由器判之間 的邏輯連接。訂購者54包括用於偵測及接收訂購内容的代 理程式:>〇,以及用於呈現内容的應用程式52。 通道可包括(例如)以分散方式實施的一組相關邏輯多點 播送連接。在本示範性具體實施例中,通道是用於伺服交 換内容之發行者和訂購者共同體的邏輯相關網路資源集合 。内容係依據通道主題命名空間分類,並且會經由通道管 -16 -Figure 1 shows a publisher, a subscriber, and a smart router ^ for illustrative purposes; implementations can include many publishers, subscribers, and smart routers. The term "smart router" refers to a router or other entity that can check the payload of packets or messages in the core or other locations of the network to determine routing. Subgrades Figure 2 shows that it is suitable for issuers and subscribers A network diagram of a smart router. For example, the routing entity 3 that provides channel services is actually located at the network infrastructure layer, as explained below, for routing messages between smart routers. Conceptually, publishers 32 includes an application program 34 for receiving distribution content instructions (such as an indicator for retrieving content), and an agent program for encoding content for network transmission via the channel service 30. A smart router 38 logically interconnected 38 The collection of 40, 42, 44, 46, and 48 uses the routing rules generated from the ordered topic filters and attribute filters to route content to publishers. A plurality of links 39, 41, 43, and 45 provide smart routers 38 , 40, 42, 44, 46, and 48. The other links 37 and 47 provide between the publisher 32 and the smart router, respectively. And a logical connection between the subscriber 54 and the smart router. The subscriber 54 includes an agent for detecting and receiving the ordered content: > 〇, and an application 52 for presenting the content A channel may include, for example, a set of related logical multicast connections implemented in a decentralized manner. In this exemplary embodiment, a channel is a logically related network resource for a community of publishers and subscribers that servo exchange content. Collection. The content is categorized according to the channel theme namespace,

571531 A7 B7 五、發明説明(η ) 理員提供的通道服務來管理、控制及開通資源。多個通道 可/、用同一 源。通道可提供高度可擴充型目錄服務,例 如但不限於以下實例:發行者和訂購者資訊、鑑認及授權 資訊 '訊息類型、管理資訊及帳戶處理和帳單資訊。通道 還可包括(例如)透過快取的保存性、快速資料傳遞機制、 安全性及使用者和網路管理。通道也可作任何其他用途。. 智慧型路由器執行的篩選可發生在網路核心中,以分散 路由決策另外,兔慧型路由器也可當作邊緣路由器,用 於連接使用者裝置(如發行者或訂購者)與網路核心。再者 ’連接至網路的同一裝置可同時當作發行者以經由網路中· 的路由決策將内谷推播給訂購者,以及當作 所推播内容。視特定實施的需求,可用任何組態 慧型路由器與通道’並且圖2所示的組態僅供解說用途。 圖3顯示適用於智慧型路由器及傳統網路骨幹路由器之 網路基礎設備的圖式,還顯示通道的邏輯連接。在本實例 中,智慧型路由使用網路(如網際網路或其他分散式網 路)中的現有網路骨幹路由器,因此,智慧型路由器實際 上被定位在網路骨幹路由器層。在本實例中,網際網路服 務提供者(ISP)網路58、59和6〇都包括用於傳統路由訊自 或封包的數個網路骨幹路由器。複數個智慧型路由器㈣ 7〇連接至ISP網路58、59和6〇中的一個或_個以上網路骨 幹路由器,型路由器61至70也藉由複數條連結乃至以 (表不連結的實例)互相連接,並且也可藉由連結連接至使 用者裝置。智慧型路由器61至7〇可被如實體71之類的管理 •17- 本紙張尺度適用中g g家標準(CNS) Μ規格( χ297公爱) 571531 A7 B7 五 、發明説明(13 ) 員機器及如實體72之類的一個或一個以上虛擬私用網路 (VPN)控制器控制。ISP網路58、59和60也可被連接至發行 者和訂購者機器(圖3中未顯示)。ISP網路58、59和60中及 之間的網路骨幹路由器係在現有網路基礎設施内以傳統方 式互相連接。 如圖所示,可使用現有網路基礎設施來實施智慧型路由 器61至70及連結73至85,並且提供網路核心中的内容架構 型路由之用途。連結73至85表示介於智慧型路由器61至70 之間的邏輯連接,並且可使用(例如)現有網路基礎設施或 其他裝置實施。例如,可使用稱為馨通道(tunnel)的邏輯 連接來實施連結。鑿通道(tunnel)包括用於實施連結的硬 體(及可能是軟體)網路基礎設施,並且一個鑿通道(tunnel) 可能是多個通道的組成。通道藉由提供邏輯組態以針對特 定類型内容來促進在智慧型路由器中的内容架構型路由, 並且以此方式提供透過通道傳輸之屬性的内容。雖然智慧 型路由器可在沒有通道情況下執行路由決策,但是通道會 藉由網路核心中的智慧型路由器來增強内容架構型路由的 效率。 本示範性具體實施例包括通道及連結之使用。連結是介 於兩個路由器之間的連接-雖然智慧型路由器。通道是包 含(通常是大型)路由器集合的網路實體,由互相連接的連 結靜態或動態配置,以達成一對多或多對多邏輯連接。具 體而言,通道是同於描述通道基本特性的最高層邏輯實體 。在一個通道下,可能是許多主題。每個主題都構成包含 -18- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂571531 A7 B7 V. Description of the Invention (η) The channel service provided by the administrator to manage, control and open resources. Multiple channels can use the same source. Channels can provide highly scalable directory services such as, but not limited to, the following examples: publisher and subscriber information, authentication and authorization information 'message types, management information, and account processing and billing information. Channels can also include, for example, preservability through caches, fast data transfer mechanisms, security, and user and network management. The channel can also be used for any other purpose. Screening performed by smart routers can occur in the core of the network to decentralize routing decisions. In addition, rabbit smart routers can also be used as edge routers to connect user devices (such as publishers or subscribers) to the core of the network. . Furthermore, the same device connected to the network can act as a publisher at the same time to push Inner Valley to subscribers via routing decisions in the network, and as the promoted content. Depending on the requirements of a particular implementation, any configuration can be used. Smart routers and channels' and the configuration shown in Figure 2 is for illustrative purposes only. Figure 3 shows the diagrams of the network infrastructure equipment applicable to smart routers and traditional network backbone routers, as well as the logical connections of the channels. In this example, the intelligent router uses an existing network backbone router in the network (such as the Internet or other decentralized networks). Therefore, the intelligent router is actually located at the network backbone router layer. In this example, the Internet Service Provider (ISP) networks 58, 59, and 60 each include several network backbone routers for traditional routing or packet routing. Multiple smart routers 70 are connected to one or more network backbone routers in ISP networks 58, 59, and 60, and routers 61 to 70 are also connected through multiple links or even (not linked examples) ) Are connected to each other and can also be connected to the user ’s device via a link. Smart routers 61 to 70 can be managed like entity 71. 17- This paper standard is applicable to the gg home standard (CNS) M specification (χ297 public love) 571531 A7 B7 5. Description of the invention (13) Controlled by one or more virtual private network (VPN) controllers, such as entity 72. ISP networks 58, 59, and 60 can also be connected to publisher and subscriber machines (not shown in Figure 3). The backbone routers in and between ISP networks 58, 59, and 60 are traditionally interconnected within the existing network infrastructure. As shown in the figure, the existing network infrastructure can be used to implement smart routers 61 to 70 and links 73 to 85, and provide the use of content-based routing in the core of the network. Links 73 to 85 represent logical connections between smart routers 61 to 70 and can be implemented using, for example, existing network infrastructure or other devices. For example, a logical connection called a tunnel can be used to implement the connection. A tunnel includes the hardware (and possibly software) network infrastructure used to implement the connection, and a tunnel may consist of multiple channels. A channel facilitates content-based routing in a smart router by providing a logical configuration for a specific type of content, and in this way provides content with attributes that are transmitted through the channel. Although smart routers can perform routing decisions without tunnels, tunnels can enhance the efficiency of content-based routing with smart routers in the core of the network. This exemplary embodiment includes the use of channels and links. A link is a connection between two routers-although smart routers. A channel is a network entity that contains a collection of (usually large) routers that are statically or dynamically configured by interconnected connections to achieve one-to-many or many-to-many logical connections. Specifically, a channel is the highest-level logical entity that describes the basic characteristics of a channel. There can be many topics under one channel. Each theme is composed of -18- This paper size applies to China National Standard (CNS) A4 (210 X 297 mm) binding

571531 五、發明説明(14 互相連接路由器的子網路(如多點播送樹狀結構)。可用 同方式來配置、導向及配置這些主題架構型子網路。例如 屬於種用於在其下構成主題之所有子網路集合的通道 就像是網路的網線。 ^ 圖4顯示曰慧型路由裔%之示範性硬體組件的圖式,其 中智慧型路由器相當於任何其他提及的智慧型路由器。網 路節點90可包括連接至網路骨幹路由器95的智慧型路㈣ 92。智慧型路由器92包括連接至記憶體料及次要健存裝置 Μ (例如,可能使用分散的機器來實施)的處理器%,記憶 租…人要健存裝置之任一裝置可儲存資料和快取資料,以 及儲存供處理g 93執行的制程式。:欠要料裝置97提供 非揮發性神資I如下文中解說,在軟體控制下,處理 器93依據從訂購的主題筛選條件和屬性筛選條件產生的路 由規則將指令提供給網路骨幹路由器95,以指示是否要路 由(轉遞)或不路由(捨棄)訊息或封包。雖然圖中係以分開 的處理器控制型裝置來實施路由器,但是也可將智慧型路 由器92實施在網路骨幹路由器%的專用積體電路(asic)* ,以在可此具有内嵌軟體的硬體中提供智慧型路由功能。 或者也可在^個路由裝置中以軟硬體組合來實施智慧型 路由功能。 圖5呈現示範性發行者機器及訂購者機器的圖式。發行 者機器1〇〇或118可包括以下組件:一記憶體1〇2,用於儲 存一個或一個以上發行者應用程式1〇4及一代理應用程式 10), —次要儲存裝置112,用於提供非揮發性儲存資料; L_______ -19, 本紙張尺度適財g g家料(CNS)域格(靡297公爱)571531 V. Description of the invention (14 Subnets that interconnect routers (such as multicast tree structures). These subject-architecture subnets can be configured, directed, and configured in the same way. For example, they belong to a class used to form The channels of all the subnet collections of the theme are like network cables. ^ Figure 4 shows a schematic diagram of exemplary hardware components of smart routers, where a smart router is equivalent to any other mentioned smart The network node 90 may include a smart router 92 connected to a network backbone router 95. The smart router 92 includes a memory device and a secondary storage device M (for example, it may be implemented using decentralized machines) % Of the processor, memory rent ... Any device of the device to be stored can store data and cache data, as well as store programs for processing g93. The non-expecting device 97 provides non-volatile divine resources I as follows The article explains that under software control, the processor 93 provides instructions to the network backbone router 95 according to the routing rules generated from the ordered topic filtering conditions and attribute filtering conditions. Shows whether to route (forward) or not (discard) messages or packets. Although the router is implemented as a separate processor-controlled device in the figure, the smart router 92 can also be implemented on a network backbone router. Dedicated integrated circuit (asic) * to provide intelligent routing functions in hardware that can have embedded software. Or you can implement intelligent routing functions in a combination of software and hardware in ^ routing devices. Figure 5 Presentation diagrams of exemplary publisher machines and subscriber machines. The publisher machine 100 or 118 may include the following components: a memory 102 that stores one or more publisher applications 104 and 1 Agent application 10), —Secondary storage device 112, which is used to provide non-volatile storage data; L_______ -19, this paper size is suitable for financial gg home materials (CNS) domain (super 297 public love)

—輪入裝置108,用於輸入資訊或命令;_處理器1M,用 於執行記憶體102中儲存的應用程式或從其他健存裝置接 收到的應用程式;一輸出裝置110 ,用於輸出資訊;以及 一顯示裝置116,用於提供資訊的視覺顯示。 訂購者機器122或140可包括以下組件:一記憶體124, 用於儲存一個或一個以上應用程式126及一代理應用程式 28,-人要儲存裝置130,用於提供非揮發性健存資料; 一輸入裝置132,用於輸入資訊或命令;一處理器丨34,用 於執行記憶體124中儲存的應用程式或從其他儲存裝置接 收到的應用程式;一輸出裝置136,用於輸出資訊;以及 —顯示裝置138,用於提供資訊的視覺顯示。或者,發行 者機器及訂購者機器可包括任何組態中的更多或更少組件 ’或包括不同組件。 發行者機器100和1 18係經由如上文所述之網路之類的網 路120連接至訂購者機器122和14〇。網路12〇包括智慧型路 由器,用於經由訊息或封包在網路核心中分散路由資料或 内容。雖然圖中只有顯示兩個發行者機器及訂購者機器, 但是網路12 0可被擴充以包括更多發行者機器及訂購者機 器。發行者機器及訂購者機器可使用任何處理器控制型裝 置來實施,例如但不限於以下實例:伺服器;個人電腦、 筆記型個人電腦、個人數位助理(PDA);電話;行動電話 ;傳呼機;或其他裝置。具有智慧型路由器的網路12〇可 包括任何有線或無線分散式網路、用於連接有線裝置、無 線裝置或這兩種裝置。網路12〇也可能使用現有或傳統網 L____— - 20 · 本纸張尺度適財国國家標準(CNS) A4規格(no X撕公爱)-A turn-in device 108 for inputting information or commands; a processor 1M for executing applications stored in the memory 102 or applications received from other storage devices; an output device 110 for outputting information And a display device 116 for providing a visual display of information. The subscriber machine 122 or 140 may include the following components: a memory 124 for storing one or more application programs 126 and a proxy application program 28, and a human-required storage device 130 for providing non-volatile health data; An input device 132 for inputting information or commands; a processor 34 for executing applications stored in the memory 124 or applications received from other storage devices; an output device 136 for outputting information; And—a display device 138 for providing a visual display of information. Alternatively, the publisher machine and the subscriber machine may include more or fewer components in any configuration, or include different components. The publisher machines 100 and 118 are connected to the subscriber machines 122 and 140 via a network 120 such as the network described above. The network 12 includes intelligent routers for distributing routing data or content in the core of the network via messages or packets. Although only two publisher machines and subscriber machines are shown in the figure, the network 120 can be expanded to include more publisher machines and subscriber machines. Publisher machines and subscriber machines can be implemented using any processor-controlled device, such as but not limited to the following examples: servers; personal computers, notebook personal computers, personal digital assistants (PDAs); telephones; mobile phones; pagers ; Or other devices. The network 12 with a smart router may include any wired or wireless distributed network, for connecting wired devices, wireless devices, or both. The Internet 12 may also use the existing or traditional network L____ —-20 · This paper is suitable for the national standard (CNS) A4 specification (no X tear public love)

Hold

571531 五、發明説明571531 V. Description of the invention

路基礎設施。 圖6顯示智慧型路由器之通道管理員15〇的圖式。在本實 例中,通道管理員150係使用多個伺服器152、154和156實 施。每個伺服器都包括所屬本機儲存裝置158、16〇和M2 。智慧型路由器164、166和168聯繫通道管理員以取得關 於特定通道的資訊。通道管理員還可提供資料保存性、錯 誤後移轉(fail over)功能或其他功能。因此,通道管理員 提供通道服務,包括位於網路任何位置的資料庫或一組資 料庫集,用於指定(例如)通道相關資訊、資料保存性的内 容、發行者和訂購者的使用者資訊及基礎設施資訊。基礎 設施資訊可包括(例如)智慧型路由器的識別和連接智慧型 路由器的相對應鑿通道(tunnel)、通道主題及通道屬性(每 個屬性的名稱及類型)^封包或訊息也可運載通道相關資 訊,包括固定屬性及可變屬性的識別。 線上使用者可下載通道資訊。例如,使用者可藉由使闬 使用者名稱及密碼進行登錄。在鑑認使用者的登入後,使 用者就可開啟(叫用)通道,從通道管理員擷取關於通道的 資訊。在發行内容過程中,發行者可使用該資訊,並且訂 購者可使用該資訊來輸入及登錄訂購。 在本實例中,每個通道管理員152、154和156都是當作 每個智慧型路由器的主要通道管理員。具體而言,在本實 例中·,每個智慧型路由器都配置兩個網際網路規約(IP)位 址’一位址是主要通道管理員的位址,而另一位址是備份 通道管理員的位址。智慧型路由器使用這些IP位址來聯繫 -21 - 本纸張尺度逋用中國國家標準(CNS) A4規格(210 X 297公釐) 17 571531 五、發明説明( =官理貝’並且榻取得通道資訊。如果主要通道管理員 *生錯j,則智慧型路由器可聯繫傷份通道管理員。因此 官理員152、154和156共用關於通道屬性及其他資 -。貝料’如連接通道管理員的線條所標示。每個通道管 =貝也具有㈣的備份通道管理員,以便如果通道管理員 發生錯誤’則另一通道管理員可接管其處理工作。例如, 的裝置可使用命令來揭取通道資訊,表格3中提供 貝例或者’冬慧型路由器只具有一個主要通道管理 員或具有兩個以上通道管理員。 =7顯示在使用者機器或裝置中用於連接與具有智慧型 路由器之網路之堆疊180中之示範性軟體組件的圖式。使 用者機器可被當作發行者 '訂購者或兩者,並且可包括如 上文所述的示範性裝置。堆疊18〇可包括_個或一個以上 使用者應用程式182,用於接收來自使用者的訂購、接收 來自發行者的通道資訊或接收所要發行的内容或資料。使 用者應用程式182還可包括任何其他類型應用程式,以供 使用者機器或裝置執行。 堆疊180可包括(例如)代理程式184、事件程式庫⑻、 快取程式庫188、通道程式庫19〇、訊息服務程式庫⑽ 發送器程式庫m。絲程式184係用來建立網路連接或盆 他功能,並且表格3提供代理程式184實施之命令的實例了 其可使用Proxy (代理伺服器)命令或其他類型命令。事件 程式庫186記錄關於使用者機器的事件,或其他事件或資 訊。快取程式庫188係用於本機快取資料。通道程式庫Η。 -22· 本紙張尺度適用中國國家標竿(CNS) A4規格(210X297公爱Γ 訂 線 571531Road infrastructure. Figure 6 shows a diagram of the tunnel manager 15 of the smart router. In this example, the tunnel manager 150 is implemented using multiple servers 152, 154, and 156. Each server includes its own local storage devices 158, 160 and M2. Smart routers 164, 166, and 168 contact the tunnel manager to obtain information about a particular tunnel. The channel administrator can also provide data retention, fail over function, or other functions. As a result, channel administrators provide channel services, including databases or a set of databases located anywhere on the network, to specify, for example, channel-related information, data retentive content, and publisher and subscriber user information And infrastructure information. Infrastructure information can include, for example, the identification of smart routers and the corresponding tunnels, tunnel subjects, and channel attributes (name and type of each attribute) connected to the smart router. ^ Packets or messages can also carry tunnels. Information, including identification of fixed and variable attributes. Online users can download channel information. For example, the user can log in by using 闬 username and password. After authenticating the user's login, the user can open (invoke) the channel and retrieve information about the channel from the channel administrator. In the process of distributing content, the publisher can use the information, and the subscriber can use the information to enter and register the subscription. In this example, each tunnel manager 152, 154, and 156 serves as the primary tunnel manager for each smart router. Specifically, in this example, each smart router is configured with two Internet Protocol (IP) addresses, where one address is the address of the primary channel administrator and the other address is the backup channel management Member's address. Smart routers use these IP addresses to contact -21-This paper size uses the Chinese National Standard (CNS) A4 specification (210 X 297 mm) 17 571531 V. Description of the invention (= 官 理 贝 'and get access Information. If the main channel manager * makes a mistake, the smart router can contact the injured channel manager. Therefore, the administrators 152, 154, and 156 share information about channel attributes and other information. Marked by the line. Each channel tube = also has a backup channel manager for ㈣, so that if the channel manager makes a mistake, another channel manager can take over its processing work. For example, the device of Channel information, examples provided in Table 3 or 'Donghui type router has only one main channel manager or has more than two channel managers. = 7 is displayed in the user machine or device for connection with the smart router A diagram of exemplary software components in a network stack 180. The user machine may be considered a publisher's subscriber or both, and may include exemplary as described above The stack 180 may include one or more user applications 182 for receiving subscriptions from users, receiving channel information from publishers, or receiving content or data to be distributed. The user applications 182 may also Includes any other type of application for user machine or device to execute. Stack 180 may include, for example, agent 184, event library ⑻, cache library 188, channel library 19, message service library ⑽ send The program library m. The silk program 184 is used to establish a network connection or other functions, and Table 3 provides examples of the commands implemented by the agent program 184, which can use Proxy commands or other types of commands. Event programs Library 186 records events about the user's machine, or other events or information. Cache library 188 is used for local cache data. Channel library Η. -22 · This paper standard applies to China National Standards (CNS) A4 Specifications (210X297 public love Γ line 571531

五、發明説明(18 ) 儲存通道的識別及通道資訊。發送器程式庫194提供化至 控制路徑190、通道管理員198及一個或一個以上智慧蜇路 由器200的連接,並且可包括表格4中識別的示範〖生功舶 訊息服務程式庫192提供連至資料路徑204的連接°V. Description of the invention (18) Identification of channel and channel information. The transmitter library 194 provides connections to the control path 190, the channel manager 198, and one or more smart routers 200, and may include the model identified in Table 4 Connection of path 204 °

表格5至9提供以C程式設計語言撰寫之訊息服務API的 實例。表格5和ό提供用於傳送及擷取訊息之API的貫例。 表格7和8提供用於傳送及擷取通知之API的實例。表格9提 供用於傳送及擷取控制訊息之API的實例。在本說明書中 提供的這些API和其他API、程式及資料結構僅當作用於 實施特定函式或功能的實例,並且實施可包括以任何程式 設計語言撰寫的任何類型API或軟體實體β 表格3 — 代理鋥式命令的實例 命令 功能 pc.chn.open 開啟通道、掘取通道的所有資訊及本 機快取資訊 pc.chnxlose 關閉通道 pc. chn. getRout erlnfo 擷取通道上之路由器的資訊 pc. chn. getAttributelnfo 揭取通道屬性(attribute)的資訊 pc.chn.getProperties 揭取通道屬性(property) — 表格4 _ 發送器功能 伺服器方 傾聽連接(摘置接受)。建立用於處理每個連接的執行緒。這 個執行緒負責接收及處理來自該連接的所有要炎。 用戶端方 建立執行緒,用於起始連接並且負、責接收及處理進入該連 接的所有資料。Tables 5 to 9 provide examples of messaging service APIs written in the C programming language. Tables 5 and 6 provide examples of APIs used to send and retrieve messages. Tables 7 and 8 provide examples of APIs used to send and retrieve notifications. Table 9 provides examples of APIs for transmitting and retrieving control messages. These APIs and other APIs, programs, and data structures provided in this specification are only examples of implementations of specific functions or functions, and implementations may include any type of API or software entity written in any programming language. Form 3 — Example of proxy command: Command function pc.chn.open opens the channel, extracts all the information of the channel and the local cache information pc.chnxlose closes the channel pc. Chn. GetRout erlnfo Retrieves the information of the router on the channel pc. Chn getAttributelnfo Get channel information (attribute) pc.chn.getProperties Get channel properties (table) — Table 4 _ sender function server side listens to the connection (take off and accept). Establish a thread to handle each connection. This thread is responsible for receiving and processing all requests from the connection. The client side establishes a thread for initiating the connection and is responsible for receiving and processing all data entering the connection.

, _____ · 23 - 度適用中國國家'^5^CNS) Α4規格(21()Χ297公爱) -— ----- 571531 A7 B7 五、發明説明(19 表格5 傳送訊息的API實例 PC_Status PC_msg_init(ChannelHandle ch, PC_UINT chid, PC_UINT userid, PC^Typelnfo* MsgType, PC_UINT msgTypeSize, PC一msg一SessionHandle *sess); PC 一 Status PC 一 Status PC一 Status PC_msg_cleanup(PC_msg_SessionHandle sess); P C一msg一 doseTransport(PC一msg一SessionHandle sess); PC_msg_create(PC_msg__SessionHandle s, PC_msg_DataType dType, PC一msg一MsgHandle *msg); PC_Status PC一 Status PC 一 Status PC_Status PC 一msgjlelete(PC 一msg一 MsgHandle msg); PC—msg—clone(PC—msg—MsgHandle org, PC—msgJVisgHandle *new); PC—msg—setSui)ject(PC一msg一MsgHandle msg, PC—CHAR *subject); PC msg setSubjectint(PC msg MsgHandle msg, i —PC^USHORT *sublectA^ray, PC^UINT arraySize); PC 一 Status P C—msg_set AttrB yNamelnt (P C_msg一MS GHandle msg, const PC_CHAR ^name, PC_INT value); // for each type PC 一 Status PC_msg_setAtirByPosInt(PC_msg_MsgHandle msg, PC一 Status PC_UINT atiributePos, PC_INT Value); // for each type PC_msg_addAttrInt(PC_msg_MsgHandle msg, const PC_CHAR ♦name, PC一INT value); // for each type PC 一Status PC-msg一send(PC一msg—MsgHandle msg); 表格6 擷取訊息的API實例 typedef struct一attribute { 一Status PC_msg_init(ChannelHandle ch, PC_UINT chid, PC_UINT userid, PC_TypeInfo^ PC一Status PC一Status PC_Status PC_Status PC-Siatus PC 一 Status PC 一 Status PC—Status PC—Status PC一 Status PC—Status PC 一msg一 cleanup(PC 一msg一 SessionHandle sess); PC一msg一recv(PC一msg一SessionHandle sh,PC—msg一MsgHandle *msg); PC_msg_ctrlRecv(PC_msg_SessionHandle sh, PC_msg_MsgHandle *msg); PC一msg一getSequenceNum(PC_msg—MsgHandle msg, PC_UINT *seqNo); PC一msg一getPuGlisherInfo(PC一msg一MsgHandle msg, PC一msg_PiiblicInfo *pub); PCjnsg一getSubject(PC—msg一MsgHandle msg, PC_CHAR **subject); PCjnsg_getSubjectInt(PC_msg_MsgHandle msg, PC_msg_getDataT ype(PC_msg_MsgHandle hMsg, PC_msg_geiAttrByPosInt(PC_msg_MsgHandle msg, PC_msg_getAttrValueByNameInt(PC_msg_MsgHandle msg, PC_msg_getAttrTypes(PC—msg—MsgHandle msg,PC—TypeCode* 丁ypes, -24- 本紙張尺細用中S g家標準(CNS) A4規格(21Gx297公愛) 571531 A7 B7 五, _____ · 23-Degree applicable to China's' ^ 5 ^ CNS) A4 specification (21 () × 297 public love)------- 571531 A7 B7 V. Description of invention (19 Table 5 API example for transmitting messages PC_Status PC_msg_init (ChannelHandle ch, PC_UINT chid, PC_UINT userid, PC ^ Typelnfo * MsgType, PC_UINT msgTypeSize, PC_msg_SessionHandle * sess); PC_Status PC_Status PC_Status PC_msg_cleanup (PC_msg_SessionHandle sess); PC_msg_doseTransport ( One msg one SessionHandle sess); PC_msg_create (PC_msg__SessionHandle s, PC_msg_DataType dType, PC one msg one MsgHandle * msg); PC_Status PC one Status PC one Status PC_Status PC one msgjlelete (PC one msg one MsgHandms msgc (PC_msg one) PC—msg—MsgHandle org, PC—msgJVisgHandle * new); PC—msg—setSui) ject (PC—msg—MsgHandle msg, PC—CHAR * subject); PC msg setSubjectint (PC msg MsgHandle msg, i —PC ^ USHORT * sublectA ^ ray, PC ^ UINT arraySize); PC_Status PC—msg_set AttrB yNamelnt (P C_msg_MS GHandle msg, const PC_CHAR ^ name, PC_INT value); // for each type PC_St atus PC_msg_setAtirByPosInt (PC_msg_MsgHandle msg, PC_Status PC_UINT atiributePos, PC_INT Value); // for each type PC_msg_addAttrInt (PC_msg_MsgHandle msg, const PC_CHAR ♦ name, PC_INT value_status; // for each (PC_msg—MsgHandle msg); Table 6 API example for retrieving messages typedef struct_attribute {-Status PC_msg_init (ChannelHandle ch, PC_UINT chid, PC_UINT userid, PC_TypeInfo ^ PC_Status PC_Status PC_Status PC_Status PC-Siatus PC_Siatus PC 1 Status PC-Status PC-Status PC-Status PC-Status PC-Status PC-msg-cleanup (PC-msg-SessionHandle sess); PC-msg-recv (PC-msg-SessionHandle sh, PC-msg-MsgHandle * msg ); PC_msg_ctrlRecv (PC_msg_SessionHandle sh, PC_msg_MsgHandle * msg); PC_msg_getSequenceNum (PC_msg--MsgHandle msg, PC_UINT * seqNo); PC_msg_getPuGlisherInfo (PC_msg_pubg) getSubject (PC—msg_MsgHandle msg, PC_CHAR ** subject); PCjnsg_getSubjectInt (PC_msg_MsgHandle msg, PC_msg_getDataT ype (PC_msg_MsgHandle hMsg, PC_msg_geiAttrByPosInt (PC_msg_MsgHandle msg, PC_msg_getAttrValueByNameInt (PC_msg_Msg Standards, Papers, Handsets, PCTypes, PCTypes, PCs, Types, PCs, Types, PCs, PCs (21Gx297 public love) 571531 A7 B7 five

、發明説明(2Q PC一Status PC_msg_getAttributeByPos(PC_msg_MsgHandle msg, PC 一Status PC_msg_getAttributeByName(PC_msg_MsgHandle msg, PC一 Status PC_msg_getPredefmedAttributes(PC_msg_MsgHandle msg, PC一 Status PC—msg—getDiscretionaryAttributes(PC 一msg一MsgHandle msg,Description of the invention (2Q PC_Status PC_msg_getAttributeByPos (PC_msg_MsgHandle msg, PC_Status PC_msg_getAttributeByName (PC_msg_MsgHandle msg, PC_Status PC_msg_getPredefmedAttributes (PC_msg_MsgHandle msg, PC_StatsPC_Stats

Void PC_msg_fireeAttribute(PC_msgAttribute *attr);Void PC_msg_fireeAttribute (PC_msgAttribute * attr);

Void PClmsg^freeAtmbuteAiTay(TC_msg_AttributeArray*attr Array);Void PChemsg ^ freeAtmbuteAiTay (TC_msg_AttributeArray * attr Array);

Void _PC_msg_freeAttributeArray(PC_insg_AttributeArray*attrArray); _;_表格7_ 傳送通知的API實例Void _PC_msg_freeAttributeArray (PC_insg_AttributeArray * attrArray); _; _ TABLE 7_ API example for sending notifications

ChannelHandle ch; PC一msg一MsgHandle msg; PC—msg—SessionHandle sh; PC一msg一Typelnfo Types[2];ChannelHandle ch; PC_msg_MsgHandle msg; PC_msg_SessionHandle sh; PC_msg_Typelnfo Types [2];

Types [Oltype = PC^STRING^TYPE;Types [Oltype = PC ^ STRING ^ TYPE;

Types ΐ〇].name = “company”Types ΐ〇] .name = "company"

Types [ij.type = PC^INT^TYPE;Types [ij.type = PC ^ INT ^ TYPE;

Types [1],name = “stockvalue” PC_msgJnit(ch, chid, userid, Types, 2, &sh) PC—msg一ci:eate(sh,PC—MSG—DATA, &msg); PC_msg_setAttrValueByNameInt(msg, <4stockvalue,\ 100); PC一msg一setAttrValueByPosString(msg, 1, “PreCache”); PC 一msg一 addAttrString(insg,“comment”, “mycomments”); PC—msg一send(msg); PCjnsg一 delete(msg); P Cjjis gjz loseT ransport(sh); PC_msg_c leanup(sh); _;_表格8 __揣取通知的API實例Types [1], name = "stockvalue" PC_msgJnit (ch, chid, userid, Types, 2, & sh) PC_msg_ci: eate (sh, PC_MSG_DATA, &msg); PC_msg_setAttrValueByNameInt (msg , < 4stockvalue, \ 100); PC_msg_setAttrValueByPosString (msg, 1, “PreCache”); PC_msg_addAttrString (insg, “comment”, “mycomments”); PC_msg_send (msg); PCjnsg_delete (msg); P Cjjis gjz loseT ransport (sh); PC_msg_c leanup (sh); _; _ Form 8 __ Get API example for notification

ChannelHandle ch; PC一msg一MsgHandle msg: PC—msg—SessionHandle sh; PC_msg_TypeInfo 丁 ypesp]; 本纸银尺度適用中國國家標準(CNS) A4規格(210X297公嫠) -25- 571531 A7 B7 五、發明説明(21 ) PC_msg_AttributeArray ^atirArray; PC_CHAR ^company; PC一INT value; 丁yjes [0].type = PC—STRING_TYPE;ChannelHandle ch; PC_msg_MsgHandle msg: PC_msg_SessionHandle sh; PC_msg_TypeInfo dingypesp); The silver standard of this paper applies the Chinese National Standard (CNS) A4 specification (210X297) -25- 571531 A7 B7 V. Description of the invention (21) PC_msg_AttributeArray ^ atirArray; PC_CHAR ^ company; PC_INT value; Dingjes [0] .type = PC_STRING_TYPE;

Types [Oj.name = "company^Types [Oj.name = " company ^

Types [l].type = PCJNTJTYPE;Types [l] .type = PCJNTJTYPE;

Types [1 j,name = “stockvalue” PC_msg_init(ch, chid, userid, Types, 2, &sh);Types [1 j, name = “stockvalue” PC_msg_init (ch, chid, userid, Types, 2, &sh);

While (1) { PC一xnsg—recv(sh, &msg); PC一msg一getAttrValueByPosString(msg,0, &company); PC—msg—getAttrValueByNameIrn(msg, “stockvalue”,&value); PC_msg_getDynamicAttributes(msg, &attrArray); PC 一msg一 freeAttributeArray(attrArray); PC_msg_delete(msg); } ~ ~ PC 一msg一 close 丁 ransport(sh); PC 一msg一 c leanup(sh); 表格9 傳送及擷取控制言 fL息之API的實例。 傳送端程式碼 擷取端程式碼 ChannelHandle ch; ChannelHandle ch; PCjmsg—MsgHandle mh; PC_msg_MsgHandle msg; Int chid = 10; PC_msgJnit(ch, chid, subld, NULL, 0, &sh); // Get a Channel handle for channel 10 PC_msgJnit(ch, chid, publd, NULL, 0, &sh) for (;;) { PC一msg—create(th,PC—MSG—CONTROL, PC一msg一recv(sh, &msg); &mh); PC_msg_getSubject(msg, &subject); PC一msg一setSubject(mh, P C_msg_getAttr V alueByNamelnt ( “#,ADD—SUBJECT,,); msg, "Channelld, &chld); PC 一msg一addAttrInt(mh,,”Channelld”, PC_msg_getAttrValueByNameStrin§( chid); msg,“Subject”, &subject); PC_msg_addAttrString(mh, PC msg delete(msg); “Subject”, “Quote.cboe”); } ~ 一 PC_msg_send(mh); PC_msg_closeTransport(sh); PC_msg_delete(mh); PC 一msg一 cleanup(sh); 圖8顯示如前面提及的智慧型路由器及圖4所示之智慧型 -26 - 本纸張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 571531 A7 _______B7 五、發明説明(22 ) 路由器92之類智慧型路由器之示範性軟體組件2i〇的圖式 。軟體組件210可被儲存在(例如)記憶體“中,以供智鼕 型路由器92中的處理器93執行。組件21()包括(例如)筛選 精靈程式212、發送器214、路由精靈程式216及快取區管 理員218。碎選精靈程式2 12提供内容架構型路由的筛選, 以依據路由規則來處理訂購内容,如下文中解說。發送器 2 14提供控制訊息通信,如經由路徑22〇傳播篩選條件所需 的控制訊息,並且發送器還為使用者提供單一進入點,以 及具有通道管理員的一個安全通訊端(secure s〇cket),增 強網路安全性。換言之,在本實例中,使用者不直接聯繫 通道官理員,雖然在替代實施中可直接聯繫通道管理員。 發送器2 14使用控制訊息以從通道管理員獲得屬性(名稱值 配對)。 路由精靈程式216提供與資料路徑222的通信,這可經由 如圖4所示的傳統網路骨幹路由器或其他路由裝置發生。 决取S宫理貝2 1 8 乂供本機快取位於包含相對應智慧型路 由器之網路節點的資料。下文中會進一步解說快取區管理 員2 1 8的運作,並且提供遍及網路核心的分散式資料快取。 可在核心層或應用層上實施内容架構型路由。核心可存 取的記憶體不同於應用層核心可存取的記憶體,例如,為 了在應用層中執行内容架構型路由,需要將訊息資料從核 心記憶體區域複製至應用記憶體區域,並且將應用背景從 核心切換至路由應用。這兩種情況都會導致大量額外負荷 。反之,如杲核心被修改以支援内容架構型路由,則路由 -27- 1紙張尺度適用中國國家標準(CMS) A4規格(210X 297公釐) ' — 571531 23 五、發明説明( 會更快發生,而擺脫前面所述的額外負荷。 運用在核心中之内容架構型路由的功能,路由精靈程式 2 1 6可經由資料路徑222直接或間接傳送或接收資料,視實 施而疋。精莖程式是在應用層中執行的處理序,用於預先 處理要插入核心中的内容架構型路由表。但是,一旦插入 後,核心就可使用路由表以作出路由決策。同樣地,篩選 精靈程式預先處理篩選表並且插入至核心中β在這項核心 實施中,路由精靈程式及篩選精靈程式料#直接與資料 路徑互動。 圖9顯示可能包含訂購内容之訊息之封包結構23〇之實例 的圖式。例如,内容架構型路由中使用封包或訊息包括標 題區段及有效負載區段。標題區段指定路由或其他資訊。 有效負載區段指定資料或内容’或資料或内容的指示。封 包結構230包括ΙΡ標題232、使用者資料單位協定傳輸協定 (User Datagram Pr0t0C0l : UDp)傳輸控制協定(T_missi〇n c_〇1 Protoco丨;TCP)標題234、長度值238 '一個或一個 以上主題欄位240及-個或一個以上屬性⑷。封包結構 230解說長度值、主題和屬性的基本結構。内容架構型路 由中使用的封包也可包括其他或不同元素,如下文中解說 =圖18所示之實例中的元素’並且可用任何方式來配置内 “ #者例如,屬性可包括附加至訊 的㈣屬性。這些判別屬性是特別的資訊,例如, 由發行者(或甚至路由器附加的資訊),而不 道指定的訊息格式運載。 使用迫 本纸張尺度適財g g家標準(cns) A4規格 28- 571531 A7While (1) {PC_xnsg_recv (sh, &msg); PC_msg_getAttrValueByPosString (msg, 0, &company); PC_msg_getAttrValueByNameIrn (msg, “stockvalue”, &value); PC_msg_getDynamicAttributes (msg, &attrArray); PC_msg_freeAttributeArray (attrArray); PC_msg_delete (msg);} ~ ~ PC_msg_close Dingransport (sh); PC_msg_c leanup (sh); Form 9 Transfer And an example of an API that retrieves control information. Sending code fetching code ChannelHandle ch; ChannelHandle ch; PCjmsg—MsgHandle mh; PC_msg_MsgHandle msg; Int chid = 10; PC_msgJnit (ch, chid, subld, NULL, 0, &sh); // Get a Channel handle for channel 10 PC_msgJnit (ch, chid, publd, NULL, 0, & sh) for (;;) {PC_msg_create (th, PC_MSG_CONTROL, PC_msg_recv (sh, &msg); &mh); PC_msg_getSubject (msg, &subject); PC_msg_setSubject (mh, PC_msg_getAttr V alueByNamelnt ("#, ADD—SUBJECT ,,); msg, " Channelld, &chld); PC-msg-addAttrInt (mh ,, "Channelld", PC_msg_getAttrValueByNameStrin§ (chid); msg, "Subject", &subject); PC_msg_addAttrString (mh, PC msg delete (msg); "Subject", "Quote.cboe ”);} ~ A PC_msg_send (mh); PC_msg_closeTransport (sh); PC_msg_delete (mh); PC_msg_cleanup (sh); Figure 8 shows the smart router mentioned earlier and the smart type shown in Figure 4- 26-This paper size applies to Chinese National Standard (CNS) A4 (210 X 297 mm) 571531 A7 _______B7 V. Description of the invention (22) A diagram of an exemplary software component 2i0 of a smart router such as router 92. The software component 210 may be stored in, for example, "memory" for the smart winter router 92 The processor 93 executes. Component 21 () includes, for example, a screening wizard 212, a transmitter 214, a routing wizard 216, and a cache manager 218. The shredder program 2 12 provides filtering of content-based routing to process subscription content according to routing rules, as explained below. The sender 2 14 provides control message communication, such as the control message required to propagate the filtering conditions via path 22o, and the sender also provides a single entry point for the user, and a secure communication terminal (secure scket) with a channel manager ) To enhance network security. In other words, in this example, the user does not directly contact the channel administrator, although the channel administrator may be contacted directly in the alternative implementation. The sender 2 14 uses the control message to obtain the attributes (name value pairing) from the channel administrator. The routing daemon 216 provides communication with the data path 222, which may occur via a traditional network backbone router or other routing device as shown in FIG. Determining Song Gongbei 2 1 8 乂 for local cache data located in the network node containing the corresponding intelligent router. The operation of the cache manager 2 1 8 is explained further below, and distributed data caching is provided throughout the core of the network. Content-architecture routing can be implemented at the core or application level. Core-accessible memory is different from application-level core-accessible memory. For example, in order to perform content-based routing in the application layer, message data needs to be copied from the core memory area to the application memory area, and Application background switches from core to routing applications. In both cases, a large amount of additional load is caused. Conversely, if the core is modified to support content-based routing, the routing-27-1 paper size applies the Chinese National Standard (CMS) A4 specification (210X 297 mm) '— 571531 23 V. Description of the invention (will happen sooner) , And get rid of the aforementioned extra load. Using the content-based routing function in the core, the routing wizard program 2 1 6 can directly or indirectly send or receive data through the data path 222, depending on the implementation. The sperm program is The processing sequence executed in the application layer is used to pre-process the content architecture-type routing table to be inserted into the core. However, once inserted, the core can use the routing table to make routing decisions. Similarly, the filtering wizard program pre-processes the filtering Table and insert into the core β In this core implementation, the routing wizard program and the screening wizard program # directly interact with the data path. Figure 9 shows a schematic diagram of an example of a packet structure 23 that may contain messages for ordering content. For example , Content-based routing uses packets or messages that include a header section and a payload section. The header section specifies routing or other information. The payload section specifies data or content 'or an indication of the data or content. The packet structure 230 includes an IP header 232, a User Datagram Protocol (User Datagram Pr0t0C0l: UDp) transmission control protocol (T_missi〇n c_〇1 Protoco 丨; TCP) Header 234, length value 238 'One or more subject fields 240 and one or more attributes⑷. Packet structure 230 illustrates the basic structure of length values, topics, and attributes. Used in content architecture routing The packet may also include other or different elements, as explained below = elements in the example shown in Figure 18 'and may be configured in any way. # For example, attributes may include attributes attached to the message. These discriminating attributes are special Information, for example, carried by the publisher (or even router-attached information), rather than in a specified message format. Use this paper to scale the financial standards (cns) A4 specifications 28- 571531 A7

購者方法論 圖10顯示發行者用⑤建立通道及發行内$之示範性發行 者方法250的流程圖。方法25〇可被實施在包含代理程式 的軟體模組中,以供發行者機器1〇〇中的處理器^4執 仃。在方法150中,發行者機器中的代理程式1〇6接收發行 者建立的通道Proxy (代理伺服器)(步驟252)。1>1>〇町(代理 伺服器)提供與網路的通信。代理程式106透過介面(步驟 2:>3)來決定通道的訊息格式,並且可從(例如)網路中的通 道官理員或其他實體來獲得格式賢訊。代理程式1〇6使用 所接收的通道資訊來配置通道的Pr〇xy (代理伺服器)(步驟 254) ’其包括接收通道屬性(步驟256)及建立有關通道的通 知(步驟25 8)。通知為‘‘傾聽’,通道上内容的裝置提供内容。 屬性定義通訊的參數及特性。 代理程式1 06會通道識別項(ID)及内容資訊傳輸至網路 核心中的智慧型路由器,或用於處理訂購的任何地點(步 驟260)。發行者將適當值填入通知屬性(步驟261),然後, 發行者可依據通道屬性來發行通知内容(步驟262)。在本 實例中,步驟260至262達成發行通知,或者這可涉及不同 或額外步驟’視特定貫施而定。因此,在本實例中,通知 相關資訊被分割成已排序的屬性序列,每個屬性都具有名 稱、在通知内的位置(從1開始)、類型及值。或者,屬性 可具·有不同特性,視特定實施而定。例如,屬性可包括預 先定義裂屬性、判別屬性或這兩項屬性。 智慧型路由器可使用封包中的通道ID,以獲得相對應通 -29· 本武張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 571531 A7Purchaser Methodology Figure 10 shows a flow chart of an exemplary issuer method 250 for a publisher to establish channels and issue in- $ s. Method 25 can be implemented in a software module containing an agent program for execution by a processor ^ 4 in the publisher machine 100. In method 150, the agent 106 in the publisher's machine receives a channel Proxy (proxy server) established by the publisher (step 252). 1 > 1 > 〇machi (proxy server) provides communication with the network. The agent 106 determines the message format of the channel through the interface (step 2:> 3), and can obtain format information from, for example, a channel official or other entity in the network. The agent 106 uses the received channel information to configure the channel's Proxy (proxy server) (step 254) ', which includes receiving channel attributes (step 256) and establishing a notification about the channel (step 25 8). The notification is ‘listen’ and the content device on the channel provides the content. The attributes define the parameters and characteristics of the communication. Agent 106 transmits the channel identification (ID) and content information to the smart router in the core of the network, or any place used to process the order (step 260). The issuer fills the appropriate value in the notification attribute (step 261), and the issuer can then issue the notification content based on the channel attribute (step 262). In this example, steps 260 to 262 reach a release notification, or this may involve different or additional steps ' depending on the particular implementation. Therefore, in this example, the notification related information is divided into a sequence of ordered attributes, each attribute has a name, position within the notification (starting from 1), type, and value. Alternatively, attributes can have different characteristics, depending on the specific implementation. For example, attributes can include pre-defined split attributes, discriminant attributes, or both. The smart router can use the channel ID in the packet to obtain the corresponding communication. -29 · This martial standard is applicable to China National Standard (CNS) A4 specifications (210 X 297 mm) 571531 A7

:的·’生用於決定經由通道傳輸之封包的結構或格式。 二體:言’每個封包都可包含(例如)通道ID相關標記或女 ;仃者ID及主題之類的其他標題資訊。圖18顯示的實例呈 現在訊息格式中將主題對應至號碼使用的標記。號碼可读 用小整數值(例如’十六位位元值)。或者,可使用任何其 ,類型號碼或資訊來對應主題。將主題對應至號碼可提: 特殊優點;例如,可節省訊息格式中的空間,以及提供用 於在訊息指定主題指示的制式或標準方式。智慧型路由器 可本機健存對應,或者,可使㈣碼透過命令以遠端; 式獲得相對應的主題。 表格10顯示用於將號碼對應至主題的結構,在本實例中 ,用整數值。在階層關係中,表格中的主題樹狀結構參數 屯不主題可包括的一個或一個以上主題欄位;例如,主題 樹狀結構可包括以特定符號區隔的主題欄位字串。表格2 提供主題樹狀結構的實例。舉例而言,主題樹狀結構 quotes.nyse包括主題“qu〇tes,,及子擱位“nyse,,,並且以 區隔這兩個術語,如同URL或其他網路位址中發現的結構 一樣。除了使用句號及指定URL型字串以外,也可使用任 何字元及區隔符號來指定主題樹狀結構。: '’Is used to determine the structure or format of packets transmitted over the channel. Two-body: Speech ’Each packet can contain, for example, channel ID-related tags or female; actor ID and other header information such as subject. Figure 18 shows an example of a tag used in a message format that maps topics to numbers. Numbers are readable using small integer values (e.g. 'hexadecimal values'). Alternatively, you can use any of them, type numbers or information to correspond to the topic. Mapping topics to numbers offers: special advantages; for example, it saves space in the message format, and provides a standard or standard way to indicate the topic in a message. Smart routers can support local storage, or they can use codes to obtain the corresponding topics remotely through commands. Table 10 shows the structure used to map numbers to topics. In this example, integer values are used. In a hierarchical relationship, the topic tree structure parameters in the table may include one or more topic fields in the topic; for example, the topic tree structure may include topic field strings separated by specific symbols. Table 2 provides examples of the topic tree structure. For example, the topic tree structure quotes.nyse includes the topic "qu〇tes, and sub-shelves" "nyse," and separates these two terms, just like the structure found in URLs or other web addresses . In addition to using a period and specifying a URL string, you can also use any characters and segmentation symbols to specify the topic tree structure.

裝 訂Binding

表格10 號碼 整數值1 主題樹狀結構1 整數值2 主題樹狀結構2 … 整數值N 主通樹狀結構N -30-Table 10 Number Integer value 1 Subject tree structure 1 Integer value 2 Subject tree structure 2… Integer value N Main communication tree structure N -30-

571531 五 A7 B7 、發明説明(26 ) 因此,已知特定通道的封包格式或結構,智慧型路由器 可在内容架構型路由之封包中迅速找到主題和屬性,或其 他資訊。例如,通道可指定透過通道傳輸之主題和屬性的 位元組位置,以便藉由計數封包中的位元組就可很容易找 到主題和屬性。或者,智慧型路由器可剖析封包以找到主 題和屬性,或其他資訊。 表格11提供以C++程式設計語言撰寫之發行者程式的實 例。表格12提供用於建立通道的API實例。表格13提供由 通道管理員(請參閱圖6)維護之通道組態檔並且提供通道 相關資訊的實例,如所示。或者,系統可具有全域性通道 管理員,用於提供當作區域性通道管理員之地理分散型祠 服器的IP位址,以便分散處理負載。 表格11 發行者程式實例 _ #include “PC_evn_NotificatioiLh” #indude “PC_evn_Proxy.h” using namespace precache: :event; int main(int argc, char argv[]) {571531 five A7 B7, invention description (26) Therefore, given the packet format or structure of a specific channel, the smart router can quickly find the subject and attributes, or other information, in the packets of the content-based routing. For example, a channel can specify the byte position of the subject and attribute transmitted through the channel, so that the subject and attribute can be easily found by counting the bytes in the packet. Alternatively, smart routers can parse packets to find topics and attributes, or other information. Table 11 provides examples of publisher programs written in the C ++ programming language. Table 12 provides examples of APIs used to establish channels. Table 13 provides an example of a channel configuration file maintained by a channel manager (see Figure 6) and provides channel-related information, as shown. Alternatively, the system may have a global tunnel administrator to provide the IP addresses of geographically dispersed servers acting as regional tunnel administrators to distribute processing load. Table 11 Examples of publisher programs _ #include “PC_evn_NotificatioiLh” #indude “PC_evn_Proxy.h” using namespace precache:: event; int main (int argc, char argv []) {

PC_UINT QuotesRUs = myChanneloflnteresi; // channel IDPC_UINT QuotesRUs = myChanneloflnteresi; // channel ID

PC_UINT mylD = myPublisherlD; // publisher ID try {PC_UINT mylD = myPublisherlD; // publisher ID try {

Proxy p(QuotesRUs, mylD);Proxy p (QuotesRUs, mylD);

Notificaiion nl(p,“quotes.nyse”); nl-SetPredefinedAttr(“symb〇r, “LUS”); nLSetPredefinedAttr(price,\ 95.73); p.Publish(nl); 本纸張尺度適用中國國家標準(CNS) A4規格(210 x 297公釐) 裝 訂Notificaiion nl (p, "quotes.nyse"); nl-SetPredefinedAttr ("symb〇r," LUS "); nLSetPredefinedAttr (price, \ 95.73); p.Publish (nl); This paper size applies Chinese National Standard ( CNS) A4 size (210 x 297 mm) binding

•31 - 571531 A7 B7 五 發明説明(27• 31-571531 A7 B7 V. Description of the invention (27

Notification n2(p, “quotes-nyse”); | n2,SetPredefinedAttr(l,“S>iE”); // attribute symbol is in position 1 n2.SetPredefinedAttr(2, 80.18);// attribute price is in position 2 p.Publish(n2); } catch (InvalidChannelException icex) { cen*« “bad channel”《 endl; } · catch InvalidSubjectException isex) { } ... catch (InvalidNotiflcationException inex) { ceir « “bad notification”《 endl; catch (Exception ex) { cerr«' .error”《 endl;Notification n2 (p, “quotes-nyse”); | n2, SetPredefinedAttr (l, “S >iE”); // attribute symbol is in position 1 n2.SetPredefinedAttr (2, 80.18); // attribute price is in position 2 p.Publish (n2);} catch (InvalidChannelException icex) {cen * «" bad channel "" endl;} · catch InvalidSubjectException isex) {} ... catch (InvalidNotiflcationException inex) {ceir «" bad notification "" endl ; catch (Exception ex) {cerr «'.error" "endl;

裝 _表格12_ _建立通道的API實例 _ PC一 Status rc; rc = PC_chn_create(Provider_info, authinfo, ConfigurationFile, (SchChannel); the first one primary channel manager */ rc = PC_chn_addChannelManager (hChannel,Install _Table 12_ _ API instance to establish a channel _ PC_Status rc; rc = PC_chn_create (Provider_info, authinfo, ConfigurationFile, (SchChannel); the first one primary channel manager * / rc = PC_chn_addChannelManager (hChannel,

/* secondary channel manager */ rc = PC—chn一addChannelManager (hChannel, “10.0,2,2”); rc = PC_chn_setProperties (hChannel, ConfigurationFile); /*/ * secondary channel manager * / rc = PC—chn_addChannelManager (hChannel, “10.0,2,2”); rc = PC_chn_setProperties (hChannel, ConfigurationFile); / *

Set the message type (only in fixed part of the message) by using rc = PC_chn_setAttributeType(hChaimel, name, position, attributeType). The type information is propagated to all edge routers.Set the message type (only in fixed part of the message) by using rc = PC_chn_setAttributeType (hChaimel, name, position, attributeType). The type information is propagated to all edge routers.

V rc = PCj:hn—setAttributeType(hChannd,”Priority”,l,PCJJINT16jrYPE); rc = PC一 dm一setAttribmeType(hChannel,’,Alarai一 Name,「2, PC—STlONG一TYPE); rc = PC一 chn一 setAttributeType(hChannel,”Alarm=Tiine,,,3,PCjiNT32J:^PE); 本紙張尺度適用中國國家標準(CNS) A4規格(210 x 297公釐) -32- 571531 A7 ___B7 五、發明説明(28 ) rc = PC_chn_updateAttribute(hChannel); rc = PC—chn一dose(hChannel); /* finish channel creation */ __表格13 _ +通道組態檔實例 # Channel Setup - Read by Channel API, event and messaging # Each channel entry information is tagged with the # type of infonnation e.g. # [ChannelComm 5] for Channel 5 Cornmunication related information # [ChannelSubjects 5] for subject related information in channel 5 # [ChannelAttributes 5] for attribute infonnation in channel 5 # # The Channel id is appended to the tag to indicate # the channel that the information belongs to # e,g. [ChannelComm 5] indicates routing infonnation # for channel 5. # All the fields need not be set. For example if # running with the central server, the MulticastIP is # not needed.V rc = PCj: hn—setAttributeType (hChannd, “Priority”, l, PCJJINT16jrYPE); rc = PC_dm_setAttribmeType (hChannel, ', Alarai_Name, “2, PC_STlONG_TYPE); rc = PC_ chn_setAttributeType (hChannel, "Alarm = Tiine ,,, 3, PCjiNT32J: ^ PE); This paper size is applicable to China National Standard (CNS) A4 specification (210 x 297 mm) -32- 571531 A7 ___B7 5. Description of the invention (28) rc = PC_chn_updateAttribute (hChannel); rc = PC_chn_dose (hChannel); / * finish channel creation * / __Table 13 _ + channel configuration file example # Channel Setup-Read by Channel API, event and messaging # Each channel entry information is tagged with the # type of infonnation eg # [ChannelComm 5] for Channel 5 Cornmunication related information # [ChannelSubjects 5] for subject related information in channel 5 # [ChannelAttributes 5] for attribute infonnation in channel 5 # # The Channel id is appended to the tag to indicate # the channel that the information belongs to # e, g. [ChannelComm 5] indicates routing infonnat ion # for channel 5. # All the fields need not be set. For example if # running with the central server, the MulticastIP is # not needed.

[ChannelComm 5][ChannelComm 5]

MulticastIP=225.0.0.1 RouterIP=test3 RouterPort=12345 ProxyPort=9015 ProxyCtrlPort=9016 [ChannelSubjects 5]MulticastIP = 225.0.0.1 RouterIP = test3 RouterPort = 12345 ProxyPort = 9015 ProxyCtrlPort = 9016 [ChannelSubjects 5]

NumberOfSubjects=2 subject 1= ^SUBSCRIPTION mappingl=0.100 subject2=Quotes.Nyse mapping2=102.101 [ChannelAtiributes 5]NumberOfSubjects = 2 subject 1 = ^ SUBSCRIPTION mappingl = 0.100 subject2 = Quotes.Nyse mapping2 = 102.101 [ChannelAtiributes 5]

NumberOfAttributes=4 namel=StockId type 1 =PC」JINT」TYP£ name2=CompanyNumberOfAttributes = 4 namel = StockId type 1 = PC 「JINT」 TYP £ name2 = Company

type2=PC 一 CHARARRAYJTYPE name3=Price 本纸張又度適用中國國家標準(CMS) A4規格(210 x 297公釐) -33- 571531 A7 B7 — 五、發明説明( )type2 = PC CHARARRAYJTYPE name3 = Price This paper is again applicable to the Chinese National Standard (CMS) A4 specification (210 x 297 mm) -33- 571531 A7 B7 — V. Description of the invention ()

type3=PC^FL0AT^TYPE name4=Volume type4=PCJJINTjrYPE 圖11顯示用於接收及處理訂購之訂購者方法264的流程 圖。方法266可被實施在包含代理程式128的軟體模組中, 以供訂購者機器122中的處理器134執行。在方法264中, 例如,圖形使用者介面(GUI)為使用者顯示可用通道的指 示(步驟266),這可藉由應用程式126完成。用於識別通道 的資訊可從(例如)提供通道相關資訊的通道管理員擷取。 任何類型的應用程式126都可用來以任何方式或格式來呈現 通道的識別。應用程式接收使用者的通道選擇(步驟268) ,並且呼叫所選通道的API或其他程式(步驟270)。API為 使用者呈現相對應於所選選項之通道的訂購選項(步驟 272)。API從使用者接收訂購值(步驟274),並且將訂購傳 送至代理程式128以進行處理,如下文中解說(步驟276)。 訂購參數可包括(例如)如表格1所示的述詞。例如,每 個通道都可使用自己的API,以便依據相對應通道的特定 需求或參數來處理訂購。例如,這些API可包括用於接收 訂購的web架構或Java架構API,並且可使闬任何類型使用 者介面及處理,以接收訂購資訊,並且將訂購資訊傳送至 代理程式。 圖12顯示用於解說通道及訂購者畫面或GUI 27 8和2 84的 概念圖,這可結合方法264—起使用以接收訂購。畫面278 包括複數個區段282,用於識別使用者可選擇的可用通道 。選擇特定通道後,就可顯示畫面2 84,闬以在區段286中 •34· 本纸張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 571531 A7 B7 五、發明説明(3C) 接收使用者的訂購值。使用者可選擇區段288以送出訂購 ,或選擇區段290以取消訂購。畫面278和284都可被格式 成(例如)載超文字標記語言(HyperText Markup Language ; HTML)網頁或任何其他格式。再者,畫面可包括任何區段 及内容組態,例如,可能包括文字、圖片、各種色彩或多 媒體資訊,以使視需要提供容易使用且視覺上生動的訂購 介面。畫面也可包括工具列280,例如,用於提供傳統瀏 覽器功能。 表格14提供以C++程式設計語言撰寫之訂購者程式的實 例。 表格14 ~ 訂購者程式實例 — #include <unistd.h> #include <iostream> #k c.jde “PC—evn—Filter.h” #include “PC一evn—Subscription上” include “PCjvn_Proxy.h” using namespace precache: :event; class SubscriberApp : public Subscriber { ' private”: PC_UINT notificationCount = 0; public:type3 = PC ^ FL0AT ^ TYPE name4 = Volume type4 = PCJJINTjrYPE Figure 11 shows a flow chart of a subscriber method 264 for receiving and processing an order. The method 266 may be implemented in a software module containing the agent 128 for execution by the processor 134 in the subscriber machine 122. In method 264, for example, a graphical user interface (GUI) displays an indication of available channels for the user (step 266), which can be accomplished by the application 126. The information used to identify the channel can be retrieved from, for example, a channel manager who provides channel-related information. Any type of application 126 can be used to present the identification of the channel in any manner or format. The application receives the user's channel selection (step 268), and calls the API or other program of the selected channel (step 270). The API presents the user with ordering options corresponding to the channel selected (step 272). The API receives the order value from the user (step 274) and passes the order to the agent 128 for processing, as explained below (step 276). The ordering parameters may include, for example, predicates as shown in Table 1. For example, each channel can use its own API to process orders based on the specific needs or parameters of the corresponding channel. For example, these APIs may include a web framework or Java framework API for receiving subscriptions, and may enable any type of user interface and processing to receive subscription information and send the subscription information to the agent. Figure 12 shows a conceptual diagram for explaining the channel and subscriber screen or GUI 27 8 and 2 84, which can be used in conjunction with method 264 to receive an order. The picture 278 includes a plurality of sections 282 for identifying available channels that a user can select. After selecting a specific channel, the screen 2 84 can be displayed, so as to be in the section 286 • 34. This paper size applies the Chinese National Standard (CNS) A4 specification (210 X 297 mm) 571531 A7 B7 V. Description of the invention ( 3C) Receive the user's order value. The user may select section 288 to submit the order, or select section 290 to cancel the order. Both screens 278 and 284 can be formatted, for example, into a HyperText Markup Language (HTML) web page or any other format. Furthermore, the screen may include any section and content configuration, for example, it may include text, pictures, various colors or multimedia information, so as to provide an easy-to-use and visually vivid ordering interface as needed. The screen may also include a toolbar 280, for example, to provide traditional browser functions. Table 14 provides examples of subscriber programs written in the C ++ programming language. Table 14 ~ Subscriber program example — #include < unistd.h >#include < iostream >#k c.jde “PC_evn_Filter.h” #include “PC_evn_Subscription On” include “PCjvn_Proxy. h ”using namespace precache:: event; class SubscriberApp: public Subscriber {'private": PC_UINT notificationCount = 0; public:

SubscriberApp() {} ?? default constructor void run() {SubscriberApp () {} ?? default constructor void run () {

PC_UINT QuotesRUs = myChanneloflnterest; // channel ID PC_UINT myE) = rnyPublisherDD; // publisher ID 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 •線 -35- 571531 A7 B7 五、發明説明( 31 try {PC_UINT QuotesRUs = myChanneloflnterest; // channel ID PC_UINT myE) = rnyPublisherDD; // publisher ID This paper size applies Chinese National Standard (CNS) A4 specifications (210 X 297 mm) Binding • Line-35- 571531 A7 B7 V. Invention Description (31 try {

Proxy p(QuotesRUs, mylD); FilterFactory* factory = FilterFactory::GetFilterFactory〇; Filter* f = factory->CreateFilter(p,“symbol = \”LUV’’’); PCJNT cl = 0; SubscriptionHandle sh = p,Subscribe(“quotes,nyse”,f, this, (void*)&cl); notifications while (notificationCount < 2) { // let notify() get some / sleep(5);/} p.Unsubscribe(sh);} catch (InvalidChannelException icex) { cerr « “bad chaimer« endl;} .. catch (InvalidSubjectException isex) { cerr « “bad subject”《 endl;} ,. catch (InvalidChannelException ifex) { cerr « “bad filter’’<< endl; } .. catch (InvalidSubscriptionHandleException ishex) { cerr« “bas subscription handle”《 endl;} catch (Exception ex) { cerr « “unknown error”《 endl; void Notify(Notification* n, void* c) // this is the callback method if (*(PC_INT*)c = 〇){// check the closure object PC^STRING symbol; PC^FLOAT price; n->GetPredefmedAttr(“symb〇r,symbo l); n->GetPredefinedAttr(“price’,,price); cout« “The price of “《 symbol «“ is ”《 price « endl; notificationCount 朴; 本纸張尺度適用中國國家標準(CNS) A4規格(210 x 297公釐) -36- 571531 A7 B7 五、發明説明(32 }; int main(int argc, char argv[])Proxy p (QuotesRUs, mylD); FilterFactory * factory = FilterFactory :: GetFilterFactory〇; Filter * f = factory- > CreateFilter (p, “symbol = \” LUV '' '); PCJNT cl = 0; SubscriptionHandle sh = p , Subscribe ("quotes, nyse", f, this, (void *) &cl); notifications while (notificationCount < 2) {// let notify () get some / sleep (5); /} p.Unsubscribe (sh);} catch (InvalidChannelException icex) {cerr «" bad chaimer «endl;} .. catch (InvalidSubjectException isex) {cerr« "bad subject" "endl;},. catch (InvalidChannelException ifex) {cerr« "bad filter '' < <endl;} .. catch (InvalidSubscriptionHandleException ishex) {cerr «" bas subscription handle "" endl;} catch (Exception ex) {cerr «" unknown error "" endl; void Notify (Notification * n , void * c) // this is the callback method if (* (PC_INT *) c = 〇) {// check the closure object PC ^ STRING symbol; PC ^ FLOAT price; n- > GetPredefmedAttr ("symb〇r , Symbo l); n- > GetPredefinedAttr ("price ', price); cout «" The price of "" symbol «" is "" price «endl; notificationCount Pak; this paper size applies to China National Standard (CNS) A4 (210 x 297 mm) -36- 571531 A7 B7 V. Description of the invention (32); int main (int argc, char argv [])

SubscriberApp a; a.run〇; 裝 藉_由有效負載檢支的内衮架槿贺踗由;5福洁 圖13顯示藉·由有效負載檢查方法3〇〇之内容架構型路由 的流程圖。例如,方法300可被實施在軟體模組中,以供 智慧型路由器92中的處理器93執行,如篩選精靈程式212 之表不❶或者,方法300可被實施在ASIC或軟硬體組合中 。如方法300所示的内容架構型路由可在網路任何地點的智 慧型路由器中執行,如在網路核心或邊緣路由器中執行。 訂 一般而言,内容架構型路由涉及檢查封包的有效負載區 段’以決定如何處理封包。這項内容架構型路由方法論可 包括(例如)以任何順序處理訂購清單(例如,使用篩選條 件)’使用路由規則以逐_主題及逐_屬性方式來比較訊 息以決定訊息的路由,以及在網路核心中執行處理。規則 可包括管理路由器中處理的規則,或與㈣條件相關的任 何規則。這些路由決策可被分散於整個網路核心中。使用 如通道表不的主題決定即自炊4 m f . 疋巩心格式,因此為智慧型路由器接 供迅速找到訊息内屬性的方式 ^ ^ m ^ 例如,因為已知屬性在特 定通道之訊息或封包中的位元組位置。 在方法烟中,智慧型路由器92接收訊息的封包( 3〇2)。該方法從封包決定相對應訊息的通道m (步戰304) 本錄尺度制t § ϊ家料 -37 571531 A7 B7 五、發明説明(33^ ' ---- ,並且使用通道ID擷取通道的屬性(步驟3〇6)。在本實例 中,通道類型(從通道⑴決定)決定屬性在封包中的位置。 通道的屬性可能被本機健存,或經由如通道管理員遠端操 取》'慧型路由器92擷取相對應於訂購的篩選條件(步驟 308) »師選條件包括—個或—個以上屬性測試,通常是針 對訂㈣-組屬性測試。智慧型路由器92將封包中的屬性 套用至師選條件描述中的相對應屬&測試(步驟川)。 如果筛選條件描述中的所有屬性測試都產生肯定社 驟3⑺,意指屬性符合所有屬性測試,則智路口 行與筛選條件相關之規則指定的'组函由:執 例如^些函式可包括將封包路由至下—連/,及/或按 用位於區域路由器的封包内容來執行某動作或 -歹1 ,T在用於指定相對應訂購的資料处構 動作或連結。當規則是連結時,通常會識別要接收封包的 ==這可包括智慧型路由器 '網路骨幹路由: 下一連結或與訂購者相關。 +和足 如果篩選條件描述中的所有屬性 _),意指屬性不符合所有屬性測 不相符(步驟叫。智慧型路由器遞歸遵循ΓΓ條件宣告 到筛選條件描述中的所有屬性測試都循=程序,直 定結果,無論哪一種情況先發生。 s芍到第一否 定選 =所有屬性測試,智慧型路由器決 欠疋否有更多師選條件存在(步驟3 Μ 々百,則回到步 衣滅張尺度相中g §家標準(CNS) Α4規格(210 -38 X 297公釐) 571531 A7 B7 五、發明説明( 费3 0 8擷取下一篩選條件的屬性到試,以處理該篩選條件 的屬性。匹配程序(步隸308、310、312、314、315和316) 繼續直到已用完整個篩選條件集,或可決定所有動作或路 由規則的結果,無論哪一項先達成。如果封包不符合任何 篩選條件,則會捨棄而不會轉遞封包。 智慧型路由器92能夠以任何順序通過篩選條件。例如, 如表格1 5所示,智慧型路由器可將訂購的篩選條件健存在 檔案或路由表中,並且以線性序列通過篩選條件以將屬性 套用至篩選條件(屬性測試)。或者,路由表可包括至篩選 條件的連結或指標。 内容架構型路由可視需要同時使用一種以上方法,視應 用及效率增強啟發法而定,例如,如以資料流量狀況為基 礎的演算法切換。處理的篩選條件可視需要在網路中的路 由器上經過加密、解密、轉換及合併處理,以在執行内容 架構型路由有效負載區段檢查時使用。例如,如價格〉 $3.54222的訂購可被捨去尾數成為價袼>$3 54,因此應用 中的發行不知道超過第二位小數點的貨幣屬性。再者「例 如,當將從海外傳送的發行抵達位於美國的第一路由器時 ,還可將外幣轉換成美金。 作為線性做法的替代方案’智慧型路由器92能夠以其 順序或依據可增強處理速度及效率的各種演算法來選取 理的筛選條件。表格16提供㈣及其相對應連結的實例 在這些實财,有關特定通道的主題及主題的訂講都可 由師選條件的路由規則來表示。例如,主題可包括網路SubscriberApp a; arun .; install borrowing_inspection frame by the payload check; 5 Fu Jie Figure 13 shows the flow chart of the content-based routing of borrowing and borrowing payload inspection method 300. For example, the method 300 may be implemented in a software module for execution by the processor 93 in the smart router 92. As shown in the screening wizard 212, or the method 300 may be implemented in an ASIC or a combination of software and hardware . The content-based routing shown in method 300 can be performed in a smart router anywhere in the network, such as a core or edge router of the network. In general, content-based routing involves examining the payload section of a packet 'to decide how to handle the packet. This content-based routing methodology can include, for example, processing ordering lists in any order (eg, using filters) 'use routing rules to compare messages on a subject-by-subject and attribute-by-attribute basis to determine message routing, Processing is performed in the core of the road. Rules can include rules that are handled in the router, or any rules related to the condition. These routing decisions can be spread across the core of the network. Use the theme decision such as channel self-cooking 4 mf. 疋 Gongxin format, so the smart router provides a way to quickly find the attributes in the message ^ ^ m ^ For example, because the known attributes are in the message or packet of a specific channel The byte position. In the method smoke, the smart router 92 receives the packet of the message (302). This method determines the channel m of the corresponding message from the packet (step 304). This recording system t § ϊ 家 料 -37 571531 A7 B7 V. Description of the invention (33 ^ '---- and use the channel ID to capture the channel (Step 3 06). In this example, the channel type (determined from channel ⑴) determines the position of the attribute in the packet. The attributes of the channel may be stored locally or accessed remotely by, for example, the channel manager. 》 'Smart router 92 captures the filtering conditions corresponding to the order (step 308) »The teacher selection conditions include one or more attribute tests, usually for order-group attribute tests. The smart router 92 will pack the packets The attributes applied to the corresponding conditions in the description of the teacher selection conditions are described in the & test. The 'group function' specified by the rules related to the filtering conditions: For example, some functions may include routing a packet to the next-link /, and / or performing an action based on the content of the packet located in the area router or-歹 1 , T is used to specify Corresponds to the ordered data to construct actions or links. When the rule is a link, it usually identifies the packet to be received == This may include the smart router 'network backbone routing: The next link may be related to the subscriber. + 和 足 若All attributes in the description of the filter condition _), which means that the attributes do not meet all the attributes and do not match. No matter which kind of situation happens first. S 芍 to the first negative selection = all attribute tests, the smart router will owe no more teacher selection conditions exist (step 3 Μ 々 100, then return to the step out of scale and phase Chinese g § Family Standard (CNS) A4 specification (210 -38 X 297 mm) 571531 A7 B7 V. Description of the invention (fees 3 0 8 Retrieve the attributes of the next filter condition to try to process the attributes of the filter condition. The matching procedure (steps 308, 310, 312, 314, 315, and 316) continues until the entire set of filters has been used, or the results of all actions or routing rules can be determined, whichever comes first. If the packet is reached If any of the filtering conditions are met, the packet will be discarded without forwarding. The smart router 92 can pass the filtering conditions in any order. For example, as shown in Table 15, the smart router can save the ordering filtering conditions to a file or route. Table, and pass the filter condition in a linear sequence to apply the attribute to the filter condition (attribute test). Alternatively, the routing table can include links or indicators to the filter condition. Content-based routing can use more than one method at the same time as needed, depending on the application And efficiency enhancement heuristics, such as algorithm switching based on data traffic conditions. Filtering conditions for processing can be encrypted, decrypted, converted, and merged on routers in the network as needed to implement the content architecture This type is used when checking the payload section of a route. For example, an order such as price> $ 3.54222 can be rounded down to the price 袼 > $ 3 54, so the release in the application does not know the currency attribute beyond the second decimal point. Furthermore, "For example, foreign currency can be converted into U.S. dollars when distributions sent from overseas arrive at the first router in the United States. As an alternative to the linear approach, the" Smart Router 92 "can increase processing speed in its sequence or basis. And efficiency of various algorithms to select rational screening conditions. Table 16 provides examples of 相对 and its corresponding links. In these real money, the topic of a specific channel and the topic of the topic can be expressed by the routing rules of the selection conditions. . For example, a topic could include the web

裝 訂Binding

-39--39-

571531 A7 B7 五 、發明説明(35 址,如用來識別内容來源的萬用資源定址(Uniform Resource Locator ; URL) ° 表格15 通道1 訂購 連結 蒒選條件la 連結la 篩選條件2a 連結2a … 師選條件Na 連結na ... 通道N 訂購 連結 篩選條件1N 連結la 篩選條件2N 連結lb 篩選條件_ 連結In 表格16 内容述詞 連結 sub = “quote.optimist” & ((S1>5&S2 = ‘‘LIT) 1 (SI >30&S2 = “T”)) xlO, xll (sub = “sonyjnusic” | sub = “sony.movie’’) &S1>30&S4 = “Beethoven” xll, xl3 sub = “movie.ratings” & (SI > 1999 | S2 = “Kurosawa”)& S3 = xll, s!5 網路節點上的快取571531 A7 B7 5. Description of the invention (35 addresses, such as the Uniform Resource Locator (URL) used to identify the source of the content) ° Form 15 Channel 1 Ordering link selection conditions la link la Filtering conditions 2a link 2a… Teacher selection Condition Na link na ... channel N order link filter 1N link la filter 2N link lb filter_ link In Table 16 content predicate link sub = "quote.optimist" & ((S1 > 5 & S2 = ' 'LIT) 1 (SI > 30 & S2 = "T")) xlO, xll (sub = "sonyjnusic" | sub = "sony.movie' ') & S1 > 30 & S4 =" Beethoven "xll, xl3 sub = "movie.ratings" & (SI > 1999 | S2 = "Kurosawa") & S3 = xll, s! 5 cache on network nodes

裝 訂 圖14顯示快取方法320的流程圖。例如,方法320可被實 施在(例如)軟體模組中,以供智慧型路由器92中的處理器 93執行,如快取精靈程式218之表示。或者,方法320可被 實施在ASIC或軟硬體組合中,可能在和相對應智慧型路 -40- 本纸張尺度適用中國國家標準(CNS) A4規格(210 X297公釐) 571531 A7Binding Figure 14 shows a flowchart of a caching method 320. For example, the method 320 may be implemented in, for example, a software module for execution by the processor 93 in the smart router 92, as represented by the cache wizard 218. Alternatively, the method 320 can be implemented in an ASIC or a combination of hardware and software, which may correspond to the corresponding intelligent path. -40- This paper standard applies to China National Standard (CNS) A4 (210 X297 mm) 571531 A7

由,同或不同的實體裝置中。在方法32〇中,智慧型路 二姦92接收具有資料或内容、通道ID及主題的訊息(步驟 ^2:)。智慧型路由器92用時間標記資料(步驟324),並且將 貧料快取至如記憶體94或次要儲存裝置97中(步驟326)。 ^慧型路由器按(例如)通道1D、主題及時戳來編製所快取 貰料的索引(步驟328)。 如果智慧型路由器92接收到資料要求(步驟33〇),則會 依據要求使用索引來擷取所快取資料(步驟332)。智慧^ 路=器92將所快取資料傳送至網路骨幹路由器95或其他路 由貝貼*以便最後傳輸至要求方或其他人。可重複執行方 法〇20以繼續快取資料及擷取所快取資料,以響應要求。 圖15顯示配合方法32〇使用的快取索引(336)的圖式。快 取索弓丨(336)接收資料(338)並且連同時戳(34〇)一起儲存。、 當蒐集資料時,會每隔時差(delta) t持續時間標記資料, 其中時差(delta) t表示標記之間的時間,例如,。或者 可使用以任何方式標記時間的其他類型的索引。 表格17顯示索引所快取資料的概念圖。表格“顯示用於 儲存快取連接歷史資料之資料結構的概念圖。表袼丨9提供 在具有智慧型路由器之網路節點中本機快取資料使用之資 料結構的實例。 ' 時間標圯可在固定時間間隔或可變時間間隔發生。例如 ’母隔五分鐘快取及索引資料β接收到指定時間及主題之 擷取所快取資料的命令(如#.getCache)後,通道管理員218 用快取索引來決定是否可羯取相對應於步驟332之要求的 -41 - 本紙張尺度適财SS家標準(CNS) ‘Μ規格(2l〇X297公爱) " -—-----By, the same or different physical devices. In the method 32, the smart road erup 92 receives a message having data or content, a channel ID, and a subject (step ^ 2 :). The smart router 92 timestamps the data (step 324) and caches the lean material into, for example, the memory 94 or the secondary storage device 97 (step 326). ^ The smart router indexes the cached data by (for example) channel 1D, subject and time stamp (step 328). If the smart router 92 receives the data request (step 33), it uses the index to retrieve the cached data according to the request (step 332). Wisdom ^ Router 92 sends the cached data to the network backbone router 95 or other routing notes * for final transmission to the requesting party or others. Method 20 can be repeatedly executed to continue caching the data and retrieve the cached data in response to the request. FIG. 15 shows a diagram of a cache index (336) used in conjunction with method 32. The cache cable (336) receives the data (338) and stores it with the simultaneous stamp (34). When data is collected, the data will be marked every time duration (delta) t duration, where time delta (delta) t represents the time between marks, for example. Or you can use other types of indexes that mark time in any way. Table 17 shows a conceptual diagram of the cached data in the index. The table "shows a conceptual diagram of the data structure used to store cached connection history data. Tables 9 and 9 provide examples of data structures used by local cache data in network nodes with smart routers. Occurs at fixed time intervals or variable time intervals. For example, 'mother than five minutes cache and index data β After receiving a command to retrieve cached data at a specified time and topic (such as # .getCache), channel manager 218 Use the cache index to determine whether the -41-corresponding to the requirements of step 332 can be obtained -41-this paper size SS home standard (CNS) 'M specifications (2l0X297 public love) "------ -

裝 訂 571531 A7 B7 -_^~- 五、發明説明( ) 所快取資料。 每個主題或通道都可包括(例如)本身在多點播送樹狀結 構及一組智慧型路由器中的IP位址。因此,表格18表示可 本機儲存使用者機器之路由器之間的連接歷史資料;如果 邊緣路由器無法運作,則機器可存取連接歷史資料,以決 定當邊緣路由器正常上線運作時要如何重新連接上游路由 器。例如,在斷線的持續時間還可執行取得快取命令,以 便獲得任何暫停的訂購内容。 表格17 ti 通道ID 1 主題1至η 指向快取資料的指標1 Xl 通道ID 2 主題1至n 指向快取資料的指標2 tn 通道IDN 主題1至η 指向快取資料的指標Ν 表格18 連接歷史資料 時間 路由器 網路位址 t] R2 UR2 UR3 t2 R2 UR2 UR3 ... _表格19_ __智慧型路由器之快取資料結構的實例 _^_通道節點_Binding 571531 A7 B7 -_ ^ ~-V. Description of the invention () The cached data. Each topic or channel can include, for example, its own IP address in the multicast tree structure and a set of smart routers. Therefore, Table 18 indicates that the connection history data between the routers of the user's machine can be stored locally; if the edge router is not working, the machine can access the connection history data to determine how to reconnect upstream when the edge router is online. router. For example, a fetch cache command can also be executed for the duration of a disconnect to get any suspended subscriptions. Table 17 ti Channel ID 1 Topic 1 to η Index to cache data 1 Xl Channel ID 2 Topic 1 to n Index to cache data 2 tn Channel IDN Topic 1 to η Index to cache data N Table 18 Connection history Data time router network address t] R2 UR2 UR3 t2 R2 UR2 UR3 ... _Table 19_ __ Example of a cache data structure for smart routers ___Channel node_

Struct ChannelNode { PCJJINT unChanld; PC~AttributeInfo ^pAttrinfo; PC一BOOL bPersistent; /* Persistent or RT*/ PC~UINT unTimeout; 本纸張尺度適用中國國家標準(CNS) A4規格(210 x 297公釐) -42.- 571531 A7 B7 五、發明説明(38 PC UINT PCJNT HashTable } unTimeGranularity;/* in minutes */ nDirFd; ^pFirstLevelSufajs; — 主題節點 Struct SubjectNode { PC USHORT PC一UINT Void PCJNT HashTable DataNode } unSubjectld; unSubjLevel; pParent; / Channel or Subject */ nDirFd; *pN extLevelS ubj s; *pData; _ 資料節點 . Struct DataNode { PCJNT SubjectNode LastTimeGrainNode DUST PC Mutex J_ 一 iiDirFd; apparent; *pLastT GrainData; *pStoredData;/*list StoredTimeGrainNode */ mStoredDataLock; _ 儲存時間粒度節點 Struct StoredTimeGrainNode { — PC UINT PC 一 UINT PC INT } 一 unStartTime; /* in minutes */Chanld; unEndTime; /* in minutes */ nFd; __ 最後時間粒度節點 Struct LastTimeGrainNode { PC CHAR PC UINT PC^BOOL PC Mutex } 一 1---- pLastTGrainData; / could be a list */ unLastT GrainS tartTime; bReadyToStore; mCachedDaiaLock; 這些示範性資料結構包括以下資訊。主題節點包含主題Struct ChannelNode {PCJJINT unChanld; PC ~ AttributeInfo ^ pAttrinfo; PC_BOOL bPersistent; / * Persistent or RT * / PC ~ UINT unTimeout; This paper size applies to China National Standard (CNS) A4 (210 x 297 mm)- 42.- 571531 A7 B7 V. Description of the invention (38 PC UINT PCJNT HashTable} unTimeGranularity; / * in minutes * / nDirFd; ^ pFirstLevelSufajs; — Subject node Struct SubjectNode {PC USHORT PC_UINT Void PCJNT HashTable DataNode} unSubjectld; unSubjLevel; pParent; / Channel or Subject * / nDirFd; * pN extLevelS ubj s; * pData; _ data node. Struct DataNode {PCJNT SubjectNode LastTimeGrainNode DUST PC Mutex J__iiDirFd; apparent; * pLastT GrainData; * pStoredData; / * list StoredTimeGrainNode * / mStoredDataLock; _ Struct StoredTimeGrainNode {— PC UINT PC-UINT PC INT} — unStartTime; / * in minutes * / Chanld; unEndTime; / * in minutes * / nFd; __ Last time granularity node Struct LastTimeGrainNode {PC CHAR PC UINT PC ^ BOOL PC Mutex} a 1 ---- pLastTGrainData; / could be a list * / unLastT GrainS tartTime; bReadyToStore; mCachedDaiaLock; These exemplary data structures include the following information. Topic nodes contain topics

裝 訂Binding

識別項、主題層級、指向父通道或主題節點的指標、所屬 -43- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 571531 五、發明説明(39 ) 目餘的樓案描述項、指向包含下一 ^ φ 3¾ Λ/Γ , 3m…題即點之雜湊表的 &標及指向資料節點的指標。資 们 節點的指標、資料目錄的播案描述項、包含C在::: 存裝置上貝科之貢料結構的環形緩衝區、,緩衝區的頭 尾端及用於在擷取和儲存期間鎖定資料節點的鎖定。 時間粒度節點是用於表示實際資料檀案的節點,而最後: !=二表示尚未儲存至儲存裝置但維持在記憶體中的 取便緩衝區。在本實例中,.快取和資料错存執行緒使用最 ,時間粒,節點中的互斥(mutex),以防止同時存取最後 時間粒度節點。 代理程式虛拽 圖16顯示外傳訂購訊息之代理方法350的流程圖。例如 ,方法3:)0可被實施在表示為代理程式128的軟體模組中, 以供使用者(訂購者)機器122中的處理器134執行。在方法 3)0中代理程式128經由參考圖^和^中說明的方法來接 收㈣(步驟352)。代理程式⑵建立用於指定訂講之布林 運算式的字串(步驟354),並且剖析字串以偵測訂購中的 任何錯誤(步驟3d 6)。如果有錯誤存在,代理程式128可為 使用者呈現錯誤訊息(步驟36〇),以便使用者修正錯誤並 且重新,入訂購。如果沒有錯誤(步驟358),代理程式128 會將運^式儲存至資料結構中,下文中會提供其實例(步 驟〇6.2)代理程式128將育料結構中的構成不等運算式轉 Ϊ定形式(步驟364),而將資料結構轉譯成相對應的 分離標準形式(disjunctive n〇rmal dnf)結構(步驟 44 - 本紙張尺度勒中g g家標準(CNS) △视格丨·χ297公愛) 571531 A7 B7 五、發明説明( 366)。代理程式128也簡化DNF結構的AND運算式,以只 包含範圍篩選條件及成員測試(步驟3 68)。 DNF是熟知的正式形式,其中布林運算式被表示為稱為 分離(disjunct)的一個或一個以上子運算式〇r,每個子運 算式都是一個或一個以上屬性測試的and。例如,布林運 算式(price>=10 AND (symbol==“LU,,OR symbol==“T”))具 有對等用法DNF 表示((price>=l〇 AND symbol==“LU”)〇R (price>=10 AND symbol==“T,,))。 在步驟364中的轉換涉及將具有“不等,,運算子(以示範性 符號!=表示)的運算式轉譯成對等用法的“肯定”形式,用 以指定所有允許值,而不是一個不允許值。這項轉換係在 建立DNF之前執行,並且因為在本實例中路由器需要肯定 形式的公式,所以一定要轉換。例如,運算式(price != 8〇) 可被轉換戶具有對等用法肯定運算式(priCe<=79 OR price>=8 1)。 步驟368中的轉換係在建立DNF之後執行,並且涉及產 生之AND運异式的額外簡化,並且在本實例中也被執行以 簡路由器的工作。具體而言,可將同一屬性之多個屬性測 試的AND簡化成具有下限、上限、上下限或就等式而言之 單一值的正式“範圍篩選條件,%然後,依據表格22編碼的 特別種類的範圍薛選條件。 •例如,運算式(price>=10 AND price<=80 AND price>=20 AND price<=100)可被簡化成(price>=2〇 and price<=80) ’③是具有上下限之範圍篩選條件的實例。以下是簡化後 •45- 本紙張尺度適用中國國豕標準(CNS) A4規格(2i〇 X 997公爱) 571531 A7 B7 五、發明説明(μ ) 其他種類實例:(Price>=20)(只有下限);(price<=8〇)(只有 上限);及(price==5 0)(單一值)。在建立這些範圍篩選條件 過程中,可能部份子運算式簡化成真(true)或偽(false),在 此情況下,可依據布林代數學法則排除子運算式,藉此進 步最佳化訊息中運算式之編媽。例如,運算式(pHce>=5〇 AND price<=2〇)簡化成偽(false),這是因為“pdce,,值都不 符合運算式條件。在整個筛選條件運算式簡化成偽(faise) 的特殊情況中,代理程式根本不需要建立訊息,藉此解除 路由器的不必要工作。 如果主題篩選條件包含萬用字元,代理程式128可視需 要轉換萬用字元,如下文中解說(步驟37〇)。否則,可在 網路中轉換任何萬用字元,而不是在使用者機器或其他裝 置上轉換萬用字元β在本示範性具體實施例中,主題篩選 條件的語法是使用萬用字元的唯一語法,並且屬性篩選條 件的語法是使用布林運算式的唯一語法。或者,實施可使 用不同或變化類型的主題篩選條件語法及屬性篩選條件这 法。 ° 代理程式128將產生的DNF運算式編碼成訊息(步驟372) ,並且將訊息傳送至智慧型路由器(步驟374)。編碼可涉 及將訂購轉換成一般(flat)訊息格式,意指建構資料串。 故項轉換可涉及將從主題篩選條件產生的路由規則及訂購 的^性筛選條件傳播至網路中的一個或一個以上智慧型路 由器或其他路由實體。例如,針對傳播,訂購運算式可被 對應至傳統封包結構。 -46 -Identification item, topic level, index to parent channel or topic node, belonging to -43- This paper size is applicable to Chinese National Standard (CNS) A4 specifications (210 X 297 mm) 571531 V. Description of the invention (39) Buildings with more than one item Project description items, & targets pointing to the hash table containing the next ^ φ 3¾ Λ / Γ, 3m ... questions and points and pointers to data nodes. The index of the data node, the description item of the data directory, the circular buffer containing C in the storage device of Beco on the storage device, the head and tail of the buffer, and used during retrieval and storage. Lock the data node. The time-granularity node is a node used to represent the actual data file, and at the end:! = 2 means a toilet buffer that has not been stored in the storage device but is maintained in the memory. In this example, the cache and data misplaced threads use the most time, time grain, and mutex in the node to prevent simultaneous access to the last time grain node. Agent Fake Drag Figure 16 shows a flowchart of an agent method 350 for outgoing order messages. For example, method 3:) 0 may be implemented in a software module represented as an agent program 128 for execution by the processor 134 in the user (subscriber) machine 122. In method 3) 0, the agent 128 receives the call via the method described with reference to Figs. ^ And ^ (step 352). The agent does not create a string that specifies the Bollinger expression for the subscription (step 354), and parses the string to detect any errors in the order (step 3d 6). If an error exists, the agent 128 can present an error message to the user (step 36), so that the user can correct the error and re-enter the order. If there are no errors (step 358), the agent program 128 will store the operation type into the data structure, and an example will be provided below (step 06.2). The agent program 128 will transform the inequality expressions in the breeding structure. Form (step 364), and translate the data structure into the corresponding discrete standard form (disjunctive normal dnf) structure (step 44-this paper scales the gg family standard (CNS) △ 格 丨 χ 297 public love) 571531 A7 B7 V. Description of the invention (366). The agent 128 also simplifies the AND expression of the DNF structure to include only the range filter condition and the member test (step 3 68). DNF is a well-known formal form, in which a Bollinger expression is expressed as one or more sub-expressions called disjunct, and each sub-operation is an and of one or more attribute tests. For example, the Bollinger expression (price > = 10 AND (symbol == “LU ,, OR symbol ==“ T ”)) has the equivalent usage DNF representation ((price > = l0AND symbol ==“ LU ”) 〇R (price > = 10 AND symbol == "T ,,)). The conversion in step 364 involves translating the expression with the "inequality," operator (represented by the exemplary symbol! =) Into a "positive" form of equivalent usage to specify all allowed values, not one Allowed value. This conversion is performed before the DNF is established, and because the router needs a positive form of formula in this example, it must be converted. For example, the expression (price! = 8〇) can be converted by the user to have equivalent usage. Affirmative expression (priCe < = 79 OR price > = 8 1). The conversion in step 368 is performed after the DNF is established, and involves additional simplification of the AND operation generated, and is also executed in this example to simplify The work of routers. Specifically, the AND of multiple attribute tests of the same attribute can be reduced to a formal "range filter condition with a lower limit, an upper limit, an upper or lower limit, or a single value in terms of the equation,%, then according to Table 22 A special kind of range selection criteria for encoding. • For example, the expression (price > = 10 AND price < = 80 AND price > = 20 AND price < = 100) can be simplified to (price > = 2〇and price < = 80) '③ is a range with upper and lower limits An example of a filter condition. The following is simplified • 45- This paper size applies to China National Standard (CNS) A4 specifications (2iOX 997 public love) 571531 A7 B7 V. Description of invention (μ) Other types of examples: (Price > = 20) (only Lower limit); (price < = 80) (only upper limit); and (price == 50) (single value). In the process of establishing these range filtering conditions, some sub-expressions may be reduced to true or false. In this case, the sub-expressions can be excluded according to the Bollinger Rule to improve optimization. The editor of the expression in the message. For example, the expression (pHce > = 5〇AND price < = 2〇) is simplified to false. This is because "pdce," and the values do not meet the conditions of the expression. The expression is simplified to false throughout the filter condition. In the special case of faise), the agent does not need to create a message at all, thereby eliminating the unnecessary work of the router. If the subject filter contains wildcards, the agent 128 can convert wildcards as needed, as explained below (steps 37〇). Otherwise, you can convert any wildcard characters in the network, instead of wildcard characters on the user's machine or other devices. In this exemplary embodiment, the syntax of the topic filter is The only syntax for wildcard characters, and the syntax for attribute filtering conditions is the only syntax for using Bollinger expressions. Or, implement a method that can use different or varying types of topic filtering conditions and attribute filtering conditions. ° Agent 128 will The generated DNF expression is encoded into a message (step 372), and the message is transmitted to the smart router (step 374). The encoding may involve transforming the subscription into a general flat) message format, which means constructing a data string. So the term conversion may involve propagating the routing rules and ordering screening conditions generated from the topic screening conditions to one or more intelligent routers or other routing entities in the network. For example, for propagation, ordering expressions can be mapped to traditional packet structures. -46-

571531 A7 ------ B7 五、發明説明(42 ) 步驟372的編碼涉及將通道的訂購封送處理(marsha出%) 成訊息服務API的訊息袼式,以傳播至整個通道。例如, 使用主題#.31^3〇11?丁1〇\將訂購當作通知訊息在内部傳 运。在本實例中,因為具有可變數量的主題篩選條件襴位 及可變數量的屬性測試,所以一對位元組係两來儲存主題 篩選條件襴位,而另一對位元組係用來儲存屬性測試數量 。例如,以在原始訂購中指定的順序來連續封送處理主題 篩選條件的個別欄位,並且都被封送處理成訊息的兩位元 組部份。萬用字元襴位可被封送處理,如下文所述。 在封运處理屬性測試過程中,會在訊息末端封送處理屬 性測試的運算元,其方式類似於封送處理通知的屬性值。 在封送處理屬性測試及運算元之前,會在1)1^1;的每個分離 (disjunct)内按屬性順序來排序屬性測試及運算元,以位置 順序測試預先決定屬性,接著以名稱順序測試判別屬性。 另外,有關每個分離(disjunct)内數值類值(scalar value)屬 性的關係測試集都被簡化成正式形式,如具有任一限制(下 限、上限或等式測試)或兩項限制(介於分離(dis」·仙叫限制 内的封閉祀圍)的祀圍篩選條件。關於測試的其餘資訊被 編碼成(例如)與運算元順序相同的二位元組對;這二位元 組對的序列被放置在緊接在主題_選條件欄位兩位元組編 碣之後。這二位元組對構成一種屬性測試位元字串編碼序 列,徐了二位元組對以外,也可用來表示其他類型編碼。 下面提供屬性測試的實例。 表格20呈現屬性測試編碼的結構配置。表格2 1呈現二位 -47- 本紙張尺度適用中國國家標準(CMS) A4規格(210 X297公釐) 571531 A7 B7 五 、發明説明( 43 元、级對,而表格22呈現二位元組對中運算子ID (Operator ID)之編>5馬。 -~表格20 " —--- 编碼規則 1 D位元中的零值指示DNF中之新分離(disjunct)的起點,而D位 ^中的壹值指示現行分離(disjunct)内的額外結合。 2 通知屬性位置(Notification Attribute Position)中除全部壹外的值 指示測試所要套用久預先定義屬性的位置(如按通道通知類型 i定義);按照圖18所示的實例封送處理測試的運算元。 3 通知屬性位置(Notification Attribute Position)中全部壹的值指示 測試套用至判別屬性,在此情況下,會使用運算元來封送處理 所套用之屬性的名稱長度及名稱。 4 運算元類型ID (Operand Type ID)的位元編碼屬性的預先定義類 型之一。 5 ----_ 運鼻子ID (OperatorID)的位兀編碼測試中使用的運算子,如表 中的定義。____ —--Ί _____衣佾厶丄____ __ 第一位元組 0 —--—. 2 3 4 5 6 7 D ---〜~ 通知屬性位置(Notification Attribute Position) ~~—---. Λ | ------ 第二位元組 ^_j 2 3 丨4 5 丨6 \l 運算子ID (Operator ID) —__ 表格22 運异子(Operator) 運算子ID (Operator ID) 上限 000 下限 001 上下限 010 等式資料 Oil -48- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 571531 A7 B7 五、發明説明(44 ) 肯定成員測試(符合) 100 否定成員測試(不符合) 101 因為測試的二位元組對已指示測試的運算元類型以及測 試是否套用至預先定義屬性或判別屬性,所以不需要分開 封送處理執行判別屬性或其類型的測試數量。這項結構配 置在一個通知中有不超過127個預先定義屬性。或者,這 項設計可使用更多位元來編碼屬性測試。 雖然這項封送處理轉換係按照屬性篩選條件的DNF定序 及分組屬性測試,但是基礎設施元件(如路由器)可選取以 其他順序來評估測試(或者按照有關不同測試的成功或失 敗機率的動態衍生區域資料),以便更高效率來整體評估 屬性篩選條件。訊息的訂講ID (Subscription ID)欄位是代 理程式產生的值,用於在修改或取消訂購的後續要求中使 代理程式的邊緣路由器唯一識別該訂購。具體而言,會使 用如圖1 8所示之訊息格式來傳播對訂購屬性篩選條件的動 態修改,除主題是#.RESUBSCRIPTION及訂購ID是要修改 先前登錄訂購的及訂購ID外。而且,使用(例如)圖1 8所示 之到訂購ID的訊息格式,而主題是#.UNSUBSCRIPTION及 訂購ID是要取消訂購先前登錄訂購的訂購ID,以傳播取消 訂購。 以下提供如上文所述之代理程式執行之轉換及編碼的實 例。請考慮以下示範性屬性篩選條件運算式:price>=10 and (symbol=='4L1Lr, or (volume>=1000 and volume<= 10000)) 。圖 19顯示的統一模式語言(Unified Modeling Language (UML))圖3 90描繪在步驟362中代理程式使用之用來儲存 -49- 本纸張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 571531 A7 B7 五、發明説明(45 ) 運算式的物件。圖中顯示用於指定訂購的階層關係,其可 包括變數、常數值或兩者。圖中的物件可能是篩選條件類 別的執行個體(Instance),視特定實施而定。每個 SimpleFilter物件都描給·用於儲存有關篩選條件運算式之 相對應屬性測試的屬性值。在圖19的運算式中,〇R蒒選 條件396連接兩個AND篩選條件392和400。AND篩選條伴 392包含具有訂購屬性的簡單篩選條件394。同樣地,〇R 篩選條件396包含簡單篩選條件398,而AND篩選條件400 包含簡單篩選條件402和404。 基於本實例的用途,假設屬性price (價格)、symb〇l (符 號)及volume (量)是相關通道的預先定義屬性,並且假設 分別定義在位置0、1和2中。另外,假設屬性類型分別是 不帶正負號的整數(unsigned integer)(typecode 6)、字元陣 列(typecode 12)及不帶正負號的整數(typec〇de 6)。 請考慮將包含前面示範性屬性篩選條件運算式當作屬性 篩選條件的訂購。圖18顯示將訂購封送處理成訊息。圖18 左方的概要圖386呈現實際訊息内容,而圖右方提供的概 要圖3 8 8訊息不同部份的圖例内容。在本實例中,每個概 要圖的見度為四個位元組。在封送處理之前,已將篩選條 件轉換成其對等用法DNF : (Price>=l〇 anci symb0卜=“LU”) or (price>=10 and V〇lume>=1000 and v〇iume<=1〇〇〇〇) 0 十·✓、位位元屬性測试編瑪被呈現為位元序列,而間碎呈 現不同部份的分隔。請注意,在本實例中,無法組合有關 價格的兩項測試,這是因為這兩項測試係在分開的分餘 -50· 本紙張尺度適用中國國家標準(CNS) A4規格(210 X297公釐)571531 A7 ------ B7 V. Description of the invention (42) The encoding of step 372 involves marshalling the channel subscription (marsha out%) into the message mode of the message service API to spread to the entire channel. For example, use the subject # .31 ^ 3〇11? 丁 1〇 \ to send the order as a notification message internally. In this example, because there is a variable number of topic filter condition bits and a variable number of attribute tests, one pair of bytes is used to store the topic filter condition bits, and the other pair is used to Stores the number of attribute tests. For example, the individual fields of the subject filter are continuously marshalled in the order specified in the original order, and all are marshaled into two-byte parts of the message. Wildcard nibbles can be marshaled, as described below. During the marshaling attribute test, the operands for the marshaling attribute test are marshaled at the end of the message in a manner similar to the marshaling notification attribute value. Before marshaling the attribute tests and operands, the attribute tests and operands are sorted in the order of the attributes in each of the disjuncts of 1) 1 ^ 1; Test discriminant attributes. In addition, the relationship test set for each scalar value attribute in the disjunct is simplified to a formal form, such as having either one of the limits (lower limit, upper limit, or equality test) or two limits (between Segregation (dis "· Sen called closed enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing enclosing limits). The rest of the information about the test is encoded into (for example) two-byte pairs in the same order as the operands; The sequence is placed immediately after the two-byte encoding in the subject_selection field. These two-byte pairs form an attribute test bit-string encoding sequence, which can be used in addition to the two-byte pairs. Represents other types of coding. Examples of attribute testing are provided below. Table 20 presents the structural configuration of the attribute testing coding. Table 2 1 presents two digits -47- This paper size applies to the Chinese National Standard (CMS) A4 specification (210 X297 mm) 571531 A7 B7 V. Description of the invention (43 yuan, level pair, and Table 22 presents the compilation of the operator ID (Operator ID) in the two-byte pair) 5 horses.-~ Form 20 " 1 Zero value in D bits Shows the starting point of a new disjunct in DNF, and a value in D bit ^ indicates an additional combination in the current disjunct. 2 Values other than all one in Notification Attribute Position indicate what the test requires Apply the position of the long-predefined attribute (as defined by channel notification type i); marshal the operands for processing the test according to the example shown in Figure 18. 3 All one values in the Notification Attribute Position indicate that the test is applied to Discrimination of attributes. In this case, the operand is used to marshal the name length and name of the attribute applied. 4 One of the predefined types of bit-coded attributes of the Operand Type ID. 5- ---_ The operator used in the bit coding test of the OperatorID, as defined in the table. ____ ——— Ί _____ 衣 佾 厶 丄 ____ __ The first tuple 0 —-- -. 2 3 4 5 6 7 D --- ~~ Notification Attribute Position ~~ -----. Λ | ------ Second byte ^ _j 2 3 丨 4 5 丨6 \ l Operator ID —__ Table 22 Operator ID (Operator ID) Upper limit 000 Lower limit 001 Upper and lower limit 010 Equation data Oil -48- This paper size applies to China National Standard (CNS) A4 specifications (210X297 mm) 571531 A7 B7 V. Description of the invention (44) Positive member test (conformance) 100 Negative member test (non-conformance) 101 Because the test's two-byte pair indicates the operand type of the indicated test and whether the test is applied to a predefined or discriminated attribute, no separate seal is required The number of tests performed to determine the attribute or its type is sent. This structure configuration has no more than 127 predefined attributes in one notification. Alternatively, the design can use more bits to encode the attribute test. Although this marshaling conversion is based on the DNF ordering and packet attribute testing of the attribute filtering conditions, infrastructure components (such as routers) can choose to evaluate the test in other orders (or according to the dynamics of the success or failure probability of different tests) Derived regional data) for more efficient evaluation of attribute filters. The Subscription ID field of the message is a value generated by the agent and is used to make the agent's edge router uniquely identify the subscription in subsequent requests to modify or cancel the order. Specifically, the message format shown in Figure 18 will be used to propagate the dynamic modification of the order attribute filtering conditions, except that the subject is # .RESUBSCRIPTION and the order ID is to modify the previously registered order and order ID. Also, use (for example) the message format to order ID shown in Figure 18, and the subject is # .UNSUBSCRIPTION and order ID is the order ID to cancel the previously registered subscription to propagate the cancellation. The following provides examples of conversion and encoding performed by the agent as described above. Consider the following example attribute filter expressions: price > = 10 and (symbol == '4L1Lr, or (volume > = 1000 and volume < = 10000)). Figure 19 shows the Unified Modeling Language (UML). Figure 3 90 depicts the agent used in step 362 for storage. -49- This paper size applies the Chinese National Standard (CNS) A4 specification (210 X 297). (Mm) 571531 A7 B7 V. Description of the invention (45) Objects of arithmetic expressions. The diagram shows the hierarchical relationship used to specify the order, which can include variables, constant values, or both. The objects in the diagram may be instances of the filter category, depending on the specific implementation. Each SimpleFilter object describes and stores property values for corresponding property tests related to the filter condition expression. In the expression of FIG. 19, the OR selection condition 396 connects two AND selection conditions 392 and 400. AND filter bar 392 contains a simple filter condition 394 with ordering attributes. Similarly, OR filter 396 includes simple filter 398, and AND filter 400 includes simple filters 402 and 404. For the purposes of this example, it is assumed that the attributes price (symbol), volume (volume), and volume (volume) are predefined attributes for the relevant channel, and are assumed to be defined in positions 0, 1, and 2, respectively. In addition, it is assumed that the attribute types are an unsigned integer (typecode 6), a character array (typecode 12), and an unsigned integer (typecod 6). Consider a subscription that includes the previous exemplary attribute filter expression as an attribute filter. Figure 18 shows the processing of order marshaling into messages. The schematic diagram 386 on the left in Figure 18 presents the actual message content, while the schematic diagram on the right in Figure 3 shows the content of the different parts of the message. In this example, the visibility of each profile is four bytes. Before marshaling, the filtering conditions have been converted to their equivalent usage DNF: (Price > = l0anci symb0b = "LU") or (price > = 10 and V〇lume > = 1000 and v〇iume < = 1〇〇〇〇〇) 0 X. ✓, bit attributes test editor is presented as a bit sequence, and the fragmentation shows the separation of different parts. Please note that in this example, it is not possible to combine the two tests on the price, because these two tests are separated by a margin of -50. This paper size applies the Chinese National Standard (CNS) A4 specification (210 X297 mm) )

裝 訂Binding

571531 A7 B7571531 A7 B7

五、發明説明(4S (sjunct)中’因此這兩項測試被分開封送處理成為沒有右 限的範圍。另一方面,可組合有關量的兩項測試,這是因 為這兩項測試係在同一分離(disjunct)中,因此可將這兩項 測試一起封送處理成為單一“上下限範圍”測試。 取後’請注意,某些欄位被描繪成“假設,,;意指,本實 例會任意選取這些襴位值,並且通常與封送處理的訂購無 關。此外,訂購的主題篩選條件被任何選取為“>,,,其匹 配相關通道定義的任何主題。如上文所述及圖18和19所示 的κ例僅基於解說目的提出,並且封送處理可配合任何其 他類型訂購一起使用。再者,方法350只提供封送處理訂購 的貫例’並且可使用任何其他方式來封送處理訂購。 圖17顯示傳入訊息之代理方法376的流程圖。方法可 被訂購者機器122中的代理程式128及應用程式126實施。 在方法376中,代理程式128從相對應於訂購的智慧型路由 器接收訊息(步驟378)。代理程式128 (例如)利用訊息中的 通道ID來決定相對應訂購的通道(步驟38〇),並且呼叫通 道的API (步驟382)。Αρι在使用者機器上以⑽或其他格 式呈現訂講資料(步心84)。處理傳人訊息可使用解瑪資 料的處理序,其與如上文所述的編碼處理序相反,並且這 項解碼(反向編妈)可在路由器或其他網路實體中執行。 荛用字元虛3EfV. Description of the invention (4S (sjunct) 'These two tests are therefore separately marshalled into a range with no right limit. On the other hand, two tests of related quantities can be combined because these two tests are in In the same separation (disjunct), these two tests can be marshaled together into a single "upper and lower limit" test. After you've taken note, some fields are depicted as "hypothetical,"; meaning, this example These niches are chosen arbitrarily, and are generally not relevant to marshalling orders. In addition, the subject filter for the order is selected as ">", which matches any subject defined by the relevant channel. As described above and illustrated The kappa examples shown in 18 and 19 are presented for illustrative purposes only, and marshaling can be used with any other type of order. Furthermore, method 350 only provides a consistent example of marshaling orders' and can be marshaled using any other means Figure 17 shows a flowchart of the agent method 376 of the incoming message. The method can be implemented by the agent program 128 and the application program 126 in the orderer machine 122. In method 376, The agent 128 receives the message from the smart router corresponding to the order (step 378). The agent 128 (for example) uses the channel ID in the message to determine the corresponding order channel (step 38), and calls the channel's API ( Step 382). Αρι presents the order information on the user's machine in ⑽ or other format (step heart 84). The process of transmitting the message can use the processing sequence of the jiema data, which is opposite to the encoding processing sequence described above, and This decoding (reverse coding) can be performed in a router or other network entity. Use the character dummy 3Ef

圖20顯示萬用字元方法41〇的流程圖、這項方法解說使 用師選條件的-組路由規則來轉換訂購運算< 中之 字 元的實例。例如,方法41阿被實施在表示為代理程式US -51 - 本紙張尺度適用中國國家標準(CMS) A4規格(210X297公爱)Fig. 20 shows a flowchart of the wildcard method 41. This method illustrates an example of converting characters in the ordering operation < For example, method 41A is implemented as an agent program US-51-this paper size applies the Chinese National Standard (CMS) A4 specification (210X297 public love)

裝 訂 571531 A7 B7Binding 571531 A7 B7

五、發明說明(47 的軟體模組中,以供使用者機器122中的處理器134執行。 或者,可在智慧型路由器92中之軟體控制下或内含於 ^SIC 91中相對應功能控制下,由處理器93在網路中處理 萬用予元《萬用字元包括開放攔位(〇pen field)或變數長度 欄位,如表格21中提供的實例所示. " 一在方法410中,代理程式128或其他實體接收具有萬用字 疋的訊息(步驟412)。當發行内容時,發行者可指定訂購 的,題長度,並且可在發行者機器上預先處理主題,例如 ,计數主題襴位,並且以此方式獲得襴位的襴位計數(長 ^ )代理輊式128計數篩選條件運算元中的襴位數量(步 驟4 14),並且初始化襴位長度的新規則(篩選條件)(步 :6)代理程式128擷取訂購的子爛位(步驟4 1 8),並且 f定筛選條件子襴位〇[Π是否是萬用字元(步驟420) ^如杲 篩選條件子襴位不是萬用字元,則代理程式128將結合子V. Description of the invention (47 software module for the processor 134 in the user machine 122 to execute. Alternatively, it can be controlled by software in the smart router 92 or the corresponding function control contained in the ^ SIC 91 Next, the processor 93 processes the universal tokens in the network. "Universal characters include open fields (0pen fields) or variable length fields, as shown in the example provided in Table 21. " 一 在 方法In 410, the agent 128 or other entity receives a message with a wildcard (step 412). When publishing the content, the publisher can specify the subscription, the length of the question, and can pre-process the topic on the publisher's machine, for example, Count the subject niches, and get the niches count (length ^) of the niches in this way. Count 128 to count the number of niches in the filter condition operand (step 4 14), and initialize a new rule for niches length ( Filter condition) (step: 6) The agent program 128 retrieves the sub-bits of the order (step 4 1 8), and determines the filter condition bit 〇 [Π is a wildcard character (step 420) ^ 如 杲The filter condition child bit is not a wildcard character, then the agent process 128 binders

------式128回到步驟4 1 8以處理 卜,參數“i”表示襴位,其中丨是周 句加入至規則襴位[丨]=〇[丨](步驟422)。如果篩選條件運营 元*具·有更多 u ,卜咖』—.τ 額外子欄位 於表示襴位數量的整數 在處理子襴位之後, _位是否是“>,,(步驟4------ Expression 128 returns to step 4 1 8 for processing. The parameter "i" represents the unit position, where 丨 is a sentence added to the rule unit position [丨] = 〇 [丨] (step 422). If the filter conditions are: Yuan, there are more u, bca ’—. Τ additional subfields are integers representing the number of units. After processing the subunits, are the _ bits" > ", (Step 4

.之後,代理程式128決定最後篩選條件子 (步驟426),若是,則會將長度條件約束變 1 (步驟428)。萬用字元處理可使用任何 只是此一範例。在本實例中,“a >,,可表 等’而且其所有子襴位都在所有層級上 :.x、a.b.x.y等等)。在他萬用字元實施可 本國家標準格(2ι〇 χ撕公石 571531 A7 B7 五 、發明説明(48 ) 使闬其他符號^After that, the agent 128 decides the final filter condition (step 426), and if so, it changes the length constraint to 1 (step 428). Wildcard processing can be used with just this example. In this example, "a >, can be listed, etc. 'and all its children are at all levels: .x, abxy, etc.). The national standard case (2ι〇) can be implemented in other wildcard characters. χTear-off stone 571531 A7 B7 V. Description of the invention (48) Use other symbols ^

如果必要的話,代理程式128將所轉換規則傳播至智慧 型路由器或網路中的其他實體(步驟430)。因此,本方法 遞迴處理所有子欄位,以便將萬用字元轉換成非萬用字元 規則,意指規則不包含萬用字元。萬用字元轉換可發生在 網路任何地點,例如,在訂購者機器上或智慧型路由器中 。因此,轉換可發生在具有傳播至其他實體之轉換規則的 實體中,或可動態發生。 裝 表格23中提供用於處理萬用字元之示範性路由規則的摘 要與實例。例如,這些路由規則可在智慧型路由器中產生 ,或在其他網路實體中產生,並且被傳播至智慧型路由器 。此外,表格23中的路由規則僅基於解說目的提出,並且 可使用轉換萬用字元的其他路由規則。 表格23 原始規則 轉換規則 subject = “a.b” subject, length = 2 & subject[〇l = “a” & subjectm = ‘V’ subject = subject, length == 3 & subject[〇l = “C” & subject[21 = “D,, subject = “foo.>” subject.length > 1 & subject[0] = “foo” subject = subject.length > 5 & subject[2] = “b” & subject[4] = “c,, 訂If necessary, the agent 128 propagates the converted rules to the smart router or other entities in the network (step 430). Therefore, this method recursively processes all subfields in order to convert wildcard characters to non- wildcard rules, meaning that the rules do not contain wildcard characters. Wildcard conversions can occur anywhere on the network, for example, on a subscriber's machine or in a smart router. As a result, transformations can occur in entities with transformation rules that propagate to other entities, or they can occur dynamically. A summary and examples of exemplary routing rules for handling wildcard characters are provided in Table 23. For example, these routing rules can be generated in smart routers, or in other network entities, and propagated to smart routers. In addition, the routing rules in Table 23 are presented for illustrative purposes only, and other routing rules that convert wildcard characters may be used. Table 23 Original rule conversion rule subject = “ab” subject, length = 2 & subject [〇l = “a” & subjectm = 'V' subject = subject, length == 3 & subject [〇l = “C "&Amp; subject [21 =" D ,, subject = "foo. ≫" subject.length > 1 & subject [0] = "foo" subject = subject.length > 5 & subject [2] = "B" & subject [4] = "c ,, order

雖然已配合示範性具體實施例來說明本發明,熟知技藝 人士應明白有許多修改化,並且本說明書預定涵蓋任何改 編或變化。例如,可使用各種類型的發行者機器、使用者 或訂購者機器、這些機器的通道及組態配置及内容架構型 -53- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 571531 A7 _B7 _._ 五 、發明説明(49 ) 路由的軟硬體實施和其他功能,而不會脫離本發明的範疇 及精神。本發明只受到申請專利範圍及其同等級所限制.。Although the invention has been described in connection with exemplary embodiments, those skilled in the art will recognize that there are many modifications and that this specification is intended to cover any adaptation or change. For example, you can use various types of issuer machines, user or orderer machines, the channels and configuration configurations and content architecture of these machines. -53- This paper standard is applicable to China National Standard (CNS) A4 specification (210 X 297 public) (Centi) 571531 A7 _B7 _._ 5. Description of the invention (49) The implementation of the software and hardware of the routing and other functions without departing from the scope and spirit of the present invention. The invention is limited only by the scope of patent applications and their equivalents.

裝 訂Binding

-54-本纸張尺度適用中國國家標準(CNS) A4規格(210X297公釐)-54- This paper size applies to Chinese National Standard (CNS) A4 (210X297 mm)

Claims (1)

申請專利範圍 ^一種用於在網路中處理 免廷封包之方法,包括: 接收一具有一標韻p Ώ ”題又及_有效負載區段的封包;· 在 網路核心中檢省兮* . .^ ^ —該封包的該有效負載區段,以在 決疋如何處理該封包;及 依據該檢查來選擇性處理該封包。 2·如申請專利範圍第1 — 方法,其中該檢查步驟包括決 疋該有效負載區段中的資 θ 一 扪貝訊疋否匹配與一結構中的内容 y «司 > 訊,該結構使該内玄+ 、 (发円谷述詞貧訊與相對應網路目的 地或用於管理路由 , 田裔中處理之相對應規則相關。 J .如申請專利範圍第1适 項之方法’進一步包括在該網路核 心中的一路由器上執行該檢查步驟。 4.如申請專利範圍第1項之方法,其中該檢查步驟包括將 _-筛選條件套用至該有效負載區段中的資訊。 5·如申請專利範圍第4:® >古、丄 ^ 圍弟4項之方法,進一步包括將該篩選條 件傳播至該網路中的一蹊由哭 、,丄Α ^ ^硌由裘,以在執行該檢查步驟時 使用。 6. 如申請專利範圍第旧之方法,進—步包括程式規劃該 肩路中& •由器,用以執行接收、檢查及處理步错。 7. 如申請專利範圍第丨項之方法,其中該檢查步雜包括檢 查屬性,以在決定如何路由該封包時使用。 8·—種用於在網路中處理訊息之方法,包括: 接收一具有一標題區段,至少一主題及至少一屬性的 訊息, 從該訊息擷取該主題及該屬性; •55-Scope of patent application ^ A method for processing free packets on the network, including: receiving a packet with a rhyme p Ώ "" and a _payload section; · Checking and saving in the core of the network * ... ^ — The payload section of the packet to determine how to process the packet; and to selectively process the packet based on the inspection. 2. If the scope of the patent application is 1-method, the inspection step includes Determine whether the information θ in the payload section matches the content in a structure y «司 > information, the structure makes the Inner Xuan +, (Fagu Valley Poetry Poor and Corresponding Network) The route destination may be used to manage the routing, and the corresponding rule processed by Tian Yizhong is related. J. The method of the first applicable item of the scope of the patent application 'further includes performing the checking step on a router in the core of the network. 4 The method according to item 1 of the scope of patent application, wherein the checking step includes applying the _-screening condition to the information in the payload section. 5. If the scope of patent application is 4: ® > 4 methods The method further includes transmitting the screening condition to the network by the crying, 丄 Α ^ ^ 硌 You Qiu, to be used when performing the inspection step. 6. If the oldest method in the scope of patent application, go further Include the program to plan the shoulder path. • Router to perform receiving, checking, and processing step errors. 7. For the method of the scope of patent application, the checking step includes checking attributes to determine how to route. This packet is used. 8 · —A method for processing a message on the network, including: receiving a message having a title section, at least a subject, and at least one attribute, and extracting the subject and the attribute from the message ; 55- 本纸張尺度適用中國國家標準(CNS) Α4規格7210X297公釐^ A8 B8This paper size applies to Chinese National Standard (CNS) Α4 size 7210X297 mm ^ A8 B8 依據該主題擷取一訂蹲;及 將該屬性套用至一網路 路由該訊息e a中的s丁購,以便決定如和 9.如申請專利範圍第8項 白紅4½说 1 韻取該訂購之步凝 " 相對應該訂購的篩選條件。 10·如申請專利範圍第8項 ^ 方法,進一步包括如果該屬性 付合該叮購,則路由該訊息。 性 1 1·如申請專利範圍第8項之方法 4 ^ no 方法,進-步包括如果該屬性 不符合所有訂購,則捨棄該訊息。 嗓 12·如申請專利範圍第8項之方法,進一步包括· 掘取相對應於複數個訂睛的複數個篩選條件; 從該訊息韻取該等複數個屬性; 將該等4性之每個屬性套用至該等筛選條件之每個筛 選條件,以決定是否符合任何相對應訂購;及 依據是否符合任何訂購來選擇性路由該訊束。 13·如申請專利範圍第8項之方法,進牛勺紅二 。κ万沄,進一步包括在該網路核 心中的一路由器上執行該套用步驟。 14.一種用於配置一通道以促進内容架構型路由之方法,包 括: I 建立一通道,用於提供一介於一發行訂購網路中複數 個節點之間的邏輯通信路徑; 、配置該通道,以在透過該通信路徑内容架構型路由資 訊時使用;及 選取一訊心格式,用於依據該通道透過該通信路徑傳 -56- 本纸張尺度適用中國國家標i^S) 297公釐) ' " ----Retrieve an order according to the subject; and apply the attribute to a network to route the order in the message ea, in order to determine such as and 9. such as the scope of the patent application No. 8 white red 4½ said 1 rhyme the order Step Ning " the filter conditions that should be ordered. 10. The method according to item 8 of the scope of patent application, further comprising routing the message if the attribute is compatible with the bitcoin purchase. Property 1 1 · As the method of the 8th patent application 4 ^ no method, the further step includes discarding the message if the attribute does not meet all the orders. Throat 12. The method of item 8 of the scope of patent application, further comprising: digging out a plurality of filter conditions corresponding to a plurality of fixation eyes; extracting the plurality of attributes from the message; each of the four characteristics The attributes are applied to each of the screening conditions to determine whether any corresponding order is met; and to selectively route the bundle based on whether any order is met. 13. If you apply for the method in item 8 of the scope of the patent, enter the red spoon. Kappa, further includes performing the applying step on a router in the core of the network. 14. A method for configuring a channel to promote content-based routing, comprising: I establishing a channel for providing a logical communication path between a plurality of nodes in a distribution subscription network; and configuring the channel, To use when routing information through the content path of the communication path; and select a core format for transmitting through the communication path according to the channel '" ---- 裝 訂 線Gutter 571531 A8 B8 C8 D8571531 A8 B8 C8 D8 六、申請專利範圍 輸。 如申請專利範圍第14項之方法,進一步包括將主題對慮 至該訊息格式中的號碼,其中該等主題相當於要 通道發行的内容。 ^ 16·如申請專利範圍第i4項之方法,其中該配置步驟包括配 置該通道,以依據訂購來執行封包篩選。 Π.如申請專利範圍第丨4項之方法,其中該建立步驟包括將 該通道分散於該網路的複數個路由器之中。 18_如申請專利範圍第14項之方法,其中該建立步驟包括依 據要透過該通道發行的内容來配置該通道。 19·如申請專利範圍第18項之方法,其中該建立步驟包括: 決定該通道的訊息格式; 配置該通道的Proxy (代理伺服器); 依據該訊息格式建立一通知;及 發行該通知。 20.如申請專利範圍第14項之方法,進一步包括從一使用者 接收一用於透過該通道發行之内容的訂購β 21 ·如申請專利範圍第20項之方法,其中接收該訂購之步驟 包括: 接收該通道的選擇;及 接收該通道之使用者訂購的參數。 22:如申請專利範圍第20項之方法,進一步包括透過該通道 將使用者的訂購傳播至一網路核心中的一路由器。 23·如申請專利範圍第14項之方法,進一步包括: -57- 本紙張尺度適用中國國家標準(CNS) Α4規格(21〇 X 297公爱) 申請專利範圍 A8 B8 C8 D8 經由該通道接收内容; 在該網路中的一路由器上本機快取該内容;及 以時間標記該快取内容。 24·如申請專利範圍第23項之方法,進一步包括按該通道的 一識別、一相對應於該通道之主題之識別及該時間標記 來編製該快取内容的索引。 25·如申請專利範圍第23項之方法,進一步包括: 在該路由器上接收一有關該快取内容的要求;及 依據該要求及該時間標記來擷取及傳輸該快取内容的 至少一部份。 26. —種用於配置一通道以促進内容架構型路由之方法,包 括: 在一網路中的路由器之間建立一邏輯連接; 將該邏輯連接配置為一通道,用於傳輸有關至少一主 題的内容;及 提供屬性,用於經由該通道進行内容架構型路由時使 27. 如申請專利範圍第26項之方法,進一步包括將該通道的 一識別及該等屬性傳輸至該網路中的路由号。 28. —種用於在一發行訂購網路中傳輸述詞之方法,包括: 接收一運算式,該運算式包括有關一訂購的布林值 (Boolean-valued)述詞; 將該運算式編碼成-用於在該網路中傳輸的訊息,用 於在内容架構型路由時使周;及Scope of patent application For example, the method of applying for the scope of patent application No. 14 further includes matching the subject matter to the number in the message format, where the subject matter is equivalent to the content to be distributed through the channel. ^ 16. The method according to item i4 of the patent application scope, wherein the configuration step includes configuring the channel to perform packet filtering according to the order. Π. The method according to item 4 of the patent application scope, wherein the establishing step includes distributing the channel among a plurality of routers in the network. 18_ The method according to item 14 of the patent application scope, wherein the establishing step includes configuring the channel according to the content to be distributed through the channel. 19. The method of claim 18, wherein the establishing step includes: determining a message format for the channel; configuring a proxy for the channel; creating a notification based on the message format; and issuing the notification. 20. The method according to item 14 of the patent application, further comprising receiving an order from a user for content distributed through the channel β 21. The method according to item 20 in the patent application, wherein the step of receiving the order includes : Receiving the selection of the channel; and receiving the parameters ordered by the user of the channel. 22: The method of claim 20 in the scope of patent application, further comprising transmitting the user's subscription to a router in a network core through the channel. 23. The method of claim 14 in the scope of patent application, further comprising: -57- This paper size applies Chinese National Standards (CNS) A4 specifications (21〇X 297 public love) Patent application scope A8 B8 C8 D8 Receive content via this channel ; Cache the content locally on a router in the network; and time-mark the cached content. 24. The method of claim 23, further comprising indexing the cached content according to an identification of the channel, an identification corresponding to the subject of the channel, and the time stamp. 25. The method of claim 23, further comprising: receiving a request for the cached content on the router; and retrieving and transmitting at least a portion of the cached content according to the request and the time stamp. Serving. 26. A method for configuring a channel to facilitate content-based routing, including: establishing a logical connection between routers in a network; configuring the logical connection as a channel for transmitting information on at least one subject And provide attributes for content-structured routing via the channel. 27. The method of claim 26, further including an identification of the channel and transmission of those attributes to the network. Route number. 28. A method for transmitting a predicate in a distribution subscription network, including: receiving an expression that includes a Boolean-valued predicate about an order; encoding the expression Cheng-used for messages transmitted on the network, used for content-based routing; and 裝 訂 線Gutter -58- 本畝張尺度適用中國國家標準(CNS) A4規格(210 X 297公嫠)~一--- 571531 申请專利範圍 AS BS C8 將該訊息傳輸至一網路核心中的至少一路由器,以便 提供該訂購的内容架構型路由。 29,如申請專利範圍第28項之方法,其中該編碼步驟包括將 該運异式轉換成一般(flat)訊息格式。 3 0·如申請專利範圍第28項之方法,其中該接收步驟包括接 收該述詞結合(conjuncti〇n)、分離(disjunction)或否定 (negation)術語。 31·如申叫專利範圍第28項之方法,其中該編碼步驟包括將 心運^τ»式轉換成相對應的分離標準形式(disjunctive normal form) 〇 32·如申明專利範圍第3丨項之方法,其中該編碼步驟包括將 該分離標準形式轉換成一相對應屬性測試位 元字串编碼 序列。 3 3·如申#專利範圍第28項之方法,其中該編碼步驟包括將 該運算式中的不等參數轉換成肯定形式。 34.如申請專利範圍㈣項之方法,其中該編瑪步驟包括簡 化該刀離‘準模式中的AND運算式,以包含範圍篩選 條件及成員測試。 3d.如申請專利範圍第28項之方法,進一步包括: 接收該訂購;及 從該訂購者建立該運算式。 〇6.如申请專利範圍第28項之方沐丰— , 項 < 万去,進一步包括剖析該3 式’以便偵測該訂購中的錯誤。 π如申請專利範圍第28項之方法,進—步包括將該運$ • 59 --58- The size of this acre is applicable to the Chinese National Standard (CNS) A4 specification (210 X 297 cm) ~ 1 --- 571531 patent application scope AS BS C8 transmits this message to at least one router in a network core, To provide the content-based routing of the subscription. 29. The method of claim 28, wherein the encoding step includes converting the transport type to a flat message format. 30. The method of claim 28, wherein the receiving step includes receiving the predicate conjunctión, disjunction, or negation terms. 31. The method of claiming the 28th item in the patent scope, wherein the encoding step includes transforming the mental formula ^ τ »into a corresponding discrete normal form. 32. The method of claiming the 3rd aspect of the patent scope, The method, wherein the encoding step includes converting the separation standard form into a corresponding attribute test bit string encoding sequence. 3 3. The method of item 28 of the scope of the patent of Rushen #, wherein the encoding step includes converting unequal parameters in the operation formula into a positive form. 34. The method of claiming a scope item, wherein the step of compiling comprises simplifying an AND expression in the quasi mode of the separation to include a range selection condition and a membership test. 3d. The method of claim 28, further comprising: receiving the order; and establishing the calculation formula from the orderer. 〇6. If Fang Mufeng of item 28 of the scope of patent application is applied, the item < 10,000 goes further, further including parsing the 3 formula 'in order to detect errors in the order. π As in the method of applying for item 28 of the scope of the patent, the further step includes applying this method 裝 訂 線 I i、申請專利範圍 儲存於一資料結構中。 3δ. 一=於在—發行訂_路切存域之η,包括: 一結構,以在該網路中儲存一訂購; 將該結構分割成複數個子運算式; 等子運算式以共同指定一特定訂購,·及 I…布林值㈣與該特定㈣之該等子運算式的至 =子ϋ其中該布林值述詞提供該特定訂購之- 39如申:鼻不’以便為該訂購提供内容架構型路由。 二 =Γ圍第38項之方法,其中該使用㈣包括在 夕個玎購中使用一特定子運算式。 4〇·如申請專利範圍第38項之 合一分離(disjUnction)、处二、/結合步帮包括結 7 、、° 合(conjunction)、或否定 (negatl0n)述詞與該特定訂購的子運算式。 41.如申請專利範圍第38項之方 購的該等子運算式之至少步包括為該特定訂 4? λ ^ 子運异式指定一常數值。 42·如申请專利範圍第38項之方法,進—齐勺上 訂購之複數個通知元件之間的㈣。a K該特定 43.M請專利範圍第38項之方法,其中該 44二具有多層層級的階段結構,用於指定該等子運:^日 項之方法,—二使 45.::::利範圍第一法括將 該訂”的不等參數轉料該子運算ο的將 .如申请專利範圍第44項之方法,其中該分割步帮包ς簡 60 97¾) 本纸張尺度適i國國家標^_:4規格(膨2: A8The binding line I i and the scope of patent application are stored in a data structure. 3δ. One = η in the Yuzai-Issuing order_road cut storage domain, including: a structure to store an order in the network; dividing the structure into a plurality of sub-expressions; and equal sub-expressions to collectively specify a A specific order, and I ... the value of the Bolin value and the sub-expressions of that particular value, where the Brian value predicate provides that specific order, Provide content-based routing. Two = The method of Γ around item 38, wherein the use of the method includes using a specific sub-expression in the purchase. 40. If the unification separation (disjUnction), disposition 2 / combination step of item 38 in the scope of the patent application includes the sub-operation of the 7, preposition, conjunction, or negatl0n, and the specific order formula. 41. At least the steps of the sub-expressions purchased as purchased in item 38 of the scope of the patent application include specifying a constant value for the particular order. 42. If the method according to item 38 of the scope of patent application is filed, enter the order among the plurality of notification elements. a K This specific 43.M method of patent scope item 38, wherein the 44 two has a multi-level stage structure, used to specify the method of the sub-transport: ^ Japanese term,-Ershi 45. :::: The first method of profit scope includes transferring the sub-calculations of the unequal parameters of the order. For example, the method of the 44th scope of the patent application, in which the segmentation step package is simplified 60 97¾) The paper size is appropriate. National standard ^ _: 4 specifications (inflated 2: A8 ^該分離標準形式中的獅 中包含範圍筛選條件及成員二;'式,以在該等運算式 47. 如φ社奎以# _ 人只㊇或。 -專利乾圍第38項之方 接收該訂購;及 進/已括· 從該訂購者建立該等子運算式。 48. 如申請專利範圍第38項之方法 半 運算式’以便偵測該訂購中的錯誤乃括剖析該等子 49. 一種用於在網路中路由封包之方法’包括: 具有一標題區段及—有效負載區段的封包; 用字元之該等訂購中以藉由使用限制具有萬 路由封包:& 大小的路由規則來決定如何 依據檢查結果來選擇性路由該封包。 5〇·如申請專利範圍第49項之方法,進一步包括在—網㈣ 心中的一路由器上執行該檢查步驟。 乂 )1.如申請專利範圍第49項之方法,其中該檢 用-筛選條件產生的該路由規則。 ’括使 52·如申請專利範圍苐51項之方法,其中該檢查步驟包括: 計數該有效負、載區段中一筛選條件運算元中的欄位數 量; 依據該篩選條件運算元的襴位數量來產生該篩選條件 運异元的糊位長度規則;及 遞迴處理該f帛選條件運算元的子襴位,並且在偵測到 子搁位包含一萬用子元後’依據該補位長度規則來轉 •61 · 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)^ The lion in the separation standard form includes the range filtering conditions and member two; 'formulas' in these arithmetic expressions 47. For example, φ 社 奎 以 # 人人 ㊇㊇or or. -The party involved in item 38 receives the order; and enters / includes the sub-expressions from the orderer. 48. The method of semi-arithmic expression of item 38 of the scope of patent application 'in order to detect errors in the order includes parsing the sub 49. A method for routing packets in a network' includes: a header section And-the packet of the payload segment; in these subscriptions using characters to determine how to selectively route the packet based on the inspection result by using a routing rule with a limit of 10,000 routing packets: & size. 50. The method according to item 49 of the scope of patent application, further comprising performing the checking step on a router in the heart of the network. )) 1. The method of claim 49 in the scope of patent application, wherein the routing rule generated by the access-screening condition. The method of enclosing 52. If the scope of the patent application is 51 items, the checking step includes: counting the number of fields in a filter condition operand in the valid negative and loaded sections; Number of bits to generate a paste bit length rule for the screening condition operator; and recursively process the child bits of the f 帛 select conditional operand, and upon detecting that the child shelf contains a universal child, according to the Reversal length rule to turn • 61 · This paper size applies to China National Standard (CNS) A4 (210 X 297 mm) 裝 訂Binding 申請專利範圍 換該子襴位。 )3.如申請專利範圍第52項之方 m _ ,,其中該檢查步驟包括使 用 師選規則,該篩選規則限告,丨兮士 襴位大小〆 ㈣有效負載區段中的子 54.—種用於在網路中路由訊息之方法,包括: 接收一具有一標題區段= _ , ^ 主題及至少一屬性的 9 從該訊息揭取該主題及該屬性,該屬性包含至少一萬 用字元運算元; 將該萬用字元運算元轉換成-相對應非萬用字元路由 規則; 依據該主題擷取一訂購;及 將該屬性套用至訂購,以便決定如何路由該訊息。 ”·如申請專利範圍第54項之方法,進-步包括在-網路核 心中的一路由器上執行該套用步驟。 56.如申請專利範圍第54項之方法,進—步包括使用一筛選 條件以將該屬性套用至該訂購。 5 7·如申叫專利範圍第54項之方法,其令該轉換步驟包括: 計數該訂購之一運算元中的襴位數量; 依據該運算元的欄位數量來產生該運算元的欄位長度 規則;及 遞迴處理該運算元的子襴位,並且在偵測到一萬用字 元匹配彳交,依據該襴位長度規則來轉換該子欄位。 58·如申請專利範圍第57項之方法,其中該轉換步驟包括使 -62- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公爱) 裝 訂 線 571531 8 8 8 8 ABCD 申請專利範圍 用一篩選規則,該篩選規則限制該有效負載區段中的子 欄位大小。 59.—種用於在一發行訂購網路中處理封包及訂購之裝置, 包括: 一個或一個以上模組,用於執行如申請專利範圍第1 到58項之任一項的方法。 -63- 本纸張尺度適用中国國家標準(CNS) A4規格(210 X 297公釐)Scope of patent application ) 3. If the square m_ of the 52th scope of the patent application, where the inspection step includes the use of teacher selection rules, the filtering rules are limited to the sub-54 in the payload size section. A method for routing messages in a network, including: receiving a 9 having a title section = _, ^ subject and at least one attribute 9 extracting the subject and the attribute from the message, the attribute containing at least one universal Character operand; converting the wildcard operand into a -corresponding non-wildcard routing rule; retrieving a subscription based on the subject; and applying the attribute to the subscription to determine how to route the message. "· If the method of applying for the scope of the patent item 54, the step further includes performing the applying step on a router in the core of the network. 56. If the method of the scope of the patent application is applied, the step further includes using a screen Select the condition to apply the attribute to the order. 5 7 · If the method of claiming the scope of the patent claims No. 54, the conversion step includes: counting the number of niches in one operand of the order; The number of fields to generate the field length rule of the operand; and recursively process the child bits of the operand, and when a wildcard match is detected, the child is converted according to the bit length rule 58. If the method of the 57th scope of the patent application is applied, the conversion step includes -62- This paper size applies the Chinese National Standard (CNS) A4 specification (210X297 public love) gutter 571531 8 8 8 8 The scope of the patent uses a screening rule that limits the size of the sub-fields in the payload section. 59.-A device for processing packets and ordering in a distribution order network, including: one or one The module, such as method of any of the first patent application range of 1 to 58 for performing one. This paper -63- applies China National Standard Scale (CNS) A4 size (210 X 297 mm)
TW91116727A 2001-08-15 2002-07-26 Packet routing via payload inspection and subscription processing in a publish-subscribe network TW571531B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US31207401P 2001-08-15 2001-08-15
US31207501P 2001-08-15 2001-08-15
US31207601P 2001-08-15 2001-08-15
US31207701P 2001-08-15 2001-08-15
US10/199,368 US7545805B2 (en) 2001-08-15 2002-07-19 Method and apparatus for content-based routing and filtering at routers using channels

Publications (1)

Publication Number Publication Date
TW571531B true TW571531B (en) 2004-01-11

Family

ID=32601172

Family Applications (1)

Application Number Title Priority Date Filing Date
TW91116727A TW571531B (en) 2001-08-15 2002-07-26 Packet routing via payload inspection and subscription processing in a publish-subscribe network

Country Status (1)

Country Link
TW (1) TW571531B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI395435B (en) * 2008-05-14 2013-05-01 Hewlett Packard Co Open network connection

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9413547B2 (en) 2005-05-03 2016-08-09 Hewlett Packard Enterprise Development Lp Open network connections
TWI395435B (en) * 2008-05-14 2013-05-01 Hewlett Packard Co Open network connection

Similar Documents

Publication Publication Date Title
US7545805B2 (en) Method and apparatus for content-based routing and filtering at routers using channels
US6910033B2 (en) Method for storing Boolean functions to enable evaluation, modification, reuse, and delivery over a network
US7958251B2 (en) Method and system for processing raw financial data streams to produce and distribute structured and validated product offering data to subscribing clients
US7139844B2 (en) Method and system for processing financial data objects carried on broadcast data streams and delivering information to subscribing clients
US20040002967A1 (en) Method and apparatus for implementing query-response interactions in a publish-subscribe network
US20030195946A1 (en) Method and apparatus for reliable publishing and subscribing in an unreliable network
US20030189946A1 (en) Method and apparatus for implementing persistent and reliable message delivery
CN1701304B (en) System, method and apparatus for inspecting packet routing via payload in a publish-subscribe network
US8671212B2 (en) Method and system for processing raw financial data streams to produce and distribute structured and validated product offering objects
US20040001498A1 (en) Method and apparatus for propagating content filters for a publish-subscribe network
JP2008252907A (en) Packet routing via payload inspection and subscription processing in publish / subscribe networks
CN105359487B (en) A method to monitor NAT behavior by referring to a URI in a web browser
US20060080120A1 (en) Publish/subscribe mechanism for web services
US20040083305A1 (en) Packet routing via payload inspection for alert services
US20030223408A1 (en) Method and apparatus for content-based packet routing using compact filter storage and off-line pre-computation
JP2013535059A (en) Unified data collection and distribution
US7853695B2 (en) Using expressive session information to represent communication sessions in a distributed system
US20030165139A1 (en) Packet routing via payload inspection
US7117270B2 (en) Method for sending and receiving a Boolean function over a network
JP2004506272A (en) A system that processes raw financial data and generates validated product guidance information for subscribers
JP4429173B2 (en) Method and computer system for triggering action based on digital communication data
US7411954B2 (en) Efficient implementation of wildcard matching on variable-sized fields in content-based routing
TW571531B (en) Packet routing via payload inspection and subscription processing in a publish-subscribe network
KR20040039288A (en) Packet routing via payload inspection and subscription processing in a publish-subscribe network
Peng Service Oriented Reaction Rule Agent

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