説明

サービス提供システム、サービス提供方法及びそのプログラム

【課題】 パソコン及び家電製品などの機器で相互に通信可能とするためのプロトコルを利用した通信において、よりセキュリティを向上することができるサービス提供システム、サービス提供方法及びそのプログラムを提供する。
【解決手段】 プリンタ200は、アクセスしてきたクライアント端末100のグローバルアドレスを取得済みであるか否かを判断し、クライアント端末のグローバルアドレスを取得済みでないと判断した場合に、クライアント端末100に対してグローバルアドレスを通知するよう要求するグローバルアドレス通知要求部205を備え、その要求に応じてクライアント端末100がグローバルアドレスを通知してきたか否かにより、クライアント端末に提供するサービスの内容が異なるよう制御する。クライアント端末100は、グローバルアドレスを通知するよう要求を受けた場合に、プリンタ200へグローバルアドレスを通知する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パソコンやその周辺機器及び家電製品などの機器を、ネットワークを通じて接続し、相互に機能を提供しあうネットワークシステムにおいてアクセス制御を行うサービス提供システム、サービス提供方法及びそのプログラムに関するものである。
【背景技術】
【0002】
近年、UPnP(ユニバーサル・プラグ・アンド・プレイ)(登録商標)という、家庭内のパソコンやその周辺機器及び家電製品などの機器を、相互に通信可能とするためのプロトコルの策定が進められている。
【0003】
また、従来から、ネットワーク上のクライアント装置からのサービス要求に応え、サービスを提供するサービス提供装置及び、サービス提供システムが知られている。そして、インターネットによる通信の飛躍的な普及に伴い、ネットワーク対応型機器として、従来のパーソナルコンピュータ以外の種類の多様な機器が開発されている。例えば、PDA(Personal Digital Assistance)、携帯電話等のユーザインタラクティブなデバイスや、スキャナ、プリンタ、複写機、デジタルカメラ等の画像処理装置や、テレビ、エアコン、冷蔵庫等の家電製品などに至るまでネットワーク対応が急速に進められている。
【0004】
それに伴い、これらネットワーク対応型デバイスを利用する上での利便性、簡易性を高めるために、ネットワークアドレスの自動設定手段、サービスを提供するネットワークデバイスの探索、検索手段、ネットワーク対応型デバイスを制御するためのアプリケーションソフトウエア、ユーティリティソフトウエア、オペレーティングシステム等の自動セットアップ手段を提供する、さまざまなプロトコルが提案されている。例えば、Microsoft社が主体となって策定を進める上述したUPnP(登録商標)、ビジネス機械・情報システム産業協会(JBMIA)が推進するBMLinks(非特許文献1)、Apple社が開発したOS XでサポートされるRenedzvousなどがその一例である。
【0005】
【非特許文献1】"BMLinkSとは"、[online]、ビジネス機械・情報システム産業協会、[平成16年5月19日検索]、インターネット<URL:http://www.jbmia.or.jp/bmlinks/intro/index.htm>
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、現在のUPnP(登録商標)におけるメッセージングの仕様では、デバイスは、要求のあったすべてのコントロールポイントに対して、情報を受け取るためのURL(以下、コントロールURLとする)を通知している。このような仕様では、アクセス制限なしに、制御サーバへのエントリやデバイスコマンドへのエントリが可能なコントロールURLを通知してしまっているので、デバイスが、悪意のある第三者からDoS攻撃などを受ける可能性があるなど、セキュリティ上の問題がある。すなわち、コントロールURLを不正な端末に通知してしまうと、その不正な端末から簡単にネットワーク上のデバイスに接続可能となってしまうという問題がある。
【0007】
本発明は、上述した事情を考慮してなされたもので、家庭内及びオフィスのパソコンやその周辺機器及び家電製品、OA機器などの機器を、相互に通信可能とするためのプロトコルを利用した通信において、よりセキュリティを向上することができるサービス提供システム、サービス提供方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
この発明は、上述した課題を解決すべくなされたもので、クライアント端末と、前記クライアント端末にサービスを提供するサービス提供デバイスとを含むサービス提供システムであって、前記サービス提供デバイスは、アクセスしてきた前記クライアント端末のグローバルアドレスを取得済みであるか否かを判断する判断手段と、前記判断手段が前記クライアント端末のグローバルアドレスを取得済みでないと判断した場合に、前記クライアント端末に対して前記グローバルアドレスを通知するよう要求する通知要求手段と、前記通知要求手段の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してきた場合と、前記通知要求手段の要求に応じて前記クライアント端末が前記グローバルアドレスを通知しなかった場合とで、前記クライアント端末に異なるサービスを提供するサービス提供手段と、を具備し、前記クライアント端末は、前記サービス提供デバイスから前記グローバルアドレスを通知するよう要求を受けた場合に、前記クライアント端末が前記グローバルアドレスを保持しているか否かを確認する確認手段と、前記確認手段が、前記グローバルアドレスを前記クライアント端末が保持していることを確認した場合に、前記サービス提供デバイスへ前記グローバルアドレスを通知する通知手段とを具備することを特徴とする。
【0009】
また、本発明は、クライアント端末と、前記クライアント端末にサービスを提供するサービス提供デバイスとを含むサービス提供システムにおけるサービス提供方法であって、前記サービス提供デバイスは、アクセスしてきた前記クライアント端末のグローバルアドレスを取得済みであるか否かを判断する判断工程と、前記判断工程が前記クライアント端末のグローバルアドレスを取得済みでないと判断した場合に、前記クライアント端末に対して前記グローバルアドレスを通知するよう要求する通知要求工程と、前記通知要求工程の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してきた場合と、前記通知要求工程の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してこなかった場合とで、前記クライアント端末に異なるサービスを提供するサービス提供工程とを実行し、前記クライアント端末は、前記サービス提供デバイスから前記グローバルアドレスを通知するよう要求を受けた場合に、前記クライアント端末が前記グローバルアドレスを保持しているか否かを確認する確認工程と、前記確認工程が、前記グローバルアドレスを前記クライアント端末が保持していることを確認した場合に、前記サービス提供デバイスへ前記グローバルアドレスを通知する通知工程とを実行することを特徴とする。
【0010】
また、本発明は、サービス提供装置であって、アクセスしてきた前記クライアント端末のグローバルアドレスを取得済みであるか否かを判断する判断手段と、前記判断手段が前記クライアント端末のグローバルアドレスを取得済みでないと判断した場合に、前記クライアント端末に対して前記グローバルアドレスを通知するよう要求する通知要求手段と、前記通知要求手段の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してきた場合と、前記通知要求手段の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してこなかった場合とで、前記クライアント端末に異なるサービスを提供するサービス提供手段と、を有することを特徴とする。
【0011】
また、本発明は、サービス提供装置制御方法であって、アクセスしてきた前記クライアント端末のグローバルアドレスを取得済みであるか否かを判断する判断工程と、前記判断工程が前記クライアント端末のグローバルアドレスを取得済みでないと判断した場合に、前記クライアント端末に対して前記グローバルアドレスを通知するよう要求する通知要求工程と、前記通知要求工程の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してきた場合と、前記通知要求工程の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してこなかった場合とで、前記クライアント端末に異なるサービスを提供するサービス提供工程と、を有することを特徴とする。
【0012】
また、本発明の制御プログラムは、アクセスしてきた前記クライアント端末のグローバルアドレスを取得済みであるか否かを判断する判断工程と、前記判断工程が前記クライアント端末のグローバルアドレスを取得済みでないと判断した場合に、前記クライアント端末に対して前記グローバルアドレスを通知するよう要求する通知要求工程と、前記通知要求工程の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してきた場合と、前記通知要求工程の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してこなかった場合とで、前記クライアント端末に異なるサービスを提供するサービス提供工程と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【0013】
本発明によるサービス提供システム、サービス提供システムにおけるサービス提供方法、サービス提供装置、サービス提供装置制御方法(又はサービス提供装置におけるサービス提供方法)及び制御プログラムは、家庭内やオフィスのパソコンやその周辺機器及び家電製品及びOA機器などの機器を、相互に通信可能とするためのプロトコルを利用した通信において、よりセキュリティを向上することができる。
【発明を実施するための最良の形態】
【0014】
以下に、図面を参照して、本発明の好適な実施の形態を例示的に詳しく説明する。
【0015】
本実施形態におけるネットワークの通信プロトコルを制御するプロトコル制御システムの例として、ネットワークを介して印刷サービスを提供するサービス提供システムで用いるプロトコル制御システムについて説明する。
図1は、本発明の一実施形態におけるプロトコル制御システム(サービス提供システム)の概略構成を示すブロック図である。サービス提供デバイスとしては、プリンタ200、不図示のファクシミリ、スキャナ、デジタルカメラ、携帯電話、複写機、及びこれらの複合機を含む。
【0016】
図1に示すように、クライアント端末100とプリンタ(サービス提供デバイス)200がネットワーク300を介して接続されている。また、図1に示すように、クライアント端末100は、以下に説明する機能構成を有する。クライアント端末100は、例えばMicrosoft社のWindows(登録商標)や、Apple社のMac OS(登録商標)等の汎用オペレーティングシステムであるOS105を有する。また、クライアント端末100は、そのOS105上で実行可能な汎用アプリケーションであるアプリケーション101を備える。
【0017】
また、クライアント端末100は、UPnP(登録商標)プロトコル処理部103を備えることで、XML(eXtensible Markup Language)/SOAP(Simple Object Access Protocol)を利用したUPnP(登録商標)プロトコルを使用して、ネットワーク300上のデバイスのディスカバリ、制御、ステータスの取得等を実現している。例えばアプリケーション101が、ワードプロセッサである場合に、そのアプリケーション101で作成されたドキュメントは、UPnP(登録商標)プロトコル処理部103が検索発見したUPnP(登録商標)プロトコルに対応するネットワーク300に接続されたプリンタ(例えばプリンタ200)に対し、プリンタドライバ102で印字可能なデータに変換された後、UPnP(登録商標)プロトコル処理部103の処理によりプリントジョブとして発行される。
【0018】
一方、プリンタ200は、ネットワーク300に接続可能なネットワーク対応デバイスであり、通信機能としてTCP/UDP/IPv6のプロトコルをスタックするプロトコルスタック201を備える。また、プリンタ200は、ネットワーク300を介して印刷サービスを提供するサービス提供デバイスでもある。また、プリンタ200は、プロトコルスタック201の上位層にHTTP処理部202を備え、HTTPリクエストの解析、およびレスポンス処理を行う。HTTP処理部202の上位層にはSOAPに関する処理を行うSOAP処理部203及びUPnP(登録商標)プロトコルに関する処理を行うUPnP(登録商標)プロトコル処理部204を備える。
【0019】
また、プリンタ200は、UPnP(登録商標)フォーラムで策定されたPrintBasicサービスを実装しており、UPnP(登録商標)プロトコル処理部204は該サービスで定義されたプリントジョブ、および属性情報を解析し、プリンタコントローラ206に対し、そのプリント要求を送出する機能を備える。
【0020】
図2は、図1に示したクライアント端末100又はプリンタ200の機能を実現するハードウェア構成例を示す図である。
図2に示すように、クライアント端末100又はプリンタ200は、ROM(Read Only Memory)402もしくはハードディスク(HD)404に記憶されたソフトウェア(プログラム)を実行するCPU(中央演算装置)401を備える。CPU401は、ソフトウェアの実行によりシステムバス406に接続される各デバイスを総括的に制御する。
【0021】
403はRAM(Random Access Memory)であり、CPU401の主メモリ、ワークエリア等として機能する。405はLANカードであり、LAN(Local Area Network)であるネットワーク300を通じて、他のネットワーク機器あるいは他のネットワーク端末と双方向にデータをやりとりする。
【0022】
次に、UPnP(登録商標)の仕様について、簡単に説明する。図3に示すように、UPnP(登録商標)には、6つのフェーズが用意されている。図3は、UPnP(登録商標)が有する1〜6までのフェーズを示す図である。尚、以下の説明において、コントロールポイントとは、UPnP(登録商標)のネットワークに属するクライアントのことであり、本実施形態のクライアント端末100のことを示す。また、デバイスとは、1つまたは複数のサービスをUPnP(登録商標)のネットワーク上に提供するものであり、本実施形態ではプリンタ200のことを示す。
【0023】
図3に示すように、1番目のフェーズであるAddressingフェーズでは、デバイス(プリンタ200)が、自動的にリンクローカルアドレスを生成し、取得する。次に、2番目のフェーズであるDiscoveryフェーズ(検出フェーズ)では、SSDP(Simple Service Discovery Protocol)に従って、デバイス(プリンタ200)がサービスのアナウンスを行う。これにより、コントロールポイント(クライアント端末100)は、デバイス(プリンタ200)を発見する。
【0024】
次に、3番目のフェーズであるDescriptionフェーズ(記述フェーズ)では、コントロールポイント(クライアント端末100)がデバイス(プリンタ200)のDescription(後述する図5を参照)及びサービスのDescription(後述する図6を参照)を取得する。ここでいうDescriptionとは、デバイスを制御するために必要な情報の集合を現す。具体的には、Presentation URL(デバイスのGUI)、Contorol URL(制御サーバのエントリ、デバイスコマンドへのエントリ)、Event Subscription URL(デバイスのイベントサービス登録)、Service Contorol Protocol(SDP) Description(デバイスが使用する言語)などを含む。
【0025】
次に、4番目のフェーズであるControlフェーズ(制御フェーズ)では、コントロールポイント(クライアント端末100)がサービスのControl URLへ制御メッセージを送る。この制御メッセージは、SOAP/HTTP上で送られる。次に、5番目のフェーズであるEventingフェーズでは、イベントの宛先は、承諾メッセージ(Subscriptionメッセージ)をイベントの発生元に送信し、イベントの発生元は、サービスの状態の変化に応じて、イベントの宛先であるコントロールポイント(クライアント端末100)に状態の変化を通知する。
【0026】
次に、6番目のフェーズであるPresentationフェーズでは、コントロールポイント(クライアント端末100)は、Presentation URLから、ページ(デバイスのGUI)を取得、取得したページをブラウザに取り込み、ユーザがブラウザ上でデバイスの制御ができるようにする。以上に示した1〜6のフェーズを処理することにより、クライアント端末100は、UPnP(登録商標)のネットワーク300において、プリンタ200に関する情報を取得し、プリンタ200が提供するサービスを利用することができる。
【0027】
図4は、図3で説明した1〜6のフェーズの内、2〜6のフェーズにおけるコントロールポイント(クライアント端末100)と、デバイス(プリンタ200)間のデータの流れを示した図である。図4に示すように、まず、ステップS401において、デバイス(プリンタ200)が、Discoveryフェーズの処理として、コントロールポイント(クライアント端末100)へサービスのアナウンスを行う。
【0028】
次に、ステップS402において、コントロールポイント(クライアント端末100)が、Descriptionフェーズの処理として、図5に示すデバイス(プリンタ200)のDescription(以下、第1の記述データとする)及び図6に示すサービスのDescription(以下、第2の記述データとする)を取得する。図5は、本実施形態におけるプリンタ200に関する情報を記述した第1の記述データ例を示す図である。図6は、本実施形態におけるプリンタ200が提供するサービスに関する情報を記述した第2の記述データ例を示す図である。
【0029】
本実施形態ではコントロールポイント(クライアント端末100)が、ステップS402において、デバイス(プリンタ200)に関する第1の記述データ及びデバイスのサービス(印刷サービス)に関する第2の記述データをデバイス(プリンタ200)から取得する処理において特徴的な処理をしている。その詳細については、後述する図7及び図8を用いて説明するが、特徴的な処理の概要について以下に説明する。
【0030】
本実施形態におけるクライアント端末100は、UPnP(登録商標)の仕様により割り振られるアドレスであるリンクローカルアドレスと、インターネットの世界で一意に割り振られるアドレスであるグローバルアドレスの両方を持つ場合がある。ここで、リンクローカルアドレスは、UPnP(登録商標)が実装されているIT製品には、UPnP(登録商標)のAddressingフェーズで必ず割り振られ、信頼性が低い(普遍性が低い)アドレスであるといえる。これに対して、グローバルアドレスは、インターネットの中で一意に割り振られる信頼性の高い(普遍性が高い)アドレスといえる。
【0031】
そこで、クライアント端末100からプリンタ200に対するアクセスがリンクローカルアドレスを用いたものであるか、グローバルアドレスを用いたものであるかにより、プリンタ200がクライアント端末100に対して許可する制御範囲を変更する処理を行うことで、よりセキュリティを向上することができる。これにより、家庭内のパソコンやその周辺機器及び家電製品などの機器を、相互に通信可能とするためのプロトコル(例えば、UPnP(登録商標)プロトコル)を利用した通信において従来よりセキュリティを向上することができる。
【0032】
次に、ステップS403において、コントロールポイント(クライアント端末100)は、Controlフェーズの処理として、第2の記述データを参照してサービスのControl URLへ制御メッセージを送る。次に、ステップS404において、イベントの発生元であるデバイス(プリンタ200)は、Eventingフェーズの処理として、サービスの状態の変化に応じて、イベントの宛先であるコントロールポイント(クライアント端末100)にその変化を通知する。
【0033】
次に、ステップS405において、デバイス(プリンタ200)は、Presentationフェーズの処理として、ブラウザのページ(デバイスのGUI)情報を、コントロールポイント(クライアント端末100)へ送信する。これにより、コントロールポイント(クライアント端末100)は、取得したページをブラウザに取り込み、ユーザがブラウザ上でデバイス(プリンタ200)の制御ができるようにする。
【0034】
次に、本実施形態の特徴的な処理である図4のステップ402における処理(Descriptionフェーズの処理)の詳細について、まず、プリンタ200における図4に示したステップ402の処理の詳細を説明する。図7は、図4のステップ402におけるプリンタ200における処理の詳細を示すフロー図である。
【0035】
図7の処理において、プリンタ200は、ステップS402の処理(Descriptionフェーズの処理)を行うプログラムの実行により処理を開始する(ステップS700)。まず、ステップS701において、プリンタ200は、SSDP要求のあったクライアント端末100がリンクローカルアドレスでのアクセスかグローバルアドレスでのアクセスかを判断する。ここで、クライアント端末100がリンクローカルアドレスでのアクセスであると判断した場合(ステップS701のNo)には、ステップS702に進み、プリンタ200のUPnP(登録商標)プロトコル処理部204のグローバルアドレス通知要求部205が、クライアント端末100に対して、グローバルアドレスの通知を要求する。次に、ステップS703において、プリンタ200は、クライアント端末100がステップS702の要求に応じてグローバルアドレスを通知してきたか否かを判断する。なお、リンクローカルアドレスは、「fe80:0000:0000:0000:<インターフェイスID>」の形式で表現される。グローバルアドレスは、上記のパケット形式のうち、上位3ビットが固定されており、001で始まるものとされている。詳しくは、RFC2374(http://www.ietf.org/rfc/rfc2374.txt)を参照されたい。図7のS703では、パケットに含まれる送信元を示すアドレスを抽出して、送信元がリンクローカルアドレスを通知してきたか、グローバルアドレスを通知してきたかを判断する。
【0036】
ここで、グローバルアドレスを通知してきたと判断した場合(ステップS703のYes)には、ステップS704に進み、プリンタ200は、クライアント端末100に対して、プリンタ200のコントロールURLを通知する。次に、ステップS705に進み、Descriptionフェーズの処理を終了する。また、ステップS701において、クライアント端末100からのアクセスがグローバルアドレスであると判断した場合(ステップS701のYes)には、プリンタ200は、ステップS704に進む。また、ステップS703において、クライアント端末100がグローバルアドレスを通知してこないと判断した場合(ステップS703のNo)には、ステップS706に進み、プリンタ200は、コントロールURLを通知しないで、プレゼンテーションURLのみクライアント端末100に通知して、ステップS705に進む。
【0037】
次に、クライアント端末100におけるステップS402の処理の詳細を説明する。図8は、図4のステップ402におけるクライアント端末100における処理の詳細を示すフロー図である。
【0038】
図8に示すように、クライアント端末100は、ステップS402の処理(Descriptionフェーズの処理)を行うプログラムの実行により処理を開始する(ステップS800)。まず、ステップS801において、クライアント端末100は、プリンタ200からのグローバルアドレスの通知要求を待つ。尚、プリンタ200からのグローバルアドレスの通知要求とは、図7のステップS702の処理によるものである。
【0039】
ここで、プリンタ200からグローバルアドレスの通知要求があった場合(ステップS301のYes)には、ステップS802に進み、クライアント端末100のUPnP(登録商標)プロトコル処理部103中のグローバルアドレス通知処理部104は、クライアント端末100がグローバルアドレスを所持しているか否かを確認する。
【0040】
ここで、クライアント端末100がグローバルアドレスを所持していることを確認した場合(ステップS802のYes)には、ステップS803に進み、UPnP(登録商標)プロトコル処理部103は、プリンタ200に対し、グローバルアドレスを通知し、ステップS804に進む。次に、ステップS804において、クライアント端末100は、プリンタ200からコントロールURLを受信し、ステップS805に進む。ステップS805において、クライアント端末100は、Descriptionフェーズの処理を終了する。
【0041】
また、ステップS801においてプリンタ200からグローバルアドレス通知要求を受信しなかった場合(ステップS801のNo)には、クライアント端末100は、ステップS804に進む。また、ステップS802において、クライアント端末100がグローバルアドレスを保持していないことを確認した場合には、ステップS806に進み、クライアント端末100は、プリンタ200からプレゼンテーションURLを受信して、ステップS805に進む。尚、ステップS806で受信するプレゼンテーションURLは、図7のステップS706においてプリンタ200がクライアント端末100に通知したプレゼンテーションURLである。
【0042】
以上の図7、図8に示したように、Descriptionフェーズの処理を行うことで、クライアント端末100がグローバルアドレスを通知してプリンタ200にアクセスしている場合には、プリンタ200は、クライアント端末100がプリンタ200に対して高度(または詳細)な制御が可能となるコントロールURLを通知する。また、クライアント端末100がグローバルアドレスを通知せずに(リンクローカルアドレスにより)プリンタ200にアクセスしている場合には、プリンタ200は、クライアント端末100がプリンタ200に対して限られた範囲で制御が可能となるプレゼンテーションURLを通知する。すなわち、クライアント端末100がグローバルアドレスを通知してプリンタ200にアクセスした場合の方が、クライアント端末100は、プリンタ200に対してより高度で詳細な制御が可能となる。これにより、信頼性の低いリンクローカルアドレスのみを通知してプリンタ200を利用しようとするクライアント端末100に対しては、プリンタ200対して制御可能な範囲を制限することでセキュリティを強化することができる。
【0043】
更に、上位の概念で説明すると、ネットワークに接続されたデバイス(プリンタ200)は、UPnP(登録商標)のDescriptionフェーズにおいて、コントロールポイント(クライアント端末100)からのアクセスが、リンクローカルアドレスによるアクセスか、グローバルアドレスによるアクセスかを区別する。ここで、リンクローカルアドレスからのアクセスであると区別した場合、デバイスは、コントロールポイントに対してグローバルアドレスの通知を要求する。また、コントロールポイント(クライアント端末100)がグローバルアドレスを通知してきた場合には、デバイスのコントロールURL(デバイスに対するすべての制御が可能)を通知する。一方、コントロールポイントが、グローバルアドレスを通知してこなかった場合には、コントロールURLを通知せず、プレゼンテーションURL(デバイスのGUI。デバイスに対する制限された制御のみが可能)のみ通知する。以上により、信頼性の低い(普遍性の低い)リンクローカルアドレスのみを持つIT製品と、信頼性の高い(普遍性の高い)グローバルアドレスを持つIT製品を切り分けることによって、UPnP(登録商標)のセキュリティを強化することができる。
【0044】
更に別の実施形態として、例えば将来的にIPv6に導入により、同一ネットワーク上にUPnP(登録商標)とIPv6が並存した場合について説明する。同一ネットワーク上にUPnP(登録商標)とIPv6が並存した場合、UPnP(登録商標)の仕様や、IPv6の仕様により割り振られるアドレスであるリンクローカルアドレスと、グローバルアドレスの両方を持つIT製品が存在するようになる。ここで、リンクローカルアドレスは、UPnP(登録商標)が実装されているIT製品には、UPnP(登録商標)のAddressingフェーズで必ず割り振られ、信頼性が低い(普遍性が低い)。IPv6が実装されているIT製品は、必ずリンクローカルアドレスを自動生成するので、信頼性が低い(普遍性が低い)。このような場合にも、上述した本発明を適用することが可能である。
【0045】
また、上述した実施形態における図4、図7、図8に示した各処理は、各処理の機能を実現する為のプログラムをメモリから読み出してCPU401が実行することによりその機能を実現させるものであったが、これに限定さるものではなく、各処理の全部または一部の機能を専用のハードウェアにより実現してもよい。また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記録媒体、RAM以外の揮発性のメモリ、あるいはこれらの組合せによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
【0046】
また、図4、図7、図8に示した各処理を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。具体的には、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含む。
【0047】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0048】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0049】
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【0050】
【図1】本発明の一実施形態におけるプロトコル制御システムの概略構成を示すブロック図である。
【図2】図1に示したクライアント端末100又はプリンタ200の機能を実現するハードウェア構成例を示す図である。
【図3】UPnP(登録商標)が有する1〜6までのフェーズを示す図である。
【図4】図3で説明した1〜6のフェーズの内、2〜6のフェーズにおけるコントロールポイントと、デバイス間のデータの流れを示した図である。
【図5】本実施形態におけるプリンタ200に関する情報を記述した第1の記述データ例を示す図である。
【図6】本実施形態におけるプリンタ200が提供するサービスに関する情報を記述した第2の記述データ例を示す図である。
【図7】図4のステップ402におけるプリンタ200における処理の詳細を示すフロー図である。
【図8】図4のステップ402におけるクライアント端末100における処理の詳細を示すフロー図である。
【符号の説明】
【0051】
100 クライアント端末
101 アプリケーション
102 プリンタドライバ
103 UPnP(登録商標)プロトコル処理部
104 グローバルアドレス通知処理部
105 OS
200 プリンタ
201 プロトコルスタック
202 HTTP処理部
203 SOAP処理部
204 UPnP(登録商標)プロトコル処理部
205 グローバルアドレス通知要求部
206 プリンタコントローラ
300 ネットワーク
401 CPU
402 ROM
403 RAM
404 HD
405 LANカード
406 システムバス

【特許請求の範囲】
【請求項1】
クライアント端末と、前記クライアント端末にサービスを提供するサービス提供デバイスとを含むサービス提供システムであって、
前記サービス提供デバイスは、
アクセスしてきた前記クライアント端末のグローバルアドレスを取得済みであるか否かを判断する判断手段と、
前記判断手段が前記クライアント端末のグローバルアドレスを取得済みでないと判断した場合に、前記クライアント端末に対して前記グローバルアドレスを通知するよう要求する通知要求手段と、
前記通知要求手段の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してきた場合と、前記通知要求手段の要求に応じて前記クライアント端末が前記グローバルアドレスを通知しなかった場合とで、前記クライアント端末に異なるサービスを提供するサービス提供手段と、
を具備し、
前記クライアント端末は、
前記サービス提供デバイスから前記グローバルアドレスを通知するよう要求を受けた場合に、前記クライアント端末が前記グローバルアドレスを保持しているか否かを確認する確認手段と、
前記確認手段が、前記グローバルアドレスを前記クライアント端末が保持していることを確認した場合に、前記サービス提供デバイスへ前記グローバルアドレスを通知する通知手段と
を具備するサービス提供システム。
【請求項2】
クライアント端末と、前記クライアント端末にサービスを提供するサービス提供デバイスとを含むサービス提供システムにおけるサービス提供方法であって、
前記サービス提供デバイスは、
アクセスしてきた前記クライアント端末のグローバルアドレスを取得済みであるか否かを判断する判断工程と、
前記判断工程が前記クライアント端末のグローバルアドレスを取得済みでないと判断した場合に、前記クライアント端末に対して前記グローバルアドレスを通知するよう要求する通知要求工程と、
前記通知要求工程の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してきた場合と、前記通知要求工程の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してこなかった場合とで、前記クライアント端末に異なるサービスを提供するサービス提供工程と
を実行し、
前記クライアント端末は、
前記サービス提供デバイスから前記グローバルアドレスを通知するよう要求を受けた場合に、前記クライアント端末が前記グローバルアドレスを保持しているか否かを確認する確認工程と、
前記確認工程が、前記グローバルアドレスを前記クライアント端末が保持していることを確認した場合に、前記サービス提供デバイスへ前記グローバルアドレスを通知する通知工程と
を実行するサービス提供方法。
【請求項3】
前記サービス提供デバイスの前記サービス提供工程は、前記通知要求工程の要求に応じて前記グローバルアドレスを通知してきたクライアント端末に対して、前記通知要求工程の要求に応じて前記グローバルアドレスを通知してこなかった前記クライアント端末よりも、前記クライアント端末に提供する高度なレベルのサービスを提供することを特徴とする請求項2に記載のサービス提供方法。
【請求項4】
前記クライアント端末から前記サービス提供デバイスを制御することで前記サービスを利用可能であって、前記サービス提供デバイスが、前記クライアント端末に対して、前記サービス提供デバイスを制御するために必要な制御情報を提供する場合に、
前記サービス提供デバイスの前記サービス提供工程は、前記クライアント端末が前記グローバルアドレスを通知してこなかったクライアント端末よりも、前記グローバルアドレスを通知してきたクライアント端末に対して制御情報による制御可能な範囲が広くなるように前記サービス提供デバイスを制御することを特徴とする請求項2に記載のサービス提供方法。
【請求項5】
前記クライアント端末と前記サービス提供デバイス間の通信プロトコルは、UPnP(登録商標)プロトコルであることを特徴とする請求項2〜4のいずれか1項に記載のサービス提供方法。
【請求項6】
前記サービス提供デバイスにおける前記判断工程、前記通知要求工程、及び前記サービス制御工程の処理と、前記クライアント端末における前記確認工程及び前記通知工程の処理は、前記UPnP(登録商標)プロトコルの記述フェーズにおいて行われる処理であることを特徴とする請求項5に記載のサービス提供方法。
【請求項7】
アクセスしてきた前記クライアント端末のグローバルアドレスを取得済みであるか否かを判断する判断手段と、
前記判断手段が前記クライアント端末のグローバルアドレスを取得済みでないと判断した場合に、前記クライアント端末に対して前記グローバルアドレスを通知するよう要求する通知要求手段と、
前記通知要求手段の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してきた場合と、前記通知要求手段の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してこなかった場合とで、前記クライアント端末に異なるサービスを提供するサービス提供手段と、
を有するサービス提供装置。
【請求項8】
前記サービス提供デバイスの前記サービス提供手段は、前記通知要求手段の要求に応じて前記グローバルアドレスを通知してきたクライアント端末に対して、前記グローバルアドレスを通知してこなかった前記クライアント端末よりも、高度なレベルのサービスを提供する請求項7に記載のサービス提供装置。
【請求項9】
前記クライアント端末から前記サービス提供デバイスを制御することで前記サービスを利用可能であって、前記サービス提供デバイスが、前記クライアント端末に対して、前記サービス提供デバイスを制御するために必要な制御情報を提供する場合に、
前記サービス提供デバイスの前記サービス提供手段は、前記クライアント端末が前記グローバルアドレスを通知してこなかったクライアント端末よりも、前記グローバルアドレスを通知してきたクライアント端末に対して制御情報による制御可能な範囲が広くなるように前記サービス提供デバイスを制御する請求項7に記載のサービス提供装置。
【請求項10】
前記クライアント端末と前記サービス提供デバイス間の通信プロトコルは、UPnP(登録商標)プロトコルである請求項7〜9のいずれか1項に記載のサービス提供装置。
【請求項11】
前記サービス提供デバイスにおける前記判断手段、前記通知要求手段、及び前記サービス制御手段の処理と、前記クライアント端末における前記確認手段及び前記通知手段の処理は、前記UPnP(登録商標)プロトコルの記述フェーズにおいて行われる処理である請求項10に記載のサービス提供装置。
【請求項12】
アクセスしてきた前記クライアント端末のグローバルアドレスを取得済みであるか否かを判断する判断工程と、
前記判断工程が前記クライアント端末のグローバルアドレスを取得済みでないと判断した場合に、前記クライアント端末に対して前記グローバルアドレスを通知するよう要求する通知要求工程と、
前記通知要求工程の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してきた場合と、前記通知要求工程の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してこなかった場合とで、前記クライアント端末に異なるサービスを提供するサービス提供工程と、
を有するサービス提供装置制御方法。
【請求項13】
前記サービス提供デバイスの前記サービス提供工程は、前記通知要求工程の要求に応じて前記グローバルアドレスを通知してきたクライアント端末に対して、前記グローバルアドレスを通知してこなかった前記クライアント端末よりも、高度なレベルのサービスを提供する請求項12に記載のサービス提供装置制御方法。
【請求項14】
前記クライアント端末から前記サービス提供デバイスを制御することで前記サービスを利用可能であって、前記サービス提供デバイスが、前記クライアント端末に対して、前記サービス提供デバイスを制御するために必要な制御情報を提供する場合に、
前記サービス提供デバイスの前記サービス提供工程は、前記クライアント端末が前記グローバルアドレスを通知してこなかったクライアント端末よりも、前記グローバルアドレスを通知してきたクライアント端末に対して制御情報による制御可能な範囲が広くなるように前記サービス提供デバイスを制御する請求項12に記載のサービス提供装置制御方法。
【請求項15】
前記クライアント端末と前記サービス提供デバイス間の通信プロトコルは、UPnP(登録商標)プロトコルである請求項12〜14いずれか1項に記載のサービス提供装置制御方法。
【請求項16】
前記サービス提供デバイスにおける前記判断工程、前記通知要求工程、及び前記サービス制御工程の処理と、前記クライアント端末における前記確認工程及び前記通知工程の処理は、前記UPnP(登録商標)プロトコルの記述フェーズにおいて行われる処理である請求項15に記載のサービス提供装置制御方法。
【請求項17】
アクセスしてきた前記クライアント端末のグローバルアドレスを取得済みであるか否かを判断する判断工程と、
前記判断工程が前記クライアント端末のグローバルアドレスを取得済みでないと判断した場合に、前記クライアント端末に対して前記グローバルアドレスを通知するよう要求する通知要求工程と、
前記通知要求工程の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してきた場合と、前記通知要求工程の要求に応じて前記クライアント端末が前記グローバルアドレスを通知してこなかった場合とで、前記クライアント端末に異なるサービスを提供するサービス提供工程と、
をコンピュータに実行させる制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2006−24197(P2006−24197A)
【公開日】平成18年1月26日(2006.1.26)
【国際特許分類】
【出願番号】特願2005−163192(P2005−163192)
【出願日】平成17年6月2日(2005.6.2)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】