新四季網

用於協調聯網組成員的方法和設備的製作方法

2023-06-07 07:08:21

專利名稱:用於協調聯網組成員的方法和設備的製作方法
技術領域:
本發明涉及對通過網絡進行通信的一組用戶、應用或者設備的動作進行協調的方法,並涉及能夠執行這種方法的設備。
背景技術:
對於本發明,設法解決的總問題是,在不同數目的接收者之間進行協調,或者另選地,如果將該問題描述為時間處理模型,則問題變為參與實現最終目的的不同動作的協調。
通常,現有技術中存在的技術文獻明顯缺少針對大量聯網設備的控制和協調的解決方案。發送者可以使用單個通信信道與大量接收者進行聯繫的網絡場景是公知的,儘管近些年來也開發出了其它引起關注的應用層解決方案,但是通常用來實現該目的的協議為IP組播。使用IP組播或者其它組通信技術的傳輸協議提供了以下非常重要的優點使得發送者可以利用單個本地發送操作向多個接收者發送消息。這些技術的另一重要方面是,沒有從接受者向伺服器送回任何消息,所以伺服器不會超負荷,並且通常在發送者側沒有保存有關接收者的任何信息。這些特徵的優點在於,無需對發送者和接收者進行協調,但是一旦需要進行這種協調,則現有的組通信技術將面臨許多問題。
在現有技術範圍內,將這種問題稱作會話通告(announcement)問題,並且會話通告協議(Session Announcement Protocol SAP)提出了解決方法。SAP(在Mark Handley等人的SAPSession Announcement Protocol,IETF work in progress,June 1999中進行了描述)是直通(straightforward)協議,其中會話創建者周期性地將承載有該會話的SDP(會話描述協議)描述的數據包組播到公知的組播組。隨後,想知道哪個會話將激活的接收者監聽公知的組播信道並接收數據包。
作為SAP的另選,BT Exact Technologies已開發出通用通告協議(Generic Announcement Protocol),其較之SAP具有更好的規模性且更加強大,並且由於其採用的數據結構,能夠同時通告不同的會話。在讀者參照的國際專利申請No PCT/GB01/02681中詳細說明了GAP。然而這些協議都不能保證不同用戶之間的協調,因為它們沒有提供任何反饋信道。與此相關地,將從接收者到發送者的信息稱為反饋。本領域中已知有幾種現有技術,下面將進行說明。
在本領域內可以找到反饋在組通信中的幾種實現,其中大多數存在於可靠組播的情況下,以提高組通信方案的可靠性。例如,參見J.Nonnenmacher and E.W.Biersack.Scalable feedback for large groups.IEEE/ACM Transactions on Networking 1999;FUHRMANN,T.,ANDWIDMER,J.On the scaling of feedback algorithms for very large multicastgroups.Computer Communications 24,5-6(Mar.2001),539547;和WIDMER,J.,AND FUHRMANN,T.Extremum feedback for very largemulticast groups.Tech.Rep.TR 12-2001,Prakfische Informatik IV,University of Mannhelm,Germany,May 2001。這些機制的主要問題是要處理大量且可變的用戶,以緩解接口上或者請求反饋的伺服器上的內爆(implosion)問題。反饋方法通常具有兩種形式端到端反饋方法和集中反饋。
端到端反饋協議通過估計用戶量的大小來避免反饋內爆。現有技術的一個重要方面是提供了概率模型並表現出可以使用正確的概率函數來減輕反饋內爆。
集中反饋機制是針對更具體反饋的方法。在這種情況下,安排在分層結構中的中間接收者創建反饋。該方案的複雜性較高,但是抽樣值可以更加精確。
此外,採用組通信協議的大量組的協調也可以利用集中反饋機制來進行,更具體地,可以通過能夠避免無用信息使發送者超負荷的極值反饋算法來進行。上面提到的Widmer等人對這種算法進行了描述。然而,利用這種算法,啟動程序可能必須在帶寬和CPU處理器時間方面花費大量的資源。此外,由於該技術的統計特性及網絡可靠性問題,其僅能給出用戶量的總體抽樣。
因此還需要通過並非資源密集型的網絡來提供經協調的組通信或動作,並提供積極的組協調。

發明內容
為了解決以上問題,本發明提出了用作等待信道的網絡信道的概念,其中除第一成員以外的組成員加入等待信道,同時執行動作或處理,然後,一旦執行了該動作或處理,就離開該等待信道。一旦所有的成員都已離開等待信道,該組的第一成員就執行動作或處理。
鑑於以上情況,本發明的第一方面提供了一種用於協調一組成員的方法,所述組包括第一成員以及一個或更多個其它成員,每個成員都被設置為通過網絡與該組的其它成員進行通信,在所述組成員的第一個成員處,該方法包括以下步驟監測等待信道,檢測是否出現了表示所述一個或更多個其它成員中的至少一個加入了該等待信道的消息;以及當有消息表示所有其它成員都離開了該等待信道時,執行動作或處理。
本發明的第一方面提供了以下顯著優點可以實現該組的成員之間,尤其是第一成員與其它成員之間的同步,從而直到所有其它成員都離開等待信道,第一成員才執行其動作或處理。然而,應當注意的是,在其它成員加入等待信道的同時,它們自己可以執行各自的動作或處理,因此,使用等待信道的累積效果是,使不同成員所執行的各自的動作或處理同步,從而這些動作或處理在正確的時刻以正確的順序發生。預計這種同步和控制將在包括多媒體會議、供應鏈管理、項目管理,以及分布式處理在內的多種場景中得到廣泛使用。
在優選實施例中,要執行的動作或處理優選地包括將數據發送到一個或更多個其它信道上,並且優選地,所述一個或更多個其它信道中的至少一個是組播信道。這些特性使得本發明適於提供同步會議服務。
此外,在該優選實施例中,數據優選地為音頻和/或視頻數據。因此,可以使用本發明來對多媒體會議進行同步和控制。
在其它實施例中,所述動作或處理是執行預定的任務,該任務可以是依賴於本發明的特定應用的任何任務。例如,當用於分布式計算應用時,所述預定任務可以是執行特定程序以處理特定的數據片,該處理依賴於其它組成員所執行的其它處理的完成。另選地,當用於項目管理應用時,所述預定任務可以是設計或製造該項目所需的任何特定的組件。
在存在多個其它成員的情況下,等待信道優選地是組播信道。這使得大量其它成員可以加入該等待信道,而不會給網絡施加繁重的傳輸信號的開銷。
此外,在優選實施例中,通過網絡路由器來生成消息。因此,該網絡承擔了生成向第一成員表示等待信道上的成員的消息的任務。這提供了以下優點第一成員無需存儲該組的每一個其它成員的狀態,因此使得可以將規模提高至大量的組成員。
此外,在優選實施例中,所述消息優選地是組播發送源興趣通知協議(Multicast Source Notification of Interest ProtocolMSNIP)消息。該協議提供了以下優點執行簡單,實現其的網絡開銷低,該協議需要相對較少的消息。
此外,該方法優選地還包括以下步驟向所述一個或更多個其它成員通告哪個信道是等待信道。這使得第一成員能夠選擇一網絡信道作為指定的等待信道。在其它實施例中,可以提供專用的等待信道通告器應用來向組成員通告等待信道。
本發明的第二方面提供了用於協調一組成員的方法,所述組包括第一成員以及一個或更多個其它成員,每個成員都被設置為通過網絡與該組的其它成員進行通信,在該一個或更多個所述其它成員處,該方法包括以下步驟加入等待信道,該等待信道與第一成員待執行的動作或處理相關;在一個或更多個所述其它成員處執行動作或處理;然後離開所述等待信道。
如同第一方面中已經說明地,在第二方面中可以獲得各種進一步的特徵和優點。
本發明的第三方面也提供了一種被設置為與一個或更多個其它設備協調的設備,各個設備被設置為通過網絡進行通信,所述設備包括信道監測裝置,被設置為用於監測等待信道,確定是否出現了表示一個或更多個所述其它設備中的至少一個加入了該等待信道的消息;以及用於執行動作或處理的裝置,被設置為使得當所述消息表示所有其它設備都離開了該等待信道時,該裝置執行所述動作或處理。
此外,第四方面提供了一種被設置為與另一設備協調的設備,各個設備被設置為通過網絡進行通信,所述設備包括信道加入裝置,被設置為用於加入等待信道,該等待信道與第一成員待執行的動作或處理有關;用於執行動作或處理的裝置;以及信道離開裝置,被設置為在離開所述等待信道時使用。
在第三和第四方面的範圍內,還可以進一步提供與相對於第一和第二方面所描述的特徵相應的進一步特徵。
本發明的第五方面進一步提供了一種電腦程式或程序組,其被設置為使得當計算機系統執行所述程序或程序組時,所述程序或程序組使得該計算機系統按照第一或第二方面中任何一個的方法進行工作。
另外,第六方面提供了一種計算機可讀存儲介質,其存儲有根據第五方面的電腦程式或程序組。該存儲介質可以是本領域公知的任意計算機存儲介質,包括但不限於磁存儲介質、光學存儲介質、磁光存儲介質,以及固態存儲介質。
本發明的第七方面提供了一種用作等待信道的網絡信道,其中除一組的第一成員以外的成員在加入等待信道的同時執行動作或處理,然後,一旦執行了該動作或處理,就離開該等待信道,其中該組的第一成員隨後執行動作或處理。這種網絡信道便於執行前述的本發明的前幾個方面。
此外,本發明的第八方面提供了使用網絡進行組協調的方法,其中除一組的第一成員以外的成員加入被指定為等待信道的網絡信道,同時執行動作或處理,然後,一旦執行了該動作或處理,就離開該等待信道,其中該組的第一成員隨後執行動作或處理。在第八方面中,如先前針對第一方面所述,可以獲得相同的優點和其它優點。


通過以下參照附圖,僅以示例的方式對本發明的優選實施例所作的說明,其它特徵和優點將變得明了,其中類似標號表示類似的部分,附圖中圖1的狀態機圖用於表示執行MSNIP的路由器中的狀態機;圖2是可以形成本發明一實施例的計算機系統的圖片;圖3是計算機系統的系統構架框圖;圖4的框圖示出了本發明的實施例中所使用的示例性組播信道;圖5的流程圖示出了本發明實施例中的由接收者和發送源執行的動作;圖6的時序圖示出了本發明實施例中的等待信道的成員;圖7的任務流程圖示出了本發明另一實施例中的要執行的任務;以及圖8的流程圖示出了本發明再一實施例中的由接收者和發送源執行的動作。
具體實施例方式
下面將說明本發明的幾個實施例,但是它們每一個都利用了共用要素。具體地,待說明的各個實施例都利用網絡內的組播數據信道,都可以在通用計算機系統上實現,每一個都優選地但不排外地利用已知的信令協議,即所謂的組播發送源興趣通知協議(MSNIP)。下面對這三個公共要素進行詳細說明。
首先討論MSNIP,說明MSNIP的網際網路標準草案於2002年3月提交至Internet工程任務組(IETF)。描述MSNIP的文獻有B.Fenner,H.Holbrook,and I.Kouvelas,「Multicast source notification of interestprotocol(msnip)」,Internet Engineering Tast Force(IETF),draft-ietf-idmr-msnip-*.txt,February 2001;以及Haixiang He,INTERNET-DRAFT,Nortel Networks,MSNIP Extension for IGMPProxying,此處通過引用併入對於理解本發明所需的細節。然而下面將參照圖1給出MSNIP的操作的簡要描述。
MSNIP是Internet組成員協議IGMPv3協議(如B.Cain,S Deering,W.Fenner,I Kouvelas,A.Thyagarajan in「Internet Group Management Protocol,Version 3」,Internet Engineering Tast Force(IETF),draft-ietf-idmr-igmp-v3-*.txt所述)的擴展,提供組成員通知服務。MSNIP在組播發送源和其第一跳路由器之間運行,以提供與所述發送源提供的組播信道上是否存在接收者有關的信息。具體地,該路由器將消息發送給發送源,以表示沒有接收者加入該組播信道,或者有一個或更多個接收者加入了該組播信道。於是預期使用是所述組播發送源停止在信道上的任意傳輸,直到第一路由器發出存在多於或等於1個接收者的信號為止,因此節省了該發送源與第一跳路由器之間的網絡帶寬。在沒有該信令的情況下,所述發送源將無法獲知信道成員,因此會將數據包發送至第一跳路由器,則在那裡會因為不感興趣而丟棄該數據包。
MSNIP已被提交至Multicast Anycast Group Membership(magma)中的IETF,以通過可以經由第一跳發送大量數據包的諸如視頻和無線伺服器的應用來使用。因此,如果接收者沒有興趣,則這些伺服器將浪費大量網絡資源。MSNIP具有以下能力當沒有接收者時,就阻止組播發送源將數據包發送到其第一跳鏈路上。
MSNIP與諸如SSM(單發送源組播Signal Source Multicast)的協議兼容,並且還支持稀疏模式組播路由協議,該協議建立針對發送源的組播樹。利用MSNIP,第一路由器保持了有關接收者狀態的信息。另外,該協議僅使用三個信令消息(1)組映射(group map),(2)興趣請求(solicitation)以及(3)接收者成員報告。下面將討論這些消息的使用。
首先,當應用(發送源)想要使用MSNIP管理的組信道時,該應用必需首先監聽組映射消息,該組映射消息包含了MSNIP所管理的組播信道。因此,組映射消息包含了與發送源應用可以在其上發送數據包的可用組播信道有關的信息。
接下來,為了確定是否有接收者加入了信道(即,是否有接收者在監聽該信道),將要向MSNIP所管理的組發送數據的發送源應用首先周期性地向所有IGMP路由器(224.0.0.2)組播一興趣請求消息。因此該興趣請求消息向IGMP路由器指示,發送源有興趣獲悉是否存在對特定信道感興趣的接收者。
最後,IGMP路由器對帶有接收者成員報告(RM)的興趣請求消息進行響應。該消息包含與數據的發送有關的信息,並指示發送源開始或停止向指定的組地址發送業務量。具體地,RM向發送源應用表示,存在至少一個加入該組播信道的接收者,因此該發送源可以開始發送。
圖1示出了路由器處的用於控制該路由器來執行MSNIP的狀態機,並進一步示出了,路由器的第一功能是在「未跟蹤」狀態下監聽組播信道,以檢測是否存在來自伺服器的表示接收者已經加入組播信道的「接收主機興趣」消息。一旦接收到該消息,該組播路由器就進入「跟蹤組播組」的狀態,並且會根據組興趣級別,向特定組的發送源發送包含有「停止」或「發送」指令的RM報告消息。具體地,當存在一個或更多個加入該組信道的接收者時,就向預先向與該信道相關的路由器發送過興趣請求消息的發送源應用發出「發送」消息。然而,如果所有接收者都離開了該組播信道,則該路由器就向該發送源應用發送「停止」消息,以停止在第一跳上進行發送。最終,如果一旦不存在加入該組播信道的接收者,並且在給定的超時時間段內在伺服器處未接收到任何接收主機興趣消息,則該路由器離開跟蹤狀態並返回第一「未跟蹤」狀態。
如前所述,MSNIP是非常重要卻簡單的協議,並且IETF已於2002年3月提交了MSNIP IPv4規範作為提議標準。然而,儘管MSNIP提供了通過本發明所使用的便捷的信令協議,但是應該理解的是,本發明並不限於排外地使用MSNIP,如果需要,還可以使用提供相似功能的應用層信令協議。這對於漫長並且不確定的標準化進程是非常重要的。
現在轉到本發明所需的硬體,如前所述,包含或利用本發明的發送源應用可以在通用計算機系統上運行,這類似於以下參照圖2和圖3所進行的說明。
圖2示出了通用計算機系統,其為本發明的實施例中所使用的發送源應用提供了一個可能的運行環境。下面將在計算機所執行的諸如程序模塊的計算機可執行指令的通常情況下來說明本發明的操作。這種程序模塊可以包括執行任務或實現特定摘要數據類型的進程、程序、對象、成員、數據結構、數據變量等。此外,有意的讀者應該注意,本發明可以在除圖2所示的計算機系統以外的其它計算機系統內實施,具體地,手提設備、筆記本電腦、大型計算機、微型計算機、多處理器系統、分布式系統等。在分布式計算環境中,多個計算機系統可以與通信網絡相連,並且本發明的各個程序模塊可以分布於這些計算機系統中。具體地,還可以設想在安裝在傳感器設備中的計算機內實施本發明。
參照圖2,本領域公知的通用計算機系統1包括桌面底座單元100,其中包含了計算機電源單元、母板、一個或多個硬碟驅動器、系統存儲器、顯卡和音效卡,以及多種輸入和輸出接口。此外,底座還提供了用於光碟驅動器110的外殼,該光碟驅動器110可以在諸如CD、CDR、CDRW、DVD等的可拆除光碟上讀取和/或寫入信息。此外,底座單元100還容納有能夠在軟磁碟上接受信息以及讀取和/或寫入信息的軟磁碟驅動器112。底座單元100還在具有設置在其背後的用於外圍設備的多個輸入和輸出埠,這些外圍設備為例如用來向用戶提供可視顯示的監視器102、可以用來提供計算機輸出的紙件副本的印表機108、以及用於產生音頻輸出的揚聲器114。用戶可以通過鍵盤104或者諸如滑鼠106的點擊設備來向計算機系統輸入數據和命令。
應該理解,圖2僅示出了示範性實施例,可以通過本發明使用的其它結構的計算機系統也是可以的。具體地,底座單元100可以為塔結構,或者另選地,計算機系統1可以嵌入膝上型電腦或筆記本電腦中而成為可攜式的。諸如個人數字助理或者甚至行動電話的其它結構也是可以的。
圖3示出了計算機系統1的系統部件的系統框圖。虛線內的那些系統部件通常會在底座單元100中找到。
參照圖3,計算機系統1的內部部件包括安裝有系統存儲器118的母板,系統存儲器118本身包括隨機存取存儲器120,以及只讀存儲器130。另外,提供了系統總線140,其將包括系統存儲器118的各種系統部件與處理單元152相連。另外連接到系統總線140的還有顯卡150,用於在監視器102上提供視頻輸出;並行埠接口154,提供與系統的輸入和輸出接口,並且在本實施例中,其向印表機108提供控制輸出;以及軟盤驅動器接口156,其對軟盤驅動器112進行控制,以便從所插入的任意軟盤讀取數據,或者向其寫入數據。另外,與系統總線140相連的還有音效卡158,其向揚聲器114提供音頻輸出信號;光碟驅動器接口160,對光碟驅動器110進行控制,以便從所插入的可拆卸光碟讀取數據或向其寫入數據;以及串行埠接口164,類似於並行埠接口154,其提供與系統之間的輸入和輸出接口。這種情況下,串行埠接口為鍵盤104和點擊設備106(可以是跟蹤球、滑鼠等)提供輸入埠。
另外,與系統總線140相連的是網卡等形式的被設置為使得計算機系統1能夠通過網絡190與其它計算機系統通信的網絡接口162。網絡190可以是區域網、廣域網、局域無線網絡等。具體地,可以特別使用IEEE802.11無線LAN網絡以實現計算機系統的移動性。網絡接口162使得計算機系統1能夠通過網絡190形成與諸如伺服器、路由器或者對等級計算機的其它計算機系統的邏輯連接,以交換程序或數據。在這些實施例中優選地使用IP組播連接。
另外,還提供了硬碟驅動器接口166,其連接到系統總線140,並對在硬碟驅動器168上進行的數據或程序的讀取或寫入進行控制。硬碟驅動器168、通過光碟驅動器110使用的光碟,或者通過軟盤112使用的軟盤都提供了對於計算機可讀指令、數據結構、程序模塊,以及用於計算機系統的其它數據的非易失性存儲。儘管此處說明了這三種特定類型的計算機可讀存儲介質,但是有意的讀者應該明白,也可以使用能夠存儲數據的其它類型的計算機可讀存儲介質,具體地為磁帶、快閃記憶體卡、帶存儲驅動器、數字多功能盤等。
諸如硬碟驅動器168或者任意軟盤或光碟的各種計算機可讀存儲介質都可以存儲各種程序、程序模塊或數據。具體地,實施例中的硬碟驅動器168存儲了大量應用程式175、應用程式數據174、計算機系統1或者用戶所需的其它程序173、諸如MicrosoftWindows、LinuxTM、UnixTM等的計算機系統作業系統172、以及文件格式的用戶數據、數據結構,或者其它數據171。硬碟驅動器168提供了對前述程序和數據的非易失性存儲,從而可以在無電的情況下永久存儲這些程序和數據。
為了使計算機系統1使用存儲在硬碟驅動器168或其它計算機可讀存儲介質上的應用程式或數據,系統存儲器118提供了隨機存取存儲器120,當計算機系統1需要時,該隨機存取存儲器120提供對於應用程式、程序數據、其它程序、作業系統以及用戶數據的存儲器存儲。當將這些程序和數據載入隨機存儲存儲器120中時,存儲器的特定部分125將保存應用程式、另一部分124可以保存程序數據、第三部分123保存其它程序,第四部分122保存作業系統,第五部分121可以保存用戶數據。有意的讀者應該明白,如果需要,可以由計算機系統將各種程序和數據移入和移出所述隨機存取存儲器120。更具體地,如果程序或數據沒有被該計算機系統使用,則可能不將其存儲在隨機存取存儲器120中,而是可以返回到硬碟168的非易失性存儲器中。
系統存儲器118還提供了只讀存儲器130,其提供了基本輸入和輸出系統(BIOS)的存儲器存儲,該BIOS包含了在該計算機系統1內的系統要素之間傳輸信息的基本信息以及命令。為了提供與各種系統要素如何彼此通信相關的基本信息並使系統能夠啟動,BIOS在系統啟動時非常重要。
而圖3示出了本發明的一個實施例,本領域的技術人員應當理解,可以將其它外圍設備,例如麥克風、操縱杆、遊戲鍵盤、掃描儀等連接至該計算機系統。另外,對於網絡接口162,我們已經預先說明過如何優選地為網卡,但是同時還應當明白,計算機系統1可以配有與串行埠接口164或者並行埠接口154相連的數據機,該數據機被設置為經由公共交換電話網(PSTN)形成從計算機系統1到其它計算機的邏輯連接。
如果將計算機系統1用於網絡環境,則還應當理解,另選地或另外地,還可以將那些可以本地存儲在計算機系統中的應用程式、其它程序,以及其它數據存儲在遠程計算機中,並由計算機系統1通過形成在網絡190上的邏輯連接來進行訪問。
圖4示出了如何可以通過一個或更多個IGMP路由器來連接分別適當地運行發送源應用和接收者應用的多個通用計算機,以形成組播信道。具體地,在計算機40上運行發送源應用,該計算機40通常與前述的通用計算機系統一致並配有硬碟168,該硬碟168上存儲有作業系統軟體175、應用程式172,以及用戶數據171。另外,該硬碟還存儲了協調程序1731,執行該程序可以控制計算機以根據本發明來運轉,並且具體地,使計算機40可以與待說明的其它計算機進行協調。
計算機40可以通過網絡上的邏輯連接與第一IGMP路由器42相連,該第一IGMP路由器42是計算機40的第一跳路由器。例如,還將附加的IGMP路由器44和46提供為該網絡的一部分,其中路由器44與路由器42相連,而路由器46連接至路由器44。當然,在實際的實施例中,可以設置所需數量的互連的路由器。
可以將其它通用計算機系統48、50、52、54和56連接至IGMP路由器,其中每一個通用計算機系統都可以具有此前參照圖2和圖3所述的架構。更具體地,計算機48可以連接至路由器48,計算機50也一樣。路由器44可以連接有計算機52和54,而路由器42可以連接有計算機56。所有的計算機48至56都配有至少各自的硬碟驅動器168,作為計算機可讀存儲介質,該硬碟驅動器168上存儲有作業系統軟體175、應用程式172,以及用戶數據171。另外,各個硬碟還存儲有各自的協調程序1731,執行這些程序可以控制各個計算機以根據本發明來運轉,具體地,使得計算機48至56可以與計算機40進行協調,如下面將要說明的。在此方面,各個計算機48至56都存儲有接收者應用程式,執行該接收者應用程式以通過由IGMP路由器形成的組播信道從計算機40上的發送源應用來接收數據。
對於本發明中使用的組播信道,假定在該示例中,網絡包括為計算機40和48至56提供服務的三個路由器42、44和46,則可以如下來形成從計算機40上的發送源應用到其它計算機上運行的接收者應用的組播信道。
首先,運行發送源應用的計算機40連接至第一跳路由器42,並向其發送數據包。連接至第一跳路由器42的還有運行接收者應用的一個其它計算機56,並且當該計算機加入組播信道時,路由器42對從發送源計算機40接收來的數據包的副本進行路由。另外,當其它計算機48、50、52和54中的任意一個加入該組播信道時,第一跳路由器42還將數據包的副本路由到第二跳路由器44。與第二跳路由器44相連的是計算機54和52,它們中的每一個都運行著接收者應用。當這些計算機加入所討論的組播信道時,第二跳路由器44將從第一路由器接收來的數據包的副本路由到計算機52和54。另外,當計算機48或50中的每一個分別通過第三跳路由器46加入該信道時,第二跳路由器還將該數據包的副本路由到第三跳路由器46。隨後,在第三跳路由器46處,從第二跳路由器接收來的數據包被分別路由到計算機48和50。
在實施例中,本發明提供了使幾個獨立用戶同步的方法和設備。該方法和設備在大量用戶需要協調的大網絡場景中尤其有效。這些實施例要求,作為組成員的用戶能夠利用網絡上的一個或更多個組通信信道相互通信,該通信信道包括但不限於組播信道。
要說明的本發明實施例的總體操作為,使用類似於MSNIP的協議或者實際上就使用MSNIP來管理至少一個可用信道,並將其指定為用於對發送源與一個或更多個接收者之間的動作進行同步和協調的「等待信道」。更具體地,通過對根據MSNIP(或類似的興趣通知協議)生成的RM報告進行監測,發送源能夠區分是否至少一個接收者與指定為等待信道的特定信道相連,並且隨後可以響應於來自IGMP路由器的根據興趣協議的通知而進行的表示來執行處理或採取動作,所述通知為,至少有一個接收者加入了該信道,或者所有接收者都離開了該信道。出於協調的目的,後一條件是優選的,即表示所有接收者都已離開該信道,並且其可以被預先設置為,使得離開該信道具有一定重要性,即,離開的動作將一些信息傳達到發送源。
在以下將要說明的具體實施例中,我們使用MSNIP作為興趣通知協議。然而,從以上討論中顯見,本發明並不限於單獨使用MSNIP,提供類似功能的其它興趣通知協議也可以被代入本實施例中,因此本發明旨在包含這些情況。
作為上述操作的示例,下面將參照圖5和圖6來說明第一實施例。
在第一實施例中,實際上將可用通信信道分為了兩組等待信道和主信道。此處,接收者加入等待信道同時等待啟動動作信道的動作,然後,當該接收者準備好啟動動作時,其離開該信道並加入該動作信道;換句話說,離開等待信道觸發了動作信道上的動作。結果,等待和動作狀態僅動態相關,並且隨後一經觸發的動作信道可以反過來用作另一動作信道的等待信道。注意到以下條件是重要的,動作信道並不與通信信道直接相關聯,它甚至可以是採用該機制而執行的簡單動作。
作為以上的示例,作為第一實施例,我們考慮要從發送源發送的組播視頻傳輸。此處,發送源預先通告將在其上傳輸視頻數據的組播信道,以及與該傳輸相關的MSNIP所管理的組播等待信道。當監聽到該通告後,感興趣的接收者加入等待信道,然後準備接收該視頻傳輸,同時仍然加入等待信道。一旦各個接收者都準備好了,就加入將在其上傳輸視頻數據的組播信道,並離開等待信道。一旦所有接收者都離開了該等待信道,就向所述發送源發送MSNIP「停止」消息,該消息向所述發送源表示所有感興趣的接收者都已離開等待信道,因此應該加入並準備在所述組播視頻信道上接收數據。因此該發送源可以在確認得知了接收者和該發送源之間已經實現了協調的情況下進行傳輸。
圖5和圖6示出了如何才能實現該操作。在此方面,圖6示出了圖5所示的步驟的操作的示例時序圖。
首先,在步驟5.1,發送源或者管理員進行如下通告,分配了特定的組播組信道來控制特定的動作(在第一實施例的情況下,該動作為視頻傳輸),並為該動作指定等待信道。在步驟5.2,還分配了用於該動作的動作信道。例如,動作可以是通過幾個組播信道傳遞的通信會話。使用MSNIP或類似協議來管理至少該等待信道,但是也可以相同地管理動作信道。此時,由於沒有接收者加入任意一個信道,發送源將會為MSNIP管理的每一個信道「停止」來自IGMP路由器的消息。
指定了等待和動作信道後,在步驟5.3中,對特定動作感興趣的任意接收者可以加入等待信道。一旦信號接收者加入了該等待信道,第一跳IGMP路由器就按照MSNIP向該發送源發送「發送」消息。接收者在加入該等待信道的同時,執行動作或處理,在本示例中,例如準備在動作信道上接收數據。在步驟5.4,一旦單個接收者準備好了在動作信道上進行動作,它就離開等待信道並加入動作信道。一旦單個接收者離開了等待信道並加入了動作信道,所述發送源就會從動作信道上的第一跳IGMP路由器接收「發送」消息。
同時,在步驟5.5,所述發送源監測等待信道,確定是否有來自與該信道有關的第一跳IGMP路由器的MSNIP消息。然而,直到在步驟5.6中所有接收者都準備好了數據接收並已經離開了等待信道,才會收到進一步的消息。此時,第一跳IGMP路由器向與等待信道有關的發送源發送MSNIP「停止」消息,該消息向所述發送源表示,所有接收者都已經離開該等待信道,因此必須準備在動作信道上進行接收。通過這種方式可以獲得該發送源與潛在的大量接收者之間的協調,而不會產生大量的信息傳輸負荷,並且所述發送源無需存儲每個接收者的狀態。由於可以在不同發送源之間實現同步而無需交換任何識別信息,所以提供了規模性和保密性。
一旦在等待信道中接收到了「停止」消息,該發送源就不在動作信道中執行動作或處理。在第一實施例中,該動作或處理為在動作信道上發送視頻數據,但是當然本發明不限於這種動作,而是可以執行所需的任意其它動作或處理。此外,在其它實施例中,採用本發明所提供的協調處理的發送源側處的實體不必是所述動作或處理的發送源;它可以僅僅是當應該開始處理時,在該處理中向一個或更多個發送源發送信號的獨立部分。即,所執行的動作或處理可以僅是向另一處理、實體或者人類用戶表示已經實現了協調。
下面將參照圖7說明第二實施例,該實施例示出了如何將本發明用於供應鏈管理或項目管理。
圖7示出了需要在給定的項目中完成的多個任務,並且以及各個任務之間的相互關係,該相互關係管理完成這些任務所需的順序。作為示例,考慮任務E。此處,可以看到任務E需要在完成了所有任務A、B和C後來相繼完成,但是任務A、B和C本身可以並行地(另外,與任務D)執行。另一示例是任務I,必須在任務G和H完成後來相繼完成,但是可以與任務L和M並行地完成。
應該注意,圖7所示的任務幾乎可以是任何任務。例如,圖7所示的整個過程可以涉及新建築物或航空器的設計,或者新汽車的製造。另選地,這些任務可以涉及需要由分布式計算機在運行給定程序的過程中執行的各種計算和處理。還可以包括許多其它動作或處理。
可以將本發明應用於以上場景以如下所述實現各種任務之間的協調。作為示例我們考慮任務E。此處,任務E的任務管理器使用能夠使設備訪問網絡並能為任務E分配組播等待信道的網絡。由MSNIP或相似類型的協議來管理等待信道。針對需要在任務E之前完成的各個任務A、B和C的各個任務管理器隨後也分別使用如下網絡,其能夠使設備加入針對各個持續時間(執行各個任務A、B和C所花費的時間)而為任務E分配的等待信道。任務E管理器隨後監測等待信道,確定是否出現MSNIP「停止」消息,該消息表示所有任務管理器A、B和C都已經離開了等待信道。一旦完成了任務A、B和C中特定的一個,所完成任務的任務管理器控制網絡,使設備能夠離開任務E的等待信道。一旦完成了最後一個任務,並且所有任務管理器都離開了等待信道,就生成MSNIP「停止」消息並將其發送給任務E管理器,該管理器隨後獲悉任務A、B和C已經完成,即可啟動任務E。由此利用任務A、B和C與任務E之間的最小通信量來實現它們之間的協調。
可以通過由每一個其任務需要更早任務的執行的任務管理器創建由MSNIP(或類似協議)管理的等待信道,將以上思路擴展至整個項目。然後,各個更早任務的任務管理器在執行它們的任務之前和期間加入適當的等待信道,然後,一旦完成了它們的任務,就離開該等待信道。通過這種方式,可以在極低的信息傳輸負荷下保持整個項目中的多個任務之間的協調,實質上,在每個等待信道上僅會發送一次MSNIP「發送」和「停止」消息。
當然,可以將任務管理器實現為計算機上運行的軟體代理,或者可以是對使設備能夠加入適當等待信道的網絡進行控制的人類用戶。更具體地,我們使用「任務管理器」一詞想要包括人類,和作為任務管理器的軟體應用或其它設備。例如,可以容易地想到能夠用作給定任務的任務管理器的軟體代理程序。此外,根據本發明的應用的技術領域,任務管理器可以是專用軟體,例如如果任務是要在分布式計算環境中執行的進行,則任務管理器將總是軟體近程。
上述實施例在網絡使用和時間同步方面非常有效,但是如果參與者不遵守協議的規範,則可能導致問題操作。例如,如果所有接收者都離開了等待信道,但是並沒有向該等待信道發送「停止」通知消息,那麼該方法失效。
另外,存在一種簡單的業務拒絕問題,即用戶可能促使加入MSNIP所管理的隨機信道,然後並不離開等待組信道。針對該問題的解決方案在於,當等待信道尚未空閒太久時,通過例如使用異常終止消息來迫使用戶離開該信道。如果考慮在諸如網際網路的開放域中使用組播信道來實現我們的機制,則該問題會變得更加嚴重。在這種情況下,需要針對組播通信的訪問控制協議。實際的組播網絡不提供任何方法來確保防止不期望的或者惡意的用戶獲得對特定組播樹的訪問。
為了解決該問題,在第三實施例中,通過執行在訪問路由器中實現的IGMP協議的安全版本,提供了該問題的解決方案。此處,需要在路由器觸發組播路由協議之前對主機的IGMP請求進行驗證。這使邊緣路由器對於它們所接受的各個主機具有責任。為了將這種機制擴展到本發明的協調技術,我們將密鑰消息與希望參與到組通信中的各個接收者應用相關聯。只有接收者應用能夠通過向IGMP路由器發送正確信息來驗證自己,才允許接收者應用加入等待信道。通過採用這種機制,可以防止惡意加入事件(惡意加入事件由不想離開等待信道的惡意用戶執行,從而對其它接收者有效地進行服務拒絕攻擊),然而,如果能夠進行自身驗證的接收者應用仍未離開等待信道,則該技術還可能易於發生DOS攻擊,也就是,即使接收者的身份已知,該接收者仍未離開該等待信道,從而沒有在等待信道上發送「停止」消息來對所述發送源表示所有接收者已經離開等待信道。
為了解決第三實施例中的該問題,進一步對各個密鑰關聯超時,從而加入IGMP路由器的用戶將能夠可以保持連接,直到該密鑰的有效性過期。密鑰過期後,路由器自動使用戶從該組斷開。該機制還可以用於在動作信道上強制開始一動作,即使該成員還沒有準備好,這類似於在等待信道上安裝超時。圖8中表示考慮到惡意用戶可能連接至等待信道並且此後不離開,而必須對整個近程進行的修改。
可以看出,發送源側執行的步驟與之前讀者參照的第一實施例中所述的相同。然而,在接收者側的步驟8.2中,接收者必須首先接收密鑰,利用它可以對於IGMP邊緣路由器進行自身驗證,其中在該IGMP邊緣路由器處,接收者試圖接入等待信道。然後,為了在步驟8.4中接入等待信道,接收者必須發送驗證信息(安全密鑰)以接入該等待信道。各個接收者都加入等待信道後,在用戶接入的IGMP邊緣路由器處啟動定時器,這可以如本發明的協議所述,為各個接收者提供加入動作信道以及離開等待信道的時間。接收者隨後可以在步驟8.6中在定時器時間段內離開等待信道並加入動作信道,但是,如果接收者在該時間段之後沒有離開等待信道,則IGMP路由器在步驟8.8中使該接收者與該信道斷開。一旦所有接收者或者自願離開該信道或者自動斷開,就可以在等待信道上發送「停止」消息,表示現在是空的。然後,發送源應用可以採取任何動作或者執行任何處理,為這些動作或處理而設置了等待信道。
在上述實施例中,大體上說明了對於每一個要執行的動作或處理都有一個等待信道的情況,然而當然不必一定如此,在本發明的其它實施例中,可以為特定動作提供多個等待信道。通過提供多個等待信道,通過加入了多個等待信道的接收者選擇離開某個等待信道,而不是其它信道,可以由IGMP路由器向發送源提供額外的信息「比特」。例如,在視頻會議的情況下,發送源可以指定兩個或更多個等待信息,其中一個信道向所述發送源表示,所有接收者都準備好了接收視頻數據,而第二信道向所述發送源表示,所有接收者都準備好了發送數據。對於本領域的技術人員,多個等待信道的其它使用用途是顯而易見的。
除非文中明確需要,否則在整個說明書和權利要求中,「包括」等詞應當理解為與排外或窮盡意義相反的包含意思;也就是說,意思為「包含,當不限於」。
此外,為了避免疑惑,在參照現有技術文獻或公開時,如果其內容(無論全體或部分的)對於那些作為本領域技術人員的有意讀者理解本發明的任意實施例的操作或實施是必須的,則應該通過引用併入所述內容。
權利要求
1.一種用於協調一組成員的方法,該組包括第一成員以及一個或更多個其它成員,每個成員都被設置為通過網絡與該組的其它成員進行通信,在所述一組成員的第一成員處,所述方法包括以下步驟監測至少一個等待信道,以監測是否出現了表示所述一個或更多個其它成員中的至少一個加入了該等待信道的消息;以及當所述消息表示所有所述其它成員都離開了所述等待信道時,執行動作或處理。
2.根據權利要求1所述的方法,其中要執行的動作或處理包括將數據傳送到一個或更多個其它信道上。
3.根據權利要求2所述的方法,其中所述一個或更多個其它信道中的至少一個是組播信道。
4.根據權利要求2或3所述的方法,其中所述數據為音頻和/或視頻數據。
5.根據權利要求1所述的方法,其中所述動作或處理是執行預定任務。
6.根據以上任意一項權利要求所述的方法,其中在存在多個其它成員的情況下,所述等待信道為組播信道。
7.根據以上任意一項權利要求所述的方法,其中所述消息由網絡路由器生成。
8.根據以上任意一項權利要求所述的方法,其中所述消息為組播發送源興趣通知協議(MSNIP)消息。
9.根據以上任意一項權利要求所述的方法,還包括以下步驟向所述一個或更多個其它成員通告哪個信道是所述等待信道。
10.一種用於協調一組成員的方法,該組包括第一成員以及一個或更多個其它成員,每個成員都被設置為通過網絡與該組的其它成員進行通信,在一個或更多個所述其它成員處,所述方法包括以下步驟加入至少一個等待信道,該等待信道與所述第一成員要執行的動作或處理相關;在一個或更多個所述其它成員處執行動作或處理;然後離開所述等待信道。
11.根據權利要求10所述的方法,其中要執行的動作或處理包括準備在一個或更多個其它信道上接收數據。
12.根據權利要求11所述的方法,其中所述一個或更多個其它信道中的至少一個是組播信道。
13.根據權利要求10或11所述的方法,其中所述數據為音頻和/或視頻數據。
14.根據權利要求10所述的方法,其中所述動作或處理是執行預定任務。
15.根據權利要求10到14中任意一項所述的方法,其中在存在多個其它成員的情況下,所述等待信道為組播信道。
16.根據權利要求10到15中任意一項所述的方法,還包括以下步驟從所述第一成員接收表示哪個信道是所述等待信道的通告。
17.一種電腦程式或程序組,被設置為使得當由計算機系統執行時,所述程序或程序組使得該計算機系統按照前述權利要求中任意一個的方法進行工作。
18.一種計算機可讀存儲介質,存儲有權利要求17中所述的電腦程式或程序組。
19.一種被設置為與一個或更多個其它設備進行協調的設備,各個設備被設置為通過網絡進行通信,所述設備包括信道監測裝置,被設置為用於監測至少一個等待信道,以確定是否出現了表示一個或更多個所述其它設備中的至少一個加入了該等待信道的消息;以及用於執行動作或處理的裝置,被設置為使得當所述消息表示所有所述其它設備都離開了所述等待信道時,該裝置執行所述動作或處理。
20.根據權利要求19所述的設備,其中所述用於執行動作或處理的裝置包括被設置為用於將數據發送到一個或更多個其它信道上的數據發送裝置。
21.根據權利要求20所述的設備,其中所述一個或更多個其它信道中的至少一個是組播信道。
22.根據權利要求20或21所述的設備,其中所述數據為音頻和/或視頻數據。
23.根據權利要求19所述的設備,其中所述用於執行動作或處理的裝置還被設置為用於執行預定任務。
24.根據權利要求19到23中任意一項所述的設備,其中在存在多個其它設備的情況下,所述等待信道為組播信道。
25.根據權利要求19到24中任意一項所述的設備,其中所述消息由網絡路由器生成。
26.根據權利要求19到25中任意一項所述的設備,其中所述消息為組播發送源興趣通知協議(MSNIP)消息。
27.一種被設置為與另一設備進行協調的設備,各個設備被設置為通過網絡進行通信,所述設備包括信道加入裝置,被設置為用於加入至少一個等待信道,該至少一個等待信道與第一設備要執行的動作或處理相關;用於執行動作或處理的裝置;以及信道離開裝置,被設置為用於離開所述等待信道。
28.根據權利要求27所述的設備,其中所述用於執行動作或處理的裝置包括被設置為用於從一個或多個其它信道接收數據的數據接收裝置。
29.根據權利要求28所述的設備,其中所述一個或更多個其它信道中的至少一個是組播信道。
30.根據權利要求28或29所述的設備,其中所述數據為音頻和/或視頻數據。
31.根據權利要求27所述的設備,其中所述用於執行動作或處理的裝置還被設置為用於執行預定任務。
32.根據權利要求27到31中任意一項所述的設備,其中所述等待信道是組播信道。
33.根據權利要求27到32中任意一項所述的設備,還包括通告接收裝置,其被設置為用於從所述其它設備接收通告,該通告表示哪一個信道是所述等待信道。
34.一種用作等待信道的網絡信道,其中除一組的第一成員以外的成員加入等待信道,同時執行動作或處理,然後,一旦執行了該動作或處理,就離開該等待信道,其中該組的第一成員隨後執行動作或處理。
35.一種使用網絡進行組協調的方法,其中除一組的第一成員以外的成員加入被指定為等待信道的至少一個網絡信道,同時執行動作或處理,然後,一旦執行了該動作或處理,就離開該等待信道,其中該組的第一成員隨後執行動作或處理。
36.根據權利要求34或35所述的方法,其中在所述等待信道上向所述第一成員發送消息,所述消息表示所述其它成員中的任意一個是否加入了所述等待信道。
全文摘要
本發明提出了作為等待信道的網絡信道的概念,其中除一組的第一成員以外的成員加入被指定為等待信道的網絡信道,同時執行動作或處理,然後,一旦執行了該動作或處理,就離開該等待信道。一旦所有成員都離開了該等待信道,該組的第一成員就執行動作或處理。為了對第一成員表示所有其它成員都已離開該等待信道,可以使用諸如組播發送源興趣通知協議(MSNIP)的協議。
文檔編號G06Q10/00GK1732647SQ200380107595
公開日2006年2月8日 申請日期2003年12月11日 優先權日2002年12月24日
發明者特雷弗·伯布裡奇, 安德列·亞索伯拉, 羅伯特·約翰·布裡斯科, 阿諾·雅凱 申請人:英國電訊有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀