以下に図面を参照して、本発明にかかる情報処理装置、情報処理システム、情報処理方法および情報処理プログラムの実施の形態を詳細に説明する。
(実施の形態1)
図1は、実施の形態1にかかる情報処理方法の一実施例を示す説明図である。図1において、情報処理システム100は、情報処理装置#1〜#nを含む(n:2以上の自然数)。各情報処理装置#1〜#nは、無線通信可能なコンピュータであり、互いに無線接続可能である。
また、各情報処理装置#1〜#nは、各種情報を出力する出力装置(例えば、後述の図3に示す出力装置305)を有する。出力装置は、例えば、LED(Light Emitting Diode)、液晶パネル、スピーカなどである。各情報処理装置#1〜#nが行う無線通信としては、例えば、無線LAN(Local Area Network)、Bluetooth(登録商標)などを利用した通信が挙げられる。
具体的には、例えば、情報処理装置#1〜#nは、タブレット端末、スマートフォン、ノートPC(Personal Computer)、プリンタ、ディスプレイ、プロジェクタ、家庭用電気製品、無線アクセスポイントなどの様々な種類の電子機器である。
以下の説明では、情報処理装置#1〜#nのうちの任意の情報処理装置を「情報処理装置#i」と表記する場合がある(i=1,2,…,n)。また、情報処理装置#1〜#nのうちの情報処理装置#iとは異なる他の情報処理装置を「情報処理装置#j」と表記する場合がある(j≠i、j=1,2,…,n)。
ここで、無線接続を前提としたIoTの世界では、利用者が機器間の接続関係や接続状態を把握することが困難な場合が多い。例えば、IoT機器の中には、正しく接続されているか、接続後に送信されたデータが正しく処理できているかということを明確に伝える手段を備えていないものが多い。このため、利用者が、ある機器と他の機器との接続を指示したとしても、その機器間で期待する動作が行われているかが明確に分からない場合がある。
なお、単体機器(つまり、無線接続されたいずれか一方の機器)として、他の機器との接続状態を液晶パネルやLED等で表示することが考えられる。しかしながら、単体機器として、予めプログラムされた状態を、予めプログラムされた表示方法によって表示するだけでは、表示内容が固定的なものとなるだけでなく、機器間の接続状態を示すには不十分である。
そこで、本実施の形態では、情報処理装置#i,#j間の接続状態に対応する出力パターンを生成し、情報処理装置#i,#jの双方において、生成した出力パターンが示すタイミングに応じた出力を行わせる情報処理方法について説明する。以下、情報処理システム100の処理例について説明する。
(1)情報処理装置#iは、無線接続された他の情報処理装置#jとの接続状態に対応する出力パターンPを生成する。ここで、他の情報処理装置#jとの接続状態とは、他の情報処理装置#jとの無線接続の状態や、他の情報処理装置#jとの間で行われる処理の状態を示すものである。また、出力パターンPとは、他の情報処理装置#jとの接続状態に対応する出力のタイミングを示す情報である。
図1の例では、情報処理システム100において、情報処理装置#1〜#nのうちの情報処理装置#1と情報処理装置#2とが無線接続されている場合を想定する。この場合、例えば、情報処理装置#1は、無線接続された他の情報処理装置#2との接続状態に対応する出力パターンPを生成する。
ここで、図2を用いて、出力パターンPの具体例について説明する。
図2は、出力パターンPの具体例を示す説明図である。図2において、タイミングチャート200は、無線接続された情報処理装置#1,#2間の接続状態に対応する出力パターンPが示す出力のタイミングを時間軸上に表したものである。
図2中、t_x(x=0,1,…)は、時間長を示している。xが偶数(0を含む)のt_xは、出力するタイミングを示している。また、xが奇数のt_xは、出力しないタイミングを示している。すなわち、出力パターンPは、最初t_0の時間連続して出力し、その後t_1の時間連続して出力を行わないといったパターンを示している。
(2)情報処理装置#iは、生成した出力パターンPを他の情報処理装置#jに送信する。図1の例では、情報処理装置#1は、生成した出力パターンPを他の情報処理装置#2に送信する。これにより、情報処理装置#1,#2の双方において、情報処理装置#1,#2間の接続状態に対応する出力パターンPを共有することができる。
(3)情報処理装置#iは、他の情報処理装置#jにおいて出力パターンPが示すタイミングに応じた出力を行わせるとともに、自装置において出力パターンPが示すタイミングに応じた出力を行う。具体的には、例えば、情報処理装置#iは、他の情報処理装置#jに対して出力パターンPの出力指示を送信する。
そして、情報処理装置#iは、出力パターンPの出力指示を送信したことに応じて、自装置において出力パターンPが示すタイミングに応じた出力を行う。一方、他の情報処理装置#jは、出力パターンPの出力指示を受信したことに応じて、自装置において出力パターンPが示すタイミングに応じた出力を行う。
これにより、情報処理装置#i,#jの双方において、無線接続された情報処理装置#i,#j間の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行うことができる。なお、出力パターンPの出力指示は、例えば、他の情報処理装置#jへの出力パターンPの送信時に合わせて送信することにしてもよい。
図1の例では、各情報処理装置#1,#2は、出力装置として、LED101,102をそれぞれ有している場合を想定する。この場合、各情報処理装置#1,#2は、無線接続された情報処理装置#1,#2間の接続状態に対応する出力パターンPが示す出力のタイミングに応じて各LED101,102をそれぞれ点灯させる。
このように、情報処理装置#iによれば、無線接続された他の情報処理装置#jとの接続状態に対応する出力パターンPを生成することができる。また、情報処理装置#iによれば、生成した出力パターンPを他の情報処理装置#jに送信して、他の情報処理装置#jにおいて出力パターンPが示すタイミングに応じた出力を行わせるとともに、自装置において出力パターンPが示すタイミングに応じた出力を行うことができる。
すなわち、無線接続された情報処理装置#i,#jの双方において、情報処理装置#i,#j間の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行うことができる。これにより、無線接続された情報処理装置#i,#j間の接続状態を可視化して、情報処理装置#i,#j間の接続関係および接続状態を分かりやすく提示することができる。
図1の例では、利用者は、各情報処理装置#1,#2のLED101,102の点灯パターンを確認することで、情報処理装置#1,#2間の接続関係や接続状態を把握することができる。これにより、利用者は、例えば、情報処理装置#1,#2が正しく接続されているか、接続後に送信されたデータが正しく処理できているかといったことを把握可能となり、情報処理装置#1,#2間で期待する動作が行われていることを確認することができる。また、例えば、互いに無線接続可能な情報処理装置が複数並べて設置されているような状況であっても、利用者は、実際に無線接続された情報処理装置#1,#2を容易に判別することができる。
(情報処理装置#iのハードウェア構成例)
つぎに、情報処理装置#iのハードウェア構成例について説明する。
図3は、情報処理装置#iのハードウェア構成例を示すブロック図である。図3において、情報処理装置#iは、CPU(Central Processing Unit)301と、メモリ302と、I/F(Interface)303と、入力装置304と、出力装置305と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、情報処理装置#iの全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
I/F303は、ネットワーク310に接続され、ネットワーク310を介して外部のコンピュータ(例えば、他の情報処理装置#j)に接続される。そして、I/F303は、ネットワーク310と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。ネットワーク310は、例えば、近距離無線ネットワークである。ただし、情報処理装置#iは、インターネット、LAN、WAN(Wide Area Network)などを介して他のコンピュータに接続可能であってもよい。
入力装置304は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置304は、例えば、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
出力装置305は、データの出力を行う。出力装置305は、例えば、LED、液晶パネル、ディスプレイ、スピーカなどである。なお、情報処理装置#iは、上述した構成部のほかに、例えば、ディスクドライブ、ディスク、SSD(Solid State Drive)等を有することにしてもよい。
(接続状態管理DB400の記憶内容)
つぎに、各情報処理装置#iが有する接続状態管理DB(DataBase)400の記憶内容について説明する。接続状態管理DB400は、例えば、図3に示したメモリ302に記憶される。
図4は、接続状態管理DB400の記憶内容の一例を示す説明図である。図4において、接続状態管理DB400は、接続先ID、現在の接続状態、接続状態(種別)、パターンデータIDおよびデータ本体のフィールドを有し、各フィールドに情報を設定することで、接続状態管理情報(例えば、接続状態管理情報400−1)をレコードとして記憶する。
ここで、接続先IDは、接続先である他の情報処理装置#jを一意に識別する識別子である。接続先IDとしては、例えば、他の情報処理装置#jのMAC(Media Access Control)アドレスを用いることができる。現在の接続状態は、他の情報処理装置#jとの間の現在の接続状態である。
接続状態(種別)は、情報処理装置#i,#j間の接続状態を示す。(種別)は、その接続状態に遷移する契機となったイベントの種別を示しており、例えば、正常時、異常時、処理中などがある。接続状態(正常時)は、正常時のイベントを契機に遷移した接続状態を示す。接続状態(異常時)は、異常時のイベントを契機に遷移した接続状態を示す。接続状態(処理時)は、処理中のイベントを契機に遷移した接続状態を示す。
接続状態(種別)としては、例えば、接続完了(正常時)、接続終了(正常時)、接続エラー(異常時)、データ送信開始(処理中)、データ送信終了(処理中)、相手機器処理開始(処理中)、相手機器処理終了(処理中)、相手機器エラー発生(異常時)などがある。
パターンデータIDは、パターンデータDを一意に識別する識別子である。パターンデータDは、情報処理装置#i,#j間の接続状態に対応する出力パターンPを含む情報である。データ本体は、パターンデータIDに対応するパターンデータDのデータ本体である。なお、パターンデータDの具体例については、図6を用いて後述する。
(情報処理装置#iの機能的構成例)
図5は、情報処理装置#iの機能的構成例を示すブロック図である。図5において、情報処理装置#iは、通信部501と、検出部502と、生成部503と、出力制御部504と、を含む構成である。検出部502〜出力制御部504は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。また、通信部501は、例えば、図3に示したI/F303により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302に記憶される。
通信部501は、無線通信可能な他の情報処理装置#jと無線通信する機能を有する。具体的には、例えば、通信部501は、無線通信可能な他の情報処理装置#jを検出すると、情報処理装置#i,#j間の接続処理を行って、他の情報処理装置#jと無線接続する。
なお、無線通信可能な他の情報処理装置#jとの接続処理は、自動で行われてもよく、また、手動で行われてもよい。例えば、情報処理装置#iは、他の情報処理装置#jとの接続処理を手動で行えるように、他の情報処理装置#jを検出した際に、確認メニュー(例えば、ウィンドウ、トーストメニュー)を表示することにしてもよい。
検出部502は、他の情報処理装置#jとの接続状態を検出する。具体的には、例えば、検出部502は、他の情報処理装置#jとの接続に成功すると、情報処理装置#i,#j間が正常に接続されたことを示す接続状態「接続完了」を検出する。また、検出部502は、例えば、他の情報処理装置#jとの接続状態が遷移する契機となるイベントが発生した場合、当該イベントから特定される他の情報処理装置#jとの接続状態を検出する。
検出された接続状態は、例えば、図4に示した接続状態管理DB400に記憶される。他の情報処理装置#jとの接続状態「接続完了」が検出された場合を例に挙げると、検出部502は、接続状態管理DB400内の接続先IDおよび現在の接続状態フィールドに「#j」および「接続完了」をそれぞれ設定する。これにより、新たな接続状態管理情報がレコードとして記憶される。ただし、この時点では他のフィールドは未設定である。
生成部503は、無線接続された他の情報処理装置#jとの接続状態に対応するパターンデータDを生成する。ここで、パターンデータDとは、他の情報処理装置#jとの接続状態に対応する出力パターンPを含む情報である。パターンデータDには、出力パターンPのほかに、例えば、出力パターンPに対応する出力装置305の種類を示す情報が含まれていてもよい。
すなわち、出力装置305の種類を示す情報は、どの種類の出力装置305から出力パターンPが示すタイミングに応じた出力を行うのかを示すものである。出力装置305の種類としては、例えば、led(LEDに対応)、sound(スピーカに対応)、disd(液晶パネル、ディスプレイ等に対応)などがある。
また、パターンデータDには、例えば、出力パターンPを出力し続ける時間を表す持続時間の情報が含まれていてもよい。持続時間は、例えば、出力パターンPのパターン長よりも長い任意の時間に設定される。パターン長とは、出力パターンPの時間長である。出力パターンPは、持続時間の間繰り返し出力される。
また、出力パターンPには、出力属性の情報が含まれていてもよい。ここで、出力属性とは、出力装置305の種類に依存する出力の属性であり、例えば、色属性や音属性などがある。例えば、出力装置305の種類が「led」の場合、出力属性は、LEDの発光色を表すRGB値(例えば、[00,FF,A8])や色名(例えば、blue,magenta等)などの色属性である。また、出力装置305の種類が「sound」の場合、出力属性は、スピーカから出力する音声の音色や音声ファイル名(例えば、wavファイル名やoggファイル名)などの音属性である。
ここで、図6を用いて、パターンデータDを生成する際の生成部503の具体的な処理内容の一例について説明する。
図6は、パターンデータDの具体例を示す説明図である。図6において、パターンデータDは、idと、typeと、patternと、durationと、を含む。idは、パターンデータDを一意に識別するパターンデータIDを示す。typeは、出力パターンPに対応する出力装置305の種類を示す。patternは、出力パターンPを示す。durationは、出力パターンPの持続時間を示す。
まず、生成部503は、パターンデータDのid、typeおよびdurationを設定する。idは、例えば、順次採番される。typeとしては、情報処理装置#iが有する出力装置305のいずれかの種類が設定される。図6の例では、id「D」、type「led」およびduration「Tmax」が設定されている。
つぎに、生成部503は、例えば、出力装置305の種類に応じて、出力パターンPの出力属性を設定する。具体的には、例えば、生成部503は、図7に示すような基本属性情報700を参照して、出力パターンPの出力属性を設定することにしてもよい。
図7は、基本属性情報700の具体例を示す説明図である。図7において、基本属性情報700は、情報処理装置#i,#j間の接続状態の種別に対応する出力属性(色属性、音属性)を示す情報である。例えば、出力装置305の種類(type)を「led」とし、情報処理装置#i,#j間の接続状態の種別を「正常時」とする。この場合、生成部503は、基本属性情報700の色属性を参照して、出力パターンPの出力属性(色属性:blue)を設定する。
そして、生成部503は、情報処理装置#i,#j間の接続状態に対応する出力パターンPを生成する。具体的には、例えば、生成部503は、パターン長Tmin以上の出力パターンPをランダム生成する。ここで、パターン長Tminは、任意に設定可能であり、例えば、出力パターンPのパターン長がパターン長Tminより短くなると、出力パターンPを人が認識しづらくなる程度の値(例えば、2000[msec])に設定される。
また、出力パターンPにおけるt_xは、基本パターン長Tbの倍数で与えることにする。基本パターン長Tbは、任意に設定可能であり、例えば、100[msec]程度の値に設定される。より具体的には、例えば、生成部503は、出力パターンPにおけるt_xについて、係数の集合St={1,3,5,8,10}からランダムに選択した要素e(e∈St)を用いて、「t_x=e×Tb」と与える。
また、出力パターンPにおけるattr_xには、出力パターンPの出力属性(色属性:blue)が設定される。なお、ここでは、全てのattr_xに、同一の出力属性(例えば、色属性:blue)が設定されることにしたが、これに限らない。例えば、生成部503は、出力パターンPにおけるattr_xとして、出力装置305の種類に応じた出力属性をランダムに設定することにしてもよい。
そして、生成部503は、生成した出力パターンPを、パターンデータDのpatternに設定する。これにより、無線接続された情報処理装置#i,#j間の接続状態に対応する出力パターンPを含むパターンデータDを生成することができる。
パターンデータD(出力パターンP)の生成対象となる接続状態は、例えば、予め設定されていてもよい。出力パターンPの生成対象となる接続状態としては、例えば、接続完了(正常時)、接続終了(正常時)、接続エラー(異常時)、データ送信開始(処理中)、データ送信終了(処理中)、相手機器処理開始(処理中)、相手機器処理終了(処理中)、相手機器エラー発生(異常時)などが設定される。
また、生成部503は、検出部502によって新たな接続状態が検出されると、その都度、検出された接続状態に対応するパターンデータDを生成することにしてもよい。生成されたパターンデータDのデータ本体は、例えば、パターンデータIDと対応付けて、接続状態管理DB400に記憶される。
また、生成部503は、他の情報処理装置#jとの間の異なる接続状態間で出力パターンPが異なるように、他の情報処理装置#jとの接続状態に対応する出力パターンPを生成することにしてもよい。ここで、情報処理装置#i,#j間のそれぞれ異なる接続状態に対応する出力パターンPを「出力パターンPa」と「出力パターンPb」とする(a,b:自然数、a≠b)。
この場合、生成部503は、例えば、出力パターンPa,Pb間の相違度Dfが閾値γ以上となる出力パターンPaを生成する。相違度Dfは、出力パターンPaと出力パターンPbとが相違している度合いを示す指標値である。閾値γは、任意に設定可能であり、相違度Dfが閾値γより小さくなると、出力パターンPa,Pb間の違いを人が認識しづらくなる程度の値に設定される。換言すれば、出力パターンPa,Pb間の相違度Dfが閾値γより小さくなると、出力パターンPa,Pb同士が類似しているといえる。
出力パターンPa,Pbを下記式(1)、(2)のように表すと、生成部503は、例えば、下記式(3)を用いて、出力パターンPa,Pb間の相違度Dfを算出することができる。
Pa=[[attr_0,t_0,t_1],[attr_1,t_2,t_3],
…,[attr_n,t_2n,t_2n+1]]・・・(1)
Pb=[[attr_0,s_0,s_1],[attr_1,s_2,s_3],
…,[attr_m,s_2m,s_2m+1]]・・・(2)
相違度Dfが閾値γより小さい場合は、生成部503は、例えば、出力パターンPaを生成し直す。すなわち、生成部503は、相違度Dfが閾値γ以上となるまで、出力パターンPa(あるいは、出力パターンPb)の生成を繰り返し行う。これにより、情報処理装置#i,#j間の異なる接続状態間で異なる出力パターンPを生成することができる。
また、生成部503は、他の情報処理装置#jとの間の異なる接続状態間で出力パターンPの先頭から所定の部分が共通するように、他の情報処理装置#jとの接続状態に対応する出力パターンPを生成することにしてもよい。すなわち、他の情報処理装置#jとの接続状態に対応する出力パターンPの先頭部分に、異なる接続状態間で共通する部分を設けることにしてもよい。
以下の説明では、他の情報処理装置#jとの異なる接続状態間で共通する、出力パターンPの先頭部分を「パターンプリフィックスPr」と表記する場合がある。
パターンプリフィックスPrは、例えば、情報処理装置#iごとに異なるものであり、ユーザIDや情報処理装置#iの製品コードと対応付けて生成されメモリ302に記憶される。出力パターンPのうちのパターンプリフィックスPr以外の部分は、他の情報処理装置#jとの接続状態に対応して生成される。
パターンプリフィックスPrのパターン長Tpは、任意に設定可能であり、例えば、出力パターンPの先頭から数パターン分程度(例えば、[attr_0,t_0,t_1]で1パターン)のパターン長に設定される。
一例として、上述した出力パターンPa,Pbを例に挙げ、出力パターンPaの先頭から2パターン分をパターンプリフィックスPrとする。この場合、出力パターンPbの先頭から2パターン分がパターンプリフィックスPrとなり、出力パターンPaと同じ[attr_0,t_0,t_1],[attr_1,t_2,t_3]となる。
なお、出力パターンPのうちのパターンプリフィックスPr以外の部分は、情報処理装置間の接続状態に対応付けて事前に生成されたものを用いることにしてもよい。これにより、接続先が切り替わっても接続状態が同じであれば、パターンプリフィックスPr以外の部分は同じものが用いられることになり、利用者による接続状態の判別をしやすくすることができる。
また、生成部503は、無線通信可能な各情報処理装置#kにおいて用いられる情報処理装置間の接続状態に対応する出力パターンPを取得することにしてもよい(k≠i、k=1,2,…,n)。ここで、無線通信可能な各情報処理装置#kとは、情報処理装置#iと無線通信可能な範囲内に存在する周辺機器である。
具体的には、例えば、生成部503は、無線通信可能な各情報処理装置#kからのブロードキャストを受信することにより、各情報処理装置#kにおいて用いられる出力パターンPを取得する。なお、無線通信可能な各情報処理装置#kには、例えば、情報処理装置#iと無線接続された他の情報処理装置#jが含まれていてもよい。
そして、生成部503は、取得した各情報処理装置#kにおいて用いられる出力パターンPと異なるように、他の情報処理装置#jとの接続状態に対応する出力パターンPを生成することにしてもよい。より具体的には、例えば、生成部503は、各情報処理装置#kの出力パターンPとの相違度Dfが閾値γ以上となるように、他の情報処理装置#jとの接続状態に対応する出力パターンPを生成する。
出力制御部504は、通信部501により、生成部503によって生成された他の情報処理装置#jとの接続状態に対応するパターンデータDを、他の情報処理装置#jに送信する。また、出力制御部504は、他の情報処理装置#jにおいて出力パターンPが示すタイミングに応じた出力を行わせるとともに、自装置において出力パターンPが示すタイミングに応じた出力を行う。
具体的には、例えば、出力制御部504は、通信部501により、他の情報処理装置#jに対して出力パターンPの出力指示を送信する。出力パターンPの出力指示には、例えば、出力対象となる出力パターンPを含むパターンデータDを一意に識別するパターンデータIDが含まれる。そして、出力制御部504は、出力パターンPの出力指示を送信したことに応じて、自装置において出力パターンPが示すタイミングに応じた出力を行う。
より具体的には、例えば、出力制御部504は、パターンデータDのtypeに対応する出力装置305により出力パターンPが示すタイミングに応じた出力を行う。この際、出力制御部504は、例えば、出力パターンPが示すタイミングに応じて、当該出力パターンPに含まれる出力属性の出力を行う。
例えば、typeが「led」の場合、出力制御部504は、出力パターンPが示すタイミングに応じて、当該出力パターンPに含まれるattr_xが示す色属性のLEDを点灯させる。また、例えば、typeが「sound」の場合、出力制御部504は、スピーカにより出力パターンPが示すタイミングに応じて、当該出力パターンPに含まれるattr_xが示す音属性の音声出力を行う。
一方、他の情報処理装置#jは、例えば、出力パターンPの出力指示を受信したことに応じて、自装置において、当該出力指示に含まれるパターンデータIDのパターンデータDに含まれる出力パターンPが示すタイミングに応じた出力を行う。
より具体的には、例えば、他の情報処理装置#jは、パターンデータDのtypeに対応する出力装置305により出力パターンPが示すタイミングに応じた出力を行う。この際、他の情報処理装置#jは、例えば、出力パターンPが示すタイミングに応じて、当該出力パターンPに含まれる出力属性の出力を行う。
これにより、無線接続された情報処理装置#1,#2の双方において、情報処理装置#i,#j間の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行うことができる。
なお、各情報処理装置#i,#jにおける出力タイミングは、情報処理装置#i,#j間で同期させても、同期させなくてもよい。例えば、情報処理装置#iが出力を行ってから一定時間(例えば、数秒程度)経過した後に、他の情報処理装置#jに出力を行わせることにしてもよい。
また、情報処理装置#iが他の情報処理装置#jに対して出力指示を送信してから一定時間(例えば、数秒程度)経過した後に、各情報処理装置#i,#jがそれぞれ出力を行うことにしてもよい。これにより、各情報処理装置#i,#jにおける出力タイミングをほぼ同期させることができる。
また、出力制御部504は、無線接続された他の情報処理装置#jとの接続状態が遷移したことに応じて、自装置において遷移後の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行う。さらに、出力制御部504は、他の情報処理装置#jにおいて遷移後の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行わせる。
具体的には、例えば、出力制御部504は、他の情報処理装置#jとの接続状態が検出されると、その都度、接続状態管理DB400を参照して、他の情報処理装置#jとの現在の接続状態に対応するパターンデータIDを特定する。つぎに、出力制御部504は、特定したパターンデータIDを含む出力指示を他の情報処理装置#jに送信する。
そして、出力制御部504は、自装置において、特定したパターンデータIDのパターンデータDに含まれる出力パターンPが示すタイミングに応じた出力を行う。これにより、他の情報処理装置#jとの接続状態が遷移したことに応じて、情報処理装置#1,#2の双方において、遷移後の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行うことができる。
また、出力制御部504は、図3に示した入力装置304を用いたユーザの操作入力により、出力パターンPの出力指示を受け付けたことに応じて、自装置において現在の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行うことにしてもよい。この場合、出力制御部504は、他の情報処理装置#jにおいても、現在の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行わせる。
また、通信部501は、無線接続された他の情報処理装置#jから、他の情報処理装置#jとの接続状態に対応するパターンデータDを受信することにしてもよい。また、通信部501は、他の情報処理装置#jから出力パターンPの出力指示を受信することにしてもよい。上述したように、出力パターンPの出力指示には、例えば、出力対象となる出力パターンPを含むパターンデータDのパターンデータIDが含まれる。
この場合、出力制御部504は、出力パターンPの出力指示を受信したことに応じて、自装置において、当該出力指示に含まれるパターンデータIDのパターンデータDに含まれる出力パターンPが示すタイミングに応じた出力を行うことにしてもよい。これにより、他の情報処理装置#jからの出力指示に応じて、他の情報処理装置#jとの接続状態に対応する出力パターンPが示すタイミングに応じた出力を行うことができる。
なお、他の情報処理装置#jから受信したパターンデータDのtypeが示す種類の出力装置305を情報処理装置#iが有していない場合がある。この場合、出力制御部504は、パターンデータDのtypeを自装置が有する出力装置305の種類に変換して、変換後の種類の出力装置305により、出力パターンPが示すタイミングに応じた出力を行うことにしてもよい。これにより、他の情報処理装置#jから指定された種類の出力装置305を情報処理装置#iが有していなくても、情報処理装置#iが有する種類の出力装置305を利用して、出力パターンPが示すタイミングに応じた出力を行うことができる。
また、出力制御部504は、例えば、出力パターンPが示すタイミングに応じた出力を行う際に、他の情報処理装置#jとの接続状態を示す情報を、液晶パネルやディスプレイなどの出力装置305に表示することにしてもよい。接続状態を示す情報は、例えば、接続状態を識別可能な名称やIDなどである。
ここで、図8を用いて、他の情報処理装置#jとの接続状態を示す情報の表示例について説明する。ここでは、情報処理装置#iが、出力装置305としてディスプレイ801およびLED802を有する場合を例に挙げて説明する。
図8は、他の情報処理装置#jとの接続状態を示す情報の表示例を示す説明図である。図8において、情報処理装置#iのディスプレイ801には、他の情報処理装置#jとの接続状態を示す接続状態情報810が表示されている。また、情報処理装置#iのLED802が、他の情報処理装置#jとの接続状態に対応する出力パターンPが出力のタイミングに応じて点灯している。
接続状態情報810によれば、利用者は、LED802の点灯パターン(出力パターンP)に対応する接続状態が「データ送信開始(処理中)」であることが分かる。これにより、利用者が各接続状態に対応する出力パターンPを事前に把握していなくても、他の情報処理装置#jとの接続状態を把握することができる。また、以降においては、利用者は、LED802の点灯パターン(出力パターンP)を確認するだけで、他の情報処理装置#jとの接続状態を判別することができるようになる。
(情報処理装置#iの情報処理手順)
つぎに、情報処理装置#iの情報処理手順について説明する。
図9、図10および図11は、情報処理装置#iの情報処理手順の一例を示すフローチャートである。図9のフローチャートにおいて、まず、情報処理装置#iは、無線通信可能な他の情報処理装置#jとの接続を開始する(ステップS901)。つぎに、情報処理装置#iは、他の情報処理装置#jとの接続が成功したか否かを判断する(ステップS902)。
ここで、他の情報処理装置#jとの接続に失敗した場合(ステップS902:No)、情報処理装置#iは、他の情報処理装置#jとの接続状態「接続エラー(異常時)」に対応する出力パターンPが示すタイミングに応じた出力を行う(ステップS903)。そして、情報処理装置#iは、本フローチャートによる一連の処理を終了する。
なお、接続状態「接続エラー(異常時)」に対応する出力パターンPは、例えば、予め生成されてメモリ302に記憶されている。
一方、他の情報処理装置#jとの接続に成功した場合(ステップS902:Yes)、情報処理装置#iは、接続状態管理DB400内の接続先IDおよび現在の接続状態に「#j」および「接続完了(正常時)」をそれぞれ設定する(ステップS904)。これにより、新たな接続状態管理情報がレコードとして記憶される。
つぎに、情報処理装置#iは、他の情報処理装置#jとの接続状態に対応するパターンデータDを生成するパターンデータ生成処理を実行する(ステップS905)。パターンデータD(出力パターンP)の生成対象となる接続状態は、事前設定されている。生成されたパターンデータDは、接続状態管理DB400に記憶される。
パターンデータ生成処理の具体的な処理手順については、図11を用いて後述する。なお、既に生成済みのパターンデータDであって、現在未使用のパターンデータDがあれば、情報処理装置#iは、現在未使用のパターンデータDを使い回すことにしてもよい。
つぎに、情報処理装置#iは、他の情報処理装置#jとの接続状態「接続完了(正常時)」に対応する出力パターンPの出力指示とともに、生成したパターンデータDを他の情報処理装置#jに送信する(ステップS906)。そして、情報処理装置#iは、接続状態管理DB400を参照し、他の情報処理装置#jとの接続状態「接続完了(正常時)」に対応する出力パターンPが示すタイミングに応じた出力を行う(ステップS907)。
つぎに、情報処理装置#iは、イベントが発生したか否かを判断する(ステップS908)。ここで、情報処理装置#iは、イベントが発生するのを待つ(ステップS908:No)。そして、イベントが発生した場合(ステップS908:Yes)、情報処理装置#iは、接続終了イベントであるか否かを判断する(ステップS909)。
ここで、接続終了イベントの場合(ステップS909:Yes)、情報処理装置#iは、接続状態管理DB400内の現在の接続状態に「接続終了(正常時)」を設定する(ステップS910)。つぎに、情報処理装置#iは、接続状態管理DB400を参照して、他の情報処理装置#jとの接続状態「接続終了(正常時)」に対応する出力パターンPが示すタイミングに応じた出力を行う(ステップS911)。そして、情報処理装置#iは、本フローチャートによる一連の処理を終了する。
また、ステップS908において、接続終了イベントではない場合(ステップS909:No)、情報処理装置#iは、図10のフローチャートに示すステップS1001に移行する。
図10のフローチャートにおいて、まず、情報処理装置#iは、接続状態管理DB400内の現在の接続状態を、図9に示したステップS908において発生したイベントから特定される他の情報処理装置#jとの接続状態に変更する(ステップS1001)。
そして、情報処理装置#iは、周辺機器の出力パターンPを取得する(ステップS1002)。なお、周辺機器とは、情報処理装置#iと無線通信可能な範囲内に存在する情報処理装置#kである。
つぎに、情報処理装置#iは、現在の接続状態が、事前設定された接続状態であるか否かを判断する(ステップS1003)。ここで、事前設定された接続状態ではない場合(ステップS1003:No)、情報処理装置#iは、接続状態管理DB400内に新規の接続状態(種別)を登録する(ステップS1004)。
そして、情報処理装置#iは、新規の接続状態(種別)に対応する出力パターンPを含むパターンデータDを生成する(ステップS1005)。なお、パターンデータDを生成する具体的な処理手順については、図9に示したステップS905のパターンデータ生成処理と同様のため説明を省略する。
つぎに、情報処理装置#iは、生成したパターンデータDに含まれる出力パターンPと、周辺機器の出力パターンPとの相違度Dfを算出する(ステップS1006)。そして、情報処理装置#iは、算出した相違度Dfが閾値γより小さいか否かを判断する(ステップS1007)。
ここで、相違度Dfが閾値γより小さい場合(ステップS1007:Yes)、情報処理装置#iは、ステップS1005に戻る。一方、相違度Dfが閾値γ以上の場合(ステップS1007:No)、情報処理装置#iは、生成したパターンデータDを他の情報処理装置#jに送信する(ステップS1008)。
そして、情報処理装置#iは、接続状態管理DB400を参照して、他の情報処理装置#jとの現在の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行って(ステップS1009)、図9に示したステップS908に戻る。
また、ステップS1003において、事前設定された接続状態の場合(ステップS1003:Yes)、情報処理装置#iは、図11のフローチャートに示すステップS1101に移行する。
図11のフローチャートにおいて、まず、情報処理装置#iは、現在の接続状態に対応する出力パターンPと、周辺機器の出力パターンPとの相違度Dfを算出する(ステップS1101)。そして、情報処理装置#iは、算出した相違度Dfが閾値γより小さいか否かを判断する(ステップS1102)。
ここで、相違度Dfが閾値γより小さい場合(ステップS1102:Yes)、情報処理装置#iは、現在の接続状態に対応する出力パターンPを含むパターンデータDを生成する(ステップS1103)。なお、パターンデータDを生成する具体的な処理手順については、図9に示したステップS905のパターンデータ生成処理と同様のため説明を省略する。
一方、相違度Dfが閾値γ以上の場合(ステップS1102:No)、情報処理装置#iは、接続状態管理DB400を参照して、現在の接続状態に対応する出力パターンPを含むパターンデータDを他の情報処理装置#jに送信する(ステップS1104)。
そして、情報処理装置#iは、接続状態管理DB400を参照して、他の情報処理装置#jとの現在の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行って(ステップS1105)、図9に示したステップS908に戻る。
これにより、自装置だけでなく、無線接続された他の情報処理装置#jにおいて、情報処理装置#i,#j間の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行わせることができる。
<パターンデータ生成処理の具体的処理手順>
つぎに、図9に示したステップS905のパターンデータ生成処理の具体的な処理手順について説明する。
図12は、パターンデータ生成処理の具体的処理手順の一例を示すフローチャートである。図12のフローチャートにおいて、まず、情報処理装置#iは、事前設定された接続状態に対応するパターンデータDのid、typeおよびdurationを設定する(ステップS1201)。
つぎに、情報処理装置#iは、基本属性情報700を参照して、事前設定された接続状態の種別に応じた出力パターンPの出力属性(attr_x)を設定する(ステップS1202)。そして、情報処理装置#iは、他の情報処理装置#jに対応するパターンプリフィックスPrがあるか否かを判断する(ステップS1203)。
ここで、パターンプリフィックスPrがない場合(ステップS1203:No)、情報処理装置#iは、事前設定された接続状態に対応する、パターン長Tmin以上の出力パターンPをランダム生成する第1のランダム生成処理を実行する(ステップS1204)。第1のランダム生成処理の具体的な処理手順については、図13を用いて後述する。
つぎに、情報処理装置#iは、接続状態管理DB400を参照して、生成した出力パターンPと、他の出力パターンPとの相違度Dfを算出する(ステップS1205)。そして、情報処理装置#iは、算出した相違度Dfが閾値γより小さいか否かを判断する(ステップS1206)。
ここで、相違度Dfが閾値γより小さい場合(ステップS1206:Yes)、情報処理装置#iは、ステップS1204に戻る。一方、相違度Dfが閾値γ以上の場合(ステップS1206:No)、情報処理装置#iは、事前設定された接続状態に対応するパターンデータDに、生成した出力パターンPを設定する(ステップS1207)。
つぎに、情報処理装置#iは、事前設定された接続状態に対応するパターンデータDを、接続状態管理DB400に登録して(ステップS1208)、パターンデータ生成処理を呼び出したステップに戻る。
また、ステップS1203において、パターンプリフィックスPrがある場合(ステップS1203:Yes)、情報処理装置#iは、パターンプリフィックスPrのパターン長Tpを設定する(ステップS1209)。そして、情報処理装置#iは、パターン長(Tmin−Tp)以上の出力パターンPをランダム生成する第2のランダム生成処理を実行する(ステップS1210)。
なお、第2のランダム生成処理の具体的な処理手順については、ステップS1204の第1のランダム生成処理と同様のため説明を省略する。
つぎに、情報処理装置#iは、パターンプリフィックスPrと、ステップS1210において生成した出力パターンPとを接合して、事前設定された接続状態に対応する出力パターンP(P=Pr+P)を生成する(ステップS1211)。
つぎに、情報処理装置#iは、接続状態管理DB400を参照して、生成した出力パターンPと、他の出力パターンPとの相違度Dfを算出する(ステップS1212)。そして、情報処理装置#iは、算出した相違度Dfが閾値γより小さいか否かを判断する(ステップS1213)。
ここで、相違度Dfが閾値γより小さい場合(ステップS1213:Yes)、情報処理装置#iは、ステップS1210に戻る。一方、相違度Dfが閾値γ以上の場合(ステップS1213:No)、情報処理装置#iは、ステップS1207に移行する。
これにより、周辺機器の出力パターンPと異なり、かつ、他の情報処理装置#jとの間の異なる接続状態間で出力パターンPが異なるように、他の情報処理装置#jとの接続状態に対応する出力パターンPを生成することができる。
<第1のランダム生成処理の具体的処理手順>
つぎに、図12に示したステップS1204の第1のランダム生成処理の具体的な処理手順について説明する。
図13は、第1のランダム生成処理の具体的処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、情報処理装置#iは、出力パターンPにおけるt_xの「x」を「x=0」として(ステップS1301)、係数の集合St={1,3,5,8,10}から要素eをランダムに選択する(ステップS1302)。
つぎに、情報処理装置#iは、選択した要素eを用いて、「t_x=e×Tb」を算出する(ステップS1303)。なお、Tbは、基本パターン長である。そして、情報処理装置#iは、下記式(4)を用いて、パターン長Lenを算出する(ステップS1304)。
そして、情報処理装置#iは、「x」が奇数であるか否かを判断する(ステップS1305)。ここで、「x」が偶数の場合(ステップS1305:No)、情報処理装置#iは、t_xの「x」をインクリメントして(ステップS1306)、ステップS1302に戻る。
一方、「x」が奇数の場合(ステップS1305:Yes)、情報処理装置#iは、パターン長Lenがパターン長Tmin以上であるか否かを判断する(ステップS1307)。ここで、パターン長Lenがパターン長Tmin未満の場合(ステップS1307:No)、情報処理装置#iは、ステップS1306に移行する。
一方、パターン長Lenがパターン長Tmin以上の場合(ステップS1307:Yes)、情報処理装置#iは、(t_0,t_1,…,t_x)を出力パターンPとして(ステップS1308)、第1のランダム生成処理を呼び出したステップに戻る。
これにより、パターン長Tmin以上の出力パターンPをランダム生成することができる。なお、出力パターンPにおけるattr_xは、図12に示したステップS1202において設定された出力属性となる。
(他の情報処理装置#jの情報処理手順)
つぎに、他の情報処理装置#jの情報処理手順について説明する。
図14は、他の情報処理装置#jの情報処理手順の一例を示すフローチャートである。図14のフローチャートにおいて、まず、他の情報処理装置#jは、無線接続された情報処理装置#iから、情報処理装置#iとの接続状態に対応するパターンデータDを受信したか否かを判断する(ステップS1401)。
ここで、パターンデータDを受信していない場合(ステップS1401:No)、他の情報処理装置#jは、ステップS1403に移行する。一方、パターンデータDを受信した場合(ステップS1401:Yes)、他の情報処理装置#jは、受信したパターンデータDをメモリ302に記録する(ステップS1402)。
つぎに、他の情報処理装置#jは、無線接続された情報処理装置#iから、出力パターンPの出力指示を受信したか否かを判断する(ステップS1403)。ここで、出力パターンPの出力指示を受信していない場合(ステップS1403:No)、他の情報処理装置#jは、ステップS1401に戻る。
一方、出力パターンPの出力指示を受信した場合(ステップS1403:Yes)、他の情報処理装置#jは、該出力指示に含まれるパターンデータIDのパターンデータDに含まれる出力パターンPが示すタイミングに応じた出力を行う(ステップS1404)。そして、他の情報処理装置#jは、本フローチャートによる一連の処理を終了する。
これにより、情報処理装置#iからの出力指示に応じて、情報処理装置#iとの接続状態に対応する出力パターンPが示すタイミングに応じた出力を行うことができる。
以上説明したように、実施の形態1にかかる情報処理装置#iによれば、無線接続された他の情報処理装置#jとの接続状態に対応する出力パターンPを含むパターンデータDを生成し、生成したパターンデータDを他の情報処理装置#jに送信することができる。そして、情報処理装置#iによれば、他の情報処理装置#jにおいて出力パターンPが示すタイミングに応じた出力を行わせるとともに、自装置において出力パターンPが示すタイミングに応じた出力を行うことができる。
これにより、無線接続された情報処理装置#i,#jの双方において、情報処理装置#i,#jの接続状態に対応する出力パターンPが示すタイミングに応じた出力を行うことができる。このため、無線接続された情報処理装置#i,#j間の接続状態を可視化することができ、情報処理装置#i,#j間の接続関係および接続状態を分かりやすく提示することができる。
また、情報処理装置#iによれば、他の情報処理装置#jとの間の異なる接続状態間で出力パターンPが異なるように、他の情報処理装置#jとの接続状態に対応する出力パターンPを生成することができる。これにより、情報処理装置#i,#j間の接続状態の変化に応じて、異なる出力パターンPで出力を行わせることができ、情報処理装置#i,#j間の接続状態を判別可能にすることができる。
また、情報処理装置#iによれば、他の情報処理装置#jとの間の異なる接続状態間で出力パターンPの先頭から所定の部分(パターンプリフィックスPr)が共通するように、他の情報処理装置#jとの接続状態に対応する出力パターンPを生成することができる。これにより、接続先が同じであれば、出力パターンPの冒頭部分が同じタイミングでの出力となるため、利用者による接続先の判別をしやすくさせることができる。
また、情報処理装置#iによれば、他の情報処理装置#jとの接続状態が遷移したことに応じて、自装置において遷移後の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行うとともに、他の情報処理装置#jにおいて遷移後の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行わせることができる。これにより、情報処理装置#i,#j間の接続状態が変化した、すなわち、何らかのイベントが発生したことに応じて、その都度、情報処理装置#i,#j間の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行うことができる。なお、他の情報処理装置#jがプリンタである場合、例えば、印刷したドキュメントの取り忘れなどをイベントとして検出することで、機器エラーだけでなくヒューマンエラーなども含めて可視化することができ、利用者の利便性を向上させることができる。
また、情報処理装置#iによれば、出力パターンPに対応する出力装置305の種類を示す情報(type)を含むパターンデータDを、他の情報処理装置#jに送信することができる。そして、情報処理装置#iによれば、自装置において、パターンデータDに含まれる情報(type)が示す種類の出力装置305により、出力パターンPが示すタイミングに応じた出力を行うことができる。また、情報処理装置#iによれば、他の情報処理装置#jにおいて、パターンデータDに含まれる情報(type)が示す種類の出力装置305により、出力パターンPが示すタイミングに応じた出力を行わせることができる。これにより、どのような種類の出力装置305を用いて、情報処理装置#i,#j間の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行うのかを指定することができる。例えば、LEDやスピーカといった汎用的な出力デバイスを指定することで、高機能な出力デバイスを有していなくても、情報処理装置#i,#j間の接続関係および接続状態を分かりやすく提示することができる。
また、情報処理装置#iによれば、基本属性情報700を参照して、出力装置305の種類に依存する出力属性(attr)を含む出力パターンPを生成することができる。そして、情報処理装置#iによれば、自装置において、パターンデータDに含まれる情報(type)が示す種類の出力装置305により、出力パターンPが示すタイミングに応じた出力属性(attr)の出力を行うことができる。また、情報処理装置#iによれば、他の情報処理装置#jにおいて、パターンデータDに含まれる情報(type)が示す種類の出力装置305により、出力パターンPが示すタイミングに応じた出力属性(attr)の出力を行わせることができる。これにより、色や音色などの出力属性の違いによって、正常時、処理中、異常時といった接続状態の種別をユーザに判別しやすくさせることができる。例えば、正常時の色属性は「blue」で音属性は「低音域の音」といったことを利用者が事前に把握していれば、出力時の色や音色から、正常、処理中、異常といった接続状態の種別を判別することができる。
また、情報処理装置#iによれば、無線通信可能な各情報処理装置#kにおいて用いられる情報処理装置間の接続状態に対応する出力パターンPを取得し、取得した出力パターンPと異なるように、他の情報処理装置#jとの接続状態に対応する出力パターンPを生成することができる。これにより、情報処理装置#i,#jで使用される出力パターンPと周辺機器で使用される出力パターンPとの混同を防いで、情報処理装置#i,#j間の接続状態の判別をよりしやすくさせることができる。
また、情報処理装置#iによれば、ユーザからの出力指示を受け付けたことに応じて、自装置において出力パターンPが示すタイミングに応じた出力を行うとともに、他の情報処理装置#jにおいて出力パターンPが示すタイミングに応じた出力を行わせることができる。これにより、利用者は、任意のタイミングで情報処理装置#i,#j間の接続状態を確認することができる。
(実施の形態2)
つぎに、実施の形態2にかかる情報処理システム1500について説明する。実施の形態2では、管理サーバ1501において、無線接続された情報処理装置間の接続状態に対応する出力パターンPを生成する場合について説明する。なお、実施の形態1で説明した箇所と同様の箇所については図示および説明を省略する。
(情報処理システム1500のシステム構成例)
図15は、情報処理システム1500のシステム構成例を示す説明図である。図15において、情報処理システム1500は、管理サーバ1501と、情報処理装置$1〜$nと、を含む。情報処理システム1500において、管理サーバ1501および情報処理装置$1〜$nは、ネットワーク1510を介して接続される。ネットワーク1510は、例えば、近距離無線ネットワークである。
管理サーバ1501は、パターンデータ履歴DB1520を有し、情報処理装置#i,#j間の接続状態に対応する出力パターンPを管理するコンピュータである。管理サーバ1501は、自身の通信エリア内に存在する情報処理装置#iと無線通信可能である。管理サーバ1501は、例えば、無線アクセスポイントである。なお、パターンデータ履歴DB1520の記憶内容については、図17を用いて後述する。
各情報処理装置$1〜$nは、無線通信可能なコンピュータであり、互いに無線接続可能である。なお、各情報処理装置$1〜$nのハードウェア構成は、例えば、図3に示した情報処理装置#iのハードウェア構成と同様のため、ここでは図示および説明を省略する。
以下の説明では、情報処理装置$1〜$nのうちの任意の情報処理装置を「情報処理装置$i」と表記する場合がある(i=1,2,…,n)。また、情報処理装置$1〜$nのうちの情報処理装置$iとは異なる他の情報処理装置を「情報処理装置$j」と表記する場合がある(j≠i、j=1,2,…,n)。
(管理サーバ1501のハードウェア構成例)
図16は、管理サーバ1501のハードウェア構成例を示すブロック図である。図16において、管理サーバ1501は、CPU1601と、メモリ1602と、I/F1603と、ディスクドライブ1604と、ディスク1605と、を有する。また、各構成部は、バス1600によってそれぞれ接続される。
ここで、CPU1601は、管理サーバ1501の全体の制御を司る。メモリ1602は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU1601のワークエリアとして使用される。メモリ1602に記憶されるプログラムは、CPU1601にロードされることで、コーディングされている処理をCPU1601に実行させる。
I/F1603は、ネットワーク1510に接続され、ネットワーク1510を介して外部のコンピュータ(例えば、図15に示した情報処理装置$1〜$n)に接続される。そして、I/F1603は、ネットワーク1510と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。
ディスクドライブ1604は、CPU1601の制御に従ってディスク1605に対するデータのリード/ライトを制御する。ディスク1605は、ディスクドライブ1604の制御で書き込まれたデータを記憶する。ディスク1605としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
なお、管理サーバ1501は、上述した構成部のほかに、例えば、SSD、キーボード、マウス、ディスプレイ等を有することにしてもよい。
(パターンデータ履歴DB1520の記憶内容)
つぎに、管理サーバ1501が有するパターンデータ履歴DB1520の記憶内容について説明する。パターンデータ履歴DB1520は、例えば、図16に示したメモリ1602、ディスク1605等の記憶装置に記憶される。
図17は、パターンデータ履歴DB1520の記憶内容の一例を示す説明図である。図17において、パターンデータ履歴DB1520は、装置ID、接続状態(種別)、パターンデータIDおよびデータ本体のフィールドを有し、各フィールドに情報を設定することで、パターンデータ履歴情報(例えば、パターンデータ履歴情報1700−1,1700−2)をレコードとして記憶する。
ここで、装置IDは、情報処理装置$iを一意に識別する識別子である。装置IDとしては、例えば、情報処理装置$iのMACアドレスを用いることができる。接続状態(種別)は、情報処理装置$iと他の情報処理装置$jとの接続状態を示す。(種別)は、その接続状態に遷移する契機となったイベントの種別を示す。パターンデータIDは、接続状態(種別)に対応する出力パターンPを含むパターンデータDを一意に識別する識別子である。データ本体は、パターンデータIDに対応するパターンデータDのデータ本体である。
(情報処理装置$iの機能的構成例)
つぎに、実施の形態2にかかる情報処理装置$iの機能的構成例について説明する。
図18は、情報処理装置$iの機能的構成例を示すブロック図である。図18において、情報処理装置$iは、装置通信部1801と、検出部1802と、パターン取得部1803と、出力部1804と、を含む構成である。検出部1802〜出力部1804は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。また、装置通信部1801は、例えば、図3に示したI/F303により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302に記憶される。
装置通信部1801は、他の情報処理装置$jと無線通信する機能を有する。具体的には、例えば、装置通信部1801は、無線通信可能な他の情報処理装置$jを検出すると、情報処理装置$i,$j間の接続処理を行って、他の情報処理装置$jと無線接続する。
検出部1802は、他の情報処理装置$jとの接続状態を検出する。具体的には、例えば、検出部1802は、他の情報処理装置$jとの接続に成功すると、情報処理装置$i,$j間が正常に接続されたことを示す接続状態「接続完了」を検出する。また、検出部1802は、例えば、他の情報処理装置$jとの接続状態が遷移する契機となるイベントが発生した場合、当該イベントから特定される他の情報処理装置$jとの接続状態を検出する。
パターン取得部1803は、他の情報処理装置$jとの接続状態に対応する出力パターンPを含むパターンデータDを取得する。具体的には、例えば、パターン取得部1803は、他の情報処理装置$jとの接続状態が検出されたことに応じて、装置通信部1801により、当該接続状態に対応する出力パターンPを含むパターンデータDの取得要求を管理サーバ1501に送信する。
ここで、パターンデータDの取得要求には、例えば、他の情報処理装置$jとの接続状態を特定する情報や、各情報処理装置$i,$jの装置IDなどが含まれる。そして、パターン取得部1803は、装置通信部1801により、他の情報処理装置$jとの接続状態に対応する出力パターンPを含むパターンデータDを管理サーバ1501から受信することにより、当該パターンデータDを取得する。
装置通信部1801は、パターン取得部1803によって取得されたパターンデータDを、他の情報処理装置$jに送信する。ただし、他の情報処理装置$jに対して、管理サーバ1501からパターンデータDが送信される場合には、装置通信部1801がパターンデータDを送信しなくてもよい。
出力部1804は、パターン取得部1803によって取得されたパターンデータDに含まれる出力パターンPが示すタイミングに応じた出力を行う。なお、出力パターンPが示すタイミングに応じた出力を行う際の具体的な処理内容については、実施の形態1で説明した情報処理装置#iの処理内容と同様のため、ここでは詳細な説明を省略する。
また、装置通信部1801は、無線接続された他の情報処理装置#jから、他の情報処理装置#jとの接続状態に対応するパターンデータDを受信することにしてもよい。この場合、出力部1804は、受信したパターンデータDに含まれる出力パターンPが示すタイミングに応じた出力を行う。
(管理サーバ1501の機能的構成例)
つぎに、実施の形態2にかかる管理サーバ1501の機能的構成例について説明する。
図19は、管理サーバ1501の機能的構成例を示すブロック図である。図19において、管理サーバ1501は、サーバ通信部1901と、生成部1902と、出力制御部1903と、を含む構成である。生成部1902および出力制御部1903は制御部となる機能であり、具体的には、例えば、図16に示したメモリ1602に記憶されたプログラムをCPU1601に実行させることにより、その機能を実現する。また、サーバ通信部1901は、例えば、図16に示したI/F1603により、その機能を実現する。各機能部の処理結果は、例えば、メモリ1602、ディスク1605等の記憶装置に記憶される。
サーバ通信部1901は、情報処理装置$iからパターンデータDの取得要求を受信する。ここで、パターンデータDの取得要求には、上述したように、例えば、他の情報処理装置$jとの接続状態を特定する情報や、各情報処理装置$i,$jの装置IDなどが含まれる。
生成部1902は、情報処理装置$i,$j間の接続状態に対応する出力パターンPを含むパターンデータDを生成する。具体的には、例えば、生成部1902は、受信されたパターンデータDの取得要求から特定される情報処理装置$i,$j間の接続状態に対応する出力パターンPを含むパターンデータDを生成する。
なお、パターンデータDを生成する際の具体的な処理内容については、実施の形態1で説明した情報処理装置#iの処理内容と同様のため、ここでは詳細な説明を省略する。
生成されたパターンデータDのデータ本体は、例えば、情報処理装置$iの装置IDおよびパターンデータIDと対応付けて、図17に示したパターンデータ履歴DB1520に記憶される。
また、生成部1902は、自局と無線通信可能な全ての情報処理装置間で出力パターンPが異なるように、情報処理装置$i,$j間の接続状態に対応する出力パターンPを含むパターンデータDを生成することにしてもよい。
具体的には、例えば、生成部1902は、パターンデータ履歴DB1520を参照して、情報処理装置$i,$j間の接続状態に対応する出力パターンPと類似する他の出力パターンPを含むパターンデータDを検索する。なお、他の出力パターンPと類似するか否かの判断は、例えば、実施の形態1で説明した相違度Df(相違度Dfが閾値γより小さいと類似と判断)を用いて行われる。
ここで、出力パターンPと類似する他の出力パターンPを含むパターンデータDが検索された場合、生成部1902は、情報処理装置$i,$j間の接続状態に対応する出力パターンPを含むパターンデータDを生成し直す。すなわち、出力パターンPと類似する他の出力パターンPを含むパターンデータDが非検索となるまで、パターンデータDの生成を繰り返し行う。
出力制御部1903は、サーバ通信部1901により、生成部1902によって生成されたパターンデータDを情報処理装置$iに送信することにより、情報処理装置$i,$jの双方において出力パターンPが示すタイミングに応じた出力を行わせる。すなわち、情報処理装置$iへのパターンデータDの送信が、当該パターンデータDに含まれる出力パターンPの出力指示に相当する。
なお、出力制御部1903は、生成されたパターンデータDを、情報処理装置$i,$jの双方に送信することにしてもよい。この場合、情報処理装置$iから他の情報処理装置$jに対して、パターンデータDを送信しなくてもよい。
(情報処理装置$iの情報処理手順)
つぎに、実施の形態2にかかる情報処理装置$iの情報処理手順について説明する。
図20は、情報処理装置$iの情報処理手順の一例を示すフローチャートである。図20のフローチャートにおいて、まず、情報処理装置$iは、無線通信可能な他の情報処理装置$jとの接続を開始する(ステップS2001)。つぎに、情報処理装置$iは、他の情報処理装置$jとの接続が成功したか否かを判断する(ステップS2002)。
ここで、他の情報処理装置$jとの接続に失敗した場合(ステップS2002:No)、情報処理装置$iは、他の情報処理装置$jとの接続状態「接続エラー(異常時)」に対応する出力パターンPが示すタイミングに応じた出力を行う(ステップS2003)。そして、情報処理装置$iは、本フローチャートによる一連の処理を終了する。
なお、接続状態「接続エラー(異常時)」に対応する出力パターンPは、例えば、予めメモリ302に記憶されている。ただし、接続状態「接続エラー(異常時)」に対応する出力パターンPを管理サーバ1501に問い合わせることにしてもよい。
一方、他の情報処理装置$jとの接続に成功した場合(ステップS2002:Yes)、情報処理装置$iは、パターンデータDの取得要求を管理サーバ1501に送信する(ステップS2004)。取得要求対象のパターンデータDは、無線接続された他の情報処理装置$jとの接続状態に対応する出力パターンPを含むパターンデータDである。
そして、情報処理装置$iは、管理サーバ1501からパターンデータDを受信したか否かを判断する(ステップS2005)。ここで、情報処理装置$iは、パターンデータDを受信するのを待つ(ステップS2005:No)。
そして、情報処理装置$iは、パターンデータDを受信した場合(ステップS2005:Yes)、受信したパターンデータDを他の情報処理装置$jに送信する(ステップS2006)。この結果、他の情報処理装置$jにおいて、情報処理装置$iから受信したパターンデータDに含まれる出力パターンPが示すタイミングに応じた出力が行われる。
つぎに、情報処理装置$iは、受信したパターンデータDに含まれる出力パターンPが示すタイミングに応じた出力を行う(ステップS2007)。そして、情報処理装置$iは、直前のイベントが接続終了イベントか否かを判断する(ステップS2008)。ここで、接続終了イベントの場合(ステップS2008:Yes)、情報処理装置$iは、本フローチャートによる一連の処理を終了する。
一方、接続終了イベントではない場合(ステップS2008:No)、情報処理装置$iは、イベントが発生したか否かを判断する(ステップS2009)。ここで、情報処理装置$iは、イベントが発生するのを待つ(ステップS2009:No)。そして、イベントが発生した場合(ステップS2009:Yes)、情報処理装置$iは、ステップS2004に戻る。
これにより、無線接続された情報処理装置$1,$2の双方において、情報処理装置$i,$j間の接続状態に対応する出力パターンPが示すタイミングに応じた出力を行うことができる。
(管理サーバ1501の制御処理手順)
つぎに、実施の形態2にかかる管理サーバ1501の制御処理手順について説明する。
図21は、管理サーバ1501の制御処理手順の一例を示すフローチャートである。図21のフローチャートにおいて、まず、管理サーバ1501は、情報処理装置$iからパターンデータDの取得要求を受信したか否かを判断する(ステップS2101)。ここで、管理サーバ1501は、パターンデータDの取得要求を受信するのを待つ(ステップS2101:No)。
そして、管理サーバ1501は、パターンデータDの取得要求を受信した場合(ステップS2101:Yes)、パターンデータ履歴DB1520から、該取得要求から特定される情報処理装置$i,$j間の接続状態に対応する出力パターンPを含むパターンデータDを検索する(ステップS2102)。
つぎに、管理サーバ1501は、パターンデータ履歴DB1520からパターンデータDが検索されたか否かを判断する(ステップS2103)。ここで、パターンデータDが検索された場合(ステップS2103:Yes)、管理サーバ1501は、検索したパターンデータDを情報処理装置$iに送信して(ステップS2104)、本フローチャートによる一連の処理を終了する。
一方、パターンデータDが検索されなかった場合(ステップS2103:No)、管理サーバ1501は、情報処理装置$i,$j間の接続状態に対応する出力パターンPを含むパターンデータDを生成する(ステップS2105)。なお、パターンデータDを生成する具体的な処理手順については、図9に示したステップS905のパターンデータ生成処理と同様のため説明を省略する。
つぎに、管理サーバ1501は、パターンデータ履歴DB1520を参照して、生成したパターンデータDに含まれる出力パターンPと類似する他の出力パターンPを含むパターンデータDを検索する(ステップS2106)。そして、管理サーバ1501は、他の出力パターンPを含むパターンデータDが検索されたか否かを判断する(ステップS2107)。
ここで、他の出力パターンPを含むパターンデータDが検索された場合(ステップS2107:Yes)、管理サーバ1501は、ステップS2105に戻る。一方、他の出力パターンPを含むパターンデータDが検索されなかった場合(ステップS2107:No)、管理サーバ1501は、生成したパターンデータDを情報処理装置$iに送信して(ステップS2108)、本フローチャートによる一連の処理を終了する。
これにより、情報処理装置$i,$j間の接続状態に対応する出力パターンPを含むパターンデータDを生成あるいは検索して、情報処理装置$iに送信することができる。なお、ステップS2104およびステップS2108において、管理サーバ1501は、情報処理装置$iと無線接続された情報処理装置$jに対してもパターンデータDを送信することにしてもよい。
以上説明したように、実施の形態2にかかる情報処理システム1500によれば、管理サーバ1501において、無線接続された情報処理装置$i,$j間の接続状態に対応する出力パターンPを生成することができる。これにより、各情報処理装置$iにおいて情報処理装置$i,$j間の接続状態に対応する出力パターンPを生成する場合に比べて、各情報処理装置$iの構成を簡素化できる。
また、管理サーバ1501によれば、自局と無線通信可能な全ての情報処理装置間で出力パターンPが異なるように、情報処理装置$i,$j間の接続状態に対応する出力パターンPを含むパターンデータDを生成することができる。これにより、管理サーバ1501の無線通信可能な範囲内に存在する情報処理装置間同士で出力パターンPが重複しないようにして、情報処理装置$i,$j間の接続状態の判別を容易にすることができる。
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO(Magneto−Optical disk)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)無線接続された他の情報処理装置との接続状態に対応する出力パターンを生成し、
生成した前記出力パターンを前記他の情報処理装置に送信して、前記他の情報処理装置において前記出力パターンが示すタイミングに応じた出力を行わせるとともに、自装置において前記出力パターンが示すタイミングに応じた出力を行う、
制御部を有することを特徴とする情報処理装置。
(付記2)前記制御部は、
前記他の情報処理装置との間の異なる接続状態間で出力パターンが異なるように、前記他の情報処理装置との接続状態に対応する出力パターンを生成する、ことを特徴とする付記1に記載の情報処理装置。
(付記3)前記制御部は、
前記他の情報処理装置との間の異なる接続状態間で出力パターンの先頭から所定の部分が共通するように、前記他の情報処理装置との接続状態に対応する出力パターンを生成する、ことを特徴とする付記2に記載の情報処理装置。
(付記4)前記制御部は、
前記他の情報処理装置との接続状態が遷移したことに応じて、自装置において遷移後の接続状態に対応する出力パターンが示すタイミングに応じた出力を行うとともに、前記他の情報処理装置において前記遷移後の接続状態に対応する出力パターンが示すタイミングに応じた出力を行わせる、ことを特徴とする付記2または3に記載の情報処理装置。
(付記5)前記制御部は、
さらに、前記出力パターンに対応する出力装置の種類を示す情報を、前記他の情報処理装置に送信し、
自装置において前記種類の出力装置により前記出力パターンが示すタイミングに応じた出力を行うとともに、前記他の情報処理装置において前記種類の出力装置により前記出力パターンが示すタイミングに応じた出力を行わせる、ことを特徴とする付記1〜4のいずれか一つに記載の情報処理装置。
(付記6)前記出力パターンは、前記出力装置の種類に依存する出力属性を含み、
前記制御部は、
自装置において前記種類の出力装置により前記出力パターンが示すタイミングに応じた前記出力属性の出力を行うとともに、前記他の情報処理装置において前記種類の出力装置により前記出力パターンが示すタイミングに応じた前記出力属性の出力を行わせる、ことを特徴とする付記5に記載の情報処理装置。
(付記7)前記制御部は、
無線通信可能な各情報処理装置において用いられる情報処理装置間の接続状態に対応する出力パターンを取得し、
取得した前記出力パターンと異なるように、前記他の情報処理装置との接続状態に対応する出力パターンを生成する、ことを特徴とする付記1〜5のいずれか一つに記載の情報処理装置。
(付記8)前記制御部は、
ユーザからの出力指示を受け付けたことに応じて、自装置において前記出力パターンが示すタイミングに応じた出力を行うとともに、前記他の情報処理装置において前記出力パターンが示すタイミングに応じた出力を行わせる、ことを特徴とする付記1〜6のいずれか一つに記載の情報処理装置。
(付記9)第1の情報処理装置と、
前記第1の情報処理装置と無線接続された第2の情報処理装置と、
前記第1の情報処理装置と前記第2の情報処理装置との接続状態に対応する出力パターンを生成し、生成した前記出力パターンを前記第1および第2の情報処理装置に送信し、前記第1および第2の情報処理装置において前記出力パターンが示すタイミングに応じた出力を行わせる管理装置と、
を含むことを特徴とする情報処理システム。
(付記10)コンピュータが、
無線接続された他の情報処理装置との接続状態に対応する出力パターンを生成し、
生成した前記出力パターンを前記他の情報処理装置に送信して、前記他の情報処理装置において前記出力パターンが示すタイミングに応じた出力を行わせるとともに、自装置において前記出力パターンが示すタイミングに応じた出力を行う、
処理を実行することを特徴とする情報処理方法。
(付記11)コンピュータに、
無線接続された他の情報処理装置との接続状態に対応する出力パターンを生成し、
生成した前記出力パターンを前記他の情報処理装置に送信して、前記他の情報処理装置において前記出力パターンが示すタイミングに応じた出力を行わせるとともに、自装置において前記出力パターンが示すタイミングに応じた出力を行う、
処理を実行させることを特徴とする情報処理プログラム。