以下、本発明を実施するための形態について説明する。
[システム構成例]
図1は、本発明の実施形態のネットワークシステム1の構成例を示す図である。
ネットワークシステム1は、音波信号を利用して、ネットワークシステム1に存在する機器のネットワーク上の所在を示すアドレス情報を、他の機器に伝達するシステムである。ここで、本実施の形態における音波信号とは、弾性波による音周波数であり、可聴周波数帯域に限らない。
ネットワークシステム1は、2つのLAN(LAN1、LAN2)を含むネットワーク99を有し、LAN同士はルータ301を介して接続されている。LAN1には、情報処理装置100が接続され、LAN2にはn台の電子機器200a、200b、・・・200n(以下、それぞれを区別しない場合、「電子機器200」という。)が接続されている。
情報処理装置100は、LAN1に配置されている無線LANアクセスポイント(以下、「アクセスポイント」という。)300を介してLAN1に無線接続する。情報処理装置100とLAN1との接続は、ハブやL2スイッチがあれば有線接続することも可能だが、情報処理装置100にインタフェースが必要になり、また、ケーブルも必要になってしまうので、本実施形態では無線接続する。なお、アクセスポイント300に接続するためには、SSID(Service Set Identifier)と暗号キーが必要になる。本実施形態では、情報処理装置100はアクセスポイント300を介してLAN1と接続することができる。
電子機器200は、LAN2に有線で接続されているが、アクセスポイントを介して無線で接続されてもよい。
LAN1とLAN2にはネットワークアドレスが定められており、LAN1に接続された情報処理装置100とLAN2に接続された電子機器200のネットワークアドレスは異なる。
ルータ301は、ネットワーク99をLAN1とLAN2に分割するとともに、LAN1、2間の通信を制御する。すなわち、LAN1に接続されている情報処理装置100が、例えば、LAN1に接続されている据え置き型の装置(区別しない場合、「機器」という。)にMACフレーム(以下、単に「フレーム」という。)を送信する場合、ルータ301を含む全ての機器が受信可能であり、各機器は宛先MACアドレスが自機宛のフレームを選択的に受信する。ルータ301は、フレームの宛先MACアドレスが自機宛の場合、宛先のIPアドレスを参照してネットワークアドレスを特定し、例えば、LAN2にフレームを中継する。また、ルータ301にはインターネットが接続されており、宛先のIPアドレスによってはインターネット側にIP層のパケットを送信する等の経路制御を行う。なお、ネットワーク99は、図1に示された構成に限定されず、その他のLAN、イントラネット、インターネット等を介した構成でもよい。
情報処理装置100は、無線LANの通信機能、スピーカ及びマイクを備えていればよく、スマートフォン、タブレット端末、ノートPC、PDA(Personal Digital Assistants)、携帯電話等も情報処理装置100となりうる。情報処理装置100は、LANに接続するための通信装置を予め有しているか、又は、LANに接続するためのアダプタを装着可能になっておりIPアドレス及びMACアドレスを有している。
電子機器200は、ネットワーク99(有線、無線は問わない。)を介して通信する通信機能、スピーカ及びマイクを備え、電子データを出力する機器である。ここで、電子データとは、例えば、文字コードに変換された文字データ、ビットマップデータやJPEG形式の画像に変換された画像データ等をいう。電子機器200は、例えば、印刷、スキャン、コピー、及びファクシミリ等のうちの二以上の機能を一台の筐体によって実現する複合機である。また、いずれか一つの機能を単体で有する機器が電子機器200として用いられてもよい。また、電子機器200は、上記機能を備えていればよく、例えばプロジェクタ等であってもよい。本実施形態では、情報処理装置100が電子機器200と通信することで、画像を印刷したり、ファックス送信する。
[動作概要]
上記構成により本発明の実施形態は以下の動作となる。
(1)ユーザが、情報処理装置100に保存されている電子データ(例えば、画像データ)を、情報処理装置100から最も近くに位置する電子機器200を利用し、電子データを出力する場合(例えば、印刷する場合)を一例として説明する。画像データ等の印刷を行うためには、ネットワーク99を介して通信を行う必要がある。ここで、情報処理装置100と電子機器200は、異なるネットワーク(セグメント)に属しているため、情報処理装置100が電子機器200と通信をするためには、情報処理装置100は電子機器200のIPアドレスを知る必要がある。なお、情報処理装置100が電子機器200のIPアドレスを取得するための通信処理等の動作は、例えば、アドレス情報取得アプリケーション(以下、「IPアドレス取得アプリ」という。)により実行させる。
(2)情報処理装置100は、電子機器200のIPアドレスを取得するために、アドレス情報取得要求(要求信号)を発信する。本発明の実施形態において、アドレス情報取得要求は音波信号として発信される。アドレス情報は、例えば、機器が通信する際に用いる機器の所在を示すIPアドレスである。アドレス情報取得要求の信号フォーマットには、MACフレームの構成を用いる。
図2は、MACフレームの構成を用いた位置登録情報要求信号の信号フォーマットの一例である。同図に示されるように、MACフレームは、プリアンブル、SFD(Start of Frame Delimiter)、宛先アドレス、発信元アドレス、Type、データ部、及びFCS(Frame Check Sequence)を含む。プリアンブルは、フレームの受信時に同期をとるためのフィールドである。SFDは、有効フレームが開始されることを示すためのフィールドである。Typeは、フレームに含まれる上位層のパケットの種類を示すためのフィールである。宛先アドレスは、宛先となるMACアドレスが設定されるフィールドである。発信元アドレスは、発信元となるMACアドレスが設定されるフィールドである。FCSは、データに誤りがないかどうかを検査するフィールドである。本実施の形態では、データ部に、アドレス情報取得要求信号又は当該要求信号に対する応答信号であるアドレス情報信号であることを示す識別子、情報処理装置100のデバイスID、電子機器200のIPアドレス、電子機器200のデバイスID、及び電子機器200の機種名が設定される。デバイスIDは、機器を一意に識別する固有のIDである。機種名は、一般に、製造元と機体番号の組み合わせである。
なお、アドレス情報取得要求の信号フォーマットは、MACフレーム以外の任意のフォーマットであってもよい。
(3)電子機器200は、情報処理装置100により音波信号として発信されたアドレス情報取得要求を受信すると、当該音波信号を解析する。解析の結果、情報処理装置100が発信したアドレス情報取得要求であると判定されると、電子機器200のIPアドレス、デバイスID及び機種名等を含むアドレス情報信号を発信する。アドレス情報信号にIPアドレスが設定されると、デジタル信号のアドレス情報信号を、所定の周波数である図2に示すフォーマットの音波信号に変換し、発信する。
(4)情報処理装置100が、電子機器200のアドレス情報が含まれた音波信号を受信すると、当該音波信号の周波数を解析し、音波信号に含まれるアドレス情報(IPアドレス)を抽出する。また、音波信号の受信強度である音圧レベル(dB)を測定する。音圧レベルは音源からの距離の二乗に反比例して減衰するという性質である。すなわち、音圧レベルが大きい程、情報処理装置100と電子機器200との間の距離は短く、逆に音圧レベルが小さい程、情報処理装置100と電子機器200との間の距離は長い。そのため、本実施の形態では、情報処理装置100と複数の電子機器200との区間において、各区間の距離の長短が相対的に比較できればよいので、区間を示す距離情報には受信強度(音圧レベル)を用いる。解析の結果取得された電子機器200のIPアドレス及び音圧レベルを記憶装置(接続先情報管理テーブル)に記憶する。n台の電子機器200から発信されたn個の音波信号を受信した場合は、n回上記の処理を繰り返す。n個のIPアドレスとそのIPアドレスに対応する音圧レベルとが対応付けられたn個の接続先候補が接続先情報管理テーブルに記憶される。
(5)情報処理装置100は、接続先情報管理テーブルの中から、電子データの出力先として最も音圧レベルの大きい接続先候補を特定する。すなわち、情報処理装置100から最も近くに位置する電子機器200を特定する。その後、特定した電子機器200のIPアドレスを宛先アドレスとして、接続性確認を行う。接続性確認は例えば、telnetコマンドを用いる。telnetを用いることで、OSI参照モデルのトランスポート層においてファイアウォールが設定されている場合の接続性確認が可能となる。なお、ネットワーク層の接続性確認には、pingを用いてもよいが、上位レイヤにおけるファイアウォール等による通信制限が設定されている場合の接続性確認はできない。
(6)情報処理装置100から電子機器200に対して実施した接続性確認の結果及び接続先の電子機器200の機種名を情報処理装置100の画面に表示する。
(7)ユーザにより情報処理装置100のマウス操作等により、印刷対象とする画像データ名が選択されると、情報処理装置100は宛先IPアドレスを電子機器200のIPアドレスとし、印刷対象の画像データとともに出力(印刷)要求を送信する。
(8)電子機器200は、出力要求を受信すると、プリンタドライバ等を用いて、受信した画像データに基づき、出力データを生成する。出力データの形式は、例えば、PDL(Page Description LANguage)形式のデータである。続いて、電子機器200は、生成された出力データに基づき、プリンタを用いて印刷対象の画像を印刷する。
なお、電子機器200は、予め電子機器等に蓄積されている画像データを、情報処理装置100からの電子データ出力要求に基づき印刷を実行してもよい。
[ハードウェア構成]
<情報処理装置>
図3は、本発明の実施の形態における情報処理装置100のハードウェア構成の一例を示す図である。情報処理装置100は、上記のように可搬型の情報処理装置である。情報処理装置100は、無線LANに接続する無線LAN通信部108等を有する。無線LAN通信部108は、IEEE802.11b/11a/11g/11nに基づき変調方式、伝送速度、周波数等を制御し、受信した電波をデジタル信号に変換する。また、CPU101から発信要求されたデータを規格に従って変調等して電波として発信する。
情報処理装置100は、この他、CPU101、ROM102、RAM103、NVRAM104、表示部105、操作部106、メディアI/F107、スピーカ110及びマイク111を有する音波入出力部109等のハードウェアを有する。CPU101は、NVRAM104に記憶された情報処理装置用プログラム112を実行して情報処理装置100の全体の動作を制御する。ROM102は、IPL(Initial Program Loader)や静的なデータを記憶している。RAM103は、CPU101がプログラム112を実行する際のワークエリアとして使用される。
NVRAM104にはCPU101が実行するプログラム112が記憶されている。プログラム112は、OS(例えば、Andoroid(登録商標)、iOS(登録商標)、Windows(登録商標))、ミドルウェア、及び、情報処理装置100の以下の機能を提供するプログラムが含まれる。
表示部105は、ユーザに対する情報の表示出力がされる液晶や有機EL等のUI画面である。なお、本発明の実施の形態において表示部105はタッチパネルを一体に有している。
操作部106は、ユーザが設定や命令等の入力操作を行うためのハードキーやボタン及び表示部105内にあるタッチパネル等によるソフトキーである。操作内容はCPU101に通知される。
メディアI/F107は、フラッシュメモリ等の記録メディアに対するデータの読み出し又は書き込み(記憶)を制御する。
スピーカ110は、音波出力部として機能し、電気信号を音波信号に変換し、音波信号を発信する。
マイク111は、音波入力部として機能し、音波信号を受信し、音波信号を電気信号に変換するとともに、音圧レベルを測定する。音圧レベルは、受信した音波から直接測定してもよいが、電気信号に変換した信号レベルを測定してもよい。それは、電気信号に変換された信号レベルは、音圧レベルに比例するからである。
プログラム112は、インストール可能な形式又は実行可能な形式のファイルで、コンピュータで読み取り可能な記録メディアに記録して配布される。また、プログラム112は、所定のサーバからインストール可能な形式又は実行可能な形式のファイルで情報処理装置100に配布されてもよい。
<電子機器>
図4は、本発明の実施の形態における電子機器200のハードウェア構成の一例を示す図である。図4において、電子機器200は、コントローラ201、スキャナ207、プリンタ208、モデム209、操作パネル210、ネットワーク通信部211、音波入出力部212、スピーカ213、マイク214、SDカードスロット215等のハードウェアを有する。
コントローラ201は、CPU202、RAM203、ROM204、HDD205、及びNVRAM206等を有する。ROM204には、電子機器用の各種のプログラムやプログラムによって利用されるデータ等が記憶されている。RAM203は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU202は、RAM203にロードされたプログラムを処理することにより、各種の機能を実現する。HDD205には、プログラムやプログラムが利用する各種のデータ等が記憶される。NVRAM206には、電子機器200の各種の設定情報等が記憶される。
スキャナ207は、原稿から画像データ等を読み取るためのハードウェアである。
プリンタ208は、PDL形式の印刷データを印刷用紙に印刷するためのハードウェアである。
モデム209は、電話回線に接続するためのハードウェアであり、ファックス通信による画像データ等の送受信を実行するために用いられる。
操作パネル210は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。操作パネル210は、タッチパネルであってもよい。ネットワーク通信部211は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。
音波入出力部212は、音波出力部であるスピーカ213及び音波入力部であるマイク214を有する。スピーカ213は、電気信号を音波信号に変換し、音波信号を発信する。マイク214は、音波信号を受信し、音波信号を電気信号に変換する。なお、本発明の実施の形態において、電子機器200と音波信号を送受信する情報処理装置100は複数存在し、情報処理装置100の位置は予め想定することができない。そのため、スピーカ及びマイクは、不特定の方向に対する送受信を可能とする、無指向性であることが望ましい。また、各電子機器200において、スピーカ213は、全て同じ音量(出力音圧レベル)で音波信号を発信する。
SDカードスロット215は、SDカード600に記憶されたプログラムを読み取るために利用される。すなわち、電子機器200では、ROM204に記憶されたプログラムだけでなく、SDカード600に記憶されたプログラムもRAM203にロードされ、実行されうる。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード600が代替されてもよい。すなわち、SDカード600の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット215は、記録媒体の種類に応じたハードウェアによって代替されればよい。
<ハードウェアの動作概要>
本発明の実施の形態では、以下のようにハードウェアが動作する。
(1)ユーザは情報処理装置100に保存されている電子データ(画像データ等)を、直接、電子機器200を用いて、出力(印刷)する場合を説明する。まず、情報処理装置100のユーザが、タッチパネルである表示部105に表示されている操作部106(ソフトキー)を操作すると、CPU101は、予めNVRAM104にインストールされている電子機器200のIPアドレスを取得するためのアプリケーション(IPアドレス取得アプリ)を起動する。続いて、ユーザが、タッチパネル上で、IPアドレス取得要求の実行を入力する。
(2)CPU101は、NVRAM104に記憶されている情報処理装置100を一意に識別する識別情報であるデバイスIDを取得し、デバイスIDが含まれた電気信号であるアドレス情報取得要求信号を生成する。
(3)電気信号の要求信号は、CPU101の発信要求に基づき、音波出力部であるスピーカ110によって、音波信号に変換され、発信される。
(4)電子機器200の音波入力部であるマイク214が、音波信号を受信すると、音波信号を電気信号に変換する。
(5)CPU202が、電気信号をデジタル信号に変換する処理を実行し、デジタル信号が情報処理装置100から発信されたアドレス情報取得要求信号であるか否かが解析される。CPU202は、解析の結果、当該アドレス情報取得要求が、情報処理装置100が発信したアドレス情報取得要求であると判断されると、電気信号であるアドレス情報信号を生成する。なお、アドレス情報信号には、NVRAM206に記憶されている電子機器200のIPアドレス、デバイスID、機種名、及び情報処理装置100のデバイスIDが設定される。
(6)電気信号であるアドレス情報信号は、CPU202の発信要求に基づき、音波出力部であるスピーカ213によって、音波信号に変換され、発信される。
(7)情報処理装置100の音波入力部であるマイク111が、音波信号を受信すると、当該音波信号を電気信号に変換する。また、マイク111は音波信号の音圧レベルを測定する。
(8)CPU101が、電気信号をデジタル信号に変換する処理を実行し、デジタル信号が、自機(情報処理装置100)が発信したアドレス情報取得要求に対する応答信号であるか否かを解析する。CPU101は、解析の結果、受信した信号が、自機が発信したアドレス情報取得要求に対する応答信号であると判断されると、当該応答信号に含まれていた電子機器200のIPアドレスと測定された音圧レベルを対応付け接続先情報としてNVRAM104に記憶する。上記処理は、受信した音波信号の回数分、繰り返される。
(9)CPU101は、NVRAM104に記憶されている接続先情報の中から音圧レベルが最も高い電子機器200を特定し、特定した電子機器200のIPアドレスに対して、接続性確認を行う。接続性確認の結果が良(OK)でなかった場合は、二番目に高い音圧レベルの電子機器200に対して接続性確認を行い、接続性確認が良である電子機器200を確認できるまで繰り返す。
(10)CPU101は、接続性確認が良であった電子機器200の機種名、接続性確認が良であったことを示す結果を、情報処理装置100の画面に表示する。
(11)情報処理装置100のユーザが、タッチパネルのソフトキーを操作し、電子データである画像データ名を表示させ、次いで印刷したい画像データ名を選択し、電子データの出力(印刷)の実行を入力すると、NVRAM104に記憶されている電子機器200のIPアドレスを宛先アドレスとして設定し、CPU101は、NVRAM104に記憶されている画像データが含まれる出力(印刷)要求を生成する。
(12)無線LAN通信部108は、CPU101からの送信要求に基づき、デジタル信号である印刷要求を電波に変換し、ネットワーク99(アクセスポイント300)を介して、電子機器200のIPアドレスに送信する。
(13)電子機器200のネットワーク通信部211が、印刷要求を受信すると、CPU202はプリンタ245を制御し、受信した画像データに基づいた印刷出力を行う。
[機能構成例]
<情報処理装置>
図5は、本発明の実施の形態における情報処理装置100の機能構成の一例を示す図である。各機能はCPU101がプログラムを実行し、ハードウェアと協働することで実現される。
情報処理装置100は、情報処理装置本体101、音波出力部であるスピーカ141、音波入力部であり、音圧レベルを測定するマイク142、操作パネル143及び情報記憶装置144等を有する。接続先情報管理テーブル145は、情報記憶装置144に含まれている。
情報記憶装置144は、図3に示されるROM102やRAM103、NVRAM104が用いられる。情報記憶装置144には、接続情報管理テーブル145に記憶される情報に加えて、情報処理装置100の自機のIPアドレス、MACアドレス、デバイス情報及び出力(印刷)対象の画像等の電子データ等が記憶されている。
図6は、接続先情報管理テーブル145に記憶される情報の構成の一例を示す図である。接続先情報管理テーブル145に記憶されている情報は、電子機器200が発信する音波信号に含まれる情報に基づく。IPアドレスは、接続先の候補である電子機器200のIPアドレスである。同図中、IPv4の形式で記載しているが、各機器がIPv6に対応し、IPv6アドレスが割り振られていれば、IPv6アドレスを用いてもよい。デバイスIDは、デバイス情報の一部であり、電子機器200を一意に識別する固有のIDである。機種名は、電子機器200のデバイス情報の一部のfriendlyNameである。UIにおいて機種名が同一である電子機器200が接続先情報管理テーブル145の中に複数存在する場合、デバイスIDにより区別し表示する。音圧レベルは、本実施の形態では距離情報として用いられ、デシベル(dB)表示された受信した音波信号の音圧レベルである。音圧レベルが大きい程、情報処理装置100と電子機器200との区間の距離が短いことを示す。なお、本実施の形態において、接続先情報管理テーブル145に記憶されている情報は、更新日時が記憶されており、次のアドレス情報の受信を契機に、元のデータを上書き更新する。但し、接続先情報管理テーブル145内の情報は、例えば電子データの出力要求の発信を契機に削除したり、メモリに十分な記憶容量があれば一定期間経過後やユーザ操作により削除してもよい。
情報処理装置本体101は、アドレス情報取得要求生成手段121、情報管理手段122、アドレス情報インタフェース手段123、信号解析手段126、音圧レベル測定手段127、アドレス情報受付・特定手段128、操作パネル制御手段130、出力要求生成手段131、及びネットワークインタフェース制御手段129等を有している。アドレス情報インタフェース手段123は、アドレス情報取得要求発信手段124及びアドレス情報受信手段125を有する。
アドレス情報取得要求生成手段121は、電子機器200のアドレス情報(IPアドレス)を取得するためのアドレス情報取得要求を生成する。また、アドレス情報取得要求には、自機に固有のIDが設定される。これにより、アドレス情報取得要求信号に対する応答信号に含まれるIDが、自機に固有のIDと一致する場合は、応答が自機からの要求に対する応答であることを確認できる。ここで、固有のIDとは、例えば、個体を一意に識別するデバイスID、シリアルID、及びMACアドレス等である。本実施の形態では、デバイスIDを用いる。
情報管理手段122は、自機のIPアドレス、デバイスIDや機種名等を含むデバイス情報及び印刷等による出力対象の画像データ等を情報記憶装置144に記憶し、また、受信した電子機器200のIPアドレス、デバイス情報及び音圧レベル等を接続先情報管理テーブル145に記憶する。また、情報管理手段122は、これらの情報を読み出す。情報管理手段122は、アドレス情報取得要求生成手段121からのデバイスIDの取得要求に基づき、自機(情報処理装置100)のデバイスIDを出力する。また、アドレス情報受付・特定手段128からの接続先情報の記憶要求に基づき、電子機器200の接続先情報を接続先情報管理テーブル145に記憶する。
アドレス情報インタフェース手段123は、アドレス情報取得要求を音波信号として発信処理するアドレス情報取得要求発信手段124と、音波信号であるアドレス情報を受信処理するアドレス情報受信手段125を有する。ここで、受信するアドレス情報は、電子機器200のデバイスID、機種名等の電子機器情報の一部として含まれる。アドレス情報取得要求発信手段124は、音波出力部であるスピーカ141を制御し、電気信号を音波信号に変換し、発信する。アドレス情報受信手段125は、音波入力部であるマイク142によって音波信号から変換された電気信号を受信処理する。
信号解析手段126は、まずマイク142によって変換された電気信号をデジタル信号に変換し、信号に含まれているアドレス情報等の情報を取得する。アドレス情報等が例えばDTMF(Dual-Tone Multi-Frequency)で発信されている場合は、複数の特定周波数を含む音をFFT(Fast Fourier Transform:高速フーリエ変換)を用いて解析し、含まれる周波数からアドレス情報等を取り出す。なお、アドレス情報等を取り出す方法は、一般的に用いられている音から情報を取り出す手法を用いてもよい。続いて、信号解析手段126は、受信した信号から情報を取り出すと、IPアドレスが含まれているか、また変換された信号が自装置からのアドレス情報取得要求に対する応答であるか否かを判定する。具体的には、解析した情報の中に、アドレス情報取得要求に含まれていた情報処理装置10の固有のIDと一致するIDが存在するか否かを判定する。一致する場合は、応答信に指定されていた電子機器200のIPアドレスと電子機器200を識別する識別情報とをアドレス情報受付・特定手段128に出力する。
音圧レベル測定手段127は、マイク142を制御し、音波信号の音圧レベルを測定する。測定した音圧レベルをアドレス情報受付・特定手段128に出力する。
アドレス情報受付・特定手段128は、アドレス情報取得要求に対する応答を受け付け、情報管理手段122に、電子機器200のIPアドレスの記憶を要求する。応答信号に指定されている電子機器200のIPアドレス、デバイス情報及び音圧データがそれぞれ対応付けられ、接続先情報管理テーブル145に記憶される。また、アドレス情報受付・特定手段128は、取得した電子機器200のIPアドレスを宛先として、ネットワークインタフェース制御手段129を介し、接続性確認を行う。接続性確認は例えばtelnetコマンドを用いる。telnetコマンドにおいて、IPアドレスには取得した電子機器200のIPアドレスを設定し、ポート番号にはプリンタとの接続プロトコルを設定する。プリンタとの接続プロトコルとして、例えば、LPR(Line Printer Remote)プロトコルが利用される場合はポート番号を515とし、windows(登録商標)OSで標準的に使用されている標準TCP/IPポート・モニタが利用される場合はポート番号を9100番(デフォルト値)とする。アドレス情報受付・特定手段128は、接続先情報管理テーブル145に記憶される音圧レベルと、接続性確認の結果に基づき、接続先の電子機器200を特定する。接続先の電子機器200が特定されると、操作パネル制御手段130に接続先情報の結果を示す画面の表示要求を行う。
ネットワークインタフェース制御手段129は、ネットワーク99を介して、電子機器200と通信する。なお、電子機器200と通信するためには、情報処理装置100が、電子機器200のIPアドレスを知っている必要がある。本実施の形態では、例えば、電子機器200との接続性確認や電子機器200での電子データの出力要求の送信においてネットワークインタフェース手段129を介してネットワーク99(IPネットワーク)が用いられる。
操作パネル制御手段130は、ユーザに対する情報を操作パネル143上に表示出力する表示制御、及びユーザが操作パネル143により情報処理装置100に情報を入力する操作制御を行う。操作パネル143は、タッチパネルであり、表示部105と操作部106から構成される。本実施の形態では、例えば、電子機器200への接続性確認の結果及びアドレス情報取得要求の結果である接続先情報を操作パネル143上に表示する。また、例えば、ユーザは、電子機器200のIPアドレスを取得したい場合、操作パネル143に表示されるソフトキーを操作して情報処理装置100に命令する。
出力要求生成手段131は、ユーザによる操作パネル143での入力操作に基づき、電子機器200に、電子データの出力要求をする。電子データの出力要求とは、例えば、画像データ等の印刷要求である。印刷要求には、印刷対象の画像データ等が含まれていてもよい。
<電子機器>
図7は、本発明の実施の形態における電子機器200の機能構成の一例を示す図である。各機能はCPU202がプログラムを実行し、ハードウェアと協働することで実現される。
電子機器200は、電子機器本体201、音波出力部であるスピーカ241、音波入力部であるマイク242、操作パネル243、機器情報記憶装置244及びプリンタ245を有する。
電子機器本体201は、アドレス情報インタフェース手段221、解析手段224、アドレス情報取得要求受付手段225、アドレス情報信号生成手段226、機器情報管理手段227、ネットワークインタフェース手段228、出力要求受付手段229、出力データ生成手段230、電子データ出力手段231及び操作パネル制御手段232を有している。アドレス情報インタフェース手段221は、アドレス情報発信手段222、及びアドレス情報取得要求受信手段223から構成される。
アドレス情報インタフェース手段221は、音波信号を発信処理するアドレス情報発信手段222と音波信号を受信処理するアドレス情報取得要求受信手段223から構成される。アドレス情報発信手段222は、スピーカ241を制御し、電気信号を音波信号に変換し、発信する。アドレス情報取得要求受信手段223は、マイク242によって音波信号から変換された電気信号を受信処理する。
解析手段224は、マイク242によって変換された電気信号をデジタル信号に変換し、変換された信号が情報処理装置100から発信されたアドレス情報取得要求信号であるか否かを判定する。判定方法として、例えば、受信した信号の信号フォーマットに設定されるアドレス情報取得要求信号であるか否かを識別する識別子に基づき判定する。解析した結果、アドレス情報取得要求信号であると判定された場合は、解析した結果及び当該アドレス情報取得要求信号に含まれる携帯装置100のデバイスIDをアドレス情報取得要求受付手段225に出力する。解析した結果、アドレス情報取得要求信号であると判定されなかった場合は、受信した信号を破棄する。
アドレス情報取得要求受付手段225は、解析手段224により解析されたアドレス情報取得要求信号を受け付け、アドレス情報信号生成手段226に、電子機器200のIPアドレスが含まれた応答であるアドレス情報信号の生成を要求する。
アドレス情報信号生成手段226は、アドレス情報取得要求信号に対する応答であるアドレス情報信号を生成する。アドレス情報信号の信号フォーマットには、自機の電子機器情報であるIPアドレス、デバイスID、機種名、及び情報処理装置100のデバイスIDが含まれる。なお、アドレス情報等は例えばDTMF等を用いて音波信号として発信される。
機器情報管理手段227は、通信する際に用いる電子機器200のIPアドレスやMACアドレス等の接続情報、デバイス情報等を、機器情報記憶装置244に記憶したり、機器情報記憶装置244から情報を読み出す。機器情報記憶装置244には、RAM203、ROM204、HDD205、及びNVRAM206が用いられる。情報管理手段122は、例えば、アドレス情報信号生成手段226からのデバイスIDの取得要求に基づき、機器情報記憶装置244から情報を読み出し、出力する。
ネットワークインタフェース手段228は、ネットワーク99を介して、情報処理装置100と通信する。なお、情報処理装置100のIPアドレスを知っていれば、電子機器200から情報処理装置100に対して通信することができる。
出力要求受付手段229は、ネットワークインタフェース手段228を介して、出力要求を受信すると、出力データ生成手段230に、出力データ(印刷データ)の生成を要求する。
出力データ生成手段230は、プリンタドライバを用いて、例えば情報処理装置100から発信された印刷対象の画像データ等に基づき、出力データである印刷データを生成する。印刷データは、画像データ等がプリンタドライバによって変換されたPDL形式のデータである。
電子データ出力手段231は、プリンタ245を制御して、生成された印刷データに基づく印刷処理を実行する。具体的には、電子データ出力手段231が、PDL形式のデータをビットマップデータに変換し、その後、プリンタ245によって、変換されたビットマップデータに基づく画像等が印刷された印刷用紙が出力される。
操作パネル制御手段232は、ユーザに対する情報を操作パネル243上に表示出力する表示制御、及びユーザが操作パネル243により電子機器200に情報を入力する操作制御を行う。なお、操作パネル243は、本実施の形態では、タッチパネルである。
[情報処理装置における処理手順]
本発明の実施形態における情報処理装置100の処理手順の一例及び処理の結果として情報処理装置100の操作パネル143に表示される接続先情報取得結果の画面例を説明する。なお、ネットワークシステム1における詳細な動作手順は、図10で後述する。
図8は、本発明の実施形態における情報処理装置100の処理手順の一例を示したフローチャート図である。
図9は、本発明の実施の形態における操作パネル143に表示される接続先情報取得結果の一例を示す図である。
図8において、まず、ユーザの情報処理装置100における入力操作に基づき、情報処理装置100からアドレス情報取得要求が音波信号として発信される(S11)。アドレス情報取得要求の発信後、情報処理装置100において、一定の時間内に音波信号である電子機器200のアドレス情報を含む応答信号を受信したか否かが判断される(S12)。ここで一定の時間とは応答タイムアウトとする時間で、例えば10〜20秒間である。CSMA/CDのバックオフ時間は一般に数十〜数百マイクロ秒である。一定の時間内に応答信号を受信した場合(S12においてYES)、応答信号が解析され(S13)、受信した応答信号に含まれていたデバイスIDが、発信したアドレス情報取得要求に含まれていた情報処理装置100のデバイスIDと一致しているか否かが判定される(S14)。判定の結果、発信したアドレス情報取得要求に含まれていたデバイスIDと一致した場合(S14においてYES)、接続先情報管理テーブル145に電子機器200のIPアドレス、デバイスID、機種名及び受信した音波信号の音圧レベルが登録される(S15)。一方、ステップS14における判定の結果、受信した応答信号に含まれていたデバイスIDが、発信したアドレス情報取得要求に含まれていたデバイスIDと一致しない場合(S14においてNO)、パラメータが不一致であったため、IPアドレスの取得失敗となる。ステップS13〜S15又はS16の処理が、応答信号を受信した回数分、繰り返される。
応答信号を受信した回数分のステップS13〜S15又はS16の処理が終了すると、接続先情報管理テーブル145に、一以上の接続先情報が登録されているか否かが判定される(S17)。接続先情報管理テーブル145に、一以上の接続先情報が登録されている場合(S17においてYES)、接続先情報管理テーブル145の中において音圧レベルの最も大きい接続先に対して接続性確認が行われる(S18)。接続性確認は、対象となる電子機器200のIPアドレス及び特定のポート番号を指定したtelnetにより行われる。接続性確認の結果が良(OK)であった場合(S19においてYES)、接続先として接続性確認OKである電子機器200が特定され、電子機器200のIPアドレスの取得が完了したことを示すメッセージが操作パネル143に表示出力される(S20)。
ステップ20の場合の画面例を図9(A)に示す。画面には、IPアドレスの取得が完了したこと、電子機器200に対する接続性確認の結果が良(OK)であったこと、電子機器200のIPアドレス及び機種名の情報が表示される。
図8に戻り説明する。ステップS19において接続性確認の結果が否(NG)であった場合(S19においてNO)、接続先情報管理テーブル145において、次に音圧レベルの大きい接続先候補に対して、接続性確認が行われる(S21)。接続性確認の結果が良(OK)であった場合(S22においてYES)、接続先として接続性確認OKである電子機器200が特定され、電子機器200のIPアドレスの取得が完了したことを示すメッセージが操作パネル143に表示出力される(S20)。
一方、ステップS22において、接続性確認が否(NG)であった場合(S22においてNO)、接続先情報管理テーブル145の中に、接続性確認が未実施である接続先候補が存在するか否かが判定される(S23)。接続先情報管理テーブル145の中に、接続性確認が未実施である接続先候補が存在する場合(S23においてYES)、ステップS21〜S22の処理が再度繰り返される。接続性確認が未実施である接続先候補が存在しなくなった場合、すなわち接続先情報管理テーブル145に存在する全ての接続先候補の接続性確認が否(NG)となった場合(S23においてNO)、電子機器200に対し接続ができなかったことを示すメッセージが操作パネル143に表示出力される(S24)。
ステップ24の場合の画面例を図9(B)に示す。画面には、電子機器200に接続ができなったこと、接続性確認の結果が否(NG)であったこと、電子機器200のIPアドレス及び機種名の情報が表示される。
図8に戻り説明する。ステップS17において、接続先情報管理テーブル145において接続先情報の登録が存在しなかった場合(S17においてNO)、すなわち受信した全ての応答信号に含まれたデバイスIDが、情報処理装置100のデバイスIDと一致しなかった場合、パラメータエラー(デバイスIDが不一致)のためIPアドレスの取得ができなかったことを示すメッセージが操作パネル143に表示出力される(S25)。
ステップ25の場合の画面例を図9(C)に示す。画面には、IPアドレスが取得できなかったこと及びパラメータエラーがIPアドレスを取得できなった理由であることが画面に表示される。
図8に戻り説明する。ステップS12において発信したアドレス情報取得要求に対する応答が所定の時間内になかった場合(S12においてNO)、応答タイムアウトのためIPアドレスの取得ができなかったことを示すメッセージが操作パネル143に表示出力される(S26)。
ステップ26の場合の画面例を図9(D)に示す。画面には、IPアドレスが取得できなかったこと及び周辺デバイスからの応答がなかったことがIPアドレスを取得できなった理由であることが画面に表示される。
[動作手順]
図10は、本発明の実施形態におけるネットワークシステム1の動作手順の一例を示すシーケンス図である。当該動作が行われる利用場面は、情報処理装置100のユーザが情報処理装置100の近くに位置する電子機器200を用いて、電子データ(画像データ)の出力(印刷)を行う場面である。
図10の初期状態において、電子機器200のIPアドレスが不明であるため、情報処理装置100はネットワーク99を介して、電子機器100に接続することができない。そこで、情報処理装置100は、音波信号を送受信することにより、電子機器200のIPアドレスを取得する。IPアドレスを取得する動作は、情報処理装置100にインストールされているIPアドレス取得アプリにより実行される。IPアドレス取得アプリは、情報処理装置100及び電子機器200の双方にインストールされている必要がある。
S101:情報処理装置100のユーザは、操作パネル制御手段130が制御する操作パネル143を操作し、IPアドレス取得アプリを起動する。IPアドレス取得アプリを起動すると、操作パネル制御手段130は、操作パネル143上に、IPアドレスの取得要求を実行するか否かを示す初期画面を表示させる。
図11は、操作パネル143に表示されるアプリ起動後の初期画面の一例を示す図である。ユーザは、電子機器200のIPアドレスを取得したい場合は、操作パネル143を操作して図示する画面を表示させる。初期画面には二つのソフトキーa1、b1が表示されている。
a1.「YES」は、情報処理装置100からIPアドレス取得要求を音波信号として発信させる場合に、ユーザが選択するソフトキーである。
b1.「NO」は、IPアドレスの取得要求を行わない場合に、ユーザが選択するソフトキーである。
ユーザが、図11の初期画面において、「IPアドレスを取得する(YES)」を選択すると、操作パネル制御手段130は、アドレス情報取得要求生成手段121に、アドレス情報取得要求の生成を要求する。一方、ユーザが「NO」を選択すると、IPアドレス取得アプリは終了する。
図10に戻り説明する。
S102:アドレス情報取得要求生成手段121は、情報管理手段122に、情報処理装置100に固有のIDの取得を要求する。固有のIDとは、本実施形態において、例えば、機器に一意に設定されているUDN(Unique Device Name)(以下、「デバイスID」という。)である。情報管理手段122は、情報記憶装置144に記憶されている自機のデバイスIDを読み出し、アドレス情報取得要求生成手段121に出力する。デバイスIDは、機器が有するデバイス情報の中の一つの情報であり、機器を一意に識別する固有のIDである。なお、デバイス情報の構成例は、情報処理装置100と電子機器200は同一であるため、図11を用いて後述する。デバイスIDは、情報処理装置100が発信するアドレス情報取得要求に含まれ、当該要求に対する応答が、自機の要求に対する応答であることを識別するために用いられる。なお、情報処理装置100を一意に識別する情報として、MACアドレスを用いてもよい。
S103:アドレス情報取得要求生成手段121は、自機のデバイスIDを、アドレス情報取得要求信号の信号フォーマットに設定したアドレス情報取得要求を生成する。アドレス情報取得要求生成手段121は、デジタル信号であるアドレス情報取得要求を電気信号に変換し、アドレス情報取得要求発信手段124に、発信要求を行う。
S104:アドレス情報取得要求発信手段124は、スピーカ141を制御し、電気信号であるアドレス情報取得要求を音波信号に変換し、電子機器200に発信する。アドレス情報取得要求発信手段124は、アドレス情報取得要求を発信してから予め設定した所定の時間内に、電子機器200からの応答信号を受信したか否か等を判断する。アドレス情報取得要求発信手段124は、所定の時間内に応答がなかった場合は、電子機器200が情報処理装置100の周囲に存在しないと判断して、アドレス情報取得要求の発信を中止するように制御する。なお、アドレス情報取得要求の発信及び中止の判定に関して、例えばアドレス情報取得要求の発信回数をカウントし、そのカウントされた発信回数に基づいて再発信や中止の判断をしてもよい。
電子機器200のアドレス情報取得要求受信手段223がマイク242を制御し、音波信号を受信し、音波信号を電気信号に変換する。
S105:解析手段224は、マイク242によって変換された電気信号をデジタル信号に変換し、変換された信号が情報処理装置100から発信されたアドレス情報取得要求であるか否かを判定する。判定方法として、例えば、受信した信号の信号フォーマットに設定される要求信号であることを示すフレームに挿入された識別子に基づき判定する。解析した結果、アドレス情報取得要求であると判定された場合は、解析結果と当該アドレス情報取得要求に含まれる携帯装置100のデバイスIDをアドレス情報取得要求受付手段225に出力する。解析した結果、アドレス情報取得要求であると認められなかった場合は、受信した信号を破棄する。
S106:解析結果が、アドレス情報取得要求であると認められた場合、アドレス情報信号生成手段226は、機器情報管理手段227に、自機のIPアドレス、デバイス情報に含まれる自機のデバイスID及び機種名の取得を要求する。
図12は、デバイス情報の構成の一例を示す図である。同図に示されるように、デバイス情報は、friendlyName、manufacturer、modelName、UDN(Unique Device Name)等を含む。friendlyNameは、電子機器200の機種名である。manufacturerNameは、電子機器200の製造元の名前である。modelNameは、電子機器200の機体番号である。UDN(デバイスID)は、機器を一意に識別する固有のIDである。機種名(friendlyName)は、アドレス情報取得要求の結果として、情報処理装置100の操作パネル143で表示される情報である。デバイスIDは、情報処理装置100が、同一の機種名を有する複数の電子機器200から応答を受信した場合、いずれの電子機器200からの応答であるかを識別するために用いる。なお、電子機器200を一意に識別する情報として、MACアドレスを用いることもできる。
図10に戻り説明する。機器情報管理手段227は、機器情報記憶装置244に記憶されている自機のIPアドレス、デバイスID、及び機種名を読み出し、アドレス情報信号生成手段226に出力する。
S107:アドレス情報信号生成手段226は、アドレス情報取得要求に対する応答であることを示す識別情報を含む応答信号であるアドレス情報信号を生成する。応答信号であるアドレス情報信号の信号フォーマットには、電子機器200のIPアドレス、デバイスID、機種名、及びアドレス情報取得要求に含まれていた情報処理装置100のデバイスIDが設定される。アドレス情報信号生成手段226は、デジタル信号である応答信号を電気信号に変換し、アドレス情報発信手段222に、発信要求を行う。
S108:アドレス情報発信手段222は、スピーカ241を制御し、電気信号である応答信号を音波信号に変換し、情報処理装置100に発信する。ここでアドレス情報発信手段222は、受信をする情報処理装置100側において複数台の電子機器200から発信される音波信号の衝突(混信)を回避するため、音波信号の発信タイミングを、電子機器200a、200b、・・・200n毎にずらして発信する。音波信号の衝突を回避するための方法として、例えばCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)の仕組みを利用する。CSMA/CDは、無線LANの通信規格のIEEE802.11a、802.11b、802.11gの通信手順として採用されている。電子機器200aのマイクが他の電子機器200nが発信する音波信号を一定時間検知しなければ、電子機器200aはランダムな時間(バックオフ)待機し、音波信号を発信する動作となる。なお、例えば、予め電子機器200毎に使用する周波数を変えることにより、音波信号の衝突を回避してもよい。
情報処理装置100のアドレス情報受信手段125がマイク142を制御し、音波信号を受信し、音波信号を電気信号に変換し、信号解析手段126に信号の解析を要求する。また、マイク142は受信した音波信号の音圧レベルを測定する。
S109:情報処理装置100の信号解析手段126は、マイク142によって変換された電気信号をデジタル信号に変換し、変換された信号が情報処理装置100から発信されたアドレス情報取得要求に対応する応答信号であるか否かを解析する。具体的には、応答信号の中に、応答信号であることを示す識別子であるか否か、続いて、情報処理装置100のデバイスIDがあるか否かを判断する。信号解析手段126は、解析の結果、受信した信号が情報処理装置100から発信された要求信号に対応する応答信号であると判定されると、応答信号に含まれていた電子機器200のIPアドレス、デバイスID、及び機種名をアドレス情報受付・特定手段128に出力する。
S110:音圧レベル測定手段127は、マイク142を制御し、マイク142により測定された音圧レベルを取得すると、アドレス情報受付・特定手段128に、取得した音圧レベルを出力する。
S111:アドレス情報受付・特定手段128は、情報管理手段122に、電子機器200のIPアドレス、デバイスID、機種名及び受信した音波信号の音圧レベルの接続先情報管理テーブル145への記憶処理を要求する。情報管理手段122は、当該処理の要求を受け付けると、図6に示されるように各電子機器200を区別し、IPアドレス、デバイスID、機種名及び音圧レベルを、接続先情報管理テーブル145に記憶する。
ステップS109〜111の処理は、受信した応答信号の回数分繰り返される。
S112:アドレス情報受付・特定手段128は、接続先情報管理テーブル145の中において音圧レベルの最も大きい接続先に、ネットワークインタフェース制御手段129を介し、接続性確認のための接続性確認要求を発信する。接続性確認は、例えばネットワーク99を介し、対象となる電子機器200のIPアドレス及び特定のポート番号を指定したtelnetにより行われる。
S113:電子機器200のネットワークインタフェース手段228は、接続性確認要求を受け付けると、応答を発信する。アドレス情報受付・特定手段128は、接続性確認の結果に基づき、通信先対象とする電子機器200を特定する。
ステップS112〜113の接続性確認は、確認の結果が否(NG)であった場合、次に音圧レベルの大きい接続先に対して、繰り返される。接続性確認の具体的な手順は図8のフローチャート図により上述した通りである。
S114:アドレス情報受付・特定手段128は、操作パネル制御手段130に、接続性確認の結果に応じた図9に示される画面の表示出力を要求する。
S115:操作パネル制御手段130は、操作パネル143を制御し、生成した結果を示す画面を表示させる。
S116:情報処理装置100のユーザが、操作パネル143のソフトキーを操作し、電子データである画像データ名の一覧を表示させ、次いで出力(印刷)したい画像データを選択し、出力実行を入力する。操作パネル制御手段130は、出力要求生成手段131に、印刷のための出力要求の生成を指示する。出力要求生成手段131は、情報管理手段122を介し、情報記憶装置144に記憶されている電子機器200のIPアドレスを宛先アドレスとして設定された出力要求を生成する。出力要求には、ユーザが出力対象として情報処理装置100が保存している画像データを選択した場合は、情報記憶装置144に記憶されている画像データが含まれる。出力要求生成手段131は、ネットワークインタフェース制御手段129に、出力要求の送信を要求する。画像データには、写真・図形等の画像データの他に、文字・記号・数値等の文書データや、動画・音声データが含まれる。
S117:ネットワークインタフェース制御手段129は、通信先アドレスに設定された電子機器200のIPアドレスに、ネットワーク99(アクセスポイント300)を介して、出力要求を送信する。電子機器200のネットワークインタフェース手段228が、出力要求を受信すると、当該要求に応じた処理を出力要求受付手段229に要求する。
S118:出力要求受付手段229は、出力データ生成手段230に、出力要求に含まれていた画像データに基づく出力データの生成を要求する。出力データ生成手段230は、プリンタドライバ等を用いて受信した画像データに基づき、PDL形式の出力データを生成する。
なお、出力データ生成手段230は、情報処理装置100からの印刷要求に基づき、予め電子機器200のメモリ装置RAM203等やHDD205に蓄積されている画像データから出力データを生成してもよい。
S119:電子データ出力手段231は、生成されたPDL形式のデータをビットマップデータに変換し、プリンタ245を制御し、印刷処理を実行する。
S120:その結果、プリンタ245より、ビットマップデータによって示される画像等が印刷された印刷用紙が出力される。
上述したように、本発明の実施形態によれば、ネットワークに参加する情報処理装置100が、ネットワークに接続する複数の電子機器200のアドレス情報(IPアドレス)を簡易に取得し、また音圧レベルを比較することにより、情報処理装置100から最も近くに位置する電子機器200を特定し利用することが可能になる。したがって、情報処理装置100のユーザは、情報処理装置の容易な操作により、情報処理装置100から最も近い電子機器200を用いて、電子データ(画像データ)を印刷等出力することができる。
なお、本発明において、情報処理装置100が電子機器200に発信するアドレス情報取得要求(図10のS101)及び電子データの出力要求(図10のS116)の信号送出手順や信号フォーマット(図2)等を予め定義することにより、これら信号送出手順や信号フォーマット等をソフトウェア開発キット(SDK)に盛り込むことができる。このSDKをアプリケーション開発者に提供することにより、情報処理装置100や電子機器200本体の開発者・提供者に限らず、アプリケーション開発者により作成されたアプリケーションを情報処理装置100にインストールすることにより、本発明のネットワークシステム1を動作することが可能となる。
[変形例]
なお、本実施の形態の変形例では、複数の電子機器200のアドレス情報(IPアドレス)を取得した場合、ネットワーク99を介して接続可能な複数の電子機器200のIPアドレスが表示される。図13は、変形例における情報処理装置の画面に表示される接続先情報取得結果の一例を示す図である。出力先候補は、接続先情報管理テーブル145の音圧レベルの大きい方から降順に表示される。例えば、図6中に記載の音圧レベルが最も大きいIPアドレス「192.168.1.ccc」、次いで音圧レベルが大きい「192.168.1.aaa」の順に表示される。すなわち、情報処理装置100から近い位置の電子機器200から順に表示される。また、図13に記載されている「選択キー」を押下することにより、電子データの出力対象となる電子機器200が特定され、特定した電子機器200を用いて電子データが出力される。
なお、本実施の形態では、機器の一例として情報処理装置100、及び電子機器200を用いて説明したが、情報処理装置に対して所定の機能を提供可能な機器であれば、情報処理装置100、及び電子機器200以外の機器に関して本実施の形態が適用されてもよい。
また、本実施の形態において、電子機器200が、情報処理装置100に、発信する信号に含まれる情報の一部として、電子機器200のアドレス情報(IPアドレス)、デバイスID、及び機種名を用いたが、電子機器200の機能を示す情報、例えば、カラー印刷機能やファックス機能を具備しているといった情報を更に発信してもよい。これにより、情報処理装置100が当該信号を受信すると、情報処理装置100のタッチパネル等において電子機器200の機種名だけでなく、具備する機能を表示することが可能となる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。