以下に、本願の開示するプログラム、情報通信機器およびシステムの実施例を図面に基づいて詳細に説明する。なお、本実施例では、情報通信機器は、無線LAN(Local Area Network)機能を有するPCや携帯電話である。これら機器は、情報通信機器の一例であり、本実施例によりこの発明が限定されるものではない。
まず、本実施例に係る情報通信機器間の連携において、連携の前提となる接続動作について説明する。連携の前提となる接続動作には、「セットアップモード」と「クイックモード」とがある。「セットアップモード」は、「通常動作」で用いられるSSID(Service Set Identifier)や機器情報を情報通信機器間で認証後相互に登録し合い、通常動作で常時ネットワークに接続する場合に用いられる動作モードである。ここで、「通常動作」とは、通常の無線LAN環境でデータ通信を行うことをいう。また、「セットアップ」とは、情報通信機器間で通常動作を可能にするための設定処理のことである。この設定処理は、例えば、認証登録処理を含む。「クイックモード」は、ネットワークに属していない情報通信機器同士が一時的にネットワークに接続する場合に用いられる動作モードである。クイックモードによりネットワークに接続する場合には、例えば、一時的に情報通信機器間でデータを送信したり受信したりする場合がある。なお、本実施例における無線LAN環境は、例えば、Wi−Fi(Wireless Fidelity)を用いるが、これに限定されるものではない。また、SSIDは無線通信において、アクセスポイントを識別するために付与されるアクセスポイント識別子である。また、通常動作で用いられるSSIDは、第1アクセスポイント識別子の一例である。また、通常動作で用いられるSSIDは、第3アクセスポイント識別子の一例である。
図1は、セットアップモードの接続動作の概要について説明する図である。図1の例では、パソコン(PC:Personal Computer)aがアクセスポイントとして動作し、携帯電話cがステーション(クライアント機器)として動作する場合について説明する。図1に示すように、PCaには、通常動作のSSIDとして「FFFFFFFF_xxxxxxxxxxxx」が設定されている。また、PCaは、カテゴリをノートPCとする。
このような状況の下、PCbは、通常動作のSSIDを設定して、アクセスポイントであるPCaと接続している。このとき、ステーションである携帯電話cは、PCaと未接続状態であるものとする。
そして、携帯電話cは、アクセスポイントであるPCaとセットアップモードで接続しようとする。このとき、アクセスポイントであるPCaは、通常動作のSSIDに、ネットワーク構築処理、認証に用いられるパスワードを意味するパスキーの有無および自機器のカテゴリに応じた識別子を付与する。ここでは、PCaは、通常動作のSSIDに、セットアップモード、パスキーがないことおよびノートPCに応じた識別子を付与する。すなわち、PCaは、通常動作のSSID「FFFFFFFF−xxxxxxxxxxxx」にセットアップモードを指す「$」とパスキーがないことを示す「R」とノートPCを指す「N」と区切り文字の「_」とを付与した接続動作用の新たなSSIDにSSIDを変更する。そして、PCaは、接続動作用のSSIDを用いて、携帯電話cと接続動作を行なう。PCaが携帯電話cと接続動作を行っている間、PCaと接続状態であったPCbは、PCaのSSIDが変更されたため、PCaとの接続が切断される。セットアップモード用のSSIDは、第2アクセスポイント識別子の一例である。また、セットアップモード用のSSIDは、第4アクセスポイント識別子の一例である。
さらに、PCaと携帯電話c間で接続が確立した(セットアップが完了した)後、PCaは、通常動作をすべく、接続動作用のSSIDから通常動作のSSIDに戻す。一方、携帯電話cも、通常動作をすべく、上述のSSID生成ロジックに基づいて、PCaが接続動作時に使用していたSSIDから通常動作のSSIDを取り出し、そのSSIDを使ってアクセスポイントの探索処理を行い、そのSSIDで示されるアクセスポイントであるPCaと接続を確立する。また、PCaとの通信が切断されていたPCbは、PCaが通常動作のSSIDに戻ったため、アクセスポイントの探索処理によってPCaのSSIDを発見することになり、そのSSIDを使ってPCa間と再接続する。
図2は、クイックモードの接続動作の概要について説明する図である。図2の例では、図1と同様に、PCaがアクセスポイントとして動作し、携帯電話cがステーションとして動作する場合について説明する。図2に示すように、PCaには、通常動作のSSIDとして「FFFFFFFF_xxxxxxxxxxxx」が設定されている。また、PCaは、カテゴリをノートPCとする。
このような状況の下、PCbは、通常動作のSSIDを設定して、アクセスポイントであるPCaと接続している。このとき、ステーションである携帯電話cは、PCaと未接続状態であるものとする。
そして、携帯電話cは、アクセスポイントであるPCaとクイックモードで接続しようとする。このとき、アクセスポイントであるPCaは、通常動作のSSIDに、ネットワーク構築処理、パスキーの有無および自機器のカテゴリに応じた識別子を付与する。ここでは、PCaは、通常動作のSSIDに、クイックモード、パスキーがないことおよびノートPCに応じた識別子を付与する。すなわち、PCaは、通常動作のSSID「FFFFFFFF−xxxxxxxxxxxx」にクイックモードを指す「!」とパスキーがないことを示す「R」とノートPCであることを示す「N」と区切り文字の「_」とを付与したクイックモード用の新たなSSIDにSSIDを変更する。そして、PCaは、クイックモード用のSSIDを用いて、携帯電話cと接続動作を行ない、接続が確立した後、携帯電話cから送信されるデータを受信する。PCaが携帯電話cと接続動作およびデータの受信を行っている間、PCaと接続状態であったPCbは、PCaのSSIDが変更されたため、PCaとの接続が切断される。クイックモード用のSSIDは、第2アクセスポイント識別子の一例である。また、クイックモード用のSSIDは、第4アクセスポイント識別子の一例である。
さらに、PCaが、携帯電話cから送信されるデータを受信した後、PCaは、クイックモード前の状態に戻すべく、クイックモード用のSSIDから通常動作のSSIDに戻す。そして、携帯電話bは、PCaとの通信を切断する。これにより、通信が切断されていたPCbは、アクセスポイントの探索処理によってPCaのSSIDを発見することになり、そのSSIDを使ってPCa間と再接続する。
[実施例に係るPC−携帯電話連携システムの構成]
次に、実施例に係るPC−携帯電話連携システム1の構成について説明する。図3は、実施例に係るPC−携帯電話連携システム1の構成を示す機能ブロック図である。図3に示すように、PC−携帯電話連携システム1は、n台のPC2と1台の携帯電話3とを有し、n台のPC2と1台の携帯電話3との間で連携を行う。ここで、「連携」とは、写真、動画などのデータを相互に交換することである。
PC2は、WLAN部21と、連携部22と、入力制御部23と、表示制御部24とを有する。n台のPC2それぞれは、これら各部を有する。
WLAN部21は、無線LANを用いて通信を行い、ここでは、携帯電話3のWLAN部31と通信を行う。WLAN部21は、WLAN部21を無線LAN通信においてアクセスポイントとして機能させるAP部211と、WLAN部21を無線LAN通信においてステーション(クライアント機器)として機能させるSTA部212とを有する。
連携部22は、WLAN部21を用いて他の情報通信機器と連携を行い、ここでは、携帯電話3の連携部32と連携を行う。なお、連携部22の詳細については後述する。
入力制御部23は、マウス、キーボードなどの入力装置を用いてユーザが入力したデータを受け付け、受け付けたデータを連携部22に渡す。表示制御部24は、連携部22が出力するデータを表示装置に表示する。
携帯電話3は、WLAN部31と、連携部32と、無線制御部33と、入力制御部34と、表示制御部35と、呼制御部36と、マイク制御部37と、通話記録部38と、電話帳記録部39と、居場所検知制御部3aとを有する。
WLAN部31は、無線LANを用いて通信を行い、ここでは、n台のPC2のWLAN部21と通信を行う。WLAN部31は、WLAN部31を無線LAN通信においてアクセスポイントとして機能させるAP部311と、WLAN部31を無線LAN通信においてステーション(クライアント機器)として機能させるSTA部312とを有する。
連携部32は、WLAN部31を用いて他の情報通信機器と連携を行い、ここでは、n台のPC2の連携部22と連携を行う。なお、連携部32の詳細については後述する。
無線制御部33は、他の携帯電話、固定電話、携帯電話サービス提供会社が設置するコンピュータなどと無線により音声通信やデータ通信を行う。入力制御部34は、ボタンなどの入力装置を用いてユーザが入力したデータを受け付け、受け付けたデータを連携部32に渡す。表示制御部35は、連携部32が出力するデータを表示装置に表示する。
呼制御部36は、電話の接続、解放、監視などの制御を行う。マイク制御部37は、通話に使用されるマイクの制御を行い、通話記録部38は、通話を記録する。電話帳記録部39は、電話帳の管理を行い、居場所検知制御部3aは、携帯電話3の位置検知のための制御を行う。
[連携部の構成]
次に、連携部22および32の構成について説明する。なお、連携部32は、連携部22と同様の構成を有するので、ここでは連携部22を例にとって説明する。すなわち、PC2の連携部22が携帯電話3を他の情報通信機器として連携する場合を例にとって説明する。図4は、連携部22の構成を示す機能ブロック図である。
図4に示すように、連携部22は、セットアップ部221と、機器連携部222と、インターネット接続部223と、クイック接続部224と、連携データ記憶部225と、GUI部226と、機器選択部227と、制御部228とを有する。
セットアップ部221は、認証登録を行っていない他の情報通信機器と相互に認証登録を行い、ここでは、携帯電話3との間で相互に認証登録を行う。なお、セットアップ部221の詳細については後述する。
機器連携部222は、相互に認証登録済みの情報通信機器と連携を行い、ここでは、携帯電話3との間で連携を行う。なお、機器連携部222の詳細については後述する。
インターネット接続部223は、連携可能状態にある他の情報通信機器と共同で、ネットワーク接続されていない情報通信機器から3G通信(第3世代通信)を用いたインターネットアクセスを可能とする。ここでは、インターネット接続部223は、屋外などでPC2がネットワークに接続されていない場合に、携帯電話3が有する3G通信機能を利用してPC2をインターネットに接続する。なお、インターネット接続部223の詳細については後述する。
クイック接続部224は、事前の認証登録なしに他の情報通信機器と一時的な連携を行い、ここでは、携帯電話3と一時的な連携を行う。なお、クイック接続部224の詳細については後述する。
連携データ記憶部225は、他の情報通信機器との連携に必要なデータを記憶し、自機器がAPとして動作する場合のSSID、相互に認証登録済の他の情報通信機器のSSID、暗号化キー、機器情報、設定情報などを記憶する。ここでは、連携データ記憶部225は、PC2がAPとして動作する場合のSSID、携帯電話3のSSID、暗号化キー、機器情報、設定情報などを記憶する。なお、相互に認証登録済の情報通信機器が複数ある場合には、各情報通信機器について、SSID、機器情報、暗号化キー、設定情報などを記憶する。また、SSIDの詳細については後述する。
GUI部226は、GUI(Graphical User Interface)を用いてユーザとの対話を行う。ここでは、GUI部226は、入力制御部23からユーザが入力したデータを受け取って制御部228に渡し、制御部228から表示データを受け取って表示制御部24に渡す。
機器選択部227は、相互に認証登録済の他の情報通信機器が複数ある場合に、複数の機器情報を表示してユーザに連携対象機器を選択させる。PC−携帯電話連携システム1では、複数の携帯電話3が連携可能に認証登録済であっても意図しない携帯電話PC2との連携を防止するよう、PC2が同時に接続できる携帯電話3は1台である。すなわち、PC2と携帯電話3との間の通信は1対1で行われる。したがって、PC2が複数の携帯電話3と連携を行う場合には、PC2は各携帯電話3を順番に選択して連携を行う。同様にして、携帯電話3が複数のPC2と連携を行う場合には、携帯電話3は各PC2を順番に選択して連携を行う。
制御部228は、連携部22全体の制御を行い、具体的には、機能部間の制御の移動や機能部と記憶部の間のデータの受け渡しなどを行うことによって、全体を連携部22として機能させる。
[SSIDのデータ構造の一例]
次に、SSIDの詳細について図5A〜図5Fを用いて説明する。なお、図5A〜図5Fにおいて、「PC−NB」はノート型パソコンを表し、「PC−DT」はデスクトップ型パソコンを表す。
図5Aは、機器出荷時のSSIDのデータ構造の一例を示す図である。機器出荷時のSSIDは、PC−NB、PC−DT、携帯電話のいずれにおいても、1〜15文字の機器名、「_」(アンダーバー)、12文字のMACアドレスを有し、文字数合計は14〜28である。
図5Bは、ユーザ変更後のSSIDのデータ構造の一例を示す図である。ユーザによる変更後のSSIDは、PC−NB、PC−DT、携帯電話のいずれにおいても、1〜28文字のユーザユニークなASCII文字列である。
図5Cは、セットアップモードSSID(パスキーなしの場合)のデータ構造の一例を示す図である。セットアップモードのSSID(パスキーなしの場合)は、通常動作のSSIDの先頭に「$RN」、「$RD」または「$RM」と、「_」(アンダーバー)とが付加されたものである。PC−NBの場合には「$RN」が付加され、PC−DTの場合には「$RD」が付加され、携帯電話の場合には「$RM」が付加される。「$」は、アクセスポイントとして動作している情報通信機器がセットアップモードであることを表し、「R」はパスキーなしを表し、「N」はノート型パソコンを表し、「D」はデスクトップ型パソコンを表し、「M」は携帯電話を表す。文字数合計は、通常動作のSSIDの先頭に4文字付加されるため5〜32である。
図5Dは、セットアップモードSSID(パスキーありの場合)のデータ構造の一例を示す図である。セットアップモードのSSID(パスキーありの場合)は、通常動作のSSIDの先頭に「$FN」、「$FD」または「$FM」と、「_」(アンダーバー)とが付加されたものである。PC−NBの場合には「$FN」が付加され、PC−DTの場合には「$FD」が付加され、携帯電話の場合には「$FM」が付加される。「F」はパスキーありを表す。文字数合計は、通常動作のSSIDの先頭に4文字付加されるため5〜32である。
図5Eは、クイックモードSSID(パスキーなしの場合)のデータ構造の一例を示す図である。クイックモードのSSID(パスキーなしの場合)は、通常動作のSSIDの先頭に「!RN」、「!RD」または「!RM」と、「_」(アンダーバー)とが付加されたものである。PC−NBの場合には「!RN」が付加され、PC−DTの場合には「!RD」が付加され、携帯電話の場合には「!RM」が付加される。「!」は、アクセスポイントとして動作している情報通信機器がクイックモードであることを表す。文字数合計は、通常動作のSSIDの先頭に4文字付加されるため5〜32である。
図5Fは、クイックモードSSID(パスキーありの場合)のデータ構造の一例を示す図である。クイックモードのSSID(パスキーありの場合)は、通常動作のSSIDの先頭に「!FN」、「!FD」または「!FM」と、「_」(アンダーバー)とが付加されたものである。PC−NBの場合には「!FN」が付加され、PC−DTの場合には「!FD」が付加され、携帯電話の場合には「!FM」が付加される。文字数合計は、通常動作のSSIDの先頭に4文字付加されるため5〜32である。
[セットアップモードにおける処理のシーケンス]
次に、PC2のセットアップ部221と携帯電話3のセットアップ部との間のセットアップモードにおける処理について説明する。なお、以下では、セットアップ部221と対応させて、携帯電話3のセットアップ部をセットアップ部321とする。また、連携データ記憶部225と対応させて、携帯電話3の連携データ記憶部を連携データ記憶部325とする。図6A〜図6Cは、PC2のセットアップ部221と携帯電話3のセットアップ部321との間のセットアップモードにおける処理シーケンスを示す図である。なお、図6A〜図6Cにおいては、PC2と携帯電話3の間で相互に認証登録が行われていないものとし、ユーザによってPC2で携帯電話連携が選択され、図7Aに示す携帯電話連携選択画面がPC2の画面上に表示されているものとする。また、連携する携帯電話3では、ユーザによって携帯電話3が立ち上がり、図7Cに示すパソコン連携選択画面が携帯電話3の画面上に表示されているものとする。また、PC2と携帯電話3との間の無線通信は、WLAN部21および31を介して行われる。
まず、PC2のセットアップ部221は、携帯電話連携により登録された携帯電話の有無を確認する(ステップS101)。ここでは、携帯電話が登録されていない場合について説明する。セットアップ部221は、入力装置を用いてユーザにより自動設定開始ボタンが押下されると(ステップS102)、セットアップモードを開始する。
すると、PC2のセットアップ部221は、通常動作のSSIDの先頭に「$RN_」または「$RD_」を付加して新たなSSID、すなわちセットアップモードSSIDを生成する(ステップS103)。すなわち、セットアップ部221は、PC2がPC−NBの場合には「$RN_」を付加し、PC2がPC−DTの場合には「$RD_」を付加してセットアップモードSSIDを生成する。なお、通常動作のSSIDは、出荷時にあらかじめ設定されているが、後述する携帯電話連携選択画面からユーザ任意のSSIDに変更することができる。
続いて、PC2のセットアップ部221は、セットアップモードSSIDを用いて、特定条件で暗号化キーを自動生成する(ステップS104)。そして、セットアップ部221は、AP部211(図6Aおよび図6BはAPと示す)の起動をWLAN部21に依頼する(ステップS105)。ここでは、AP部211の一例として、IEEE802.11に準拠した無線LANのアクセスポイント(AP)として振る舞うSoftAPを採用しても良い。SoftAPは、APとしての機能をソフトウェアにより実現している。
そして、AP部211の起動を依頼されたWLAN部21は、AP部211(図6はAPと示す)を起動して、AP部211の起動完了をセットアップ部221に通知する(ステップS106)。すると、セットアップ部221は、携帯電話3からの接続待機中であることを示す画面を表示する(ステップS107)。このとき、セットアップ部221は、AP部211に対して、セットアップモードを実行する旨を通知し(ステップS108)、AP部211からACK(ACKnowledgement)を受け取る(ステップS109)。
一方、携帯電話3のセットアップ部321は、入力装置を用いてユーザによりパソコン連携が選択されると(ステップS110)、PC2側から携帯電話連携の自動接続を促すパソコン連携開始画面を表示する。このとき、セットアップ部321は、WLAN部31に対してSTA部312の起動を指示する。そして、PC2のユーザにより入力装置を用いてOKボタンが押下されると(ステップS111)、セットアップ部321は、セットアップモードを開始すべく、起動済みのPCの探索を開始する(ステップS112)。
そして、携帯電話3のセットアップ部321は、タイムアウト時間を設定し、WLAN部31に対して起動済みの、APとして動作するPCの探索を指示する(ステップS113,S114)。WLAN部31は、セットアップ部321からの指示を受けて探索を実行する(ステップS115)。すなわち、WLAN部31のSTA部312は、Probe要求を送信し(ステップS116)、本例ではAPとして動作するPC2からProbe応答を受信する(ステップS117)。なお、以下の説明においては、APとして動作中のPCをPC−APとも呼ぶ。ここで、探索範囲内に動作中の他のAP(他のPC−APやAPとして動作する携帯電話、それ以外のAP専用機やAP機能をもつルータなどを含む)が存在する場合、WLAN部31のSTA部312は、そのAPからもProbe応答を受信する。このようにして、STA部312は探索結果を取得する(ステップS118)。つまり、STA部312は、探索結果としてSSIDを1個だけ取得する場合もあるし、複数個取得する場合もある。なお、WLAN部31のSTA部312は、Probe応答を受信する度にセットアップ部321に対して探索結果を通知する。
そして、セットアップ部321は、上記設定したタイムアウト時間内でWLAN部31のSTA部312から取得した探索結果の中から、「$RN_」または「$RD_」から始まるセットアップモードSSIDを抽出する(ステップS119)。すなわち、セットアップ部321は、セットアップモードであるPC−APのみを抽出する。
そして、携帯電話3のセットアップ部321は、抽出したPC−AP(携帯電話3に接続する可能性のある機器)を示す機器選択画面を表示する(ステップS120)。そして、PC−APが複数ある場合には、機器選択画面に対する入力装置を用いたユーザの指示に基づいて、セットアップ部321は、接続する機器(PC−AP)を選択する(ステップS121)。なお、抽出されたPC−APが1つの場合、セットアップ部321はそのPC−APを選択する。
そして、携帯電話3のセットアップ部321は、選択した機器のセットアップモードSSIDを用いて、特定条件で暗号化キーを自動生成する(ステップS122)。この特定条件は、PC2において暗号化キーを自動生成した際に用いられる特定条件と同じアルゴリズムである。そして、セットアップ部321は、セットアップモードSSIDおよび自動生成した暗号化キーと、選択した機器のセットアップモードの機器情報(プロファイル情報)とを連携データ記憶部326に保持する。
そして、携帯電話3のセットアップ部321は、生成した暗号化キーを付加した接続要求を、WLAN部31を介して、セットアップモードであることをPC2に通知する(ステップS123)。すると、携帯電話3のWLAN部31およびPC2のWLAN部21は、通信を開始し、暗号化キーを用いた認証を行い、認証がされると通信を確立する。そして、PC2のWLAN部21は、通信の確立をセットアップ部221に通知する(ステップS124)。また、携帯電話3のWLAN部31は、接続の確立をセットアップ部321に通知する(ステップS125)。これにより、PC2と携帯電話3との間の認証がされたこととなる。
PC2と携帯電話3との間で認証がされると、携帯電話3のセットアップ部321は、PC2のセットアップ部221との間で相互に認証登録を行う(ステップS126)。認証登録の結果、携帯電話3のセットアップ部321は、通信相手のPC2の通常動作時のプロファイル情報を連携データ記憶部325に保持することとなる。なお、セットアップ部221、321の認証登録の詳細については後述する。
認証登録後、PC2のセットアップ部221は、WLAN部21に対してAP部211の停止を指示し(ステップS127)、AP部211を停止したWLAN部21から停止完了の通知を受ける(ステップS128)。これにより、PC2と携帯電話3間の通信は切断される。
一方、認証登録後、携帯電話3のセットアップ部321は、セットアップモードのプロファイル情報と、セットアップモードSSIDおよび暗号化キーとを削除する(ステップS129)。そして、セットアップ部321は、無線の切断を確認する(ステップS130)。無線の切断を確認すると、セットアップ部321は、PC2を探索すべく、探索処理のタイムアウト時間を設定する(ステップS131)。そして、セットアップ部321は、WLAN部31を介してSTA部312を停止し(ステップS132)、WLAN部31から停止完了の通知を受ける(ステップS133)。
そして、携帯電話3のセットアップ部321は、上述において認証登録を行ったPC2との通信を確立するため、そのPC2の通常動作のSSIDの探索を行う(ステップS134)。セットアップ部321は、WLAN部31に対して探索を指示し、WLAN部31はその指示に従って探索を実行する(ステップS135)。すなわち、WLAN部31のSTA部312は、Probe要求を送信し(ステップS136)、所定時間内に受信したProbe応答を探索結果としてセットアップ部321に通知する(ステップS137)。本例は、このProbe要求の送信までに、上述においてセットアップモードにあったPC2のAP部211が通常動作状態になっていない例を示している。そのため、ここでは、セットアップ部321は、WLAN部31のSTA部312から受信した探索結果の中に該当する通常動作のSSIDを確認できず、通常動作のSSIDの探索がNGとなる(ステップS138)。セットアップ部321は、ステップS126の認証登録の際に取得し連携データ記憶部325に格納されたプロファイル情報に含まれるPC2のSSIDを利用して、探索対象としている通常動作のSSIDが探索結果に含まれているか否かを判断している。
一方、PC2においては、携帯電話3との通信切断後、携帯電話3の上述処理とは独立して、AP部211を通常動作状態に移行させる処理が行われる。PC2のセットアップ部221は、AP部211の停止が完了した後、通常動作のSSIDおよび通常動作の暗号化キーに戻す(ステップS140)。そして、セットアップ部221は、AP部211の起動をWLAN部21に依頼する(ステップS141)。そして、AP部211の起動を依頼されたWLAN部21は、AP部211を起動して、AP部211の起動完了をセットアップ部221に通知する(ステップS142)。そして、セットアップ部221は、AP部211に対して、通常動作の実行を指示し(ステップS143)、通常動作となったAP部211からACKを受け取る(ステップS144)。
携帯電話3のセットアップ部321は、上述の探索処理において探索結果がNGであることを受け、通常動作のSSIDのPCの探索リトライを行う(ステップS139)。セットアップ部321は、上述と同様に、WLAN部31に対して探索を指示し、WLAN部31はその指示に従って再度探索を実行する(ステップS145)。すなわち、WLAN部31のSTA部312は、Probe要求を送信する(ステップS146)。このProbe要求に対して、通常動作となったPC2のAP部211はProbe応答を携帯電話3のWLAN部31に通知する(ステップS147)。このPC2のAP部211からのProbe応答には、PC2の通常動作におけるSSIDが含まれる。WLAN部31のSTA部312は、所定時間内に受信したProbe応答を探索結果としてセットアップ部321に通知する(ステップS148)。このとき、探索結果にはPC2の通常動作のSSIDが含まれる。なお、この探索のリトライ処理によって探索結果がNGの場合、ステップS131で設定されたタイムアウト時間内であれば探索のリトライ処理が繰り返される。
WLAN部31のSTA部312から探索結果を取得したセットアップ部321は、探索結果の中から通常動作のSSIDを検出する(ステップS149)。ここで、セットアップ部321は、通常動作で用いられる同一のSSIDが複数ある場合には、通常動作時のプロファイル情報に含まれるMACアドレスを用いて通常動作を行うPCを判別する。
そして、携帯電話3のセットアップ部321は、通常動作の暗号化キーを付加した接続要求を、WLAN部31を介して通知する(ステップS150)。そして、携帯電話3のWLAN部31およびPC2のWLAN部21は、通信を開始し、暗号化キーを用いた認証を行い、認証がされると通信を確立する。そして、PC2のWLAN部21は、通信の確立をセットアップ部221に通知する(ステップS151)。そして、セットアップ部221は、携帯電話連携により接続中であることを示す画面をPC2に表示する。
また、携帯電話3のWLAN部31は、接続の確立をセットアップ部321に通知する(ステップS152)。そして、セットアップ部321は、パソコン連携により接続中であることを示す画面を携帯電話3に表示する。これにより、PC2と携帯電話3との間は、通常動作でネットワーク接続されることとなる。
[セットアップモードにおける処理シーケンスで用いられる画面の一例]
図7Aは、携帯電話連携選択画面の一例を示す図である。図7Aに示すように、PC2で携帯電話連携が選択されると、PC2は、携帯電話3との間のセットアップを自動的に行うために、自動設定開始ボタンを表示する。さらに、PC2は、通常動作のSSIDをユーザ任意のSSIDに変更するためのテキストボックスを表示する。図7Aでは、PC2は、ユーザ任意のSSIDを設定することができる。
図7Bは、携帯電話からの接続待機中画面の一例を示す図である。図7Bに示すように、PC2は、携帯電話連携を行う際、携帯電話3で連携部32を起動するように促す「携帯電話からの接続待機中」メッセージをPC2に表示する。
図7Cは、PC連携選択画面の一例を示す図である。図7Cに示すように、携帯電話3を立ち上げると、携帯電話3は、連携部32を起動するためのアイコンを表示する。
図7Dは、PC連携開始画面の一例を示す図である。図7Dに示すように、携帯電話3は、PC連携を行う際、PC2で連携部22を起動するように促すメッセージとともに、PC2で連携部22を起動後ユーザによりPC連携を開始させるためのOKボタンを表示する。
図7Eは、APを探索する画面の一例を示す図である。図7Eに示すように、携帯電話3は、APとして動作するPCを探索中に、探索中画面を表示する。
図7Fは、機器選択画面の一例を示す図である。図7Fに示すように、携帯電話3は、APとして動作するPCを探索すると、探索結果となる接続可能機器を表示するとともに、ユーザにより機器を選択させるための自動接続ボタンを機器毎に表示する。
図7Gは、携帯電話連携中画面の一例を示す図である。図7Gに示すように、PC2は、通常動作のSSIDを戻したうえで携帯電話3と再び通信を確立すると、携帯電話連携により携帯電話3と接続中であることを示す画面を表示する。
図7Hは、PC連携中画面の一例を示す図である。図7Hに示すように、携帯電話3は、通常動作のSSIDによりPC2と再び通信を確立すると、PC連携によりPC2と接続中であることを示す画面を表示する。
[セットアップ処理のシーケンス]
次に、図6Bに示すS126のセットアップ処理のシーケンスについて、図8を参照して説明する。図8は、セットアップシーケンスを示す図である。なお、図8においては、PC2がアクセスポイント(AP)として動作し、携帯電話3がステーション(STA)として動作するものとして説明する。また、PC2と携帯電話3は、セットアップモードSSIDを用いて通信を確立し、認証が行われたものとする。
図8に示すように、携帯電話3のセットアップ部321は、PC2に対してセットアップ(認証登録)開始要求を送信し(ステップS201)、PC2のセットアップ部221は、セットアップの開始要求を受諾する場合に、セットアップ開始要求に対する応答として携帯電話3に対してセットアップ開始応答を送信する(ステップS202)。
そして、携帯電話3のセットアップ部321は、セットアップ開始応答を受信した場合に機器情報と無線LANの情報についてPC2に対して更新要求を送信し(ステップS203)、PC2のセットアップ部221は、更新要求を受信し、機器情報と無線LANの情報の送信準備を行った後、更新要求の応答として携帯電話3に対して更新応答を送信する(ステップS204)。そして、携帯電話3のセットアップ部321は、更新応答を受信した場合に機器情報と無線LANの情報についてPC2に対して取得要求を送信し(ステップS205)、PC2のセットアップ部221は、取得要求の応答として携帯電話3に対して自機器における機器情報と無線LANの情報を送信する(ステップS206)。ここで、機器情報とは、後述するプロファイル情報を意味する。また、無線LANの情報とは、通常動作のSSIDおよび通常動作の暗号化キーを含む情報を示す。
そして、携帯電話3のセットアップ部321は、PC2から送信される機器情報と無線LANの情報を受信し、正常に受信完了したことを通知する受取完了通知をPC2に送信し(ステップS207)、連携データ記憶部325にPC2のSSID、暗号化キーおよび機器情報を記憶する。
受取完了通知を受信したPC2のセットアップ部221は、機器情報と無線LANの情報について携帯電話3に対して更新要求を送信し(ステップS208)、携帯電話3のセットアップ部321は、更新要求を受信し、自機器の機器情報と無線LANの情報の送信準備を行った後、更新要求の応答としてPC2に対して更新応答を送信する(ステップS209)。そして、PC2のセットアップ部221は、更新応答を受信した場合に機器情報と無線LANの情報について携帯電話3に対して取得要求を送信し(ステップS210)、携帯電話3のセットアップ部321は、取得要求の応答としてPC2に対して自機器における機器情報と無線LANの情報を送信する(ステップS211)。
そして、PC2のセットアップ部221は、携帯電話3から送信される機器情報と無線LANの情報を受信し、正常に受信完了したことを通知する受取完了通知を携帯電話3に送信し(ステップS212)、連携データ記憶部225に携帯電話3のSSID、暗号化キーおよび機器情報を記憶する。
その後、PC2のセットアップ部221は、携帯電話3に対してセットアップ終了要求を送信し(ステップS213)、携帯電話3のセットアップ部321はセットアップ終了要求を受信し、その応答としてPC2に対してセットアップ終了応答を送信する(ステップS214)。この結果、携帯電話3とPC2との間で相互にセットアップ、すなわち認証登録が終了する。
なお、セットアップが開始されてからセットアップが終了するまでに、無線LANの電波が届かなくなる場合や予期せぬエラーが発生する場合がある。この場合には、セットアップ部221、321は、まだセットアップが完全に終了していないので、セットアップ中に受け取った機器情報と無線LANの情報を全て破棄するようにすれば良い。
[プロファイル情報のデータ構造の一例]
図9は、プロファイル情報のデータ構造の一例を示す図である。図9に示すように、プロファイル情報は、版数、モデル、MACアドレス、ハードウェア情報、個別機能および連携機能を記憶する。版数には、自機器における連携部22、32のバージョン情報が記憶される。モデルには、自機器のカテゴリ情報が記憶される。例えば、モデルには、ノート型パソコン、デスクトップ型パソコンおよび携帯電話の区別が記憶される。なお、このモデルは、機器のカテゴリに合わせその内容を適宜決定すればよい。MACアドレスには、自機器のMACアドレス情報が記憶される。ハードウェア情報には、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)およびカメラ情報について、画素数の情報が記憶される。個別機能には、WOL(Wake On LAN)について、対応有無が記憶される。連携機能には、各連携機能について、サポートの有無を示す情報が記憶される。なお、プロファイル情報は、機器毎に自機器に備えられた連携データ記憶部225、325に記憶され、例えば出荷時に記憶される。
このように、PC2のセットアップ部221および携帯電話3のセットアップ部321は、データの送受信前にハンドシェイクする。すなわち、セットアップ部221、321は、データの送受信前に通信相手の機器のプロファイル情報および無線LANの情報を互いに登録する。したがって、セットアップ部221、321は、将来、APとしての機能とステーションとしての機能が入れ替わっても、簡略に接続することが可能となる。
なお、実施例では、PC2がアクセスポイント(AP)として動作し、携帯電話3がステーション(STA)として動作するものとして説明した。しかしながら、携帯電話3がAPとして動作し、PC2がSTAとして動作するものとしても良い。
また、実施例では、STA側の携帯電話3が、先行して、AP側のPC2に対して、機器情報と無線LANの情報についての取得要求を送信するようにした。しかしながら、これに限定されず、AP側のPC2が、先行して、STA側の携帯電話3に対して、機器情報と無線LANの情報についての取得要求を送信するようにしても良い。
[機器連携接続処理シーケンス]
次に、PC2の機器連携部222と携帯電話3の機器連携部との間の機器連携接続処理について説明する。なお、以下では、PC2の機器連携部222と対応させて、携帯電話3の機器連携部を機器連携部322とする。図10は、PC2の機器連携部222と携帯電話3の機器連携部322との間の機器連携接続処理シーケンスを示す図である。
なお、図10においては、PC2と携帯電話3の間で相互に認証登録が行われており、PC2および携帯電話3それぞれで連携する携帯電話3およびPC2が選択されているものとする。また、ユーザによってPC2で携帯電話連携機能が選択され、携帯電話連携画面がPC2の画面上に表示されているものとする。図11Aは、携帯電話連携画面の一例を示す図である。図11Aに示すように、携帯電話連携画面には、携帯電話3のSSIDなどが表示される。携帯電話連携画面(機器連携部222)の起動直後では、前回の携帯電話連携機能の実行において接続した携帯電話3のSSIDが表示される。つまり、携帯電話連携機能は、連携機能が実行されると、その実行により接続した相手側機器を示す情報を連携データ記憶部225に格納しておき、次回起動時に連携データ記憶部225からその情報を読み取って該情報で示される携帯電話3の情報を携帯電話連携画面に表示する。また、携帯電話連携画面(機器連携部222)が起動した後、携帯電話連携画面に表示されている携帯電話3を連携対象機器として図10の機器連携接続処理シーケンス(ステップS301)を実行開始する。なお、ユーザはこの画面から接続する携帯電話3を変更して、携帯電話連携処理を実行することができる。ここでは、連携する携帯電話3では連携部32が未起動であるとする。なお、PC2と携帯電話3との間の無線通信は、WLAN部21および31を介して行われる。
図10に示すように、機器連携部222は、選択されている携帯電話3と接続するために携帯電話3を探索する(ステップS301)。この時点では、携帯電話3では連携部32が未起動であるため、連携部32が起動されていれば携帯電話3から送信されるはずの応答(ステップS302)はない。また、機器連携部222は、応答があった場合には、携帯電話連携で選択されている携帯電話3からの応答であるか否かの確認を行う(ステップS303)。その結果、機器連携部222は、この時点では、携帯電話連携で選択されている携帯電話3から応答なしと判定する(ステップS304)。なお、機器連携部222は、PC2がスリープ状態や休止状態などの待機状態からの復帰や電源オフ状態からの起動をトリガにして、本シーケンスのステップS301の探索処理を開始するようにすればよい。また、そのPC2の復帰や起動は、ユーザによるPC2の電源ボタンの手動操作、携帯電話3によるネットワークを介した遠隔指示(送信メッセージ)などに基づき行われるようにすればよい。
その後、携帯電話3において連携部32が起動され、PC連携がユーザによって選択されると、機器連携部322は、PC連携画面を表示する(ステップS305)。携帯電話3においてもPC2と同様に、PC連携画面(機器連携部322)の起動では、前回のPC連携機能の実行において接続したPC2のSSIDが表示される。つまり、PC連携機能は、連携機能が実行されると、その実行により接続した相手側機器を示す情報を連携データ記憶部325に格納しておき、次回起動時に連携データ記憶部325からその情報を読み取って該情報で示されるPC2の情報をPC連携画面に表示する。また、PC連携画面(機器連携部322)が起動した後、PC連携画面に表示されているPC2を連携対象機器として図10の機器連携接続処理シーケンス(ステップS305)を実行開始する。なお、図11Bは、PC連携画面の一例を示す図である。図11Bに示すように、携帯電話3には、PC連携機能が実行中であることが表示される。また、ユーザはこの画面から接続するPC2を変更して、PC連携処理を実行することができる。
機器連携部322は、PC2を探索する(ステップS306)。PC2の機器連携部222は、携帯電話3の機器連携部322よる探索に対して応答する(ステップS307)。携帯電話3の機器連携部322は、PC2からの応答を基に、選択されているPC2と接続可能であるか否かを例えばMACアドレスを用いて確認する(ステップS308)。この確認は、応答に含まれるPC2のMACアドレスと、セットアップ処理で取得済みのプロファイル情報に含まれるMACアドレスとの比較で行われ、それらが一致する場合は接続可能と判断される。その結果、選択されているPC2と接続可能である場合には、機器連携部322は、PC携帯電話連携モード通知を選択されているPC2に送信する(ステップS309)。一方、選択されているPC2と接続可能でない場合には、機器連携部322は、PC携帯電話連携モード通知を送信しない。
そして、PC2の機器連携部222は、選択されている携帯電話3と接続するために携帯電話3を探索する(ステップS310)。携帯電話3で連携部32が起動されており、携帯電話3の機器連携部322は、その探索に含まれる情報がセットアップ処理で取得済みのプロファイル情報と一致するか否かを判断し、その結果、情報が一致する場合には探索に対して応答する(ステップS311)。PC2の機器連携部222は、携帯電話連携で選択されている携帯電話2から応答ありと判定する(ステップS312)。
そして、PC2の機器連携部222は、携帯電話連携で選択されている携帯電話2から応答ありの場合、携帯電話3に対して設定情報ファイル取得要求を送信する(ステップS313)。詳細は後述するが、この設定情報ファイルは携帯電話3における各連携機能に対する有効/無効の設定を示す情報を含む。携帯電話3の機器連携部322は、設定情報ファイル取得要求を受信し、設定情報ファイルの送信準備を行った後、PC2の機器連携部222からの設定情報ファイル取得要求に対して設定情報ファイル取得応答を送信する(ステップS314)。そして、PC2の機器連携部222は、設定情報ファイル取得応答を受け、設定情報ファイルについて携帯電話3に対してファイル取得要求を送信する(ステップS315)。携帯電話3の機器連携部322は、ファイル取得要求に応答して設定情報ファイルをPC2に送信する(ステップS316)。PC2の機器連携部222は、携帯電話3から送信される設定情報ファイルを受信し、正常に受信完了したことを通知するPC携帯電話連携完了通知を携帯電話3に送信し(ステップS317)、PC2に連携接続状態を示す画面を表示する(ステップS318)。この後、設定情報ファイルに含まれる携帯電話3側の連携機能の有効・無効の設定に応じて処理を行い、ユーザの指示に基づいて、PC2の機器連携部222が、携帯電話3からデータを取り込むことができる。
図11Cは、連携接続状態でPC上に表示される画面の一例を示す図である。図11Cに示すように、PC2と携帯電話3が連携接続状態になると、PC2は、設定情報ファイルの設定情報に基づいて、携帯電話3から取り込むことができるデータを表示する。図11Cでは、PC2は、写真、動画、歩数・活動量のデータを携帯電話3から取り込むことができる。
[設定情報ファイルのデータ構造の一例]
図12は、設定情報ファイルのデータ構造の一例を示す図である。図12に示すように、設定情報ファイルは、各連携機能について、無効であるか有効であるかを記憶する。ここで、連携機能とは、写真データの取り込み機能、動画データの取り込み機能、歩数・活動量データの取り込み機能である。例えば、写真について値が「0」である場合には、携帯電話3において写真データの取り込み機能は無効に設定されており、写真データのPC2への取り込みは許可されないので、図11Cに示した画面上に「写真」に対応するボタンを表示しない。また、この場合に、動画および歩数・活動量についてそれぞれ値が「1」である場合には、これらのデータの取り込み機能は有効に設定されているため、図11Cに示した画面上に、「動画」、「歩数・活動量」に対応する各ボタンを表示する。これらボタンは、ユーザに操作される表示オブジェクトの一例である。
このように、PC2の機器連携部222は、設定情報ファイルを携帯電話3に対して要求し、携帯電話3の機器連携部322がPC2に設定情報ファイルを送信する。そして、PC2の機器連携部222が設定ファイルを受信して、受信した設定情報ファイルの情報に基づいて、携帯電話3との連携機能、すなわち携帯電話3から取り込めるデータを表示する。例えば、PC2の機器連携部222は、携帯電話連携画面に、携帯電話3側で無効に設定された連携機能に対応するボタンを表示せず、有効にされている連携機能に対応するボタンのみを表示するようにすればよい。また、例えば、PC2の機器連携部222は、携帯電話連携画面に各連携機能に対応するボタンを表示し、携帯電話3側で無効に設定された連携機能に対応するボタンが選択された場合にデータの取り込み処理を実行せず、有効に設定された連携機能に対応するボタンが選択された場合にのみデータの取り込み処理を実行するようにしてもよい。このようにして、機器連携部222は、データの送信側で無効に設定されているデータ連携機能を実行がされないよう制御することで、そのような連携機能の実行を防ぐことができる。したがって、無用な処理の実行が防止され、データの送信側のユーザがデータの要求側に送信したくないデータのPC2による取り込みを防ぐことができる。
なお、ここでは、連携部22および32は、無線通信を用いて設定情報を送受信するが、連携部22および32は、有線通信を用いて設定情報を送受信することもできる。
また、上記実施例では、携帯電話3の連携部3が未起動の状態においてPC2がステップS301により携帯電話3の探索処理を開始する例を示した。そのため、ステップS304において、PC2における携帯電話連携画面において選択している携帯電話3からの応答がないと判定されている。しかしながら、上述したように、PC2における携帯電話連携画面において選択している携帯電話3からの復帰または起動の遠隔指示(送信メッセージ)を受けて連携部22(機器連携部222)が起動した場合、機器連携部222は、その起動時の探索処理において遠隔指示を行った携帯電話3から応答を受信することになる。このようにして携帯電話3からの指示が機器連携部222による探索処理開始のトリガになる場合、PC2は、図10のステップS301ではなく、ステップS310から処理を開始することになる。したがって、PC2の機器連携部222は、起動直後に、携帯電話3と機器連携可能な状態(携帯電話3からデータ取り込み可能な状態)になる。
[複数PCとの連携]
次に、1台の携帯電話3からn台(nは2以上)のPC2へ写真、動画、歩数・活動量などのデータを送信する場合の連携部32の処理手順について説明する。図13は、1台の携帯電話3からn台のPC2へ写真、動画、歩数・活動量などのデータを送信する場合の連携部32の処理手順を示すフローチャートである。ただし、ここでは、1台の携帯電話3は、n台のPC2と相互に認証登録を済ませているものとする。すなわち、図8(図6BのステップS126)に示すセットアップシーケンスの実行により、携帯電話3においては連携データ記憶部325にn台のPC2のそれぞれについてPCの機器情報が記憶されており、各PC2においては連携データ記憶部225に携帯電話3の機器情報が記憶されている。また、以下では、PC2の機器選択部227と対応させて、携帯電話3の機器選択部を機器選択部327とする。
図13に示すように、携帯電話3の機器選択部327がユーザの指示に基づいて、1台目のPC2を送信相手として選択する(ステップS401)。ユーザは、図10のステップS305で表示されるPC連携画面から送信相手となるPC2の選択が可能である。携帯電話3の機器選択部327はユーザにより選択されたPC2を連携対象機器として携帯電話3の機器連携部322に通知し、携帯電話3の機器連携部322にそのPC2との連携を要求する。携帯電話3の機器連携部322は、PC2との連携の要求を受け、図10のステップS306と同様の処理によって、探索処理を実行する(ステップS402)。そして、携帯電話3の機器連携部322は、探索開始から所定時間内の探索結果を基に、図10のステップS308と同様の処理によって、選択されているPC2からの応答有無を判定し、そのPC2との接続可否を判定する(ステップS403)。携帯電話3の機器連携部322は、選択されているPC2からの応答が探索結果に含まれている場合(ステップS403;Yes)、選択されているPC2と接続可能と判定して図10のステップS309と同様の処理によって、PC携帯電話連携モード通知を選択されているPC2に対して送信する(ステップS404)。一方、選択されているPC2からの応答が探索結果に含まれていない場合(ステップS403;No)、携帯電話3の機器連携部322は、PC携帯電話連携モードを送信せず、処理はステップS407に移行する。
PC携帯電話連携モード通知の送信後、図10のステップS310〜S317と同様の処理が実行され、選択されているPC2と携帯電話3の接続が確立する。接続が確立した後、ユーザによる操作に応じて、選択されているPC2と携帯電話3との間で機器連携処理が実行される(ステップS405)。この機器連携処理は、例えば、図11Cおよび図12を用いて説明されるような携帯電話3からの各種データの取り込みである。
携帯電話3の機器連携部322は、選択されているPC2との連携終了をユーザから指示された場合、選択されているPC2との接続を切断して機器連携処理を終了する(ステップS406)。そして、携帯電話3の機器連携部322は、例えば、PC2との接続を切断した旨のメッセージを表示した後、PC連携画面の表示に戻す。その後、ユーザからPC連携画面の終了操作を受けた場合(ステップS407;Yes)、本処理手順を終了する。一方、PC連携画面の終了操作がされず(ステップS407;No)、ユーザによる他のPC2を選択するための操作を受けた場合、処理はステップS401に移行する。そして、ユーザによって選択された新たなPC2を対象にして、上述の処理(ステップS401〜S407)が実行される。
このように、携帯電話3の連携部32は、複数のPC2と連携可能な状態においてユーザによって選択された1台のPC2のみと接続を確立するよう動作し、選択された1台のPC2は携帯電話3の機器情報が自機器に登録されていることを確認してその接続を確立するよう動作する。このようにして接続が確立された後、携帯電話3と1台のPC2間で機器連携処理が実行される。このため、携帯電話3においては連携可能であっても不要なPC2(データを送るべきでないPC)へのデータ送信が防止され、また、PC2においては携帯電話3からの不要なデータの取り込みが防止される。よって、携帯電話3内のデータが無関係な機器に流出することなく、データのプライバシーが確保される。なお、このような効果は、本実施例のような携帯電話とPCに限定されるものではなく、データを保持する機器と他の複数の機器間の関係において同様に生じるものである。
また、携帯電話3が常時電源オンの状態で使用される一方で、PC2はスリープ状態や休止状態などの待機状態または電源オフ状態にある場合も多い。そのような場合には、携帯電話3の連携部32は、PC2に対してマジックパケットを発行してPC2を復帰または起動し、連携部22を起動することによって、PC−携帯電話連携を開始することもできる。
[インターネット接続]
次に、PC2の連携部22におけるインターネット接続部223と携帯電話3の連携部32におけるインターネット接続部との間のインターネット接続処理について説明する。なお、以下では、PC2のインターネット接続部223およびセットアップ部221と対応させて、携帯電話3のインターネット接続部およびセットアップ部をそれぞれインターネット接続部323、セットアップ部321とする。
図14は、PC2のインターネット接続部223と携帯電話3のインターネット接続部323との間のインターネット接続処理シーケンスを示す図である。なお、図14においては、PC2と携帯電話3はPC2をAP部211(図14はAPと示す)として連携可能状態にあり、図11Cに示す携帯電話連携画面において「ケータイ経由でインターネットに接続」が選択されたものとする。また、図14は、インターネット接続部223およびインターネット接続部323をそれぞれ連携部と示す。
図14に示すように、PC2のインターネット接続部223は、AP部211に接続している情報通信機器を確認し、携帯電話3以外にAP部211に接続している情報通信機器がある場合には、PC画面上に通信切断を通知するメッセージを表示する(ステップS501)。そして、インターネット接続部223は、インターネット接続を継続するかキャンセルするかの選択画面を表示し、ユーザがキャンセルを選択すると、インターネット接続部223は処理を終了し、図11Cに示す携帯電話連携画面の表示に制御が戻る。一方、ユーザがインターネット接続の継続を選択すると、インターネット接続部223は、AP状態確認要求を携帯電話3に送信する(ステップS502)。
すると、携帯電話3のインターネット接続部323は、携帯電話3でAP部311(図14はAPと示す)経由による3G通信の利用がユーザに同意されているか否かを確認し(ステップS503)、確認した状態をAP状態確認応答としてPC2へ送信する(ステップS504)。なお、ここでは、3G通信を用いる場合について説明したが、WiMAX(Worldwide Interoperability for Microwave Access)やLTE(Long Time Evolution)など他のデータ通信を用いることもできる。
PC2のインターネット接続部223は、AP状態確認応答を受信し、携帯電話3でAP部311経由による3G通信の利用が同意されていない場合には、携帯電話3のAP部311利用不可を通知するメッセージを表示する。そして、インターネット接続部223は処理を終了し、図11Cに示す携帯電話連携画面の表示に制御が戻る。一方、携帯電話3でAP部311経由による3G通信の利用が同意されている場合には、インターネット接続部223は、プロバイダ契約やデータ通信プランに加入していることの確認画面を表示する(ステップS505)。そして、インターネット接続部223は、インターネット接続を継続するかキャンセルするかの選択画面を表示し、ユーザがキャンセルを選択すると、インターネット接続部223は処理を終了し、図11Cに示す携帯電話連携画面の表示に制御が戻る。プロバイダ契約やデータ通信プランの加入をユーザに確認することによって、ユーザが意図しないところで携帯電話3のパケット料金が発生することを防ぐことができる。
一方、インターネット接続部223は、ユーザがインターネット接続の継続を選択すると、AP切替要求を携帯電話3に送信する(ステップS506)。携帯電話3のインターネット接続部323は、AP切替要求を受信し、それに対する応答としてPC2に対してAP切替応答を送信する(ステップS507)。
その後、インターネット接続部223および323は、それぞれセットアップ部221および321に対してセットアップ処理(図8に示すセットアップシーケンスの実行)を指示する(ステップS508)。ここで、セットアップ処理を実行する理由は、PC2および携帯電話3が相互に最新情報を交換するためである。また、図8に示したセットアップシーケンスでは、携帯電話3がセットアップ開始要求をPC2に送信するが、AP切替応答を受信したPC2側からセットアップ開始要求を携帯電話3に送信することによってセットアップを行うこともできる。この場合、図8に示す各ステップにおける各処理の送信側および受信側は、入れ替わることになる。
そして、セットアップ処理が完了すると、PC2のインターネット接続部223は、WLAN部21にAP停止を送信する(ステップS509)。WLAN部21は、AP部211の停止指示を受け、AP部211の停止を完了すると、インターネット接続部223にAP停止完了を送信する(ステップS510)。この時点で、携帯電話3以外にAP部211に接続している情報通信機器との通信は切断される。そして、PC2のインターネット接続部223は、AP停止完了の通知を受け、タイムアウト時間を設定する(ステップS511)。接続対象である携帯電話3のAP部311が探索される前にこのタイムアウト時間が経過すると、携帯電話3側にてAP部311の状態を確認するようにユーザに通知する。
なお、ここでは、インターネット接続部223は、WLAN部21にAP停止を送信してAPの動作を停止することとしたが、APの動作を停止しないようにすることもできる。すなわち、PCのWLAN部21において、AP部211とSTA部212の両方が同時に動作することもできる。
また、セットアップ処理が完了すると、携帯電話3のインターネット接続部323は、無線の切断を確認する(ステップS512)。そして、インターネット接続部323は、WLAN部31にSTA停止を送信する(ステップS513)。WLAN部31は、STA部312の停止指示を受け、STA部312の停止を完了すると、インターネット接続部323にSTA停止完了を送信する(ステップS514)。これら処理によって、PC2のWLAN部21と携帯電話3のWLAN部31との間での無線通信が切断される(ステップS515)。
その後、PC2のインターネット接続部223は、接続対象である携帯電話3のSSID探索を行う(ステップS516)。すなわち、PC2のインターネット接続部223は、WLAN部21に接続対象である携帯電話3のSSIDの探索を指示し(ステップS517)、WLAN部21のSTA部212が、Probe要求を送信する。携帯電話3のAP部311が起動していれば、Probe要求の受信に応答して、携帯電話3のAP部311はProbe応答(SSIDを含む)を送信する。WLAN部21のSTA部212は携帯電話3からのProbe応答を受信し、PC2のインターネット接続部223は、WLAN部21から探索結果を受け取る(ステップS518)。図14は、この時点でケータイ接続対象である携帯電話3のAP部311が未起動である場合を示し、そのため探索結果に該当のSSIDが含まれない。このため、インターネット接続部223は接続対象である携帯電話3のSSID探索の失敗を確認し(ステップS519)、探索をリトライする(ステップS520)。
一方、携帯電話3のインターネット接続部323は、WLAN部31にAP起動を送信する(ステップS521)。WLAN部31は、AP部311の起動指示を受け、AP部311の起動を完了すると、インターネット接続部323にAP起動完了を送信する(ステップS522)。
PC2のインターネット接続部223は、検索リトライのためWLAN部21に探索を指示する(ステップS523)。WLAN部21のSTA部212は、探索指示を受け、Probe要求を送信する。図14は、この時点で携帯電話3のAP部311が起動していることを示し、Ptobe要求に応答して、携帯電話3のAP部311はProbe応答を送信する。WLAN部21のSTA部212は携帯電話3からのProbe応答を受信し、PC2のインターネット接続部223は、WLAN部21から探索結果を受け取る(ステップS524)。そして、インターネット接続部223は、接続対象である携帯電話3のSSIDを検出し(ステップS525)、WLAN部21に携帯電話3のAP部311への接続を指示する(ステップS526)。
そして、PC2のWLAN部21と携帯電話3のWLAN部31との間での通信が開始して通信確立が行われる(ステップS527)。そして、WLAN部21はインターネット接続部223に接続完了を通知し(ステップS528)、WLAN部31はインターネット接続部323に通信確立を通知する(ステップS529)。そして、携帯電話3のインターネット接続部323は、APモード通信中画面を表示する(ステップS530)。図15は、APモード通信中画面の一例を示す図である。図15に示すように、APモード通信中画面には、接続中の情報通信機器の台数、自機器のSSIDなどが表示される。
このように、インターネット接続部223および323は、PC2がAPとして動作し、携帯電話3がSTAとして動作するPC−携帯電話連携を解消し、PC2をSTAとして動作させ、携帯電話3をAPとして動作させる。そして、インターネット接続部223および323は、PC2を携帯電話3を介してインターネットに接続する。したがって、ユーザは、PC2と携帯電話3の間でAPとSTAを簡単に切り替えることができる。このため、ユーザは、PC−携帯電話連携のセットアップを行っておくだけで、屋外などPC2がネットワークに接続されていない場合にも、PC2から簡単にインターネットを利用することができる。
また、インターネット接続部223および323は、携帯電話3でAP経由による3G通信の利用が許可されている場合にのみAP切替を実行するので、ユーザが意図しない3G通信の利用を防ぐことができる。また、インターネット接続部223がプロバイダ契約やデータ通信プランの加入をユーザに確認することによって、データ通信などで費用が発生することの注意をユーザに促すことができる。また、インターネット接続部223および323は、携帯電話3のAP機能を利用する際に、セットアップ処理を実行してPC2と携帯電話3との間で最新情報を交換する。したがって、携帯電話3のAPの状態がユーザによって変更されている場合にも、ユーザはAP機能を利用することができる。
なお、ここでは、インターネット接続部223および323が、PC2をAPからSTAに切り替え、携帯電話3をSTAからAPに切り替える場合について説明したが、インターネット接続部223および323は、同様な手順で、PC2をSTAからAPに切り替え、携帯電話3をAPからSTAに切り替えることもできる。
[クイックモードにおける処理のシーケンス]
次に、PC2のクイック接続部224と携帯電話3のクイック接続部324との間のクイックモードにおける処理について説明する。前述したとおり、クイックモードは、ネットワークに属していない情報通信機器同士が一時的に接続する場合に用いられる動作モードであり、情報通信機器間で接続後、ファイルをダイレクトに送受信する。ここでは、クイックモードにおけるファイルの送信を「ダイレクト送信」といい、ファイルの受信を「ダイレクト受信」というものとする。
図16A〜図16Eは、PC2のクイック接続部224と携帯電話3のクイック接続部324との間のクイックモードにおける処理シーケンスを示す図である。なお、図16A〜図16Eにおいては、PC2がアクセスポイント(AP)として動作し、携帯電話3がステーション(STA)として動作するものとして説明する。また、クイック接続部224と対応させて、携帯電話3のクイック接続部をクイック接続部324とする。また、連携データ記憶部225と対応させて、携帯電話3の連携データ記憶部を連携データ記憶部325とする。さらに、図16A〜図16Eにおいては、PC2と携帯電話3の間で事前に相互に認証登録が行われていないものとし、ユーザによってPC2でファイルを受信するための受信BOXが選択され、図17Aに示すダイレクト受信開始画面がPC2の画面上に表示されているものとする。また、連携する携帯電話3では、ユーザによって携帯電話3が立ち上がり、PC連携選択画面を経て図17Dに示すファイル選択画面が携帯電話3の画面上に表示されているものとする。また、PC2と携帯電話3との間の無線通信は、WLAN部21および31を介して行われる。
図16Aに示すように、PC2において、ダイレクト受信開始画面のダイレクト受信ボタンがユーザによって押下される(ステップS601)。すると、PC2のクイック接続部224は、待機中のファイルの受信確認を示すファイル受信画面を表示する(ステップS602−1)。このとき、クイック接続部224は、AP部211(図16A〜図16EはAPと示す)が起動中であって既に構築されたネットワーク内の他の機器のSTA部と接続中である場合には、一時的に接続を切断する旨のメッセージをファイル受信画面に表示する。これにより、クイック接続部224は、既に接続中のネットワークの切断をユーザに明示的に示すことができる。
そして、ファイル受信画面のOKボタンがユーザによって押下されると(ステップS602−2)、PC2のクイック接続部224は、外出先で接続する場合にユーザにパスキーの設定を促す画面(以下、外出先モード画面とする)を表示する(ステップS603)。自宅内に比べて外出先などの公共の場所ではネットワークセキュリティーが低下する。そのため、ユーザがこの画面に対してパスキーを指定すると、公共の場所などで機器間接続を行う場合のセキュリティーを強化することができる。なお、セキュリティーの強化が不要な場合、ユーザはこの画面に対してパスキーを指定する必要はない。ここでは、ユーザがパスキーを指定した場合、それに基づいて、クイック接続部224は、パスキーを設定する(ステップS604)。
そして、PC2のクイック接続部224は、AP部211が起動しているか否かを示すAPの状態を連携データ記憶部225に保存する(ステップS605)。そして、クイック接続部224は、通常動作のSSIDの先頭にパスキーなしを示す「!RN_」または「!RD_」、パスキーありを示す「!FN_」または「!FD_」を付加して新たなSSIDを生成する(ステップS606)。生成された新たなSSIDがクイックモードSSIDとなる。すなわち、クイック接続部224は、パスキーなしの場合であってPC2がPC−NBの場合には「!RN_」を付加し、パスキーなしの場合であってPC2がPC−DTの場合には「!RD_」を付加する。また、クイック接続部224は、パスキーありの場合であってPC2がPC−NBの場合には「!FN_」を付加し、パスキーなしの場合であってPC2がPC−DTの場合には「!FD_」を付加する。なお、自機器が携帯電話である場合には、クイック接続部224は、パスキーありの場合には「!RM_」を付加し、パスキーなしの場合には「!FM_」を付加する。
続いて、PC2のクイック接続部224は、クイックモードSSIDを用いて、特定条件で暗号化キーを自動生成する(ステップS607)。そして、クイック接続部224は、AP部211の起動をWLAN部21に依頼する(ステップS608)。AP部211の起動を依頼されたWLAN部21は、AP部211を起動して、APの起動完了をクイック接続部224に通知する(ステップS609)。
一方、携帯電話3のクイック接続部324は、ユーザの指示に基づいて、PCに送信するファイルを選択する(ステップS611)。
さらに、携帯電話3のクイック接続部324は、同一ネットワークに属していないAPであって他のネットワークに属するAPを探索すべく、WLAN部31を介して、APとして動作するPCを探索する(ステップS612、613)。すなわち、WLAN部31のSTA部312は、Probe要求を送信する(ステップS614)。このProbe要求に対して、上述のように起動完了したPC2のAP部211は、Probe応答を携帯電話3のWLAN部31に通知する(ステップS615)。このPC2からのProbe応答には、PC2の通常動作のSSIDに識別子が付加されたクイックモードSSIDが含まれる。そして、WLAN部31のSTA部312は、このPC2からのProbe応答と共に所定時間内に取得したProbe応答を探索結果としてクイック接続部324に通知する(ステップS616)。
そして、WLAN部31のSTA部312から探索結果を取得したクイック接続部324は、探索結果の中からクイックモードSSIDを抽出する(ステップS617)。すなわち、クイック接続部324は、「!RN_」、「!RD_」、「!RM_」、「!FN_」、「!FD_」または「!FM_」から始まるSSIDを抽出する。
そして、携帯電話3のクイック接続部324は、SSIDの抽出結果に基づいて、送信先として指定可能な機器一覧を示す送信先選択画面を表示する(ステップS618)。そして、クイック接続部324は、入力装置を用いたユーザの選択指示に従って、機器一覧から選択された機器を送信先機器として選択する(ステップS619)。ここでは、ユーザが機器一覧から機器A、機器Bおよび機器Cの3台を送信先機器として選択したものとする。クイック接続部324は、ユーザによる選択結果を基に、機器A、機器Bおよび機器Cを送信先として順次選択してファイル送信処理を実行することとなる。なお、携帯電話3のクイック接続部324は、送信先選択画面で選択された機器の情報を連携データ記憶部325に格納する。
携帯電話3のクイック接続部324は、ファイル送信処理を開始する前に、現在のネットワークのプロファイル情報を連携データ記憶部325に記憶する(ステップS620)。これは、クイックモードにおける処理の終了後に、現在のネットワーク接続に戻すためである。
[機器Aへの送信]
携帯電話3のクイック接続部324は、ユーザに選択された送信先機器のうち機器Aを選択して、機器Aを対象にした処理を開始する。クイック接続部324は、パスキーの入力が必要な場合、ユーザに対してパスキーの入力を求める(ステップS621)。本実施例において、SSIDが「!FN_」、「!FD_」または「!FM_」で始まる場合、そのSSIDで示される機器との通信ではパスキーの入力が必要であることを示す。すなわち、クイック接続部324は、選択した機器のSSIDが「!FN_」、「!FD_」または「!FM_」で始まる場合に、ユーザに対してパスキーの入力を求める。
そして、携帯電話3のクイック接続部324は、機器AのSSIDを用いて、特定条件で暗号化キーを自動生成する(ステップS622)。この特定条件は、機器Aにおいて暗号化キーを自動生成した際に用いられる特定条件と同じアルゴリズムである。
そして、携帯電話3のクイック接続部324は、生成した暗号化キーを付加した接続要求を、WLAN部31を介して、PC2に通知する(ステップS623)。なお、パスキーが入力された場合、クイック接続部324は、この接続要求にそのパスキーも含める。すると、携帯電話3のWLAN部31およびPC2のWLAN部21は、通信を開始し、暗号化キーを用いた認証を行う。なお、この際、接続要求にパスキーが含まれる場合、パスキーによる認証も行われる。暗号化キーによる認証、および必要に応じてパスキーによる認証がされると、携帯電話3のWLAN部31とPC2のWLAN部21の間で通信が確立する。そして、機器AのWLAN部21は、通信の確立をクイック接続部221に通知する(ステップS624)。また、携帯電話3のWLAN部31は、接続の完了をクイック接続部321に通知する(ステップS625)。これにより、PC2と携帯電話3との間の認証がされたこととなる。
[機器Aへのダイレクト送信処理]
機器Aと携帯電話3との間で認証がされると、携帯電話3のクイック接続部324は、機器Aに対してファイル受信待ち探索パケットを送信する(ステップS626)。機器Aのクイック接続部224は、ファイルを受信可能な場合、携帯電話3にファイル受信待ち探索パケットに対する応答を送信する(ステップS627)。
携帯電話3のクイック接続部324は、機器Aからのファイル受信待ち探索パケットに対する応答を受信し、機器Aに対して受信可能容量の確認要求を送信する(ステップS628)。機器Aのクイック接続部224は、受信可能容量の確認要求を受信し、自機器の記憶部の受信可能容量(使用可能容量)を確認し、携帯電話3に受信可能容量の確認要求に対する応答を送信する(ステップS629)。機器Aのクイック接続部224は、この応答に、確認した受信可能容量の情報を含める。
携帯電話3のクイック接続部324は、機器Aからの受信可能容量の確認要求に対する応答を受信し、応答に含まれる受信可能容量の情報と送信するファイルの容量を比較し、送信するファイルを機器Aが受信可能と判定されると、機器Aに対してファイルの受信要求を送信する(ステップS630)。機器Aのクイック接続部224は、ファイルの受信要求を受信し、ファイル受信要求に対する応答を、携帯電話3に送信する(ステップS631)。
続いて、携帯電話3のクイック接続部324は、ファイル受信要求に対する応答を受信し、送信するファイルについて、ファイル受信開始通知を機器Aに送信する(ステップS632)。機器Aのクイック接続部224がファイル受信開始通知の受信に応答して携帯電話3に対してファイル取得要求を送信すると(ステップS633)、携帯電話3のクイック接続部324が機器Aに対してファイルを送信する(ステップS634)。
その後、機器Aのクイック接続部224は、全ファイルを受信すると、携帯電話3に対して受信完了通知を送信する(ステップS635)。そして、携帯電話3のクイック接続部324は、機器Aへの送信結果を、連携データ記憶部325に保持する。ここでは、クイック接続部324は、機器Aへの送信が成功したことを送信結果として、連携データ記憶部325に保持する(ステップS636)。なお、ステップS626からステップS636までの処理を、「ダイレクト送信処理」というものとする。つまり、ダイレクト送信処理とは、通信相手となる機器の情報を事前に登録設定しておくことなく、機器間で一時的に接続した後ファイルを送信する処理をいう。
機器Aとのダイレクト送信処理が終了すると、携帯電話3のクイック接続部324は、WLAN部31を介して機器Aとの通信を切断する(ステップS637)。一方、機器Aのクイック接続部224は、WLAN部21にAP部211の停止を指示する(ステップS638)。WLAN部21は、AP部211を停止した後、クイック接続部224に停止完了を通知する(ステップS639)。
そして、機器Aのクイック接続部224は、AP部211の停止完了の通知を受信し、AP部211をクイックモード前の状態に戻す(ステップS640)。すなわち、クイック接続部224は、ステップS605で連携データ記憶部225に保存したAP部211の状態を読み出し、該状態に復帰するようAP部21に指示する。例えば、連携データ記憶部225に記憶されたAP部211の状態が通常動作状態であれば、クイック接続部224は、SSIDを、クイックモードSSIDから通常動作のSSIDに戻すとともに、通常動作の暗号化キーに戻す。この結果、機器Aは、クイックモードへの移行前にネットワークを構成していた他機器とネットワークを再構築することになる。
一方、機器Aと携帯電話3間の通信が切断すると、携帯電話3のクイック接続部324は、WLAN部31から切断完了の通知を受ける(ステップS641)。続いて、携帯電話3のクイック接続部324は、未送信の機器が存在するか否かを判定する(ステップS642)。携帯電話3のクイック接続部324は、連携データ記憶部325に格納されている、送信先機器として選択された各機器を示す情報と、機器に対応したダイレクト送信処理の送信結果を示す情報を利用して、未送信の機器の有無を判定する。未送信の機器が存在しないと判定した場合(ステップS642;No)、クイック接続部324は、送信失敗機器に対してダイレクト送信処理を再実行すべく、処理をステップS683に移行する。
一方、未送信の機器が存在すると判定した場合(ステップS642;Yes)、クイック接続部324は、未送信の機器へのダイレクト送信処理を実行する。ここでは、機器Bが未送信の機器であるので、携帯電話3のクイック接続部324は、選択対象の機器のうち機器Bを選択し、引き続き、機器Bを対象にした処理を開始する。
[機器Bへの送信]
次に、機器Bを対象にした処理において、携帯電話3から機器Bへのダイレクト送信が失敗する場合について説明する。なお、ステップS643からステップS647までの処理は、機器Aを対象にした処理のステップS621からステップS625までの処理と同一であるので、その重複する動作の説明は省略する。
[機器Bへのダイレクト送信処理]
機器Bと携帯電話3との間で認証がされると、携帯電話3のクイック接続部324は、機器Bに対してファイル受信待ち探索パケットを送信する(ステップS648)。機器Bのクイック接続部224は、ファイルを受信可能な場合、携帯電話3にファイル受信待ち探索パケットに対する応答を送信する(ステップS649)。
携帯電話3のクイック接続部324は、機器Bからのファイル受信待ち探索パケットに対する応答を受信し、機器Bに対して受信可能容量の確認要求を送信する(ステップS650)。機器Bのクイック接続部224は、受信可能容量の確認要求を受信し、自機器の記憶部の受信可能容量(使用可能容量)を確認し、携帯電話3に受信可能容量の確認要求に対する応答を送信する(ステップS651)。機器Bのクイック接続部224は、この応答に、確認した受信可能容量の情報を含める。携帯電話3のクイック接続部324は、機器Bから受信可能容量の確認要求に対する応答を受信し、応答に含まれる受信可能容量の情報と送信するファイルの容量を比較し、送信するファイルを機器Bが受信できないと判定すると、受信容量関連のエラーとして処理をステップS656に移行する。
一方、携帯電話3のクイック接続部324は、機器Bからの受信可能容量の確認要求に対する応答を受信し、上記比較によって、送信するファイルを機器Bが受信可能と判定すると、機器Bに対してファイルの受信要求を送信する(ステップS652)。ここで、機器Bのクイック接続部224がファイル受信要求に対して応答しなかった場合、携帯電話3のクイック接続部324は、ファイル受信要求に対して所定時間内での応答の未受信を理由にして、機器Bに対してファイルを送信できないと判定し、処理をステップS656に移行する。
一方、機器Bのクイック接続部224がファイル受信要求に対して応答すると(ステップS653)、携帯電話3のクイック接続部324は、ファイル受信要求に対する応答を受信し、送信するファイルについて、ファイル受信開始通知を機器Bに送信する(ステップS654)。ここで、機器Bのクイック接続部224がファイル取得要求を発行しなかった場合、携帯電話3のクイック接続部324は、ファイル受信開始通知に対して所定時間内でのファイル取得要求の未受信を理由にして、機器Bに対してファイルを送信できないと判定し、処理をステップS656に移行する。携帯電話3のクイック接続部324は、受信容量関連のエラー、ファイル受信要求に対する応答の未受信、ファイル取得要求の未受信のいずれかの状態の場合、機器Bへのファイル送信が失敗した旨の送信結果を、連携データ記憶部225に保持する(ステップS656)。
機器Bとのダイレクト送信処理が失敗すると、携帯電話3のクイック接続部324は、WLAN部31を介して機器Bとの通信を切断する(ステップS657)。一方、機器Bのクイック接続部224は、上記のいずれかの理由によりファイルの受信が失敗したので、携帯電話3による再送信処理を待つべく、ファイルの受信待ち状態を保持する(ステップS658)。
機器Bと携帯電話3間の通信が切断すると、携帯電話3のクイック接続部324は、WLAN部31から切断完了の通知を受ける(ステップS659)。続いて、携帯電話3のクイック接続部324は、未送信の機器が存在するか否かを判定する(ステップS660)。携帯電話3のクイック接続部324は、上述した連携データ記憶部325に保持されている情報を基に未送信の機器の有無を判定できる。未送信の機器が存在しないと判定した場合(ステップS660;No)、クイック接続部324は、送信失敗機器に対してダイレクト送信処理を再実行すべく、処理をステップS683に移行する。
一方、未送信の機器が存在すると判定した場合(ステップS660;Yes)、クイック接続部324は、未送信の機器へのダイレクト送信処理を実行する。上述したように、クイック接続部324は、連携データ記憶部325に格納されている情報を基に未送信の機器を特定できる。ここでは、機器Cが未送信の機器であるので、携帯電話3のクイック接続部324は、選択対象の機器のうち機器Cを選択すると、引き続き、機器Cを対象にした処理を開始する。
[機器Cへの送信]
ステップS661からステップS681までの処理は、機器Aを対象にした処理のステップS621からステップS641までの処理と同一であるので、その重複する動作の説明は省略する。ここでは、携帯電話3から機器Cへのダイレクト送信は、成功したものとする。
機器Cと携帯電話3間でダイレクト送信処理が成功し、通信が切断すると、携帯電話3のクイック接続部324は、未送信の機器が存在するか否かを判定する(ステップS682)。携帯電話3のクイック接続部324は、上述した連携データ記憶部325に保持されている情報を基に未送信の機器の有無を判定できる。未送信の機器が存在すると判定した場合(ステップS682;Yes)、クイック接続部324は、未送信の機器を対象にしたダイレクト送信処理に移行する。一方、未送信の機器が存在しないと判定した場合(ステップS682;No)、クイック接続部324は、送信失敗機器に対してダイレクト送信処理を再実行すべく、処理をステップS683に移行する。
そして、携帯電話3のクイック接続部324は、送信失敗機器が存在するか否かを判定する(ステップS683)。携帯電話3のクイック接続部324は、上述した連携データ記憶部325に保持されている情報を基に送信失敗機器の有無を判定できる。送信失敗機器が存在すると判定した場合(ステップS683;Yes)、クイック接続部324は、送信失敗機器へ再送信を行ったか否かを判定する(ステップS684)。詳細は後述されるが、連携データ記憶部325に再送信結果が保持されており、クイック接続部324はその再送信結果を参照して再送信の実施有無を判定できる。送信失敗機器へ再送信を行っていないと判定した場合(ステップS684;No)、クイック接続部324は、連携データ記憶部325に保持された送信失敗結果を確認する(ステップS685)。ここでは、クイック接続部324は、機器Bが失敗していることを確認する。
[機器Bへの再送信]
携帯電話3のクイック接続部324は、機器Bへのファイル送信が失敗に終わり、かつ機器Bへの再送信が実行されていないことを確認した結果、機器Bへの再送信を実行する。なお、ステップS686からステップS699までの処理は、機器Aを対象にした処理のステップS622からステップS635までの処理と同一であるので、その重複する動作の説明は省略する。
そして、携帯電話3と機器B間でダイレクト送信処理が実行され、携帯電話3のクイック接続部324が、機器Bから受信完了通知を受信すると、機器Bへの送信が成功したことを送信結果として、連携データ記憶部225に保持する(ステップS700−1)。一方、携帯電話3のクイック接続部324が、携帯電話3から受信可能関連のエラーを受信した場合には、機器Bへの送信が再度失敗したこととその失敗原因とを送信結果として、連携データ記憶部225に保持する。また、携帯電話3のクイック接続部324が、ファイル受信要求に対する応答がなかった場合には、機器Bへの送信が再度失敗したこととその失敗原因とを送信結果として、連携データ記憶部225に保持する。さらに、携帯電話3のクイック接続部324が、ファイル取得要求の発行がなかった場合には、機器Bへの送信が再度失敗したこととその失敗原因とを送信結果として、連携データ記憶部225に保持する(ステップS700−2)。
機器Bとのダイレクト再送信処理が終了すると、携帯電話3のクイック接続部324は、WLAN部31を介して機器Bとの通信を切断する(ステップS701)。一方、機器Bのクイック接続部224は、WLAN部21にAP部211の停止を指示する(ステップS702)。WLAN部21は、AP部211を停止した後、クイック接続部224に停止完了を通知する(ステップS703)。
そして、機器Bのクイック接続部224は、AP部211の停止完了の通知を受信し、AP部211をクイックモード前の状態に戻す(ステップS704)。すなわち、クイック接続部224は、ステップS605で連携データ記憶部225に保存したAP部211の状態を読み出し、該状態に復帰するようAP部21に指示する。例えば、連携データ記憶部225に記憶されたAP部211の状態が通常動作状態であれば、クイック接続部224は、SSIDを、クイックモードSSIDから通常動作のSSIDに戻すとともに、通常動作の暗号化キーに戻す。この結果、機器Bは、クイックモードへの移行前にネットワークを構成していた他機器とネットワークを再構築することになる。
一方、機器Bと携帯電話3間の通信が切断すると、携帯電話3のクイック接続部324は、WLAN部31から切断完了の通知を受ける(ステップS705)。そして、携帯電話3のクイック接続部324は、さらに送信失敗機器があれば、その送信失敗機器を対象にした再送信処理を実行すべく、処理をステップS683に移行する。
ステップS683に戻って、携帯電話3のクイック接続部324は、送信失敗機器が存在しないと判定した場合(ステップS683;No)、クイックモードにおける処理を終了するために、処理をステップS706に移行する。また、携帯電話3のクイック接続部324は、送信失敗機器が存在しており、すべての送信失敗機器へ再送信を行ったと判定した場合(ステップS684;Yes)、クイックモードにおける処理を終了するために、処理をステップS706に移行する。
そして、携帯電話3のクイック接続部324は、送信完了メッセージを携帯電話3の画面に表示する(ステップS706)。そして、クイック接続部324は、ステップS620にて記憶されているクイックモード前のネットワークのプロファイル情報を連携データ記憶部325から読み出して該プロファイル情報を利用して再接続し(ステップS707)、連携部32のトップ画面となるPC連携選択画面を表示する(ステップS708)。
[クイックモードにおける処理シーケンスで用いられる画面の一例]
図17Aは、ダイレクト受信開始画面の一例を示す図である。図17Aに示すように、PC2で受信BOXが選択されると、PC2は、携帯電話3からファイルを受信するために、ダイレクト受信ボタンを表示する。図17Aでは、PC2は、写真、動画などのファイルを携帯電話3から取り込むことができる。
図17Bは、ファイル受信画面の一例を示す図である。図17Bに示すように、PC2は、携帯電話3からファイルを受信する前に、受信確認メッセージを表示する。さらに、PC2は、ファイルの受信中に既に構築されているネットワークを一時的に切断することがある旨のメッセージを表示する。
図17Cは、外出先モード画面の一例を示す図である。図17Cに示すように、PC2は、携帯電話3からファイルを受信する前に、外出先などの公共の場所で接続する場合に備えて、パスキーの入力をユーザに促すメッセージを表示する。そして、PC2は、パスキーを入力するためのテキストボックスを表示する。ユーザが、図17Cの画面においてパスキーを入力したうえで、携帯電話3からファイルを受信するために携帯電話3との自動接続を開始指示することで、PC2は暗号化キーによる認証に加えてさらにセキュリティーが強化された通信(ダイレクト受信)を実行する。なお、ユーザが図17Cの画面においてパスキーを入力しないで自動接続を開始すると、PC2は暗号化キーによる認証でセキュリティーを確保した通信(ダイレクト受信)を実行することになる。
図17Dは、ファイル選択画面の一例を示す図である。図17Dに示すように、携帯電話3は、PC2にダイレクト送信することができるファイルを表示する。ユーザは図17Dのファイル選択画面を操作して、写真、動画、音楽データなどの任意のファイルを選択し、携帯電話3はユーザのこの選択操作に基づき選択されたファイルをPC2に送信することができる。
図17Eは、送信先選択画面の一例を示す図である。図17Eに示すように、携帯電話3は、選択されたファイルをダイレクト送信可能な送信先となる機器一覧を表示する。ユーザは図17Eのように表示された機器一覧の中から任意の送信先機器を選択し、携帯電話3はユーザのこの選択操作に基づき送信先機器に対してファイルをダイレクト送信する。送信先の選択について、携帯電話3は、一度に複数の送信先を選択できるものとしても良いし、1個ずつ送信先を選択できるものとしても良い。
なお、実施例では、携帯電話3がステーション(STA)として動作するものとして説明した。しかしながら、携帯電話3は、アクセスポイント(AP)として動作していても良い。この場合には、携帯電話3のクイック接続部324は、APとして動作するPCを探索する(ステップS612)前に、AP部311の停止をWLAN部31に依頼する。そして、クイック接続部324は、AP部311の停止が完了したことを受けて、STA部312の起動をWLAN部31に依頼する。そして、クイック接続部324は、STA部312の起動が完了したことを受けて、APとして動作するPCを探索すべく、ステップS612に移行すれば良い。
[ソフトウェア構成]
次に、PC2および携帯電話3間の連携を実現するためのソフトウェアの構成について説明する。図18は、ソフトウェア構成を示す図である。図18に示すように、PC2および携帯電話3間の連携を実現するためのソフトウェアは、OS810、ドライバ820およびアプリケーション830を有する。OS810、ドライバ820、アプリケーション830は、ハードウェア800と協働して連携処理を実現する。
ドライバ820には、WLANプログラム820が含まれる。PC2において実行されるWLANプログラム820は、図3に示したWLAN部21の機能を実現する。また、携帯電話3において実行されるWLANプログラム820は、図3に示したWLAN部31の機能を実現する。このWLANプログラム820は、STAプログラム821aおよびAPプログラム821bを含む。PC2において実行されるSTAプログラム821aおよびAPプログラム821bは、図3に示したSTA部212およびAP部211の各機能を実現する。また、携帯電話3において実行されるSTAプログラム821aおよびAPプログラム821bは、図3に示したSTA部312およびAP部311の各機能を実現する。
アプリケーション830には、連携プログラム831が含まれる。PC2において実行される連携プログラム831は、図3に示した連携部22の機能を実現する。また、携帯電話3において実行される連携プログラム831は、図3に示した連携部32の機能を実現する。連携プログラム831は、WLANプログラム821を用いて他の情報通信機器と連携を行う。すなわち、PC2(または携帯電話3)の連携プログラム831は、携帯電話3(またはPC2)の連携プログラム831と連携処理を実行する。
[携帯電話のハードウェア構成]
図19は、携帯電話のハードウェア構成を示す図である。図19に示すように、携帯電話900は、無線通信部910と、表示部920と、音声入出力部930と、入力部940と、プロセッサ950と、記憶部960とを有する。無線通信部910、表示部920、音声入出力部930、入力部940および記憶部960は、それぞれプロセッサ950と接続されている。
記憶部960は、プログラム記憶部961と、データ記憶部962と、RAM(Random Access Memory)963とを有する。プログラム記憶部961には、図3に示した連携部32の機能を実現する連携プログラム831などのプログラムが記憶される。データ記憶部962には、図4に示した連携データ記憶部225に記憶されるSSID、暗号化キー、機器情報および設定情報など各種データが記憶される。なお、記憶部960は、例えば、RAM、フラッシュメモリ(flash memory)などの半導体メモリ素子、または、ハードディスク(HDD:Hard Disk Drive)、光ディスクなどの記憶装置である。
プロセッサ950は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。そして、プロセッサ950が連携プログラム831などのプログラムを記憶部960から読み出してRAM963にロードすることにより、連携プログラム831などのプログラムは、連携プロセスなどのプロセスとして機能するようになる。そして、連携プロセスは、データ記憶部962から読み出した情報などを適宜RAM963上の自身に割り当てられた領域にロードし、このロードしたデータなどに基づいて各種データ処理を実行する。
[PCのハードウェア構成]
図20は、PCのハードウェア構成を示す図である。図20に示すように、PC1000は、RAM1010と、ネットワークインタフェース装置1020と、HDD1030と、CPU1040、媒体読取装置1050およびバス1060とを有する。RAM1010、ネットワークインタフェース装置1020、HDD1030、CPU1040、媒体読取装置1050は、バス1060によって接続されている。
そして、HDD1030には、図3に示した連携部32の機能を実現する連携プログラム831などのプログラムが記憶される。また、HDD1030には、図4に示した連携データ記憶部225に記憶されるSSID、暗号化キー、機器情報および設定情報など各種データが記憶される。
そして、CPU1040が連携プログラム831をHDD1030から読み出してRAM1010にロードすることにより、連携プログラム831は、連携プロセスとして機能するようになる。そして、連携プロセスは、HDD1030から読み出した情報などを適宜RAM963上の自身に割り当てられた領域にロードし、このロードしたデータなどに基づいて各種データ処理を実行する。
媒体読取装置1050は、連携プログラム831などのプログラムがHDD1030に記憶されていない場合であっても、プログラムを記憶する媒体などから連携プログラム831などのプログラムを読み取る。媒体読取装置1050には、例えばCD−ROMや光ディスク装置がある。
ネットワークインタフェース装置1020は、外部装置とネットワーク経由で接続する装置であり、無線に対応する装置である。
なお、上記の連携プログラム831は、公衆回線、インターネット、LAN、WAN(Wide Area Network)などを介してPC1000に接続される他のコンピュータ(またはサーバ)などに記憶されるようにしても良い。この場合には、PC1000がネットワークインタフェース装置1020を介して他のコンピュータなどから連携プログラム831を読み出して実行する。
[実施例の効果]
実施例では、PC2の連携部22は、無線通信のAPとして通常動作する場合に用いるSSIDに装置の識別に用いられる識別子を付与する。そして、連携部22は、ステーション機能を実行する携帯電話3からAPの探索要求を受信したとき、該付与した結果得られた新たなSSID(セットアップモードSSID)を探索要求の応答として送信する。かかる構成によれば、連携部22は、APの探索要求の応答として装置の識別に用いられる識別子を付与した新たなSSIDを送信することとしたので、探索要求を送信した携帯電話3にAPの装置を識別させることができる。この結果、連携部22は、ステーション機能を実行する携帯電話3から、意図したAPに接続させることが可能となる。
また、実施例では、連携部22は、無線通信のAPとして通常動作する場合に用いるSSIDに、動作モードに応じた識別子を付与する。かかる構成によれば、連携部22は、通常動作する場合に用いるSSIDに動作モードに応じた識別子を付与することとしたので、付与した新たなSSIDを受信する携帯電話3に通常接続するAPを排除させることができる。この結果、連携部22は、ステーション機能を実行する携帯電話3から、意図したAPに接続させることが可能となる。
また、実施例では、連携部22は、無線通信のAPとして通常動作する場合に用いるSSIDに、自装置のカテゴリに応じた識別子を付与する。かかる構成によれば、連携部22は、SSIDに自装置のカテゴリに応じた識別子を付与することとしたので、付与した新たなSSIDを受信する携帯電話3にAPの装置のカテゴリによって接続したいAPを識別させることができる。この結果、連携部22は、ステーション機能を実行する携帯電話3から、意図したAPに接続させることが可能となる。
また、実施例では、連携部22は、無線通信のAPとして通常動作する場合に用いるSSIDに、ステーション機能を実行中の携帯電話3にパスワードを要求するか否かを示す識別子を、さらに付与する。かかる構成によれば、連携部22は、SSIDにパスワードを要求するか否かを示す識別子を付与することとしたので、ステーション機能を実行中の携帯電話3との接続におけるセキュリティーを強化することができる。
また、実施例では、ステーション機能を実行中の連携部32は、APの探索要求を送信する。そして、連携部32は、該送信した探索要求の応答として、AP機能を実行する情報通信機器から、装置の識別に用いられる識別子を付与した新たなSSID(セットアップモードSSID)を受信する。そして、連携部32は、該受信した新たなSSIDを用いて、新たなSSIDを送信した情報通信機器との間で接続を確立する。かかる構成によれば、連携部32は、APの装置の識別に用いられる識別子を付与した新たなSSIDを受信するので、新たなSSIDに基づいて接続したいAPの装置を識別することができる。この結果、連携部32は、誤って意図しないAPの装置に接続することを抑止できる。
また、実施例では、連携部32は、該受信した新たなSSIDを用いて、AP機能を実行する情報通信機器が暗号化キーを生成する際に用いられる特定条件と同一の条件で暗号化キーを生成する。そして、連携部32は、生成した暗号化キーを用いて、情報通信機器との間で接続を確立する。かかる構成によれば、連携部32は、新たなSSIDを用いて、APの情報通信機器と同一の特定条件で暗号化キーを自動生成することとしたので、情報通信機器との間で容易に接続を確立できる。
また、実施例では、連携部32は、接続を確立する処理後であって一定のハンドシェイクが完了した後、新たなSSIDに含まれる、通常動作のSSIDを用いて、新たなSSIDにより接続を確立した情報通信機器との間で再び接続を確立する。かかる構成によれば、連携部32は、新たなSSIDを用いて接続を確立した後、接続を確立した機器との間で、通常動作のSSIDを用いて再び接続することとしたので、接続したいAPと確実に接続を確立できる。
また、実施例では、連携部32は、ハンドシェイクが完了した後、新たなSSIDおよび新たなSSIDを用いて生成した暗号化キーを削除する。かかる構成によれば、連携部32は、ハンドシェイクが完了した結果、APの装置の機器情報を知り得ることとなるので、通常動作する場合に不要な情報を削除することができる。この結果、連携部32は、使用可能な記憶容量を増加させることができる。
また、実施例では、連携部32は、同一識別子を有する複数の新たなSSIDを受信したとき、それぞれの新たなSSIDの中から任意のSSIDを選択させる。かかる構成によれば、連携部32は、同一識別子を有する複数の新たなSSIDを受信したとき、APの装置を選択させることができるので、意図するAPに接続することが可能となる。
また、実施例では、PC2の連携部22は、無線通信のステーション機能を実行する携帯電話3から機器情報と無線LANの情報の送信を要求されると、無線通信のアクセスポイント機能を実行する自機器における情報を携帯電話3に送信する。そして、PC2の連携部22は、送信した情報の受取完了通知を携帯電話3から受信すると、携帯電話3に対して機器情報と無線LANの情報の送信を要求する。かかる構成によれば、PC2の連携部22は、自機器における機器情報と無線LANの情報を携帯電話3に送信するので、携帯電話3に対して自機器における無線通信の接続に用いられる情報を伝達できる。また、PC2の連携部22は、携帯電話3に対して機器情報と無線LANの情報の送信を携帯電話3に要求するので、携帯電話3における無線通信の接続に用いられる情報を受信することが可能となる。この結果、無線通信を行うPC2と携帯電話3は、無線通信の接続に用いられる互いの情報を取得することができる。
また、実施例では、PC2の連携部22は、機器情報と無線LANの情報の送信要求に対する応答として携帯電話3の情報を受信すると、受信した情報を連携データ記憶部225に記憶する。かかる構成によれば、PC2の連携部22は、携帯電話3における無線通信の接続に用いられる情報を記憶するので、将来PC2と携帯電話3間でAPとステーションの機能が入れ替わっても、簡略に接続することが可能となる。
また、実施例では、PC2の機器連携部222が、設定情報ファイルを携帯電話3から取得し、取得した設定情報ファイルの情報に基づいて、携帯電話3との連携機能、すなわち携帯電話3から取り込めるデータを表示する。したがって、携帯電話3のユーザが望まないデータがPC2に取り込まれることを防ぐことができる。
また、実施例では、携帯電話3の連携部32は、複数のPC2と連携可能な状態においてユーザによって選択された1台のPC2のみと接続を確立するよう動作し、選択された1台のPC2は携帯電話3の機器情報が自機器に登録されていることを確認してその接続を確立するよう動作する。このようにして接続が確立された後、携帯電話3と1台のPC2間で機器連携処理が実行される。このため、携帯電話3においては連携可能であっても不要なPC2(データを送るべきでないPC)へのデータ送信が防止され、また、PC2においては携帯電話3からの不要なデータの取り込みが防止される。よって、携帯電話3内のデータが無関係な機器に流出することなく、データのプライバシーが確保される。
また、実施例では、インターネット接続部223および323が、PC2がAPとして動作し、携帯電話3がSTAとして動作するPC−携帯電話連携を解消し、PC2をSTAとして動作させ、携帯電話3をAPとして動作させる。そして、インターネット接続部223および323は、PC2を携帯電話3を介してインターネットに接続する。したがって、ユーザは、PC2と携帯電話3の間でAPとSTAを簡単に切り替えることができる。このため、ユーザは、PC−携帯電話連携のセットアップを行っておくだけで、屋外などPC2がネットワークに接続されていない場合にも、PC2から簡単にインターネットを利用することができる。
また、実施例では、携帯電話3のクイック接続部324は、APの機器を探索し、該探索に対して応答のあった機器のうちダイレクト受信の実行待ち状態にある機器を抽出し、その抽出された機器の中からユーザによって選択された複数の機器それぞれについて、ダイレクト受信の実行待ち機器において接続を許可する接続情報に基づき接続の確立とデータの送信を実行する。かかる構成によれば、携帯電話3のクイック接続部324は、データの送信先機器それぞれに関する設定情報を事前登録しておく必要なく、複数の機器に接続し、それら機器に簡単にデータを送信することができる。
また、実施例では、携帯電話3のクイック接続部324は、ダイレクト受信の実行待ち状態にある機器への接続情報として、該機器が暗号化キーを生成する際に用いる所定の条件と同一の条件で生成した暗号化キーを用いる。かかる構成によれば、携帯電話3のクイック接続部324は、ダイレクト受信の実行待ち状態にある機器と同一の所定の条件で暗号化キーを自動生成することとしたので、該機器について事前にセットアップ(認証登録)することなくセキュリティーを保った状態での一時的な接続を確立できる。
また、実施例では、携帯電話3のクイック接続部324は、データ送信対象として複数の機器のうちある対象の機器に対してデータの送信ができなかった場合に、その送信ができなかった時点では再送信処理を実行せず、複数の機器のうちの他の対象の機器へデータを送信するための処理に移行する。そして、クイック接続部324は、判定処理により複数の機器全てに対してデータの送信処理を実行したと判定された後、データを送信できなかった対象の機器に対して接続を確立する処理、データの送信処理を再び実行する。かかる構成によれば、複数の対象の全ての機器に対してデータの送信処理を実行している間に、データを送信できなかった不具合の原因が解消され、データの再送信処理にて送信成功となる可能性が高くなる。例えば、送信未完となった原因が受信容量関連のエラーであれば、連携対象の機器において受信可能容量の確保作業により、そのエラーの原因が解消しうる。また、例えば、送信未完となった原因がクイック接続部324からのファイル受信要求に対する応答の未受信やファイル取得要求の未受信であれば、PC2の処理負荷軽減やネットワークの輻輳解消などにより、その原因が解消しうる。また、上述のような再送信処理によって、対象の全ての機器にデータを送信するまでの時間は短くなる。
[その他]
また、実施例では、n台のPCと1台の携帯電話を連携する場合について説明したが、本発明はこれに限定されるものではなく、n台のPCとm(mは2以上)台の携帯電話を連携する場合にも同様に適用することができる。
また、実施例では、PCと携帯電話を連携する場合について説明したが、本発明はこれに限定されるものではなく、例えば、PCとPC、携帯電話と携帯電話、携帯電話と他の機器を連携するなど、無線LAN機能を備えた機器間で連携する場合にも同様に適用することができる。