(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
図1に本実施形態に係る通信システムのネットワーク構成を示す。プリンタ101は、通信装置の一例であり、IEEE802.11シリーズに準拠した通信を行う。カメラ102および103は、他の通信装置の一例であり、プリンタ101とIEEE802.11シリーズに準拠した通信を行う。なお、通信装置および他の通信装置はこれに限らず、ストレージや携帯電話(スマートフォンを含む)、PC、医療機器等、他の装置であってよい。カメラ102は後述する第1の所定のサービスを提供可能であり、カメラ103は当該第1の所定のサービスを提供しない。
【0011】
図2に、プリンタ101のハードウェア構成を示す。なお、
図2に示す複数のハードウェアモジュールの1つのハードウェアモジュールとして実現してもよい。また、
図2に示す1つのハードウェアモジュールを複数のハードウェアモジュールとして実現してもよい。
【0012】
記憶部201はROM、RAMにより構成され、後述する各種動作を行うためのプログラム(OSを含む)や、画像データ、通信パラメータ等の各種情報を記憶する。なお、記憶部201として、ROM、RAM等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、DVDなどの記憶媒体を用いてもよい。制御部202はCPU、または、MPUにより構成され、記憶部201に記憶されたプログラムを実行することによりプリンタ101全体を制御する。なお、制御部202が実行しているOS(Operating System)との協働によりプリンタ101全体を制御するようにしてもよい。
【0013】
ユーザインターフェース部(以下、UI部)203は、各種情報の表示や、ユーザからの各種操作の受付を行う。通信部204は、アンテナ205を介してIEEE802.11シリーズに準拠した通信を行う。電源部206であり、
図2に記載された各ハードウェアモジュールに電力を供給する。なお、電源部206は供給する電力を商用電源から取得するが、これに限らず、内臓バッテリーを有する構成としてもよい。プリント部207は、記憶部201に記憶された画像データを印刷して出力する。なお、カメラ102から受信した画像データについても、記憶部201が一時的に記憶して、プリント部207から出力可能である。
【0014】
図3に、プリンタ101の制御部202が記憶部201に記憶されているプログラムを読み出すことで実現されるソフトウェアモジュールを示す。なお、
図3に示す複数のソフトウェア機能ブロックの1つのソフトウェアモジュールとして実現してもよい。また、
図3に示す1つのソフトウェアモジュールを複数のソフトウェアモジュールとして実現してもよい。更に、
図3に示すソフトウェアモジュールの少なくとも一部をハードウェアモジュールにより実現してもよい。例えば、所定のコンパイラを用いることで、ソフトウェアモジュールを実現するためのプログラムからFPGA上に自動的に専用回路を生成し、これを当該ソフトウェアモジュールの機能を有するハードウェアモジュールとして用いればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアモジュールとして実現するようにしてもよい。
【0015】
起動部300は、後述する第1のサービス部301を起動する。301は第1のサービス部であり、後述するロック部302、判定部306、問合せ部307、検索設定部309を含む。
【0016】
ロック部302は、プリンタ101の通信部204が他の通信装置との通信に利用可能であり、TCPで規定されたポートをロックする。探索部303は、プリンタ101の周囲に存在するカメラを探索する。表示制御部304は、UI部203に検出された装置の情報を表示させる。選択部305はUI部203を用いて、検出された装置のうち、いずれの装置と接続するかをユーザに選択させる。
【0017】
判定部306は、ユーザにより選択された装置が第1の所定のサービスを提供可能であるか否かを判定する。問合せ部307は、ユーザにより選択された装置が提供するサービスの詳細を問い合わせる。接続部308は、Wi−Fi Directで規定された所定の接続手順に従って他の通信装置と無線接続処理を行う。検索設定部309は、UPnPもしくはmDNSに準拠したサービス検索を行うか否かを判定する。ここで、UPnPとはUniversal Plug and Playの略である。また、mDNSとはmulticast DNS(Domain Name System)の略である。第2のサービス部310は、接続した他の通信装置と協働して所定のサービス処理を実行する。
【0018】
切断部311は、他の通信装置との切断処理を行う。停止部312は、第1のサービス部301を停止する。解除部313は、ロック部302によりロックされたポートのロックを解除する。検索部314はUPnPもしくはmDNSに準拠したサービス検索を行う。
【0019】
本実施形態では、第1のサービス部301は接続部308により無線接続されたレイヤよりも更に上位のレイヤ(層)で動作するプラットフォームである。即ち、第1のサービス部301による通信は接続部308による無線接続を用いて行われる。また、第1のサービス部301の更に上位レイヤに他のサービス機能部を用いて通信するようにしてもよい。なお、第1のサービス部301のレイヤと接続部308により無線接続されるレイヤとが同一のレイヤで動作するようにしてもよい。
【0020】
図4に、プリンタ101がカメラ102と接続し、カメラ102から受信したデータを出力する際に、プリンタ101の制御部202が記憶部201に記憶されている前述のプログラムを読み出すことで実現されるフローチャートを示す。
【0021】
まず、制御部202は、ユーザによるUI部203への操作に応じて、第1のサービス部301を起動する(S401)。当該操作は、例えば接続を指示するための操作である。第1のサービス部301が起動すると、ロック部302はプリンタ101の通信部204が他の通信装置との通信に利用可能であり、TCPで規定されたポートをロックする(S402)。ここで、TCPはTransmission Control Protocolの略である。ここでは、所定のポート以外のポートがロックされる。ロックされたポートについてロック部302は記憶部201に
図5(d)のようにロックしたポートとロック状態を示す情報とを関連付けて記憶させる。なお、
図5(d)では、代表的な3つのポートを例示しているが、これに限らず、もっと多くのポートが用意されているのが一般的である。このようにポートをロックすることで、意図しない相手からアクセスされる可能性を低減することができる。従って、プリンタ101の処理負荷が不必要に大きくなる可能性を低減させることができると共に、セキュリティを向上させることができる。
【0022】
次に、探索部303は、プリンタ101の周囲に存在するカメラを探索するための探索信号をブロードキャストにより送信する(S403)。ここで探索信号とは、例えばIEEE802.11シリーズで規定されたProbe Requestである。プリンタ101からの探索信号を受信したカメラ102および103は、当該探索信号に対する応答信号を送信する。そして、探索部303は、カメラ102および103の各々からの応答信号を受信する(S404)。ここで応答信号とは、例えばIEEE802.11シリーズで規定されたProbe Responseである。
【0023】
本願の探索では、上述の探索信号と応答信号とを用いることで、第1の所定のサービスを提供可能な装置と、第1の所定のサービスを提供しない装置とを区別して探索することができる。これは、以下のようにして実現することができる。プリンタ101は、探索信号中に第1の所定のサービスに関する情報を含めて送信し、当該第1の所定のサービスを提供可能な装置は応答信号中に該第1の所定のサービスを提供可能であることを示す情報を含めて送信する。一方で、該第1の所定のサービスを提供しない装置は応答信号中に該第1の所定のサービスを提供可能であることを示す情報を含めずに送信する。なお、これに代えて、該第1の所定のサービスを提供しない装置が応答信号中に該第1の所定のサービスを提供しないことを示す情報を含めて送信するようにしてもよい。
【0024】
ここでは、第1の所定のサービスを提供可能な装置としてカメラ102が検出され、第1の所定のサービスを提供しない装置としてカメラ103が検出される。探索部303は、検出された装置情報と当該装置が第1の所定のサービスを提供可能であるか否かの情報とを関連付けて記憶部201に記憶させる。
図5(a)に、探索部303による探索の結果、記憶部201に記憶される情報を示す。
【0025】
次に、表示制御部304は、記憶部201に記憶された情報を読み出して、UI部203に検出された装置の情報を
図6に示すように表示させる(S405)。ここでは、表示制御部304はカメラ102の情報とカメラ103の情報をUI部203に表示させる。そして、選択部305はUI部203を用いて、検出された装置のうち、いずれの装置と接続するかをユーザに選択させる(S406)。
【0026】
まず、ユーザが、第1の所定のサービスを提供可能なカメラ102を選択した場合について説明する。ユーザにより装置が選択されると、判定部306はユーザにより選択された装置が第1の所定のサービスを提供可能であるか否かを判定する(S407)。該判定は、判定部306が記憶部201に記憶された情報を読み出すことで行われる。
【0027】
提供可能な場合はS408に進み、提供しない場合にはS410に進む。ここでは、ユーザにより選択されたカメラ102は第1の所定のサービスを提供可能なのでS408に進む。
【0028】
S408において、問合せ部307はユーザにより選択された装置(ここでは、カメラ102)が提供するサービスの詳細を問い合わせる信号(問合せ信号)をユニキャストにより送信する。ここで問合せ信号とは、例えばWi−Fi Directで規定されたService Discovery Query(以下、SD Query)である。カメラ102はSD Queryを受信すると、その応答信号を送信する。ここで応答信号とは、例えばWi−Fi Directで規定されたService Discovery Response(以下、SD Response)であり、カメラ102が提供する全てのサービス情報が含まれている。
【0029】
問合せ部307は、カメラ102から応答信号(例えば、SD Response)を受信し、カメラ102が提供する全てのサービス情報を取得する(S409)。ここでは、カメラ102が提供するサービス情報として、印刷画像送信サービス、画像共有サービス、および、遠隔撮影サービスがあるものとする。これらのサービスの各々を第2のサービスと呼ぶ。問合せ部307は、更に、装置情報と取得したサービス情報とを関連付けて記憶部201に記憶させる。
図5(b)に、問合せ部307による探索の結果、記憶部201に記憶される情報を示す。
【0030】
その後、接続部308はWi−Fi Directで規定された所定の接続手順に従ってカメラ102と接続処理を行う(S410)。以下、Wi−Fi Directで規定された所定の接続手順を、
図7を用いて簡単に説明する。
【0031】
まず、接続部308は、プリンタ101とカメラ102のいずれが無線LANアクセスポイント(基地局)として動作し、いずれが無線LANクライアント(端末)として動作するかを決定する(S701)。無線LANアクセスポイントとして動作する装置をWi−Fi DirectではGroup Owner(以下、GO)と呼び、無線LANクライアントとして動作する装置をClient(以下、CL)と呼ぶ。
【0032】
GOとなった装置は(S702のYes)、自装置が生成する無線ネットワークで用いられる通信パラメータを提供するRegistrarとして動作し(S703)、通信相手装置に対して通信パラメータを提供する(S704)。ここで、自装置が生成する無線ネットワークで用いられる通信パラメータには、SSID(ネットワーク識別子)、暗号鍵、暗号方式、認証鍵、認証方式、周波数チャネルが含まれる。また、RegistrarとはWPS(Wi−Fi Protected Setup)により規定された通信パラメータ提供装置を示す。
【0033】
そして、GOとなった装置は、通信相手装置から接続要求信号を受信する(S705)。ここで、当該接続要求信号はIEEE802.11シリーズで規定されたAssociation Request信号である。更に、GOとなった装置は、IPアドレスを提供するDHCPサーバとして動作し(S706)、通信相手装置のIPアドレスを決定して提供する(S707)。
【0034】
一方、CLとなった装置は(S702のNo)、Registrarとして動作しているGOから通信パラメータを取得するEnrolleeとして動作し(S708)、Registrarから通信パラメータを受信する(S709)。そして、CLは取得した通信パラメータに基づいてIEEE802.11シリーズで規定された接続要求信号を送信し(S710)、GOが生成した無線ネットワークに接続する。
【0035】
更に、CLとなった装置は、IPアドレスを取得するDHCPクラアントとして動作し(S711)、DHCPサーバからIPアドレスを取得する(S712)。
【0036】
プリンタ101とカメラ102の各々が
図7に示す動作を実現することで、プリンタ101とカメラ102との無線接続処理が行われる。
【0037】
無線接続が完了すると、判定部306はユーザにより選択された装置が第1の所定のサービスを提供可能であるか否かを判定する(S411)。該判定は、判定部306が記憶部201に記憶された情報を読み出すことで行われる。ここでは、接続したカメラ102は第1の所定のサービスを提供可能であるので、ステップS416に進む。
【0038】
ステップS416において解除部313は、問合せ部307による問合せの結果で得られたサービスで利用するポートの情報をカメラ102から取得し、取得した情報に基づいて当該ポートのロックを解除する。解除部313は、ロックしたポートのロック状態を示す情報を
図5(e)に示すようにロック状態からアンロック状態(解除状態)に変更して記憶部201に記憶させる。なお、ここではサービスで利用するポートがxxxであったものとして図示している。
【0039】
その後、検索設定部309はUPnP(Universal Plu and Play)もしくはmDNS(multicast DNS)に準拠したサービス検索を行うか否かを判定する(S417)。ここで、UPnPもしくはmDNSに準拠したサービス検索を行うか否かは予めユーザが設定することができ、ユーザの設定を記憶部201が
図5(c)に示すように記憶しておくものとする。検索設定部309は記憶部201に記憶された情報を読み出すことで、UPnPもしくはmDNSに準拠したサービス検索を行うか否かを判定する。なお、予めユーザに設定させるのではなく、ステップS417においてユーザに選択させるように構成してもよい。
【0040】
UPnPもしくはmDNSに準拠したサービス検索を行う場合、ステップS414に進む。ステップS414からの処理については後述する。ここでは、UPnPもしくはmDNSに準拠したサービス検索を行わない場合について説明する。
【0041】
UPnPもしくはmDNSに準拠したサービス検索を行わない場合、ステップS418に進み、第2のサービス部310は接続したカメラ102と協働して所定のサービス処理を実行する。例えば、第2のサービス部310はカメラ102から画像データを受信し、受信した画像データの印刷処理を行う。その後、所定のサービス処理が完了すると、切断部311はカメラ102と切断し(S419)、処理を完了させる。
【0042】
次に、ユーザが、第1の所定のサービスを提供しないカメラ103を選択した場合について説明する。ユーザにより装置が選択されると、判定部306はユーザにより選択された装置が第1の所定のサービスを提供可能であるか否かを判定する(S407)。該判定は、判定部306が記憶部201に記憶された情報を読み出すことで行われる。ここでは、ユーザにより選択されたカメラ103は第1の所定のサービスを提供
できないため、S410に進む。そして、接続部308はカメラ103と無線接続する(S410)。
【0043】
無線接続が完了すると、判定部306はユーザにより選択された装置が第1の所定のサービスを提供可能であるか否かを判定する(S411)。該判定は、判定部306が記憶部201に記憶された情報を読み出すことで行われる。ここでは、接続したカメラ103は第1の所定のサービスを提供しないので、ステップS412に進む。
【0044】
ステップS412において、停止部312は、ステップS401において起動した第1のサービス部301を停止する。そして、解除部313は、ステップS402においてロックされた
全ポートのロックを解除する(S413)。解除部313は、ロックしたポートのロック状態を示す情報を
図5(f)に示すようにロック状態からアンロック状態(解除状態)に変更して記憶部201に記憶させる。このように、ポートのロックを解除することで、ステップS414における検索処理を行うことができるようになる。
【0045】
ステップS414において、検索部314はUPnPもしくはmDNSに準拠したサービス検索を行う。その結果、検索部314が第2の所定のサービスを検出しなかった場合にはステップS418に進み、切断部311はカメラ103と切断し、処理を完了させる。一方、検索部314が第2の所定のサービスを検出した場合には、第2のサービス部310は接続したカメラ103と協働して所定のサービス処理を実行する(S417)。その後、所定のサービス処理が完了すると、切断部311はカメラ103と切断し、処理を完了させる。
【0046】
このようにして、通信装置(例えばプリンタ)は他の通信装置(例えばカメラ)と接続処理が行われるより前に、当該他の通信装置が所定のサービスを実行可能であるかを示す情報を受信する。そして、受信した情報に基づいて他の通信装置との通信に用いるポートを制御する。これにより、接続処理前に得た所定のサービスを実行可能であるか否かの情報に基づいてポートを制御するので、接続性を担保しつつセキュリティを高めることができる。
【0047】
上述の実施形態では、通信装置をプリンタ、他の通信装置をカメラとして説明したが、これに限らず、通信装置を、撮像部を有し、撮像部により撮像された画像データをプリンタに送信可能なカメラ、他の通信装置をプリンタとしてもよい。また、カメラとプリンタの組み合わせに限らず、スマートフォン、PC、PDA、ストレージ等のいかなる組み合わせに対しても適用可能である。
【0048】
上述の実施形態においては、第1の所定のサービスの起動に応じてポートをロックした。これにより、意図しない相手からアクセスされる可能性を低減することができる。従って、プリンタ101の処理負荷が不必要に大きくなる可能性を低減させることができると共に、セキュリティを向上させることができる。
【0049】
また、接続処理を行う前に探索信号を送信し、その応答信号を受信することで、第1の所定のサービスを提供可能な装置と提供しない装置とを区別して探索することができる。そして、第1の所定のサービスを提供しない装置と接続する場合には第1の所定のサービスの起動に応じてロックしたポートを解除(アンロック)するので、接続性を担保することができる。
【0050】
本発明は、上述した1つ乃至複数のうちのいくつかの効果を有する。
【0051】
なお、本発明は前述の機能を実現するソフトウェアのプログラムコードを記録したコンピュータで読み取り可能な記録媒体をシステムあるいは装置に供給し、システムあるいは装置が記録媒体に格納されたプログラムコードを読み出し実行するようにしてもよい。