專利名稱:用于提供即時發(fā)布的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及發(fā)布/訂閱消息傳遞系統(tǒng),更具體地,涉及使用訂閱事件模型的發(fā)布/訂閱消息傳遞系統(tǒng)。
背景技術(shù):
發(fā)布/訂閱消息傳遞系統(tǒng)用于向訂戶發(fā)布訂閱主題。訂閱主題通常提早確定,而訂戶能夠在設(shè)計時(在開發(fā)訂閱軟件時)或運行時訪問這一列表(由發(fā)布者動態(tài)提供)。
2003年5月27日對Wewalaarachchi等人的“SERVICE-ORIENTEDCOMMUNITY AGENT(面向服務(wù)的公用代理)”授權(quán)的美國專利6,571,140公開了一種提供遠程實時數(shù)據(jù)監(jiān)控的創(chuàng)建和操作的系統(tǒng)和方法以及控制系統(tǒng),并包括連接到實時設(shè)備的通信網(wǎng)關(guān)。該通信網(wǎng)關(guān)以單一的通用數(shù)據(jù)格式轉(zhuǎn)換為完全不同的和不可共同操作的系統(tǒng)收集的實時數(shù)據(jù)。通信網(wǎng)關(guān)向?qū)ο蠓?wù)器提供該通信網(wǎng)關(guān)所連接的實時設(shè)備的列表以及這些實時設(shè)備的屬性。對象服務(wù)器發(fā)布這一列表,訂戶能夠訪問這一列表并且請求訂閱某一設(shè)備的特定屬性。對象服務(wù)器創(chuàng)建對應(yīng)于所請求信息的數(shù)據(jù)對象。訂戶包括訪問該對象服務(wù)器的服務(wù)代理。
2002年9月26日公布的Anderson等人的“FUNCTION/SERVICEBASED DATA EXPORT(基于功能/服務(wù)的數(shù)據(jù)輸出)”美國專利申請公布US 2002/0138499公開了一種的數(shù)據(jù)輸出器,其被配備為檢測目標應(yīng)用的存在,識別包括可輸出數(shù)據(jù)的功能/服務(wù)溯源的應(yīng)用的可輸出數(shù)據(jù),并且以基于功能/服務(wù)的方式輸出該數(shù)據(jù)。
2003年3月27日公布的Jacors,JR的“SYSTEM AND METHOD OFPROVIDING INFORMATION FROM A PLURALITY OFINFORMATION SOURCES(從多個信息源提供信息的系統(tǒng)和方法)”美國專利申請公布US 2003/0061348公開了一種向用戶提供特定信息的系統(tǒng),包括從多個度量發(fā)布提供者收集度量信息的訂閱服務(wù)器。用戶可以登錄到訂閱服務(wù)器并進行訂閱以接收來自多個度量發(fā)布提供者的一組特定度量數(shù)據(jù)。用戶可以定義只呈現(xiàn)所選擇的度量數(shù)據(jù)的用戶視圖。希望經(jīng)由訂閱服務(wù)提供度量數(shù)據(jù)的發(fā)布提供者向訂閱服務(wù)器發(fā)送指示它發(fā)布哪些度量信息的消息。發(fā)布提供者向訂閱服務(wù)器提供標準化形式的度量信息。
2003年9月25日公布的Degroot的“METHOD AND SYSTEM FORDOC UMENT PRESENTMENT BETWEEN GENERIC PUBLISHERSAND GENERIC SUBSCRIBERS(用于在普通發(fā)布者和普通訂閱者之間呈現(xiàn)文檔的方法和系統(tǒng))”美國專利申請公布US 2003/0182234公開了一種用于通過因特網(wǎng)呈現(xiàn)電子文檔的方法和系統(tǒng)。該系統(tǒng)作為通過經(jīng)由因特網(wǎng)訪問的軟件遠程定位的普通發(fā)布者和普通訂閱者之間的媒介,并允許依據(jù)發(fā)布者和訂閱者的相互關(guān)系對他們進行分類。
2003年11月6日公布的Gildenblat的“EVENT DRIVENINFORMATION PUBLICATION(事件驅(qū)動的信息發(fā)布)”美國專利申請公布US 2003/0208539公開了一種事件驅(qū)動的信息發(fā)布系統(tǒng),該系統(tǒng)包括一個或多個數(shù)字計算機網(wǎng)絡(luò)以及位于這些計算機網(wǎng)絡(luò)上的一個或多個節(jié)點。節(jié)點執(zhí)行信息發(fā)布系統(tǒng)應(yīng)用或小程序。該節(jié)點能夠訂閱一個或多個信息項種類并且能夠接收依據(jù)一個或多個信息項種類發(fā)布的信息項。該信息發(fā)布系統(tǒng)應(yīng)用處理該信息項,以便顯示。
2003年11月20日公布的美國專利申請公布US 2003/02171096公開了一種基于網(wǎng)絡(luò)的消息傳遞系統(tǒng),該系統(tǒng)使得多個代理在多個用戶之間實時傳送消息。個人代理收集關(guān)于其他代理的屬性信息并將該信息發(fā)布給其他訂閱代理。
發(fā)明內(nèi)容
本發(fā)明是一種通過使用訂閱事件模型提供可發(fā)布信息的方法和系統(tǒng)。該訂閱事件模型允許該系統(tǒng)根據(jù)當前訂閱表確定所請求的實際信息,并且每當新的處理訂閱特定主題樹時更新該訂閱表。通過將訂閱請求合并為一個服務(wù),而不是要求客戶端直接查詢每一數(shù)據(jù)源,來減少該發(fā)布/訂閱系統(tǒng)可用的數(shù)據(jù)源上的負荷量。由于只有一個處理在查詢數(shù)據(jù)源并將結(jié)果遞送給訂戶,所以本發(fā)明還將降低網(wǎng)絡(luò)利用。本發(fā)明通過允許數(shù)據(jù)收集代理在該發(fā)布/訂閱系統(tǒng)中注冊,還允許分布的數(shù)據(jù)源提供者。
選擇用戶希望在新消息到達時得到告警的一組新聞?wù)搲且环N常見的事務(wù)處理。最常見的實現(xiàn)這一事務(wù)處理的方式是通過周期性地輪詢新聞服務(wù)器來確定是否新的消息已到達。然而,當用戶數(shù)量的增長超過某一大小時,這會對新聞服務(wù)器帶來過度負擔(許多連接都查詢相同信息)。本發(fā)明允許用戶訂閱一般主題,并定義將要使用的特定論壇。該發(fā)布/訂閱系統(tǒng)將檢測這種訂閱,確定訂閱的類型,將信息傳遞給適當?shù)臄?shù)據(jù)源提供者,以將該論壇增加到可發(fā)布主題的列表。然后,另一過程(數(shù)據(jù)源提供者)將周期性地檢查每個被請求的論壇,發(fā)布消息向所有訂戶告警新消息已經(jīng)到達該論壇。這樣將新聞服務(wù)器上的負荷減少到單個連接,并且有利地利用了該發(fā)布/訂閱系統(tǒng)的大規(guī)模發(fā)布能力。由于提供者已了解已經(jīng)發(fā)生了哪些訂閱事件,因此還減少了數(shù)據(jù)源提供者必須監(jiān)控的論壇數(shù)量,提供者只需為至少一個用戶已經(jīng)訂閱的論壇發(fā)布更新告警,而忽略所有其他論壇,從而減少計算資源。
因此,本發(fā)明的一個目的在于使用利用訂閱事件作為可發(fā)布主題的源的發(fā)布/訂閱技術(shù)。
本發(fā)明的另一目的在于提供基于訂戶所請求的信息的一般分類的訂閱信息的實時動態(tài)收集。
本發(fā)明的又一目的在于提供基于諸如不具有預(yù)定主題列表的發(fā)布服務(wù)的訂閱列表的即時按需發(fā)布。
本發(fā)明的又一目的在于提供在運行時對該系統(tǒng)未知并且不必對訂戶已知的數(shù)據(jù)源的動態(tài)數(shù)量。
從下面結(jié)合附圖的詳細描述中,本發(fā)明的這些及其他目的對于本領(lǐng)域的技術(shù)人員來說將是顯而易見的。
圖1是本發(fā)明系統(tǒng)的示意圖,該系統(tǒng)使得訂戶從數(shù)據(jù)源訂閱可用主題;圖2是示出圖1系統(tǒng)的訂戶的訂戶動作的流的流程圖;以及圖3是圖1系統(tǒng)的數(shù)據(jù)源的數(shù)據(jù)源動作的數(shù)據(jù)流程圖。
具體實施例方式
圖1是本發(fā)明系統(tǒng)10的示意圖。在圖1中,一個或多個訂戶11連接到發(fā)布/訂閱引擎12,并向其訂閱進行訂閱的訂戶11感興趣的主題。例如,發(fā)布/訂閱引擎12可以是從紐約Armonk的IBM公司獲得的WebSphereBusiness Integration Message Broker。這種發(fā)布/訂閱引擎在美國專利申請序號10/207711的“INTERACTIVE FILTERING ELECTRONICMESSAGE RECERIVED FROM A PUBLICATION/SUBSCRIPTIONSERVICE(交互過濾從發(fā)布/訂閱服務(wù)接收的電子消息)”(代理機構(gòu)卷號POU920020088US1)和美國專利申請序號10/207685的“INTERACTIVEONE TO MANY COMMUNICATION IN A COOPERATINGCOMMUNITY OF USERS(在協(xié)作的用戶群體中一方到多方的交互式通信”(代理機構(gòu)卷號POU920020089US1)中有所描述,這些申請都由本申請的受讓人所擁有,并且在此將這些申請引入作為參考。發(fā)布/訂閱引擎負責維護到訂戶11的連接并且將發(fā)布的消息遞送給適當?shù)挠啈?1。
圖1的系統(tǒng)包括具有訂閱過程14的即時發(fā)布/訂閱(sub/pub)消息傳遞系統(tǒng)13,訂閱過程14包括數(shù)據(jù)源注冊庫15、匹配過程或例程16以及訂閱監(jiān)控器17。訂閱表20包括用戶訂閱部分21和數(shù)據(jù)源部分22。訂閱監(jiān)控器17檢測訂閱并維護用戶訂閱部分21,數(shù)據(jù)源注冊庫維護數(shù)據(jù)源部分22。僅為方便起見,將訂閱部分21和數(shù)據(jù)源部分22示為一個表的一部分。還應(yīng)當理解,用戶訂閱部分21和數(shù)據(jù)源部分22可以位于單獨的表中或結(jié)合在如圖1所示的一個表中。還應(yīng)該理解,訂閱表20的用戶訂閱部分21和數(shù)據(jù)源部分22在計算機存儲器中無需是連續(xù)的,此外還可以根據(jù)需要存儲在計算機存儲設(shè)備的相同或不同部分,或存儲在單獨的計算機存儲設(shè)備中。
用戶訂閱部分21存儲訂閱主題和分類的統(tǒng)計以及正在請求的詳細數(shù)據(jù)。例如,整個系統(tǒng)可能具有前綴為“subpubT”的數(shù)據(jù)類型的副主題、特定新聞?wù)搲?wù)器的第三主題、和要收聽的特定形式的第四主題,諸如“/subpub/forum/forums.ibm.com/forums.archi ecture.pubsub”。
數(shù)據(jù)源部分22由數(shù)據(jù)源注冊庫15來維護,數(shù)據(jù)源部分22中的每個數(shù)據(jù)源已注冊在數(shù)據(jù)源注冊庫15中,下面將要討論。訂閱過程14的匹配過程16將注冊在數(shù)據(jù)源部分22中的可用數(shù)據(jù)源與訂閱表20的用戶訂閱部分21中的用戶訂閱相匹配。當接收到新的訂閱時,或當建立數(shù)據(jù)源時,或當數(shù)據(jù)源報告有新的數(shù)據(jù)要傳送時,匹配過程16尋找匹配數(shù)據(jù)。
一個或多個數(shù)據(jù)源25連接到訂閱過程13,這些數(shù)據(jù)源25包括論壇25A、RSS饋送25B或其他饋送25C。每個數(shù)據(jù)源25都連接到數(shù)據(jù)源過程26(例如,數(shù)據(jù)源25A連接到數(shù)據(jù)源過程26A,數(shù)據(jù)源25B連接到數(shù)據(jù)源過程26B,數(shù)據(jù)源25C連接到數(shù)據(jù)源過程26C)。數(shù)據(jù)源過程26控制從它們各自的數(shù)據(jù)源25遞送到向數(shù)據(jù)源訂閱信息的訂戶11的數(shù)據(jù)。這是通過開啟或關(guān)閉數(shù)據(jù)源過程26來完成的,下面將會討論。
當可從數(shù)據(jù)源25獲得新數(shù)據(jù)時,其對應(yīng)的數(shù)據(jù)源過程26向數(shù)據(jù)源注冊庫15報告其數(shù)據(jù)源存在或可用。然后,該數(shù)據(jù)源被數(shù)據(jù)源注冊庫15在數(shù)據(jù)源部分22中記錄該數(shù)據(jù)源對訂戶11是可用的。
應(yīng)當理解,數(shù)據(jù)源注冊庫15和訂閱監(jiān)控器17提供可用數(shù)據(jù)源和訂閱的實時收集。實時意味著一旦數(shù)據(jù)源可用性和用戶訂閱被發(fā)送到訂閱表20,則所記錄的信息可由匹配過程16用于向訂戶提供數(shù)據(jù)源數(shù)據(jù)。于是,訂閱過程14經(jīng)由來自發(fā)布/訂閱引擎12的信息提供實時收集。應(yīng)當理解,存在的是訂閱信息的實時收集,而非來自預(yù)定列表的訂閱。匹配過程16匹配當前注冊的數(shù)據(jù)源25的可用信息,并確保數(shù)據(jù)源過程26對特定數(shù)據(jù)源25是活動的。數(shù)據(jù)源注冊庫15將根據(jù)由訂閱監(jiān)控器17報告的收聽活動,動態(tài)地開啟和關(guān)閉數(shù)據(jù)源過程26。從而,提供了一種系統(tǒng),其中在運行時所存在的動態(tài)數(shù)據(jù)源數(shù)量對于系統(tǒng)未知,并且對訂戶來說該動態(tài)數(shù)據(jù)源數(shù)量也不必已知。在一個優(yōu)選實現(xiàn)中,可以將數(shù)據(jù)源過程26分布到各外部系統(tǒng),或合并為一個虛擬服務(wù)目錄中以提供適應(yīng)性。
當數(shù)據(jù)源過程26檢測到在它所連接的數(shù)據(jù)源25中已出現(xiàn)變化時,(出現(xiàn)了一個新的論壇點(forum post)),生成消息,并通過發(fā)布/訂閱引擎12發(fā)布該消息,該消息要通過連接28遞送給訂戶。數(shù)據(jù)源25中的變化還被注冊在訂閱表20中。此外,如果注冊在用戶訂閱部分21中的訂閱數(shù)量不等于或不大于所指定的數(shù)量,則數(shù)據(jù)源過程26可能被關(guān)閉,以便如果沒有訂閱或?qū)?shù)據(jù)源數(shù)據(jù)的較低數(shù)量的訂閱,則數(shù)據(jù)源25中的變化不會導(dǎo)致一個消息。生成對訂戶的消息所需的訂閱數(shù)量可以按照要求依據(jù)時間、系統(tǒng)上的負荷、主題訂閱或其他因素來動態(tài)變化。
圖2是示出訂戶動作的流的流程圖。在31,訂戶11諸如通過可從IBM公司獲得的IBM Community Tools對一個主題或者訂閱或者退訂。在33,訂閱監(jiān)控器17檢測訂戶11的訂閱/退訂事件。在35,訂閱監(jiān)控器17捕獲訂閱表20中的訂閱的快照,并根據(jù)檢測到的訂閱/退訂事件更新該表。該快照包括被訂閱的主題和所注冊的訂閱數(shù)量。在37,將該訂閱/退訂事件通知給數(shù)據(jù)源注冊庫15。
在39,匹配過程16尋找與先前記錄在訂閱表20中的數(shù)據(jù)源25以及被所報告的訂戶事件訂閱或退訂的主題的匹配。在39如果未發(fā)現(xiàn)匹配,則在40不采取動作。在39如果存在數(shù)據(jù)源匹配,則在41,將訂閱表20中注冊的訂閱匹配計數(shù)與所要求的數(shù)量(例如0)進行比較,以查看是否需要進一步動作。在41如果該計數(shù)大于所要求的數(shù)量,則在43,數(shù)據(jù)源注冊庫確定現(xiàn)有的數(shù)據(jù)源是否可用(即,它相關(guān)的數(shù)據(jù)源過程開啟并且活動)。如果在43發(fā)現(xiàn)存在現(xiàn)有數(shù)據(jù)源,則在40不采取動作。在43如果不存在現(xiàn)有數(shù)據(jù)源,則在45,數(shù)據(jù)源注冊庫15通知適當?shù)臄?shù)據(jù)源過程26,啟動數(shù)據(jù)源。
在41如果訂閱匹配計數(shù)不在指定閾值(例如0)之上,則在47,檢查以確定是否存在數(shù)據(jù)源。在47如果檢查為否,則在40,不采取動作。在47如果存在數(shù)據(jù)源,則在49,停止該數(shù)據(jù)源,以便該數(shù)據(jù)源25的相關(guān)數(shù)據(jù)過程26不會從該數(shù)據(jù)源向訂戶11遞送消息。因此應(yīng)當理解,如果數(shù)據(jù)源未被最小數(shù)量的訂戶所訂閱,則關(guān)閉該數(shù)據(jù)源,以便它的消息不被處理,從而節(jié)約系統(tǒng)資源。
圖3是數(shù)據(jù)源動作的數(shù)據(jù)流程圖。在50,開始來自圖1的數(shù)據(jù)源25的數(shù)據(jù)源動作。在52,與具有活動的數(shù)據(jù)源25相關(guān)的數(shù)據(jù)源過程26檢測新的活動。在54,當所訂閱的數(shù)據(jù)主題活動并且具有可用數(shù)據(jù)時,數(shù)據(jù)源過程26向發(fā)布/訂閱引擎12遞送消息,該消息要被遞送給具有活動的數(shù)據(jù)源25的訂戶。應(yīng)當理解,由于在41訂閱匹配計數(shù)不在指定閾值水平之上,因此只有在數(shù)據(jù)源過程26還未在49被停止或關(guān)閉時,從該數(shù)據(jù)源過程26遞送該消息,如結(jié)合圖2所討論的那樣。在56,如果數(shù)據(jù)源過程26已在45開啟,則將來自該數(shù)據(jù)源過程26的消息通過發(fā)布/訂閱引擎12遞送到向具有活動的數(shù)據(jù)源25訂閱數(shù)據(jù)的訂戶11。數(shù)據(jù)源動作在58結(jié)束。應(yīng)當理解,在本系統(tǒng)中,如果要被發(fā)布的數(shù)據(jù)未被訂閱或未被訂閱達到某一預(yù)置閾值水平以上,則將不會通過該系統(tǒng)傳送消息。如上述所提及的,該閾值水平可以根據(jù)需要依據(jù)時間、系統(tǒng)上的負荷、主題的普及性或任何其他度量來動態(tài)地設(shè)置或重置。這可以包括基于來自數(shù)據(jù)源的更新數(shù)量以及收聽人員數(shù)量的負荷的每秒/分鐘/小時消息。
應(yīng)當理解,論壇25A和RSS饋送25B只是示例,其他的饋送25C可以包括多種數(shù)據(jù)源。例如,數(shù)據(jù)源可以是具有許多版面和新聞主題的大容量報紙。訂戶可能只對該報紙的一些版面感興趣,也許只對涉及特定主題的文章感興趣。訂戶會只訂閱感興趣的版面或主題,因而該報紙發(fā)布者會基于每個版面或主題的合計訂閱計數(shù)來發(fā)布多種每日版和星期版的期刊或子集。于是,訂戶會收到具有較少不感興趣的版面的報紙。這種系統(tǒng)能夠被進一步用于電子雜志或其他用于提供完全定制的訂閱的發(fā)布應(yīng)用,因而允許信息源確定將要被發(fā)布給只對子集感興趣的訂戶的信息子集的數(shù)量,而不是將所有的出版物發(fā)布給所有的訂戶。
應(yīng)當理解,其他的饋送25C可以是,例如,論壇、RSS/Atom、Wiki、WebLog、網(wǎng)頁、公共數(shù)據(jù)庫和服務(wù)器日志或其他可監(jiān)控信息,可以包括任何通用信息源。
本發(fā)明的能力可以以軟件、固件、硬件或其某種組合來實現(xiàn)。
作為一個例子,本發(fā)明的一個或多個方面可以包括在具有例如計算機可用媒介的制造物品(例如,一個或多個計算機程序產(chǎn)品)中。其中包括有介質(zhì),例如,用于提供及有助于本發(fā)明的能力的計算機可讀程序代碼手段。該制造物品可包括為計算機系統(tǒng)的一部分或被單獨提供。
此外,可提供至少一種機器可讀的程序存儲設(shè)備,其有形地包括至少一個機器可執(zhí)行以實現(xiàn)本發(fā)明的能力的指令程序。
這里描述的流程圖僅是示例。在不背離本發(fā)明的精神的情況下,可以對其中描述的這些附圖或步驟(或操作)進行多種變換。例如,這些步驟可按照不同的順序來執(zhí)行,或者增加、刪除或修改這些步驟。所有這些變換都被認為是所要求保護的本發(fā)明的一部分。
盡管這里已經(jīng)例示和描述了本發(fā)明的優(yōu)選實施例,但是應(yīng)當理解,本發(fā)明并不限于這里所公開的確切構(gòu)造,而是包括在所附權(quán)利要求定義的本發(fā)明范圍內(nèi)作出的所有變化和修改。
權(quán)利要求
1.一種在使得一個或多個訂戶向一個或多個數(shù)據(jù)源訂閱數(shù)據(jù)的發(fā)布/訂閱系統(tǒng)中的即時發(fā)布/訂閱消息傳遞系統(tǒng),包括表,用于記錄存在于該系統(tǒng)中的數(shù)據(jù)源和對于由上述訂戶訂閱的數(shù)據(jù)源的訂閱數(shù)量;以及訂閱過程,如果所述表中對于被訂閱的數(shù)據(jù)源的訂閱數(shù)量未超過預(yù)定數(shù)量,則其使得匹配例程阻止該被訂閱的數(shù)據(jù)源向訂戶遞送消息。
2.權(quán)利要求1的發(fā)布/訂閱消息傳遞系統(tǒng),進一步包括訂閱監(jiān)控器,其實時監(jiān)控來自訂戶的訂閱,并將對于該系統(tǒng)中每一數(shù)據(jù)源的訂閱數(shù)量記錄在所述表的用戶訂閱部分中,以便對于來自所述數(shù)據(jù)源的數(shù)據(jù)的訂閱進行實時收集。
3.權(quán)利要求2的發(fā)布/訂閱消息傳遞系統(tǒng),進一步包括數(shù)據(jù)源注冊庫,其將具有用于傳送給上述訂戶的數(shù)據(jù)的每一數(shù)據(jù)源的存在記錄在所述表的數(shù)據(jù)源部分;以及與每一數(shù)據(jù)源相關(guān)的數(shù)據(jù)源過程,每一數(shù)據(jù)源過程由所述匹配過程控制,以便當所述匹配過程確定一數(shù)據(jù)源還未被所述訂戶訂閱預(yù)定次數(shù)以上時,與該數(shù)據(jù)源相關(guān)的數(shù)據(jù)源過程被關(guān)閉,以便不會從該數(shù)據(jù)源向所述訂戶傳送消息。
4.權(quán)利要求1的發(fā)布/訂閱消息傳遞系統(tǒng),其中所述預(yù)定數(shù)量是零。
5.權(quán)利要求1的發(fā)布/訂閱消息傳遞系統(tǒng),其中所述預(yù)定數(shù)量是動態(tài)可變的。
6.權(quán)利要求5的發(fā)布/訂閱消息傳遞系統(tǒng),其中所述預(yù)定數(shù)量依據(jù)一個或多個時間、或該系統(tǒng)上的消息負荷、或數(shù)據(jù)源的普及性而變化。
7.權(quán)利要求1的發(fā)布/訂閱消息傳遞系統(tǒng),其中所述數(shù)據(jù)源是動態(tài)可變的,并且對上述訂戶及在運行時對該系統(tǒng)是未知的。
8.一種在使得一個或多個訂戶向一個或多個數(shù)據(jù)源訂閱數(shù)據(jù)的發(fā)布/訂閱系統(tǒng)中提供即時發(fā)布/訂閱消息的方法,包括在表中記錄存在于該系統(tǒng)中的數(shù)據(jù)源和對于由上述訂戶訂閱的數(shù)據(jù)源的訂閱數(shù)量;以及如果所述表中對于被訂閱的數(shù)據(jù)源的訂閱數(shù)量未超過預(yù)定數(shù)量,則阻止該數(shù)據(jù)源向訂戶遞送消息。
9.權(quán)利要求8的發(fā)布/訂閱消息傳遞方法,進一步包括實時監(jiān)控來自訂戶的訂閱,并將對于該系統(tǒng)中每一數(shù)據(jù)源的訂閱數(shù)量記錄在所述表的用戶訂閱部分中,以便存在對于來自所述數(shù)據(jù)源的數(shù)據(jù)的訂閱的實時收集。
10.權(quán)利要求9的發(fā)布/訂閱消息傳遞方法,進一步包括利用數(shù)據(jù)源注冊庫將具有用于傳送給所述訂戶的數(shù)據(jù)的每一數(shù)據(jù)源的存在記錄在所述表的數(shù)據(jù)源部分;以及如果一數(shù)據(jù)源還未被所述訂戶訂閱預(yù)定次數(shù)以上,則利用匹配例程關(guān)閉與該數(shù)據(jù)源相關(guān)的任何數(shù)據(jù)源過程,以便不會從與關(guān)閉的數(shù)據(jù)源過程相關(guān)的數(shù)據(jù)源向上述訂戶傳送消息。
11.權(quán)利要求8的發(fā)布/訂閱消息傳遞方法,進一步包括將所述預(yù)定數(shù)量設(shè)置為零。
12.權(quán)利要求8的發(fā)布/訂閱消息傳遞方法,進一步包括動態(tài)地改變所述預(yù)定數(shù)量。
13.權(quán)利要求12的發(fā)布/訂閱消息傳遞方法,進一步包括依據(jù)一個或多個時間、或該系統(tǒng)上的消息負荷、或數(shù)據(jù)源的普及性來改變所述預(yù)定數(shù)量。
14.權(quán)利要求8的發(fā)布/訂閱消息傳遞方法,其中所述數(shù)據(jù)源是動態(tài)可變的,并且對上述訂戶及在運行時對該系統(tǒng)是未知的。
15.一種計算機程序產(chǎn)品,其用于在使得一個或多個訂戶向一個或多個數(shù)據(jù)源訂閱數(shù)據(jù)的發(fā)布/訂閱系統(tǒng)中使用,所述計算機程序產(chǎn)品包括一個或多個計算機可讀介質(zhì),這些介質(zhì)具有記錄在其上的用于執(zhí)行提供即時發(fā)布/訂閱消息的方法的計算機可讀程序指令,所述方法包括在表中記錄存在于該系統(tǒng)中的數(shù)據(jù)源和對于由上述訂戶訂閱的數(shù)據(jù)源的訂閱數(shù)量;以及如果所述表中對于被訂閱的數(shù)據(jù)源的訂閱數(shù)量未超過預(yù)定數(shù)量,則阻止該數(shù)據(jù)源向訂戶遞送消息。
16.權(quán)利要求15的計算機程序產(chǎn)品,其中所述發(fā)布/訂閱消息傳遞方法進一步包括實時監(jiān)控來自訂戶的訂閱,并將對于該系統(tǒng)中每一數(shù)據(jù)源的訂閱數(shù)量記錄在所述表的用戶訂閱部分中,以便存在對于來自所述數(shù)據(jù)源的數(shù)據(jù)的訂閱的實時收集。
17.權(quán)利要求16的計算機程序產(chǎn)品,其中所述發(fā)布/訂閱消息傳遞方法進一步包括利用數(shù)據(jù)源注冊庫將具有用于傳送給所述訂戶的數(shù)據(jù)的每一數(shù)據(jù)源的存在記錄在所述表的數(shù)據(jù)源部分;以及如果一數(shù)據(jù)源還未被所述訂戶訂閱預(yù)定次數(shù)以上,則利用匹配例程關(guān)閉與該數(shù)據(jù)源相關(guān)的任何數(shù)據(jù)源過程,以便不會從與關(guān)閉的數(shù)據(jù)源過程相關(guān)的數(shù)據(jù)源向上述訂戶傳送消息。
18.權(quán)利要求15的計算機程序產(chǎn)品,其中所述發(fā)布/訂閱消息傳遞方法進一步包括將所述預(yù)定數(shù)量設(shè)置為零。
19.權(quán)利要求15的計算機程序產(chǎn)品,其中所述發(fā)布/訂閱消息傳遞方法進一步包括動態(tài)地改變所述預(yù)定數(shù)量。
20.權(quán)利要求19的計算機程序產(chǎn)品,其中所述發(fā)布/訂閱消息傳遞方法進一步包括依據(jù)一個或多個時間、或該系統(tǒng)上的消息負荷、或數(shù)據(jù)源的普及性來改變所述預(yù)定數(shù)量。
21.權(quán)利要求15的計算機程序產(chǎn)品,其中所述計算機可讀程序指令包括可從數(shù)據(jù)源讀取數(shù)據(jù)的程序指令,這些數(shù)據(jù)源是動態(tài)可變的并且對上述訂戶及在運行時對該系統(tǒng)是未知的。
全文摘要
本發(fā)明提供一種使得至少一個訂戶向一個或多個數(shù)據(jù)源訂閱主題的系統(tǒng)、方法和程序產(chǎn)品。對于每一數(shù)據(jù)源的訂閱數(shù)量被實時注冊在表中。一旦檢測到訂閱活動,匹配例程便將對于可用數(shù)據(jù)源注冊的訂閱數(shù)量與預(yù)定值進行比較,如果訂閱數(shù)量超過該預(yù)定值,則對應(yīng)于該數(shù)據(jù)源的數(shù)據(jù)源過程將被啟動,并且來自該數(shù)據(jù)源的消息將被發(fā)送到該數(shù)據(jù)源訂戶,否則,該數(shù)據(jù)源提供者將被停止并不再發(fā)送消息。
文檔編號H04L29/06GK1825801SQ20051012351
公開日2006年8月30日 申請日期2005年11月17日 優(yōu)先權(quán)日2004年12月1日
發(fā)明者E·P·斯圖爾特, M·斯托克斯, M·范德莫伊倫 申請人:國際商業(yè)機器公司