專利名稱:動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)網(wǎng)絡(luò)資源發(fā)現(xiàn)技術(shù),更確切地說是涉及動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)技術(shù)。該動(dòng)態(tài)網(wǎng)絡(luò)是指網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)處于一種高度不穩(wěn)定的狀態(tài)下,即設(shè)備頻繁地出入網(wǎng)絡(luò)。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)及網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,各種設(shè)備通過網(wǎng)絡(luò)連接從而共享資源已經(jīng)非常普及。要實(shí)現(xiàn)資源共享的前提是資源發(fā)現(xiàn),尤其是在具有高度動(dòng)態(tài)特性的網(wǎng)絡(luò)環(huán)境中,如無線局域網(wǎng)。由于各個(gè)設(shè)備非常容易地進(jìn)出網(wǎng)絡(luò),而且頻繁地進(jìn)出,如何迅速準(zhǔn)確的發(fā)現(xiàn)網(wǎng)絡(luò)中的資源狀況就成為高效共享網(wǎng)絡(luò)資源的一個(gè)重要技術(shù)問題。
針對(duì)相對(duì)固定網(wǎng)絡(luò)環(huán)境的資源發(fā)現(xiàn)問題,業(yè)界已有很多成熟的技術(shù),如服務(wù)定位協(xié)議SLP(Service Location Protocol),Jini,OSGI等相關(guān)技術(shù)。這些技術(shù)具有一個(gè)共同特性,即在網(wǎng)絡(luò)中都需要一個(gè)相對(duì)固定的資源索引設(shè)備,網(wǎng)絡(luò)中的其它設(shè)備通過向資源索引設(shè)備發(fā)布自身資源以充實(shí)資源索引設(shè)備,和檢索資源索引設(shè)備以發(fā)現(xiàn)網(wǎng)絡(luò)中的資源進(jìn)而實(shí)現(xiàn)資源共享。如SLP協(xié)議需要一個(gè)相對(duì)固定設(shè)備起目錄代理(Directory Agent)作用,如Jini技術(shù),需要一個(gè)固定設(shè)備提供發(fā)現(xiàn)(Lookup)服務(wù),如OSGI技術(shù),需要一個(gè)固定的網(wǎng)關(guān)來實(shí)現(xiàn)資源索引。
申請(qǐng)?zhí)枮?2129531.x,名稱為“家庭網(wǎng)絡(luò)中實(shí)現(xiàn)資源共享時(shí)的服務(wù)查找方法”中國(guó)專利申請(qǐng)文件中,公開了一種在家庭網(wǎng)絡(luò)中使用的服務(wù)查找方法,當(dāng)網(wǎng)絡(luò)中不存在資源管理設(shè)備時(shí),需要查找服務(wù)的設(shè)備必須先建立與目標(biāo)設(shè)備的連接,再向目標(biāo)設(shè)備逐一發(fā)起服務(wù)查找請(qǐng)求。由于無法預(yù)先知道哪個(gè)設(shè)備上存在需要的服務(wù),因此,在查找時(shí)有可能需要遍歷網(wǎng)絡(luò)中的所有設(shè)備才能完成查找過程,查找效率無疑是非常低下的。
綜上所述,在動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下,由于無法預(yù)先指定一個(gè)設(shè)備作為資源索引設(shè)備,因而以上介紹的這些技術(shù),都將無法有效發(fā)揮作用。
發(fā)明內(nèi)容
本發(fā)明的目的是設(shè)計(jì)一種動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,即在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)處于高度不穩(wěn)定狀態(tài)下的網(wǎng)絡(luò)資源發(fā)現(xiàn)方法,無需在網(wǎng)絡(luò)中預(yù)先指定一個(gè)資源索引設(shè)備,在設(shè)備頻繁進(jìn)出網(wǎng)絡(luò)的環(huán)境中,可以有效發(fā)現(xiàn)網(wǎng)絡(luò)中的資源并實(shí)現(xiàn)資源共享。
本發(fā)明方法所涉及到的設(shè)備,是指連接到網(wǎng)絡(luò)上的可以正常工作的物理設(shè)備,網(wǎng)絡(luò)中的任一個(gè)設(shè)備可以訪問網(wǎng)絡(luò)中的其它設(shè)備,也可以被網(wǎng)絡(luò)中的其它設(shè)備所訪問。
本發(fā)明方法所涉及到的服務(wù),是指運(yùn)行在設(shè)備上的、具有可調(diào)用接口的功能實(shí)體,網(wǎng)絡(luò)中的任一個(gè)設(shè)備上的服務(wù)可被本設(shè)備的應(yīng)用程序調(diào)用,或被其它設(shè)備上的應(yīng)用程序調(diào)用。
本發(fā)明方法所涉及到的資源,是設(shè)備和服務(wù)兩者的統(tǒng)稱。
實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案是這樣的一種動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的網(wǎng)絡(luò)資源發(fā)現(xiàn)方法,其特征在于包括一種動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,其特征在于包括A.在每一個(gè)希望實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下資源發(fā)現(xiàn)的設(shè)備上安裝用于支持動(dòng)態(tài)資源發(fā)現(xiàn)的軟件,該軟件包括用于啟動(dòng)、停止軟件本身的啟動(dòng)控制接口、停止控制接口,用于監(jiān)測(cè)設(shè)備自身服務(wù)狀況的服務(wù)注冊(cè)、服務(wù)注銷接口,和用于發(fā)現(xiàn)資源的資源查找接口、資源變化訂閱接口及資源變化通知接口,該軟件的網(wǎng)絡(luò)調(diào)用接口在指定的多播地址上進(jìn)行偵聽和作出應(yīng)答;B.軟件啟動(dòng)后的設(shè)備在調(diào)用并處理所述的服務(wù)注冊(cè)接口時(shí),進(jìn)行服務(wù)記錄,并向所述的多播地址多播發(fā)送服務(wù)上線消息,該設(shè)備在調(diào)用并處理所述的服務(wù)注銷接口時(shí),刪除服務(wù)記錄,并向所述的多播地址多播發(fā)送服務(wù)下線消息;C.網(wǎng)絡(luò)上設(shè)備在多播地址上偵聽由其它設(shè)備發(fā)出的服務(wù)上線消息,由其上應(yīng)用程序調(diào)用并處理所述軟件的資源變化通知接口,獲得網(wǎng)絡(luò)上服務(wù)動(dòng)態(tài)變化信息,供設(shè)備上應(yīng)用程序向提供服務(wù)程序發(fā)起程序調(diào)用;和在需要時(shí),由其上應(yīng)用程序調(diào)用并處理所述軟件的資源查找接口,向所述的多播地址多播發(fā)送服務(wù)查找消息,該服務(wù)查找消息中包含查找條件,在多播地址上偵聽到查找消息的設(shè)備軟件,從服務(wù)記錄中找到符合查找條件的服務(wù),向發(fā)起服務(wù)查找的設(shè)備單播發(fā)送服務(wù)查找響應(yīng)。并且,D.所述設(shè)備在調(diào)用并處理所述的資源變化訂閱接口時(shí),向指定設(shè)備的所述軟件發(fā)送資源變化事件訂閱的請(qǐng)求消息,接收到該請(qǐng)求消息的指定設(shè)備在決定接收事件訂閱時(shí)進(jìn)行事件訂閱記錄,該指定設(shè)備在多播地址上偵聽由其它設(shè)備發(fā)出的服務(wù)上線或下線消息時(shí)還查找事件訂閱記錄,當(dāng)發(fā)現(xiàn)有符合訂閱記錄的服務(wù)上線或下線時(shí),向事件訂閱請(qǐng)求設(shè)備發(fā)送服務(wù)增加或減少的動(dòng)態(tài)變化通知消息。
本發(fā)明通過在網(wǎng)絡(luò)中的物理設(shè)備上安裝一個(gè)用于支持設(shè)備動(dòng)態(tài)資源發(fā)現(xiàn)的軟件,該軟件負(fù)責(zé)監(jiān)測(cè)自身設(shè)備的工作狀態(tài)及設(shè)備上的資源變更狀態(tài)。由于無需在網(wǎng)絡(luò)中預(yù)先指定一個(gè)資源索引設(shè)備,則可以在動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下,無需遍歷整個(gè)網(wǎng)絡(luò)上設(shè)備,就可隨時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)資源。
圖1是動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中設(shè)備上下線消息發(fā)送示意圖。
圖2是動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中服務(wù)上下線消息發(fā)送示意圖。
圖3是動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中服務(wù)查找過程示意圖。
圖4是動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中資源變化事件訂閱/通知機(jī)制示意圖。
圖5是家庭網(wǎng)絡(luò)中的資源發(fā)現(xiàn)過程實(shí)施例示意圖。
圖6是辦公網(wǎng)絡(luò)中的資源發(fā)現(xiàn)過程實(shí)施例示意圖。
具體實(shí)施例方式
實(shí)施本發(fā)明方法,必須在各個(gè)希望在動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中動(dòng)態(tài)發(fā)現(xiàn)資源的設(shè)備上安裝一個(gè)用于支持動(dòng)態(tài)資源發(fā)現(xiàn)的軟件(簡(jiǎn)述為“軟件”),包括軟件啟動(dòng)與停止控制接口,服務(wù)注冊(cè)與服務(wù)注銷接口,資源查找接口,資源變化訂閱接口,資源變化通知接口和網(wǎng)絡(luò)調(diào)用接口。其中的軟件啟動(dòng)與停止控制接口,服務(wù)注冊(cè)與服務(wù)注銷接口,資源查找接口,資源變化訂閱接口,資源變化通知接口可統(tǒng)稱為軟件的本地調(diào)用接口。其中的網(wǎng)絡(luò)調(diào)用接口指定一網(wǎng)絡(luò)多播地址259.255.255.2501900,一設(shè)備上軟件的網(wǎng)絡(luò)調(diào)用接口在該指定的網(wǎng)絡(luò)多播地址上偵聽網(wǎng)絡(luò)中其它設(shè)備發(fā)出的用于資源發(fā)現(xiàn)的網(wǎng)絡(luò)消息并將相應(yīng)的應(yīng)答消息發(fā)送到網(wǎng)絡(luò)上。
通過調(diào)用并處理本地調(diào)用接口中的軟件啟動(dòng)、停止控制接口,所述軟件能夠根據(jù)需要改變軟件本身的工作狀態(tài),包括啟動(dòng)或停止。通過對(duì)本地調(diào)用接口中服務(wù)注冊(cè)和注銷接口的調(diào)用處理,所述軟件能夠監(jiān)測(cè)設(shè)備自身服務(wù)狀況,包括對(duì)服務(wù)進(jìn)行記錄和將記錄的服務(wù)刪除。一設(shè)備上需要使用服務(wù)的應(yīng)用程序,通過調(diào)用處理本地調(diào)用接口中的資源查找接口、資源變化訂閱接口、資源變化通知接口發(fā)現(xiàn)網(wǎng)絡(luò)上資源。
參見圖1,圖中示出設(shè)備A與設(shè)備B間的設(shè)備上、下線消息發(fā)送過程。
步驟11,用戶通過啟動(dòng)設(shè)備B中支持動(dòng)態(tài)資源發(fā)現(xiàn)軟件的啟動(dòng)控制接口,來啟動(dòng)設(shè)備B中的該軟件;步驟12,設(shè)備B上的該軟件在啟動(dòng)接口被調(diào)用且成功處理后,向網(wǎng)絡(luò)多播地址259.255.255.2501900多播發(fā)送設(shè)備上線消息,在設(shè)備上線消息中至少包含本設(shè)備B的設(shè)備標(biāo)識(shí)、B設(shè)備名稱等設(shè)備必備的其它屬性信息;步驟13,設(shè)備A通過偵聽網(wǎng)絡(luò)多播地址259.255.255.2501900,接收到B設(shè)備的設(shè)備上線消息,設(shè)備A軟件可通過資源變化通知接口將B設(shè)備的設(shè)備上線消息通知設(shè)備A的應(yīng)用程序。
步驟14,用戶通過啟動(dòng)設(shè)備B中支持動(dòng)態(tài)資源發(fā)現(xiàn)軟件的停止接口,來停止設(shè)備B中的該軟件;步驟15,設(shè)備B上的該軟件在停止接口被調(diào)用且成功處理后,向網(wǎng)絡(luò)多播地址259.255.255.2501900多播發(fā)送設(shè)備下線消息,在設(shè)備下線消息中至少包含本設(shè)備B的設(shè)備標(biāo)識(shí)、B設(shè)備名稱等設(shè)備必備的其它屬性信息;步驟16,設(shè)備A通過偵聽網(wǎng)絡(luò)多播地址259.255.255.2501900,接收到B設(shè)備的設(shè)備下線消息,設(shè)備A軟件可通過資源變化通知接口將B設(shè)備的設(shè)備下線消息通知設(shè)備A的應(yīng)用程序。
參見圖2,圖中示出設(shè)備A與設(shè)備B間的服務(wù)上、下線消息發(fā)送過程。
步驟21,設(shè)備B上軟件在所提供的服務(wù)注冊(cè)接口被某一服務(wù)程序E調(diào)用且成功處理后,進(jìn)行服務(wù)記錄,即記錄所增加服務(wù)的相關(guān)信息,相關(guān)信息至少包括服務(wù)類型、服務(wù)標(biāo)識(shí)、服務(wù)名稱、服務(wù)接口描述文檔信息等;步驟22,設(shè)備B同時(shí)向網(wǎng)絡(luò)多播地址259.255.255.2501900多播發(fā)送服務(wù)上線消息,在服務(wù)上線消息中至少包含B設(shè)備的設(shè)備標(biāo)識(shí),增加的服務(wù)標(biāo)識(shí)、服務(wù)類型、服務(wù)名稱等。
步驟23,設(shè)備A軟件通過偵聽網(wǎng)絡(luò)多播地址259.255.255.2501900,接收到B設(shè)備的服務(wù)上線消息,通過解析該消息,該軟件即可了解網(wǎng)絡(luò)上設(shè)備B的服務(wù)動(dòng)態(tài)變化信息,設(shè)備A軟件可通過資源變化通知接口將B設(shè)備的服務(wù)上線消息通知設(shè)備A的應(yīng)用程序,A設(shè)備的應(yīng)用程序即可獲得網(wǎng)絡(luò)上服務(wù)動(dòng)態(tài)變化信息。
步驟24,設(shè)備B上軟件在所提供的服務(wù)注銷接口被服務(wù)程序E調(diào)用且成功處理后,進(jìn)行服務(wù)記錄刪除,即刪除軟件內(nèi)相應(yīng)的服務(wù)記錄信息。
步驟25,設(shè)備B同時(shí)向網(wǎng)絡(luò)多播地址259.255.255.2501900多播發(fā)送服務(wù)下線消息,在服務(wù)下線消息中至少包含B設(shè)備的設(shè)備標(biāo)識(shí),減少的服務(wù)的服務(wù)標(biāo)識(shí)、服務(wù)類型、服務(wù)名稱等。
步驟26,設(shè)備A通過偵聽網(wǎng)絡(luò)多播地址259.255.255.2501900,接收到B設(shè)備的服務(wù)下線消息,通過解析該下線消息,該軟件即可了解網(wǎng)絡(luò)上設(shè)備B的服務(wù)動(dòng)態(tài)變化信息。設(shè)備A軟件可通過資源變化通知接口將B設(shè)備的服務(wù)下線消息通知設(shè)備A的應(yīng)用程序,A設(shè)備的應(yīng)用程序即可獲得網(wǎng)絡(luò)上服務(wù)動(dòng)態(tài)變化信息。
參見圖3,為一服務(wù)查找過程。
步驟31,同圖2中步驟21,設(shè)備B上軟件在所提供的服務(wù)注冊(cè)接口被名稱為“Test”的服務(wù)程序調(diào)用且成功處理后,進(jìn)行服務(wù)記錄,即記錄所增加的“Test”服務(wù)的相關(guān)信息,相關(guān)信息至少包括服務(wù)類型、服務(wù)標(biāo)識(shí)、服務(wù)名稱、服務(wù)接口描述文檔信息等;步驟32,同圖2中步驟22,設(shè)備B同時(shí)向網(wǎng)絡(luò)多播地址259.255.255.2501900多播發(fā)送服務(wù)上線消息,在服務(wù)上線消息中至少包含B設(shè)備的設(shè)備標(biāo)識(shí),增加的“Test”服務(wù)的服務(wù)標(biāo)識(shí)、服務(wù)類型、服務(wù)名稱等。
步驟33,同圖2中步驟21,設(shè)備A上軟件在所提供的服務(wù)注冊(cè)接口被名稱為“Test1”的服務(wù)程序調(diào)用且成功處理后,進(jìn)行服務(wù)記錄,即記錄所增加的“Test1”服務(wù)的相關(guān)信息,相關(guān)信息至少包括服務(wù)類型、服務(wù)標(biāo)識(shí)、服務(wù)名稱、服務(wù)接口描述文檔信息等;步驟34,同圖2中步驟22,設(shè)備A同時(shí)向網(wǎng)絡(luò)多播地址259.255.255.2501900多播發(fā)送服務(wù)上線消息,在服務(wù)上線消息中至少包含A設(shè)備的設(shè)備標(biāo)識(shí),增加的“Test1”服務(wù)的服務(wù)標(biāo)識(shí)、服務(wù)類型、服務(wù)名稱等。
步驟35,設(shè)備C上軟件通過偵聽網(wǎng)絡(luò)多播地址259.255.255.2501900,接收到上述的上線消息,設(shè)備C的應(yīng)用程序通過調(diào)用軟件的資源查找接口,查找名稱為“Test”的服務(wù)程序;步驟36,設(shè)備C上的應(yīng)用程序通過軟件的資源查找接口向網(wǎng)絡(luò)多播地址259.255.255.2501900多播發(fā)送服務(wù)查找消息,服務(wù)查找消息中至少包含發(fā)起服務(wù)查找的設(shè)備C的設(shè)備標(biāo)識(shí)、應(yīng)用程序標(biāo)識(shí),以及查找條件,在查找條件中至少包含待查找的服務(wù)名稱或服務(wù)類型或服務(wù)所在設(shè)備標(biāo)識(shí)或者上述條件的組合。
步驟371,網(wǎng)絡(luò)中設(shè)備A上的軟件通過偵聽網(wǎng)絡(luò)多播地址259.255.255.2501900偵聽到服務(wù)查找消息,解析服務(wù)查找消息獲知服務(wù)查找條件及發(fā)起服務(wù)查找的設(shè)備C的設(shè)備標(biāo)識(shí)和應(yīng)用程序標(biāo)識(shí),通過對(duì)本設(shè)備A的服務(wù)記錄與服務(wù)查找條件的匹配,判斷本設(shè)備是否存在符合查找條件的服務(wù),由于其上注冊(cè)的服務(wù)名稱為“Test1”,不存在名稱為“Test”的服務(wù)程序,故不進(jìn)行響應(yīng)。
步驟372,網(wǎng)絡(luò)中設(shè)備B上的軟件通過偵聽網(wǎng)絡(luò)多播地址259.255.255.2501900偵聽到服務(wù)查找消息,解析服務(wù)查找消息獲知服務(wù)查找條件及發(fā)起服務(wù)查找的設(shè)備C的設(shè)備標(biāo)識(shí)和應(yīng)用程序標(biāo)識(shí),通過對(duì)本設(shè)備B的服務(wù)記錄與服務(wù)查找條件的匹配,判斷本設(shè)備B是否存在符合查找條件的服務(wù),由于其上注冊(cè)的服務(wù)名稱為“Test”,即存在名稱為“Test”的服務(wù)程序。
步驟38,設(shè)備B向發(fā)起服務(wù)查找的設(shè)備C單播發(fā)送服務(wù)查找響應(yīng)消息,服務(wù)查找響應(yīng)消息中至少包含“Test”服務(wù)所在設(shè)備B的設(shè)備標(biāo)識(shí),服務(wù)標(biāo)識(shí)、服務(wù)類型、服務(wù)名稱等。
參見圖4,圖中示出資源變化事件訂閱/通知過程。
步驟401,網(wǎng)絡(luò)中任一設(shè)備B上的某一應(yīng)用程序F可以通過調(diào)用其軟件的資源變化事件訂閱接口,使其軟件能向指定設(shè)備A上的相應(yīng)軟件發(fā)送訂閱的服務(wù)類型為“Printer”的資源變化事件訂閱請(qǐng)求消息;步驟402,設(shè)備B向設(shè)備A發(fā)送資源變化事件訂閱請(qǐng)求消息,該資源變化事件訂閱請(qǐng)求消息中至少包含該應(yīng)用程序感興趣的資源變化消息的匹配條件,在匹配條件中指明感興趣的資源類型(設(shè)備或服務(wù)),資源標(biāo)識(shí)(設(shè)備標(biāo)識(shí)或服務(wù)標(biāo)識(shí)),資源屬性(設(shè)備類型或服務(wù)類型),資源名稱(設(shè)備名稱或服務(wù)名稱)等。
步驟403,網(wǎng)絡(luò)中設(shè)備A上的軟件收到設(shè)備B發(fā)來的關(guān)于服務(wù)類型為“Printer”的資源變化事件訂閱請(qǐng)求消息時(shí),可以根據(jù)本設(shè)備當(dāng)前的處理能力或其它因素決定是否接受該事件訂閱,決定接受時(shí)進(jìn)行事件訂閱記錄并向設(shè)備B返回資源變化事件訂閱響應(yīng)消息。在該資源變化事件訂閱響應(yīng)消息中指明對(duì)訂閱請(qǐng)求的處理結(jié)果,包括成功(或失敗),訂閱成功時(shí)的訂閱標(biāo)識(shí)及訂閱有效時(shí)間等。
步驟404,同圖2中步驟21,設(shè)備C上軟件在所提供的服務(wù)注冊(cè)接口(或注銷接口)被某一服務(wù)程序G調(diào)用且成功處理后,進(jìn)行服務(wù)記錄(或服務(wù)刪除),即記錄所增加(或減少)服務(wù)的相關(guān)信息,該相關(guān)信息中的服務(wù)類型為“Printer”、服務(wù)名稱為“Test”,還包括服務(wù)標(biāo)識(shí)、服務(wù)接口描述文檔信息等;步驟405,同圖2中步驟22,設(shè)備C同時(shí)向網(wǎng)絡(luò)多播地址259.255.255.2501900多播發(fā)送服務(wù)上線(或下線)消息,在服務(wù)上線(或下線)消息中包含C設(shè)備的設(shè)備標(biāo)識(shí),增加(或減少)的服務(wù)標(biāo)識(shí)、服務(wù)類型“Printer”、服務(wù)名稱“Test”等。
步驟406,網(wǎng)絡(luò)中設(shè)備A上的軟件通過偵聽網(wǎng)絡(luò)多播地址259.255.255.2501900接收到服務(wù)上線(或下線)消息,應(yīng)該檢查本軟件中的事件訂閱記錄,檢查是否有與此服務(wù)“Printer”變化相應(yīng)的訂閱請(qǐng)求。
步驟407,存在與此服務(wù)“Printer”變化相應(yīng)的訂閱請(qǐng)求時(shí),則應(yīng)向訂閱記錄中的訂閱設(shè)備B發(fā)送相應(yīng)的資源變化事件通知信息,即向設(shè)備B發(fā)送相應(yīng)的服務(wù)上線(或下線)消息,在該服務(wù)上線(或下線)消息中指明發(fā)生變化的服務(wù)消息,該服務(wù)消息中可以包括服務(wù)類型“Printer”、服務(wù)標(biāo)識(shí)、服務(wù)名稱“Test”等。
步驟408,網(wǎng)絡(luò)中設(shè)備B上的軟件在接收到設(shè)備A對(duì)資源變化事件訂閱請(qǐng)求返回的訂閱成功響應(yīng)后,應(yīng)啟動(dòng)訂閱記錄維護(hù)過程,若某個(gè)訂閱記錄時(shí)間超過訂閱響應(yīng)中給出的訂閱有效時(shí)間時(shí),該訂閱記錄應(yīng)該被刪除。設(shè)備C上的應(yīng)用程序F通過軟件的資源變化事件通知接口獲知資源變化事件—“Printer”類型服務(wù)上線(或下線),就可使用(或停止使用)設(shè)備C上的相應(yīng)變化的服務(wù)資源。
步驟409,網(wǎng)絡(luò)中任一設(shè)備如設(shè)備B,通過其軟件的資源變化事件通知接口獲知其事件訂閱成功后,可以得到一個(gè)訂閱有效時(shí)間,在該有效時(shí)間內(nèi),應(yīng)用程序可以調(diào)用軟件的資源變化訂閱接口,使得其軟件向接受事件訂閱的設(shè)備A發(fā)送事件訂閱刷新請(qǐng)求消息,事件訂閱刷新請(qǐng)求消息中至少包含訂閱標(biāo)識(shí),應(yīng)用程序標(biāo)識(shí)等信息。
步驟410,網(wǎng)絡(luò)中任何一設(shè)備如設(shè)備A上的軟件收到事件訂閱刷新請(qǐng)求消息時(shí),應(yīng)檢查軟件中的事件訂閱記錄,檢查是否存在該記錄,并根據(jù)本設(shè)備的處理能力或其它因素決定是否接受事件訂閱刷新,并向發(fā)起訂閱刷新請(qǐng)求消息的設(shè)備B返回事件訂閱刷新響應(yīng)消息,在事件訂閱刷新響應(yīng)消息中至少包含訂閱標(biāo)識(shí),訂閱有效時(shí)間等信息。
參見圖5,以一家庭網(wǎng)絡(luò)說明本發(fā)明在動(dòng)態(tài)環(huán)境下的資源發(fā)現(xiàn)。一個(gè)家庭網(wǎng)絡(luò)中包括安裝了本發(fā)明中所述軟件的PC機(jī)、電視機(jī)和筆記本電腦,且筆記本、PC、電視通過無線對(duì)等網(wǎng)絡(luò)連接。PC、筆記本上分別安裝了基于本發(fā)明軟件的多媒體內(nèi)容提供服務(wù)程序,電視上則安裝了基于本發(fā)明軟件的多媒體內(nèi)容播放應(yīng)用程序。
當(dāng)PC、筆記本處于關(guān)機(jī)狀態(tài),而電視處于開機(jī)狀態(tài)時(shí),電視在網(wǎng)絡(luò)多播地址上偵聽網(wǎng)絡(luò)中的設(shè)備與服務(wù)上、下線消息。
當(dāng)PC啟動(dòng)并加入網(wǎng)絡(luò)后,PC上的多媒體內(nèi)容提供服務(wù)程序首先調(diào)用軟件的啟動(dòng)接口啟動(dòng)軟件,該軟件向網(wǎng)絡(luò)多播地址239.255.255.2501900多播發(fā)送設(shè)備上線消息,電視上的軟件則可以在相應(yīng)地址上偵聽到PC設(shè)備上線消息。該設(shè)備上線消息格式如表一中所示。
表一
多媒體內(nèi)容提供服務(wù)程序調(diào)用軟件的啟動(dòng)控制接口并成功后,即可調(diào)用軟件的注冊(cè)接口,注冊(cè)名稱為PCMediaDatabase,類型為MediaContentService的服務(wù),觸發(fā)軟件向網(wǎng)絡(luò)多播地址239.255.255.2501900發(fā)送服務(wù)上線消息,該服務(wù)上線消息的格式如表二所示。
表二
電視上的軟件在239.255.255.2501900多播地址上收到多媒體內(nèi)容提供服務(wù)上線消息后,即可通過資源變化通知接口通知多媒體內(nèi)容播放應(yīng)用程序,播放應(yīng)用程序即可向PC上的多媒體內(nèi)容提供服務(wù)程序發(fā)起程序調(diào)用,獲得PC上的多媒體文件列表,并通過電視界面向用戶顯示,進(jìn)而獲取用戶選定的文件進(jìn)行播放。
當(dāng)筆記本啟動(dòng)并進(jìn)入家庭網(wǎng)絡(luò)后,筆記本上的多媒體內(nèi)容提供服務(wù)程序調(diào)用軟件的啟動(dòng)控制接口并成功后,即可調(diào)用注冊(cè)接口,注冊(cè)名稱為NBMediaDatabase,類型為MediaContentService的服務(wù),觸發(fā)軟件向網(wǎng)絡(luò)多播地址239.255.255.2501900發(fā)送如表三所示的服務(wù)上線消息。
表三
電視上的軟件在239.255.255.2501900多播地址上收到筆記本的多媒體內(nèi)容服務(wù)上線消息后,即可通過資源變化通知接口通知多媒體內(nèi)容播放應(yīng)用程序,播放應(yīng)用程序即可向筆記本上的多媒體內(nèi)容提供服務(wù)程序發(fā)起程序調(diào)用,獲得筆記本上的多媒體文件列表,并通過電視界面向用戶顯示,用戶即可在PC和筆記本所提供的服務(wù)之間選擇感興趣的多媒體文件。
電視上的多媒體播放程序在需要時(shí)也可以調(diào)用軟件的資源查找接口查找網(wǎng)絡(luò)上存在的類型為MediaContentService的服務(wù),通過對(duì)資源查找接口的調(diào)用處理,軟件將向網(wǎng)絡(luò)地址239.255.255.2501900多播發(fā)送如表四所示的媒體內(nèi)容服務(wù)查找消息表四
筆記本和PC上的軟件通過偵聽多播地址接收到來自電視的媒體內(nèi)容服務(wù)查找消息后,經(jīng)過查找條件匹配即可向電視發(fā)送查找響應(yīng)消息。表五給出了筆記本給電視單播發(fā)送的服務(wù)查找響應(yīng)消息。
表五
參見圖6,以一辦公網(wǎng)絡(luò)說明本發(fā)明的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)。一個(gè)辦公室網(wǎng)絡(luò)中包括安裝了本發(fā)明軟件的一臺(tái)服務(wù)器、一臺(tái)打印機(jī)、一臺(tái)投影儀、和一臺(tái)筆記本,其中投影儀、筆記本通過無線局域網(wǎng)與接入點(diǎn)設(shè)備AP連接,AP、服務(wù)器、打印機(jī)通過有線以太網(wǎng)連接。筆記本上還安裝了基于本發(fā)明軟件的無線投影應(yīng)用程序和打印應(yīng)用程序,投影儀上則安裝了無線投影服務(wù)程序。
筆記本接入辦公網(wǎng)絡(luò)后,其上的無線投影應(yīng)用程序和打印應(yīng)用程序可以通過其軟件分別向服務(wù)器發(fā)起無線投影服務(wù)、打印服務(wù)的服務(wù)狀態(tài)變化事件訂閱請(qǐng)求,并獲得服務(wù)器的訂閱成功響應(yīng)。其中無線投影服務(wù)的服務(wù)狀態(tài)變化訂閱請(qǐng)求的消息格式如表六中所示,對(duì)該無線投影服務(wù)訂閱請(qǐng)求的響應(yīng)消息的格式如表七所示。
表六
表七
服務(wù)器在接收到筆記本發(fā)送的投影服務(wù)狀態(tài)變化訂閱請(qǐng)求消息和打印服務(wù)狀態(tài)變化訂閱請(qǐng)求消息并給出如表七所示的成功應(yīng)答后,則在服務(wù)器內(nèi)部創(chuàng)建相應(yīng)的事件訂閱記錄,如表八所示表八
當(dāng)投影儀、打印機(jī)啟動(dòng)并加入網(wǎng)絡(luò)后,投影儀、打印機(jī)上的服務(wù)程序分別調(diào)用各自設(shè)備上軟件的服務(wù)注冊(cè)接口分別注冊(cè)投影服務(wù)和打印服務(wù),進(jìn)行服務(wù)記錄,投影儀、打印機(jī)上的軟件則分別向網(wǎng)絡(luò)中多播發(fā)送投影服務(wù)、打印服務(wù)上線消息,其中投影服務(wù)上線的通知消息如表九所示。
表九
服務(wù)器接收投影服務(wù)和打印服務(wù)上線通知消息后通過查找內(nèi)部的事件訂閱記錄,發(fā)現(xiàn)存在對(duì)應(yīng)投影服務(wù)和打印服務(wù)的訂閱記錄,即向訂閱者一筆記本發(fā)送服務(wù)狀態(tài)變化通知消息。服務(wù)器向筆記本發(fā)送的投影服務(wù)上線通知消息格式如表十所示。
表十
筆記本上相應(yīng)的應(yīng)用程序通過軟件的資源變化通知接口即可收到由服務(wù)器發(fā)來的投影儀、打印機(jī)設(shè)備上線及投影服務(wù)和打印服務(wù)的上線通知,從而可以提示用戶可使用相應(yīng)資源。而當(dāng)投影儀、打印機(jī)上的投影服務(wù)和打印服務(wù)調(diào)用軟件的服務(wù)注銷接口后,投影儀、打印機(jī)上的軟件將向網(wǎng)絡(luò)中多播發(fā)送相應(yīng)的服務(wù)下線通知消息。服務(wù)器收到服務(wù)下線消息后,查找事件訂閱記錄,給筆記本上的應(yīng)用程序發(fā)送相應(yīng)的服務(wù)狀態(tài)變化通知消息。筆記本上的應(yīng)用程序通過軟件的資源變化通知接口即可收到服務(wù)器發(fā)送的投影服務(wù)和打印服務(wù)下線事件通知,從而可以提示用戶相應(yīng)資源不再可用。投影儀、打印機(jī)通過調(diào)用軟件的停止接口將向網(wǎng)絡(luò)中多播發(fā)送相應(yīng)的設(shè)備下線消息,服務(wù)器、筆記本上的應(yīng)用程序通過軟件的資源變化通知接口即可收到投影儀、打印機(jī)的設(shè)備下線通知,可以提示用戶相應(yīng)的投影、打印資源不再可用。
本發(fā)明的方法,在網(wǎng)絡(luò)設(shè)備上安裝支持動(dòng)態(tài)資源發(fā)現(xiàn)的軟件,設(shè)備上的服務(wù)、應(yīng)用程序通過調(diào)用軟件的軟件啟動(dòng)與停止控制接口、服務(wù)注冊(cè)與注銷接口、資源查找接口、資源變化訂閱接口和資源變化通知接口,并利用軟件的網(wǎng)絡(luò)調(diào)用接口—網(wǎng)絡(luò)多播地址,實(shí)現(xiàn)動(dòng)態(tài)發(fā)現(xiàn),為隨時(shí)隨地的在動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中的資源共享創(chuàng)造了基本條件。
權(quán)利要求
1.一種動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,其特征在于包括A.在每一個(gè)希望實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下資源發(fā)現(xiàn)的設(shè)備上安裝用于支持動(dòng)態(tài)資源發(fā)現(xiàn)的軟件,該軟件包括用于啟動(dòng)、停止軟件本身的啟動(dòng)控制接口、停止控制接口,用于監(jiān)測(cè)設(shè)備自身服務(wù)狀況的服務(wù)注冊(cè)、服務(wù)注銷接口,和用于發(fā)現(xiàn)資源的資源查找接口、資源變化訂閱接口及資源變化通知接口,該軟件的網(wǎng)絡(luò)調(diào)用接口在指定的多播地址上進(jìn)行偵聽和作出應(yīng)答;B.軟件啟動(dòng)后的設(shè)備在調(diào)用并處理所述的服務(wù)注冊(cè)接口時(shí),進(jìn)行服務(wù)記錄,并向所述的多播地址多播發(fā)送服務(wù)上線消息,該設(shè)備在調(diào)用并處理所述的服務(wù)注銷接口時(shí),刪除服務(wù)記錄,并向所述的多播地址多播發(fā)送服務(wù)下線消息;C.網(wǎng)絡(luò)上設(shè)備在多播地址上偵聽由其它設(shè)備發(fā)出的服務(wù)上線消息,由其上應(yīng)用程序調(diào)用并處理所述軟件的資源變化通知接口,獲得網(wǎng)絡(luò)上服務(wù)動(dòng)態(tài)變化信息,供設(shè)備上應(yīng)用程序向提供服務(wù)程序發(fā)起程序調(diào)用;和在需要時(shí),由其上應(yīng)用程序調(diào)用并處理所述軟件的資源查找接口,向所述的多播地址多播發(fā)送服務(wù)查找消息,該服務(wù)查找消息中包含查找條件,在多播地址上偵聽到查找消息的設(shè)備軟件,從服務(wù)記錄中找到符合查找條件的服務(wù),向發(fā)起服務(wù)查找的設(shè)備單播發(fā)送服務(wù)查找響應(yīng)。
2.根據(jù)權(quán)利要求1所述的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,其特征在于所述步驟B中的軟件啟動(dòng),是設(shè)備在調(diào)用并處理所述的啟動(dòng)控制接口時(shí),啟動(dòng)所述的自身軟件并向網(wǎng)絡(luò)上的多播地址多播發(fā)送設(shè)備上線消息;該設(shè)備在調(diào)用并處理所述的停止控制接口時(shí),停止所述的自身軟件并向網(wǎng)絡(luò)上的多播地址多播發(fā)送設(shè)備下線消息。
3.根據(jù)權(quán)利要求2所述的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,其特征在于所述的設(shè)備上線消息、設(shè)備下線消息中,至少包括該設(shè)備的設(shè)備標(biāo)識(shí)、設(shè)備名稱、及設(shè)備的其它必備屬性信息
4.根據(jù)權(quán)利要求1所述的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,其特征在于所述步驟B中進(jìn)行服務(wù)記錄與刪除服務(wù)記錄,該服務(wù)記錄至少包括服務(wù)類型、服務(wù)標(biāo)識(shí)、服務(wù)名稱、和服務(wù)接口描述文檔信息。
5.根據(jù)權(quán)利要求1所述的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,其特征在于所述步驟B中發(fā)送服務(wù)上線消息和服務(wù)下線消息,該服務(wù)上、下線消息中包括該設(shè)備的設(shè)備標(biāo)識(shí)、增加或減少的服務(wù)標(biāo)識(shí)、服務(wù)類型和服務(wù)名稱。
6.根據(jù)權(quán)利要求1所述的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,其特征在于所述步驟C中的服務(wù)查找消息,還包括發(fā)起服務(wù)查找設(shè)備的設(shè)備標(biāo)識(shí)和應(yīng)用程序標(biāo)識(shí);所述的查找條件包括待查找的服務(wù)名稱或服務(wù)類型或服務(wù)所在設(shè)備標(biāo)識(shí)或上述各項(xiàng)的組合;所述的服務(wù)查找響應(yīng),包括服務(wù)所在設(shè)備標(biāo)識(shí)、服務(wù)標(biāo)記、服務(wù)類型和服務(wù)名稱。
7.根據(jù)權(quán)利要求1所述的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,其特征在于進(jìn)一步包括D.所述設(shè)備在調(diào)用并處理所述的資源變化訂閱接口時(shí),向指定設(shè)備的所述軟件發(fā)送資源變化事件訂閱的請(qǐng)求消息,接收到該請(qǐng)求消息的指定設(shè)備在決定接收事件訂閱時(shí)進(jìn)行事件訂閱記錄,該指定設(shè)備在多播地址上偵聽由其它設(shè)備發(fā)出的服務(wù)上線或下線消息時(shí)還查找事件訂閱記錄,當(dāng)發(fā)現(xiàn)有符合訂閱記錄的服務(wù)上線或下線時(shí),向事件訂閱請(qǐng)求設(shè)備發(fā)送服務(wù)增加或減少的動(dòng)態(tài)變化通知消息。
8.根據(jù)權(quán)利要求7所述的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,其特征在于所述步驟D中,所述資源變化事件訂閱的請(qǐng)求消息中至少包括資源變化消息的匹配條件,該匹配條件包括設(shè)備或服務(wù)的資源類型、設(shè)備或服務(wù)的資源標(biāo)識(shí)、設(shè)備或服務(wù)的資源屬性、和設(shè)備或服務(wù)的資源名稱。
9.根據(jù)權(quán)利要求7所述的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,其特征在于所述步驟D中,所述的接收到資源變化事件訂閱請(qǐng)求的設(shè)備還向事件訂閱請(qǐng)求設(shè)備返回資源變化事件訂閱的響應(yīng)消息,該響應(yīng)消息中包含對(duì)請(qǐng)求或成功或失敗的處理結(jié)果,在請(qǐng)求成功時(shí)該響應(yīng)消息中還包括訂閱標(biāo)識(shí)和訂閱有效時(shí)間。
10.根據(jù)權(quán)利要求9所述的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,其特征在于所述步驟D中,所述的接收到資源變化事件訂閱請(qǐng)求的設(shè)備在向事件訂閱請(qǐng)求設(shè)備返回資源變化事件訂閱成功的響應(yīng)消息后,啟動(dòng)一訂閱記錄維護(hù)過程,在訂閱記錄超過響應(yīng)消息中給出的該訂閱的有效時(shí)間時(shí)刪除所述的訂閱記錄。
11.根據(jù)權(quán)利要求9所述的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,其特征在于所述步驟D中,所述的接收到資源變化事件訂閱請(qǐng)求的設(shè)備在向事件訂閱請(qǐng)求設(shè)備返回資源變化事件訂閱成功的響應(yīng)消息后,在響應(yīng)消息給出的訂閱有效時(shí)間內(nèi),事件訂閱請(qǐng)求設(shè)備上的應(yīng)用程序調(diào)用所述軟件的網(wǎng)絡(luò)調(diào)用接口,向接收到資源變化事件訂閱請(qǐng)求的設(shè)備發(fā)送事件訂閱刷新請(qǐng)求消息;接收到事件訂閱刷新請(qǐng)求消息的設(shè)備檢查事件訂閱記錄,有記錄并決定接收時(shí),向發(fā)起事件訂閱刷新請(qǐng)求消息的設(shè)備返回事件訂閱刷新響應(yīng)消息。
12.根據(jù)權(quán)利要求11所述的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,其特征在于所述的刷新請(qǐng)求消息中至少包括訂閱標(biāo)識(shí)、應(yīng)用程序標(biāo)識(shí),所述的刷新響應(yīng)消息中至少包括訂閱標(biāo)識(shí)和訂閱有效時(shí)間。
全文摘要
本發(fā)明涉及一種適用于動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的資源發(fā)現(xiàn)方法,在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)處于高度不穩(wěn)定狀態(tài)下發(fā)現(xiàn)網(wǎng)絡(luò)資源進(jìn)而實(shí)現(xiàn)共享。在網(wǎng)絡(luò)中的物理設(shè)備上安裝一個(gè)支持設(shè)備動(dòng)態(tài)資源發(fā)現(xiàn)的軟件,該軟件包括用于啟動(dòng)、停止軟件本身的啟動(dòng)、停止控制接口,用于監(jiān)測(cè)設(shè)備自身服務(wù)狀況的服務(wù)注冊(cè)、注銷接口,和用于發(fā)現(xiàn)資源的資源查找、資源變化訂閱及資源變化通知接口,該軟件的網(wǎng)絡(luò)調(diào)用接口在指定的多播地址上進(jìn)行偵聽和作出應(yīng)答。該軟件通過調(diào)用并處理上述接口,監(jiān)測(cè)設(shè)備的工作狀態(tài)及資源變更狀態(tài)。不同設(shè)備上的軟件間通過組播查找、相應(yīng)的單播應(yīng)答,以及資源變化事件訂閱與通知,實(shí)現(xiàn)網(wǎng)絡(luò)資源的動(dòng)態(tài)發(fā)現(xiàn)。在網(wǎng)絡(luò)中沒有資源管理設(shè)備時(shí)無需遍歷整個(gè)網(wǎng)絡(luò)。
文檔編號(hào)H04L12/28GK1691622SQ200410037709
公開日2005年11月2日 申請(qǐng)日期2004年4月28日 優(yōu)先權(quán)日2004年4月28日
發(fā)明者黃景楠, 羅予晉, 劉洋 申請(qǐng)人:聯(lián)想(北京)有限公司