專利名稱:用于共享網(wǎng)絡上內(nèi)容的方法和設備的制作方法
技術領域:
本發(fā)明涉及網(wǎng)絡技術。更具體而言,本發(fā)明涉及共享網(wǎng)絡(例如家庭網(wǎng)絡,home network)上的內(nèi)容。
背景技術:
隨著家庭網(wǎng)絡變得越來越流行并且寬帶連接的使用變得普遍,人們正在尋找與例如遠程因特網(wǎng)用戶共享內(nèi)容的簡單方法。這里使用的術語“家庭網(wǎng)絡”指的是任意私有網(wǎng)絡,包括但不局限于由個人、家庭、企業(yè)、公共實體等控制的私有網(wǎng)絡。但是,家庭網(wǎng)絡的典型范例在字面上是家中的網(wǎng)絡。
當考慮照片、音樂、文檔、視頻、來自因特網(wǎng)照相機的數(shù)據(jù)等時,由家庭網(wǎng)絡共享的數(shù)字內(nèi)容的量可以在兆兆字節(jié)級別上。當前的解決方案是將用戶想要共享的所有內(nèi)容張貼在公共站點web服務器上,例如www.geocities.com、www.msn.com等等。但是,這樣的解決方案存在若干缺陷??捎每臻g是有限的并且額外的存儲空間花費很高。高級特征(例如驗證)花費也很高。不是所有用戶都希望將他們的所有內(nèi)容張貼在公共場所。此外,用戶會發(fā)現(xiàn)將他們的內(nèi)容傳遞到公共web服務器很麻煩。
一種可能的方法是允許內(nèi)容安全地保存在家中并仍舊允許因特網(wǎng)用戶訪問該內(nèi)容,這種方法將使用戶能夠?qū)⑺约旱膚eb服務器例如安置在他或她家中的個人計算機(“PC”)上。但是,這種解決方案將具有至少下列需求(1)運行web服務器軟件的專用PC;(2)支持網(wǎng)絡地址轉(zhuǎn)換(“NAT”)和防火墻的因特網(wǎng)網(wǎng)關,以及(3)用于安裝和配置該裝備和服務器的專業(yè)技術。
對普通用戶來說,所有這些需求都可能帶來問題。最后一個需求超出了大多數(shù)用戶的專業(yè)技術水平。
雖然網(wǎng)關提供了使多個設備/PC能夠訪問因特網(wǎng)的能力,但是這些設備/PC被隱藏在家庭網(wǎng)絡中而不能被因特網(wǎng)看到。如果用戶想要與遠程因特網(wǎng)用戶共享來自網(wǎng)關后面的PC/設備的內(nèi)容,那么適當?shù)嘏渲镁W(wǎng)關以通過NAT執(zhí)行端口轉(zhuǎn)發(fā)和配置防火墻以允許訪問家庭網(wǎng)絡上的該PC的任務對臨時用戶來說是相當困難的,其中NAT負責將所選端口或協(xié)議映射到特定PC/設備。用戶還將需要安裝和配置PC/設備上的必需的服務器,以共享適當?shù)膬?nèi)容。
內(nèi)容將需要被保存在專用web服務器設備中,并且該設備將需要在所有時間保持接通。為了保護web服務器上的內(nèi)容,web服務器將需要使用驗證,該驗證使用戶需要配置用戶名和密碼。但是,該用戶名和密碼的數(shù)據(jù)庫通常僅針對單個設備。它不是由家庭網(wǎng)絡上的所有設備/PC公用的數(shù)據(jù)庫。
我們需要的是在無需用戶擔任家庭網(wǎng)絡的IT部門、對于在家庭網(wǎng)絡中的PC上運行的服務器的系統(tǒng)管理員和負責以有序方式顯示內(nèi)容的網(wǎng)頁設計者的情況下,為家庭網(wǎng)絡提供內(nèi)容共享能力。
發(fā)明內(nèi)容
本發(fā)明提供的方法和設備用于針對家庭網(wǎng)絡的用戶簡化與遠程用戶之間的內(nèi)容共享。某些這樣的實現(xiàn)方式使已經(jīng)登錄到家庭網(wǎng)絡中的遠程用戶能夠訪問家庭網(wǎng)絡內(nèi)的設備和服務。對這種內(nèi)容、設備和服務的訪問可以通過在家庭網(wǎng)絡上運行處理文件共享的內(nèi)容協(xié)議客戶端來控制。該內(nèi)容協(xié)議客戶端可以是本領域技術人員已知的任意合適類型的設備,例如Windows聯(lián)網(wǎng)(smb)、UPnP等等??商鎿Q地,內(nèi)容協(xié)議客戶端可以是私有內(nèi)容協(xié)議客戶端。本發(fā)明的某些實現(xiàn)方式向以安全方式登錄到家庭網(wǎng)絡中的特定遠程用戶提供了共享家庭網(wǎng)絡中的成組的多個設備的解決方案。
本發(fā)明的某些方法是通過控制家庭網(wǎng)絡的網(wǎng)關來部分實現(xiàn)的。因此,用于實現(xiàn)本發(fā)明的所需硬件和/或軟件可以位于家庭網(wǎng)絡的網(wǎng)關中。在替換實現(xiàn)方式中,本發(fā)明的多個方面可以經(jīng)由由同樣控制網(wǎng)關的服務提供者或由家庭網(wǎng)絡中的設備(例如網(wǎng)絡附接的存儲設備(NAS))提供的端口服務來實現(xiàn)。本發(fā)明在這里有時將被稱為“數(shù)字走廊(Digital Porch)”。
本發(fā)明的某些實現(xiàn)方式提供了包含在機器可讀介質(zhì)中的用于向家庭網(wǎng)絡提供受控訪問的計算機程序。所述計算機程序包括用于致使所述家庭網(wǎng)絡的一個或多個設備執(zhí)行以下步驟的指令接收來自遠程用戶的登錄嘗試,該登錄嘗試是從一個因特網(wǎng)協(xié)議地址發(fā)起的;核實所述遠程用戶是所述家庭網(wǎng)絡的已授權(quán)用戶;生成將所述因特網(wǎng)協(xié)議地址與所述家庭網(wǎng)絡上的設備的端口相關聯(lián)的網(wǎng)絡地址轉(zhuǎn)換規(guī)則;向所述遠程用戶顯示圖形用戶界面,該圖形用戶界面使所述遠程用戶能夠只選擇所述遠程用戶已被授權(quán)選擇的內(nèi)容或服務;接收來自所述遠程用戶的選擇請求;以及根據(jù)所述選擇請求向所述遠程用戶提供內(nèi)容或服務。
所述計算機程序可以包括用于以下步驟的指令在核實所述遠程用戶是所述家庭網(wǎng)絡的已授權(quán)用戶之后,致使所述家庭網(wǎng)絡的網(wǎng)關向所述家庭網(wǎng)絡的一個或多個設備發(fā)送關于所述遠程用戶的驗證信息。
所述計算機程序還可以包括用于以下步驟的指令致使所述家庭網(wǎng)絡的網(wǎng)關根據(jù)不同于第二協(xié)議的第一協(xié)議與所述遠程用戶通信,其中所述第二協(xié)議被用于所述網(wǎng)關和所述家庭網(wǎng)絡的一個或多個設備之間的通信。所述第一協(xié)議例如可以是HTTP,而所述第二協(xié)議可以是內(nèi)容協(xié)議。
本發(fā)明的某些實施例提供了一種被配置用于向家庭網(wǎng)絡提供受控訪問的網(wǎng)關。所述網(wǎng)關包括被配置用于接收來自遠程用戶的登錄嘗試的第一端口,所述登錄嘗試是從一個因特網(wǎng)協(xié)議地址發(fā)起的;以及被配置用于附接所述家庭網(wǎng)絡的網(wǎng)絡設備的第二端口。所述網(wǎng)關還包括至少一個處理器,所述處理器被配置用于核實所述遠程用戶是所述家庭網(wǎng)絡的已授權(quán)用戶;生成將所述因特網(wǎng)協(xié)議地址與所述第二端口相關聯(lián)的網(wǎng)絡地址轉(zhuǎn)換規(guī)則;向所述遠程用戶顯示圖形用戶界面,該圖形用戶界面使所述遠程用戶能夠只選擇所述遠程用戶已被授權(quán)選擇的內(nèi)容或服務;接收來自所述遠程用戶的選擇請求;以及根據(jù)所述選擇請求向所述遠程用戶提供來自被附接到所述第二端口的設備的內(nèi)容或服務。
本發(fā)明的某些方面提供了一種向家庭網(wǎng)絡提供受控訪問的方法。所述方法包括接收來自遠程用戶的登錄請求;捕獲所述遠程用戶的因特網(wǎng)協(xié)議地址;驗證所述遠程用戶;自動配置網(wǎng)關以允許所述遠程用戶訪問預定的內(nèi)容、服務或設備;以及根據(jù)所述遠程用戶的選擇提供對一部分預定內(nèi)容、服務或設備的訪問。
本發(fā)明的其他實施例提供了一種家庭網(wǎng)絡,包括第一網(wǎng)絡設備;以及包括第一端口和第二端口的網(wǎng)關。該網(wǎng)關被配置用于經(jīng)由所述第一端口與所述第一網(wǎng)絡設備通信,以及經(jīng)由所述第二端口與外部網(wǎng)絡通信。該網(wǎng)關還被配置用于接收來自遠程用戶的登錄嘗試,所述登錄嘗試是從所述外部網(wǎng)絡上的一個地址發(fā)起的;核實所述遠程用戶是所述家庭網(wǎng)絡的已授權(quán)用戶;生成將所述地址與所述第一端口相關聯(lián)的網(wǎng)絡地址轉(zhuǎn)換規(guī)則;向所述遠程用戶顯示圖形用戶界面,該圖形用戶界面使所述遠程用戶能夠只選擇所述遠程用戶已被授權(quán)選擇的內(nèi)容;接收來自所述遠程用戶的第一選擇請求;以及根據(jù)所述第一選擇請求向所述遠程用戶提供來自所述第一網(wǎng)絡設備的內(nèi)容。
所述網(wǎng)關經(jīng)由不同于第二協(xié)議的第一協(xié)議與所述第一網(wǎng)絡設備通信,其中所述第二協(xié)議是所述網(wǎng)關用于與所述外部網(wǎng)絡通信的協(xié)議。所述第一網(wǎng)絡設備例如可以是個人計算機或網(wǎng)絡附接的存儲設備。
所述家庭網(wǎng)絡還可以包括第二網(wǎng)絡設備。所述網(wǎng)關還被配置用于向所述遠程用戶顯示所述圖形用戶界面,該圖形用戶界面使所述遠程用戶能夠選擇所述遠程用戶已被授權(quán)選擇的來自所述第二網(wǎng)絡設備的服務;接收來自所述遠程用戶的第二選擇請求;以及根據(jù)所述第二選擇請求向所述遠程用戶提供來自所述第二網(wǎng)絡設備的服務。所述第二網(wǎng)絡設備可以是網(wǎng)絡照相機或用于流式音頻數(shù)據(jù)的設備。
本發(fā)明的其他方面提供了一種向家庭網(wǎng)絡提供受控訪問的方法。所述方法包括以下步驟接收來自遠程用戶的登錄嘗試,所述登錄嘗試是從一個因特網(wǎng)協(xié)議地址發(fā)起的;自動核實所述遠程用戶是所述家庭網(wǎng)絡的已授權(quán)用戶;自動生成將所述因特網(wǎng)協(xié)議地址與所述家庭網(wǎng)絡上的設備的端口相關聯(lián)的網(wǎng)絡地址轉(zhuǎn)換規(guī)則;向所述遠程用戶自動顯示圖形用戶界面,該圖形用戶界面使所述遠程用戶能夠只選擇所述遠程用戶已被授權(quán)選擇的內(nèi)容或服務;接收來自所述遠程用戶的選擇請求;以及根據(jù)所述選擇請求來向所述遠程用戶自動提供內(nèi)容或服務。
該方法還包括以下步驟在自動核實所述遠程用戶是所述家庭網(wǎng)絡的已授權(quán)用戶之后,向所述家庭網(wǎng)絡的一個或多個設備自動發(fā)送關于所述遠程用戶的驗證信息。該方法還可以包括根據(jù)不同于第二協(xié)議的第一協(xié)議與所述遠程用戶通信,其中所述第二協(xié)議被用于所述網(wǎng)關和所述家庭網(wǎng)絡的一個或多個設備之間的通信。所述第一協(xié)議例如可以是HTTP,而所述第二協(xié)議可以是內(nèi)容協(xié)議。
圖1是示出正由遠程用戶訪問的家庭網(wǎng)絡的網(wǎng)絡圖。
圖2是示出根據(jù)本發(fā)明的文件共享方法的流程圖。
圖2A示出登錄屏幕。
圖2B示出根據(jù)本發(fā)明某些實現(xiàn)方式生成的示例性動態(tài)頁面。
圖2C示出根據(jù)本發(fā)明某些實現(xiàn)方式生成的示例性動態(tài)頁面。
圖2D示出響應于遠程用戶查看圖像的請求而生成的示例頁面。
圖3是示出允許遠程用戶訪問和控制家庭網(wǎng)絡中的網(wǎng)絡照相機(webcam)的方法的流程圖。
圖4是根據(jù)本發(fā)明某些實現(xiàn)方式生成的示例性歡迎屏幕。
圖5是根據(jù)本發(fā)明某些實現(xiàn)方式生成的用于允許遠程用戶選擇設備選項的示例性屏幕。
圖6是根據(jù)本發(fā)明某些實現(xiàn)方式生成的用于允許遠程用戶查看流式視頻和控制網(wǎng)絡照相機的示例性屏幕。
圖7示出了可以被配置用于實現(xiàn)本發(fā)明的某些方法的網(wǎng)絡設備的示例。
具體實施例方式
在以下描述中,給出了大量具體細節(jié),以便提供對本發(fā)明的全面理解。但是,本領域技術人員將意識到,無需這些具體細節(jié)中的某些或全部也可以實施本發(fā)明。在其他實例中,沒有詳細描述公知的過程步驟,以免不必要地模糊本發(fā)明。
雖然根據(jù)本發(fā)明的各個方面,內(nèi)容可以以不同方式提供,但是這里論述的主要示例涉及對設備、內(nèi)容等的基于因特網(wǎng)的共享。所述內(nèi)容可以是文檔、圖片等的混合。
圖1示出根據(jù)本發(fā)明的某些實現(xiàn)方式,用于共享內(nèi)容的簡化家庭網(wǎng)絡100。家庭網(wǎng)絡100包括用于存儲和共享內(nèi)容的網(wǎng)絡設備105。在本示例中,網(wǎng)絡設備105是個人計算機。但是,網(wǎng)絡設備105可以是用于存儲和共享內(nèi)容的任意合適的設備,例如NAS設備或服務器。
網(wǎng)關110構(gòu)成家庭網(wǎng)絡100和外部世界之間的接口。這里,網(wǎng)關110將家庭網(wǎng)絡100與因特網(wǎng)115相連。遠程用戶120可以使用設備125(例如PC)來瀏覽因特網(wǎng)115和訪問家庭網(wǎng)絡100。但是,任意合適的網(wǎng)絡都可以將設備125與家庭網(wǎng)絡100相鏈接,例如廣域網(wǎng)、存儲區(qū)域網(wǎng)等等。
家庭網(wǎng)絡100還包括NAS 130、視頻設備135、媒體播放器145(例如用于流式MPEG3數(shù)據(jù))和網(wǎng)絡照相機(webcam)150。這些網(wǎng)絡設備被附接到網(wǎng)關110的各種端口155。
網(wǎng)關110支持NAT。因此,家庭網(wǎng)絡100的全部組件具有單個“真實”IP地址,即本示例中是171.71.97.40。網(wǎng)關110的NAT根據(jù)NAT表在IP地址171.71.97.40和多個私有IP地址之間執(zhí)行“綁定”。在本示例中,在NAT表中的私有IP地址的范圍從192.168.1.0到192.168.1.9。根據(jù)TCP協(xié)議,設備的完整地址包括IP地址和端口號。這里,網(wǎng)絡照相機150被附接到網(wǎng)關110的端口80。網(wǎng)絡照相機150的完整地址是192.168.1.2:80。PC 105的完整地址是192.168.1.1:1024。
在不使用本發(fā)明的方法的情況下,當遠程用戶120想要訪問家庭網(wǎng)絡100中的設備和/或內(nèi)容時會出現(xiàn)各種困難。例如,家庭網(wǎng)絡100的所有者可能不知道各個端口被附接到的端口號。如果這樣,則遠程用戶120也無法得知端口號。
假設遠程用戶120知道PC 105的端口號是1024,并因此在試圖遠程訪問PC 105時,經(jīng)由因特網(wǎng)115發(fā)送地址171.71.97.40:1024。如果沒有合適的NAT規(guī)則,則由網(wǎng)關110支持的NAT無法將地址171.71.97.40:1024映射到PC 105的地址。如果由網(wǎng)關110支持的NAT始終如一地將地址171.71.97.40:1024映射到PC 105的地址,則將允許對PC 105執(zhí)行無限制的訪問。
圖2示出了根據(jù)本發(fā)明一種實現(xiàn)方式的文件共享流程。在步驟205中,遠程用戶120經(jīng)由因特網(wǎng)115瀏覽到家庭網(wǎng)絡100的URL。然后,家庭網(wǎng)絡100的web服務器向遠程用戶120執(zhí)行驗證挑戰(zhàn)(步驟210)。在本示例中,web服務器提示遠程用戶120輸入針對家庭網(wǎng)絡100的網(wǎng)站的用戶名和密碼。該提示可以利用本領域技術人員公知的手段來執(zhí)行。這里,該提示是通過向遠程用戶120顯示的彈出窗口中的圖形用戶界面(“GUI”)來執(zhí)行的,如圖2A所示。在本示例中,web服務器是HTTP服務器并且是網(wǎng)關110的一部分。
在步驟215中,遠程用戶120將有效的用戶名和密碼發(fā)送到家庭網(wǎng)絡100。因此,控制網(wǎng)關實現(xiàn)本發(fā)明這個方面的軟件和/或硬件必須具有對有效用戶名和密碼的數(shù)據(jù)庫的訪問權(quán)限。用戶數(shù)據(jù)庫可以在網(wǎng)關110上、在遠程數(shù)據(jù)庫(例如服務提供商的RADIUS數(shù)據(jù)庫)中、在運行在家庭網(wǎng)絡100中的另一設備上的用戶數(shù)據(jù)庫中等等。
在遠程用戶成功登錄之后,與遠程用戶的會話相關的信息(例如遠程用戶的HTTP會話的源IP地址)將被家庭網(wǎng)絡100捕獲。該信息被用于自動配置網(wǎng)關上的適當?shù)腘AT端口轉(zhuǎn)換和防火墻規(guī)則,以允許僅通過該IP地址對LAN設備進行訪問(步驟220)。
在本示例中,遠程用戶120的名字是Joe。在一種實現(xiàn)方式中,在Joe成功登錄之后,NAT規(guī)則將被自動寫入到可由網(wǎng)關110訪問的NAT表中。該規(guī)則例如可以是192.168.1.1:1024=171.71.97.40:1024 if{JoeIP},其中“JoeIP”是在Joe成功登錄后捕獲到的源IP地址。當其他經(jīng)授權(quán)的用戶成功登錄時,也可以創(chuàng)建其他規(guī)則。在某些實現(xiàn)方式中,規(guī)則的分層結(jié)構(gòu)被提供,以允許不同用戶訪問不同的設備和/或內(nèi)容。優(yōu)選地,另一規(guī)則指示來自遠程用戶的訪問家庭網(wǎng)絡100的請求會被丟棄,除非這樣的規(guī)則特別允許訪問。
例如,存在兩個登錄的用戶Joe和Amy。Amy和Joe都具有對PC105的訪問權(quán)限。所產(chǎn)生的NAT規(guī)則將是192.168.1.1:1024=171.71.97.40:1024 if{JoeIP}192.168.1.1:1024=171.71.97.40:1024 if{AmyIP}拒絕所有其他分組現(xiàn)在另一尚未登錄的用戶Hack試圖利用已知的地址和端口171.71.97.40:1024來訪問PC 105。當參考NAT規(guī)則并與Hack的請求相比較時,Hack的請求將被拒絕,因為它不匹配任意規(guī)則。Hack將無法獲得對PC 105的內(nèi)容的訪問權(quán)限。
用戶名和密碼按需要在適當時被傳播到家庭網(wǎng)絡100中的其他設備。在某些實現(xiàn)方式中,通過利用下層的內(nèi)容協(xié)議將遠程用戶一次驗證到所有被允許的設備來傳播用戶名和密碼。在其他實現(xiàn)方式中,用戶名和密碼是通過使用HTML中的基本驗證提供的“REALM”方法來傳播的。如本領域技術人員所知,“REALM”是標識web應用(或web應用的集合)的有效用戶的用戶名和密碼的數(shù)據(jù)庫,以及與每個有效用戶相關聯(lián)的角色(role)的列表。角色與Unix型操作系統(tǒng)中的組類似,因為對特定web應用資源的訪問權(quán)限被賦予擁有特定角色的所有用戶(而非列舉出相關用戶名的列表)。特定用戶可以具有任意多個與他或她的用戶名相關的角色。
在步驟225中,家庭網(wǎng)絡100顯示遠程用戶120可獲得的內(nèi)容。根據(jù)某些實現(xiàn)方式,生成動態(tài)HTML頁面,以顯示已登錄的遠程用戶可獲得的鏈接和內(nèi)容。在本示例中,經(jīng)驗證的遠程用戶被發(fā)送到一個頁面,該頁面顯示出到允許該用戶訪問的所有設備的鏈接以及到共享內(nèi)容的鏈接。
圖2B的動態(tài)頁面266是這種動態(tài)頁面的示例。動態(tài)頁面266包括到PC 105上的內(nèi)容(這里是嬰兒照片)的鏈接270。如果遠程用戶120選擇鏈接270,則該鏈接270會將遠程用戶120引導至另一動態(tài)頁面,該頁面示出可從其訪問所需內(nèi)容的縮略圖、文件名鏈接等。共享文件看似相對于運行數(shù)字走廊(Digital Porch)的設備位于本地。在某些實現(xiàn)方式中,該頁面還顯示每種服務的可用性,例如“在線”或“離線”。
雖然在本示例中,網(wǎng)關110使用HTML來顯示遠程用戶120可訪問的內(nèi)容、設備等,但是其他顯示方法也在本發(fā)明的范圍內(nèi)。在其他實現(xiàn)方式中,其他協(xié)議被用作適合于例如正用來訪問家庭網(wǎng)絡100的網(wǎng)絡類型。
在優(yōu)選實施例中,網(wǎng)關110控制遠程用戶120的會話的加密和解密。加密例如可以是40位、56位或128位的DES加密。在某些這樣的實施例中,安全套接字層(SSL)協(xié)議或TSL協(xié)議被用于這樣的加密和解密。
根據(jù)某些實現(xiàn)方式,高度安全的數(shù)字走廊可以通過以虛擬專用網(wǎng)(“VPN”)隧道協(xié)議(例如IPSec、L2TP或SSH)加密會話來實現(xiàn)。VPN隧道可以根據(jù)本領域技術人員已知的任意適當方法來創(chuàng)建。在這樣的實現(xiàn)方式中,完整的數(shù)據(jù)會話被加密。來自沒有對它們自身和遠程用戶之間的會話進行內(nèi)部加密的LAN服務器設備的數(shù)據(jù)將在會話離開家庭網(wǎng)絡而去往遠程用戶時被加密。
這里,VPN會話終止點是網(wǎng)關110。但是,遠端的終止點可以是設備125(遠程用戶的PC和/或網(wǎng)關)或服務提供者的基礎設施。VPN可以由遠程用戶發(fā)起、由服務提供商發(fā)起或由網(wǎng)關對網(wǎng)關VPN配置中的任意網(wǎng)關發(fā)起。在某些實現(xiàn)方式中,VPN會話的驗證被用作遠程用戶進入數(shù)字走廊的驗證。
在步驟230中,遠程用戶120激活到所需內(nèi)容(在本示例中是嬰兒照片)的鏈接270。在步驟235中,網(wǎng)關110根據(jù)內(nèi)容協(xié)議向網(wǎng)絡設備105發(fā)送信號以請求遠程用戶120所選擇的內(nèi)容。內(nèi)容協(xié)議例如可以是Microsoft WindowsTM的SMB協(xié)議、UPnP內(nèi)容協(xié)議或任意其他合適的協(xié)議(標準化的、開放的或私有的)。
內(nèi)容協(xié)議應該能夠提供以下功能。內(nèi)容協(xié)議可以允許從客戶端到服務器的寫入能力。在該配置中,“服務器”是網(wǎng)絡設備PC 105,而“客戶端”是網(wǎng)關110。內(nèi)容協(xié)議必須允許客戶端對服務器的讀取能力。第三,內(nèi)容協(xié)議應該還具有安全性機制,用于驗證客戶端到服務器的連接。內(nèi)容協(xié)議可以在客戶端上顯示來自服務器的內(nèi)容,作為本地的客戶端內(nèi)容,就好像該內(nèi)容是客戶端的本地文件系統(tǒng)的一部分一樣。而且,內(nèi)容協(xié)議必須允許服務器和客戶端之間對內(nèi)容的文件共享。
在步驟240中,網(wǎng)絡設備105提供必要信息以允許網(wǎng)關110在步驟242中生成另一動態(tài)頁面。在步驟245中,網(wǎng)關110將該動態(tài)頁面顯示給遠程用戶120。圖2C示出動態(tài)頁面277,該頁面是一個這種頁面的示例。動態(tài)頁面277包括遠程用戶120希望查看的嬰兒照片的各個縮略圖279。
接下來,遠程用戶120選擇所需文件,在本示例中,通過點擊縮略圖280來選擇到一張嬰兒照片的.jpg文件的鏈接(步驟250)。在步驟255中,網(wǎng)關110請求所選的.jpg文件,該文件在步驟260中由網(wǎng)絡設備105提供。在步驟265中,所需嬰兒照片被顯示給遠程用戶120(參見圖2D)。
在前一示例中,遠程用戶120訪問被存儲在由家庭網(wǎng)絡100控制(或可訪問的)的設備上的特定類型的數(shù)據(jù)。但是,本發(fā)明也提供用于共享由家庭網(wǎng)絡100控制的服務、設備等的方法和裝置。因此,通過某種機制,控制家庭網(wǎng)絡100的設備將獲知家庭網(wǎng)絡中的各種設備。
關于每個設備,以下信息是已知的由內(nèi)容協(xié)議使用的設備名稱;設備地址(例如IP地址);設備類型(例如硬盤驅(qū)動器、網(wǎng)絡照相機、用于流式音頻數(shù)據(jù)的設備等等);由設備提供的服務和/或數(shù)據(jù)的類型(例如內(nèi)容文件夾共享、流式圖像、運動jpg等等);訪問設備的內(nèi)容提供服務器所需的驗證信息(例如用戶名和密碼、SSL證書等等);被允許訪問該設備的服務的用戶或用戶組;以及每個獨立的用戶或設備具有的權(quán)利(例如讀取、寫入、刪除)。根據(jù)某些優(yōu)選實施例,所有未被指定的用戶、群組或設備將被拒絕;此外,未被指定的用戶、群組或設備將不能確定存在什么內(nèi)容或服務。訪問例如可以基于每個設備、每個內(nèi)容項或每種服務來控制。
另外,以下信息應當是已知的服務描述;服務協(xié)議(例如HTTP、HTTPS、SMB、UPnP、TCP、UDP、私有內(nèi)容協(xié)議等等);服務端口(例如80、443等等);以及暴露給世界以提供服務的端口或端口范圍。暴露于世界的端口可以由系統(tǒng)自動生成,以幫助避免通常在設置多個具有相同類型的設備/服務的NAT規(guī)則時將經(jīng)歷的沖突。這例如可以在使用家中的非IP設備(例如附接在本地的硬盤驅(qū)動器)時被使用。
LAN服務器設備是在安置有其自己的服務器的家中的任意設備,所述服務器例如是HTTP服務器或FTP服務器。LAN服務器設備可以是嵌入式的(例如因特網(wǎng)照相機),或運行Web服務器軟件的PC。其內(nèi)容可經(jīng)由服務器直接訪問,并且不要求數(shù)字走廊將服務器會話代理為其自己到遠程用戶的會話。
現(xiàn)在將參考圖3到6來描述用于共享到家庭網(wǎng)絡上的設備的訪問,從而向遠程用戶提供服務的實現(xiàn)方式。如圖3所示,該過程的整體流程相當類似于上述參考圖2所述的流程。
在步驟305中,遠程用戶120已嘗試訪問家庭網(wǎng)絡100。數(shù)字走廊在步驟310中執(zhí)行驗證挑戰(zhàn),并且遠程用戶120成功登錄(步驟315)。如上所述,數(shù)字走廊將捕獲遠程用戶的HTTP會話的源IP地址,以在網(wǎng)關上配置適當?shù)腘AT端口轉(zhuǎn)換和防火墻規(guī)則,從而只允許通過該IP地址來訪問LAN設備。在步驟320中,驗證成功cookie被設置以REALM=home。
用戶名和密碼通過使用由HTML基本驗證提供的“REALM”方法來傳播。如本領域技術人員所知,“REALM”是標識web應用(或web應用的集合)的有效用戶的用戶名和密碼的數(shù)據(jù)庫,以及與每個有效用戶相關聯(lián)的角色的列表。角色與Unix型操作系統(tǒng)中的組類似,因為對特定web應用資源的訪問權(quán)限被賦予擁有特定角色的所有用戶(而非列舉出相關用戶名的列表)。特定用戶可以具有任意多個與他或她的用戶名相關的角色。
在步驟325中,網(wǎng)關110向遠程用戶120發(fā)送動態(tài)頁面。在此示例中,圖4的動態(tài)頁面400被顯示。動態(tài)頁面400包括到具有內(nèi)容的網(wǎng)絡設備(這里是PC 105)的鏈接405、到網(wǎng)絡照相機150的鏈接410和表示對等聯(lián)網(wǎng)游戲已被啟用的指示415。如果遠程用戶120希望參與對等聯(lián)網(wǎng)游戲,則遠程用戶120可以輸入遠程用戶120將連接到游戲站的設備的IP地址。因為本發(fā)明使用安全協(xié)議、驗證和加密,因此對等聯(lián)網(wǎng)游戲的執(zhí)行不會損害家庭網(wǎng)絡100的安全性。
此前,存在兩種用于允許遠程玩家彼此進行交互式游戲的基本方法。一種方法是在應用層網(wǎng)關(“ALG”)中實現(xiàn)的。響應于發(fā)起特定游戲的提示,ALG使某些預定端口變得可用,這些預定端口是在設計ALG時已知將被游戲所用的端口。因此,ALG不能響應于例如同一游戲的隨后版本而使合適的端口變得可用。
第二種方法例如由MicrosoftTM提供的XboxTM游戲來實現(xiàn)。該方法使用UPnP協(xié)議的NAT穿越機制來使發(fā)起游戲的XboxTM能夠打開XboxTM在UpnP啟用的網(wǎng)關上指定的任何端口。因為UPnP不是安全協(xié)議,因此該特征允許XboxTM通過服務器執(zhí)行過量控制。這看起來好像黑客可以使用該方法來訪問受限內(nèi)容和/或以不合宜的方式控制服務器。這樣一來,網(wǎng)關設備制造者不支持NAT穿越作為它們的UPnP實現(xiàn)方式的一部分。
但是,在本示例中,遠程用戶120在步驟330中點擊鏈接410,從而選擇網(wǎng)絡照相機150。在優(yōu)選實現(xiàn)方式中,或者通過利用下層內(nèi)容協(xié)議將遠程用戶120一次驗證到所有被許可的設備中,或者通過使用由NTML中的基本驗證提供的REALM方法來傳播驗證信息(例如用戶名和密碼)。如果遠程用戶120的IP地址已被監(jiān)聽,并且遠程用戶120的瀏覽器客戶端不包含利用適當?shù)腞EALM方法加密的用戶名和密碼,那么訪問將被拒絕。如果使用任何其他協(xié)議,則LAN服務器設備將通過使用下層內(nèi)容協(xié)議來驗證遠程用戶的會話。
在步驟335到345中,響應于網(wǎng)絡照相機150的驗證挑戰(zhàn)(步驟340),遠程用戶120的瀏覽器客戶端利用在步驟320中設置的驗證cookie向網(wǎng)絡照相機150傳播驗證信息。因此,在本示例中,遠程用戶120除了傳播該驗證信息之外不需要做任何事情。在其他實現(xiàn)方式中,遠程用戶120必須采取某種行動來響應于步驟340的驗證挑戰(zhàn),例如輸入另一用戶名和密碼。
在步驟350中,LAN服務器設備的主要查看頁面將被顯示給遠程用戶120。這里,頁面500被顯示,從而為遠程用戶120提供用于控制網(wǎng)絡照相機150的各種選項。在步驟355中,遠程用戶120點擊鏈接505,從而允許運動JPEG文件在步驟360中從單個照相機流出。在本示例中,頁面600被顯示給遠程用戶120。頁面600包括用于允許遠程用戶120控制圖像610的各個方面的各種控制605。
本領域技術人員將意識到,前述實施例中的網(wǎng)絡照相機僅僅是以示例方式選擇的,并且根據(jù)本發(fā)明,可以使用各種其他網(wǎng)絡照相機(或其他外圍設備)。例如,可以使用由本發(fā)明受讓人的分公司Linksys提供的網(wǎng)絡照相機。
圖7示出了可被配置用于實現(xiàn)本發(fā)明的某些方法的網(wǎng)絡設備的示例。網(wǎng)絡設備760包括主中央處理單元(CPU)762、接口768和總線767(例如PCI總線)。一般而言,接口768包括適合于與適當?shù)拿襟w通信的端口769。在某些實施例中,一個或多個接口768包括至少一個獨立處理器774,并且在某些實例中,還包括易失性RAM。獨立處理器774例如可以是ASIC或任意其他適當?shù)奶幚砥?。根?jù)某些這樣的實施例,這些獨立處理器774執(zhí)行至少某些這里描述的邏輯功能。在某些實施例中,一個或多個接口768控制通信密集型任務,例如媒體控制和管理。通過為通信密集型任務提供單獨的處理器,接口768使主微處理器762能夠有效地執(zhí)行其他功能,例如路由計算、網(wǎng)絡診斷、安全性功能等等。
接口768通常是作為接口卡(有時被稱為“線路卡”)提供的。一般而言,接口768控制網(wǎng)絡上數(shù)據(jù)分組的發(fā)送和接收,并且有時支持與網(wǎng)絡設備760一起使用的其他外設??梢蕴峁┑慕涌诎ü饫w信道(“FC”)接口、以太網(wǎng)接口、幀中繼接口、有線接口、DSL接口、令牌環(huán)接口等等。另外,可以提供各種甚高速接口,例如快速以太網(wǎng)接口、千兆位以太網(wǎng)接口、ATM接口、HSSI接口、POS接口、FDDI接口、ASI接口、DHEI接口等等。
當在合適的軟件或防火墻的控制下工作時,在本發(fā)明的某些實現(xiàn)方式中,CPU 762可以負責實現(xiàn)與所述網(wǎng)絡設備的功能相關聯(lián)的特定功能。根據(jù)某些實施例,CPU 762在包括操作系統(tǒng)(例如Linux、VxWorks等等)和任意適當?shù)膽密浖趦?nèi)的軟件控制下實現(xiàn)所有這些功能。
CPU 762可以包括一個或多個處理器763,例如來自Motorola微處理器族的處理器或來自MIPS微處理器族的處理器。在替換實施例中,處理器763是被具體設計用于控制網(wǎng)絡設備760的操作的硬件。在特定實施例中,存儲器761(例如非易失性RAM和/或ROM)也構(gòu)成CPU 762的一部分。但是,存在很多使存儲器能夠被耦合到系統(tǒng)的不同方式。存儲器塊761可以被用于各種目的,例如緩存和/或存儲數(shù)據(jù)、編程指令等等。
無論網(wǎng)絡設備的配置如何,都可以采用一個或多個存儲器或存儲模塊(例如存儲器塊765),該存儲器或存儲模塊被配置用于存儲數(shù)據(jù)、用于通用網(wǎng)絡操作的程序指令和/或與這里描述的技術的功能相關的其他信息。程序指令例如可以控制操作系統(tǒng)和/或一個或多個應用的操作。
因為這樣的信息和程序指令可被用于實現(xiàn)這里描述的系統(tǒng)/方法,因此本發(fā)明涉及包括用于執(zhí)行這里所述各種操作的程序指令、狀態(tài)信息等的機器可讀介質(zhì)。機器可讀介質(zhì)的示例包括但不局限于磁介質(zhì),例如硬盤、軟盤和磁帶;光介質(zhì),例如CD-ROM盤;磁光介質(zhì);和被專門配置用于存儲和執(zhí)行程序指令的硬件設備,例如只讀存儲設備(ROM)和隨機訪問存儲器(RAM)。本發(fā)明還可以被包含在行進通過適當介質(zhì)(例如無線電波、光線路、電線路等等)的載波中。程序指令的示例包括例如由編譯器產(chǎn)生的機器代碼和包含可由計算機使用解釋器執(zhí)行的更高級代碼的文件。
雖然圖7所示的系統(tǒng)示出了本發(fā)明的一種特定網(wǎng)絡設備,但是它決不意味著本發(fā)明只可以在該網(wǎng)絡設備體系結(jié)構(gòu)上實現(xiàn)。例如,也常使用具有用于處理通信和路由計算等的單個處理器的體系結(jié)構(gòu)。此外,其他類型的接口和介質(zhì)也可以與該網(wǎng)絡設備一起使用。接口/線路卡之間的通信路徑可以是基于總線的(如圖7所示),也可以是基于交換構(gòu)架的(例如交叉結(jié)構(gòu))。
其他實施例雖然這里示出和描述了本發(fā)明的示例性實施例以及應用,但是存在很多落入本發(fā)明的概念、范圍和精神內(nèi)的變化和修改,并且在研讀本申請之后,本領域普通技術人員將明白這些變化。
因此,本實施例將被看作示例性的而非限制性的,并且本發(fā)明并不局限于這里給出的細節(jié),而是可以在所附權(quán)利要求書的范圍和等同物內(nèi)進行修改。
權(quán)利要求
1.一種包含在機器可讀介質(zhì)中的用于向家庭網(wǎng)絡提供受控訪問的計算機程序,所述計算機程序包括用于致使所述家庭網(wǎng)絡的一個或多個設備執(zhí)行以下步驟的指令接收來自遠程用戶的登錄嘗試,所述登錄嘗試是從一個因特網(wǎng)協(xié)議地址發(fā)起的;核實所述遠程用戶是所述家庭網(wǎng)絡的已授權(quán)用戶;生成將所述因特網(wǎng)協(xié)議地址與所述家庭網(wǎng)絡上的設備的端口相關聯(lián)的網(wǎng)絡地址轉(zhuǎn)換規(guī)則;向所述遠程用戶顯示圖形用戶界面,該圖形用戶界面使所述遠程用戶能夠只選擇所述遠程用戶已被授權(quán)選擇的內(nèi)容或服務;接收來自所述遠程用戶的選擇請求;以及根據(jù)所述選擇請求向所述遠程用戶提供內(nèi)容或服務。
2.如權(quán)利要求1所述的計算機程序,所述計算機程序還包括用于以下步驟的指令在核實所述遠程用戶是所述家庭網(wǎng)絡的已授權(quán)用戶之后,致使所述家庭網(wǎng)絡的網(wǎng)關向所述家庭網(wǎng)絡的一個或多個設備發(fā)送關于所述遠程用戶的驗證信息。
3.如權(quán)利要求1所述的計算機程序,所述計算機程序還包括用于以下步驟的指令致使所述家庭網(wǎng)絡的網(wǎng)關根據(jù)不同于第二協(xié)議的第一協(xié)議與所述遠程用戶通信,其中所述第二協(xié)議被用于所述網(wǎng)關和所述家庭網(wǎng)絡的一個或多個設備之間的通信。
4.如權(quán)利要求3所述的計算機程序,其中所述第一協(xié)議是HTTP。
5.如權(quán)利要求3所述的計算機程序,其中所述第二協(xié)議是內(nèi)容協(xié)議。
6.一種被配置用于向家庭網(wǎng)絡提供受控訪問的網(wǎng)關,所述網(wǎng)關包括被配置用于接收來自遠程用戶的登錄嘗試的第一端口,所述登錄嘗試是從一個因特網(wǎng)協(xié)議地址發(fā)起的;被配置用于附接所述家庭網(wǎng)絡的網(wǎng)絡設備的第二端口;以及至少一個處理器,所述處理器被配置用于核實所述遠程用戶是所述家庭網(wǎng)絡的已授權(quán)用戶;生成將所述因特網(wǎng)協(xié)議地址與所述第二端口相關聯(lián)的網(wǎng)絡地址轉(zhuǎn)換規(guī)則;向所述遠程用戶顯示圖形用戶界面,該圖形用戶界面使所述遠程用戶能夠只選擇所述遠程用戶已被授權(quán)選擇的內(nèi)容或服務;接收來自所述遠程用戶的選擇請求;以及根據(jù)所述選擇請求向所述遠程用戶提供來自被附接到所述第二端口的設備的內(nèi)容或服務。
7.一種向家庭網(wǎng)絡提供受控訪問的方法,所述方法包括接收來自遠程用戶的登錄請求;捕獲所述遠程用戶的因特網(wǎng)協(xié)議地址;驗證所述遠程用戶;自動配置網(wǎng)關以允許所述遠程用戶訪問預定的內(nèi)容、服務或設備;以及根據(jù)所述遠程用戶的選擇提供對一部分預定內(nèi)容、服務或設備的訪問。
8.一種家庭網(wǎng)絡,包括第一網(wǎng)絡設備;以及包括第一端口和第二端口的網(wǎng)關,所述網(wǎng)關被配置用于經(jīng)由所述第一端口與所述第一網(wǎng)絡設備通信;經(jīng)由所述第二端口與外部網(wǎng)絡通信;接收來自遠程用戶的登錄嘗試,所述登錄嘗試是從所述外部網(wǎng)絡上的一個地址發(fā)起的;核實所述遠程用戶是所述家庭網(wǎng)絡的已授權(quán)用戶;生成將所述地址與所述第一端口相關聯(lián)的網(wǎng)絡地址轉(zhuǎn)換規(guī)則;向所述遠程用戶顯示圖形用戶界面,該圖形用戶界面使所述遠程用戶能夠只選擇所述遠程用戶已被授權(quán)選擇的內(nèi)容;接收來自所述遠程用戶的第一選擇請求;以及根據(jù)所述第一選擇請求向所述遠程用戶提供來自所述第一網(wǎng)絡設備的內(nèi)容。
9.如權(quán)利要求8所述的家庭網(wǎng)絡,其中所述網(wǎng)關經(jīng)由不同于第二協(xié)議的第一協(xié)議與所述第一網(wǎng)絡設備通信,其中所述第二協(xié)議是所述網(wǎng)關用于與所述外部網(wǎng)絡通信的協(xié)議。
10.如權(quán)利要求8所述的家庭網(wǎng)絡,其中所述第一網(wǎng)絡設備包括個人計算機或網(wǎng)絡附接的存儲設備。
11.如權(quán)利要求8所述的家庭網(wǎng)絡,還包括第二網(wǎng)絡設備,所述網(wǎng)關還被配置用于向所述遠程用戶顯示所述圖形用戶界面,該圖形用戶界面使所述遠程用戶能夠選擇所述遠程用戶已被授權(quán)選擇的來自所述第二網(wǎng)絡設備的服務;接收來自所述遠程用戶的第二選擇請求;以及根據(jù)所述第二選擇請求向所述遠程用戶提供來自所述第二網(wǎng)絡設備的服務。
12.如權(quán)利要求11所述的家庭網(wǎng)絡,其中所述第二網(wǎng)絡設備是網(wǎng)絡照相機或用于流式音頻數(shù)據(jù)的設備。
13.一種向家庭網(wǎng)絡提供受控訪問的方法,所述方法包括接收來自遠程用戶的登錄嘗試,所述登錄嘗試是從一個因特網(wǎng)協(xié)議地址發(fā)起的;自動核實所述遠程用戶是所述家庭網(wǎng)絡的已授權(quán)用戶;自動生成將所述因特網(wǎng)協(xié)議地址與所述家庭網(wǎng)絡上的設備的端口相關聯(lián)的網(wǎng)絡地址轉(zhuǎn)換規(guī)則;向所述遠程用戶自動顯示圖形用戶界面,該圖形用戶界面使所述遠程用戶能夠只選擇所述遠程用戶已被授權(quán)選擇的內(nèi)容或服務;接收來自所述遠程用戶的選擇請求;以及根據(jù)所述選擇請求來向所述遠程用戶自動提供內(nèi)容或服務。
14.如權(quán)利要求13所述的方法,還包括以下步驟在自動核實所述遠程用戶是所述家庭網(wǎng)絡的已授權(quán)用戶之后,向所述家庭網(wǎng)絡的一個或多個設備自動發(fā)送關于所述遠程用戶的驗證信息。
15.如權(quán)利要求13所述的方法,還包括根據(jù)不同于第二協(xié)議的第一協(xié)議與所述遠程用戶通信,其中所述第二協(xié)議被用于所述網(wǎng)關和所述家庭網(wǎng)絡的一個或多個設備之間的通信。
16.如權(quán)利要求15所述的方法,其中所述第一協(xié)議是HTTP。
17.如權(quán)利要求15所述的方法,其中所述第二協(xié)議是內(nèi)容協(xié)議。
18.一種用于向家庭網(wǎng)絡提供受控訪問的網(wǎng)關,所述網(wǎng)關包括用于接收來自遠程用戶的登錄嘗試的裝置,所述登錄嘗試是從一個因特網(wǎng)協(xié)議地址發(fā)起的;用于核實所述遠程用戶是所述家庭網(wǎng)絡的已授權(quán)用戶的裝置;用于生成將所述因特網(wǎng)協(xié)議地址與所述家庭網(wǎng)絡上的設備的端口相關聯(lián)的網(wǎng)絡地址轉(zhuǎn)換規(guī)則的裝置;用于向所述遠程用戶顯示圖形用戶界面的裝置,該圖形用戶界面使所述遠程用戶能夠只選擇所述遠程用戶已被授權(quán)選擇的內(nèi)容或服務;用于接收來自所述遠程用戶的選擇請求的裝置;以及用于根據(jù)所述選擇請求向所述遠程用戶提供內(nèi)容或服務的裝置。
全文摘要
本發(fā)明提供的方法和設備用于針對家庭網(wǎng)絡的用戶簡化與遠程用戶之間的內(nèi)容共享。某些這樣的實現(xiàn)方式使已經(jīng)登錄到家庭網(wǎng)絡中的遠程用戶能夠訪問家庭網(wǎng)絡內(nèi)的設備和服務。本發(fā)明的某些實現(xiàn)方式向以安全方式登錄到家庭網(wǎng)絡中的特定遠程用戶提供了共享家庭網(wǎng)絡中的成組的多個設備的解決方案。本發(fā)明的某些方法是通過控制家庭網(wǎng)絡的網(wǎng)關來部分實現(xiàn)的。因此,用于實現(xiàn)本發(fā)明所必需的硬件和/或軟件可以位于家庭網(wǎng)絡的網(wǎng)關中。在替換實現(xiàn)方式中,本發(fā)明的多個方面可以經(jīng)由同樣控制網(wǎng)關的服務提供者或由家庭網(wǎng)絡中的設備提供的端口服務來實現(xiàn)。
文檔編號H04L29/06GK1864389SQ200480029317
公開日2006年11月15日 申請日期2004年10月18日 優(yōu)先權(quán)日2003年10月23日
發(fā)明者亞瑟·霍瓦瑟, 帕梅拉·李 申請人:思科技術公司