專利名稱:一種發(fā)現(xiàn)網(wǎng)絡(luò)資源的方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及組網(wǎng)(networking),更具體來(lái)說(shuō),涉及一種發(fā)現(xiàn)網(wǎng)絡(luò)資 源的方法。
背景技術(shù):
本節(jié)所描述的方法是能夠被實(shí)行的方法,但不必是以前已經(jīng)構(gòu)思或?qū)嵭?的方法。因此,除非說(shuō)明,本節(jié)所描述的方法可以不是相對(duì)本申請(qǐng)中所述的 權(quán)利要求的現(xiàn)有技術(shù),并且通過(guò)包含本節(jié)也不允許本節(jié)所描述的方法成為現(xiàn) 有技術(shù)。
在組網(wǎng)中的問(wèn)題之一是客戶設(shè)備如何知道他們可用的網(wǎng)絡(luò)資源。正如這 里所使用的,術(shù)語(yǔ)"網(wǎng)絡(luò)資源"是指任何類型的網(wǎng)絡(luò)資源。網(wǎng)絡(luò)資源的實(shí)例 在不加限制的情況下包括網(wǎng)絡(luò)設(shè)備或元件、服務(wù)器、Web服務(wù)器、以及任何 類型的網(wǎng)絡(luò)服務(wù)。當(dāng)客戶設(shè)備第一次與網(wǎng)絡(luò)連接(或重新連接)時(shí),它可能 不知道其當(dāng)前可用的網(wǎng)絡(luò)資源。這個(gè)問(wèn)題的傳統(tǒng)處理辦法是利用試圖識(shí)別連 接到網(wǎng)絡(luò)上并且準(zhǔn)備好可以使用的網(wǎng)絡(luò)資源的網(wǎng)絡(luò)資源發(fā)現(xiàn)機(jī)制。傳統(tǒng)的網(wǎng) 絡(luò)資源發(fā)現(xiàn)機(jī)制是基于一種輪詢消息方案(pollingmessaging scheme),在該 方案中,客戶機(jī)詢問(wèn)Web服務(wù)器或URL以確定是否存在可利用的Web服務(wù)。 例如,客戶機(jī)可以向特定Web服務(wù)器請(qǐng)求描述經(jīng)由所述的特定Web服務(wù)器 可以獲得的Web服務(wù)的一個(gè)或多個(gè)文檔??蛻魴C(jī)分析所述的一個(gè)或多個(gè)文 檔以識(shí)別他可以獲得的Web服務(wù)。從所述的特定Web服務(wù)器獲得的一個(gè)或 多個(gè)文檔也可以描述經(jīng)由其它Web服務(wù)器可以獲得的Web服務(wù)。
傳統(tǒng)的網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)方法所帶來(lái)的問(wèn)題之一是它們的消息往往是非常 密集的。為了完成所述的發(fā)現(xiàn)過(guò)程,必須在網(wǎng)絡(luò)上傳送大量的消息和文件。 所述的消息和文件常常釆用諸如XML的標(biāo)記語(yǔ)言,并且包含了以大量長(zhǎng)文 本字符串為典型代表的大量數(shù)據(jù)。這樣,傳統(tǒng)的網(wǎng)絡(luò)資源發(fā)現(xiàn)過(guò)程會(huì)消耗掉 大量的網(wǎng)絡(luò)帶寬和計(jì)算資源。
基于前述內(nèi)容,有必要研究一種不會(huì)遭受現(xiàn)有方法限制的發(fā)現(xiàn)網(wǎng)絡(luò)資源
的方法。
發(fā)明內(nèi)容
本發(fā)明提供了一種利用簡(jiǎn)單二元資源發(fā)現(xiàn)(SBRD)消息結(jié)構(gòu)的網(wǎng)絡(luò)資 源發(fā)現(xiàn)方法。根據(jù)所述的方法,網(wǎng)絡(luò)資源被配置以產(chǎn)生和傳送多個(gè)多播"你 好"消息給多個(gè)接受器。多個(gè)多播"你好"消息中的每一個(gè)表示所述的網(wǎng)絡(luò) 資源可以獲得并且已經(jīng)準(zhǔn)備好。如果網(wǎng)絡(luò)資源從所述的多個(gè)接受器接收到來(lái) 自特定接受器的多播"查詢"消息,所述的網(wǎng)絡(luò)資源決定所述的多播"查詢" 消息是否包括識(shí)別網(wǎng)絡(luò)資源的識(shí)別數(shù)據(jù)或與網(wǎng)絡(luò)資源的一個(gè)或多個(gè)類型屬 性相匹配的類型數(shù)據(jù)。如果是這樣的話,所述的網(wǎng)絡(luò)資源就產(chǎn)生和傳送一個(gè) 單播"確認(rèn)"消息給特定的接受器以確認(rèn)多播"查詢"消息并且表示所述的 網(wǎng)絡(luò)資源可以獲得和準(zhǔn)備完畢。所述的多播"你好"消息、多播"查詢,,消 息和單播"確認(rèn)"消息的全部構(gòu)成了 SBRD消息結(jié)構(gòu)以減小與網(wǎng)絡(luò)資源發(fā)現(xiàn) 有關(guān)的開(kāi)銷量。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,多播"你好"消息之間的時(shí)間間隔寬度會(huì)隨 著時(shí)間增加而增加。間隔寬度的增加可以是線性或非線性,這取決于具體的 實(shí)現(xiàn)。所述的網(wǎng)絡(luò)資源在不同情況下也可以被配置進(jìn)入不活動(dòng)或"睡目民"模 式。例如,如果在規(guī)定時(shí)間之后或者在發(fā)送了規(guī)定數(shù)量的多播"你好"消息 之后,網(wǎng)絡(luò)資源沒(méi)有收到多播"查詢"消息,網(wǎng)絡(luò)資源可以進(jìn)入睡眠模式。 也可以使用其它的準(zhǔn)則,這依賴于具體的實(shí)現(xiàn)。所述的網(wǎng)絡(luò)資源發(fā)送一個(gè)表 示網(wǎng)絡(luò)資源正進(jìn)入睡眠模式并將變?yōu)椴豢色@得的多播"再見(jiàn)"消息。所述的 方法適用于任何類型的網(wǎng)絡(luò)資源,例如網(wǎng)絡(luò)設(shè)備或元件、服務(wù)器、Web服務(wù)、 或者任何能夠被統(tǒng)一資源標(biāo)識(shí)符(URI)識(shí)別的其他機(jī)制或過(guò)程。
根據(jù)本發(fā)明的一個(gè)方面,網(wǎng)絡(luò)資源被配置以產(chǎn)生和通過(guò)通信網(wǎng)絡(luò)傳送多 個(gè)多播消息給多個(gè)接受器。來(lái)自于多個(gè)多播消息的每一個(gè)多播消息表示網(wǎng)絡(luò) 資源可以獲得并且已經(jīng)準(zhǔn)備好,并且來(lái)自于多個(gè)多播消息的多播消息發(fā)送之 間的發(fā)送時(shí)間間隔寬度會(huì)隨時(shí)間的增加而增加。網(wǎng)絡(luò)資源進(jìn)一步被配置以響 應(yīng)從所述的多個(gè)接受器接收到的來(lái)自某個(gè)特定接受器的多播"查詢"消息, 所述的網(wǎng)絡(luò)資源決定所述的多播"查詢"消息是否包含識(shí)別該網(wǎng)絡(luò)資源的識(shí) 別數(shù)據(jù)或與該網(wǎng)絡(luò)資源的一個(gè)或多個(gè)類型屬性相匹配的類型數(shù)據(jù)。如果所述 的多播"查詢"消息包含識(shí)別該網(wǎng)絡(luò)資源的識(shí)別數(shù)據(jù)或與該網(wǎng)絡(luò)資源的一個(gè)
或多個(gè)類型屬性相匹配的類型數(shù)據(jù),所述的網(wǎng)絡(luò)資源就產(chǎn)生和傳送一個(gè)單播 消息給特定的接受器以確認(rèn)多播"查詢"消息并且表示所述的網(wǎng)絡(luò)資源可以 獲得和準(zhǔn)備完畢。
在附圖各圖中,相似的參考數(shù)字是指相似的元件。
圖1為根據(jù)本發(fā)明實(shí)施例的描述發(fā)現(xiàn)網(wǎng)絡(luò)資源的網(wǎng)絡(luò)配置實(shí)例的方框圖。
圖2為根據(jù)本發(fā)明的實(shí)施例描述發(fā)現(xiàn)網(wǎng)絡(luò)資源的方法的流程方框圖。 圖3為描述使用這里所說(shuō)的發(fā)現(xiàn)網(wǎng)絡(luò)資源的方法的四種不同類型消息的表。
圖4為根據(jù)本發(fā)明的一個(gè)實(shí)施例的描述示例的簡(jiǎn)單二元資源發(fā)現(xiàn) (SBRD)消息結(jié)構(gòu)的方框圖。
圖5為在其上實(shí)現(xiàn)本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)的方框圖。
具體實(shí)施例方式
在以下的描述中,為了進(jìn)行解釋,闡明了大量具體的細(xì)節(jié)以便徹底理解 本發(fā)明。然而很顯然,本領(lǐng)域的技術(shù)人員不需要這些具體的細(xì)節(jié)也可以實(shí)施 本發(fā)明。在其他情況下,為了避免對(duì)本發(fā)明的不必要的模糊理解,以方框圖 的形式顯示眾所周知的結(jié)構(gòu)和設(shè)備。在下文中按照以下部分描述本發(fā)明的各 個(gè)方面
I .總述
II .結(jié)構(gòu) III.資源發(fā)現(xiàn)
IV .傳送間隔和生存時(shí)間
v.簡(jiǎn)單二元消息結(jié)構(gòu)
VI.實(shí)現(xiàn)機(jī)制
I .總述
本發(fā)明提供了一種使用簡(jiǎn)單二元資源發(fā)現(xiàn)(SBRD)消息結(jié)構(gòu)發(fā)現(xiàn)網(wǎng)絡(luò) 資源的方法。根據(jù)所述的方法,網(wǎng)絡(luò)資源被配置以產(chǎn)生和傳送多個(gè)多播"你 好"消息給多個(gè)接受器。多個(gè)多播"你好"消息中的每一個(gè)表示所述的網(wǎng)絡(luò)
資源可以獲得并且已經(jīng)準(zhǔn)備好。如果網(wǎng)絡(luò)資源從所述的多個(gè)接受器接收到來(lái) 自特定接受器的多播"查詢"消息,所述的網(wǎng)絡(luò)資源決定所述的多播"查詢" 消息是否包括識(shí)別網(wǎng)絡(luò)資源的識(shí)別數(shù)據(jù)或與網(wǎng)絡(luò)資源的 一個(gè)或多個(gè)類型屬 性相匹配的類型數(shù)據(jù)。如果是這樣的話,所述的網(wǎng)絡(luò)資源就產(chǎn)生和傳送單播 "確認(rèn)"消息給特定的接受器以確認(rèn)多播"查詢"消息并且表示所述的網(wǎng)絡(luò) 資源可以獲得和準(zhǔn)備完畢。所述的"確認(rèn)"消息也包含網(wǎng)絡(luò)資源的附加信息, 這些會(huì)在下文的V部分更詳細(xì)描述。所述的多播"你好"消息、多播"查詢"
消息和單播"確認(rèn)"消息的全部構(gòu)成了 SBRD消息結(jié)構(gòu)以減小與網(wǎng)絡(luò)資源發(fā) 現(xiàn)有關(guān)的開(kāi)銷量。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述的多播"你好"消息之間的時(shí)間間隔寬 度隨著時(shí)間的增加而增加。間隔寬度的增加可以是線性的或者是非線性的, 這取決于具體的實(shí)現(xiàn)。在不同的情況下所述的網(wǎng)絡(luò)資源也可以被配置進(jìn)入不 活動(dòng)或"睡眠,,模式。例如,如果在規(guī)定時(shí)間之后或者在發(fā)送了規(guī)定數(shù)量的 多播"你好"消息之后,網(wǎng)絡(luò)資源沒(méi)有收到多播"查詢"消息,網(wǎng)絡(luò)資源可 以進(jìn)入睡眠模式。也可以使用其它的準(zhǔn)則,這取決于具體的實(shí)現(xiàn)。所述的網(wǎng) 絡(luò)資源發(fā)送一個(gè)表示網(wǎng)絡(luò)資源正進(jìn)入睡眠模式并將變?yōu)椴豢色@得的多播"再 見(jiàn)"消息。所述的方法適用于任何類型的網(wǎng)絡(luò)資源,例如網(wǎng)絡(luò)設(shè)備或元件、 服務(wù)器、Web服務(wù)、或者任何能夠被統(tǒng)一資源標(biāo)識(shí)符(URI)識(shí)別的其他機(jī) 制或過(guò)程。 II .結(jié)構(gòu)
圖1為描述在其上可以實(shí)現(xiàn)本發(fā)明實(shí)施例的網(wǎng)絡(luò)配置100實(shí)例的方框 圖。網(wǎng)絡(luò)配置100包括經(jīng)由網(wǎng)絡(luò)116進(jìn)行通信連接的多功能外設(shè)(MEP)102、 打印設(shè)備104、復(fù)印機(jī)106、個(gè)人數(shù)字助理(PDA) 108、照相機(jī)IIO、其它 資源112以及客戶機(jī)114。 MEP 102是執(zhí)行諸如打印、復(fù)印、傳真、掃描等 的一個(gè)或多個(gè)功能的設(shè)備??梢杂赡軌蛟趫D1所描述的各種元件之間提供數(shù) 據(jù)交換的任何介質(zhì)或機(jī)制來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)116。網(wǎng)絡(luò)116的實(shí)例包括諸如局域網(wǎng) (LAN)、廣域網(wǎng)(WAN)、以太網(wǎng)或因特網(wǎng)的網(wǎng)絡(luò)、或者一個(gè)或多個(gè)地面、 衛(wèi)星或無(wú)線鏈路,但也不限于此。雖然文中是以圖1所述的特定網(wǎng)絡(luò)設(shè)備(即 MEP 102、打印設(shè)備104、復(fù)印機(jī)106、個(gè)人數(shù)字助理(PDA)以及照相機(jī) 110)來(lái)描述本發(fā)明的實(shí)施例,但是所述方法并不限于此類網(wǎng)絡(luò)設(shè)備,它適 用于能夠被配置執(zhí)行這里所描述功能的任何類型的其他資源112。
III.資源發(fā)現(xiàn)
圖2為根據(jù)本發(fā)明實(shí)施例的描述發(fā)現(xiàn)網(wǎng)絡(luò)資源的方法的流程圖200。在 步驟202中, 一個(gè)網(wǎng)絡(luò)資源變?yōu)榭梢垣@得。所述的網(wǎng)絡(luò)資源可以是已經(jīng)開(kāi)始 服務(wù)的新網(wǎng)絡(luò)資源,或者是剛剛被配置的已有網(wǎng)絡(luò)資源,或者是已從不活動(dòng) 或睡眠模式轉(zhuǎn)換出來(lái)的已有網(wǎng)絡(luò)資源。為了便于解釋,本實(shí)例假定MEP102 是所述的網(wǎng)絡(luò)資源。
在步驟204中,所述的網(wǎng)絡(luò)資源發(fā)送一個(gè)多播"你好"消息給多個(gè)接受 器。所述的"你好,,消息通知接受器所述的網(wǎng)絡(luò)資源可以獲得并且準(zhǔn)備好。 作為一個(gè)多播消息,所述的"你好"消息被發(fā)送給可由各種準(zhǔn)則所規(guī)定的一 組挑選出來(lái)的接受器。例如,在因特網(wǎng)協(xié)議(IP)上下文中,MEP102發(fā)送 所述的多播"你好"消息給與一組接受器相關(guān)聯(lián)的特定的多播IP地址和端 口的組合。接受器必須向特定的組登記以便接收發(fā)送給所述的組的IP地址 或IP地址/端口組合的多播消息。
在步驟206中,判定所述的網(wǎng)絡(luò)資源是否已經(jīng)收到查詢網(wǎng)絡(luò)資源可用性 的多播"查詢"消息??梢越邮諄?lái)自多個(gè)接受器中的一個(gè)或者來(lái)自任何其他 網(wǎng)絡(luò)設(shè)備的多播"查詢"消息。在本實(shí)例中假定MEP 102接收來(lái)自客戶機(jī) 114的多播"查詢"消息??蛻魴C(jī)使用多播"查詢"消息通過(guò)識(shí)別數(shù)據(jù)搜索 特定的網(wǎng)絡(luò)資源,或者通過(guò)類型數(shù)據(jù)搜索網(wǎng)絡(luò)資源的類型。
如果在步驟206中所述的網(wǎng)絡(luò)資源已經(jīng)收到了多播"查詢"消息,那么 在步驟208中,判定所述的多播"查詢"消息是否針對(duì)該網(wǎng)絡(luò)資源。根據(jù)本 發(fā)明的一個(gè)實(shí)施例,如果所述的多播"查詢"消息包含識(shí)別網(wǎng)絡(luò)資源的識(shí)別 數(shù)據(jù)或者與所述的網(wǎng)絡(luò)資源的一種類型相匹配的類型數(shù)據(jù),那么就確定多播 "查詢"消息是針對(duì)該網(wǎng)絡(luò)資源。所述確定可以通過(guò)網(wǎng)絡(luò)資源檢查多播"查 詢"消息的內(nèi)容然后將內(nèi)容與網(wǎng)絡(luò)資源存儲(chǔ)的數(shù)據(jù)進(jìn)行比較來(lái)進(jìn)行。例如, MFP 102將包含在所述的多播"查詢,,消息中的識(shí)別數(shù)據(jù)與它的MAC地址 或者其他任何唯一的識(shí)別數(shù)據(jù)相比較。如果包含在所述的多播"查詢"消息 中的識(shí)別lt據(jù)與MFP 102中的MAC地址或者與MFP 102的其4也的唯一識(shí)別 數(shù)據(jù)匹配,那么所述的多播"查詢,,消息就是針對(duì)MFP 102的。正如另一個(gè) 實(shí)例,所述的網(wǎng)絡(luò)資源可以將包含在多播"查詢"消息中的類型數(shù)據(jù)與網(wǎng)絡(luò) 資源保持的類型數(shù)據(jù)進(jìn)行比較來(lái)判定所述的多播"查詢"消息是否針對(duì)該網(wǎng) 絡(luò)資源。例如,MFP102可以保持類型"MFP "的類型數(shù)據(jù)。如果包含在多
播"查詢"消息中的類型數(shù)據(jù)指定為"MEP",則所述的多播"查詢"消息 是針對(duì)MEP 102和其它相同類型的網(wǎng)絡(luò)資源的。
如果在步驟208中判定所述的多播"查詢"消息是針對(duì)該網(wǎng)絡(luò)資源的, 那么在步驟210中,所述的網(wǎng)絡(luò)資源發(fā)送一個(gè)單播"確認(rèn)"消息給多播"查 詢"消息的發(fā)出者。所述的"確認(rèn)"消息向多播"查詢"消息發(fā)出者確認(rèn)網(wǎng) 絡(luò)資源可以獲得并且準(zhǔn)備完畢。所述的"確認(rèn),,消息也包含網(wǎng)絡(luò)資源的其他 信息,在下文的第V部分將更詳細(xì)描述。作為一種單播消息,"確認(rèn)"消息 僅被發(fā)送給所述的多播"查詢"消息的發(fā)出者。例如,MFP 102可以UDP 數(shù)據(jù)包的形式發(fā)送"確認(rèn)"消息給客戶機(jī)114的IP地址或IP地址和端口的 組合以表示MFP 102可以獲得并且準(zhǔn)備完畢。
如果在步驟206中,所述的網(wǎng)絡(luò)資源沒(méi)有收到"查詢"消息或者在步 驟208中所收到的"查詢"消息不是針對(duì)該網(wǎng)絡(luò)資源的,那么在步驟212中 判定是否為做出該網(wǎng)絡(luò)資源不可獲得的時(shí)間??梢允褂萌Q于具體實(shí)現(xiàn)的各 種各樣的準(zhǔn)則來(lái)作出這個(gè)判定。例如,MFP102可以判定規(guī)定的時(shí)間已經(jīng) 過(guò)去卻沒(méi)有收到"查詢"消息。另一個(gè)實(shí)例,MFP102可以判定MFP102 已經(jīng)發(fā)布了規(guī)定數(shù)量的"你好"消息卻沒(méi)有從其他設(shè)備收到回答或者確認(rèn)。
如果在步驟212中判定現(xiàn)在是網(wǎng)絡(luò)資源不可獲得的時(shí)間,那么在步驟 214中網(wǎng)絡(luò)資源發(fā)送一個(gè)"再見(jiàn)"或者"睡眠"消息并且進(jìn)入不活動(dòng)狀態(tài), 有時(shí)稱作"睡眠"模式。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述的"再見(jiàn)"或者"睡 眠"消息是發(fā)送給特定IP地址或者特定IP地址和端口組合的多播消息。
如果在步驟212中判定現(xiàn)在還不是網(wǎng)絡(luò)資源不可獲得的時(shí)間,那么在步 驟216中判定網(wǎng)絡(luò)資源是否發(fā)送另一個(gè)多播"你好"消息。這個(gè)判定基于取 決于具體實(shí)現(xiàn)的各種各樣的準(zhǔn)則來(lái)作出。例如,可以基于自從網(wǎng)絡(luò)資源最后 發(fā)送多播"你好"消息以來(lái)規(guī)定的時(shí)間是否已經(jīng)過(guò)去、以及所述的前面的多 播"你好"消息是否已經(jīng)過(guò)期或者一些其它的準(zhǔn)則來(lái)判定。正如下文中更詳 細(xì)地描述,所述的多播"你好"消息之間的時(shí)間間隔不是恒定不變的并且可 以隨著時(shí)間變化。
如果在步驟216中判定現(xiàn)在還不到網(wǎng)絡(luò)資源發(fā)送另一個(gè)多播"你好"消 息的時(shí)間,那么流程回到步驟206并且網(wǎng)絡(luò)資源再一次檢查"查詢"消息的 接收。如果在步驟216中判定到了網(wǎng)絡(luò)資源發(fā)送另一個(gè)多播"你好"消息的 時(shí)間,那么流程回到步驟204并且網(wǎng)絡(luò)資源發(fā)送另一個(gè)多播"你好"消息。
圖3中的表300是使用本文描述的發(fā)現(xiàn)網(wǎng)絡(luò)資源方法的四種不同的消息 類型。正如表300中描述的,網(wǎng)絡(luò)資源發(fā)送三種消息類型多播"你好" 消息,多播"再見(jiàn)"消息和單播"確認(rèn)"消息??蛻魴C(jī)發(fā)送多播"查詢"消 息。圖3中描述的IP地址和端口僅僅是為了舉例,所述的方法不局限于任 何具體的IP地址或者IP地址/端口組合。 IV.傳送間隔和生存時(shí)間
如前所述,傳統(tǒng)的網(wǎng)絡(luò)資源發(fā)現(xiàn)方法經(jīng)常使用包含大量消息從而造成網(wǎng) 絡(luò)流量和計(jì)算開(kāi)銷增加的消息傳送方案。根據(jù)本方法的一個(gè)實(shí)施例,網(wǎng)絡(luò)資 源所發(fā)送的多播"你好"消息之間的時(shí)間間隔寬度會(huì)隨著時(shí)間的增加而增加。 這種方法允許最初的多播"你好"消息之間的時(shí)間間隔很短,以便增加感興 趣的客戶機(jī)發(fā)現(xiàn)網(wǎng)絡(luò)資源的概率。同時(shí),通過(guò)隨著時(shí)間的增加而減小網(wǎng)絡(luò)資 源發(fā)送另外的多播"你好"消息的速率,這種方法減小了整體的網(wǎng)絡(luò)流量。 此外,如本文所述,網(wǎng)絡(luò)資源由于各種原因能夠逐漸地停止發(fā)送多播"你好" 消息并進(jìn)入睡眠模式。因此,這種方法所帶來(lái)的好處是當(dāng)網(wǎng)絡(luò)資源剛開(kāi)始變 為可利用時(shí)傳輸速率很高而后來(lái)的傳輸速率較低以便減少網(wǎng)絡(luò)流量。
所述的多播"你好"消息之間的時(shí)間間隔可以隨著時(shí)間線性地增加,例 如,每個(gè)時(shí)間間隔寬度可以是前一個(gè)時(shí)間間隔寬度的兩倍。所述的多播"你 好"消息之間的時(shí)間間隔也可以隨著時(shí)間非線性地增加。例如,所述的時(shí)間 間隔可以呈指數(shù)增加或者按照特定函數(shù)或模式增加。也可以使用最大時(shí)間間 隔。當(dāng)達(dá)到最大時(shí)間間隔時(shí),那么所有后續(xù)的時(shí)間間隔將保持此最大時(shí)間間 隔。
根據(jù)各種各樣的因素,如負(fù)責(zé)傳送網(wǎng)絡(luò)服務(wù)的通信網(wǎng)絡(luò)的質(zhì)量以及額外 網(wǎng)絡(luò)流量的潛在不利影響,多播"你好"消息之間的初始間隔、后續(xù)的間隔 寬度增加量以及最大間隔寬度可以針對(duì)特定應(yīng)用來(lái)選擇或"調(diào)諧"。
如下文更細(xì)致地描述,多播"你好"消息之間的時(shí)間間隔寬度可以被表 述為關(guān)于每個(gè)消息的"生存時(shí)間"(TTL)。多播"你好"消息的TTL表示所 述的消息在失效之前被認(rèn)為是"好的,,或"有效的"的時(shí)間量。多播"你好" 消息的TTL 一般相對(duì)于前面的時(shí)間點(diǎn)來(lái)表達(dá),例如發(fā)送多播"你好"消息 的時(shí)間。根據(jù)本發(fā)明的一個(gè)實(shí)施例,網(wǎng)絡(luò)資源所發(fā)送的多播"你好"消息中 包含了時(shí)間戳和TTL。所述的TTL信息允許客戶機(jī)跟蹤網(wǎng)絡(luò)資源并決定下 一個(gè)多播"你好"消息何時(shí)發(fā)送。諸如管理員設(shè)備的客戶設(shè)備也可以利用TTL信息來(lái)確定網(wǎng)絡(luò)資源是否正常工作。例如,如果一個(gè)或多個(gè)多播"你好" 消息沒(méi)有如期被接收到,管理員設(shè)備基于前一個(gè)消息中的TTL信息就可以 確定網(wǎng)絡(luò)資源當(dāng)前的工作不正常。 V.簡(jiǎn)單二元消息結(jié)構(gòu)
根據(jù)本發(fā)明的一個(gè)實(shí)施例,這里是用小的二元消息結(jié)構(gòu)描述消息。使用 小的二元消息結(jié)構(gòu)代替?zhèn)鹘y(tǒng)的長(zhǎng)文本消息結(jié)構(gòu)提供了快速的高效率的消息 交換。這也減少了碎片化(fragmentation )并提高了可靠性。每一個(gè)消息的 尺寸很小并且事先知道,TCP/IP串不太可能因?yàn)閬G失碎片而使消息散開(kāi)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過(guò)這里描述的消息來(lái)使用簡(jiǎn)單的二元資源 發(fā)現(xiàn)(SBRD)消息結(jié)構(gòu)。圖4是一個(gè)描述SBRD消息結(jié)構(gòu)400實(shí)例的方框 圖。所述的SBRD消息結(jié)構(gòu)400實(shí)例包含各種字段和相應(yīng)的數(shù)據(jù)類型以及每 個(gè)字段的描述。所述的"首標(biāo)"字段用來(lái)將消息識(shí)別為SBRD消息。例如, 所述的SBRD消息的"首標(biāo)"字段可以包含一個(gè)四字符串"SBRD"。所述的
"版本"字段指示SBRD消息結(jié)構(gòu)的版本,允許隨著時(shí)間的不同有不同的版 本。所述的"類型"字段規(guī)定消息類型,也就是多播"你好"消息、多播"再 見(jiàn)"消息、多播"查詢"消息或者單播"確認(rèn)"消息。所述的"時(shí)間戳"字 段規(guī)定發(fā)送消息的時(shí)間。所述的"消息ID"字段規(guī)定消息的唯一ID,比如 一個(gè)增加的消息ID號(hào)。所述的"TTL"字段規(guī)定消息的TTL。所述的"資 源ID"字段包含識(shí)別網(wǎng)絡(luò)資源的數(shù)據(jù)。這個(gè)數(shù)據(jù)的實(shí)例是UUID。所述的"資 源類型"字段包含規(guī)定一個(gè)或多個(gè)網(wǎng)絡(luò)資源類型屬性的數(shù)據(jù)。例如,所述的
"資源類型"字段可以包含從已知網(wǎng)絡(luò)資源類型列表中指明 一種網(wǎng)絡(luò)資源類 型的數(shù)據(jù)。
所述的"一般版本"字段規(guī)定一般數(shù)據(jù)的當(dāng)前版本。"一般URT字段包 含一個(gè)遵循一般模型的網(wǎng)絡(luò)資源定義的URI。例如,這個(gè)字段可以包含網(wǎng)頁(yè) 的URL或者含有所述的一般數(shù)據(jù)模型的數(shù)據(jù)文件。所述的一般數(shù)據(jù)模型可 以是公共的。使用所述的"一般URT字段的一個(gè)好處是它消除了在每個(gè)消 息中承載所有一般數(shù)據(jù)的需要或者只要有(相同版本的)本地拷貝就檢索每
個(gè)消息的一般數(shù)據(jù)的需要。所述的"專用版本"字段規(guī)定專用數(shù)據(jù)的當(dāng)前版 本。所述的"專用URT字段包含網(wǎng)絡(luò)資源專用定義的URI。例如,這個(gè)字 段可以包含網(wǎng)頁(yè)、XML文本或者含有網(wǎng)絡(luò)資源的專用數(shù)據(jù)模型的數(shù)據(jù)文件 的URL。所述的專用數(shù)據(jù)模型依據(jù)具體的實(shí)現(xiàn)可以僅僅被特定的網(wǎng)絡(luò)資源和
客戶機(jī)所了解。所述的專用數(shù)據(jù)模型可以被用于支持各種服務(wù)。例如,所述 的專用數(shù)據(jù)模型可以被用于支持安全防衛(wèi),比如協(xié)議和認(rèn)證。與所述的"一
般URI" —樣,所述的"專用URT字段消除在每個(gè)消息中承載所有專用數(shù) 據(jù)的需要或者只要有(相同版本的)本地拷貝就檢索每個(gè)消息的專用數(shù)據(jù)的需要。
可以限制所述的"一般URT和"專用URI"字段的長(zhǎng)度。在URI長(zhǎng)度 超過(guò)字段允許的長(zhǎng)度的情況下,小URI機(jī)制可以被用于將小URI映射為完 整URI 。
例如,可以將URI http:〃mytinyuri.com/myresource映射到 http:〃myverylonguri.com/lotofstuff/todescribe/this/resource。 VI.實(shí)現(xiàn)4幾制
流量??梢赃x擇有關(guān)多播消息之間的時(shí)間間隔的各種參數(shù)以適合特定實(shí)現(xiàn)。 進(jìn)一步來(lái)說(shuō),使用小的二元消息減少了與網(wǎng)絡(luò)資源發(fā)現(xiàn)有關(guān)的網(wǎng)絡(luò)開(kāi)銷量, 同時(shí)通過(guò)一般的和專用的URI的使用保持了靈活性。
本方法可以在取決于具體實(shí)現(xiàn)的任何種類的計(jì)算平臺(tái)或者以任何種類 的機(jī)制或過(guò)程來(lái)實(shí)現(xiàn)。為便于解釋,圖5是說(shuō)明可在其上實(shí)現(xiàn)本發(fā)明實(shí)施例 的計(jì)算機(jī)系統(tǒng)500實(shí)例的方框圖。計(jì)算機(jī)系統(tǒng)500包括總線502或用于傳遞 信息的其他通信機(jī)制、以及與總線502相連用于處理信息的處理器504。計(jì) 算機(jī)系統(tǒng)500也包括與總線502相連的用于存儲(chǔ)信息和被處理器504執(zhí)行的 指令的主存儲(chǔ)器506,例如隨機(jī)存取存儲(chǔ)器(RAM)或其它動(dòng)態(tài)存儲(chǔ)設(shè)備。 主存儲(chǔ)器506也可被用于存儲(chǔ)臨時(shí)變量或處理器504執(zhí)行指令期間的其它中 間信息。計(jì)算機(jī)系統(tǒng)500進(jìn)一步包括與總線502相連的用于存儲(chǔ)處理器504 的靜態(tài)信息和指令的只讀存儲(chǔ)器(ROM) 508或其它靜態(tài)存儲(chǔ)設(shè)備。諸如磁 盤(pán)或光盤(pán)的存儲(chǔ)設(shè)備510被提供并且與總線502相連用于存儲(chǔ)信息和指令。
計(jì)算機(jī)系統(tǒng)500可以通過(guò)總線502與諸如陰極射線管(CRT)的顯示器 512相連,以便將信息顯示給計(jì)算機(jī)用戶。包括字母數(shù)字和其它鍵的輸入設(shè) 備514與總線502相連以便將信息和選擇命令傳遞給處理器504。其它類型 的用戶輸入設(shè)備是諸如鼠標(biāo)、軌跡球或光標(biāo)方向鍵的光標(biāo)控制器516,用于 將方向信息和選擇命令傳遞給處理器504以及用于控制顯示器512上的光 標(biāo)移動(dòng)。這個(gè)輸入設(shè)備典型地在第一軸(例如,x)和第二軸(例如,y)這 兩個(gè)軸上有兩個(gè)自由度,允許所述的設(shè)備規(guī)定平面內(nèi)的位置。
本發(fā)明涉及實(shí)現(xiàn)這里所描述的技術(shù)的計(jì)算機(jī)系統(tǒng)500的使用。根據(jù)本發(fā) 明的一個(gè)實(shí)施例,計(jì)算機(jī)系統(tǒng)500完成那些技術(shù)以響應(yīng)處理器504執(zhí)行包含 在主存儲(chǔ)器506中的一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列。可以從另外的諸如 存儲(chǔ)設(shè)備510的機(jī)器可讀介質(zhì)中將那些指令讀入主存儲(chǔ)器506。包含在主存 儲(chǔ)器506中的指令序列的執(zhí)行促使處理器504執(zhí)行這里所描述的處理步驟。 在替換實(shí)施例中,可以使用硬件電路代替軟件指令或者與軟件指令的組合來(lái) 實(shí)現(xiàn)本發(fā)明。因此,本發(fā)明實(shí)施例并不限定于任何軟件和硬件電路的特定組 合。
這里所用的術(shù)語(yǔ)"機(jī)器可讀的介質(zhì)"是指參與提供使機(jī)器以特定方式運(yùn) 轉(zhuǎn)的數(shù)據(jù)的任何介質(zhì)。例如,在利用計(jì)算機(jī)系統(tǒng)500所實(shí)現(xiàn)的實(shí)施例中,在 給處理器504提供執(zhí)行指令的過(guò)程中包含了各種計(jì)算機(jī)可讀的介質(zhì)。這樣的 介質(zhì)可以采用包括(但不限于此)非易失介質(zhì)、易失介質(zhì)和傳輸介質(zhì)的多種 形式。例如,非易失介質(zhì)包括像存儲(chǔ)設(shè)備510這樣的的光盤(pán)或磁盤(pán)。易失介 質(zhì)包括像主存儲(chǔ)器506這樣的動(dòng)態(tài)存儲(chǔ)器。傳輸介質(zhì)包括構(gòu)成總線502的線 路的同軸電纜、銅線以及光纖。傳輸介質(zhì)也可以采用聲波或光波的形式,例 如那些在無(wú)線電和紅外數(shù)據(jù)傳輸期間所產(chǎn)生的那些波。
機(jī)器可讀介質(zhì)的普通形式包括,例如,軟盤(pán)、柔性盤(pán)、硬盤(pán)、磁帶或任 何其它磁性介質(zhì);CD-ROM、任何其它光學(xué)介質(zhì);穿孔卡片、紙帶、任何其 它帶有小孔的物理介質(zhì);RAM、 PROM、 FLASH-EPROM、任何其它存儲(chǔ)器 芯片或模塊;如下面描述的載波,或者計(jì)算機(jī)可讀的任何其它介質(zhì)。
在傳送處理器504所執(zhí)行的一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列過(guò)程中可 以包含各種形式的機(jī)器可讀介質(zhì)。例如,所述的指令一開(kāi)始可被保存在遠(yuǎn)程 計(jì)算機(jī)的磁盤(pán)上。遠(yuǎn)程計(jì)算機(jī)能夠?qū)⑺龅闹噶钛b載到它的動(dòng)態(tài)內(nèi)存中并利 用調(diào)制解調(diào)器通過(guò)電話線發(fā)送所述的指令。至計(jì)算機(jī)系統(tǒng)500的本地的調(diào)制 解調(diào)器能夠接收電話線上的數(shù)據(jù)并且使用紅外發(fā)送器將所述的數(shù)據(jù)轉(zhuǎn)換為 紅外信號(hào)。紅外檢測(cè)器能夠接收紅外信號(hào)中所承載的數(shù)據(jù)并且適當(dāng)?shù)碾娐纺?夠?qū)⑺龅臄?shù)據(jù)放置在總線502上。總線502將數(shù)據(jù)傳輸?shù)街鞔鎯?chǔ)器506中, 處理器504從中提取和執(zhí)行所述指令。由主存儲(chǔ)器506接收的指令在被處理
計(jì)算機(jī)系統(tǒng)500也包括與總線502相連的通信接口 518。通信接口 518 提供了與網(wǎng)絡(luò)鏈路520相連的雙向數(shù)據(jù)通信,網(wǎng)絡(luò)鏈路520連接到本地網(wǎng)絡(luò)
522上。例如,通信接口 518可以是綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)卡或調(diào)制解調(diào) 器以提供到相應(yīng)類型的電話線上的數(shù)據(jù)通信連接。作為另一個(gè)例子,通信接 口 518可以是局域網(wǎng)(LAN)卡以提供到兼容的LAN上的數(shù)據(jù)通信連接。 無(wú)線鏈路也可以被實(shí)現(xiàn)。在任何此類實(shí)現(xiàn)中,通信接口 518發(fā)送和接收承載 著表示各種信息的數(shù)字?jǐn)?shù)據(jù)流的電、電磁或光學(xué)信號(hào)。
典型地,網(wǎng)絡(luò)鏈路520通過(guò)一個(gè)或多個(gè)網(wǎng)絡(luò)提供到其它數(shù)據(jù)設(shè)備的數(shù)據(jù) 通信。例如,網(wǎng)絡(luò)鏈路520可以通過(guò)本地網(wǎng)絡(luò)522提供到主計(jì)算機(jī)524或者 到由因特網(wǎng)業(yè)務(wù)提供商(ISP)526所管理的數(shù)據(jù)裝置的連接。反過(guò)來(lái),ISP526 通過(guò)遍及世界的分組數(shù)據(jù)通信網(wǎng)絡(luò)(現(xiàn)在一般是指"因特網(wǎng)"528 ),提供數(shù) 據(jù)通信服務(wù)。本地網(wǎng)絡(luò)522和因特網(wǎng)528兩者都使用承載數(shù)字?jǐn)?shù)據(jù)流的電、 電磁和光學(xué)信號(hào)。經(jīng)過(guò)各種網(wǎng)絡(luò)的信號(hào)以及在網(wǎng)絡(luò)鏈路520上并經(jīng)過(guò)通信接 口 518的信號(hào)是傳送信息的載波的典型形式,其承載著數(shù)字?jǐn)?shù)據(jù)來(lái)往于計(jì)算 機(jī)系統(tǒng)500。
計(jì)算機(jī)系統(tǒng)500能夠通過(guò)網(wǎng)絡(luò)、網(wǎng)絡(luò)鏈路520和通信接口 518發(fā)送消息 并接收包括程序代碼的數(shù)據(jù)。在所述的因特網(wǎng)實(shí)例中,服務(wù)器530可通過(guò)因 特網(wǎng)528、 ISP526、本地網(wǎng)絡(luò)522和通信接口 518發(fā)送4皮請(qǐng)求的應(yīng)用程序代碼。
由于所接收的代碼被接收和/或存儲(chǔ)在存儲(chǔ)設(shè)備510或其它非易失存儲(chǔ) 器中以便隨后的執(zhí)行,因此處理器504可以執(zhí)行所接收的代碼。這樣,計(jì)算 機(jī)系統(tǒng)500可以載波的形式獲得應(yīng)用程序代碼。
在前面的詳細(xì)說(shuō)明中,已經(jīng)參考許多隨著不同實(shí)現(xiàn)而變化的特定細(xì)節(jié)描 述了本發(fā)明的實(shí)施例。這樣,申請(qǐng)人意欲唯一和特別指出的是本發(fā)明是本 申請(qǐng)所主張的權(quán)利要求的集合,以權(quán)利要求所限定的特定形式表現(xiàn),包括任 何后續(xù)的修改。因此,權(quán)利要求中沒(méi)有特意描述的限制、元素、性質(zhì)、特征、 優(yōu)點(diǎn)或?qū)傩詰?yīng)當(dāng)不會(huì)以任何方式限制所述權(quán)利要求的范圍。相應(yīng)地,本說(shuō)明 書(shū)和附圖被看作是示意性的而不是限制性的理解。
權(quán)利要求
1.一個(gè)網(wǎng)絡(luò)資源,被配置為通過(guò)通信網(wǎng)絡(luò)(116)產(chǎn)生和發(fā)送(204)多個(gè)多播消息給多個(gè)接受器,其中來(lái)自所述的多個(gè)多播消息的每一個(gè)多播消息表示網(wǎng)絡(luò)資源可以獲得并且準(zhǔn)備完畢,以及來(lái)自所述的多個(gè)多播消息的多播消息的發(fā)送之間的時(shí)間間隔寬度隨著時(shí)間的增加而增加;響應(yīng)于收到(206)來(lái)自所述的多個(gè)接受器的一個(gè)特定接受器的多播“查詢”消息,判定(208)所述的多播“查詢”消息是否包含識(shí)別網(wǎng)絡(luò)資源的識(shí)別數(shù)據(jù)或者與網(wǎng)絡(luò)資源的一個(gè)或多個(gè)類型屬性匹配的類型數(shù)據(jù);以及如果所述的多播“查詢”消息包含識(shí)別網(wǎng)絡(luò)資源的識(shí)別數(shù)據(jù)或者與網(wǎng)絡(luò)資源的一個(gè)或多個(gè)類型屬性匹配的類型數(shù)據(jù),那么所述的網(wǎng)絡(luò)資源產(chǎn)生和發(fā)送(210)一個(gè)單播消息給特定的接受器以確認(rèn)多播“查詢”消息并表示網(wǎng)絡(luò)資源可以獲得并且準(zhǔn)備完畢。
2. 如權(quán)利要求1所述的網(wǎng)絡(luò)資源,其中,來(lái)自所述的多個(gè)多播消息的 多播消息發(fā)送之間的時(shí)間間隔寬度隨著時(shí)間的增加成線性增加。
3. 如權(quán)利要求1所述的網(wǎng)絡(luò)資源,其中,來(lái)自所述的多個(gè)多播消息的 多播消息發(fā)送之間的時(shí)間間隔寬度隨著時(shí)間的增加成非線性增加。
4. 如權(quán)利要求1所述的網(wǎng)絡(luò)資源,其中,在經(jīng)過(guò)了規(guī)定的時(shí)間或者網(wǎng) 絡(luò)資源發(fā)送了規(guī)定數(shù)量的多播消息而網(wǎng)絡(luò)資源沒(méi)有收到"確認(rèn)"信號(hào)(212) 后,所述的網(wǎng)絡(luò)資源被進(jìn)一步配置進(jìn)入(214)"睡眠"模式。
5. 如權(quán)利要求1所述的網(wǎng)絡(luò)資源,其中,所述的多個(gè)多播消息被發(fā)送 給多播因特網(wǎng)協(xié)議地址和端口 。
6. 如權(quán)利要求1所述的網(wǎng)絡(luò)資源,其中,所述多個(gè)多播消息的每一個(gè)包括表示發(fā)送多播消息時(shí)刻的時(shí)間戳數(shù)據(jù),以及從時(shí)間戳數(shù)據(jù)所指示的時(shí)刻開(kāi)始表示多播消息有效的時(shí)間長(zhǎng)度的數(shù)據(jù)。
7. 如權(quán)利要求1所述的網(wǎng)絡(luò)資源,其中,多個(gè)多播消息的每一個(gè)包括識(shí)別網(wǎng)絡(luò)資源的識(shí)別數(shù)據(jù)。
8. 如權(quán)利要求1所述的網(wǎng)絡(luò)資源,其中,多個(gè)多播消息的每一個(gè)包括 識(shí)別 一個(gè)或多個(gè)網(wǎng)絡(luò)資源的類型屬性的資源類型數(shù)據(jù)。
9. 如權(quán)利要求1所述的網(wǎng)絡(luò)資源,其中,多個(gè)多播消息的每一個(gè)包括 識(shí)別多播消息類型的消息類型數(shù)據(jù)。
10. 如權(quán)利要求1所述的網(wǎng)絡(luò)資源,其中,多個(gè)多播消息的每一個(gè)包括 引用一般消息數(shù)據(jù)模型的第一URI,以及引用專用消息數(shù)據(jù)模型的第二 URI。
11. 如權(quán)利要求10所述的網(wǎng)絡(luò)資源,其中,多個(gè)多播消息的每一個(gè)包括引用所述的一般消息數(shù)據(jù)模型的當(dāng)前版本的第一版本數(shù)據(jù),以及 引用所述的專用消息數(shù)據(jù)模型的當(dāng)前版本的第二版本數(shù)據(jù)。
12. 如權(quán)利要求1所述的網(wǎng)絡(luò)資源,其中,所述的多個(gè)多播消息、多播 "查詢"消息和單播消息都遵守二元消息格式。
全文摘要
本發(fā)明提供了一種使用簡(jiǎn)單二元資源發(fā)現(xiàn)(SBRD)消息結(jié)構(gòu)發(fā)現(xiàn)網(wǎng)絡(luò)資源的方法。根據(jù)此方法,網(wǎng)絡(luò)資源被配置以產(chǎn)生和發(fā)送多個(gè)多播“你好”消息給多個(gè)接受器來(lái)表示網(wǎng)絡(luò)資源可以獲得并且準(zhǔn)備完畢。如果所述的網(wǎng)絡(luò)資源收到了來(lái)自多個(gè)接受器的一個(gè)特定接受器的多播“查詢”消息,那么網(wǎng)絡(luò)資源判定是否多播“查詢”消息包括識(shí)別網(wǎng)絡(luò)資源的識(shí)別數(shù)據(jù)或者與一個(gè)或多個(gè)網(wǎng)絡(luò)資源類型屬性匹配的類型數(shù)據(jù)。如果這樣,那么網(wǎng)絡(luò)資源產(chǎn)生和發(fā)送一個(gè)單播“確認(rèn)”消息給特定的接受器以確認(rèn)多播“查詢”消息并表示網(wǎng)絡(luò)資源可以獲得并且準(zhǔn)備完畢。所述的多播“你好”消息之間的時(shí)間間隔寬度可以隨著時(shí)間的增加而增加。
文檔編號(hào)H04L12/28GK101175002SQ20061013766
公開(kāi)日2008年5月7日 申請(qǐng)日期2006年11月2日 優(yōu)先權(quán)日2006年11月2日
發(fā)明者阿蘭·雷尼爾 申請(qǐng)人:株式會(huì)社理光