欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

UPnP設(shè)備之間的遠程訪問的制作方法

文檔序號:7735026閱讀:452來源:國知局
專利名稱:UPnP設(shè)備之間的遠程訪問的制作方法
UPnP設(shè)備之間的遠程訪問
背景技術(shù)
通用即插即用(UPnP)技術(shù)建立允許聯(lián)網(wǎng)UPnP設(shè)備彼此交互的協(xié)議。有了 UPnP, 設(shè)備可以動態(tài)地加入網(wǎng)絡(luò)、獲得網(wǎng)際協(xié)議(IP)地址、傳達其能力、并獲知其它設(shè)備的在場 和能力。設(shè)備隨后可直接彼此通信,從而能夠發(fā)現(xiàn)并控制設(shè)備。可被配置成實現(xiàn)UPnP協(xié)議 的設(shè)備的示例包括計算機、服務(wù)器、打印機、電話、數(shù)碼相機、錄像機、因特網(wǎng)個人電器、或個 人數(shù)字助理。通常,一個UPnP設(shè)備用作控制點并且另一 UPnP設(shè)備將服務(wù)展示給該控制點。控 制點是局域網(wǎng)(LAN)上調(diào)用服務(wù)上的動作的實體。例如,控制點可請求將數(shù)據(jù)傳送到控制 點的服務(wù)。UPnP設(shè)備的不同類別與不同的服務(wù)集和嵌入式設(shè)備相關(guān)聯(lián)。例如,DVD播放器 中的服務(wù)與打印機中的服務(wù)不同。特定設(shè)備提供的服務(wù)集以及與該特定設(shè)備相關(guān)聯(lián)的屬性 列表被稱為該設(shè)備必須主存的設(shè)備和服務(wù)內(nèi)描述文檔。較佳地,這些描述文檔用可擴展標(biāo) 記語言(XML)來編寫。由于UPnP服務(wù)發(fā)現(xiàn)和事件管理(eventing)機制的本質(zhì),UPnP技術(shù)受到限制,因 為其只能應(yīng)用于連接到支持多播的很好地控制的LAN環(huán)境的UPnP設(shè)備。S卩,UpnP不允許 設(shè)備跨諸如例如因特網(wǎng)中出現(xiàn)的網(wǎng)絡(luò)邊界彼此訪問。隨著諸如便攜式計算機等的便攜式聯(lián)網(wǎng)設(shè)備的越來越普及,通常位于同一網(wǎng)絡(luò)上 的設(shè)備可能變?yōu)榉珠_的。例如,可訪問家里的基于UPnP的打印機或媒體服務(wù)器的膝上型計 算機將無法在該膝上型計算機位于諸如例如咖啡店等遠程位置時訪問這些設(shè)備。提供本背景來介紹以下概述和詳細描述的簡要上下文。本背景不旨在幫助確定所 要求保護的主題的范圍,也不旨在被看作將所要求保護的主題限于解決以上所提出的問題 或缺點中的任一個或全部的實現(xiàn)。發(fā)明概述提供了一種用于允許通用即插即用(UPnP)技術(shù)在因特網(wǎng)或其他廣域通信網(wǎng)絡(luò)上 使用的方法。在一個說明性示例中,第一啟用UPnP的設(shè)備將諸如流媒體等UPnP服務(wù)通過 因特網(wǎng)提供給各個用戶。第一啟用UPnP的設(shè)備向諸如Windows Live等在線身份提供者提 供被授權(quán)從遠程位置訪問第一啟用UPnP的設(shè)備的那些用戶的用戶ID。當(dāng)用戶希望從第一 啟用UPnP的設(shè)備接收UPnP服務(wù)時,用戶使用他的用戶ID來登錄到在線身份提供者并從在 線提供者接收與第一啟用UPnP的設(shè)備相關(guān)聯(lián)的IP地址。用戶的媒體播放器或其他應(yīng)用程 序根據(jù)該IP地址來構(gòu)造URL并聯(lián)系該URL處的啟用UPnP的設(shè)備。啟用UPnP的設(shè)備向用 戶提供其上可用的媒體庫的列表。最后,用戶的媒體播放器可使用可從該媒體庫獲得的內(nèi) 容或其他信息來調(diào)用所需UPnP服務(wù)。在另一說明性示例中,關(guān)于第一啟用UPnP的設(shè)備的聯(lián)系信息在通過因特網(wǎng)遠程 地訪問第一啟用UPnP的設(shè)備的第二啟用UPnP的設(shè)備上預(yù)先提供。以此方式,消除了對在 線第三方的需求。在一個特定實現(xiàn)中,聯(lián)系信息被合并在第一啟用UPnP的設(shè)備的設(shè)備描述 文檔中,該文檔本身在第二啟用UPnP的設(shè)備上預(yù)先提供。提供本概述是為了以簡化的形式介紹將在以下詳細描述中進一步描述的一些概念。本概述不旨在標(biāo)識所要求保護的主題的關(guān)鍵特征或本質(zhì)特征,也不旨在用于幫助確定 所要求保護的主題的范圍。本發(fā)明的其它特征和優(yōu)點在參考附圖繼續(xù)閱讀以下對實施例的 詳細描述后將變得顯而易見。附圖簡述

圖1是支持通用即插即用(UPnP)移動設(shè)備上的UPnP應(yīng)用程序的體系結(jié)構(gòu)的一個 示例的高級框圖。圖2示出典型的UPnP協(xié)議棧。圖3示出其中多個UPnP設(shè)備彼此嵌套或嵌入的安排的一個示例。詳細描述圖1是支持通用即插即用(UPnP)移動設(shè)備110上的UPnP應(yīng)用程序的體系結(jié)構(gòu)的 一個示例的高級框圖。在該示例中駐留在同一房屋上的UPnP設(shè)備130、131和132通過LAN 112彼此通信。UPnP設(shè)備130、131和132可通過LAN 112根據(jù)常規(guī)UPnP協(xié)議彼此訪問。提供用于建立連接到LAN 112和通信網(wǎng)絡(luò)或支持多個數(shù)據(jù)通信協(xié)議的WAN 105的 設(shè)備之間的通信的網(wǎng)絡(luò)網(wǎng)關(guān)121。這種通信網(wǎng)絡(luò)通常是異構(gòu)網(wǎng)絡(luò),即由多個邏輯網(wǎng)絡(luò)構(gòu)成的 物理網(wǎng)絡(luò)。這種網(wǎng)絡(luò)的一個示例是因特網(wǎng)。移動設(shè)備110通過使用諸如例如IEEE 802.11 等合適協(xié)議的無線鏈路與異構(gòu)網(wǎng)絡(luò)105進行通信。根據(jù)以下描述的各技術(shù),移動設(shè)備110可 與使用UPnP協(xié)議的UPnP設(shè)備130、131和132中的任一個進行通信。在一個特定實現(xiàn)中, UPnP設(shè)備130、131和132中的一個是流媒體服務(wù)器而移動設(shè)備110是接收流傳輸內(nèi)容并使 用諸如微軟公司的Windows Media Player、蘋果公司的Quicktime以及RealNetworks公司 的RealOne播放器等呈現(xiàn)應(yīng)用程序來呈現(xiàn)該流傳輸內(nèi)容的膝上型計算機。雖然膝上型計算 機和流媒體服務(wù)器在以下討論中不時地被引用,但是此處描述的各方法和技術(shù)更一般地適 用于希望彼此建立遠程連接的任意兩個UPnP設(shè)備。應(yīng)該注意,在某些情況下,單個流媒體 服務(wù)器可實現(xiàn)多個UPnP設(shè)備,對服務(wù)器的每一用戶有一個。每一 UPnP設(shè)備共享該用戶的 媒體庫。在其他情況下,多個UPnP設(shè)備按照以下結(jié)合圖3將描述的方式來嵌套。UPnP設(shè)備130、131和132以及移動設(shè)備110實現(xiàn)諸如圖2中示出的UPnP協(xié)議 棧。該協(xié)議棧包括TCP/IP網(wǎng)絡(luò)協(xié)議棧10、HTTP層18、HTTPU (用戶數(shù)據(jù)報協(xié)議(UDP)上的 HTTP單播)層20、HTTPMU(UDP上的HTTP多播)層22、SSDP(簡單服務(wù)發(fā)現(xiàn)協(xié)議)層24、 GENA (通用事件通知體系結(jié)構(gòu))層26、SOAP (簡單對象訪問協(xié)議)層28、UPnP設(shè)備體系結(jié) 構(gòu)定義層30、UPnP論壇工作委員會定義層32和UPNP廠商定義層34。TCP/IP協(xié)議棧10包 括IP層16、TCP層14和UDP層12。TCP/IP聯(lián)網(wǎng)協(xié)議棧10用作其上構(gòu)建其余UPnP協(xié)議的 基礎(chǔ)。UPnP設(shè)備可使用TCP/IP協(xié)議套件中的許多協(xié)議,包括TCP、UDP、IGMP (因特網(wǎng)組播 協(xié)議)、ARP (地址解析協(xié)議)和IP以及諸如DHCP (動態(tài)主機配置協(xié)議)和DNS (域名系統(tǒng)) 等TCP/IP服務(wù)。TCP/IP為UPnP設(shè)備之間的網(wǎng)絡(luò)連接提供了基礎(chǔ)協(xié)議棧。移動設(shè)備110或UPnP設(shè)備130-132可用作到UPnP服務(wù)的控制點。如上所述,UPnP 控制點(CP)調(diào)用UPnP服務(wù)上的動作??刂泣c可發(fā)現(xiàn)設(shè)備、檢索設(shè)備和服務(wù)描述、調(diào)用服務(wù) 上的動作、查詢狀態(tài)變量、從服務(wù)接收事件以及其他類似任務(wù)。如果UPnP設(shè)備130-132中 的一個是流媒體服務(wù)器,則移動設(shè)備110用作從該服務(wù)器接收并呈現(xiàn)流媒體的控制點。如圖3所示且如上所述,在某些情況下,每一啟用UPnP的設(shè)備可包括一個或多個 服務(wù)和可任選的嵌套(即,嵌入式)設(shè)備和服務(wù)的容器,而不是具有實現(xiàn)多個UPnP設(shè)備的單個機器。例如,UPnP設(shè)備90包括提供兩個服務(wù)94和96的單個設(shè)備92,而UPnP設(shè)備98 包括提供服務(wù)102的單個設(shè)備100,而UPnP設(shè)備104包括提供服務(wù)108和提供服務(wù)112和 114的嵌入式設(shè)備110的根設(shè)備106。不同類別的UPnP設(shè)備與不同的服務(wù)集和嵌入式設(shè)備 相關(guān)聯(lián)。標(biāo)識給定設(shè)備、其服務(wù)和任何嵌入式設(shè)備及其服務(wù)的信息由該設(shè)備主存的XML描 述文檔來提供。UPnP網(wǎng)絡(luò)中的最小控制單元是服務(wù)。服務(wù)展示動作并用狀態(tài)變量對其狀態(tài)進行建 模。例如,時鐘服務(wù)可被建模為具有定義時鐘的狀態(tài)的狀態(tài)變量,即當(dāng)前時間和允許控制服 務(wù)的兩個動作即設(shè)置時間和獲得時間。與設(shè)備描述類似,服務(wù)信息是由UPnP論壇標(biāo)準(zhǔn)化的 XML服務(wù)描述的一部分。指向這些服務(wù)描述的指針(例如,URL)包含在服務(wù)描述文檔內(nèi)。如前所述,UPnP網(wǎng)絡(luò)中的控制點是能夠發(fā)現(xiàn)并控制其他設(shè)備的控制器。例如,如圖 3所示,控制點包括如控制點114所描繪的用于控制其他設(shè)備的設(shè)備(例如,PC 38)以及如 控制點117所描繪的可由其他設(shè)備控制的設(shè)備中的控制器。在發(fā)現(xiàn)設(shè)備之后,控制點可以 檢索設(shè)備描述并獲得相關(guān)聯(lián)的服務(wù)列表;檢索感興趣的服務(wù)的服務(wù)描述;調(diào)用動作來控制 服務(wù);和/或訂閱服務(wù)的事件源。發(fā)現(xiàn)過程假定要被發(fā)現(xiàn)的設(shè)備已經(jīng)獲得一 IP地址。在討論了發(fā)現(xiàn)過程本身之后, 下面將討論通過異構(gòu)網(wǎng)絡(luò)的UPnP訪問的上下文中的獲得IP地址的方式。發(fā)現(xiàn)UPnP設(shè)備涉 及在網(wǎng)絡(luò)上搜索來尋找滿足控制點始發(fā)的搜索準(zhǔn)則的至少一個設(shè)備。作為響應(yīng),匹配搜索 準(zhǔn)則的UPnP設(shè)備的統(tǒng)一資源定位符(URL)隨后被發(fā)送到該控制點。該控制點隨后使用這 一 URL來檢索設(shè)備或服務(wù)描述文檔。設(shè)備描述文檔用XML來表達并且通常包含設(shè)備信息, 諸如制造商的名稱、設(shè)備的型號、序列號、設(shè)備提供的服務(wù)列表以及嵌入式設(shè)備列表等。設(shè) 備描述文檔還包含用于呈現(xiàn)設(shè)備和列舉所有服務(wù)的URL,包括用于控制和事件管理的URL。 下表示出設(shè)備描述文檔的一個示例,斜體的占位符用于與設(shè)備描述對應(yīng)的實際元素和值。<" ? xml version = “ 1.0" ‘ ? ><root xmlns = “ urn:schemas-upnp-org:device-l-O〃 ><specVersion><mmor>l</major><mmor>0</mmor></specVersion><URLBase> 所有相關(guān) URL 的基礎(chǔ) URL</URLBase>〈device〉<deviceType>urn:schemas-upnp-org:device. deviceType:v</deviceType><friendlyName> 用戶友好的短標(biāo)題 </friendlyName>Manufacturer) IlJitlti名禾爾 </manufacturer><manufacturerURL> 到制造商站點的 URL</manufacturerURL><modelDescription> ffl^if WixfeH </modelDescription><mo del Name)模型名稱 </mode IName ><modelNumber> 型號 </modelNumber><modelURL> 到模型站點的 URL</modelURL>
<serialNumber> 制造商的序列號 </serialNumber><UDN>uuid:UUID</UDN><UPC>通用產(chǎn)品代碼</UPC><iconList><icon><mimetype> 圖像 / 格式 </mimetype><width> 水平像素 </width>〈height〉垂直像素〈/height〉<depth> 色深度 <depth><url> 到圖標(biāo)的 URL</url></icon>聲明其他圖標(biāo)的XML (如果存在)放在這里</iconList><serviceList><service><serviceType>urn schemas-upnp-org:service:serviceType:v</serviceType><serviceld>urn:upnp-org:serviceld:serviceld</ serviceld><SCPDURL> 用于控制的 URL</controlURL><controlURL> 用于事件管理的 URL</eventSubURL></service>UPnP論壇工作委員會定義的其他服務(wù)的聲明(如果存在)放 在這里UPnP廠商添加的其他服務(wù)的聲明(如果存在)放在這里</serviceList><deviceList>UPnP論壇工作委員會定義的嵌入式設(shè)備的描述(如果存在)放在 這里UPnP廠商添加的嵌入式設(shè)備的描述(如果存在)放在這里</deviceList><presentationURL> 用于呈現(xiàn)的 URL</presentationURL>〈/device〉</root>如前所述,常規(guī)UPnP發(fā)現(xiàn)過程假定UPnP設(shè)備通過單個很好地控制的LAN環(huán)境來 連接。常規(guī)UPnP發(fā)現(xiàn)過程不允許UPnP設(shè)備當(dāng)其在不同網(wǎng)絡(luò)上時發(fā)現(xiàn)彼此。例如,在圖1 中,移動設(shè)備110不能使用常規(guī)UPnP發(fā)現(xiàn)過程來發(fā)現(xiàn)UPnP設(shè)備130、131和132中的任一 個。在一個實現(xiàn)中,對常規(guī)UPnP發(fā)現(xiàn)過程的這種限制可以在諸如圖1中示出的在線身份提供者140等第三方的幫助下克服。希望向移動設(shè)備110提供UPnP服務(wù)的UPnP設(shè)備 130,131和132中的任一個需要向在線身份提供者140注冊。出于說明的目的,假定UPnP 設(shè)備130是希望將流媒體服務(wù)提供給移動設(shè)備110的流媒體服務(wù)器。在這種情況下,UPnP 設(shè)備130向在線身份提供者140注冊,并且在線身份提供者140進而將此處被稱為機器ID 的標(biāo)識符分配到UPnP設(shè)備130。在線身份提供者140可由任何適當(dāng)方作為在線服務(wù)來提供。這種服務(wù)的一個示例 是Windows Live提供的服務(wù),Windows Live可提供可用作機器ID的Windows Live ID。類 似地,Google也可提供類似的服務(wù),該服務(wù)向UPnP設(shè)備130提供可用作機器ID的Google ID。事實上,在某些情況下,UPnP設(shè)備可具有多個機器ID,每一個由不同的在線身份提供者 140提供。UPnP設(shè)備130維護被授權(quán)通過諸如移動設(shè)備110等遠程設(shè)備從其接收UPnP服務(wù) 的每一遠程用戶所采用的用戶ID的列表。應(yīng)該注意,用戶ID被分配到各個用戶而非用戶 用來與UPnP設(shè)備進行通信的各個設(shè)備。用戶ID可以是對于用戶而言方便的任何ID。在某 些情況下,該用戶ID可以是用戶已經(jīng)出于其他目的而采用的ID,諸如例如Hotmail ID。UPnP設(shè)備130將其用戶ID的列表提供給在線身份提供者140。UPnP設(shè)備還向在 線身份提供者140發(fā)布其IP地址中的一個或多個。使用用戶ID允許UPnP設(shè)備130將對 UPnP設(shè)備130的訪問僅限于授權(quán)的用戶。然而在某些實現(xiàn)中,用戶ID可能不是必須的。例 如,在某些實現(xiàn)中,可以將機器ID (或與其對應(yīng)的IP地址)提供給請求該ID的任何用戶。在操作中,當(dāng)授權(quán)用戶希望從UPnP設(shè)備130接收流媒體(或另一 UPnP服務(wù))時, 用戶使用他的用戶ID來登錄到在線身份提供者140。一旦登錄,要接收遠程UPnP服務(wù)的應(yīng) 用程序,諸如在流媒體服務(wù)情況下的流媒體播放器,向在線身份提供者140查詢該用戶被 授權(quán)訪問的機器ID的列表。當(dāng)然,用戶將只接收先前已經(jīng)通知在線身份提供者140該用戶 事實上是授權(quán)用戶的那些UPnP設(shè)備的機器ID (在不需要用戶ID的那些實現(xiàn)中,可以向請 求該ID的任何用戶而非僅僅授權(quán)用戶提供機器ID)。應(yīng)用程序選擇一個機器ID并請求在 線身份提供者140提供對應(yīng)于該機器ID的一個或多個IP地址。給定要提供UPnP服務(wù)的UPnP設(shè)備130的IP地址,應(yīng)用程序按某種預(yù)定 方式從中構(gòu)建URL。例如,如果IP地址是10. 1.2.3,則應(yīng)用程序可將URL構(gòu)造為 https://10. 1. 2. 3:10245/WMPNSSv4/Libraryhfo。該 URL 允許用戶訪問 UPnP 設(shè)備上可用 的媒體庫列表。應(yīng)用程序接著將GET或POST請求發(fā)送到該URL,并且UPnP設(shè)備130用列舉 了該服務(wù)器上可用的各個媒體庫的XML文檔來響應(yīng)。對于每一媒體庫,存在一個或多個遠 程URL。應(yīng)用程序隨后可連接到每一遠程URL來調(diào)用該UPnP服務(wù)。在另一實現(xiàn)中,常規(guī)UPnP發(fā)現(xiàn)過程的限制可在不需要在線服務(wù)提供者的情況下 克服。然而,在這種情況下,希望實現(xiàn)遠程UPnP訪問的UPnP設(shè)備需要先前已經(jīng)通過諸如圖 1中的LAN 112等同一網(wǎng)絡(luò)彼此通信。這個約束是日常情況中常常遇到的約束。例如,如果 移動設(shè)備110是膝上型計算機并且UPnP設(shè)備130、131和132中的一個是流媒體服務(wù)器,則 有時將在同一房屋上使用膝上型計算機來通過LAN 112從服務(wù)器接收流媒體。當(dāng)然,在某 一稍后時間,用戶可能希望從遠程位置使用膝上型計算機,這需要其通過因特網(wǎng)或其他異 構(gòu)網(wǎng)絡(luò)訪問流媒體服務(wù)器。當(dāng)膝上型計算機和流媒體服務(wù)器首先根據(jù)UPnP協(xié)議通過LAN彼此建立通信時,他們可交換允許他們隨后通過異構(gòu)網(wǎng)絡(luò)遠程地執(zhí)行發(fā)現(xiàn)過程的信息。即,該信息在設(shè)備上預(yù) 先提供。該信息包括在膝上型計算機上預(yù)先提供的聯(lián)系信息(例如,名稱或其他標(biāo)識符)。 在稍后時間,膝上型計算機在其想要通過異構(gòu)網(wǎng)絡(luò)建立UPnP連接時可使用該信息來尋找 媒體服務(wù)器的IP地址。在一個示例中,聯(lián)系信息被包括在設(shè)備描述文檔中。因為膝上型計算機和媒體服 務(wù)器先前已經(jīng)通過LAN建立了本地UPnP連接,所以膝上型計算機在其想要通過因特網(wǎng)建立 遠程UPnP連接時將已經(jīng)擁有該文檔。例如,“遠程訪問URL”可被包括在設(shè)備描述文檔中。 該URL可指定應(yīng)該用于從遠程位置到媒體服務(wù)器的任何UPnP連接的“前綴”(例如,基礎(chǔ) URL)。另選地,聯(lián)系信息可包括媒體服務(wù)器的IP地址和端口號。除了提供適當(dāng)?shù)穆?lián)系地址 之外,設(shè)備描述文檔中僅僅出現(xiàn)遠程訪問URL指示媒體服務(wù)器實際上支持遠程UPnP連接。 當(dāng)然,設(shè)備描述文檔中出現(xiàn)遠程訪問URL不保證媒體服務(wù)器實際上正在接受來自遠程位置 的傳入連接,因為這個特征可能已經(jīng)被用戶關(guān)閉??杀话ㄔ谠O(shè)備描述文檔中的句法的一般形式如下<remoteConfig><remoteUrl>https//smith-residence, example, com:10245/WMPNSSv4/libraryl 123/</remoteUrl><remoteUrl>https://10. 1. 2. 3:10245/WMPNSSv4/libraryl 123/</remoteUrl></remoteConfig>在該示例中,句法示出可被包括在設(shè)備描述文檔中的兩個“遠程訪問URL”。當(dāng)客戶機發(fā)送獲得遠程庫的列表的請求時,服務(wù)器所返回的XML文檔可能具有以 下句法<server><library〉<UDN>該UPnP設(shè)備的唯一設(shè)備名稱</UDN><friendlyName> 該 WnP 設(shè)備的人類可讀名稱 </friendlyName><remoteUrl>https//smith-residence, example, com:10245/WMPNSSv4/libraryl 123/</remoteUrl><remoteUrl>https://10. 1. 2. 3:10245/WMPNSSv4/libraryl 123/</remoteUrl></library><librarv><UDN>該UPnP設(shè)備的唯一設(shè)備名稱<UDN><friendlyName> 該 WnP 設(shè)備的人類可讀名稱 </friendlyName><remoteUrl>
https//smith-residence, example, com:10245/WMPNSSv4/libraryl 124/</remoteUrl><remoteUrl>https://10. 1. 2. 3:10245/WMPNSSv4/libraryl 124/</remoteUrl></library></server>在該示例中,媒體服務(wù)器實現(xiàn)兩個UPnP設(shè)備,其中每一個設(shè)備共享媒體庫。對 于每一媒體庫,存在兩個“遠程URL”。除T “UDN”、"friendlyName (友好名稱)”和 "remoteUrl (遠程Url),,之外,可以有其他XML標(biāo)簽。例如,也可包括諸如“modelName (模 型名稱)”、“modelNumber (型號)”和“serialNumber (序列號)”等標(biāo)簽。其中UPnP設(shè)備的遠程訪問通過在遠程設(shè)備上預(yù)先提供信息來完成的實現(xiàn)可由其 本身使用或者作為對其中采用在線身份提供者的實現(xiàn)的附屬或補充。例如,可用于提供附 加IP地址或者如果在線身份提供者緩慢或不可用時預(yù)先提供可用作備份進程。在移動設(shè)備110試圖與位于諸如LAN 112等專用網(wǎng)絡(luò)上的UPnP設(shè)備建立遠程連 接時產(chǎn)生的另一問題是UPnP設(shè)備可能具有只對連接到該專用網(wǎng)絡(luò)的其他設(shè)備可用的專用 (非全局唯一)IP地址。作為結(jié)果,移動設(shè)備110將不能找到連接到專用網(wǎng)絡(luò)的UPnP設(shè)備 的適當(dāng)?shù)腎P地址。克服該問題的方式可通過回頭參考圖1來說明。如圖所示,網(wǎng)絡(luò)地址轉(zhuǎn) 換器(NAT) 205與網(wǎng)關(guān)121相關(guān)聯(lián)。NAT 205具有對連接到公共異構(gòu)網(wǎng)絡(luò)105的設(shè)備可用的 公共IP地址。NAT 205還將專用IP地址分配到連接到LAN 112的任何設(shè)備,諸如UPnP設(shè) 備130-132。NAT 205被設(shè)計成通過使專用網(wǎng)絡(luò)(例如,LAN 112)能夠使用非注冊(專用) IP地址來進行IP地址簡化和轉(zhuǎn)換。NAT 205用作將專用網(wǎng)絡(luò)與公共網(wǎng)絡(luò)連接到一起的路由 器。NAT 205將LAN 112中使用的專用地址轉(zhuǎn)換成公共IP地址。作為該功能的一部分,NAT 205可被配置成只將一個公共地址廣告給異構(gòu)網(wǎng)絡(luò)105,該公共地址表示整個LAN 112。只要分組被轉(zhuǎn)發(fā)給對LAN 112外置的設(shè)備,NAT 205分配端口并為所分配的端口 提供單個外部連接。為了執(zhí)行該操作,NAT 205將連接到LAN 112的UPnP和其他設(shè)備的地 址和端口信息存儲在路由表中。NAT 205從公共異構(gòu)網(wǎng)絡(luò)接收分組并將所接收的分組中的 目的地地址和端口號與路由表中的進行比較。NAT 205將分組中繼到連接到LAN并與該目 的地地址和端口號對應(yīng)的設(shè)備。雖然UPnP設(shè)備可以采用任何適當(dāng)?shù)腘AT技術(shù)來執(zhí)行網(wǎng)絡(luò)地址轉(zhuǎn)換,但特別合適的 技術(shù)是在RFC 4380中描述的Teredo。特別地,Teredo是有利的,因為其允許位于網(wǎng)際協(xié)議 第4版(IPv4)的NAT之后的具有網(wǎng)際協(xié)議第6版(IPv6)能力的設(shè)備與具有IPv6能力的 外部設(shè)備進行通信。使用NAT來將專用IP地址映射到公共IP地址需要移動設(shè)備知道該NAT的IP地 址。然而,因特網(wǎng)服務(wù)供應(yīng)商分配到NAT的公共IP地址可能改變。因此,移動設(shè)備需要知 道NAT的當(dāng)前IP地址。如果遠程訪問URL包括UPnP設(shè)備的IP地址,則該地址在移動設(shè)備 試圖遠程地連接到一個UPnP設(shè)備時可能已經(jīng)改變。因此,遠程訪問URL不應(yīng)該包括UPnP 設(shè)備的IP地址。相反,遠程訪問URL應(yīng)該包括諸如名稱等UPnP設(shè)備的標(biāo)識符。遠程訪問URL中使用的名稱可以是DNS名稱,諸如“smith-residence, example.com. ”。使用DNS名稱的一個問題是該名稱必須在DNS服務(wù)器上發(fā)布并且移動設(shè)備必須使 用DNS協(xié)議來將該名稱解析成IP地址。然而,對于終端用戶而言使用DNS是復(fù)雜的,因為 在DNS服務(wù)器上發(fā)布名稱常常不是免費的,或者至少需要用戶作出某些配置??梢圆捎脕?代替DNS的替換協(xié)議是對等名稱解析協(xié)議(PNRP)。PNRP是對等分布式名稱解析系統(tǒng)。它 不需要中央服務(wù)器、是免費的而且不需要用戶來配置。當(dāng)PNRP名稱被包括在遠程訪問URL 中時,它看起來非常像DNS名稱,但是用“.pnrp.net”結(jié)尾。PRNP名稱的一個示例是etworkvc-ttakv7b3b.p070cd7bdbl0737ab08dfbf725b0e6f4afa988a41. pnrp. net.在某些實現(xiàn)中,在遠程訪問URL中使用Windows Live ID來代替DNS或PNRP名稱。 Windows Live ID通常結(jié)合通過微軟提供的Windows Live產(chǎn)品而變得可用的各種因特網(wǎng)服 務(wù)來使用。在使用UPnP來建立遠程連接時產(chǎn)生的另一問題是UPnP協(xié)議不提供許多安全特 征。因為它被設(shè)計成在單個LAN上的設(shè)備之間使用,所以連接到LAN上的所有設(shè)備都被假定 為是可信的。進一步的假設(shè)是沒有竊聽者正在訪問LAN。然而,當(dāng)移動設(shè)備通過使用UPnP 協(xié)議的異構(gòu)網(wǎng)絡(luò)遠程地連接到另一設(shè)備時,安全問題變得重要。例如,當(dāng)UPnP設(shè)備從遠程 位置接收連接時,設(shè)備需要確定其是否能夠信任該遠程設(shè)備。類似地,遠程設(shè)備需要確保其 連接到了正確的目的地。另外,保護在兩個設(shè)備之間傳遞的數(shù)據(jù)變?yōu)橐粋€嚴(yán)重的問題。為了加強UPnP連接的安全性,在某些實現(xiàn)中,所有UPnP請求通過諸如HTTPS(帶 有安全套接字層加密的HTTP)等安全應(yīng)用層通信協(xié)議而非HTTP(超文本傳輸協(xié)議)來發(fā) 送。HTTPS加密所有數(shù)據(jù)。另外,還采用客戶機側(cè)認證。如果是UPnP是流媒體服務(wù)器的情況,則也有獨立于UPnP連接操作的流傳輸連接。 在LAN中,流傳輸連接或鏈路通常使用HTTP或RTSP協(xié)議。然而,在流傳輸?shù)揭蛱鼐W(wǎng)或其他 異構(gòu)網(wǎng)絡(luò)上的遠程設(shè)備時,流傳輸連接或鏈路也可使用HTTPS。為簡明起見,在某些實施例 中,流媒體服務(wù)器通過同一 TCP端口(例如,1024 上的HTTPS接收UPnP請求和流傳輸請 求。在其他實現(xiàn)中,不同的TCP端口可用于UPnP請求和流傳輸請求。通常,HTTPS僅允許客戶機(例如,用作UPnP控制點的移動設(shè)備)認證服務(wù)器(例 如,流媒體服務(wù)器)。這通過使服務(wù)器呈現(xiàn)公鑰證書來實現(xiàn)。然而最近,HTTPS已經(jīng)延伸到 也支持客戶機側(cè)認證。在這種模式中,客戶機也被要求來呈現(xiàn)密碼證書。這允許雙方彼此 互相認證。因此,在某些實現(xiàn)中,采用HTTPS的客戶機側(cè)認證功能。通常,證書由可信證書授權(quán)機構(gòu)來簽署。例如,在采用在線身份提供者的情況下, 證書可以是由在線身份提供者提供并由適當(dāng)?shù)氖跈?quán)機構(gòu)(例如,Windows Live)簽署的SSL 證書。UPnP設(shè)備可通過檢查其簽名來驗證該證書并且如果用戶ID在被允許訪問特定媒體 庫的ID列表上則授予客戶機訪問權(quán)。然而,在某些實現(xiàn)中,不使用這些證書授權(quán)機構(gòu),因為 讓授權(quán)機構(gòu)簽署證書的過程可能不是免費的而且可能需要用戶干預(yù)。相反,每一 UPnP設(shè)備 向其自身發(fā)放證書。這些證書被稱為自簽署證書。客戶機和服務(wù)器通過將其與可信證書列 表進行比較來認證證書??尚抛C書從LAN上的UPnP設(shè)備獲得。在預(yù)先提供的情況下,作為期間將設(shè)備描述文檔提供給移動設(shè)備的預(yù)先提供步驟 的一部分,在某些情況下,每一 UPnP設(shè)備還可提供其認證證書,該證書可由在線服務(wù)提供 者在采用這一服務(wù)提供者的那些情況下發(fā)放。或者,可以采用自簽署證書。雖然證書可被包括在設(shè)備描述文檔中,但是這可能是有問題的,因為證書可能相當(dāng)大。相反,在某些情況 下,使證書通過作為UPnP設(shè)備主存的UPnP服務(wù)的內(nèi)容目錄服務(wù)或連接管理器服務(wù)中的新 UPnP動作而變得可用可能是優(yōu)選的。一旦遠程設(shè)備使用HTTPS連接,它將證書呈現(xiàn)給UPnP 設(shè)備,該證書可與已知證書列表進行比較。為了阻止欺詐者使用別人的證書,私鑰與每一證 書相關(guān)聯(lián)。SSL要求消息用該私鑰來簽署。欺詐者不能使用該證書,因為他們不知道正確的 私鑰。因為認證證書是與UPnP設(shè)備描述文檔一起預(yù)先提供的,所以不僅流媒體服務(wù)器 而且移動設(shè)備(UPnP控制點)必須是UPnP設(shè)備。當(dāng)然,移動設(shè)備可能不需要指定“遠程訪 問URL”,因為作為控制點它一般不從服務(wù)器接收傳入UPnP連接。在某些實現(xiàn)中,可以呈現(xiàn)諸如用戶名和口令等擁有這些憑證的一方在建立遠程連 接時必須證明其擁有的其他類型的憑證,而不是出于認證目的來呈現(xiàn)SSL證書。如前所述,在預(yù)先提供的情況下,設(shè)備描述文檔中存在遠程訪問URL不保證媒體 服務(wù)器實際上正在接受來自遠程位置的傳入連接,因為這一特征可能已經(jīng)被用戶關(guān)閉。幫 助移動設(shè)備確定遠程訪問當(dāng)前是否被啟用的一種方式是通過內(nèi)容目錄服務(wù)(CDQ。CDS通 常用于枚舉UPnP設(shè)備上可用的內(nèi)容(視頻、音樂、圖片等等)。在當(dāng)前情景中,CDS被擴展 成允許移動設(shè)備來確定遠程訪問當(dāng)前是被啟用還是禁用。即,移動設(shè)備能夠調(diào)用新動作來 確定遠程訪問特征的狀態(tài)。如果狀態(tài)改變,則CDS將事件通知發(fā)送到移動設(shè)備以及任何其 他感興趣的控制點。這種方法的一個限制是其只在移動設(shè)備和UPnP設(shè)備兩者在同一 LAN 上時才有效,而當(dāng)移動設(shè)備和UPnP設(shè)備彼此進行遠程通信時無效。因此,這種技術(shù)僅向移 動設(shè)備提供了 UPnP設(shè)備的最后已知狀態(tài)而非其當(dāng)前狀態(tài)。然而雖然不是結(jié)論性的,但該信 息作為暗示UPnP設(shè)備的當(dāng)前狀態(tài)仍然可被證明是有用的。
權(quán)利要求
1.一種用于通過廣域通信網(wǎng)絡(luò)105在通用即插即用(UPnP)控制點110和UPnP設(shè)備 130之間建立通信的方法,所述方法包括通過所述廣域通信網(wǎng)絡(luò)105訪問用于遠程地聯(lián)系所述UPnP設(shè)備130的聯(lián)系信息;通過所述通信網(wǎng)絡(luò)105聯(lián)系至少部分地從所述聯(lián)系信息中確定的網(wǎng)絡(luò)地址處的所述 UPnP設(shè)備130以根據(jù)UPnP協(xié)議建立網(wǎng)絡(luò)鏈路;以及通過所述網(wǎng)絡(luò)鏈路調(diào)用所述UPnP設(shè)備提供的服務(wù)。
2.如權(quán)利要求1所述的方法,其特征在于,還包括通過所述廣域通信網(wǎng)絡(luò)來聯(lián)系第三 方以獲得所述聯(lián)系信息。
3.如權(quán)利要求2所述的方法,其特征在于,聯(lián)系所述第三方包括使用所述UPnP設(shè)備 130先前提供給所述第三方的用戶標(biāo)識符來訪問所述第三方。
4.如權(quán)利要求2所述的方法,其特征在于,還包括從所述第三方接收所述UPnP設(shè)備 130的機器標(biāo)識符。
5.如權(quán)利要求4所述的方法,其特征在于,還包括請求并接收與所述機器標(biāo)識符相關(guān) 聯(lián)的IP地址。
6.如權(quán)利要求5所述的方法,其特征在于,還包括至少部分地基于所述IP地址來構(gòu)造 所述網(wǎng)絡(luò)地址。
7.如權(quán)利要求1所述的方法,其特征在于,還包括在所述UPnP控制點上預(yù)先提供所述聯(lián)系信息。
8.如權(quán)利要求7所述的方法,其特征在于,所述聯(lián)系信息被包括在所述UPnP控制點 110上預(yù)先提供的所述UPnP設(shè)備130的設(shè)備描述文檔中。
9.如權(quán)利要求1所述的方法,其特征在于,所述聯(lián)系信息包括統(tǒng)一資源定位符(URL)。
10.如權(quán)利要求1所述的方法,其特征在于,所述網(wǎng)絡(luò)鏈路符合安全套接字層上的超文 本傳輸協(xié)議(HTTPS)。
11.如權(quán)利要求1所述的方法,其特征在于,還包括在調(diào)用所述UPnP設(shè)備提供的服務(wù)之 前將所述UPnP設(shè)備的認證憑證呈現(xiàn)給所述UPnP控制點。
12.如權(quán)利要求1所述的方法,其特征在于,還包括在調(diào)用所述UPnP設(shè)備提供的服務(wù)之 前從所述UPnP設(shè)備接收認證憑證。
13.如權(quán)利要求1所述的方法,其特征在于,所述UPnP控制點是移動設(shè)備而所述UPnP 設(shè)備是流媒體服務(wù)器。
14.如權(quán)利要求7所述的方法,其特征在于,還包括當(dāng)所述UPnP控制點和所述UPnP設(shè) 備根據(jù)所述UPnP協(xié)議通過LAN彼此通信時預(yù)先提供所述聯(lián)系信息。
15.如權(quán)利要求14所述的方法,其特征在于,還包括從所述UPnP設(shè)備接收指示遠程訪 問是被啟用還是禁用的狀態(tài)信息,其中所述狀態(tài)信息在所述UPnP控制點和所述UPnP設(shè)備 通過所述LAN彼此通信時接收。
16.一種用于允許位于彼此的遠程的第一和第二 UPnP設(shè)備之間的交互的方法,所述方 法包括通過訪問第一 UPnP設(shè)備的聯(lián)系信息來執(zhí)行所述第一 UPnP設(shè)備的UPnP發(fā)現(xiàn)過程;以及使用所述聯(lián)系信息來在所述第一 UPnP設(shè)備和第二 UPnP設(shè)備之間建立UPnP網(wǎng)絡(luò)通信 鏈路,所述第二 UPnP設(shè)備包括UPnP控制點。
17.如權(quán)利要求16所述的方法,其特征在于,所述UPnP發(fā)現(xiàn)過程包括使用所述聯(lián)系信 息來獲得所述第一 UPnP設(shè)備的IP地址。
18.如權(quán)利要求16所述的方法,其特征在于,所述UPnP發(fā)現(xiàn)過程包括通過因特網(wǎng)來聯(lián) 系第三方以獲得所述聯(lián)系信息。
19.如權(quán)利要求18所述的方法,其特征在于,還包括從所述第三方接收所述第一UPnP 設(shè)備的IP地址。
20.如權(quán)利要求16所述的方法,其特征在于,所述UPnP發(fā)現(xiàn)過程包括訪問包括所述聯(lián) 系信息的預(yù)先提供的設(shè)備描述文檔。
全文摘要
通用即插即用(UPnP)技術(shù)可在因特網(wǎng)或其他廣域通信網(wǎng)絡(luò)上使用。在一個說明性示例中,第一啟用UPnP的設(shè)備通過因特網(wǎng)將諸如流媒體等UPnP服務(wù)提供給各個用戶。第一啟用UPnP的設(shè)備向在線身份提供者提供被授權(quán)從遠程位置訪問第一啟用UPnP的設(shè)備的那些用戶的用戶ID。當(dāng)用戶希望從第一啟用UPnP的設(shè)備接收UPnP服務(wù)時,用戶使用他的用戶ID來登錄到在線身份提供者并從在線提供者接收與第一啟用UPnP的設(shè)備相關(guān)聯(lián)的IP地址。用戶的應(yīng)用程序從IP地址中構(gòu)造URL并聯(lián)系該URL處的啟用UPnP的設(shè)備。用戶的應(yīng)用程序隨后可調(diào)用所需UPnP服務(wù)。
文檔編號H04L29/06GK102077546SQ200980124865
公開日2011年5月25日 申請日期2009年6月25日 優(yōu)先權(quán)日2008年6月25日
發(fā)明者A·E·克萊門茨, E·A·埃雷迪亞, S·艾亞爾 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
绩溪县| 进贤县| 津市市| 南部县| 通辽市| 永仁县| 尤溪县| 龙胜| 奉贤区| 金堂县| 甘南县| 淮南市| 临澧县| 郓城县| 始兴县| 新田县| 屏边| 延川县| 内黄县| 敦煌市| 长沙县| 大洼县| 资阳市| 麻江县| 镇赉县| 宁乡县| 靖州| 武夷山市| 古浪县| 阿克陶县| 崇明县| 滦平县| 巴彦县| 宣城市| 湟源县| 屏南县| 望奎县| 万宁市| 黄大仙区| 任丘市| 龙江县|