服務提供設備和控制服務提供設備的方法
2023-08-08 04:30:31 3
專利名稱:服務提供設備和控制服務提供設備的方法
技術領域:
本發明涉及服務提供設備、客戶站、包括這些設備和站的服務提 供系統、以及服務提供方法,它們經由通信介質提供預定的服務。
背景技術:
近來,已經開發了稱為通用即插即用(UPnP,商標)的協議, 以允許家庭中的個人計算機、其外圍設備、以及消費電子產品相互通
另 一方面,已知從客戶站接受對服務的請求並向該客戶站提供服務 的服務提供設備。而且,與通過網際網路的通信的廣泛使用相一致,除了 個人計算機之外,已經開發了多種聯網的設備。例如,包括個人數字助 理(PDA)和蜂窩電話的用戶交互式設備,包括掃描儀、印表機、複印 機、和數位相機的圖像處理裝置,甚至是包括電視機、空調和冰箱的消 費電子產品等已經被快速地聯網。
根據這一情形,為了改善聯網設備的可用性和可操作性,已經提出 了多種協議,用於提供自動網絡地址設定單元,搜索提供服務的聯網設 備的搜索單元,以及用於控制網絡設備的應用程式軟體、使用軟體、和 作業系統的自動安裝單元。這些協議的示例包括上述的UPnP (商 標),其最初是由微軟公司扶植的,日本商業機器和信息系統工業協 會(JBMIA)開發的BMLinks,以及由芊果計算機有限公司開發、 在OS X中支持的Renedzvous。
但是,在UPnP(商標)當前的消息傳送規範中,設備通知所有 向該設備發送請求的控制點用於接收信息的URL (下文中,將URL 稱為控制URL)。在這樣的規範中,設備向所有控制點通知控制 URL,而沒有訪問限制。由於控制URL允許惡意的第三方訪問控制
伺服器並且訪問設備命令,因此設備有可能受到第三方的拒絕服務
(DoS)攻擊。也就是說,如果設備向未授權站通知控制URL,則 該未授權站可以容易地連接到聯網的設備,從而引起安全問題。
發明內容
本發明關注用於改善網絡通信中的安全級別的服務提供系統、服務 提供方法及其程序。
根據本發明的一個方面,用於控制服務提供設備的方法包括步驟
址;當確定步驟確定服務提供設備還沒有獲得全局地址時,請求客戶站 通知該客戶站的全局地址;和基於客戶站是否響應於在請求步驟的請求 而向服務提供設備通知了全局地址來向該客戶站提供不同的服務。
從下面結合附圖的描述中,本發明的其他特徵和優點將會更加明 顯,其中在附圖中,相同的附圖標記指示相同和相似的部件。 圖1是根據本發明實施例的協議控制系統的方框圖。 圖2示出了實現圖1所示的客戶站100或印表機200的功能的 硬體結構。
圖3示出了 UPnP (商標)的第一至第六階段。
圖4是圖3所示第一至第六階段中的第二至第六階段中控制點 和設備之間的數據流圖。
圖5示出了根據該實施例、描述有關印表機200的信息的第一 描述數據。
圖6示出了根據該實施例、描述有關由印表機提供的服務的信 息的第二描述數據。
圖7是圖解說明印表機在圖4的步驟S402的詳細處理的流程圖。
圖8是圖解說明客戶站在圖4的步驟S402的詳細處理的流程
圖
具體實施例方式
下面將參考附圖詳細描述本發明的實施例。
把根據該實施例控制網絡中的通信協議的協議控制系統作為示例 進行描述。首先,將描述在經由網絡提供列印服務的服務提供系統中 使用的協議控制系統。圖1是根據本發明實施例的協議控制系統(服
務提供系統)的方框圖。服務提供設備的示例包括印表機200、傳真 機、掃描儀、數位相機、蜂窩電話、複印機、和集成這些設備的多功 能裝置(未示出)。
如圖1所示,客戶站100經由網絡300連接到印表機(服務提供 設備)。而且,如圖1所示,客戶站100包括通用作業系統(OS) 105,例如微軟公司的\¥11^0\^@和蘋果計算機有限公司的Mac OS 。此外,客戶站100包括應用程式101,其是能夠在OS 105上 運行的通用應用程式。
客戶站100的UPnP (商標)協議處理單元103允許客戶站100 在網絡300上發現設備、控制該設備、和通過使用UPnP協議基於 XML (可擴展標記語言)和SOAP (簡單對象訪問協議)來獲取該 設備的狀態。例如,當應用程式101是字處理器時,應用程式101創 建的文檔由印表機驅動器102轉換為可列印數據,並由UPnP協議處 理單元103作為列印作業提交到印表機。支持UPnP協議的印表機 (例如,印表機200)連接到網絡300並由UPnP協議處理單元103 發現。
另一方面,印表機200是能夠連接到網絡300的聯網設備。列印 機200包括協議棧210,用於堆疊用於TCP (傳輸控制協議)、UDP (用戶數據報協議)、IPv6 (網際協議版本6)的協議。印表機200 還用作服務提供設備,用於經由網絡300提供列印服務。印表機200 還包括HTTP處理單元202,作為協議棧201的較高層。HTTP處理 單元202分析HTTP請求並執行其響應處理。印表機200還包括用 於處理SOAP的SOAP處理單元203,和用於處理UPnP協i義的
UPnP協議處理單元204,作為HTTP處理單元202的較高層。
此外,印表機200實現由UPnP論壇建立的PrintBasic服務。 UPnP協議處理單元204具有分析列印作業和由服務定義的屬性信息 並向印表機控制器206提交列印請求的功能。
圖2示出了實現圖1所示的客戶站100和印表機200的功能的硬 件結構。如圖2中所示,客戶站100或印表機200包括中央處理單元 (CPU) 401,執行存儲在只讀存儲器(ROM) 402或硬碟(HD ) 404中的軟體(程序)。CPU 401通過執行軟體來進行連接到系統總 線406的每個設備的整體控制。
隨^/L訪問存儲器(RAM) 403用作CPU 401的主存儲器和工作 區。LAN卡405經由網絡300執行客戶站100 (或印表機200)和另 一個聯網設備(或另一個網絡站)之間的雙向數據通信,所述網絡 300是區域網(LAN)。
下面將簡要說明UPnP (商標)規範。如圖3所示,UPnP具有 六個階段。圖3示出了 UPnP (商標)的這六個階段。如此處所使用 的,術語"控制點"是指屬於UPnP(商標)網絡的客戶端,即這一 實施例中的客戶站100。而且,術語"設備"是指向UPnP(商標) 網絡提供一個服務或多個服務的設備,即這一實施例中的印表機 200。
如圖3中所示,在第一階段,即尋址階段,設備(印表機200) 自動生成連結局部(link-local)地址並獲得這一地址。然後,在第二 階段,即發現階段(檢測階段),設備(印表機200 )根據簡單服務 發現協議(SSDP)通告服務。從而,控制點(客戶站100)可以發 現這一設備(印表機200)。
在第三階段,即在描述階段,控制點(客戶站100)獲取設備 (印表機200)的描述(參見下面描述的圖5)和服務的描述(參見 下面描述的圖6)。如此處所使用的,描述是控制設備所需要的一組 信息項。更具體的,描述包括表示URL (設備的GUI)、控制URL (控制伺服器的入口點和設備命令的入口點),事件預約URL(設備
的服務登記),和服務控制協議(SCP)描述(用於設備的語言)。
在第四階段,即在控制階段,控制點(客戶站100)將控制消息 發送給服務的控制URL。控制消息經由SOAP/HTTP協議發送。此 後,在第五階段,即事件(Eventing)階段,事件目的地向事件源發送 接受消息(預約消息),該事件源隨後響應於服務狀態的改變向事件 目的地,即控制點(客戶站100),發送狀態改變的通知。
在第六階段,即在表示(presentation)階段,控制點(客戶站 100)從表示URL獲取頁面(設備的GUI),並將所獲得的頁面傳送 至瀏覽器,從而用戶可以經由瀏覽器來控制該設備。通過處理上述的 第一至第六階段,客戶站100可以獲取有關UPnP (商標)網絡300 中印表機200的信息,以利用由列印才幾200提供的服務。
圖4是圖3所示的第一至第六階段的第二至第六階段中控制點 (客戶站100)和設備(印表機200)之間的數據流程圖。如圖4所 示,在步驟S401,作為發現階段中的處理,設備(印表機200)首先 向控制點(客戶站100)通告服務。
在步驟S402,作為描述階段中的處理,控制點(客戶站100)隨 後獲取設備(印表機200)的描述(下文中稱為"第一描述數據"), 如圖5所示,和服務的描述(下文中稱為"第二描述數據"),如圖6 所示。圖5示出了根據這一實施例描述有關印表機200的信息的第一 描述數據的示例。圖6示出了根據這一實施例描述有關由印表機200 提供的服務的第二描述數據的示例。
在這一實施例中,在步驟S402,當獲取有關設備(印表機200) 的第一描述數據和有關服務(列印服務)的第二描述數據時,控制點 (客戶站100)執行本實施例特有的處理。下面將參考圖7和8描述 該特有處理的細節。首先,下面將簡要描述該特有處理。
根據該實施例,客戶站100可以具有兩個地址由UPnP指定的 連結局部地址,和在網際網路世界中唯一的指定地全局地址。此處,鏈 接局部地址總是在UPnP的尋址階段被指定給一個實現UPnP的信息 技術(IT)產品。連結地址被認為是低可信的地址,即非通用地址。 相反,全局地址被認為是高可信的地址,即在網際網路上唯一地指定的 通用雄址。
因此,通過確定從客戶站100到印表機200的訪問正在使用連結 局部地址還是全局地址,印表機200可以改變許可給客戶站100的控 制區域,以便提高安全級別。從而,與已知的通信方法相比,在家庭 中使用允許通信的協議(例如,UPnP (商標)協議)的PC、其外圍 設備、和消費電子產品之間的通信中,可以提高安全級別。
在步驟S403,作為控制階段的處理,控制點(客戶站IOO)讀取 第二描述數據,並將控制消息發送到服務的控制URL。在步驟 S404,作為事件階段的處理,作為事件源的設備(印表機200)根據 改變將服務狀態改變的通知發送到控制點(客戶站100)。
在步驟S405,作為表示階段的處理,設備(印表機200)將用於 瀏覽器的頁面信息發送到控制點(客戶站100)。因而,控制點(客 戶站100)可以將所需要的頁面傳送到瀏覽器,以便允許用戶經由瀏 覽器來控制設備(印表機200)。
下面將詳細描述作為這一實施例中特有的處理的、圖4的步驟 S402中的處理(描述階段中的處理)。首先,下面將參考圖4詳細描 述印表機200在步驟S402中的處理。圖7是圖解說明印表機200在 圖4的步驟S402中的詳細處理的流程圖。
如圖7中所示,印表機200通過執行用於步驟S402中的處理 (即,描述階段的處理)的程序來開始處理(步驟S700 )。在步驟 S701,印表機200確定客戶站IOO是使用連結局部地址訪問還是全局 地址訪問來發送SSDP請求。如果列印才幾200確定客戶站100使用鏈 接局部地址訪問(步驟S701的否),則處理繼續到步驟S702,在該 步驟中,印表機200中的UPnP協議處理單元204的全局地址通知請 求單元請求客戶站10.0通知全局地址。此後,在步驟S703,印表機 200確定客戶站100是否響應於在步驟S702的請求返回了全局地 址。
如果印表機200確定客戶站100返回了全局地址(步驟S703的
是),則處理繼續到步驟S704,在該步驟中印表機200將印表機200 的控制URL發送至客戶站100。處理隨後繼續到步驟S705,在該步 驟中,描述階段完成。但是,如果印表機200確定客戶站IOO使用全 局地址訪問(步驟S701中的是),則印表機200的處理繼續到步驟 S704。如果,在步驟S703,印表機200確定客戶站100沒有返回全 局地址(步驟S703的否),則處理繼續到步驟S706,在該步驟中, 印表機200僅通知表示URL,而不通知控制URL。隨後,處理繼續 到步驟S705。
下面將詳細描述客戶站100在步驟S402的處理。圖8是圖解說 明客戶站100在圖4的步驟S402處的詳細處理的流程圖。連結局部 地址描述為"fe80:0000:0000:000(X接口 ID>" (16進位數字),另一 方面,全局地址從"001 ,, (2位格式)開始。在RFC2374
(http:〃www.ietf.org/rfc/rfc2374.txt)中描述了其細節。在這一實施 例的步驟S701或圖7的其他步驟中,通過提取包含在從源接收的包 中的地址並檢查所提取的包信息,程序可以確定所述源通知了 一個鏈 接局部地址還是一個全局地址。
如圖8中所示,客戶站100通過執行用於步驟S402的處理
(即,描述階段的處理)的程序開始進行處理(步驟S800)。在步驟 S801,客戶站100首先等待來自印表機200的、對於全局地址通知的 請求。如上所述,從圖7的步驟S702的處理髮出對於全局地址通知 的請求。
如果客戶站100從印表機200接收到對於全局地址通知的請求 (步驟S801的是),則處理繼續到步驟S802,在該步驟中,客戶站 100的UPnP協議處理單元103中的全局地址通知處理單元104確定 客戶站100是否具有全局地址。
如果確定客戶站IOO具有全局地址(步驟S802的是),則處理繼 續到步驟S803,在該步驟中,UPnP協i義處理單元103將全局地址的 通知發送至印表機200。隨後處理繼續到步驟S804。在步驟S804, 客戶站100從印表機200接收控制URL。處理隨後繼續到步驟
S805。在步驟S805,客戶站IOO終止描述階段的處理。
但是,如果在步驟S801客戶站100沒有從印表機200接收到對 於全局地址通知的請求(步驟S801的否),則客戶站100的處理繼續 到步驟S804。如果在步驟S802中確定客戶站100不具有全局地址, 則處理繼續到步驟S806,在該步驟中,客戶站100從印表機200接 收表示URL,並且處理繼續到步驟S805。如上所述,在步驟S806 接收的表示URL是印表機200在圖7的步驟S706發送給客戶站100 的表示URL。
如圖7和8中所示,通過執行描述階段的處理,印表機200將控 制URL的通知發送至4吏用全局地址訪問印表機200客戶站100,所 述控制URL許可印表機200的高級別或細節級控制。相反,當客戶 站100訪問印表機200而不發送全局地址的通知時(即,通過使用鏈 接局部地址),則印表機200向客戶站100通知表示URL,其將列印 機200的訪問限制到一個預定的範圍。也就是說,向印表機200通知 全局地址並訪問該印表機200的客戶站100可以執行印表機200的較 高級和更精確級別的控制。因此,由於印表機200的控制級別對於僅 向印表機200通知低可信的連結局部地址的客戶站100可以是有限制 的,因此能夠提高安全級別。
此外,在較高的概念級,連接到網絡的設備(印表機200)確定 在UPnP (商標)的描述階段,來自控制點(客戶站100)的訪問是 使用連結局部地址的訪問還是使用全局地址的訪問。如果確定該訪問 是使用連結局部地址的訪問,則設備請求控制點向該設備通知全局地 址。如果控制點(客戶站100)向設備通知了全局地址,則設備向控 制點通知控制URL,該控制URL允許設備的整體控制。但是,如果 控制點沒有向設備通知全局地址,則設備不向控制點通知控制 URL,而是只通知表示URL,該表示URL是設的GUI並且其僅 允許對設備的受限的訪問。由此,通過將僅具有低可信(非通用)鏈 接局部地址的IT產品與具有高可信(通用)全局地址的IT產品相 區別,可以提高UPnP (商標)的安全級別。
另外,根據另一個實施例,下面將描述UPnP和IPv6在同一個 網絡共存的情形。在考慮到IPv6在未來的廣泛使用時,期望這一情 形。當UPnP和IPv6在同一個網絡共存時, 一些IT產品具有由 UPnP和IPv6指定的連結局部地址和全局地址兩者。就連結局部地 址而言,連結局部地址總是在UPnP的尋址階段被指定給實現UPnP 的IT產品。因此,該地址是低可信的(非通用)。實現IPv6的IT 產品總是自動生成連結局部地址。因此,該IT產品的地址也是低可 信的(非通用)。本發明也可以應用於這樣的情形。
上述實施例中圖4、 7和8中所示的處理由CPU 401完成,該 CPU401執行關於從存儲器讀取的處理的程序。但是,本發明不限於 此。可選擇的, 一些或全部所述的處理可以由專用的^^件來完成。而 且,上述存儲器可以是計算機可讀和計算機可寫記錄介質,包括例如 磁光碟單元和快閃記憶體的非易失性存儲器、例如CD-ROM (只讀光碟存 儲器)的只讀存儲器、除了 RAM之外的易失性存儲器、或他們的結 合。
結合圖4、 7和8描述的功能可以通過計算機可讀記錄介質中執 行這些功能的記錄程序和通過從記錄介質讀出程序並執行該程序的計 算機系統來完成。如此處所使用的,術語"計算機系統"是指操作系 統(OS)和包括外圍設備的硬體。更具體的,上述實施例的功能可 以由下面的處理來完成在該處理中,在從記錄介質中讀出的程序存 儲在插入計算機的另加的擴充卡的存儲器中或連接到計算機的另加的 擴充單元的存儲器中之後,所述另加的擴充卡或另加的擴充單元中的 CPU執行在上面的實施例中描述的一些或全部功能。
另外,術語"計算機可讀記錄介質"是指例如軟盤、磁光碟、 ROM、 CD-ROM (只讀光碟存儲器)等可移除介質,和安裝在計算 機系統中的存儲器單元,例如硬碟。此外,術語"計算機可讀記錄介 質"包括對於預定的時間段保存有程序的存儲器,例如安裝在計算機 系統中的易失性存儲器(RAM),所述計算機系統在經由諸如網際網路 的網絡和諸如電話線的通信線路傳送所述程序時用作伺服器和客戶端。
此外,所迷程序可以經由傳輸介質或傳輸介質中的發射波從在存 儲單元中存儲程序的計算機系統傳送到另 一個計算機系統。如此處所 使用的,術語"傳輸介質"是指能夠發送信息的介質,包括例如因特 網的網絡(通信網絡)和例如電話線的通信線路(通信線)。
所述程序可以用來完成上述的一些功能。另外,所述程序可以是 一個與預存在計算機系統中的程序一起完成上述功能的程序,即該程
序可以是一個稱為差(difference)文件的文件(差程序)。
此外,本發明可以應用到一個程序產品,其包括用於記錄作為本 發明的實施例的程序的計算機可讀記錄介質。上述程序、記錄介質、 傳輸介質、和程序產品都包括在本發明的精神和範圍內。
儘管上面參照示例性實施例描述了本發明,但應當理解本發明 不限於所公開的實施例。相反,本發明旨在覆蓋包括在所附權利要求 的精神和範圍內的各種修改和等價的布置。隨後的權利要求的範圍將 被給予最寬的解釋,從而包含所有這樣的修改和等價結構和功能。
權利要求
1.一種用於向客戶站提供服務的服務提供設備,包括檢測單元,配置為檢測客戶站的訪問;通知請求單元,配置為請求訪問服務提供設備的客戶站向服務提供設備通知該客戶站的全局地址;確定單元,配置為確定客戶站是否響應來自通知請求單元的請求向服務提供設備通知全局地址;和服務提供單元,配置為基於確定單元的確定結果向客戶站提供服務;其中,如果確定單元確定客戶站向服務提供設備通知全局地址,則與向通知連結局部地址的客戶站所提供的服務相比,服務提供單元提供受限較少的服務。
2. 如權利要求1所述的服務提供設備,其中所述客戶站和服務提 供設備之間的通信協議包括通用即插即用UPnP協議。
3. 如權利要求1所述的服務提供設備,其中由通知請求單元、確 定單元和服務提供單元執行的處理是在通用即插即用UPnP協議的描述 階段執行的處理。
4. 一種控制服務提供設備的方法,所述服務提供設備用於向客戶 站提供服務,所述方法包括步驟檢測步驟,檢測客戶站的訪問;通知請求步驟,請求訪問服務提供設備的客戶站向服務提供設備通 知該客戶站的全局地址;確定步驟,確定客戶站是否響應通知請求步驟的請求向服務提供設 備通知全局地址;和服務提供步驟,基於確定步驟的結果向客戶站提供服務;其中,如果確定步驟確定客戶站向服務提供設備通知全局地址,則在服務提供步驟中,與向通知連結局部地址的客戶站所提供的服務相比,提供受限較少的服務。
5. 如權利要求4所述的控制服務提供設備的方法,其中所述客戶 站和服務提供設備之間的通信協議是通用即插即用UPnP協議。
6. 如權利要求4所迷的控制服務提供設備的方法,其中在通知請 求步驟、確定步驟和服務提供步驟執行的處理是在通用即插即用UPnP 協議的描述階段執行的處理。
全文摘要
本發明公開一種用於向客戶站提供服務的服務提供設備和控制服務提供設備的方法,所述服務提供設備包括檢測單元,配置為檢測客戶站的訪問;通知請求單元,配置為請求訪問服務提供設備的客戶站向服務提供設備通知該客戶站的全局地址;確定單元,配置為確定客戶站是否響應來自通知請求單元的請求向服務提供設備通知全局地址;和服務提供單元,配置為基於確定單元的確定結果向客戶站提供服務;其中,如果確定單元確定客戶站向服務提供設備通知全局地址,則與向通知連結局部地址的客戶站所提供的服務相比,服務提供單元提供受限較少的服務。
文檔編號H04L12/00GK101350838SQ20081021505
公開日2009年1月21日 申請日期2005年6月7日 優先權日2004年6月8日
發明者飯塚紘子 申請人:佳能株式會社