以下、本発明の実施の形態について、図面を参照しながら説明する。
[第1の実施の形態]
<撮像装置の構成>
図1は、本発明の第1の実施の形態に係る通信機器である撮像装置の構成を示すブロック図である。
この撮像装置101は、撮影レンズ102、絞り機能を備えるシャッター103、撮像素子104、A/D変換器105、タイミング発生回路106、D/A変換器107、メモリ制御回路108、システム制御回路109、及び画像処理回路110を備えている。
撮像素子104は光学像を電気信号に変換する機能を有し、A/D変換器105は撮像素子104のアナログ画像信号をデジタル画像信号に変換する。タイミング発生回路106は、撮像素子104、A/D変換器105、D/A変換器107にクロック信号や制御信号を供給する回路であり、メモリ制御回路108及びシステム制御回路109により制御される。画像処理回路110は、A/D変換器105からのデータ或いはメモリ制御回路108からのデータに対して所定の画素補間処理や色変換処理を行う。
システム制御回路109は、撮像装置101全体の動作を制御する回路である。システム制御回路109には、バスを介して、メモリ制御回路108、メモリ112、及びAssociationデータ記憶部127(認証データ記憶手段:以下、単にデータ記憶部127と記す)が接続されている。以下、フローチャートなどで示される撮像装置101の処理は、このシステム制御回路109がプログラムまたは入力信号に基づき各部を制御することで実現される。
メモリ制御回路108は、A/D変換器105、タイミング発生回路106、画像処理回路110、画像表示メモリ111、D/A変換器107、メモリ112、データ記憶部127を制御する。
A/D変換器105のデータが、画像処理回路110及びメモリ制御回路108を介して、或いはA/D変換器105のデータが直接、メモリ制御回路108を介して、画像表示メモリ111或いはメモリ112に書き込まれる。
画像表示メモリ111に書き込まれた表示用の画像データは、D/A変換器107を介して、TFT LCD等から成る画像表示部113により表示される。画像表示部113を用いて撮像した画像データを逐次表示すれば、電子ファインダー機能を実現することが可能である。
メモリ112は、撮影した静止画像や動画像を格納するためのメモリであり、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶量を備えている。撮像装置の場合、一般的にはSDメモリカードのような着脱可能なカード式のフラッシュメモリに相当する。
さらに、システム制御回路109には、次のような各種の構成要素が接続されている。即ち、システム制御に関わる構成要素として、メモリ120が接続されている。メモリ120は、システム制御回路109の動作用の定数、変数、プログラム、WUSB通信アプリケーション等を記憶するメモリである。
また、WUSB(Wireless Universal Serial Bus)通信に関わる構成要素として、WUSB通信制御部125、アンテナ部126、データ記憶部127、及び不揮発性メモリ122が接続されている。
WUSB通信制御部125は、WUSB規格の通信を制御する回路である。本実施の形態では、撮像装置101がWUSBデバイス装置として動作するため、WUSB通信制御部125は、WUSBデバイス装置としての動作を制御することになる。即ち、WUSB通信制御部125は、アンテナ部126から発信・受信される電波を利用して外部のWUSBホスト装置(本実施の形態では後述する図2のプリンタである)との通信を制御する。本実施の形態においては、撮像装置101はWUSB機器として動作するため、アンテナ部はWUSB規格の物理層であるUWB(Ultra Wide Bnad)通信方式で通信を行う。
不揮発性メモリ122は電気的に消去・記録可能なメモリであり、本実施の形態においてはAssociationデータの一時的な記憶場所としても利用する。即ち、Associationデータは、WUSB通信制御部125がアンテナ部126を介して外部のWUSBホスト装置と通信して行うAssociationプロセスで取得し一時的に不揮発性メモリ122に記憶される。本実施の形態における不揮発性メモリ122に記憶されたAssociationデータは、所定のタイミングで、操作者の操作なしで自動的に消去される。Associationデータ記憶部127は、Associationデータの継続的な記憶場所である。即ち、一時的に不揮発性メモリ122に記憶されたAssociationデータをシステム制御回路109が読み出してAssociationデータ記憶部127に記憶する。本実施の形態におけるAssociationデータ記憶部127に記憶されたAssociationデータは、操作者の操作なしには消去されない。
また、システム制御回路109には、表示/操作に関わる構成要素として、表示部121及び操作部123が接続されている。
表示部121は、システム制御回路109でのプログラムの実行に応じて、文字、画像、音声等を用いて動作状態やメニュー、メッセージ等を表示したり、後述するNumeric Association処理時の認証数値を表示したりする表示部である。撮像装置101の操作部123近辺の視認し易い位置に単数或いは複数個所設置され、例えばLCDやLED、発音素子等の組み合わせにより構成されている。撮像装置101の構成によっては、画像表示部113に表示部121に表示する情報を合わせて表示する場合もある。また、本実施形態において画像表示部113並びに表示部121には、外部の撮像装置から受信した画像データを表示することもできる。また、WUSB接続先の候補を表示部121に表示する場合は、システム制御回路109がAssociationデータ記憶部127からAssociationデータを読み出す。そして、そのAssociationデータを基に接続先リスト画像を生成して表示部121に表示させる。
操作部123は、システム制御回路109の各種の動作指示を入力するための操作部であり、スイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される。Numeric Association処理時の操作についてもこの操作部を使用する。
また、システム制御回路109には、撮影に関わる構成要素として、露光制御部114、測距制御部115、ズーム制御部116、フラッシュ117、シャッタースイッチ124、及び時間制御部128などが接続されている。電源に関わるものとしては、電源119を制御する電源制御部118が接続されている。
<プリンタの構成>
図2は、図1に示した撮像装置とWUSB通信で接続されるプリンタの構成を示すブロック図である。
このプリンタ201は、プリンタ全体の動作を制御するシステムコントローラ207を備えている。システムコントローラ207には、バスを介して次のような各種の構成要素が接続されている。即ち、システム制御に関わる構成要素として、メモリ209が接続されている。メモリ209はプリンタの動作用の定数、変数、プログラム等を記憶するメモリである。以下、フローチャートなどで示されるプリンタ201の処理は、このシステムコントローラ207がプログラムまたは入力信号に基づき各部を制御することで実現される。
また、WUSB通信に関わる構成要素として、WUSB通信制御部215、不揮発性メモリ208、及びAssociationデータ記憶部217が接続されている。
WUSB通信制御部215は、WUSB規格の通信を制御する回路である。本実施の形態では、プリンタ201はWUSBホスト装置として動作するため、WUSB通信制御部215はWUSBホスト装置としての動作を制御することになる。即ち、WUSB通信制御部215は、アンテナ部216から発信・受信される電波を利用して外部のWUSBデバイス装置(本実施の形態では図1の撮像装置101)との通信を制御する。本実施の形態においては、プリンタ201はWUSB機器として動作するため、アンテナ部216はWUSB規格の物理層であるUWB(Ultra Wide Bnad)通信方式で通信を行う。不揮発性メモリ208は電気的に消去・記録可能なメモリであり、本実施の形態においてはAssociationデータの一時的な記憶場所としても利用する。Associationデータ記憶部217は、Associationデータの継続的な記憶場所である。即ち、Associationプロセスで取得し一時的に不揮発性メモリ208に記憶されたAssociationデータをシステムコントローラ207が読み出してAssociationデータ記憶部217に記憶する。
また、システムコントローラ207には、印刷に関わる構成要素として、給紙部213、排紙部214、及びプリント処理部205が接続されている。プリント処理部205には、プリントエンジン202が接続されている。プリントエンジン202は、実際に用紙に画像をプリントする機能ブロックあり、給紙部213から用紙を供給し、プリント処理部205によってデータ印刷処理を行い、排紙部214からプリントされた用紙を排紙する。
また、システムコントローラ207には、表示/操作に係る構成要素として、表示処理部206及び操作部204が接続されている。表示処理部206には表示部203が接続されている。
表示部203は、LCD表示、LED表示などでユーザに対する情報を表示し、表示処理部206によって制御される。本実施の形態では、Numeric Association処理時の認証数値の表示も表示部203で行われる。操作部204は、スイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される各種の動作指示を入力することができる。
また、システムコントローラ207には、その他の構成要素として、時間制御部210、USBインタフェース211、及びパラレルインタフェース212が接続されている。
<第1の実施の形態に係る処理>
次に、本実施の形態に係る処理について、図3〜図10のフローチャートを参照しつつ説明する。
図3〜図7は、本実施の形態の撮像装置101において、接続未経験のWUSBホスト装置とのAssociationプロセスを行い、その後のWUSB通信、Associationデータの登録にいたるまでの動作を示している。また、図8〜図10は、本実施の形態のプリンタ201において、接続未経験のWUSBデバイス装置とのAssociationプロセスからその後のWUSB通信接続処理、Associationデータの登録にいたるまでの動作を示している。
なお、本実施の形態において、撮像装置101はプリンタ201とWUSB通信が可能な距離に配置されているものとする。また、撮像装置101、プリンタ201は共にUSBデバイスクラスの一つである「Still Image Class」をサポートしている。このデバイスクラスを用いて撮像装置101の画像データを送信してプリンタ201にて印刷ができるシステムになっている。
(A)Associationプロセス
始めに、第1の実施の形態におけるAssociationプロセスについて、図3及び図8等を参照して説明する。
図3は、第1の実施の形態におけるWUSBデバイス装置(撮像装置101)の動作について示したフローチャートである。図8は、第1の実施の形態におけるWUSBホスト装置(プリンタ201)の動作について示したフローチャートである。
まず、図8でプリンタ201はS701で処理を開始し、S702でWUSB通信の接続を許可する。そして、プリンタ201のWUSB通信制御部215がアンテナ部216を介してWUSBホスト装置としてMMC(Micro−scheduled Management Command)パケットの送信を開始する。送信するMMCパケットは、Host Information IEを含む。このHost Information IEの中の“Connection Availability”領域を“ALL(11B)”にセットしておくことにより、一度も接続経験のないWUSBデバイス装置に対して接続を許可することが可能となる。
なお、WUSB通信の接続許可はプリンタ201の電源が投入された際に行われてもよい。また、プリンタ201の操作者が操作部204を構成するボタン等のうちの一つをWUSB通信接続許可用に割り当てて、操作者がそのボタン等を操作することをきっかけにしてWUSB通信の接続を許可させるような構成にしても構わない。
続いてS703にてWUSBデバイス装置からの接続要求である“DN_CONNECT”通知待ち状態となる。本実施の形態においては、接続未経験の撮像装置101の接続要求を待つこととするため、“DN_CONNECT”の中の“New Connection“ビットがセットされた“DN_CONNECT”の受信待ち状態となる。
ここで、撮像装置101の処理についても説明する。撮像装置101は、図3のS301で処理を開始し、S302でWUSB接続メニューを実行する。WUSB接続メニューの実行は操作部123のうちメニュー表示が割り当てられたボタンを押下してメニュー画面を表示し、操作部123を操作してその中からWUSB通信接続メニューを選択して起動することによって行われる。WUSB接続メニューが実行されると、続いてS303で接続先リスト作成処理を行う。
ここで、接続先リスト作成処理について、図5等を用いて説明する。
図5は、第1の実施の形態のWUSBデバイス装置(撮像装置101)における接続先リスト作成処理について示したフローチャートである。
まず図5のS402でシステム制御回路109が登録済みAssociationデータをデータ記憶部127から読み出す。Associationデータ記憶部に記憶されているAssociationデータの一例を図11に示す。例えば“PC AAA”といったようなNumeric Association処理を行ったWUSBホスト装置から取得した“HostFriendlyName”を“HostName”として記憶する。そして、そのWUSBホスト装置と共有したAssociationデータと関連付けた構成で記憶されている。
続いてS403において、S402で読み出した登録済みのAssociationデータを元に表示部121に表示させるための接続先リストの画面を作成する。図11のAssociationデータを基に作成した接続先リストは図12(a)のようになる。Associationデータが登録されているWUSBホスト装置の“HostName”に対応するボタンを一つずつ画面上に配置し、操作者が所望のWUSBホスト装置を選択できるようにするものである。また画面下位部に接続ボタンとCancelボタンを配置しておく。
続いてS404において、WUSB通信制御部125がアンテナ部126を制御してWUSBホスト装置が送信するMMCパケットのサーチを開始する。続いてS405でMMCパケットを検知したかどうかを判断する。既にS702でプリンタ201が撮像装置101の通信圏内でMMCパケットの送信を開始していれば、撮像装置101はMMCパケットを検知してS407へ進む。MMCパケットが検知されたということは撮像装置101のWUSB通信が可能な範囲にWUSBホスト装置が存在したことを意味する。もし周りにMMCパケットを送信しているWUSBホスト装置が一台も存在しない場合はS406に進んで、表示部121に接続先の候補がなかった旨を表示して操作者に通知する。
S407ではS406で検知したMMCパケットの送信元WUSBホスト装置のうち、S402で読み出した登録済みのAssociationデータの対象WUSBホスト装置と一致するものがあるかを判断する。この判断は、S406で検知したMMCパケットに含まれる“Host Information IE”のうち、“CHID”の値と、S402で読み出したAssociationデータのうち“CHID”の値とが一致しているかどうかで行う。
例えば、Associationデータが登録されている“PC AAA“が撮像装置101の近傍に存在してMMCパケットを送信していたものとする。この場合に撮像装置101は、既に登録済みであると判断し、S408に進んで、S408では、S403で作成した接続先リスト画面のうち、検知した登録済みWUSBホスト装置の部分の画面を更新し、S409へ進む。具体的な説明はS410の説明と一緒に行う。
もし、S407で検知したMMCパケットが登録済みのWUSBホストのものではないと判断された場合は何も行わずS409に進む。S409では、S406で検知したMMCパケットの送信元WUSBホスト装置のうち、S402で読み出した登録済みのAssociationデータの対象WUSBホスト装置すべてと一致しないものがあるかどうかを判断する。この判断も、S407同様に“CHID”値を比較することによって行われる。
本実施の形態では、撮像装置101とプリンタ201は1度も接続したことがない、つまり撮像装置101にプリンタ201が登録されていないものとする。この場合、プリンタ201が送信したMMCパケットを受信した撮像装置101は、Associationデータが未登録のWUSBホスト装置が検知されたと判断し、処理はS410に進む。S410では、S403で作成された接続先リスト画面にS409で検知されたAssociationデータ未登録のWUSBホスト装置を追加する処理を行う。
S403で作成された接続先リスト画面である図12(a)から、S408とS410の処理を行って更新された接続先リスト画面を表したのが図12(b)である。
まずS408では、S407で撮像装置101の近傍に存在し接続が可能と判断された“PC AAA”については接続を可能であることを意味するためにグレーアウトされていたボタンをクリアされた状態に更新する。Associationデータが登録されている他の“Printer BBB“や“Viewer CC”といったWUSBホスト装置からのMMCは検知されず撮像装置101と通信可能な状態ではないためそのボタンはグレーアウトした状態のままにしておく。
続いてS410では、S409で検知されたAssociation未登録のWUSBホスト装置を接続先として選択することを可能とするためのボタンを画面に追加する。本実施の形態では未登録のWUSBホスト装置は“HostName”が分からないため、図12(b)に表記しているような“???”という表示をしたボタンを新規に作成し既存の登録済みWUSBホスト装置用ボタンの下に配置させる。
以上により接続先リストの作成処理が完了する。
次に、撮像装置101において、図3のS304では、S303で作成した接続先リストの中からプリンタ201に相当する接続未経験のWUSBホスト装置を選択して接続を実行する。その様子を表したのが図12(C)である。操作者により操作部123が操作されることに応じて、表示部121に表示された図12(C)の接続先リスト画面から接続未経験であるWUSBホスト装置を示す“???”ボタンを選択する。そして、その後画面の下位部に表示してある接続ボタンを選択することによってプリンタ201に対する接続を実行を指示し、S305に進む。S305では接続要求処理を行う。
ここで、S305の接続要求処理について、図6のフローチャートで説明する。
まず、S502において、WUSB通信制御部125がアンテナ部126を制御して接続先として指定したWUSBホスト装置が送信するMMCパケットのサーチを開始する。続いてS503において、“W DNTSCTA_IE”が含まれているMMCパケットが接続先として指定したWUSBホスト装置から送信されていることを検知したかどうかを判断し、検知されない場合は検知されるまで待ち続ける。もし検知された場合はS504に進む。
S504では、“DN_CONNECT”通知を接続先として指定したWUSBホストに対して行う。これは、WUSB通信制御部125がアンテナ部126を制御してS503で検知したMMC内の“W DNTSCTA_IE”で指定されたDNTS(Device Notification Time Slot)期間に行う。このとき、“DN_CONNECT”の“New Connection”ビットをセットして接続未経験WUSBデバイスの新規接続であることをWUSBホスト装置に対して通知する必要がある。
以上をもってS505にて接続要求処理を完了し、処理はS306へ進む。
S504にて撮像装置101が“DN_CONNECT”を送信すると、プリンタ201は“DN_CONNECT”を受信するため、図8のS703の“DN_CONNECT”待ち状態からS704へ進む。S704では、プリンタ201はWUSB通信制御部215がアンテナ部216を制御することにより撮像装置101の接続要求に対して許可の返答を意味する“WCONNECTACK_IE”を送信し、S705へ進む。撮像装置101はこれにより“WCONNECTACK_IE”を受信し、S306からS308へ進む。もし、一定時間経過後もWUSBホスト装置から“WCONNECTACK_IE”を受信できなかった場合はS307へ進んで、表示部121に接続が失敗した旨の画面を表示し操作者に通知する。
次に、撮像装置101とプリンタ201はそれぞれS308とS705へ進んでNumeric Association処理(以下、単に「Association処理」と記す)を行う。撮像装置101におけるWUSBデバイス装置としてのAssociation処理を詳細に示したのが図7のフローチャートである。一方、プリンタ201におけるWUSBホスト装置としてのAssociation処理を詳細に示したのが図10のフローチャートである。
まず、撮像装置101においてはS602、プリンタ201ではS802で「WUSB Numeric Association Model仕様」に従ってパラメータを交換する。具体的には、お互いにマスター鍵(CK)を生成するために必要なパラメータを送信し合う。そして、その交換が正常に行えたことを確認するため定められた数式によってパラメータから導き出された2桁から4桁の認証用数値を生成する。
次にプリンタ201においてはS803に進んで、図13(a)に示すように表示部203の上部にS802で生成した認証用数値を含む選択画面を表示する。そして、表示部203の下部に、その上部の認証用数値と撮像装置101の表示部121の上部に表示された認証用数値が一致しているか否かを判断した結果を入力するための選択ボタンである「認証OK」ボタン13a及び「認証NG」ボタン13bを表示する。
撮像装置101においてはS603に進んで、図13(b)に示すように表示部121の上部にS602で生成した認証用数値を含む選択画面を表示する。図13(b)に示すように撮像装置101の表示部121の下部には、「OneTime 認証OK」ボタン13c、「接続先登録 認証OK」ボタン13d、「認証NG」ボタン13eの3つの選択ボタンを用意して表示させる。操作者は、プリンタ201及び撮像装置101に表示された認証用数値を参照し、数値が一致しているか否かを確認する。
操作者は、表示部121上部の認証用数値とプリンタ201の表示部203に表示された認証用数値が一致していなかった場合には、「認証NG」ボタン13eを選択する操作を行う。また、認証用数値が一致していた場合であって、かつ今回の接続が一時的なものであり、AssociationデータをAssociationデータ記憶部127に記憶しない場合には、操作者は「OneTime 認証OK」ボタン13cを選択する操作を行う。また、認証用数値が一致していた場合であって、かつ今回の接続先のAssociationデータをAssociationデータ記憶部127に記憶する場合には、操作者は「接続先登録 認証OK」ボタン13dを選択する。
操作者は、撮像装置101の表示部121上部の認証用数値とプリンタ201の表示部203に表示された認証用数値が一致しているかいないかを判断してプリンタ201についてはいずれかのボタン、撮像装置101においては所望のボタンを選択する。
本実施の形態では、認証用数値と、Associationデータを登録するかどうかの選択を行うためのボタンを一つの画面に表示させることとした。これは以下の理由に基づく。すなわち、プリンタやストレージ、デジタルカメラなどのように操作部材が比較的少ない機器においては入力や選択操作を容易に行えない場合があるため、認証処理においては可能な限り必要な操作を減らす必要がある。そこで、本実施の形態では、認証用数値と、Associationデータを登録するかどうかの選択を行うためのボタンを一つの画面に表示させることとした。本実施形態では、「OneTime 認証OK」ボタン13c、「接続先登録 認証OK」ボタン13d、「認証NG」ボタン13eの3つの選択ボタンを用意した。このことによって、“認証用数値が正しいかどうか”、そして“認証データであるAssociationデータを登録するか否か”という操作者への二つの問い合わせを一回の操作で行うことができる。したがって、認証処理における操作者の操作を少なくすることができる。特に、前述したようなプリンタ、ストレージ、デジタルカメラなど操作部材の少ない機器において操作者に対して認証処理に対する操作の負荷をかけることを回避できる。
S604とS804では、それぞれ「認証NG」ボタン13eが選択されたかを判断し、もし選択されていた場合は、それぞれS609、S808に進んでAssociation処理を完了する。S603とS803で「認証NG」ボタン13e以外が選択された場合はそれぞれS605とS805へ進む。
S605では、S603において「OneTime 認証OK」ボタン13cと「接続先登録 認証OK」ボタン13dのどちらが選択されたかという選択結果情報の記憶を行う。この選択結果情報は、Associationプロセス後にAssociationデータをAssociationデータ記憶部127に登録するか否かを判断するために用いる。
続いてそれぞれS606、S805において、撮像装置101とプリンタ201は交換したパラメータからマスター鍵(CK)を生成する。WUSB対応機器は「WUSB Numeric Association Model仕様」という鍵を生成するための仕様を記憶しており、この仕様に従って生成処理を行えば、撮像装置101とプリンタ201で生成したマスター鍵は一致するようになっている。そして、マスター鍵はAssociationプロセス後のWUSB通信確立時に共通鍵として用いられる。
次にプリンタ201ではS806に進んで、“CHID”、“CDID”、“HostFriendlyName”のデータを送信し、S807に進む。ここで、“CHID”は、WUSBホスト装置固有のIDであり、“CDID”は、プリンタ201が撮像装置101に対して指定したIDである。“HostFriendlyName”は、撮像装置101に対してプリンタ201を識別させるためのデータである。本実施の形態ではプリンタ201が送信する“HostFriendlyName”として“PRINTER DD”を送信することとする。
S807では、認証データを不揮発性メモリ208に一時的に記憶してS808に進んで、WUSBホスト装置としてのAssociation処理を完了する。この認証データは、S806で送信した撮像装置101を示す“CDID”とS805で生成したマスター鍵を関連付けたデータである。
一方、撮像装置101ではS607において、S806でプリンタ201が送信した“CHID”、“CDID”、“HostFriendlyName”を受信して、S608に進む。S608では、認証データを不揮発性メモリ122に一時的に記憶してS609に進み、WUSBデバイス装置としてのAssociation処理を完了する。ここで、該認証データは、S607で受信した“CHID”、“CDID”、“HostFriendlyName”とS606で生成したマスター鍵とを関連付けたデータである。
次にプリンタ201は、処理を図8のS706に進め、Association処理が成功したかどうかを判断する。S803において「認証NG」ボタン13eが選択されてその後何も行わずAssociation処理を完了した場合はS707に進んで表示部203に接続が失敗した旨の表示を行い操作者に通知する。S803において「認証NG」ボタン13eが選択されていないと判断し正常にAssociation処理を完了した場合はS708に進む。
S708では、撮像装置101からの接続要求待ちとなる。即ち、プリンタ201のWUSB通信制御部215がアンテナ部216を介してWUSBホスト装置としてMMCパケットの送信を継続した状態で、撮像装置101から“DN_CONNECT”の受信を待つ。撮像装置101からの“DN_CONNECT”通知であるか否かは、S607でプリンタ201が撮像装置101に送信した“CDID”値が“DN_CONNECT”通知内の“CDID”領域に設定されているか否かで判断できる。
一方、撮像装置101では図3のS309に進んで、Associationが成功したかどうかを判断する。S603において「認証NG」ボタン13eが選択されてその後何も行わずAssociation処理を完了した場合はS307に進んで、表示部121に接続が失敗した旨の画面を表示し操作者に通知する。S604において「認証NG」ボタン13eが選択されていないと判断し正常にAssociation処理を完了した場合はS310に進む。
(B)WUSB通信接続処理
次に、第1の実施の形態におけるWUSB通信接続処理について、図3及び図8のフローチャート等を参照して説明する。
S310はS305の接続要求処理とほぼ同一の処理を行う。S305の接続要求がAssociation処理を行う目的であったのに対し、S310の接続要求はAssociationプロセス後のWUSB本接続を行うことが目的である点が異なる。
前述した図6のフローチャートに従い、S502でMMCサーチの開始を行う。このとき、S310の時点ではAssociation処理が終了し、プリンタ201に相当する“CHID”が分かっている。そのため、Association処理においてプリンタ201から送信された“CHID”が含まれたMMCパケットのサーチを開始する。
続いてS503において、プリンタ201から送信された“W DNTSCTA_IE”を含めたMMCパケットを検知したかどうかを判断し、検知されない場合は検知されるまで待ち続ける。もし検知された場合はS504に進む。そしてS504において“DN_CONNECT”を送信する。このとき、“DN_CONNECT”の“CDID”領域にAssociation処理のS607でプリンタ201から受信したCDID値を設定する。これによって、プリンタ201に対してこの“DN_CONNECT”が撮像装置101からの接続要求であることを通知する。これによってS310の接続要求処理を完了し、S311に進んで、プリンタ201からの“WCONNECTACK_IE”受信待ち状態となる。
撮像装置101の“DN_CONNECT”送信を受け、プリンタ201では、図8のS708の“DN_CONNECT”受信待ちからS709へ進む。S709では、プリンタ201は撮像装置101の接続要求に対して許可の返答を意味する“WCONNECTACK_IE”を送信し、S710へ進む。
プリンタ201が“WCONNECTACK_IE”を送信すると、撮像装置101は“WCONNECTACK_IE”を受信しS311からS312へ進む。もし、プリンタ201から“WCONNECTACK_IE”を受信できなかったときはS307へ進んで、表示部121に接続が失敗した旨の画面を表示し操作者に通知する。
次に、撮像装置101はS312、プリンタ201はS710において、WUSB規格に従って、「4−way handshake処理」を開始する。「4−way handshake処理」では、WUSBホスト装置とWUSBデバイス装置それぞれが生成した乱数をお互いに送信し合うことで交換する。そして、それぞれの機器において生成した乱数、受信した乱数、及びAssociationプロセスで共有したマスター鍵(CK)等をパラメータにして、規定された鍵生成器を用いてペア一時鍵(PTK)を生成する。「4−way handshake処理」前にWUSBホスト装置とWUSBデバイス装置が同一のマスター鍵(CK)を持っているならば、同一のペア一時鍵(PTK)が生成される。これにより、「4−way handshake処理」以降に接続処理が発生するまで、このペア一時鍵がこのWUSBホスト装置とWUSBデバイス装置ペア間の共通鍵としてデータの暗号化に使用される。
次に、撮像装置101はS313、プリンタ201はS711に進んで、WUSB通信確立処理を行う。WUSB通信確立処理では、有線USBと同様に“GET_DESCRIPTOR”等でWUSBホスト装置がWUSBデバイス装置のエンドポイント構成などの情報を取得して、最終的に“SET_CONFIGURATION”リクエストを実行する。これにより、WUSBホスト装置とWUSBデバイス装置間でWUSB通信を確立し、これ以降にUSB規格で定められたデバイスクラスを使ってアプリケーション処理を行うことが可能となる。WUSB通信確立処理が完了すると、撮像装置101はS314、プリンタ201はS712に進む。
次に撮像装置101では、S314において、S313で実行したWUSB通信の確立が正常に行われたかを判断する。WUSBホスト装置とWUSBデバイス装置が一致したデバイスクラスをサポートしていなかった場合などはWUSB通信の確立が正常に行われない。例えば、一般的にUSBホストを搭載したプリンタは、HID(Human Interface Device)クラスをサポートしていない。そのため、そのようなHIDをサポートしていないプリンタとHIDクラスのUSBデバイスであるマウスを接続しても一致したデバイスクラスがないため、USB通信の確立は正常に完了しないようにするのが一般的である。
本実施の形態においては、撮像装置101、プリンタ201は共に「Still Image Class」をサポートしているので正常にWUSB通信が確立するため、図4のS317に進む。もし、S313でWUSB通信が正常に確立しなかった場合は、S315に進んで、表示部121にWUSB通信の確立に失敗した旨の画面を表示して操作者に通知し、図4のS316に進む。S316では、S608で不揮発性メモリ122に一時的に記憶した、“CHID”、“CDID”、“HostFriendlyName”及びマスター鍵などのAssociationデータを消去してS331に進んで接続処理を完了する。
S316でAssociationデータを消去する理由は下記の通りである。すなわち、WUSBホスト装置とWUSBデバイス装置が一致したデバイスクラスをサポートしていなかった場合などは、Associationプロセス後に実際のWUSB通信が成り立たない。そこで、操作者に対してWUSB通信の確立に失敗したことを通知した上で、通信が成り立たない相手に対するAssociationデータを消去することによって、以後操作者が通信が成り立たない相手に対して誤って接続を行うことを回避するようにしている。
撮像装置101と同様にプリンタ201でもS712において、S711で実行したWUSB通信の確立が正常に行われたかを判断する。本実施の形態においては、撮像装置101、プリンタ201は共に「Still Image Class」をサポートしているので正常にWUSB通信が確立するため、図9のS715に進む。
もし、S711でWUSB通信が正常に確立しなかった場合は、S713に進んで、表示部203にWUSB通信の確立に失敗した旨の画面を表示し操作者に通知し、S714に進む。S714では、S807で不揮発性メモリ208に一時的に記憶したCDID、マスター鍵(CK)などのAssociationデータを消去して、S729に進んで接続処理を完了する。
(C)Associationデータの登録
次に、第1の実施の形態におけるAssociationデータの登録に関わる処理について、図4及び図9のフローチャート等を参照して説明する。
撮像装置101において、図4のS317では、WUSB切断処理が実行されたかを判断する。切断処理は、操作者が操作部123を操作して切断処理を実行するためのボタンを押すなどして切断処理を行う場合が考えられる。また、WUSBホスト装置とWUSBデバイス装置のどちらかが移動して遮蔽物があったり距離が離れたりして物理的に電波が届かなくなる場合が考えられる。もし、切断処理が実行された場合はS318に進んで、表示部121にWUSB通信が切断された旨の画面を表示して操作者に通知する。そして、S316に進んで、不揮発性メモリ122に一時的に記憶したAssociationデータを消去してS331に進んで接続処理を完了する。
S317で切断処理が実行されていないと判断された場合はS319に進んで、撮像装置101においてWUSB通信を利用したアプリケーション処理要求があるかどうか判断する。本実施の形態におけるアプリケーション処理の一例として、撮像装置101とプリンタ201はWUSB通信を用いて印刷処理を行う。そのため、操作者が操作部123を操作して任意の画像の印刷要求を行った場合は、印刷処理を実行するアプリケーションの処理要求があると判断してS320に進む。
逆に、プリンタ201から撮像装置101の画像を指定して画像を取得してプリンタ201で印刷を行うようなアプリケーションを考える。このようなアプリケーション環境において、プリンタ201が撮像装置101に対して画像を送信要求を送信していた場合でも、画像送信処理を実行するアプリケーションの処理要求があると判断してS320に進む。S320では、前述した印刷アプリケーションや画像送信アプリケーションを実行し、S321に進む。
S321では、S320のアプリケーション実行が正常に完了したかどうかを判断する。アプリケーション実行が失敗し、正常に完了しないケースとしては、次のような場合が考えられる。即ち、WUSBホスト装置とWUSBデバイス装置が同じデバイスクラスをサポートしていたとしても印刷を行うためのプロトコルに相違があった場合や、サポートするファイルフォーマットが異なる場合などである。
アプリケーションが正常に完了しない場合はS322に進んで、表示部121にアプリケーション実行に失敗した旨の画面を表示し操作者に通知する。S316に進んで、不揮発性メモリ122に一時的に記憶したAssociationデータを消去してS331に進んで接続処理を完了する。アプリケーションが正常に完了した場合は、S323に進む。
プリンタ201においては、S712でWUSB通信が正常に確立したと判断されると、図9のS715に進んで、撮像装置101のS317と同様にWUSB切断処理が実行されたかを判断する。もし、切断処理が実行された場合はS716に進んで、表示部203にWUSB通信が切断された旨の画面を表示して操作者に通知する。そして、S714に進んで、S807で不揮発性メモリ208に一時的に記憶したAssociationデータを消去して、S729に進んで接続処理を完了する。
S715で切断処理が実行されていないと判断された場合はS717に進んで、プリンタ201においてWUSB通信を利用したアプリケーション処理要求があるかどうか判断する。撮像装置101のS319で説明したように、印刷要求を撮像装置101から受信した場合や、撮像装置101に対する画像送信要求がある場合などにアプリケーションが処理する要求があると判断してS718に進む。S718では、印刷アプリケーションや画像送信アプリケーション等を実行し、S719に進む。
撮像装置101におけるS321と同様に、S719ではS718のアプリケーション実行が正常に完了したかどうかを判断する。アプリケーションが正常に完了しない場合はS720に進んで、表示部203にアプリケーション実行に失敗した旨の画面を表示し操作者に通知してS714に進む。そして、S714において、S807で不揮発性メモリ208に一時的に記憶したAssociationデータを消去して、S729に進んで接続処理を完了する。アプリケーションが正常に完了した場合は、S721に進む。
次に撮像装置101において、S323では、S605で記憶した選択結果情報に基づいて、Associationデータを登録して接続先登録を行うように選択がなされたかを判断する。本実施の形態においては、図13(b)で「接続先登録 認証OK」ボタン13dが選択された場合にS324に進む。それ以外の「OneTime 認証OK」ボタン13cが選択された場合はS327に進む。
S324では、WUSBホスト装置であるプリンタ201に対してAssociationデータを記憶するように要求し、S325に進む。要求の手段については特に限定しないが、次のような手段が考えられる。即ち、撮像装置101とプリンタ201間で予めAssociationデータの記憶要求のためのコマンドを定義しておき、そのコマンドデータをWUSB通信で撮像装置101からプリンタ201に送信することによって実現することなどである。
上記S323とS324の処理により、S603において選択された内容がプリンタ201側へ通知されたことになる。
一方、プリンタ201では、S721において、撮像装置101からAssociationデータを記憶するように要求されたかどうかを判断する。所定時間内に要求がない場合はS725に進む。要求があった場合はS722に進んで、S807で不揮発性メモリ208に一時的に記憶したAssociationデータをAssociationデータ記憶部217に記憶可能かどうかを判断する。もし、記憶不可能であった場合はS723に進んでWUSBデバイス装置である撮像装置101に対してAssociationデータが記憶に失敗した旨の通知を行い、S725へ進む。
AssociationデータがAssociationデータ記憶部217に記憶できない理由としては、次のような場合などが考えられる。
(1)新規のAssociationデータを記憶するとAssociationデータ記憶部217の容量上限値を超える場合
(2)プリンタ201が仕様としてAssociationデータを記憶できる数に上限があって、現在その上限まで既に登録されている場合
S722でAssociationデータの記憶が可能であると判断された場合は、S724に進む。そしてS724において、S807で不揮発性メモリ208に一時的に記憶したAssociationデータをAssociationデータ記憶部217に記憶してS725へ進む。
撮像装置101は、S325において、WUSBホスト装置であるプリンタ201からAssociationデータが記憶に失敗した旨の通知があったかどうかを判断する。もし、記憶に失敗した旨の通知があった場合はAssociationデータのデータ記憶部127への記憶は行わず、S327に進む。もし、記憶に失敗した旨の通知がなかった場合はS326に進む。
S326では、不揮発性メモリ122に一時的に記憶したAssociationデータをデータ記憶部127に記憶する。S326を実行した後のデータ記憶部127は図14のようになる。S326以前の図11の状態から、S607においてプリンタ201から取得したHostFriendlyNameである“PRINTER DD”を“HostName”として登録する。そして、プリンタ201に対するAssociationデータを関連付けた状態で記憶して更新することで図14の状態となる。
本実施形態ではWUSB通信確立が正常に完了され、またアプリケーションが正常に完了されたのを確認してからAssociationデータを登録するようにしている。このような構成にすることで、異常終了するようなことがなく良好に通信が行うことができる通信相手だけ登録を行うことができるようにしている。そして、良好に通信が行えない通信相手の登録を行わないことで不必要なAssociationデータの登録を防ぎ、それによって登録されるAssociationデータ全体の量を抑えて、操作者に管理をしやすくすることができる。
次に撮像装置101では、S327において、S317と同様に切断処理が実行されたかどうかを判断する。切断処理が実行されていないと判断されれば、S328に進んで、S319と同様にWUSB通信を利用したアプリケーション処理要求があるかどうか判断する。要求があればS329でS320と同様に要求されたアプリケーションを実行する。S328でアプリケーション要求がないと判断されれば、S327に戻る。
S327において切断処理が実行されたと判断された場合は、S330に進んで、S318と同様に表示部121にWUSB通信が切断された旨の画面を表示して操作者に通知し、S316に進む。そして、S316において不揮発性メモリ122に一時的に記憶したAssociationデータを消去し、S331に進んで接続処理を完了する。
一方、プリンタ201では、S725においてS715と同様にWUSB切断処理が実行されたかを判断する。切断処理が実行されていないと判断されれば、S726に進んで、S717と同様にWUSB通信を利用したアプリケーション処理要求があるかどうか判断する。要求があればS727でS718と同様に要求されたアプリケーションを実行する。S726でアプリケーション要求がないと判断されれば、S725に戻る。
S725において切断処理が実行されたと判断された場合は、S728に進んで、S716と同様に表示部203にWUSB通信が切断された旨の画面を表示して操作者に通知し、S714に進む。そしてS714において、S807で不揮発性メモリ208に一時的に記憶したAssociationデータを消去して、S729に進んで接続処理を完了する。
本実施の形態においては、Association処理時に操作者がAssociationデータを登録するように選択した場合には、次のようにしてAssociationデータ記憶部にAssociationデータを記憶させる構成にした。即ち、Associationプロセス後にWUSB通信が確立し、その後アプリケーションが正常に完了したのを確認してから、WUSBデバイス/ホスト装置のAssociationデータ記憶部にAssociationデータを記憶させる構成にした。しかしながら、Association処理後のWUSB通信が確立した時点で、WUSBホスト/デバイス装置においてAssociationデータのAssociationデータ記憶部への記憶を行うようにしてもよい。この場合は、認証処理後の通信の確立時に、選択結果情報を相手先の装置に通知することになる。
本実施の形態によれば、認証処理においてこれから取得する認証データを記憶領域に登録するか否かをユーザに選択させ、登録することが選択されたのみ認証データの登録を行う。つまり、ポータブル機器等を一時的に特定の場所に持ち込んだ場合などは認証データの登録を行わないように設定できる。したがって、必要以上に認証データが登録されて数が増えることがなく、操作者は認証データの管理が容易になる。
また、通信機器における認証処理操作の追加を最小限に抑えて実現しているため、操作部材の少ない機器でも操作によってユーザに負荷をかけることなく実現できる。
また、認証後に接続が確立しない場合や認証後の接続でアプリケーション実行に失敗するような通信システムに対する認証データは記憶しないので、通信が成り立たない機器にユーザが誤って再度接続してしまうということを未然に防ぐことができる。例えば、サポートするデバイスクラスが一致していないWUSBホスト装置とWUSBデバイス装置間でAssociationプロセスを行った場合のように、WUSB通信を確立しても実際には正常な通信を行えない場合を考える。このような場合には、その機器に対するAssociationデータの登録を行わないようにしているので、通信が成り立たない機器にユーザが誤って再度接続してしまうということを未然に防ぐことができる。
[第2の実施の形態]
第2の実施の形態では、Associationデータをデータ記憶部127に記憶するか否かの選択処理において、継続的接続ではなくて一時的接続であると選択した場合に、一時的な接続期間がどれだけの時間であるかを操作者が選択できるようにしている。さらに、その指定された期間のみAssociationデータが撮像装置101のデータ記憶部127に記憶され、期間を過ぎると該Associationデータを消去する構成にしたものである。第2の実施の形態に係るハードウェア構成は、図1及び図2で説明したものと同一である。
<第2の実施の形態に係る処理>
以下、第2の実施の形態に係る処理について、図15〜図18のフローチャートを参照しつつ説明する。
図15〜図18は、第2の実施の形態の撮像装置101において、接続未経験のWUSBホスト装置とのAssociationプロセスを行い、その後のWUSB通信、Associationデータの登録にいたるまでの動作を示したフローチャートである。なお、図15における接続要求処理(S905)は第1の実施の形態の図6と同一である。また、第2の実施の形態におけるプリンタ201の動作は第1の実施の形態と同一であるため、本実施の形態の説明は撮像装置101の動作についてのみ言及し、特に第1の実施の形態との相違点を中心に説明する。
まず、本実施形態の特徴が図15のS908のDevice Numeric Association処理にある。したがって、便宜上まずはS908を詳細化した図17を使って本実施の形態におけるDevice Numeric Association処理について説明し、続けてS909以降のAssociationプロセス後の処理を説明する。その後にS901からS906について説明する。
(A)Device Numeric Association処理
本実施形態におけるAssociation処理は、図17のS1701で処理を開始する。S1702で「WUSB Numeric Association Model仕様」に従ってマスター鍵(CK)を生成するために必要なパラメータをプリンタ201と交換する。そして、その交換が正常に行えたことを確認するため定められた数式によってパラメータから導き出された2桁から4桁の認証用数値を生成する。
続いてS1703に進んで、図19に示すように表示部121の上部にS1702で生成した認証用数値を表示する。表示部121の下部には、「期間限定 認証OK」ボタン19a、「接続先登録 認証OK」ボタン19b、「認証NG」ボタン19cの3つの選択ボタンを用意して表示させる。
操作者は、表示部121上部の認証用数値とプリンタ201の表示部203に表示された認証用数値が一致していなかった場合には、「認証NG」ボタン13eを選択する操作を行う。また、認証用数値が一致していた場合であって、かつAssociationデータをAssociationデータ記憶部127に一定の期間だけ記憶する場合には、操作者は「期間限定 認証OK」ボタン19aを選択する操作を行う。また、認証用数値が一致していた場合であって、かつ今回の接続先のAssociationデータをAssociationデータ記憶部127に記憶する場合には、操作者は「接続先登録 認証OK」ボタン9bを選択する操作を行う。
操作者は、撮像装置101の表示部121上部の認証用数値とプリンタ201の表示部203に表示された認証用数値が一致しているかいないかを判断して撮像装置101において所望のボタンを選択する。
続いてS1704では、S1703にて「認証NG」ボタン19cが選択されたかを判断し、もし選択されていた場合は、S1711に進んでAssociation処理を完了する。もし「認証NG」ボタン19cが選択されなかった場合はS1705に進む。続いてS1705ではS1703にて「期間限定 認証OK」ボタン19aが選択されたかを判断し、もし選択されていた場合は、S1706に進む。もし「期間限定 認証OK」ボタン19aが選択されなかった場合はS1707に進む。
S1703で操作者が「期間限定 認証OK」ボタン19aを選択すると、S1706に進むことになり、図20に示す画面が表示部121に表示される。この画面には、「OneTime」、「1 Day」、「1 Week」、「1 Month」の表示が配置されている。S1706では、図20に示すような画面において操作者が操作部123を操作して、これから生成するAssociationデータの所望の有効期間を選択する。「OneTime」は図13(b)の「OneTime 認証OK」ボタン13cと同様のものである。「1 Day」、「1 Week」、「1 Month」はそれぞれ1日、1週間、1ヶ月というAssociationデータの有効期限を示す。
S1707では、S1703とS1706においてどのボタンが選択されたかという情報の記憶を行う。この情報は、Associationプロセス後にAssociationデータをAssociationデータ記憶部127に登録するか否かを判断材料として利用する。続いてS1708では相互に交換したパラメータからマスター鍵(CK)を生成する。「WUSB Numeric Association Model仕様」に従って生成処理を行えば、撮像装置101とプリンタ201で生成したマスター鍵は一致するようになっている。このマスター鍵は、Associationプロセス後のWUSB通信確立時に共通鍵として用いられる。
続いてS1709でプリンタ201が送信した“CHID”、“CDID”、“HostFriendlyName”を受信して、S1710に進む。S1710では、認証データを不揮発性メモリ122に一時的に記憶してS1711に進んで、WUSBデバイス装置としてのAssociation処理を完了する。認証データは、S1709で受信した“CHID”、“CDID”、“HostFriendlyName”とS1708で生成したマスター鍵を関連付けたデータである。
以上が第2の実施の形態におけるS908のDevice Numeric Association処理の説明である。第1の実施の形態と異なり、一時的接続の場合、Associationデータの有効期間が設定できることが特徴である。
(B)WUSB通信接続処理及びAssociationデータの登録
S908でDevice Numeric Association処理が完了した後のS909からS921はそれぞれ第1の実施の形態の図3及び図4のS309からS321と同様の処理を行うため、説明を省く。
S9S921で要求されたアプリケーションが正常に完了したと判断されたらS923に進む。S923ではS1706で記憶した情報を基に、Association中のS1703とS1706において選択された項目が一回限定接続であるかを判断する。つまり、S1703にて図19の「期間限定 認証OK」ボタン19a、かつS1706にて図20の「OneTime」ボタンが選択されていたかどうかを判断する。
もし、一回限定接続が選択されていた場合、S927に進む。それ以外の選択がされたと判断された場合はS924に進む。一回限定接続は、操作者がデジタルカメラなどを店頭のプリントサービス機でプリント処理を行う場合や、外出先のプリンタで臨時的にプリント処理を行う場合などにおいて選択されることが考えられる。この場合は、一時的にそのときだけ通信を確立する必要があるが、その認証データを登録する必要がないと操作者が考えるような場合である。一回限定接続を選択することによって、必要以上に認証データを登録しないようにすることができる。
S924では、WUSBホスト装置であるプリンタ201に対してAssociationデータを記憶するように要求し、S925に進む。撮像装置101は、S925でWUSBホスト装置であるプリンタ201からAssociationデータが記憶に失敗した旨の通知があったかどうかを判断する。もし、記憶に失敗した旨の通知があった場合はAssociationデータのデータ記憶部127への記憶は行わず、S927に進む。もし、記憶に失敗した旨の通知がなかった場合はS926に進む。
S926では、不揮発性メモリ122に一時的に記憶したAssociationデータをデータ記憶部127に記憶する。S926を実行した後のデータ記憶部127は図21(a)のようになる。S926以前のデータ記憶部127は図21(b)のようになっていたものとする。
第1の実施の形態のデータ記憶部127を示す図11と図21(b)の相違は、登録されたWUSBホスト装置ごとにそれぞれに対応するAssociationデータの有効期間を記憶している点である。この有効期限は、S1706で操作者が選択した有効期限である。例えば、“PC AAA”の有効期限はNo Limitということで期限がない。これは、操作者がS1703で「接続先登録 認証OK」ボタン19bを選択して継続的な接続であるために期限を設けずにAssociationデータの記憶を行ったことを示している。
一方、“PrinterBBB”や“Viewer CC”は有効期限が記憶されている。これは、操作者がS1703で「期間限定 認証OK」ボタン19aを選択して一時的な接続であるために所望の有効期間を設けていることを示す。そのため、有効期限が過ぎるとAssociationデータ記憶部のAssociationデータが消去される。
本実施形態において、第1の実施の形態と同様にS1709でプリンタ201から“PRINTER DD”という“HostFriendlyName”を受信したとする。さらに、時間制御部128から取得した現在時刻が例えば「2006/8/9/09:09」であり、S1706で「1 Month」が選択されたとする。この場合は、図21(a)に示すように「2006/8/9/09:09」の一ヵ月後となる「2006/9/9/09:09」という有効期限情報が、“HostName”及び“PRINTER DD”とAssociationデータを関連付けて記憶される。
続いてS927では、S917と同様に切断処理が実行されたかどうかを判断する。切断処理が実行されていないと判断されれば、S928に進んで、WUSB通信を利用したアプリケーション処理要求があるかどうか判断する。要求があればS929でS920と同様に要求されたアプリケーションを実行する。S928でアプリケーション要求がないと判断されれば、S927に戻る。
S927において切断処理が実行されたと判断された場合は、S930に進んで、表示部121にWUSB通信が切断された旨の画面を表示して操作者に通知し、S916に進む。そして、S916では、不揮発性メモリ122に一時的に記憶したAssociationデータを消去してS931に進んで接続処理を完了する。
以上が、本実施形態のAssociationプロセス後のAssociationデータ登録、切断処理までの説明となる。
(C)Associationプロセス
次に、図15のフローチャートの開始S901からS908のDevice Numeric Association処理までの説明を行う。
S901で処理を開始し、S902でWUSB接続メニューを実行する。WUSB接続メニューの実行は操作部123のうちメニュー表示が割り当てられたボタンを押下してメニュー画面を表示し、操作部123を操作してその中からWUSB通信接続メニューを選択して起動することによって行われる。
WUSB接続メニューが実行されると、続いてS903で接続先リスト作成を行う。接続先リスト作成処理は図18のフローチャートを用いて説明する。
図18のS1801で処理を開始し、S1802でシステム制御回路109が登録済みのAssociationデータをデータ記憶部127から読み出し、S1803に進む。本実施形態では、Associationデータ記憶部に記憶されているAssociationデータは図21(b)のようになっているものとする。
続いてS1803において、S1802で読み出した登録済みのAssociationデータを元に表示部121に表示させるための接続先リストの画面を作成する。図21(b)のAssociationデータを元に作成した接続先リストは第1の実施の形態と同様で図12(a)のようになる。Associationデータが登録されているWUSBホスト装置の“HostName”に対応するボタンを画面上に配置し、操作者が所望のWUSBホスト装置を選択できるようにする。また画面下位部に接続ボタンとCancelボタンを配置しておく。
続いてS1804において、S1802で読み出したAssociationデータのうち有効期限が過ぎたAssociationデータがあるかどうか判断する。有効期限は、前述したようにS926でAssociationデータと関連付けて記憶されている。例えば、時間制御部128から取得した現在時刻が「2006/8/9/09:09」であったとする。このような場合は、図21(b)の“Printer BBB”と“Viewer CC”は有効期限を過ぎているため、S1804では有効期限を過ぎたAssociationデータがあったと判断され、S1805に進む。
S1805では、有効期限を過ぎたAssociationデータをデータ記憶部127から消去する。例えば時間制御部128から取得した現在時刻が「2006/8/9/09:09」9であったならば、有効期限を過ぎた“Printer BBB”と“Viewer CC”のAssociationデータを消去する。
本実施形態の特徴は認証データであるAssociationデータに有効期間を設けることである。有効期間は、認証データを永久的に登録する必要はないが、所定の時間だけは一時的に登録した状態にしたいという場合に非常に有用である。例えば、デジタルカメラを滞在先のプリンタに接続してプリント処理を行う場合、滞在期間以後に接続することはないので、Associationデータを登録する必要はない。但し、滞在期間だけは最初にAssociation処理を行って二度目以降はAssociation処理をスキップしたいという場合に有効期限を設定すると非常に効果があると言える。Association処理時に有効期限を例えば1週間の滞在に合わせて「1 Week」に設定すれば、1週間後にAssociationデータは有効期限が過ぎた以降に接続処理を行うときに削除される。これにより、二度と接続しないような相手のAssociationデータが残ることをなくすことができる。
続いて、S1806でWUSBホスト装置の接続先リスト画面を更新する。時間制御部128から取得した現在時刻が「2006/8/9/09:09」であったとすると“Printer BBB”と“Viewer CC”のボタンが図12(a)から削除され、図22(a)のようになる。もしS1804で、例えば時間制御部128から取得した現在時刻が「2006/1/1/09:09」であったならば、有効期限を過ぎたAssociationデータがないため、S1807に進む。
S1807からS1813は、第1の実施の形態のS404からS410と同様なので、説明を省く。但し、接続先リストが図22(a)の状態で、S1810において“PC AAA”が検知されたと判断され、またS1812において未登録であるプリンタ201が検知されたと判断された場合は、次のようになる。即ち、S1813で更新された接続先リストは図22(b)のようになり、S1814に進んで接続先リストの作成を終了する。
以上が本実施形態の図15のフローチャートの開始であるS901からS908のDevice Numeric Association処理までの説明となる。このDevice Numeric Association処理以前の処理の後に前述したS908のDevice Numeric Association処理と、Associationプロセス後の処理が行われる。
以上により、本実施の形態における接続未経験のWUSBホスト装置とのAssociationプロセスを行い、その後のWUSB通信、Associationデータの登録に至るまでの動作の説明を終わる。
なお、第1の実施の形態及び第2の実施の形態はWUSBホスト装置がプリンタ、WUSBデバイス装置が撮像装置という組み合わせで説明した。本発明はこの組み合わせに限定されるものではなく、どのようなWUSBホスト装置とWUSBデバイス装置の組み合わせであっても適用することができる。
また、第1の実施の形態及び第2の実施の形態はWUSB通信システム上での動作を説明したが、本発明はWUSB通信システムに限らず、認証手段を備えるような他のどの通信システムでも適用することができる。
なお、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読取る処理である。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読取ったプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読取られたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。