以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
[本発明の第1の実施形態に係る接続認証システム]
初めに、本発明の第1の実施形態に係る接続認証システムについて説明する。本実施形態に係る接続認証システムは、互いの接続情報を有していない2つの端末間でインターネットを介して相互に接続をしようとする際に、インターネットサーバにより一方の端末に対して発行されたキー情報を利用して認証を行い、このインターネットサーバが2つの端末間の接続情報の交換の仲介を行うものである。
(第1実施形態に係る接続認証システムの全体構成及び接続認証方法の概要)
まず、図1及び図2に基づいて、本実施形態に係る接続認証システムの全体構成及び接続認証方法の概要について説明する。なお、図1は、本実施形態に係る接続認証システムの全体構成を示す説明図であり、図2は、本実施形態に係る接続認証システムのユースケースを示す説明図である。
以下の接続認証システムの説明においては、本実施形態に係る接続認証システムの一例として、機器登録システム10を例に挙げて説明する。この機器登録システム10の全体構成を説明するに先立ち、図2を参照しながら、機器登録システム10のユースケースについて説明する。
図2に示したユースケースにおいては、ユーザU1の家庭において、ルータ101を介してPCやTV等の機器100が接続されてホームネットワークを構成しており、ユーザU2の家庭において、ルータ201を介して、PC、PVR、ゲーム機、携帯型ゲーム機等の機器200が接続されてホームネットワークを構成している。また、ルータ101とルータ201はインターネット等の通信網138(238、338)を介して接続されており、さらにこの通信網138(238、338)には、機器200の接続情報を取得して機器100に提供する機器登録サーバ300も接続されている。
ここで、ユーザU1のTV100において、ユーザU2のPVR200に録画されたコンテンツを視聴しようとするような場合に、ユーザU1のTV100からユーザU2のPVR200にアクセスしようとした際には、通常は、TV100のユーザU1がPVR200の位置情報(例えば、URL等)を入力しなければならない。しかし、この位置情報の入力を、例えばTVのリモコン等で行うことは非常に煩雑であり、また、ユーザU1が例えば老人である場合には、入力の煩雑さを考えないとしても、PVR200の位置情報の入力は困難であることがある。さらに、ユーザU1が位置情報を取得するためには、例えば、ユーザU2がPVR200を操作してURL(位置情報)を取得し、電話で読み上げてユーザU1に通知する等しなければならないため、ユーザU1が位置情報を取得することも困難である場合がある。
そこで、本実施形態に係る機器登録システム10では、このような煩雑または困難な位置情報の入力を行うことなく、簡易な入力方法によりユーザU1の機器100とユーザU2の機器200との機器登録及び接続を可能にするものである。これにより、例えば、ユーザU1は、簡便な機器登録処理により、ユーザU2のPVR200に録画されたコンテンツをTV100で視聴することができる。以下、この機器登録の方法について簡単に説明する。
まず、ユーザU1は、例えば、TV100の機器登録開始ボタン(図示せず)を押下すると、TV100から機器登録サーバ300にキー情報の発行要求が送信される。キー情報発行要求を受信した機器登録サーバ300は、TV100に対して、キー情報として、例えば、図2に示したような「1549」等の4桁の数字からなるPINを発行する。このPINは、セキュリティ上の観点から、所定時間内のみ保持されるものとすることができる。この例では、PINは5分間だけ保持されるものとする。
機器登録サーバ300からPINを取得したTV100は、キー情報表示部186に取得したPINを表示し、ユーザU1に通知する(t1)。ユーザU1は、通知されたPINを電話100A等の通知手段により、PVR200のユーザU2に伝達する(T)。ユーザU2は、ユーザU1から電話200Aを通して伝達されたPINを5分以内にPVR200のPIN入力画面(図示せず)に入力する(t2)。PVR200は、PINが入力された後、入力されたPINとともにPVR200の接続情報(例えば、URL等)を、機器登録サーバ300に送信する。
機器登録サーバ300は、TV100に対してPINを発行してから5分以内にPVR200からPINとURL等の接続情報を受信した場合には、受信したPINと保持しているPINとを照合する。その結果、これらのPINが合致した場合には、TV100に対してPVR200のURL等を送信する。このようにして、ユーザU1がURL等の長い文字列を入力することなく、TV100は、PVR200の接続情報を取得することができ、これにより、ユーザU1は、ユーザU2のPVR200に録画されたコンテンツを自由に視聴することができるようになる。
次に、以上説明したようなユースケースにおいて適用可能な機器登録システム10の全体構成について説明する。
図1に示すように、機器登録システム10は、本実施形態に係る第1の端末装置の一例としての被接続機器100と、本実施形態に係る第2の端末装置の一例としての接続機器200と、本実施形態に係る接続認証サーバの一例としての機器登録サーバ300と、を含む。
この機器登録システム10では、被接続機器100と接続機器200が、互いに、相手の機器に対する接続情報(例えば、URL、IPアドレス、ポート番号、各機器の証明書等)を有していない場合に、被接続機器100と接続機器200との間の接続情報の交換(以下、「機器登録」と称する場合がある。)を、機器登録サーバ300を介して行う。すなわち、機器登録サーバ300は、ネットワークを介して被接続機器100及び接続機器200と接続されており、被接続機器100と接続機器200との間の接続認証を行い、接続機器200から取得した接続機器200の接続情報を被接続機器100に提供する。
被接続機器100及び接続機器200としては、例えば、DLNA(DigitalLiving Network)等により規格化されたホームネットワーク等に接続して利用される機器である、パーソナルコンピュータ(PC;Personal Computer)、ハードディスクレコーダ(PVR;Personal Video Recorder)、テレビチューナ、セットトップボックス(STB;Set Top Box)、デジタルカメラ、デジタルビデオカメラ、携帯電話、携帯型情報端末(PDA;Personal Digital Assistants)、ゲーム機、ステレオセット、又はデジタル音楽デバイス等が挙げられる。ただし、被接続機器100及び接続機器200としては、DLNA等の標準規格に従ったホームネットワークを構成する電子機器に限られず、例えば、冷蔵庫や炊飯器のようなものであってもよい。また、機器登録サーバ300としては、PC等の情報処理装置が挙げられる。
なお、被接続機器100及び接続機器200は、それぞれ、機器登録サーバ300にアクセスするための情報(例えば、URL、サーバ証明書等)を予め有しており、この情報に基づき、被接続機器100及び接続機器200は、機器登録サーバ300に接続することができる。以下、機器登録システム10における機器登録方法の概要について説明する。
まず、被接続機器100が、機器登録サーバ300のURLや証明書等の情報に基づき、機器登録サーバ300にアクセスし、キー情報(例えば、PIN)の発行要求を送信する(X1)。被接続機器100からのキー情報の発行要求を受信した機器登録サーバ300は、キー情報を新たに生成するか、あるいは、自己が保有しているキー情報のうち使用されていないキー情報を発行し、被接続機器100に送信する(X2)。このとき、発行するキー情報としては、機器登録サーバ300が保持する情報量が少ないこと、また、被接続機器100と接続機器200との間のコネクションの安全性が高いこと等の理由から、有効期限付きのキー情報(例えば、使用可能な制限時間が5分程度と短いPIN)を使用することが好ましい。また、機器登録サーバ300は、キー情報の送信先(本実施形態の場合は、被接続機器100)との間でセッションSSを確立する。発行したキー情報が有効期限付きのものである場合には、セッションSSは当該有効期限の間だけ維持される。
次に、このようにして被接続機器100により取得されたキー情報を、被接続機器100のユーザU1に通知する(t1)。キー情報が通知されたユーザU1は、接続機器200のユーザU2に対し、電話100Aと電話200Aとの間の通信等の所定の通知手段により、機器登録サーバ300が発行したキー情報を通知する(T)。
ここで、ユーザU1からユーザU2にキー情報を伝える所定の通知手段とは、特定の相手にのみ安全かつ確実に情報を通知できる通知手段であって、電話が代表的な例であるが、これには限られない。このような通知手段としては、他には、接続機器200がモデムを搭載しており、このモデムを利用して接続機器100のユーザU2が直接被接続機器100のユーザU1と電話で通話し、キー情報の入力を受け付ける方法が考えられる。この方法の場合には、セキュリティ上の問題から、接続機器200側のユーザU2がボタンを押している間だけ上記のようなキー情報の受付が可能というようにして、自動化を防ぐことが好ましい。これは、ユーザを介する別の通知手段が存在するということ自体が機器登録の際の信用条件の一つであるので、この通知手段が全自動であるとセキュリティ上の観点から問題がある。また、さらに他の通知手段としては、被接続機器100が作成したプログラムである機器登録実行用の「登録実行ファイル」を接続機器200にメール等の手段により送信し、メール等により登録実行ファイルを受信した接続機器200が、このプログラムを実行するという方法も考えられる。
ユーザU2は、キー情報が通知された後に、当該キー情報を接続機器200に入力する(t2)。キー情報が入力された接続機器200は、当該キー情報と接続機器200にアクセスするための接続情報(例えば、IPアドレス、ポート番号またはURL及び接続機器200の証明書)を送信する(X4)。このとき、キー情報が有効期限付きのものである場合には、ユーザU2によるキー情報の入力(t2)、及び、キー情報と接続機器200の接続情報の送信(X4)は、当該有効期限内に行われる必要がある。キー情報の入力(t2)やキー情報と接続機器200の接続情報の送信(X4)が有効期限内に行われなかった場合には、有効期限の終了とともにセッションSSが消滅する。
機器登録サーバ300は、接続機器200からキー情報及び接続機器200の接続情報を受信した後に、被接続機器100に発行したキー情報と接続機器200から受信したキー情報とを照合する。照合の結果、これらの2つのキー情報が合致した場合には、機器登録サーバ300は、被接続機器100との間のセッションSSが確立されているかどうかを判断し、判断時点でセッションSSが確立されている場合には、このセッションSSを利用して接続機器200の接続情報を被接続機器100に送信する(X5)。
被接続機器100は、機器登録サーバ300から接続機器200の接続情報を受信(X5)した場合には、受信した接続情報を用いて接続機器200に接続し、被接続機器100の接続情報((例えば、IPアドレス、ポート番号またはURL及び被接続機器100の証明書)を送信する(X6)。接続機器200は、被接続機器100からその接続情報を受信した後に、被接続機器100の機器登録処理を行う。
なお、機器登録システム10における以上の処理を行う際の各機器間のコネクションは、例えば、サーバ認証を伴うSSL等で行うことができる。
上記のようにして、被接続機器100と接続機器200との間で、お互いの接続情報を交換する機器登録処理を行うことにより、この機器登録が行われた後では、被接続機器100と接続機器200とは、機器登録サーバ300を介さずに直接通信することができる。なお、この通信における被接続機器100と接続機器200との接続は、例えば、お互いが取得した相手の機器の証明書を用いたクライアント認証及びサーバ認証を伴うSSLで行うことができる。
このように、機器登録システム10においては、被接続機器100と接続機器200との間の機器登録処理が、これらの機器に接続された機器登録サーバ300を介して行われる。しかし、従来のIMを使用した方法とは異なり、最初の登録の際にしかインターネットサーバ(本実施形態では機器登録サーバ300)が用いられないため、インターネットサーバへのアクセス頻度を低くすることができる。また、機器登録の際に使用されるキー情報が有効期限付きのものである場合には、当該有効期限の間のみキー情報を保持し、また、セッションを維持しておけばよいため、インターネットサーバが常時記憶しておかなければならない情報量を少なくすることができる。従って、インターネットサーバのコストの負担やコストを低減させることができる。
また、機器登録システム10においては、機器登録サーバ300を介した機器登録により、被接続機器100と接続機器200との間の直接通信が可能となった後は、機器登録に限らず、任意のアプリケーションを起動させることができる。
このように、本実施形態に係る機器登録システム10によれば、機器登録後は、被接続機器100と接続機器200との間で直接通信することが可能であるので、機器登録サーバ300へのアクセスを、機器登録時の1回のみとすることができ、機器登録サーバ300の負担を軽減させることができる。また、機器登録サーバ300が発行するキー情報を所定の時間のみ保持するものとすることにより、機器登録サーバ300は、所定の時間のみ各機器(被接続機器100、接続機器200)の接続情報やキー情報を保持していればよく、機器登録サーバ300が保持する情報量を少なくすることができる。さらに、上記の機器登録の際には、ユーザU2は、簡易なキー情報(例えば、4桁の数字からなるPIN)を入力しさえすれば、URL等の文字列や型番、シリアル番号、使用するポート等の情報を入力する必要もないので、簡易な作業により簡単に機器登録を行うことができる。
以上、本実施形態に係る接続認証システムの一例としての機器登録システム10の全体構成及び接続認証方法の概要について説明した。次に、上述したような機器登録システム10を構成する各機器の構成及び各機器における処理の流れについて詳細に説明する。
(被接続機器100のハードウェア構成)
まず、図3に基づいて、被接続機器100のハードウェア構成について説明する。なお、図3は、被接続機器100のハードウェア構成を示す説明図である。
図3に示すように、被接続機器100は、主に、CPU(Central Processing Unit)106と、ROM(Read Only Memory)108と、RAM(Random Access Memory)110と、ホストバス112と、ブリッジ114と、外部バス116と、インターフェース118と、入力部120と、出力部122と、記憶部126と、ドライブ128と、接続ポート130と、通信部132とを備える。
CPU106は、例えば、演算処理装置又は制御装置として機能し、ROM108、RAM110、記憶部126、又はリムーバブル記録媒体134に記録された各種プログラムに従って、被接続機器100内の動作全般又はその一部を制御する。ROM108は、例えば、CPU106が使用するプログラムや演算に用いるデータ等を格納する。RAM110は、例えば、CPU106の実行において使用するプログラムや、その実行の際に適宜変化する各種パラメータ等を一時的又は永続的に格納する。これらの構成要素は、例えば、CPUバス等の高速なデータ伝送が可能な内部バスにより構成されたホストバス112によって相互に接続されて動作する。
ホストバス112は、例えば、ブリッジ114を介してPCIバス(Peripheral Component Interconnect/Interface Bus)等の比較的データ伝送速度が低速な外部バス116に接続される。
入力部120は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ及びレバー等の操作手段である。また、入力部120は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(所謂、リモコン)であってもよいし、被接続機器100の操作に対応した携帯電話やPDA等であってもよい。さらに、入力部120は、例えば、上記の操作手段を用いて利用者により入力された情報を基に入力信号を生成し、当該入力信号をCPU106に伝送するための入力制御回路等から構成されている。
出力部122は、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma DisplayPanel)、又はELD(Electro−Luminescence Display)等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。
記憶部126は、各種のデータを格納するための装置であり、例えば、ハードディスクドライブ(HDD;Hard Disk Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等により構成される。記憶部126は、CPU106により実行されるプログラム、機器登録サーバ300が発行したキー情報、被接続機器100の接続情報、機器登録サーバ300から取得した接続機器200の接続情報等を格納する。
ドライブ128は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体134に記録された情報を読み出し、又はリムーバブル記録媒体134に情報を書き込む装置である。リムーバブル記録媒体134は、例えば、DVDメディア、HD−DVDメディア、Blu−rayメディア、コンパクトフラッシュ(CF;CompactFlash)(登録商標)、メモリースティック、又はSDメモリカード(Secure Digital memory card)等である。もちろん、リムーバブル記録媒体134は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit Card)又は電子機器等であってもよい。
接続ポート130は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子等のような外部接続機器136を接続するためのポートである。例えば、外部接続機器136は、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。
通信部132は、通信網138に接続するための通信デバイスであり、例えば、有線又は無線LAN(Local Area Network)、Bluetooth(登録商標)、又はWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、又は各種通信用のモデム等である。また、通信部132に接続される通信網138は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、放送、又は衛星通信等であってもよい。
なお、ハードウェア構成については、接続機器200及び機器登録サーバ300についても上述した被接続機器100と同様であるので、詳細な説明を省略する。
(被接続機器100の機能構成)
次に、図4に基づいて、被接続機器100の機能構成について説明する。なお、図4は、被接続機器100の機能構成を示す説明図である。
図4に示すように、被接続機器100は、主に、記憶部126と、キー情報要求部152と、キー情報取得部154と、キー情報通知部156と、接続情報取得部162と、接続部164と、通信部132とにより構成される。
なお、上記の被接続機器100の機能構成は、例えば、図3に示したハードウェア構成により実現されるものである。また、図4に示す各機能ブロックは、例えば、ROM108、RAM110、記憶部126、リムーバブル記録媒体134、外部接続機器136、又は通信網138を介してアクセス可能なプログラムに基づいてCPU106によりソフトウェア的に実現されてもよいし、各ブロックの機能を実現するための専用のハードウェアにより構成されていてもよい。
記憶部126は、機器登録サーバ300から取得したキー情報、及び接続機器200から機器登録サーバ300を介して取得した接続機器200の接続情報が記録される記録手段である。また、記憶部126には、被接続機器100自身の接続情報、及び機器登録サーバ300へアクセスするための情報が予め格納されている。なお、被接続機器100の接続情報としては、例えば、被接続機器100のIPアドレス、ポート番号またはURL、被接続機器100であることを認証するための証明書等がある。また、機器登録サーバ300へアクセスするための情報としては、例えば、機器登録サーバ300のURLや証明書等の情報が挙げられる。ここで、機器登録サーバ300の証明書は、機器(端末)ごとの情報である必要はなく、機器登録サーバ300へアクセスするための共通の証明書が複数の機器に予め(工場出荷時等に)記録されていてもよい。なお、キー情報や接続機器200の接続情報の内容の詳細については後述する。
キー情報要求部152は、記憶部126に格納されている機器登録サーバ300へアクセスするための情報(例えば、機器登録サーバ300のURL及び証明書)を抽出する。次に、この抽出した情報に基づいて通信部132がインターネット等の通信網138を介して機器登録サーバ300へアクセスした後に、キー情報要求部152は、キー情報(例えば、PIN)の発行要求を通信部132を用いて機器登録サーバ300に送信する。なお、後述するキー情報取得部154が、このキー情報要求部152の機能を兼ねていてもよい。
キー情報取得部154は、キー情報要求部152によるキー情報の発行要求に応じて機器登録サーバ300が発行したキー情報を、通信部132を通して取得する。キー情報取得部154は、取得したキー情報を、一旦記憶部126に記録するか、あるいは、直接キー情報通知部156に伝送する。
キー情報通知部156は、記憶部126から抽出したキー情報またはキー情報取得部154から受け取ったキー情報を、出力部122を用いて出力することにより、ユーザU1に通知する(t1)。この通知の方法としては、例えば、出力部122としてディスプレイ装置を用い、キー情報をディスプレイ装置に表示させてユーザU1に視覚的に通知する方法や、出力部122としてスピーカを用い、キー情報をスピーカからの音声を通じてユーザU1に聴覚的に通知する方法等が考えられる。
接続情報取得部162は、機器登録サーバ300が接続機器200からその接続情報を取得した後に、機器登録サーバ300から通信網138を介して接続機器200の接続情報を取得する。接続情報取得部162は、取得した接続機器200の接続情報を、一旦記憶部126に記録するか、あるいは、直接接続部164に伝送する。
接続部164は、記憶部126から抽出した接続機器200の接続情報または接続情報取得部162から受け取った接続機器200の接続情報に基づいて、通信網138を介して接続機器200に接続する。より具体的には、例えば、接続部164は、接続機器200のURLに基づいて接続機器200にアクセスし、接続機器200の証明書に基づき認証処理を行い、認証された場合には接続機器200とSSL等により接続する。また、接続部164は、接続機器200と接続した後に、被接続機器100自身の接続情報を記憶部126から抽出し、抽出した接続情報を接続機器200に通信部132を通して提供することもできる。このようにして、被接続機器100と接続機器200との互いの接続情報の交換を行った後に、接続機器200で被接続機器100の機器登録処理が行われる。この機器登録処理が行われた後は、被接続機器100の接続部164は、接続機器200にいつでも直接アクセスすることができる。
通信部132は、機器登録サーバ300に対するキー情報取得要求の送信、機器登録サーバ300からのキー情報の受信、機器登録サーバ300からの接続機器200の接続情報の受信、接続機器200に対する被接続機器100の接続情報の送信等を行う。
(接続機器200の機能構成)
次に、図5に基づいて、接続機器200の機能構成について説明する。なお、図5は、接続機器200の機能構成を示す説明図である。
図5に示すように、接続機器200は、主に、記憶部226と、キー情報入力部252と、情報提供部254と、通信部232とにより構成される。
なお、上記の接続機器200の機能構成は、例えば、図3に示したハードウェア構成により実現されるものである点は、上述した被接続機器100の場合と同様である。
記憶部226は、ユーザU2によりキー情報入力部252に入力されたキー情報、及び被接続機器100から取得した被接続機器100の接続情報が記録される記録手段である。また、記憶部226には、接続機器200自身の接続情報、及び機器登録サーバ300へアクセスするための情報が予め格納されている。なお、接続機器200の接続情報としては、例えば、接続機器200のIPアドレス、ポート番号またはURL、接続機器200であることを認証するための証明書等がある。また、機器登録サーバ300へアクセスするための情報は、上述した被接続機器100の場合と同様である。このうち機器登録サーバ300の証明書については、被接続機器100と共通の証明書であってもよく、別の証明書であってもよく、例えば、工場出荷時等に予め記憶部226に記録されている。なお、キー情報の内容の詳細については後述する。
キー情報入力部252は、被接続機器100のユーザU1から接続機器200のユーザU2にキー情報が伝達された後に、ユーザU2によりキー情報が入力される(t2)。この入力の方法としては、例えば、接続機器200がPCの場合には入力部120としてキーボードを使用し、接続機器200がテレビの場合には入力部120としてボタンやリモコンを使用し、接続機器200がゲーム機の場合はボタンやタッチパネル等を使用して、ユーザU2がユーザU1から通知されたキー情報(例えば、4桁の数字)を入力する方法等が考えられる。また、キー情報入力部252は、入力されたキー情報を、一旦記憶部226に記録するか、あるいは、直接情報提供部254に伝送する。
情報提供部254は、キー情報及び接続機器200の接続情報を通信部232に伝送した後に、インターネット等の通信網238を介して機器登録サーバ300に提供する。機器登録サーバ300に提供されるキー情報は、情報提供部254により記憶部226から抽出されたものであっても、直接キー情報入力部252から情報提供部254に伝送されたものでもよい。また、接続機器200の接続情報は、情報提供部254により記憶部226から抽出される。
なお、図示してはいないが、被接続機器100と同様に、接続情報取得部や接続部を備えていてもよい。接続機器200の接続部は、被接続機器100から接続機器200の証明書が送信されてきた場合には、その証明書を記憶部226に記録された証明書と照合し、2つの証明書が合致した場合に、被接続機器100との接続を行う。接続機器200と被接続機器100との接続が行われた場合、接続情報取得部は、被接続機器100から提供された被接続機器100の接続情報を取得する。
通信部232は、キー情報及び接続機器200の接続情報の送信、被接続機器100からの被接続機器100の接続情報の受信等を行う。
(機器登録サーバ300の機能構成)
次に、図6に基づいて、機器登録サーバ300の機能構成について説明する。なお、図6は、機器登録サーバ300の機能構成を示す説明図である。
図6に示すように、機器登録サーバ300は、主に、記憶部326と、キー情報生成部352と、キー情報提供部354と、情報取得部362と、接続情報提供部364と、接続部366と、通信部332とにより構成される。
なお、上記の機器登録サーバ300の機能構成は、例えば、図3に示したハードウェア構成により実現されるものである点は、上述した被接続機器100の場合と同様である。
記憶部326は、接続機器200から取得した接続機器200の接続情報が記録される記録手段である。また、記憶部326には、キー情報生成部352が生成したキー情報、及び機器登録サーバ300の証明書等が予め格納されている。この機器登録サーバ300の証明書は、接続相手の機器(例えば、被接続機器100や接続機器200)ごとに生成されたものであってもよいが、複数(あるいは全て)の機器に共通の証明書であってもよい。
ここで、キー情報としては、例えば、数桁の数字からなるPIN(Personal Identification Number)を使用できる。ただし、被接続機器100に対して発行したキー情報と、このキー情報を用いてアクセスしてきた接続機器200が有するキー情報とを照合できるものであれば、特に限定はされず、例えば、数文字のアルファベット、数字とアルファベットの組み合わせ等を使用することもできる。また、後述するキー情報提供部354が提供するキー情報としては、機器登録サーバ300が保持する情報量が少ないこと、また、被接続機器100と接続機器200との間のコネクションの安全性が高いこと等の理由から、有効期限付きのキー情報(例えば、使用可能な制限時間が5分程度と短いPIN)を使用することが好ましい。
キー情報生成部352は、被接続機器100に対して発行するためのキー情報を生成する。キー情報生成部352は、上記キー情報の生成を、被接続機器100のキー情報要求部152によるキー情報取得要求に応じて生成してもよいし、キー情報要求部152によるキー情報取得要求とは関係なく所定のタイミングで生成するようにしてもよい。キー情報生成部352は、生成したキー情報を、一旦記憶部326に記録するか、あるいは、直接キー情報提供部354に伝送する。
キー情報提供部354は、インターネット等の通信網338を介して被接続機器100に対してキー情報を提供する。キー情報提供部354は、被接続機器100のキー情報取得要求に応じてキー情報生成部352が新たに生成したキー情報を直接受け取って提供してもよく、記憶部326に記録されているキー情報のうち、いずれの機器に対しても使用されていないキー情報を選択的に抽出して提供してもよい。
なお、キー情報提供部354が被接続機器に対してキー情報を提供した後、キー情報提供部354から接続部366に対しキー情報を提供した旨の信号が伝送され、接続部366により、キー情報の提供先である被接続機器100との間でセッションが確立される。キー情報が有効期限付きのものである場合には、被接続機器100との間で確立されたセッションは当該有効期限の間だけ維持されることとなる。
情報取得部362は、接続機器200から通信網338を介して送信されたキー情報と接続機器200の接続情報とを受信した通信部332から取得する。情報取得部362は、取得したキー情報については、これを一旦記憶部326に記録するか、あるいは、直接接続情報提供部364(具体的には、後述する接続情報提供部364の照合部364A)に提供する。また、情報取得部362は、取得した接続機器200の接続情報については、これを記憶部326に一旦記録するか、あるいは、接続情報提供部364(具体的には、後述する接続情報提供部364の接続情報送信部364C)に直接伝送する。
接続情報提供部364は、まず、情報取得部362から直接受け取るか、あるいは、記憶部326から抽出した接続機器200から取得したキー情報と、キー情報提供部354により被接続機器100に提供されたキー情報とを照合する。この照合の結果、2つのキー情報が合致した場合には、接続情報提供部364は、通信網338を介して被接続機器100に対し、接続機器200の接続情報を提供する。被接続機器100に提供する接続情報は、記憶部326から抽出されたものであってもよく、情報取得部362から直接受け取ったものであってもよい。
また、接続情報提供部326は、上記機能を達成するために、より詳細には、主に、照合部364Aと、セッション検索部364Bと、接続情報送信部364Cとにより構成される。
照合部364Aは、情報取得部362から直接受け取るか、あるいは、記憶部326から抽出した接続機器200から取得したキー情報と、キー情報提供部354により被接続機器100に提供されたキー情報とを照合する。照合の結果、2つのキー情報が合致した場合には、合致した旨の信号とともに合致したキー情報をセッション検索部364Bに送る。一方、2つのキー情報が合致しなかった場合には、合致しなかった旨の信号を接続部366に送る。なお、この信号を受け取った接続部366は、被接続機器100との間に確立されているセッションを終了し、セッション終了通知を被接続機器100及び接続機器200に通信部332を通じて送信する。
セッション検索部364Bは、接続機器200から取得したキー情報と被接続機器100に提供されたキー情報とが合致した旨の信号を受けとった場合には、この信号とともに受けとったキー情報に該当するセッションがあるかどうかを検索する。該当するセッションがある場合には、該当するセッションがある旨の信号とともにその該当するセッションに関する情報を接続情報送信部364Cに送る。一方、該当するセッションが存在しなかった場合には、通信部332を通じて接続機器200に対してセッション終了通知を送信する。
接続情報送信部364Cは、セッション検索部364Bから合致したキー情報に該当するセッションがある旨の信号を受け取った場合には、この信号とともに受け取った該当するセッションに関する情報に基づいて、その該当するセッションが確立されている機器(本実施形態の場合は、被接続機器100)に対し、接続機器200の接続情報を送信する。この場合、上述したように、被接続機器100に提供する接続情報は、記憶部326から抽出されたものであってもよく、情報取得部362から直接受け取ったものであってもよく、通信部332を通じて被接続機器100に送信される。
通信部332は、被接続機器100からのキー情報取得要求の受信、被接続機器100に対するキー情報の送信、接続機器200からのキー情報と接続機器200の接続情報との受信、被接続機器100に対する接続機器200の接続情報の送信等を行う。
以上、各機器の機能構成について説明したが、次に、各機器における処理の流れについて説明する。
(被接続機器100における処理の流れ)
まず、図7及び図8に基づいて、被接続機器100における処理の流れについて詳細に説明する。なお、図7は、被接続機器100における処理フローを示す流れ図であり、図8は、被接続機器100における機器登録処理の際の表示画面の一例を示す説明図である。また、図7には、図1に示した各処理についての符号(X1〜X6、T)を一緒に示してある。さらに、以下の説明では、キー情報として有効期限付きのPINを使用した例を挙げて説明する。
被接続機器100における具体的な処理の流れを説明する前に、図8に示した被接続機器100における機器登録処理の際の表示画面の構成について説明する。
図8に示すように、被接続機器100における機器登録処理の際の表示画面180には、例えば、すでに被接続機器100に登録されている機器のリスト(以下、「登録済み機器リスト」)182と、機器登録開始ボタン184と、キー情報表示画面186とが表示される。
登録済み機器リスト182には、この例では、ユーザU1が祖父であり、ユーザU2が孫である場合で、孫の家のPVR及び森田家のゲーム機がすでにユーザU1の被接続機器100に登録されていることが示されている。また、キー情報表示画面186には、この例では、キー情報として4桁の数字(「4978」)からなるPIN188が表示され、さらに、機器登録処理をキャンセルするキャンセルボタン190が表示されている。以下、図7に基づき、適宜図8を参照しながら、被接続機器100における具体的な処理の流れについて説明する。
図7に示すように、まず、被接続機器100のユーザU1により機器登録開始ボタン184が押下される(S102)。この登録開始ボタン184の押下により、機器登録を開始する旨の信号がキー情報要求部152に送られる。この信号を受け取ったキー情報要求部152は、機器登録サーバ300に対して、PINの取得要求(X1)を送信する(S104)。次に、被接続機器100のCPU106が、機器登録サーバ300からPINを取得(X2)したかどうかを判断する(S106)。この判断の結果、機器登録サーバ300からPINを取得せず、被接続機器100のユーザU1により、キャンセルボタン190が押下された場合には(S108)、機器登録サーバ300に対してセッション終了通知を送信し(S110)、機器登録処理を終了する(機器登録失敗)。また、ステップS106の判断の結果、機器登録サーバ300からPINを取得せず、機器登録サーバ300からセッション終了通知を受信した場合には(S112)、機器登録失敗の終了通知を被接続機器100の表示画面180にUI表示し(S114)、機器登録処理を終了する(機器登録失敗)。一方、ステップS106の判断の結果、機器登録サーバ300からPINを受信(X2)した場合には(S116)、例えば、出力部122によりキー情報表示画面186にPIN188を表示するなどして出力する(S118)。PIN188の出力方法については、この例には限られず、他の出力手段を用いても良いが、詳細は上述したとおりなのでここではその説明を省略する。
次に、キー情報表示画面186に表示されたPIN188を視覚的に認識したユーザU1が、電話等の特定の相手にのみ情報を通知できる所定の通知手段により、接続機器200のユーザU2に対してPIN188を通知(T)する(S120)。なお、PIN188が通知されたユーザU2は、接続機器200にPIN188を入力する。
その後、PIN188の有効期限内(例えば、機器登録サーバ300によるPIN188の発行から5分以内)に接続機器200の接続情報を取得(X5)したかどうかを、CPU106が判断する(S122)。この判断の結果、機器登録サーバ300から接続機器200の接続情報を取得せず、ユーザU1によりキャンセルボタン190が押下された場合には(S124)、機器登録サーバ300に対してセッション終了通知を送信し(S110)、機器登録処理を終了する(機器登録失敗)。また、ステップS122の判断の結果、機器登録サーバ300から接続機器200の接続情報を取得せず、機器登録サーバ300からセッション終了通知を受信した場合には(S126)、機器登録失敗の終了通知を被接続機器100の表示画面180にUI表示し(S114)、機器登録処理を終了する(機器登録失敗)。一方、ステップS122の判断の結果、機器登録サーバ300から接続機器200の接続情報を受信(X5)した場合には(S128)、受信した接続情報に基づいて接続機器200にアクセスし、証明書による認証がなされた場合には、接続機器200と接続される。被接続機器100と接続機器200との間のセッションが確立された後、接続機器200に対して、被接続機器100の接続情報を送信し(X6)、接続機器200との間で接続情報の交換を行う(S130)。接続機器200との接続情報の交換後、接続機器200の登録処理を行い(S132)、接続機器200の機器登録処理を終了する(機器登録成功)。このように機器登録が行われると、表示画面180の登録済み機器リスト182に、接続機器200が追加される。
(接続機器200における処理の流れ)
次に、図9及び図10に基づいて、接続機器200における処理の流れについて詳細に説明する。なお、図9は、接続機器200における処理フローを示す流れ図であり、図10は、接続機器200における機器登録処理の際の表示画面の一例を示す説明図である。また、図9には、図1に示した各処理についての符号(X1〜X6、T)を一緒に示してある。さらに、キー情報として有効期限付きのPINを使用した例を挙げて説明する点については、上述した被接続機器100の場合と同様である。
接続機器200における具体的な処理の流れを説明する前に、図10に示した接続機器200における機器登録処理の際の表示画面の構成について説明する。
図10に示すように、接続機器200における機器登録処理の際の表示画面280には、例えば、すでに接続機器200に登録されている機器のリスト(以下、「登録済み機器リスト」)282と、機器登録開始ボタン284と、キー情報入力画面286とが表示される。
登録済み機器リスト282には、この例では、ユーザU1が祖父であり、ユーザU2が孫である場合で、祖父の家のPC、田中家のTV及び森田家のゲーム機がすでにユーザU2の接続機器200に登録されていることが示されている。また、キー情報入力画面286には、この例では、キー情報として4桁の数字(「4978」)からなるPIN188をユーザU2がユーザU1から通知された場合に、ユーザU2が当該PIN188を入力するためのPIN入力欄288が表示され、さらに、機器登録処理をキャンセルするキャンセルボタン290が表示されている。以下、図9に基づき、適宜図10を参照しながら、接続機器200における具体的な処理の流れについて説明する。
図9に示すように、まず、接続機器200のユーザU2が、被接続機器100のユーザU1からPIN188を通知された後に、ユーザU2により機器登録開始ボタン284が押下される(S202)。この登録開始ボタン284の押下により、機器登録を開始する旨の信号がキー情報入力部252に送られる。この信号を受け取ったキー情報入力部252は、ユーザU2がユーザU1から通知された(T)PIN188の入力を、ユーザU2に対して要求する(S204)。このPIN入力要求は、例えば、当該要求信号をキー情報入力部252から受けた接続機器200の出力部222が、キー情報入力画面286にUI表示(図8に示したような「これから登録する機器に表示されたパスコードを入力してください」等)することにより行われる。次に、接続機器200のCPU206が、上記PIN入力要求の結果、ユーザU2によりPIN188がPIN入力欄288に入力されたかどうかを判断する(S206)。この判断の結果、PIN188が入力されず、ユーザU2によりキャンセルボタン290が押下された場合には(S208)、接続機器200は被接続機器100の機器登録処理を終了する(機器登録失敗)。なお、この例においては、PIN188は有効期限付きの情報であるので、この有効期限内にユーザU2によるPIN188の入力が行われなかった場合にも、被接続機器100の機器登録は失敗終了となる。一方、ステップS206の判断の結果、ユーザU2によりPIN188が入力された場合には(S210)、接続機器200の情報提供部254が、機器登録サーバ300に対して、接続機器200の接続情報(X4)とPIN(T)とを通知する(S212)。
その後、CPU206は、接続機器200の接続情報を取得した被接続機器100からの接続要求を受信したかどうかを判断する(S214)。この判断の結果、被接続機器100からの接続要求を受信する前に、ユーザU2により機器登録のキャンセルボタン290が押下された場合には(S216)、接続機器200は被接続機器100の機器登録処理を終了する(機器登録失敗)。また、ステップS214の判断の結果、被接続機器100からの接続要求を受信せず、機器登録サーバ300からセッション終了通知を受信した場合には(S218)、機器登録失敗の終了通知を接続機器200の表示画面280にUI表示し(S220)、機器登録処理を終了する(機器登録失敗)。一方、ステップS214の判断の結果、被接続機器100からの接続要求を受信した場合には、被接続機器100が提示した接続機器200の証明書に基づいて認証処理を行い、この認証がなされた場合には、被接続機器100と接続される。接続機器200と被接続機器100との間のセッションが確立された後、被接続機器100から被接続機器100の接続情報を受信し(X6)、被接続機器100との間で接続情報の交換を行う(S222)。被接続機器100との接続情報の交換後、被接続機器100の登録処理を行い(S132)、被接続機器100の機器登録処理を終了する(機器登録成功)。このように機器登録が行われると、表示画面280の登録済み機器リスト282に、被接続機器100が追加される。
(機器登録サーバ300における処理の流れ)
次に、図11及び図12に基づいて、機器登録サーバ300における処理の流れについて詳細に説明する。なお、図11は、機器登録サーバ300における処理フローのうち、複数のセッションを管理する機器登録サーバ300全体の処理フローを示す流れ図であり、図12は、機器登録サーバ300における処理フローのうち、個々のセッションごとの処理フローを示す流れ図である。また、図11及び図12には、図1に示した各処理についての符号(X1〜X6、T)を一緒に示してある。さらに、キー情報として有効期限付きのPINを使用した例を挙げて説明する点については、上述した被接続機器100の場合と同様である。
初めに、図11を参照しながら、複数のセッションを管理する機器登録サーバ300全体の処理の流れについて説明する。
図11に示すように、機器登録サーバ300は、被接続機器100及び接続機器200からのアクセス(接続要求)がない場合には待機状態にあり、この待機状態において、他の機器(本実施形態では、被接続機器100または接続機器200)から何らかの情報を受信した場合には、その受信情報の内容を判別する。その受信情報の判別の結果に応じて、3つのチャネルA〜Cに移行する。
第1に、機器登録サーバ300が被接続機器100からPIN取得要求(X1)を受信した場合には(S302)、チャネルAに移行する。PIN取得要求を受信した機器登録サーバ300のキー情報生成部352は、この例では、4桁の数字からなる有効期限付きのPIN188を生成する(S304)。なお、上述したように、このステップS304は必ずしもステップS302の後に行われなくてもよい。すなわち、PIN188は、被接続機器100のPIN取得要求(X1)に応じて生成されたものでなくてもよく、予めキー情報生成部352により生成され、機器登録サーバ300の記憶部326に記録されているものを抽出したものであってもよい。次に、機器登録サーバ300は、ステップS304で生成されたPIN188を被接続機器100に送信し、PIN188の送信先である被接続機器100との間でセッションを確立し(S306)、機器登録サーバ300は再び待機状態となる。被接続機器100との間で確立されたセッションは、機器登録サーバ300が被接続機器100からのセッション終了通知を受信しない限り、PIN188の有効期限の間維持される。
第2に、PIN188の有効期限内に、接続機器200からその接続情報を受信(X4)した場合には(S308)、チャネルBに移行する。機器登録サーバ300は、上述したように、接続機器200の接続情報を受信する際に同時にPINも受信する。機器登録サーバ300の照合部364Aは、接続機器200から受信したPINと、その前に被接続機器100に発行したPIN188とを照合する(S310)。次に、機器登録サーバ300のCPU306は、このステップS310の照合の結果、接続機器200から受信したPINが、被接続機器100に発行したPIN188と合致したかどうかを判断する(S312)。この判断の結果、上記2つのPINが合致しなかった場合には、機器登録サーバ300は再び待機状態となる。一方、ステップS312の判断の結果、上記2つのPINが合致した場合には、セッション検索部364Bが、この合致したPIN188に該当するセッション、すなわち、この例の場合は、機器登録サーバ300と被接続機器100との間に確立されたセッションが存在するかどうかを検索し、この検索の結果をCPU306が判断する(S314)。この判断の結果、該当するセッションが存在すると判断された場合には、該当セッションを通じてそのセッションが確立している相手、すなわち、この例の場合は被接続機器100に対して、接続機器200の接続情報を送信し(S316)、機器登録サーバ300は再び待機状態となる。一方、ステップS314の判断の結果、該当するセッションが存在しないと判断された場合には、接続機器200に対してセッション終了通知を送信し(S318)、機器登録サーバ300は再び待機状態となる。
第3に、被接続機器100からのセッション終了通知(セッション終了要求の通知)を受信した場合には(S320)、チャネルCに移行する。機器登録サーバ300は、被接続機器100からセッション終了通知を受信する際に同時にPINも受信する。機器登録サーバ300の照合部364Aは、このとき被接続機器100から受信したPINと、その前に被接続機器100に発行したPIN188とを照合する(S322)。次に、機器登録サーバ300のCPU306は、このステップS322の照合の結果、被接続機器100からセッション終了通知とともに受信したPINが、被接続機器100に発行したPIN188と合致したかどうかを判断する(S324)。この判断の結果、上記2つのPINが合致しなかった場合には、機器登録サーバ300は再び待機状態となる。一方、ステップS324の判断の結果、上記2つのPINが合致した場合には、セッション検索部364Bが、この合致したPIN188に該当するセッション、すなわち、この例の場合は、機器登録サーバ300と被接続機器100との間に確立されたセッションが存在するかどうかを検索し、この検索の結果をCPU306が判断する(S326)。この判断の結果、該当するセッションが存在すると判断された場合には、該当セッションを通じてそのセッションが確立している相手、すなわち、この例の場合は被接続機器100に対して、セッション終了通知(セッションを実際に終了した旨の通知)を送信し(S328)、機器登録サーバ300は再び待機状態となる。一方、ステップS326の判断の結果、該当するセッションが存在しないと判断された場合には、接続機器200に対してセッション終了通知を送信し(S318)、機器登録サーバ300は再び待機状態となる。
次に、図12を参照しながら、複数のセッションを管理する機器登録サーバ300の個々のセッションごとの処理の流れについて説明する。以下の説明においては、機器登録サーバ300と被接続機器100との間に確立されたセッションにおける処理の流れを例に挙げて説明する。
図12に示すように、機器登録サーバ300が被接続機器100との間でセッションを確立(S332)した後に、この確立されたセッションを通じて、被接続機器100に対してPIN188(X2)を通知する(S334)。この例においては、PIN188は、有効期限付きの情報であるので、被接続機器100に対してセッションを通知した時点からセッションタイマーがスタートする(S336)。次に、CPU306は、このセッションタイマーの制限時間内に、情報取得部362が接続機器200の接続情報を取得したかどうかを判断する(S338)。この判断の結果、接続機器200の接続情報を取得せず、セッションタイマーがタイムアウトしたと判断された場合には(S340)、被接続機器100に対してセッション終了を通知し(S342)、機器登録処理を終了する(機器登録失敗)。また、ステップS338の判断の結果、接続機器200に対してセッション終了を通知したと判断された場合にも(S344)、機器登録処理を終了する(機器登録失敗)。一方、ステップS338の判断の結果、接続機器200の接続情報を受信したと判断された場合には(S346)、被接続機器100に対して、接続機器200から受信した接続機器200の接続情報(X5)を送信し(S348)、機器登録処理を終了する(機器登録成功)。
[本発明の第2実施形態に係る接続認証システム]
次に、本発明の第2の実施形態に係る接続認証システムについて詳細に説明する。以下では、本実施形態に係る接続認証システムの一例として、上述した機器登録サーバ300の機能を応用して、接続情報としてネットワーク上にあるコンテンツの所在(例えば、URL;Uniform Resource Locator等)をユーザに通知するURL通知システム700について説明する。特に、本実施形態に係るURL通知システム700は、検索エンジン等を用いて検索されないように設定されている比較的プライベートなWebコンテンツの所在をメール機能のない端末装置に対して通知する際に好適に利用される。
まず、本実施形態に係るURL通知システム700について詳細に説明するに先立ち、本実施形態に係る接続認証システムが解決しようとする具体的な課題と、この接続認証システムが達しようとする具体的な目的について説明する。
上述した第1の実施形態に係る接続認証システムの場合と同様に、本実施形態においても適用対象は、ホームネットワーク等に接続して利用される機器(以下、ホームサーバ;例えば、DLNAに準拠して構成されるコンテンツサーバ等)である。特に、本実施形態の場合、Webサーバとして機能する機器に対して、上記の機器登録サーバ300の技術を適用する場合に要する装置構成を具体的に示すものである。つまり、本実施形態に係るURL通知システム700の技術は、インターネット等の広域ネットワークに接続されるWebサーバ機能を持った機器に好適に適用される。
上記のようにホームサーバとして利用される機器をWebサーバとして利用する場合、当該Webサーバが提供するコンテンツの所在を視聴者に対して、どのように伝達するかというのが一つの大きな課題である。また、こうしたコンテンツは、視聴者の端末装置が備えるブラウザを介して再生されるが、その所在を示すURLが長いため、ブラウザの入力欄に正確に入力するのが現実的に困難であるという問題がある。特に、ホームサーバは、ドメイン名とIPアドレスとの対応付けにDDNS(Dynamic Domain Name Server)を利用しているケースが多いため、URLが複雑で長いものになる。
従来は、Webコンテンツを試聴するために、PC、携帯電話、又は情報端末等の汎用機器が利用されていたため、これらの汎用機器が備えるメーラに対してURLを送信することによって上記の問題を解決していた。つまり、メールで送信されてきたURLをクリック等することにより、そのURLが示すコンテンツをブラウザで表示するという、メーラとブラウザとの連携機能によって上記の問題を解決していたのである。しかし、メーラ又はメール機能を持たない機器に対しては、上記の連携機能を利用してURLを伝送する方法は適用できない。最近は、ゲーム機やテレビ等の家電機器も高機能化しており、これらの機器にもブラウザが搭載されてWebコンテンツが視聴できるようになってきている。
そこで、本実施形態に係るURL通知システム700は、上記のようなメーラ又はメール機能を持たない機器に対しても、複雑で長いURLにより所在が示されるWebコンテンツを簡単に視聴可能にする機能を提供することを目的とする。
(URL通知システム700の構成及びURL通知方法の概要)
次に、図13に基づいて、URL通知システム700と、これに接続される端末装置400、及びWebサーバ800の構成及びURL通知方法の概要について説明する。図13は、本実施形態に係るURL通知システム700の全体構成を示す説明図である。
図13に示すように、URL通知システム700は、主に、本実施形態に係る情報取得装置の一例としてのURL通知サーバ500と、機器登録サーバ600とにより構成される。また、URL通知サーバ500は、本実施形態に係る認証情報通知装置の一例としてのブラウザ410を備えた端末装置400に接続されている。一方、機器登録サーバ600は、Webサーバ800に接続されている。さらに、端末装置400とWebサーバ800とは、例えば、インターネット等の広域ネットワークを介して接続されている。以下、端末装置400及びWebサーバ800との間の関係を意識しつつ、URL通知サーバ500、及び機器登録サーバ600の機能について簡単に説明する。
(URL通知サーバ500)
URL通知サーバ500は、ブラウザ410を介して端末装置400から受けたPIN(キー情報)表示要求を機器登録サーバ600に中継し、機器登録サーバ600が発行したPINをブラウザ410に表示させる機能を有している。また、URL通知サーバ500は、所定の手続き及び処理を介して伝達されたWebサーバ800のURLを端末装置400に通知するか、又は当該URLが示すWebコンテンツにブラウザ410の参照先をリダイレクト(参照先変更)する機能を有する。このとき、ブラウザ410が定期的にページを更新するように構成される。
上記の機能を提供するために、URL通知サーバ500は、端末装置400のユーザU1に対して入力/表示インターフェースを提供する。例えば、URL通知サーバ400は、PINの発行要求をするためのPIN発行要求ボタンやPIN発行又はURL通知処理をキャンセルするためのキャンセルボタン等の入力インターフェース、及びPINを表示するための表示インターフェースをブラウザ410に提供する。このとき、URL通知サーバ500と端末装置400との間の通信にはSSL等の認証技術を利用することが可能である。また、URL通知サーバ500は、端末装置400との間のセッションが確立された後、所定時間だけ当該セッションを維持し、所定時間が経過した後にセッションを破棄するように構成することもできる。なお、このセッションの形式は、特に限定されない。例えば、ネットワーク上にあるURL通知サーバ500がステートを管理するためのCGIを持つように構成することも可能である。
(機器登録サーバ600)
機器登録サーバ600は、URL通知サーバ500から伝送されたPIN発行要求に応じてPINを発行し、URL通知サーバ500に送信する機能を有する。また、機器登録サーバ600は、発行したPINを所定時間だけ保持しておき、Webサーバ800から伝送されてきたPINと、その時点で保持しているPINとを照合して、PINと共にWebサーバ800から伝送されてきたURLの転送先を検出する。そして、機器登録サーバ600は、その転送先が存在する場合に、URLをURL通知サーバ500に伝送する。また、機器登録サーバ600は、Webサーバ800に対して、PINとURLと入力するためのインターフェースを提供するように構成することもできる。例えば、機器登録サーバ600は、PIN入力欄、及びURL入力欄を少なくとも備える設定ページを提供することで、Webサーバ800が備えるブラウザを介してPIN及びURLを伝送できるように構成してもよい。
(URL通知方法)
ここで、図13を参照しながら、Webサーバ800が伝送するURLにブラウザ410がリダイレクトされるまでの手順について簡単に説明する。まず、端末装置400のユーザU1は、ブラウザ410を利用してWebサーバ800が提供するコンテンツにアクセスしようとする。このとき、ユーザU1は、URL通知サーバ500が提供するページにアクセスする(Y1)。例えば、端末装置400の出荷時にブラウザ410に登録されているリンクを指定して当該ページにアクセスするか、あるいは、検索エンジン等を利用して、そのページにアクセスする必要がある。
次いで、ユーザU1は、URL通知サーバ500のページに設けられた開始ボタンを押下する。すると、ブラウザ410にPINが表示される(Y4)。次いで、ユーザU1は、ブラウザ410に表示されたPINを電話等の通信手段を利用してWebサーバ800(又は、URLやURLが示すコンテンツ)の管理者U2に伝達する(T)。次いで、管理者U2は、ユーザU1から電話で伝達されたPINと、Webサーバ800が提供するコンテンツのURL(又は、Webサーバ内のフォルダ位置等)とを機器登録サーバ600が提供する設定ページのPIN入力欄とURL入力欄とにそれぞれ入力する(Y6)。例えば、設定ページには、URLをメールにて送信するための「メールアドレス入力欄」、URLを示すQRコードを画面出力するための「QRコード出力ボタン」、PINを画面入力するための「PIN入力欄」等が設けられていてもよい。
管理者U2によりPINとURLとが入力されると、URL通知システム700内で所定の処理が実行され、そのURLに基づいてブラウザ410の参照先がリダイレクトされる(Y8)。このとき、ユーザU1は、リダイレクトされたコンテンツのURLをお気に入りに登録しておくことにより、そのコンテンツにアクセスする度にURL通知処理を実行する必要がなくなる。
以上、本実施形態に係るURL通知システム700の構成、及びURL通知方法の概要について説明した。上記の構成を適用することにより、メール機能を備えていない機器であっても、長く複雑なURLを入力することなく所望のコンテンツに参照先をリダイレクトすることが可能になるため、ホームサーバ等がWebサーバとして提供するコンテンツを簡単に視聴することができるようになる。
(URL通知サーバ500の機能構成)
次に、図14に基づいて、本実施形態に係るURL通知サーバ500の機能構成について説明する。図14は、本実施形態に係るURL通知サーバ500の機能構成を示す説明図である。
図14に示すように、URL通知サーバ500は、主に、PIN要求部502と、PIN受信部504と、PIN表示部506と、URL受信部508と、URLリダイレクト処理部510とにより構成されている。
PIN要求部502は、端末装置400のブラウザ410に表示されたPIN発行ボタンが押下された際に、機器登録サーバ600に対してPIN発行要求を送信する。なお、ブラウザ410には、URL通知サーバ500のページが表示されているものと仮定している。
PIN受信部504は、PIN要求部502が送信したPIN発行要求に応じて機器登録サーバ600が発行したPINを受信し、そのPINをPIN表示部506に伝送する。そして、PIN表示部506は、PIN受信部504から取得したPINを端末装置400のブラウザ410に表示する。
URL受信部508は、機器登録サーバ600からURLを受信する。より詳細には、PIN表示部506によって端末装置400のブラウザ410に表示したPINと同じPINが機器登録サーバ600に入力された場合に、URL通知サーバ500は、機器登録サーバ600から伝送されたURLをURL受信部508を介して受信する。そして、URLリダイレクト処理部510は、URL受信部508から伝送されたURLに基づき、端末装置400のブラウザ410の参照先を当該URLにリダイレクトさせる。なお、当該リダイレクト処理は、例えば、URL通知サーバ500が保持する所定のスクリプトに基づいて実行される。
以上説明したように、URL通知サーバ500は、端末装置400と機器登録サーバ600との間を中継し、PIN情報の伝達処理、URL情報の伝達、及びブラウザ410の参照先リダイレクト処理等を実行する。上記の構成を適用すると、ネットワーク上にある多数の端末装置400のブラウザ410に対して公開されるPIN/URL情報の入出力ページ、及びブラウザ410の参照先リダイレクト処理等のブラウザ410に関する処理をURL通知サーバ500が一元管理することが可能になる。その結果、機器登録サーバ600の機能構成が必要以上に複雑になることを避けることが可能になる上、機器登録サーバ600とURL通知サーバ500とを別体として構成することで、容易に分散処理が図れるという利点もある。もちろん、サーバ管理上の利便性の向上も図れる。
(機器登録サーバ600の機能構成)
次に、図15に基づいて、本実施形態に係る機器登録サーバ500の機能構成について説明する。図15は、本実施形態に係る機器登録サーバ500の機能構成を示す説明図である。
図15に示すように、機器登録サーバ500は、主に、PIN発行部602と、一時記憶部604と、PIN受信部606と、PIN照合部608と、URL受信部610と、URL送信部612とにより構成される。
PIN発行部602は、URL通知サーバ500のPIN要求部502により伝送されたPIN発行要求に応じてPINを生成する。そして、PIN発行部602は、生成したPINをURL通知サーバ500のPIN受信部504に伝送する。また、PIN発行部602は、生成したPINを一時記憶部604に保存する。一時記憶部604は、不揮発性メモリであってもよいが、機器登録サーバ600の通電時のみ記憶データを保持することが可能な揮発性メモリであってもよい。さらに、PIN発行部602は、URL通知サーバ500との間のセッションが断絶した場合、又はURL通知処理のキャンセル要求をURL通知サーバ500から受信した場合、所定時間が経過してURL通知処理がタイムアウトした場合等に、一時記憶部604に記録された記録データ(例えば、PIN、又はPINを発行した端末装置400の情報等)を消去するように構成することも可能である。
PIN受信部606は、Webサーバ800からPINを受信してPIN照合部608に伝送する。PIN照合部608は、PIN受信部606から受信したPINと、一時記憶部604に保存されているPINとを照合して、Webサーバ800から伝送されたPINが自己(PIN発行部602)の発行したPINであるか否かを判断する。その結果、Webサーバ800から受信したPINと一致するPINが一時記憶部604に存在する場合、PIN照合部608は、後述するURL送信部612に対してURL送信要求を通知する。このとき、PIN照合部608は、URL通知サーバ500とブラウザ410との通信状態に関する情報(例えば、通信中、又は通信断等)をURL通知サーバ500から取得して、通信中である場合にURL送信要求を通知するように構成することも可能である。
URL受信部610は、Webサーバ800からURLを受信して、URL送信部612に伝送する。このとき、Webサーバ800から送信されるURLは、PINと共に伝送されるものであり、PIN受信部606が受信するPINとURL受信部610が受信するURLとは対応するものである。そして、URL送信部612は、URL受信部610から取得したURLをURL通知サーバ500に送信する。上記の通り、URL送信部612は、PIN照合部608から通知されるURL送信要求に応じて、該当するURLをURL通知サーバ500に送信する。
以上、本実施形態に係る機器登録サーバ600の主な機能構成について説明した。上記の構成によると、端末装置400のユーザU1とWebサーバ800の管理者(又はユーザ)U2との間で行われるPINのやり取りを認証して、URLをURL通知サーバ500に伝送することが可能になる。さらに、端末装置400のブラウザ410の表示状態に応じて保持するPINを消去する構成、又は所定時間だけPINを保持する構成を適用することにより、機器登録サーバ600が保持すべきPIN等の情報を削減できる上、当該情報を管理する負担を低減させることができる。なお、本実施形態に係る機器登録サーバ600は、上記の第1実施形態に係る機器登録サーバ300に比べてURL送信に特化した構成になってはいるが、基本的な技術的思想において上記の第1実施形態に係る機器登録サーバ300とほぼ共通している点にも留意する必要がある。
(Webサーバ800の機能構成)
次に、図16に基づいて、本実施形態に係るWebサーバ800の機能構成について説明する。図16は、本実施形態に係るWebサーバ800の機能構成を示す説明図である。
図16に示すように、Webサーバ800は、主に、PIN/URL送信インターフェース810と、ページ表示部820とにより構成される。さらに、PIN/URL送信インターフェース810には、URL入力部812と、PIN入力部814とが設けられている。
PIN/URL送信インターフェース810は、機器登録サーバ600に接続され、URL入力部812、及びPIN入力部814に入力された情報(それぞれ、URL、PIN)を機器登録サーバ600に送信する。PIN/URL送信インターフェース810は、機器登録サーバ810の管理者又はユーザ(以下、管理者と呼ぶ)U2が機器登録サーバ600に情報を送信するためのユーザインターフェース(UI)を提供するものである。そのため、専用のUIであってもよいが、Webブラウザを利用したインターフェースであってもよい。その場合、PIN/URL送信インターフェース810は、機器登録サーバ600のページが表示されたWebブラウザの表示画面である。なお、PIN/URL送信インターフェース810は、機器登録サーバ600に対して相互に接続するための認証情報等を送受信するように構成してもよい。
また、URL入力部812は、Webサーバ800の管理者U2が端末装置400に通知したいURLを入力する入力用のインターフェースである。例えば、テキストを入力可能な入力欄、所定のURLがリストアップされたプルダウンメニュー、又は所定のURLに対応付けされたURL送信ボタンにより構成することができる。一方、PIN入力部814は、端末装置400のユーザU1から通知されたPINを入力するインターフェースである。例えば、テキスト入力可能な入力欄により構成することも可能であるし、携帯電話やPDA等の携帯端末を接続してWebサーバ800に入力されたPIN情報を表示して選択する選択インターフェースにより構成することも可能である。
ページ表示部820は、ネットワーク850に接続され、端末装置400のブラウザ410にページを表示する機能を有する。例えば、ページ表示部820は、ApacheやIIS等のWebサーバ機能を実現するモジュールにより構成することが可能である。従って、所定のURL通知処理ステップを経て端末装置400のブラウザ410がWebサーバ800のページにアクセスした際、そのページを表示するのがページ表示部820である。なお、一例としてページを表示するページ表示部820の構成を図示したが、本実施形態の適用範囲は、これに限定されるものではない。例えば、ページ表示部820に代えて、映像コンテンツを再生させる映像サーバ、又は音楽コンテンツを再生させる音楽サーバ等の各種コンテンツサーバ等により構成することも可能である。
以上説明したように、本実施形態に係るWebサーバ800は、端末装置400のユーザU1に伝えたいURLを、URL通知システム700を介して通知するために、当該URLとPINとを機器登録サーバ600に送信することができる。また、端末装置400からのページ表示要求に応じて、端末装置400のブラウザ410にページを表示させることができる。上記の説明では、本実施形態の技術的特徴をより理解し易いようにWebサーバ800のページを表示する構成を主に例示したが、本実施形態に係る技術を他の構成に適用することも可能である。
例えば、Webサーバ800内の公開ディレクトリのアドレスと、当該アドレスにアクセスするための接続認証情報とをURLに代えて通知し、端末装置400が備えるFTP機能やSSH機能等を利用して、その公開ディレクトリにアクセスさせるように構成することもできる。その場合、ページ表示部820に代えて、FTPサーバやSSHサーバ等が利用される。これらの変形例は、ほんの一例であり、本実施形態に係る技術的特徴を例示した構成以外にも適用できることは当業者にとって明らかであろう。
(ブラウザ410の表示構成)
ここで、図17に基づいて、端末装置400のブラウザ410に表示されるPIN発行要求画面と、PIN表示画面とについて簡単に説明する。図17は、ブラウザ410に表示されるPIN発行要求及びPIN表示画面の一例を示す説明図である。
まず、図17の左図を参照すると、URL通知サーバ500のページに接続中のブラウザ410の表示画面が示されている。この例では、ブラウザ410の表示画面にPIN発行要求ボタン(開始ボタン)412が表示されている。端末装置400のユーザU1は、このPIN発行要求ボタン412を押下することにより、URL通知サーバ500からPINの発行を受けることができる。PIN発行要求ボタンが押下されると、図17の右図のようなPIN表示画面が表示される。図17の右図には、URL通知サーバ500が発行したPIN414と、URL通知に関する処理を中断するためのキャンセルボタン416とが表示されている。端末装置400のユーザU1は、ブラウザ410に表示されたPIN414をWebサーバ800の管理者U2に伝達することで、URL通知処理を依頼することができる。
このとき、端末装置400のユーザU1は、Webサーバ800の管理者U2に対して、端末装置400とWebサーバ800とを接続するネットワーク850とは別の通信経路を用いてPIN414を伝達する。別の通信経路とは、例えば、電話等による音声情報の伝送経路、又はメールやチャット等のテキスト情報の伝達経路である。こうした構成を適用すると、端末装置400のユーザU1は、電話等によりPIN414をWebサーバ800の管理者U2に言葉で通知する方法、又は携帯電話のメーラを利用してPIN414をWebサーバ800の管理者U2に通知する方法等が考えられる。さらに、URL通知サーバ500が端末装置400のブラウザ410にPIN414に相当するQRコード等を表示する構成を適用すると、端末装置400のユーザU1は、携帯電話等を用いて、ブラウザ410に表示されたQRコード等を撮影してPIN414を取得し、Webブラウザ800の管理者U2に送信することができる。もちろん、これらの例に限定されるものではないし、当業者であれば、上記の例を参考に他の通信経路、及び伝達方法を想起することも可能であろう。
(PIN/URL送信インターフェース810の表示構成)
ここで、図18に基づいて、Webサーバ800が機器登録サーバ600にPINとURLとを送信するためのPIN/URL送信インターフェース810の表示構成について簡単に説明する。図18は、PIN/URL送信インターフェース810の表示構成を説明するための説明図である。
図18に示すように、PIN/URL送信インターフェース810には、例えば、機器登録サーバ600の設定用ページが表示される。従って、URL入力部812は、機器登録サーバ600の設定用ページを表示するためのブラウザにより構成することができる。図18の例を参照すると、URL入力部812は、端末装置400のブラウザ410に表示させるページのURLが列挙されたページリスト812aと、所定のURLを機器登録サーバ600に通知するためのURL通知ボタン812bとにより構成される。もちろん、URL入力部812には、プルダウンメニューを用いてページリストを表示したり、チェックボックスを設けて送信するURLを指定したりする等のUI上の工夫を施すことが可能であることは言うまでもない。なお、ページリスト812aには、例えば、時刻表サイトの検索結果として表示されるURLをリストアップするような複合機能型のページリスト構成を適用することも可能である。
さらに、図18には、PIN入力部814が例示されている。このPIN入力部814は、キャンセルボタン814aと、テキスト入力欄814bとにより構成されている。Webサーバ800の管理者U2は、端末装置400のユーザU1から通知されたPINをテキスト入力欄814bに入力することで、PINを機器登録サーバ600に送信することができる。一方、URLの通知処理を中断したい場合には、キャンセルボタン814aを押下することでURL通知処理自体をキャンセルすることができる。例えば、ある端末装置400のユーザU1からPINを通知されたものの、その時点で公開できる適切なページがない場合にURL通知処理を中断する等のケースが考えられる。
以上、図17、及び図18を参照しながら、URLを通知される側にある端末装置400のユーザU1と、URLを通知する側にあるWebサーバ800の管理者U2との入出力インターフェースの具体的な構成例について説明した。上記の構成を適用することにより、本実施形態に係るURL通知処理を実現することが可能になる。但し、ユーザU1又は管理者U2が利用するインターフェース部分の構成は、これまで知られている技術、又は将来主流として利用される技術を用いて構成することも可能である。つまり、本実施形態の技術的特徴に係る部分は、そのインターフェースを利用して入出力される情報であり、また、その情報により実行される処理の全体にあるため、可能な限りユーザU1又は管理者U2の利便性が向上するようなインターフェース構成にすることが好ましい。
以上、各機器の機能構成について説明したが、次に、各機器における処理の流れについて説明する。
(端末装置400におけるURL通知処理の流れ)
まず、図19A及び図19Bに基づいて、端末装置400におけるURL通知処理の流れについて詳細に説明する。なお、図19A及び図19Bは、端末装置400におけるURL通知処理フローを示す流れ図である。また、図19A及び図19Bには、図13に示した各処理についての符号(Y1〜Y8、T)を一緒に示してある。さらに、以下の説明では、PINが所定時間のみ保持される例を挙げて説明する。
図19Aに示すように、まず、端末装置400のブラウザ410を用いて、端末装置400にURL通知サーバ500のページを表示させる(S402)。このURL通知サーバ500のページには、上述したように、URL通知の開始ボタン412を含むページが表示される(S404)。端末装置400は、ユーザU1による開始ボタンの押下を待ち(S406)、ユーザU1により開始ボタンが押下(Y1)されると(S408)、開始ボタン押下イベントをURL通知サーバ500に通知する(S410)。その後、新ページ情報待ち(ページ更新情報待ち)の状態となる(S412)。この状態で、端末装置400は、キャンセルボタン416が表示されたキャンセルボタンページの表示をURL通知サーバ500に対して要求する(S414)。この要求に応じて、端末装置400にキャンセルボタンページが表示される(S416)。
次に、図19Bに示すように、端末装置400は、どのようなページ更新イベントが行われたかを判定し(S418)、その判定結果により、次のチャネルa〜cに移行する。
第1に、キャンセルボタン押下イベントが行われた場合には(S420)、チャネルaに移行する。キャンセルボタン押下イベントが行われると、端末装置400は、まず、キャンセルボタン押下イベントをURL通知サーバ500に通知(S422)する。次に、端末装置400は、URL通知が失敗した旨の表示を含むURL通知終了ページを表示し(S424)、URL通知処理を終了する(URL通知失敗)。
第2に、URL通知サーバ500からPINとキャンセルボタンページへの更新要求とを受信(Y4)した場合には(S426)、チャネルbへ移行する。まず、端末装置400は、URL通知サーバ500から受信したPINと更新要求のあったキャンセルボタンページとを表示させる(S428)。次に、端末装置400は、どのようなページ更新イベントが行われたかを判定し(S430)、その判定結果により、さらにチャネルd、e、fに移行する。
まず、キャンセルボタン押下イベントが行われた場合には(S432)、チャネルdに移行する。キャンセルボタン押下イベントが行われると、端末装置400は、まず、キャンセルボタン押下イベントをURL通知サーバ500に通知(S422)する。次に、端末装置400は、URL通知が失敗した旨の表示を含むURL通知終了ページを表示し(S424)、URL通知処理を終了する(URL通知失敗)。また、端末装置400は、URL通知サーバ500から通知されたURLの遷移確認ページへの更新要求を受信(Y8)した場合には(S434)、チャネルeに移行する。URL通知サーバ500から通知されたURLの遷移確認ページへの更新要求を受信した端末装置400は、遷移確認ボタンページを表示させる(S436)。
次に、端末装置400は、表示された遷移確認ボタンページにおいて、どのボタンイベントが行われたかを判定する(S438)。その判定の結果、チャネルgのように、ユーザU1によりキャンセルボタンが押下された場合には(S440)、端末装置400は、URL通知が失敗した旨の表示を含むURL通知終了ページを表示し(S424)、URL通知処理を終了する(URL通知失敗)。一方、ステップS438の判定の結果、チャネルhのように、ユーザU1により遷移確認ボタンが押下された場合には(S442)、端末装置400は、URL通知サーバ500から通知されたURLへ遷移(Y9)させ(S444)、URL通知処理を終了する(URL通知成功)。
第3に、ステップS418の判定の結果、URL通知サーバ500から失敗終了ページへの更新要求を受信した場合には(S446)、チャネルcへ移行する。この場合は、端末装置400は、失敗終了ページを表示させ(S448)、URL通知処理を終了する(URL通知失敗)。
また、ステップS430の判定の結果、URL通知サーバ500から失敗終了ページへの更新要求を受信した場合には(S450)、チャネルfへ移行し、ステップS446の場合と同様に、端末装置400は、失敗終了ページを表示させ(S448)、URL通知処理を終了する(URL通知失敗)。
(URL通知サーバ500におけるURL通知処理の流れ)
次に、図20及び図21に基づいて、URL通知サーバ500におけるURL通知処理の流れについて詳細に説明する。なお、図20は、URL通知サーバ500における処理フローのうち、複数のセッションを管理するURL通知サーバ500全体の処理フローを示す流れ図であり、図21は、URL通知サーバ500における処理フローのうち、個々のセッションごとの処理フローを示す流れ図である。また、図20及び図21には、図13に示した各処理についての符号(Y1〜Y8、T)を一緒に示してある。
初めに、図20を参照しながら、複数のセッションを管理するURL通知サーバ500全体の処理の流れについて説明する。
図20に示すように、URL通知サーバ500は、端末装置400、機器登録サーバ600からのイベントや情報の受信がない場合には待機状態にあり、この待機状態において、他の機器(本実施形態では、端末装置400または機器登録サーバ600)から何らかの情報を受信した場合には、その受信情報の内容を判別する。その受信情報の判別の結果に応じて、3つのチャネルA〜Cに移行する。
第1に、端末装置400のブラウザ410でURL通知開始ボタン押下イベントがあり、URL通知サーバ500がブラウザ410からPIN発行要求を受信(Y1)した場合には(S502)、チャネルAに移行する。ブラウザ410からPIN発行要求を受信したURL通知サーバ500は、端末装置400に対しPINを発行し、端末装置400との間でセッションを確立する(S504)。URL通知サーバ500は、このセッションを確立した後に、再び待機状態となる。
第2に、端末装置400のブラウザ410でキャンセルボタン押下イベントがあり、URL通知サーバ500がブラウザ410からURL通知処理のキャンセル要求を受信した場合には(S506)、チャネルBに移行する。URL通知サーバ500は、ブラウザ410からキャンセル要求を受信する際に、キャンセル要求とともにPINを受信しており、この受信したPINと、URL通知サーバ500が保持しているPINとが合致するかどうかを判断する。その結果、これら2つのPINが合致した場合には、URL通知サーバ500は、この合致したPINに該当するセッションが存在するかどうかを判断する(S508)。この判断の結果、該当するセッションが存在しないと判断された場合には、URL通知サーバ500は再び待機状態となる。一方、ステップS508の判断の結果、該当するセッションが存在すると判断された場合には、この該当するセッションを通じて、キャンセルボタン押下イベントを受信する(S510)。
第3に、機器登録サーバ600からPINを受信した場合(Y4)には(S512)、チャネルCに移行する。URL通知サーバ500は、機器登録サーバ600からPINを受信した場合には、このPINを端末装置400に送信し、端末装置400のブラウザ410にこのPINが表示される。その後、PINの有効期限内に(PINがURL通知サーバ500で保持されている間に)、端末装置400のユーザU1からWebサーバ800の管理者U2にPINが通知され、この通知されたPINを用いてWebサーバ800から機器登録サーバ600に伝えたいURL情報が通知された場合には、URL通知サーバ500は、機器登録サーバ600からURL情報(Y6)を受信する(S514)。その後、URL通知サーバ500は機器登録サーバ600からセッション終了通知を受信する(S516)。URL通知サーバ500は、機器登録サーバ600からセッション終了通知を受信する際に、セッション終了通知とともにPINを受信しており、この受信したPINと、URL通知サーバ500が保持しているPINとが合致するかどうかを判断する。その結果、これら2つのPINが合致した場合には、URL通知サーバ500は、この合致したPINに該当するセッションが存在するかどうかを判断する(S508)。この判断の結果、該当するセッションが存在すると判断された場合には、PIN、URL情報及びセッション終了通知を該当するセッションを通じて機器登録サーバ600に送信し(S520)、URL通知サーバ500は再び待機状態となる。一方、ステップS518の判断の結果、該当するセッションが存在しないと判断された場合には、機器登録サーバ600に対してセッション終了通知を送信し(S522)、URL通知サーバ500は再び待機状態となる。
次に、図21を参照しながら、複数のセッションを管理するURL通知サーバ500の個々のセッションごとの処理の流れについて説明する。以下の説明においては、URL通知サーバ500と端末装置400との間に確立されたセッションにおける処理の流れを例に挙げて説明する。
図21に示すように、URL通知サーバ500が端末装置400との間でセッションを確立(S532)した後に、機器登録サーバ600に対してPIN取得要求(Y2)を送信する(S534)。PIN取得要求を送信したURL通知サーバ500は、ブラウザ410に対してキャンセルボタンページへの更新要求を送信する(S536)。その後、URL通知サーバ500は、機器登録サーバ600からPINを取得したかどうかを判断する(S538)。この判断の結果、URL通知サーバ500がPINを取得していないと判断され、URL通知サーバ500においてブラウザ410からキャンセルボタン押下イベントを受信した場合には(S540)、機器登録サーバ600に対してセッション終了通知を送信する(S542)。一方、ブラウザ410に対しては、失敗終了ページへの更新要求を送信し(S544)、URL通知処理を終了する(URL通知失敗)。また、ステップS538の判断の結果、URL通知サーバ500がPINを取得していないと判断され、URL通知サーバ500においてブラウザ410に対してセッション終了通知を送信した場合には(S546)、ブラウザ410に対して失敗終了ページへの更新要求を送信し(S548)、URL通知処理を終了する(URL通知失敗)。一方、ステップS538の判断の結果、機器登録サーバ600からPINを受信(Y3)、PINを取得したと判断された場合には(S550)、URL通知サーバ500は、ブラウザ410に対して、機器登録サーバ600から取得したPINと、キャンセルボタンページへの更新要求とを送信する(S552)。
さらに、URL通知サーバ500は、機器登録サーバ600からWebサーバ800が伝えたいURL情報を取得したかどうかを判断する(S554)。この判断の結果、URL通知サーバ500がURL情報を取得していないと判断され、URL通知サーバ500においてブラウザ410からキャンセルボタン押下イベントを受信した場合には(S556)、機器登録サーバ600に対してセッション終了通知を送信する(S542)。一方、ブラウザ410に対しては、失敗終了ページへの更新要求を送信し(S544)、URL通知処理を終了する(URL通知失敗)。また、ステップS554の判断の結果、URL通知サーバ500がURL情報を取得していないと判断され、URL通知サーバ500においてブラウザ410に対してセッション終了通知を送信した場合には(S558)、ブラウザ410に対して失敗終了ページへの更新要求を送信し(S548)、URL通知処理を終了する(URL通知失敗)。一方、ステップS554の判断の結果、機器登録サーバ600からURL情報を受信し、URL情報を取得したと判断された場合には(S560)、URL通知サーバ500は、ブラウザ410に対して、通知されたURLへの遷移確認ページへの更新要求(Y8)を送信し(S562)、URL通知処理を終了する(URL通知成功)。
(機器登録サーバ600におけるURL通知処理の流れ)
次に、図22及び図23に基づいて、機器登録サーバ600における処理の流れについて詳細に説明する。なお、図22は、機器登録サーバ600における処理フローのうち、複数のセッションを管理する機器登録サーバ600全体の処理フローを示す流れ図であり、図23は、機器登録サーバ600における処理フローのうち、個々のセッションごとの処理フローを示す流れ図である。また、図22及び図23には、図13に示した各処理についての符号(Y1〜X8、T)をともに示してある。
初めに、図22を参照しながら、複数のセッションを管理する機器登録サーバ600全体の処理の流れについて説明する。
図22に示すように、機器登録サーバ600は、URL通知サーバ500及びWebサーバ800からのアクセスがない場合には待機状態にあり、この待機状態において、他の機器(本実施形態では、URL通知サーバ500及びWebサーバ800)から何らかの情報を受信した場合には、その受信情報の内容を判別する。その受信情報の判別の結果に応じて、3つのチャネルD〜Fに移行する。
第1に、機器登録サーバ600がURL通知サーバ500からPIN取得要求(Y2)を受信した場合には(S602)、チャネルDに移行する。PIN取得要求を受信した機器登録サーバ600のPIN発行部602は、例えば、有効期限付きの(所定時間のみ保持される)PINを生成する(S604)。次に、機器登録サーバ600は、ステップS604で生成されたPINをURL通知サーバ500に送信し、PINの送信先であるURL通知サーバ500との間でセッションを確立し(S606)、機器登録サーバ600は再び待機状態となる。URL通知サーバ500との間で確立されたセッションは、原則として、PINの有効期限の間維持される。
第2に、URL通知サーバ500に対して発行したPINの有効期限内に、Webサーバ800から伝えたいURL情報を受信(Y6)した場合には(S608)、チャネルEに移行する。機器登録サーバ600は、Webサーバ800からURL情報を受信する際に同時にPINも受信する。機器登録サーバ600のPIN照合部608は、Webサーバ800から受信したPINと、URL通知サーバ500に発行し(機器登録サーバ600に保持されている)PINとを照合する(S610)。次に、機器登録サーバ600は、このステップS610の照合の結果、Webサーバ800から受信したPINが、URL通知サーバ500が保持しているPINと合致したかどうかを判断する(S612)。この判断の結果、上記2つのPINが合致しなかった場合には、機器登録サーバ600は再び待機状態となる。一方、ステップS612の判断の結果、上記2つのPINが合致した場合には、機器登録サーバ600は、この合致したPINに該当するセッション、すなわち、この例の場合は、機器登録サーバ600とURL通知サーバ500との間に確立されたセッションが存在するかどうかを判断する(S614)。この判断の結果、該当するセッションが存在すると判断された場合には、該当セッションを通じてそのセッションが確立している相手、すなわち、この例の場合はURL通知サーバ500に対して、Webサーバ800が伝えたいURL情報を送信し(S616)、機器登録サーバ600は再び待機状態となる。一方、ステップS614の判断の結果、該当するセッションが存在しないと判断された場合には、Webサーバ800に対してセッション終了通知を送信し(S618)、機器登録サーバ600は再び待機状態となる。
第3に、URL通知サーバ500からのセッション終了通知(セッション終了要求の通知)を受信した場合には(S620)、チャネルFに移行する。機器登録サーバ600は、URL通知サーバ500からセッション終了通知を受信する際に同時にPINも受信する。機器登録サーバ600のPIN照合部608は、このときURL通知サーバ500から受信したPINと、機器登録サーバ600が保持しているPINとを照合する(S622)。次に、機器登録サーバ600は、このステップS622の照合の結果、URL通知サーバ500からセッション終了通知とともに受信したPINが、機器登録サーバ600が保持しているPINと合致したかどうかを判断する(S624)。この判断の結果、上記2つのPINが合致しなかった場合には、機器登録サーバ600は再び待機状態となる。一方、ステップS624の判断の結果、上記2つのPINが合致した場合には、機器登録サーバ600は、この合致したPINに該当するセッション、すなわち、この例の場合は、機器登録サーバ600とURL通知サーバ500との間に確立されたセッションが存在するかどうかを判断する(S626)。この判断の結果、該当するセッションが存在すると判断された場合には、該当セッションを通じてそのセッションが確立している相手、すなわち、この例の場合はURL通知サーバ500に対して、セッション終了通知(セッションを実際に終了した旨の通知)を送信し(S628)、機器登録サーバ600は再び待機状態となる。一方、ステップS626の判断の結果、該当するセッションが存在しないと判断された場合には、Webサーバ800に対してセッション終了通知を送信し(S618)、機器登録サーバ600は再び待機状態となる。
次に、図23を参照しながら、複数のセッションを管理する機器登録サーバ600の個々のセッションごとの処理の流れについて説明する。以下の説明においては、機器登録サーバ300とURL通知サーバ500との間に確立されたセッションにおける処理の流れを例に挙げて説明する。
図23に示すように、機器登録サーバ600がURL通知サーバ500との間でセッションを確立(S632)した後に、この確立されたセッションを通じて、URL通知サーバ500に対してPIN(Y3)を通知する(S634)。この例においては、PINは、有効期限付きの情報であるので、URL通知サーバ500に対してセッションを通知した時点からセッションタイマーがスタートする(S636)。次に、機器登録サーバ600は、このセッションタイマーの制限時間内に、URL受信部610がWebサーバ800からURL情報を取得したかどうかを判断する(S638)。この判断の結果、Webサーバ800からのURL情報を取得せず、セッションタイマーがタイムアウトしたと判断された場合には(S640)、URL通知サーバ500に対してセッション終了を通知し(S642)、URL通知処理を終了する(URL通知失敗)。また、ステップS638の判断の結果、Webサーバ800に対してセッション終了を通知したと判断された場合にも(S644)、URL通知処理を終了する(URL通知失敗)。一方、ステップS638の判断の結果、Webサーバ800からのURL情報を受信したと判断された場合には(S646)、URL通知サーバ500に対して、Webサーバ800から受信したURL情報(Y7)を送信し(S648)、URL通知処理を終了する(URL通知成功)。
(Webサーバ800におけるURL通知処理の流れ)
次に、図24及び図25に基づいて、Webサーバ800における処理の流れについて詳細に説明する。なお、図24は、Webサーバ800における処理フローのうち、伝えるべきURLがWebサーバ800自体のURLでない場合を示す流れ図であり、図25は、Webサーバ800における処理フローのうち、伝えるべきURLがWebサーバ800自体のURLである場合を示す流れ図である。また、図24及び図25には、図13に示した各処理についての符号(Y1〜X8、T)をともに示してある。
まず、図24を参照しながら、伝えるべきURLがWebサーバ800自体のURLでない場合のWebサーバ800のURL通知処理の流れについて説明する。
図24に示すように、まず、図18に示したようなWebサーバ800のインターフェース810のURL入力部812において、伝えるべきURL812aの横のURL通知ボタン812bが、Webサーバ800の管理者U2により押下されると(S802)、インターフェース810のPIN入力部814にPIN入力要求(例えば、「通知したい機器に表示されたパスコードを入力してください」等)が表示される(S804)。次に、Webサーバ800は、このPIN入力要求に応じて、管理者U2によりPIN入力部814にPINが入力されたかどうかを判断する(S806)。この判断の結果、PINが入力されず、管理者U2によりキャンセルボタン814aが押下された場合には(S808)、Webサーバ800はURL通知処理を終了する(URL通知処理失敗)。一方、ステップS806の判断の結果、管理者U2によりPINが入力された場合には(S810)、Webサーバ800は、機器登録サーバ600に対して伝えるべきURL情報とPIN(Y6)送信し(S812)、URL通知処理を終了する(URL通知成功)。
次に、図25を参照しながら、伝えるべきURLがWebサーバ800自体のURLである場合のWebサーバ800のURL通知処理の流れについて説明する。
図25に示したステップS852からステップS862までの処理は、上述した図24に示したステップS802からステップS812までの処理と同様であるので、ここでは説明を省略する。以下、ステップS864からの処理について詳細に説明する。
図25に示すように、ステップS862で、Webサーバ800が機器登録サーバ600に対して伝えるべきURL情報とPIN(Y6)送信した後に、Webサーバ800は、端末装置400からのWeb接続があったかどうかを判断する(S864)。この判断の結果、端末装置400からのWeb接続がなく、Webサーバ800の管理者U2によりキャンセルボタン814aが押下された場合には(S866)、Webサーバ800はURL通知処理を終了する(URL通知処理失敗)。また、ステップS864の判断の結果、端末装置400からのWeb接続がなく、機器登録サーバ600からセッション終了通知を受信した場合には(S868)、URL通知失敗の終了通知をWebサーバ800のインターフェース810にUI表示し(S870)、URL通知処理を終了する(URL通知失敗)。一方、ステップS864の判断の結果、端末装置400からのWeb接続(Y9)があった場合には(S872)、URL通知成功の通知をWebサーバ800のインターフェース810にUI表示し(S874)、URL通知処理を終了する(URL通知成功)。
以上説明したような方法で、Webサーバ800から端末装置400にURLを通知することにより、メール機能を備えていない機器であっても、長く複雑なURLを入力することなく所望のコンテンツに参照先をリダイレクトすることが可能になるため、ホームサーバ等がWebサーバとして提供するコンテンツを簡単に視聴することができるようになる。
[本発明の第3の実施形態に係る接続認証システム]
次に、本発明の第3の実施形態に係る接続認証システムについて説明する。本実施形態に係る接続認証システムは、互いの接続情報を有していない2つの端末間でインターネットを介して相互に接続をしようとする際に、インターネットサーバにより一方の端末に対して発行されたキー情報を利用して認証を行い、このインターネットサーバが2つの端末間の接続情報の交換の仲介を行うものである点については、上述した第1の実施形態の場合と同様である。
しかし、上述した第1の実施形態の場合には、被接続機器100と接続機器200以外の他の機器が、適当なPINコードを入力し続けた場合、偶然、被接続機器100に発行されたPINコードと同一のPINコードを入力できることがある。このような場合、他の機器は、接続機器200になりすまして、被接続機器100の接続情報を取得してしまうことがあり、セキュリティ上の観点から改善の余地があった。
そこで、本実施形態に係る接続認証システムにおいては、接続機器から接続認証サーバに対してキー情報の通知が行われた際に、そのキー情報の通知を行った機器が、被接続機器と接続情報の交換をしようとしている接続機器であるか否かの確認処理を行うこととした。具体的には、接続機器から接続認証サーバに対してキー情報の通知が行われた際に、接続認証サーバが、上記確認処理を行うための確認情報(例えば、有効期限付きのPINなど)を、被接続機器及び接続機器の両者に発行する。そして、両者に発行された確認情報が同一であることが被接続機器と接続機器との間で確認され、確認された旨の通知が、例えば、被接続機器から接続認証サーバに通知(確認処理)された後に、被接続機器及び接続機器に対し、接続相手の接続情報を接続認証サーバが提供する。
すなわち、本実施形態では、接続情報の提供は、被接続機器と接続機器のいずれに対しても接続認証サーバにより行われ、その接続情報の提供は、確認情報を用いた確認処理の後でなければ行われないようにすることにより、よりセキュリティを向上させている。以下、このような第3の実施形態に係る接続認証システムについて詳細に説明する。
(第3実施形態に係る接続認証システムの全体構成及び接続認証方法の概要)
まず、図26に基づいて、本実施形態に係る接続認証システムの全体構成及び接続認証方法の概要について説明する。なお、図26は、本実施形態に係る接続認証システムの全体構成を示す説明図である。
以下の接続認証システムの説明においては、本実施形態に係る接続認証システムの一例として、機器登録システム30を例に挙げて説明する。
図26に示すように、機器登録システム30は、本実施形態に係る第1の端末装置の一例としての被接続機器1100と、本実施形態に係る第2の端末装置の一例としての接続機器1200と、本実施形態に係る接続認証サーバの一例としての機器登録サーバ1300と、を含む。
この機器登録システム30では、被接続機器1100と接続機器1200が、互いに、相手の機器に対する接続情報(例えば、URL、IPアドレス、ポート番号、各機器の証明書等)を有していない場合に、被接続機器1100と接続機器1200との間の接続情報の交換(以下、「機器登録」と称する場合がある。)を、機器登録サーバ300を介して行う。すなわち、機器登録サーバ1300は、ネットワークを介して被接続機器1100及び接続機器1200と接続されており、被接続機器1100と接続機器1200との間の接続認証及びその確認処理を行い、被接続機器1100及び接続機器1200から取得した接続情報を、それぞれ、接続機器1200及び被接続機器1100に提供する。
被接続機器1100及び接続機器1200としては、例えば、DLNA(DigitalLiving Network)等により規格化されたホームネットワーク等に接続して利用される機器である、パーソナルコンピュータ(PC;Personal Computer)、ハードディスクレコーダ(PVR;Personal Video Recorder)、テレビチューナ、セットトップボックス(STB;Set Top Box)、デジタルカメラ、デジタルビデオカメラ、携帯電話、携帯型情報端末(PDA;Personal Digital Assistants)、ゲーム機、ステレオセット、又はデジタル音楽デバイス等が挙げられる。ただし、被接続機器1100及び接続機器1200としては、DLNA等の標準規格に従ったホームネットワークを構成する電子機器に限られず、例えば、冷蔵庫や炊飯器のようなものであってもよい。また、機器登録サーバ1300としては、PC等の情報処理装置が挙げられる。
なお、被接続機器1100及び接続機器1200は、それぞれ、機器登録サーバ1300にアクセスするための情報(例えば、URL、サーバ証明書等)を予め有しており、この情報に基づき、被接続機器1100及び接続機器1200は、機器登録サーバ1300に接続することができる。以下、機器登録システム30における機器登録方法の概要について説明する。
まず、被接続機器1100が、機器登録サーバ1300のURLや証明書等の情報に基づき、機器登録サーバ1300にアクセスし、接続機器1200を機器登録するための機器登録用のキー情報(例えば、PIN等の登録コード)の発行要求を送信する(Z1)。被接続機器1100からのキー情報の発行要求を受信した機器登録サーバ1300は、キー情報を新たに生成するか、あるいは、自己が保有しているキー情報のうち使用されていないキー情報を発行し、被接続機器1100に送信する(Z2)。このとき、発行するキー情報としては、機器登録サーバ1300が保持する情報量が少ないこと、また、被接続機器1100と接続機器1200との間のコネクションの安全性が高いこと等の理由から、有効期限付きのキー情報(例えば、使用可能な制限時間が5分程度と短いPIN)を使用することが好ましい。また、機器登録サーバ1300は、キー情報の送信先(本実施形態の場合は、被接続機器1100)との間でセッションSSを確立する。発行したキー情報が有効期限付きのものである場合には、セッションSSは当該有効期限の間だけ維持される。
次に、このようにして被接続機器1100により取得されたキー情報を、被接続機器1100のユーザU1に通知する(t1)。キー情報が通知されたユーザU1は、接続機器1200のユーザU2に対し、電話1100Aと電話1200Aとの間の通信等の所定の通知手段により、機器登録サーバ1300が発行したキー情報を通知する(T1)。
ここで、ユーザU1からユーザU2にキー情報を伝える所定の通知手段とは、特定の相手にのみ安全かつ確実に情報を通知できる通知手段であって、電話が代表的な例であるが、これには限られない。このような通知手段としては、他には、接続機器1200がモデムを搭載しており、このモデムを利用して接続機器1100のユーザU2が直接被接続機器1100のユーザU1と電話で通話し、キー情報の入力を受け付ける方法が考えられる。この方法の場合には、セキュリティ上の問題から、接続機器1200側のユーザU2がボタンを押している間だけ上記のようなキー情報の受付が可能というようにして、自動化を防ぐことが好ましい。これは、ユーザを介する別の通知手段が存在するということ自体が機器登録の際の信用条件の一つであるので、この通知手段が全自動であるとセキュリティ上の観点から問題がある。また、さらに他の通知手段としては、被接続機器1100が作成したプログラムである機器登録実行用の「登録実行ファイル」を接続機器1200にメール等の手段により送信し、メール等により登録実行ファイルを受信した接続機器1200が、このプログラムを実行するという方法も考えられる。
また、被接続機器1100は、キー情報を取得した後に、接続機器から接続認証サーバに対してキー情報の通知が行われた際に、そのキー情報の通知を行った機器が、被接続機器と接続情報の交換をしようとしている接続機器であるか否かの確認処理を行う際に用いる確認情報を取得するためのポーリングを開始する(Z3)。なお、確認情報の取得要求は、ポーリングのみには限られず、被接続機器1100から機器登録サーバ1300に対して、1回のみ送信しておき、機器登録サーバ1300が、被接続機器1100との間のセッション(例えば、TCPコネクション)を保持したまま、適当な時に確認情報を送信できるようにしてもよい。
ユーザU2は、キー情報が通知された後に、当該キー情報を接続機器1200に入力する(t2)。キー情報が入力された接続機器1200は、当該キー情報と接続機器1200にアクセスするための接続情報(例えば、IPアドレス、ポート番号またはURL及び接続機器1200の証明書)を送信する(Z4)。このとき、キー情報が有効期限付きのものである場合には、ユーザU2によるキー情報の入力(t2)、及び、キー情報と接続機器1200の接続情報の送信(Z4)は、当該有効期限内に行われる必要がある。キー情報の入力(t2)やキー情報と接続機器1200の接続情報の送信(Z4)が有効期限内に行われなかった場合には、有効期限の終了とともにセッションSSが消滅する。
機器登録サーバ1300は、接続機器1200からキー情報及び接続機器1200の接続情報を受信した後に、被接続機器1100に発行したキー情報と接続機器1200から受信したキー情報とを照合する。照合の結果、これらの2つのキー情報が合致した場合には、機器登録サーバ1300は、接続機器1200からキー情報の通知に対する返事として、確認情報を発行する(Z5)。接続機器1200が、機器登録サーバ1300から確認情報を受信(Z5)した場合には、接続機器1200は、ユーザU2に通知する(t2)。
また、機器登録サーバ1300は、接続機器1200に対して確認情報を発行した後に、被接続機器1100から最初に受信した確認情報取得のポーリングに対する返事として、接続機器1200に発行した確認情報と同一の確認情報を発行する(Z6)。なお、この被接続機器1100に対する確認情報の発行の際、まず、被接続機器1100との間のセッションSSが確立されているかどうかを判断し、判断時点でセッションSSが確立されている場合には、このセッションSSを利用して確認情報を被接続機器100に送信する。また、被接続機器1100と接続機器1200との間のコネクションの安全性が高いこと等の理由から、確認情報としては、キー情報と同様に、有効期限付きの情報(例えば、使用可能な制限時間が5分程度と短いPIN)を使用することが好ましい。
また、接続機器1200は、確認情報を取得した後に、被接続機器1100にアクセスするための接続情報(例えば、IPアドレス、ポート番号またはURL及び被接続機器1100の証明書)を取得するためのポーリングを開始する(Z7)。なお、被接続機器1100の接続情報の取得要求は、ポーリングのみには限られず、接続機器1200から機器登録サーバ1300に対して、1回のみ送信しておき、機器登録サーバ1300が、接続機器1200との間のセッション(例えば、TCPコネクション)を保持したまま、適当な時に被接続機器1100の接続情報を送信できるようにしてもよい。
被接続機器1100が、機器登録サーバ1300から確認情報を受信(Z6)した場合には、被接続機器1100は、ユーザU1に通知する(t1)。確認情報が通知されたユーザU1は、接続機器1200のユーザU2との間で、電話1100Aと電話1200Aとの間の通信等の所定の手段により、機器登録サーバ1300から発行された確認情報が、被接続機器1100と接続機器1200とで同一であるか否かを確認する(T2)。ここで、ユーザU1とユーザU2との間で確認情報が同一か否かを確認する所定の手段としては、キー情報をユーザU1からユーザU2に通知する所定の通知手段と同様に、特定の相手にのみ安全かつ確実に情報を通知できる通知手段であって、電話が代表的な例であるが、これには限られない。このような通知手段としては、他には、接続機器1200がモデムを搭載しており、このモデムを利用して接続機器1100のユーザU2が直接被接続機器1100のユーザU1と電話で通話し、キー情報の入力を受け付ける方法が考えられる。この方法の場合には、セキュリティ上の問題から、接続機器1200側のユーザU2がボタンを押している間だけ上記のようなキー情報の受付が可能というようにして、自動化を防ぐことが好ましい。これは、ユーザを介する別の通知手段が存在するということ自体が機器登録の際の信用条件の一つであるので、この通知手段が全自動であるとセキュリティ上の観点から問題がある。また、さらに他の通知手段としては、被接続機器1100が作成したプログラムである機器登録実行用の「登録実行ファイル」を接続機器1200にメール等の手段により送信し、メール等により登録実行ファイルを受信した接続機器1200が、このプログラムを実行するという方法も考えられる。
上記ユーザU1とユーザU2との間の確認の結果、確認情報が同一でなかった場合には、被接続機器1100は、その結果を機器登録サーバ1300に通知する(Z8)。この結果を受信した機器登録サーバ1300は、キー情報を通知してきた機器に対して、被接続機器1100の接続情報の提供を行わない。一方、上記ユーザU1とユーザU2との間の確認の結果、確認情報が同一であることが確認された場合には、被接続機器1100は、確認情報が同一であることが確認された旨を機器登録サーバ1300に通知する(Z8)。また、このZ8の通知の際、被接続機器1100は、被接続機器1100の接続情報(例えば、IPアドレス、ポート番号またはURL及び被接続機器1100の証明書)を送信する(Z8)。確認の通知及び被接続機器1100の接続情報を受信した機器登録サーバ1300は、その返事として、被接続機器1100に対して、接続機器1200の接続情報を送信する(Z9)。
被接続機器1100は、機器登録サーバ1300から接続機器1200の接続情報を受信(Z9)した場合には、受信した接続情報に基づいて、接続機器1200の機器登録処理を行う。
また、機器登録サーバ1300は、被接続機器1100からの確認通知を受信した後に、接続機器1200から最初に受信した被接続機器1100の接続情報取得のポーリングに対する返事として、被接続機器1100の接続情報を送信する(Z10)。なお、この接続機器1200に対する被接続機器1100の接続情報の送信の際、まず、接続機器1200との間のセッションSSが確立されているかどうかを判断し、判断時点でセッションSSが確立されている場合には、このセッションSSを利用して確認情報を接続機器1200に送信する。
接続機器1200は、機器登録サーバ1300から被接続機器1100の接続情報を受信(Z10)した場合には、受信した接続情報に基づいて、被接続機器1100の機器登録処理を行う。
なお、機器登録システム30における以上の処理を行う際の各機器間のコネクションは、例えば、サーバ認証を伴うSSL等で行うことができる。
上記のようにして、被接続機器1100と接続機器1200との間で、お互いの接続情報を交換する機器登録処理を行うことにより、この機器登録が行われた後では、被接続機器1100と接続機器1200とは、機器登録サーバ1300を介さずに直接通信することができる。なお、この通信における被接続機器1100と接続機器1200との接続は、例えば、お互いが取得した相手の機器の証明書を用いたクライアント認証及びサーバ認証を伴うSSLで行うことができる。
このように、機器登録システム30においては、被接続機器1100と接続機器1200との間の機器登録処理が、これらの機器に接続された機器登録サーバ1300を介して行われる。しかし、従来のIMを使用した方法とは異なり、最初の登録の際にしかインターネットサーバ(本実施形態では機器登録サーバ1300)が用いられないため、インターネットサーバへのアクセス頻度を低くすることができる。また、機器登録の際に使用されるキー情報が有効期限付きのものである場合には、当該有効期限の間のみキー情報を保持し、また、セッションを維持しておけばよいため、インターネットサーバが常時記憶しておかなければならない情報量を少なくすることができる。従って、インターネットサーバのコストの負担やコストを低減させることができる。
また、機器登録システム30においては、機器登録サーバ1300を介した機器登録により、被接続機器1100と接続機器1200との間の直接通信が可能となった後は、機器登録に限らず、任意のアプリケーションを起動させることができる。
このように、本実施形態に係る機器登録システム30によれば、機器登録後は、被接続機器1100と接続機器1200との間で直接通信することが可能であるので、機器登録サーバ1300へのアクセスを、機器登録時の1回のみとすることができ、機器登録サーバ1300の負担を軽減させることができる。また、機器登録サーバ1300が発行するキー情報を所定の時間のみ保持するものとすることにより、機器登録サーバ1300は、所定の時間のみ各機器(被接続機器1100、接続機器1200)の接続情報やキー情報を保持していればよく、機器登録サーバ1300が保持する情報量を少なくすることができる。さらに、上記の機器登録の際には、ユーザU2は、簡易なキー情報(例えば、数桁の数字からなるPIN)を入力しさえすれば、URL等の文字列や型番、シリアル番号、使用するポート等の情報を入力する必要もないので、簡易な作業により簡単に機器登録を行うことができる。
加えて、機器登録システム30によれば、被接続機器1100と接続機器1200との間で確認情報が同一であることが確認された後でなければ、両者に互いの接続情報の提供が行われないため、第1実施形態に係る機器登録システム10よりもさらにセキュリティを向上させることができる。さらに、被接続機器1100及び接続機器1200の接続情報の提供は、第1の実施形態の場合と異なり、いずれも機器登録サーバ1300により行われるため、被接続機器1100と接続機器1200との間のサーバ・クライアントの関係が固定されず、このため、各種情報のやり取りがしやすいというメリットもある。
以上、本実施形態に係る接続認証システムの一例としての機器登録システム30の全体構成及び接続認証方法の概要について説明した。次に、上述したような機器登録システム30を構成する各機器の構成及び各機器における処理の流れについて詳細に説明する。
なお、ハードウェア構成については、本実施形態に係る被接続機器1100、接続機器1200及び機器登録サーバ1300についても、上述した第1の実施形態に係る被接続機器100、接続機器200及び機器登録サーバ300と同様であるので、詳細な説明を省略する。
(被接続機器1100の機能構成)
次に、図27に基づいて、被接続機器1100の機能構成について説明する。なお、図27は、被接続機器1100の機能構成を示す説明図である。
図27に示すように、被接続機器1100は、主に、記憶部1126と、登録用情報要求部1152と、登録用情報取得部1154と、登録用情報通知部1156と、確認通知部1162と、接続情報提供部1164と、接続情報取得部1172と、機器登録部1174と、通信部1132とにより構成される。
なお、上記の被接続機器1100の機能構成は、例えば、図3に示したハードウェア構成により実現されるものである。また、図27に示す各機能ブロックは、例えば、ROM108、RAM110、記憶部126、リムーバブル記録媒体134、外部接続機器136、又は通信網138を介してアクセス可能なプログラムに基づいてCPU106によりソフトウェア的に実現されてもよいし、各ブロックの機能を実現するための専用のハードウェアにより構成されていてもよい。
記憶部1126は、機器登録サーバ1300から取得したキー情報、機器登録サーバ1300から取得した確認情報、及び接続機器1200から機器登録サーバ1300を介して取得した接続機器1200の接続情報が記録される記憶手段である。また、記憶部1126には、被接続機器1100自身の接続情報、及び機器登録サーバ1300へアクセスするための情報が予め格納されている。なお、被接続機器1100の接続情報としては、例えば、被接続機器1100のIPアドレス、ポート番号またはURL、被接続機器1100であることを認証するための証明書等がある。また、機器登録サーバ1300へアクセスするための情報としては、例えば、機器登録サーバ1300のURLや証明書等の情報が挙げられる。ここで、機器登録サーバ1300の証明書は、機器(端末)ごとの情報である必要はなく、機器登録サーバ1300へアクセスするための共通の証明書が複数の機器に予め(工場出荷時等に)記録されていてもよい。なお、キー情報、確認情報及び接続機器1200の接続情報の内容の詳細については後述する。
登録用情報要求部1152は、記憶部1126に格納されている機器登録サーバ1300へアクセスするための情報(例えば、機器登録サーバ1300のURL及び証明書)を抽出する。次に、この抽出した情報に基づいて通信部1132がインターネット等の通信網138を介して機器登録サーバ1300へアクセスした後に、登録用情報要求部1152は、キー情報(例えば、PIN)の発行要求を、通信部132を介して機器登録サーバ1300に送信する。なお、後述する登録用情報取得部1154が、この登録用情報要求部1152の機能を兼ねていてもよい。また、登録用情報要求部1152は、登録用情報取得部1154がキー情報を取得した後に、確認情報を取得するためのポーリングを開始する。ここで、確認情報とは、接続機器1200から機器登録サーバ1300に対してキー情報の通知が行われた際に、そのキー情報の通知を行った機器が、被接続機器1100と接続情報の交換をしようとしている接続機器1200であるか否かの確認処理を行う際に用いる情報(例えば、PIN等のコード)である。なお、登録用情報要求部1152による確認情報の取得要求は、ポーリングのみには限られず、被接続機器1100から機器登録サーバ1300に対して、1回のみ送信しておき、機器登録サーバ1300が、被接続機器1100との間のセッション(例えば、TCPコネクション)を保持したまま、適当な時に確認情報を送信できるようにしてもよい。
登録用情報取得部154は、登録用情報要求部1152によるキー情報や確認情報の発行要求に応じて機器登録サーバ1300が発行したキー情報や確認情報を、通信部1132を通して取得する。登録用情報取得部1154は、取得したキー情報や確認情報を、一旦記憶部1126に記録するか、あるいは、直接登録用情報通知部1156に伝送する。
登録用情報通知部1156は、記憶部1126から抽出したキー情報や確認情報、または、登録用情報取得部1154から受け取ったキー情報や確認情報を、出力部122(図3を参照)を用いて出力することにより、ユーザU1に通知する(t1)。この通知の方法としては、例えば、出力部122としてディスプレイ装置を用い、キー情報や確認情報をディスプレイ装置に表示させてユーザU1に視覚的に通知する方法や、出力部122としてスピーカを用い、キー情報や確認情報をスピーカからの音声を通じてユーザU1に聴覚的に通知する方法等が考えられる。
確認通知部1162は、機器登録サーバ1300から発行された確認情報が、被接続機器1100と接続機器1200とで同一であるか否かの確認(確認処理)を行った結果を、機器登録サーバ1300に通知する。この確認処理は、被接続機器1100のユーザU1と接続機器1200のユーザU2との間で、電話等の所定の通信手段を用いて行われる。ここで、ユーザU1とユーザU2との間で確認情報が同一か否かを確認する所定の通信手段としては、特定の相手にのみ安全かつ確実に情報を通知できる通知手段であって、電話が代表的な例であるが、これには限られない。また、確認通知部1162は、ユーザU1により入力部120(図3を参照)に入力された確認処理の結果を機器登録サーバ1300に通知する。また、確認通知部1162は、確認処理の結果、確認情報が被接続機器1100と接続機器1200とで同一であった場合、その結果を接続情報提供部1164に通知する。
接続情報提供部1164は、確認通知部1162から、確認情報が被接続機器1100と接続機器1200とで同一であった旨の通知を受けた場合には、被接続機器1100の接続情報(例えば、IPアドレス、ポート番号またはURL及び被接続機器1100の証明書)を、機器登録サーバ1300に送信する。
接続情報取得部1172は、確認情報が被接続機器1100と接続機器1200とで同一であった場合に、確認通知を受けた機器登録サーバ1300から通信網138を介して接続機器1200の接続情報(例えば、IPアドレス、ポート番号またはURL及び接続機器1200の証明書)を取得する。接続情報取得部1172は、取得した接続機器1200の接続情報を、一旦記憶部1126に記録するか、あるいは、機器登録部1174に伝送する。
機器登録部1174は、記憶部1126から抽出した接続機器1200の接続情報、または、接続情報取得部1172から伝送された接続機器1200の接続情報に基づいて、接続機器1200の機器登録処理を行う。この機器登録処理が行われた後は、被接続機器1100は、接続機器1200にいつでも直接アクセスすることができる。
通信部1132は、機器登録サーバ1300に対するキー情報(及び確認情報)取得要求の送信、機器登録サーバ1300からのキー情報(及び確認情報)の受信、機器登録サーバ1300からの接続機器1200の接続情報の受信、機器登録サーバ1300に対する被接続機器1100の接続情報の送信等を行う。
(接続機器1200の機能構成)
次に、図28に基づいて、接続機器1200の機能構成について説明する。なお、図27は、接続機器1200の機能構成を示す説明図である。
図27に示すように、接続機器1200は、主に、記憶部1226と、キー情報入力部1252と、情報提供部1254と、確認情報取得部1262と、確認情報通知部1264と、接続情報取得部1272と、機器登録部1274と、通信部1232とにより構成される。
なお、上記の接続機器1200の機能構成は、例えば、図3に示したハードウェア構成により実現されるものである点は、上述した被接続機器1100の場合と同様である。
記憶部1226は、ユーザU2によりキー情報入力部1252に入力されたキー情報、機器登録サーバ1300から取得した確認情報、及び被接続機器1100から取得した被接続機器1100の接続情報が記録される記憶手段である。また、記憶部1226には、接続機器1200自身の接続情報、及び機器登録サーバ1300へアクセスするための情報が予め格納されている。なお、接続機器1200の接続情報としては、例えば、接続機器1200のIPアドレス、ポート番号またはURL、接続機器1200であることを認証するための証明書等がある。また、機器登録サーバ1300へアクセスするための情報は、上述した被接続機器1100の場合と同様である。このうち機器登録サーバ1300の証明書については、被接続機器1100と共通の証明書であってもよく、別の証明書であってもよく、例えば、工場出荷時等に予め記憶部1226に記録されている。なお、キー情報の内容の詳細については後述する。
キー情報入力部1252は、被接続機器1100のユーザU1から接続機器1200のユーザU2にキー情報が伝達された後に、ユーザU2によりキー情報が入力される(t2)。この入力の方法としては、例えば、接続機器1200がPCの場合には入力部120としてキーボードを使用し、接続機器1200がテレビの場合には入力部120としてボタンやリモコンを使用し、接続機器1200がゲーム機の場合はボタンやタッチパネル等を使用して、ユーザU2がユーザU1から通知されたキー情報(例えば、数桁の数字)を入力する方法等が考えられる。また、キー情報入力部1252は、入力されたキー情報を、一旦記憶部1226に記録するか、あるいは、直接情報提供部1254に伝送する。
情報提供部1254は、キー情報及び接続機器1200の接続情報を通信部1232に伝送した後に、インターネット等の通信網138を介して機器登録サーバ1300に提供する。機器登録サーバ1300に提供されるキー情報は、情報提供部1254により記憶部1226から抽出されたものであっても、直接キー情報入力部1252から情報提供部1254に伝送されたものでもよい。また、接続機器1200の接続情報は、情報提供部1254により記憶部1226から抽出される。
確認情報取得部1262は、情報提供部1254が機器登録サーバ1300にキー情報を送信した後に、機器登録サーバ1300において当該キー情報の照合が行われ、その結果、被接続機器1100に発行したキー情報と合致することが確認された場合に、機器登録サーバ1300により発行された確認情報を取得する。確認情報取得部1262は、取得した確認情報を、一旦記憶部1226に記録するか、あるいは、直接確認情報通知部1264に伝送する。さらに、確認情報取得部1262は、確認情報を取得した旨の通知を接続情報取得部1272に行う。
確認情報通知部1264は、記憶部1226から抽出した確認情報、または、確認情報取得部1262から受け取った確認情報を、出力部122(図3を参照)を用いて出力することにより、ユーザU2に通知する(t2)。この通知の方法としては、例えば、出力部122としてディスプレイ装置を用い、キー情報や確認情報をディスプレイ装置に表示させてユーザU2に視覚的に通知する方法や、出力部122としてスピーカを用い、キー情報や確認情報をスピーカからの音声を通じてユーザU2に聴覚的に通知する方法等が考えられる。
接続情報取得部1272は、確認情報取得部1262から、確認情報を取得した旨の通知を受けた後に、被接続機器1100にアクセスするための接続情報を取得するためのポーリングを行う。なお、被接続機器1100の接続情報の取得要求は、ポーリングのみには限られず、接続機器1200から機器登録サーバ1300に対して、1回のみ送信しておき、機器登録サーバ1300が、接続機器1200との間のセッション(例えば、TCPコネクション)を保持したまま、適当な時に被接続機器1100の接続情報を送信できるようにしてもよい。接続情報取得部1272は、被接続機器1100の確認通知部1162から機器登録サーバ1300に対して確認処理の結果の通知が行われた後に、上記ポーリングを行った場合に、機器登録サーバ1300から被接続機器1100にアクセスするための接続情報(例えば、IPアドレス、ポート番号またはURL及び被接続機器1100の証明書)を取得する。また、接続情報取得部1272は、取得した被接続機器1100の接続情報を、一旦記憶部1226に記録するか、あるいは、機器登録部1274に伝送する。
機器登録部1274は、記憶部1226から抽出した被接続機器1100の接続情報、または、接続情報取得部1272から伝送された被接続機器1100の接続情報に基づいて、被接続機器1100の機器登録処理を行う。この機器登録処理が行われた後は、接続機器1200は、被接続機器1100にいつでも直接アクセスすることができる。
通信部1232は、機器登録サーバ1300に対するキー情報、接続機器1200の接続情報、及び被接続機器1100の接続情報の取得要求の送信、機器登録サーバ1300からの確認情報、及び被接続機器1100の接続情報の受信等を行う。
(機器登録サーバ1300の機能構成)
次に、図29に基づいて、機器登録サーバ1300の機能構成について説明する。なお、図29は、機器登録サーバ1300の機能構成を示す説明図である。
図29に示すように、機器登録サーバ300は、主に、記憶部1326と、登録用情報生成部1352と、登録用情報提供部1354と、情報取得部1362と、情報提供部1364と、接続部1366と、通信部1332とにより構成される。
なお、上記の機器登録サーバ1300の機能構成は、例えば、図3に示したハードウェア構成により実現されるものである点は、上述した被接続機器1100の場合と同様である。
記憶部1326は、被接続機器1100から取得した被接続機器の接続情報、接続機器1200から取得した接続機器1200の接続情報が記録される記憶手段である。また、記憶部1326には、登録用情報生成部1352が生成したキー情報や確認情報、及び機器登録サーバ1300の証明書等が格納されている。この機器登録サーバ1300の証明書は、接続相手の機器(例えば、被接続機器1100や接続機器1200)ごとに生成されたものであってもよいが、複数(あるいは全て)の機器に共通の証明書であってもよい。
ここで、キー情報としては、例えば、数桁の数字からなるPIN(Personal Identification Number)を使用できる。ただし、被接続機器1100に対して発行したキー情報と、このキー情報を用いてアクセスしてきた接続機器1200が有するキー情報とを照合できるものであれば、特に限定はされず、例えば、数文字のアルファベット、数字とアルファベットの組み合わせ等を使用することもできる。また、確認情報としても、例えば、数桁の数字からなるPINを使用できるが、被接続機器1100のユーザU1と接続機器1200のユーザU2とが電話等の通信手段を用いて互いの確認情報が同一か否かを確認できるものであれば、特に限定はされない。さらに、後述する登録用情報提供部1354が提供するキー情報や確認情報としては、機器登録サーバ1300が保持する情報量が少ないこと、また、被接続機器1100と接続機器1200との間のコネクションの安全性が高いこと等の理由から、有効期限付きのキー情報や確認情報(例えば、使用可能な制限時間が5分程度と短いPIN)を使用することが好ましい。
登録用情報生成部1352は、被接続機器1100に対して発行するためのキー情報、及び、被接続機器1100と接続機器1200に発行するための確認情報を生成する。
登録用情報生成部1352は、上記キー情報の生成を、被接続機器1100の登録用情報要求部1152によるキー情報取得要求に応じて生成してもよいし、登録用情報要求部1152によるキー情報取得要求とは関係なく所定のタイミングで生成するようにしてもよい。また、登録用情報生成部1352は、上記確認情報の生成を、接続機器1200からキー情報の通知を受けた際に生成してもよいし、接続機器1200からのキー情報の通知とは関係なく所定のタイミングで生成するようにしてもよい。登録用情報生成部1352は、生成したキー情報及び確認情報を、一旦記憶部1326に記録するか、あるいは、直接登録用情報提供部1354に伝送する。
登録用情報提供部1354は、インターネット等の通信網338を介して被接続機器1100に対してキー情報を提供する。登録用情報提供部1354は、被接続機器1100のキー情報取得要求に応じて登録用情報生成部1352が新たに生成したキー情報を直接受け取って提供してもよく、記憶部1326に記録されているキー情報のうち、いずれの機器に対しても使用されていないキー情報を選択的に抽出して提供してもよい。また、登録用情報提供部1354は、インターネット等の通信網338を介して、被接続機器1100及び接続機器1200に対して確認情報を提供する。登録用情報提供部1354は、接続機器1200からのキー情報の通知に応じて登録用情報生成部1352が新たに生成した確認情報を直接受け取って提供してもよく、記憶部1326に記録されている確認情報のうち、いずれの機器に対しても使用されていない確認情報を選択的に抽出して提供してもよい。登録用情報提供部1354は、被接続機器1100に対しては、接続機器1200からのキー情報の通知があった後の最初の確認情報取得のポーリングに対する返事として、接続機器1200に発行した確認情報と同一の確認情報を発行する。
なお、登録用情報提供部1354が被接続機器1100に対してキー情報を提供した後、キー情報提供部1354から接続部1366に対しキー情報を提供した旨の信号が伝送され、接続部1366により、キー情報の提供先である被接続機器1100との間でセッションが確立される。キー情報が有効期限付きのものである場合には、被接続機器1100との間で確立されたセッションは当該有効期限の間だけ維持されることとなる。
情報取得部1362は、被接続機器1100からは、確認処理の結果の通知、及び、被接続機器1100の接続情報を取得する。また、情報取得部1362は、接続機器1200からは、キー情報、接続機器1200の接続情報、及び被接続機器1100の接続情報の取得要求を取得する。情報取得部1362は、取得したキー情報については、これを一旦記憶部326に記録するか、あるいは、直接情報提供部1364(具体的には、後述する情報提供部1364の照合部1364A)に伝送する。また、情報取得部1362は、取得した被接続機器1100の接続情報及び接続機器1200の接続情報については、これを記憶部1326に一旦記録するか、あるいは、情報提供部1364(具体的には、後述する情報提供部1364の情報送信部1364C)に直接伝送する。また、情報取得部1362は、取得した確認処理の結果の通知及び被接続機器1100の接続情報の取得要求については、情報提供部1364(具体的には、後述する情報提供部1364の情報送信部1364C)に伝送する。
情報提供部1364は、まず、情報取得部1362から直接受け取るか、あるいは、記憶部1326から抽出した接続機器1200から取得したキー情報と、登録用情報提供部1354により被接続機器1100に提供されたキー情報とを照合する。この照合の結果、2つのキー情報が合致した場合には、接続情報提供部1364は、その合致した旨を登録用情報生成部1352に通知する。この通知を受けた登録用情報生成部1352は、確認情報を生成する。
また、情報提供部1364は、被接続機器1100から確認処理の結果、確認情報が同一であった旨の通知を情報取得部1362から受け取った場合に、被接続機器1100に対し、接続機器1200の接続情報を提供する。さらに、情報提供部1364は、被接続機器1100から確認情報が同一であった旨の通知を受け取った後に、接続機器1200からの被接続機器1100の接続情報の取得要求を情報取得部1362から受け取った場合に、接続機器1200に対し、被接続機器1100の接続情報を提供する。
また、情報提供部1364は、上記機能を達成するために、より詳細には、主に、照合部1364Aと、セッション検索部1364Bと、情報送信部1364Cとにより構成される。
照合部1364Aは、情報取得部1362から直接受け取るか、あるいは、記憶部1326から抽出した接続機器1200から取得したキー情報と、登録用情報提供部1354により被接続機器1100に提供されたキー情報とを照合する。照合の結果、2つのキー情報が合致した場合には、合致した旨の信号を、セッション検索部1364B及び登録用情報生成部1352に送るとともに、合致したキー情報をセッション検索部1364Bに送る。一方、2つのキー情報が合致しなかった場合には、合致しなかった旨の信号を接続部1366に送る。なお、この信号を受け取った接続部1366は、被接続機器1100との間に確立されているセッションを終了し、セッション終了通知を被接続機器1100及び接続機器1200に通信部1332を通じて送信する。
セッション検索部1364Bは、接続機器1200から取得したキー情報と被接続機器1100に提供されたキー情報とが合致した旨の信号を受けとった場合には、この信号とともに受けとったキー情報に該当するセッションがあるかどうかを検索する。該当するセッションがある場合には、該当するセッションがある旨の信号とともにその該当するセッションに関する情報を情報送信部1364Cに送る。一方、該当するセッションが存在しなかった場合には、通信部1332を通じて接続機器1200に対してセッション終了通知を送信する。
情報送信部1364Cは、セッション検索部1364Bから合致したキー情報に該当するセッションがある旨の信号を受け取った場合には、この信号とともに受け取った該当するセッションに関する情報に基づいて、その該当するセッションが確立されている機器(本実施形態の場合は、被接続機器1100)に対し、確認情報を送信する。
また、情報送信部1364Cは、被接続機器1100から確認処理の結果、確認情報が同一であった旨の通知を情報取得部1362から受け取った場合に、被接続機器1100に対し、接続機器1200の接続情報を提供する。さらに、情報送信部1364Cは、被接続機器1100から確認情報が同一であった旨の通知を受け取った後に、接続機器1200からの被接続機器1100の接続情報の取得要求を情報取得部1362から受け取った場合に、接続機器1200に対し、被接続機器1100の接続情報を提供する。
通信部1332は、被接続機器1100からのキー情報取得要求の受信、被接続機器100に対するキー情報及び確認情報の送信、被接続機器1100からの被接続機器1100の接続情報の受信、接続機器1200からのキー情報と接続機器1200の接続情報との受信、被接続機器1100に対する接続機器1200の接続情報の送信、接続機器1200に対する被接続機器1100の接続情報の送信等を行う。
以上、各機器の機能構成について説明したが、次に、各機器における処理の流れについて説明する。
(被接続機器1100における処理の流れ)
まず、図30A、図30B及び図31に基づいて、被接続機器1100における処理の流れについて詳細に説明する。なお、図30A及び図30Bは、被接続機器1100における処理フローを示す流れ図であり、図31は、被接続機器1100における機器登録処理の際の表示画面の一例を示す説明図である。また、図30A及び図30Bには、図26に示した各処理についての符号(Z1〜X10、T1、T2)を一緒に示してある。さらに、以下の説明では、キー情報及び確認情報として有効期限付きのPINを使用した例を挙げて説明する。
被接続機器1100における具体的な処理の流れを説明する前に、図31に示した被接続機器1100における機器登録処理の際の表示画面の構成について説明する。
図31に示すように、被接続機器1100における機器登録処理の際の表示画面1180には、例えば、すでに被接続機器1100に登録されている機器のリスト(以下、「登録済み機器リスト」1)1182と、機器登録開始ボタン1184と、キー情報表示画面1186と、確認情報表示画面1192とが表示される。
登録済み機器リスト1182には、この例では、ユーザU1が祖父であり、ユーザU2が孫である場合で、孫の家のPVR及び森田家のゲーム機がすでにユーザU1の被接続機器1100に登録されていることが示されている。また、キー情報表示画面1186には、この例では、キー情報として3桁の数字の組み合わせ(「493−718」)からなるPIN1188(以下、「登録コード」という場合がある。)が表示され、さらに、機器登録処理をキャンセルするキャンセルボタン1190が表示されている。また、確認情報表示画面1192には、確認情報として3桁の数字の組み合わせ(「118−526」)からなるPIN1194(以下、「確認コード」という場合がある。)が表示され、さらに、確認処理の結果を通知するための確認ボタン1196及び確認キャンセルボタン1198が表示されている。以下、図30A及び30Bに基づき、適宜図31を参照しながら、被接続機器1100における具体的な処理の流れについて説明する。
図30Aに示すように、まず、被接続機器1100のユーザU1により機器登録開始ボタン1184が押下される(S902)。この登録開始ボタン1184の押下により、機器登録を開始する旨の信号が登録用情報要求部1152に送られる。この信号を受け取った登録用情報要求部1152は、機器登録サーバ1300に対して、登録コードの取得要求(Z1)を送信する(S904)。次に、被接続機器1100のCPU106が、機器登録サーバ1300から登録コードを取得したかどうかを判断する(S906)。この判断の結果、機器登録サーバ1300から登録コードを取得せず、被接続機器1100のユーザU1により、キャンセルボタン1190が押下された場合には(S908)、機器登録サーバ1300に対してセッション終了通知を送信し(S910)、機器登録処理を終了する(機器登録失敗)。また、ステップS906の判断の結果、機器登録サーバ1300から登録コードを取得せず、機器登録サーバ1300からセッション終了通知を受信した場合には(S912)、機器登録失敗の終了通知を被接続機器1100の表示画面1180にUI表示し(S914)、機器登録処理を終了する(機器登録失敗)。一方、ステップS906の判断の結果、機器登録サーバ1300から登録コードを受信(Z2)した場合には(S916)、例えば、出力部122によりキー情報表示画面1186に登録コード(PIN1188)を表示するなどして出力する(S918)。PIN1188の出力方法については、この例には限られず、他の出力手段を用いても良いが、詳細は上述したとおりなのでここではその説明を省略する。
次に、キー情報表示画面1186に表示されたPIN1188を視覚的に認識したユーザU1が、電話等の特定の相手にのみ情報を通知できる所定の通知手段により、接続機器1200のユーザU2に対してPIN1188を通知(T1)する(S920)。なお、PIN1188が通知されたユーザU2は、接続機器1200にPIN1188を入力する。
その後、登録用情報要求部1152は、機器登録サーバ1300に対して確認情報(確認コード)の取得要求(本例では、ポーリング)を送信(Z3)する(S922)。被接続機器1100は、確認コードの取得要求を送信後、被接続機器1100のCPU106が、機器登録サーバ1300から確認コードを取得したかどうかを判断する(S924)。この判断の結果、機器登録サーバ1300から確認コードを取得せず、被接続機器1100のユーザU1により、キャンセルボタン1190が押下された場合には(S926)、機器登録サーバ1300に対してセッション終了通知を送信し(S910)、機器登録処理を終了する(機器登録失敗)。また、ステップS924の判断の結果、機器登録サーバ1300から確認コードを取得せず、機器登録サーバ1300からセッション終了通知を受信した場合には(S928)、機器登録失敗の終了通知を被接続機器1100の表示画面1180にUI表示し(S914)、機器登録処理を終了する(機器登録失敗)。一方、ステップS924の判断の結果、機器登録サーバ1300から確認コードを受信(Z6)した場合には(S930)、例えば、出力部122により確認情報表示画面1192に確認コード(PIN1194)を表示するなどして出力する(S932)。PIN1194の出力方法については、この例には限られず、他の出力手段を用いても良いが、詳細は上述したとおりなのでここではその説明を省略する。
次に、確認情報表示画面1192に表示されたPIN1194を視覚的に認識したユーザU1が、電話等の特定の相手にのみ情報を通知できる所定の通知手段により、接続機器1200のユーザU2との間で、被接続機器1100と接続機器1200にそれぞれ発行された確認コードが同一であるか否かを確認(T2)する(S934)。
この確認(T2)の結果、ユーザU1により、確認ボタン1196が押下されたか、あるいは確認キャンセルボタン1198が押下されたか、を被接続機器1100のCPU106が判断する(S936)。この判断の結果、ユーザU1により確認キャンセルボタン1198が押下された場合には(S938)、機器登録サーバ1300に対してセッション終了通知を送信し(S910)、機器登録処理を終了する(機器登録失敗)。一方、ステップS936の判断の結果、ユーザU1により確認ボタン1196が押下された場合には(S940)、図30Bに示すように、被接続機器1100は、機器登録サーバ1300に対して、確認処理の結果の通知と被接続機器1100の接続情報を送信(Z8)する(S942)。
その後、被接続機器1100のCPU106が、接続機器1200の接続情報を取得したか否かを判断する(S944)。この判断の結果、接続機器1200の接続情報を取得せず、ユーザU1によりキャンセルボタン1190が押下された場合には(S946)、機器登録サーバ1300に対してセッション終了通知を送信し(S910)、機器登録処理を終了する(機器登録失敗)。また、ステップS944の判断の結果、機器登録サーバ1300から接続機器1200の接続情報を受信(Z9)した場合には(S948)、受信した接続情報に基づいて、接続機器1200の登録処理を行い(S950)、接続機器1200の機器登録処理を終了する(機器登録成功)。このように機器登録が行われると、表示画面1180の登録済み機器リスト1182に、接続機器1200が追加される。
(接続機器1200における処理の流れ)
次に、図32A、図32B及び図33に基づいて、接続機器1200における処理の流れについて詳細に説明する。なお、図32A及び図32Bは、接続機器1200における処理フローを示す流れ図であり、図33は、接続機器1200における機器登録処理の際の表示画面の一例を示す説明図である。また、図32A及び図32Bには、図26に示した各処理についての符号(Z1〜Z10、T1、T2)を一緒に示してある。さらに、キー情報及び確認情報として有効期限付きのPINを使用した例を挙げて説明する点については、上述した被接続機器1100の場合と同様である。
接続機器1200における具体的な処理の流れを説明する前に、図33に示した接続機器1200における機器登録処理の際の表示画面の構成について説明する。
図33に示すように、接続機器1200における機器登録処理の際の表示画面1280には、例えば、すでに接続機器1200に登録されている機器のリスト(以下、「登録済み機器リスト」)1282と、機器登録開始ボタン1284と、キー情報入力画面1286と、確認情報表示画面1292と、が表示される。
登録済み機器リスト1282には、この例では、ユーザU1が祖父であり、ユーザU2が孫である場合で、祖父の家のPC、田中家のTV及び森田家のゲーム機がすでにユーザU2の接続機器1200に登録されていることが示されている。また、キー情報入力画面1286には、この例では、キー情報として3桁の数字の組み合わせ(「493−718」)からなるPIN1188(以下、「登録コード」という場合がある。)をユーザU2がユーザU1から通知された場合に、ユーザU2が当該PIN1188を入力するためのPIN入力欄1288が表示され、さらに、機器登録処理をキャンセルするキャンセルボタン1290が表示されている。また、確認情報表示画面1292には、確認情報として3桁の数字の組み合わせ(「118−526」)からなるPIN1294(以下、「確認コード」という場合がある。)が表示され、さらに、確認情報取得後に機器登録処理をキャンセルするキャンセルボタン1296が表示されている。以下、図32A及び32Bに基づき、適宜図33を参照しながら、接続機器1200における具体的な処理の流れについて説明する。
図32Aに示すように、まず、接続機器1200のユーザU2が、被接続機器1100のユーザU1からPIN1188を通知された後に、ユーザU2により機器登録開始ボタン1284が押下される(S952)。この登録開始ボタン1284の押下により、機器登録を開始する旨の信号がキー情報入力部1252に送られる。この信号を受け取ったキー情報入力部1252は、ユーザU2がユーザU1から通知された(T1)PIN1188の入力を、ユーザU2に対して要求する(S954)。このPIN入力要求は、例えば、当該要求信号をキー情報入力部1252から受けた接続機器1200の出力部222が、キー情報入力画面1286にUI表示(図33に示したような「これから登録する機器に表示された登録コードを入力してください」等)することにより行われる。次に、接続機器1200のCPU206が、上記PIN入力要求の結果、ユーザU2によりPIN1188がPIN入力欄1288に入力されたかどうかを判断する(S956)。この判断の結果、PIN1188が入力されず、ユーザU2によりキャンセルボタン1290が押下された場合には(S958)、接続機器1200は被接続機器1100の機器登録処理を終了する(機器登録失敗)。なお、この例においては、PIN1188は有効期限付きの情報であるので、この有効期限内にユーザU2によるPIN1188の入力が行われなかった場合にも、被接続機器1100の機器登録は失敗終了となる。一方、ステップS956の判断の結果、ユーザU2によりPIN1188が入力された場合には(S960)、接続機器1200の情報提供部1254が、機器登録サーバ1300に対して、接続機器1200の接続情報(Z4)とPIN(T1)とを通知する(S962)。
その後、接続機器1200のCPU206は、機器登録サーバ1300から、確認情報(確認コード)を取得したか否かを判断する(S964)。この判断の結果、機器登録サーバ1300から確認コードを取得せず、接続機器1200のユーザU2により、キャンセルボタン1290が押下された場合には(S966)、接続機器1200は被接続機器1100の機器登録処理を終了する(機器登録失敗)。また、ステップS964の判断の結果、機器登録サーバ1300から確認コードを取得せず、機器登録サーバ1300からセッション終了通知を受信した場合には(S968)、機器登録失敗の終了通知を接続機器1200の表示画面1280にUI表示し(S970)、機器登録処理を終了する(機器登録失敗)。一方、ステップS964の判断の結果、機器登録サーバ1300から確認コードを受信(Z5)した場合には(S972)、例えば、出力部122により確認情報表示画面1292に確認コード(PIN1294)を表示するなどして出力する(S974)。PIN1294の出力方法については、この例には限られず、他の出力手段を用いても良いが、詳細は上述したとおりなのでここではその説明を省略する。
確認情報表示画面1292に確認コードが表示された後に、接続機器1200は、機器登録サーバ1300に対して、被接続機器1100の接続情報の取得要求(本例では、ポーリング)を送信(Z7)する(S976)。
次に、図30Bに示すように、確認情報表示画面1192に表示されたPIN1194を視覚的に認識したユーザU2と、被接続機器1100のユーザU1との間で、電話等の特定の相手にのみ情報を通知できる所定の通知手段により、被接続機器1100と接続機器1200にそれぞれ発行された確認コードが同一であるか否かの確認(T2)を行う(S978)。
この確認(T2)の結果、被接続機器1100のユーザU1により、確認ボタン1196が押下されたか否かが、機器登録サーバ1300において判断される(S980)。この判断の結果、ユーザU1により確認ボタン1106の押下がされず、機器登録サーバ1300からセッション終了通知を受信した場合には(S982)、機器登録失敗の終了通知を接続機器1200の表示画面1280にUI表示し(S970)、機器登録処理を終了する(機器登録失敗)。一方、ステップS980の判断の結果、ユーザU1により確認ボタン1106が押下された場合には(S984)、接続機器1200のCPU206は、被接続機器1100の接続情報取得ポーリングにより、当該接続情報を取得したか否かを判断する(S986)。この判断の結果、被接続機器1100の接続情報を取得せず、ユーザU2によりキャンセルボタン1296が押下された場合には(S988)、接続機器1200は被接続機器1100の機器登録処理を終了する(機器登録失敗)。一方、ステップS986の判断の結果、機器登録サーバ1300から、被接続機器1100の接続情報を受信(Z10)した場合には(S990)、受信した接続情報に基づいて、被接続機器1100の登録処理を行い(S992)、被接続機器1100の機器登録処理を終了する(機器登録成功)。このように機器登録が行われると、表示画面1280の登録済み機器リスト1282に、被接続機器1100が追加される。
(機器登録サーバ1300における処理の流れ)
次に、図34、図35A及び図35Bに基づいて、機器登録サーバ1300における処理の流れについて詳細に説明する。なお、図34は、機器登録サーバ1300における処理フローのうち、複数のセッションを管理する機器登録サーバ1300全体の処理フローを示す流れ図であり、図35A及び図35Bは、機器登録サーバ1300における処理フローのうち、個々のセッションごとの処理フローを示す流れ図である。また、図34、図35A及び図35Bには、図26に示した各処理についての符号(Z1〜Z10、T1、T2)を一緒に示してある。さらに、キー情報及び確認情報として有効期限付きのPINを使用した例を挙げて説明する点については、上述した被接続機器1100の場合と同様である。
初めに、図34を参照しながら、複数のセッションを管理する機器登録サーバ1300全体の処理の流れについて説明する。
図34に示すように、機器登録サーバ1300は、被接続機器1100及び接続機器1200からのアクセス(接続要求)がない場合には待機状態にあり、この待機状態において、他の機器(本実施形態では、被接続機器1100または接続機器1200)から何らかの情報を受信した場合には、その受信情報の内容を判別する。その受信情報の判別の結果に応じて、3つのチャネルP〜Rに移行する。
第1に、機器登録サーバ1300が被接続機器1100から登録コード取得要求(Z1)を受信した場合には(S1002)、チャネルPに移行する。登録コード取得要求を受信した機器登録サーバ1300の登録用情報生成部1352は、この例では、3桁の数字の組み合わせからなる有効期限付きのPIN1188を生成する(S1004)。なお、上述したように、このステップS1004は必ずしもステップS1002の後に行われなくてもよい。すなわち、PIN1188は、被接続機器1100の登録コード取得要求(Z1)に応じて生成されたものでなくてもよく、予め登録用情報生成部1352により生成され、機器登録サーバ1300の記憶部1326に記録されているものを抽出したものであってもよい。次に、機器登録サーバ1300は、ステップS1004で生成されたPIN1188を被接続機器1100に送信し、PIN1188の送信先である被接続機器1100との間でセッションを確立し(S1006)、機器登録サーバ1300は再び待機状態となる。被接続機器1100との間で確立されたセッションは、機器登録サーバ1300が被接続機器1100からのセッション終了通知を受信しない限り、PIN1188の有効期限の間維持される。
第2に、PIN1188の有効期限内に、被接続機器1100から確認コード取得要求を受信(Z3)した場合(S1008)、接続機器1200からその接続情報と登録コードの通知を受信(Z4)した場合(S1010)、接続機器1200から被接続機器1100の接続情報取得要求を受信(Z7)した場合、被接続機器1100から確認処理の結果の通知とその接続情報を受信(Z8)した場合には、チャネルBに移行する。機器登録サーバ1300は、上記各情報を受信する際に同時に登録コードも受信する。機器登録サーバ1300の照合部1364Aは、接続機器1200から受信したPINと、その前に被接続機器1100に発行したPIN1188とを照合する(S1016)。次に、機器登録サーバ1300のCPU306は、このステップS1016の照合の結果、接続機器1200から受信したPINが、被接続機器1100に発行したPIN1188と合致したかどうかを判断する(S1018)。この判断の結果、上記2つのPINが合致しなかった場合には、機器登録サーバ1300は再び待機状態となる。一方、ステップS1018の判断の結果、上記2つのPINが合致した場合には、セッション検索部1364Bが、この合致したPIN1188に該当するセッション、すなわち、この例の場合は、機器登録サーバ1300と被接続機器1100及び接続機器1200との間に確立されたセッションが存在するかどうかを検索し、この検索の結果をCPU306が判断する(S1020)。この判断の結果、該当するセッションが存在すると判断された場合には、該当セッションを通じてそのセッションが確立している相手、すなわち、この例の場合は被接続機器1100や接続機器1200に対して、各機器の取得要求に係る情報を送信し(S1022)、機器登録サーバ1300は再び待機状態となる。一方、ステップS1020の判断の結果、該当するセッションが存在しないと判断された場合には、該当する情報を送信した機器(本実施形態では、被接続機器1100または接続機器1200)に対してエラー通知を送信し(S1024)、機器登録サーバ1300は再び待機状態となる。
第3に、被接続機器1100からのセッション終了通知(セッション終了要求の通知)を受信した場合には(S1026)、チャネルCに移行する。機器登録サーバ1300は、被接続機器1100からセッション終了通知を受信する際に同時にPINも受信する。機器登録サーバ1300の照合部1364Aは、このとき被接続機器1100から受信したPINと、その前に被接続機器1100に発行した登録コード(PIN1188)とを照合する(S1028)。次に、機器登録サーバ1300のCPU306は、このステップS1028の照合の結果、被接続機器1100からセッション終了通知とともに受信したPINが、被接続機器1100に発行したPIN1188と合致したかどうかを判断する(S1030)。この判断の結果、上記2つのPINが合致しなかった場合には、機器登録サーバ1300は再び待機状態となる。一方、ステップS1030の判断の結果、上記2つのPINが合致した場合には、セッション検索部1364Bが、この合致したPIN1188に該当するセッション、すなわち、この例の場合は、機器登録サーバ1300と被接続機器1100との間に確立されたセッションが存在するかどうかを検索し、この検索の結果をCPU306が判断する(S1032)。この判断の結果、該当するセッションが存在すると判断された場合には、該当セッションを通じてそのセッションが確立している相手、すなわち、この例の場合は被接続機器1100に対して、セッション終了通知(セッションを実際に終了した旨の通知)を送信し(S1034)、機器登録サーバ1300は再び待機状態となる。一方、ステップS1032の判断の結果、該当するセッションが存在しないと判断された場合には、該当する機器(この場合は、接続機器1200)に対してセッション終了通知を送信し(S1024)、機器登録サーバ1300は再び待機状態となる。
次に、図35A及び35Bを参照しながら、複数のセッションを管理する機器登録サーバ1300の個々のセッションごとの処理の流れについて説明する。以下の説明においては、機器登録サーバ1300と被接続機器1100との間に確立されたセッションにおける処理の流れを例に挙げて説明する。
図35Aに示すように、機器登録サーバ1300が被接続機器1100との間でセッションを確立(S1042)した後に、この確立されたセッションを通じて、被接続機器1100に対して登録コード(PIN1188)を通知(Z2)する(S1044)。この例においては、PIN1188は、有効期限付きの情報であるので、被接続機器1100に対してセッションを通知した時点からセッションタイマーがスタートする(S1046)。次に、CPU306は、このセッションタイマーの制限時間内に、接続機器1200から登録コード(PIN1188)を通知されたか否かを判断する(S1048)。この判断の結果、接続機器1200から登録コードを受信せず、セッションタイマーがタイムアウトしたと判断された場合には(S1050)、被接続機器1100に対してセッション終了を通知し(S1052)、機器登録処理を終了する(機器登録失敗)。また、ステップS1048の判断の結果、接続機器1200に対してセッション終了を通知したと判断された場合にも(S1054)、機器登録処理を終了する(機器登録失敗)。また、この段階で、被接続機器1100から確認コード取得要求を受信(Z3)した場合には、(S1056)、機器登録サーバ1300は、被接続機器1100に対してエラー通知を行い(S1058)、ステップS1048の処理に戻る。
一方、ステップS1048の判断の結果、接続機器1200から、その接続情報と登録コードの通知を受信(Z4)した場合には(S1060)、機器登録サーバ1300の登録用情報生成部1352は、確認コードを生成し(S1062)、作成した確認コードを接続機器1200に対して通知(Z6)する(S1064)。
次に、図35Bに示すように、機器登録サーバ1300のCPU306は、被接続機器1100から確認コードの取得要求を受信したか否かを判断する(S1066)。この判断の結果、被接続機器1100から確認コードの取得要求を受信していないと判断され、この段階で、機器登録サーバ1300が、接続機器1200から被接続機器1100の接続情報の取得要求を受信(Z7)した場合には(S1068)、機器登録サーバ1300は、接続機器1200に対してエラー通知を行い(S1070)、ステップS1066に戻る。一方、ステップS1066の判断の結果、被接続機器1100から確認コードの取得要求を受信(Z3)したと判断された場合には(S1072)、機器登録サーバ1300は、被接続機器1100に対して確認コードを通知(Z6)する(S1074)。
続いて、機器登録サーバ1300のCPU306は、確認処理の結果、確認情報が被接続機器1100と接続機器1200と同一であることを確認した旨の通知が、被接続機器1100からされたか否かを判断する(S1076)。この判断の結果、確認情報が被接続機器1100と接続機器1200と同一であることを確認した旨の通知がされていないと判断され、この段階で、機器登録サーバ1300が、接続機器1200から被接続機器1100の接続情報の取得要求を受信(Z7)した場合には(S1078)、機器登録サーバ1300は、接続機器1200に対してエラー通知を行い(S1080)、ステップS1076に戻る。一方、ステップS1076の判断の結果、確認情報が被接続機器1100と接続機器1200と同一であることを確認した旨の通知を被接続機器1100から受信(Z8)し、それと同時に被接続機器1100の接続情報を受信した場合には(S1082)、機器登録サーバ1300は、被接続機器1100に対して、接続機器1200の接続情報を送信(Z9)する(S1084)。
機器登録サーバ1300は、被接続機器1100に対して、接続機器1200の接続情報を送信(Z9)した後に、接続機器1200から被接続機器1100の接続情報の取得要求を受信(Z7)すると(S1086)、接続機器1200に対し、被接続機器1100の接続情報を送信(Z10)して(S1088)、機器登録処理を終了する(成功終了)。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。