(58)【調査した分野】(Int.Cl.,DB名)
ネットワーク通信手段及び近距離通信手段を備えて、当該ネットワーク通信手段を介して互いに通信可能に接続される複数の情報機器と、端末とを含む情報共有システムであって、
前記端末は、指示によりキー情報を発行する手段と、
前記情報機器との間で前記近距離通信手段を用いた近距離通信を行い、前記発行したキー情報を当該近距離通信の相手となった情報機器へ送出する手段と、
を含み、
前記情報機器は、前記近距離通信手段により、キー情報を端末から受け入れる受入手段と、
他の情報機器から連携の申出を受けているか否かを判断する判断手段と、
前記判断手段による判断により、他の情報機器から連携の申出を受けていなければ、他の情報機器に対し、連携の申出を送出する申出手段と、
前記判断手段による判断により、他の情報機器から連携の申出があれば、当該連携を申出ている他の情報機器に対して前記端末から受け入れたキー情報を送信し、または前記連携を申出ている他の情報機器から、当該他の情報機器が端末から受け入れたキー情報を受信するキー情報通信手段と、
当該連携の申出を行った他の情報機器が端末から受け入れたキー情報と、自己が前記端末から受け入れたキー情報が同じであるときに、当該連携の申出元である情報機器との間で所定の通信を行って、連携設定を行う連携設定手段と、
を含み、
連携設定が行われたときには、連携設定に係る一方側である第1の情報機器が、当該連携設定に係る他方側である第2の情報機器へのアクセスを仲介する処理を行う情報共有システム。
【発明を実施するための形態】
【0015】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報共有システム1は、
図1に例示するように、情報機器の一例であるNAS(Network Attached Storage)10a,b…と、端末20とを含んで構成される。
【0016】
ここで情報機器の一例であるNAS10は、それぞれ、制御部11と、記憶部12と、ネットワーク通信部13と、近距離通信部14とを含んで構成される。また端末20は、例えば携帯電話機であり、制御部21と、記憶部22と、操作部23と、表示部24と、近距離通信部25と、回線通信部26とを含む。
【0017】
NAS10の制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態では、この制御部11は、ネットワーク通信部13を介してアクセスを受け、アクセス元(あるいはアクセスの仲介元)から受信される指示に従い、記憶部12に情報を格納し、また、当該指示に従い、記憶部12に格納された情報を読み出してネットワーク通信部13を介して外部の装置へ送出するといった、一般的なNASとしての動作を行う。
【0018】
また本実施の形態では、制御部11は、近距離通信部25が、端末からキー情報を受け入れると、このキー情報を記憶部12に格納する。そして制御部11は、他の情報機器(ここでは他のNAS10)から連携の申出を受けているか否かを判断する。
【0019】
そして制御部11は、この判断により、他のNAS10から連携の申出を受けていれば、当該連携の申出元の情報機器が端末20から受け入れたキー情報と、自己が端末20から受け入れて記憶部12に格納したキー情報が同じであるか否かを判断し、同じであれば、当該申出の送信元であるNAS10との間で所定の通信を行って、連携設定を行う。
【0020】
また制御部11は、先の判断により、他のNAS10から連携の申出を受けていなければ、ネットワーク通信部13を介して、他のNASに対し、連携の申出を送出する。そして制御部11は、当該送出された連携の申出に応答して連携設定が行われると、以降は、例えば当該連携の申出を受信した他のNAS10へのアクセスを仲介する処理を行う。または、当該連携の申出を受信した他のNAS10によって仲介されたアクセスを受け入れて、所定の処理を実行する。この制御部11の詳しい動作については、後に述べる。
【0021】
記憶部12は、メモリデバイスやディスクドライブを含んで構成される。この記憶部12は、制御部11により実行されるプログラムを保持し、制御部11のワークメモリとしても機能する。このプログラムは、DVD−ROM等のコンピュータ可読かつ持続的に情報を保持する記憶媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。またこの記憶部12は、外部の機器からの指示で格納され、あるいは読み出される情報(以下、特に区別する場合はユーザデータと呼ぶ)をディスクドライブ(ハードディスクドライブや、SSD(Solid State Drive)等)に保持する。
【0022】
ネットワーク通信部13は、ネットワークインタフェース等であり、外部の機器からのアクセスを受け入れ、当該外部の機器から受信する指示や情報を制御部11に出力する。またこのネットワーク通信部13は、制御部11から入力される指示に従って、当該指示に係る情報を外部の機器に出力する。
【0023】
近距離通信部14は、例えばNFC(Near Field Communication)やブルートゥース(登録商標)等の近距離通信を行う。この近距離通信部14もまた、近距離通信により外部の機器から受信する指示や情報を制御部11に出力する。またこの近距離通信部14は、制御部11から入力される指示に従って、当該指示に係る情報を、外部の機器に近距離通信により出力する。
【0024】
端末20の制御部21は、CPU等のプログラム制御デバイスで構成され、記憶部22に格納されたプログラムに従って動作する。本実施の形態では、この制御部21は、端末20としての一般的な機能を実現する処理を実行する。例えば端末20が携帯電話機であれば、この制御部21は、携帯電話通信網を介した音声通信の発呼や、着信の処理等を実行する。
【0025】
また本実施の形態では、この制御部21は、連携設定のためのアプリ(プログラム)を実行し、指示によりキー情報を発行する。ここでキー情報は例えば乱数値等でよい。また制御部21は、近くの情報機器(ここでの例ではNAS10)との間で近距離通信を行い、上記発行したキー情報を、当該近距離通信の相手となったNAS10へ送出する処理を行う。この制御部21の処理については、後に述べる。
【0026】
記憶部22は、制御部21により実行されるプログラムを保持する。このプログラムは、DVD−ROM等のコンピュータ可読かつ持続的に情報を保持する記憶媒体に格納されて提供され、この記憶部22に格納されたものであってもよい。またこのプログラムはネットワーク等の通信手段を介して提供され、この記憶部22に格納されたものであってもよい。さらに本実施の形態では、この記憶部22は、制御部21のワークメモリとしても動作する。
【0027】
操作部23は、テンキーや、タッチパネル等であり、利用者の操作を受け入れて、当該操作の内容を表す情報を制御部21に出力する。表示部24は、例えばディスプレイ等であり、制御部21から入力される指示に従って情報を表示出力する。
【0028】
近距離通信部25は、NFCやブルートゥース等の近距離通信を行う。この近距離通信部25は、近距離通信により外部の機器から受信する指示や情報を制御部21に出力する。またこの近距離通信部25は、制御部21から入力される指示に従って、当該指示に係る情報を、外部の機器に近距離通信により出力する。
【0029】
回線通信部26は、携帯電話回線網上にある基地局装置との間で通信を行う。この回線通信部26は、上記基地局装置から受信する情報を制御部21に出力する。またこの回線通信部26は、制御部21から入力される指示に従って、当該指示に係る情報を、基地局装置に対して送信する。なお、本実施の形態の端末20は、さらに無線LANインタフェース等のネットワークインタフェースを備えてもよい。この場合は、このネットワークインタフェースを通じても、情報の授受が行われる。
【0030】
ここで情報機器の一例であるNAS10の制御部11の動作例について説明する。本実施の形態の一例に係る制御部11は、機能的には、
図2に例示するように、受入部31と、判断部32と、連携設定部33と、申出送出部34と、仲介処理部35とを含んで構成される。
【0031】
受入部31は、近距離通信部14から、端末20が送出したキー情報を受け入れ、キー情報を受け入れると、受け入れに成功したことを表す成功コードを、端末20側に、近距離通信部14を介して送出する。
【0032】
判断部32は、受入部31が端末20からキー情報を受け入れると、当該キー情報を記憶部12に格納し、他のNAS10から、ネットワーク通信部13を介して連携の申出(子(child)となるNASをサーチする情報、以下、NEW_CHILD_DISCOVERと呼ぶ)を受けているか否かを判断する。
【0033】
連携設定部33は、判断部32の判断により、他のNAS10から連携の申出を受けていると判断すると、当該連携の申出をしている他のNAS10に対して端末20から受け入れたキー情報とともに、子として機能する旨を表す要求(REQUEST_I_PARTICIPATE_AS_CHILDと呼ぶ)を送信するか、あるいは、連携を申出ている他のNAS10から、当該他のNAS10が端末20から受け入れたキー情報を受信する。つまり、この連携設定部33は、キー情報通信手段としても動作する。
【0034】
連携設定部33は、当該連携の申出を行った他のNAS10が端末20から受け入れたキー情報と、自己が端末20から受け入れたキー情報が同じであるか否かを判断する。一例として、連携設定部33が、連携の申出をしている他のNAS10に対して端末20から受け入れたキー情報を、子として機能する旨を表す要求(REQUEST_I_PARTICIPATE_AS_CHILD)とともに送信した場合は、連携設定部33は、その後当該他のNAS10から、当該他のNAS10が記憶しているキー情報が送信したキー情報と一致していることを表す情報(具体的には連携要求、以下、REQUEST_ASSOCIATIONと呼ぶ)を受け入れたか否かにより、当該連携の申出を行った他のNAS10が端末20から受け入れたキー情報と、自己が端末20から受け入れたキー情報が同じであるか否かを判断する。
【0035】
またもう一つの例として、連携設定部33が、連携の申出をしている他のNAS10から、当該他のNASが端末20から受け入れたキー情報を受信する場合は、連携設定部33は、当該他のNAS10から受信したキー情報が、自己の記憶部12に格納したキー情報と一致しているか否かを判断する。これにより、当該連携の申出を行った他のNAS10が端末20から受け入れたキー情報と、自己が端末20から受け入れたキー情報が同じであるか否かを判断する。
【0036】
連携設定部33は、これらの少なくともいずれかの判断により、連携の申出を行った他のNAS10が端末20から受け入れたキー情報と、自己が端末20から受け入れたキー情報が同じであると判断すると、当該連携の申出元であるNAS10との間で所定の通信を行って、連携設定を行う。具体的には連携設定部33は、他のNAS10から連携要求(REQUEST_ASSOCIATION)を受信したときには、了承する旨を表す情報(OK)とともに、自己の記憶部12に格納しているユーザデータの一覧を、当該連携要求の送信元の他のNAS10に対して送出する。ここでユーザデータの一覧には、ユーザデータである各ファイルの名称や、その作成・変更の日付情報、拡張子(ファイルのタイプに関する情報)、ファイルサイズの情報の少なくともいずれかが含まれる。
【0037】
申出送出部34は、判断部32の判断により、他のNAS10から連携の申出を受けていないと判断すると、他のNAS10に対し、連携の申出(NEW_CHILD_DISCOVER)を送出する。この送出は、例えばネットワーク通信部13を介してブロードキャスト(宛先を指定せず、ネットワーク上のすべてのNAS10により受信可能な態様で送信)することにより行ってもよい。
【0038】
親として動作するNAS10(本発明の第1の情報機器に相当する)側の仲介処理部35、つまり、連携要求(REQUEST_ASSOCIATION)に対する応答として、了承する旨を表す情報(OK)を受け入れたNAS10の仲介処理部35は、例えば次のように仲介の動作を行う。すなわち、この親側の仲介処理部35は、当該了承する旨を表す情報(OK)を送信した他のNAS10(子となったNAS10(本発明の第2の情報機器に相当する))から当該子となったNAS10が格納しているユーザデータの一覧を受け入れて、当該ユーザデータの一覧を、当該子となったNAS10を識別する情報(例えば当該子となったNASのネットワークアドレス等でよい)に関連付けて記憶部12に格納する。
【0039】
以下、このように他の、子となったNAS10が格納しているユーザデータの一覧を取得した仲介処理部35は、連携設定に係る他のNAS10(子となったNAS10)へのアクセスを仲介する。一例として当該子となったNAS10が格納しているユーザデータについても自己が保持しているかのように応答する。すなわち、ユーザデータの一覧がPC等から要求されたときには、自己の記憶部12に格納されているユーザデータの一覧とともに、子となったNAS10が格納しているユーザデータの一覧も併せて提供する。また子となったNAS10が格納しているユーザデータを読み出す旨の指示を受けると、当該指示されたユーザデータを子となったNAS10から読み出して、当該指示を行ったPC等に対して、当該読み出したユーザデータを出力する。
【0040】
このとき、親となったNAS10は、指示されたユーザデータを子となったNAS10から取得し、自らの記憶部12の空き領域にコピーし、次いで当該指示を行ったPC等に対して、当該読み出してコピーしたユーザデータを出力するようにしてもよい。また、親となったNAS10は、自らの記憶部12(メモリデバイスとディスクデバイスのどちらでもよい)の空き領域(の一部または全部)をバッファとして使用し、指示されたユーザデータを部分的に子となったNAS10から取得してこの空き領域に複写しつつ、当該複写した部分を、指示を行ったPC等に対して出力する。また、出力が完了した部分は空き領域から削除していく。この場合、指示されたユーザデータのサイズが親となったNAS10の記憶部12の空き領域のサイズより大きい場合であっても仲介の処理を行うことができる。
【0041】
さらに、本実施の形態では、ユーザデータの書き込みの指示を受けると、自己の記憶部12と子となったNAS10(複数ある場合はそのいずれか)の記憶部12とのうち、指示に係るユーザデータの書き込み先をどこにするかを判断する。この判断の処理については、処理負荷や残りの記憶容量に基づいて、例えば親または子のNAS10のうち処理負荷が軽い側に格納すると判断する方法や、記憶容量の大きい側に格納すると判断する方法等、種々の方法を採用できる。そして判断の結果、書き込み先とされたNAS10が自己自身であれば、記憶部12にユーザデータを書き込む。またこのとき、当該書き込まれるユーザデータを、自分自身の記憶部12に格納されているユーザデータの一覧に含めて、ユーザデータの一覧を更新する。
【0042】
また、判断の結果、書き込み先とされたNAS10が自分自身でなければ、ネットワーク通信部13を介して、当該書き込み先となったNAS10に対してユーザデータを送出して、当該ユーザデータを書き込むよう指示する。またこのとき、当該書き込まれるユーザデータを、対応するNAS10から受信したユーザデータ一覧に含めて、ユーザデータの一覧を更新する。
【0043】
次に、本実施の形態に係る情報共有システム1の動作について、
図3を用いて説明する。利用者が端末20を操作して、連携設定のためのプログラムを起動してNAS10aに近接させると、端末20がキー情報を発行する(S1)。そして端末20はNAS10aに対して近距離通信にて、上記発行したキー情報を送信する(S2)。
【0044】
NAS10aがキー情報を受け入れて記憶し、端末20に成功コードを応答する(S3)。そしてこのNAS10aは、連携の申出であるNEW_CHILD_DISCOVERを所定タイミングごと(例えば10秒に1度)に繰返してブロードキャストする(S4)。このブロードキャストは、予め定められたタイムアウト時間まで行われる。
【0045】
次に利用者が連携設定のためのプログラムを起動して端末20をNAS10bに近接させると、端末20は先に発行したキー情報をNAS10bに対して近距離通信にて送信する(S5)。NAS10bは、端末20からキー情報を受け入れて、端末20に成功コードをレスポンスする(S6)。
【0046】
NAS10bは、その後に、NAS10aからNEW_CHILD_DISCOVERのブロードキャストを受信すると、子として機能することを表す情報(REQUEST_I_PARTICIPATE_AS_CHILD)とともに、端末20から処理S6にて受け入れたキー情報を送信する(S7)。
【0047】
NAS10aはNAS10bから、子として機能することを表す情報(REQUEST_I_PARTICIPATE_AS_CHILD)とキー情報とを受信し、当該受信したキー情報と、処理S3にて記憶したキー情報とが一致するか否かを調べる(S8)。ここで、これらが一致した場合(Yesの場合)、NAS10bとの連携設定を行う(S9)。ここでの例ではNAS10aは、NAS10bを識別する情報(例えばネットワークアドレスや機器名称、MAC(Media Access Control)アドレス等、NAS10bに固有な情報)を子として機能するNAS10を表す情報として記憶する。
【0048】
そしてNAS10aは、親として機能するものとして、連携要求(REQUEST_ASSOCIATION)を、子となったNAS10bに対して送出する(S10)。このときNAS10aは、NAS10aを識別する情報(例えばネットワークアドレスや機器名称、MACアドレス等、NAS10aに固有な情報)を併せて送出する。
【0049】
NAS10bは連携要求(REQUEST_ASSOCIATION)を受信し、併せて受信したNAS10aを識別する情報を記憶する。そして連携要求(REQUEST_ASSOCIATION)に対する応答として、了承する旨を表す情報(OK)をNAS10aに対して送出する(S11)。
【0050】
またこのとき子となったNAS10bは、当該NAS10bが記憶部12に格納しているユーザデータの一覧を、NAS10aに送出する。そしてNAS10aが当該ユーザデータの一覧を、当該子となったNAS10bを識別する情報に関連付けて記憶部12に格納する(S12)。
【0051】
以下、親となったNAS10aは、既に述べたように、例えば、子となったNAS10bが格納しているユーザデータの一覧を参照しつつ、子となったNAS10bへのアクセスを仲介し、当該子となったNAS10bが格納しているユーザデータについても自己が保持しているかのように応答する。具体的にはユーザデータの一覧がPC等から要求されたときには、NAS10aは、自己の記憶部12に格納されているユーザデータの一覧とともに、子となったNAS10bが格納しているユーザデータの一覧も併せて提供する。
【0052】
また子となったNAS10bが格納しているユーザデータを読み出す旨の指示を受けると、NAS10aは子となったNAS10bから当該指示に係るユーザデータを読み出して、当該指示を行ったPC等に対して、当該読み出したユーザデータを出力する。
さらに親となったNAS10aは、利用者のアカウントの設定追加や変更など、アクセス権の設定指示を受け入れると、当該設定指示に従って自己のアクセス権設定を更新するとともに、当該設定指示を、子となったNAS10bへ送出する。子となったNAS10bは、当該設定指示に応じて、親となったNAS10aと同様にアクセス権設定を更新する。
【0053】
またアクセス権の設定は、アカウント(利用者名やグループ名の情報、クライアントとなる端末を特定する情報等)に限られず、連携の設定において親となっているか子となっているかを表す情報や、連携設定の元となった端末20を特定する情報、連携設定ごとに固有の情報など種々のものがあるが、設定項目によってはNASごとに固有の設定となるべきものがある。
【0054】
そこで親となったNASから子となったNASに対して設定指示を送出する場合は、親となったNASには予め設定項目ごとに子となったNASへ設定指示を送出するか否かを表す指示送出許否情報を関連付けておき、親となったNASが設定指示を受け入れたときには、当該受け入れた設定指示において設定が更新される設定項目のうち、上記指示送出許否情報において、設定指示を送出するものとして指定されている設定項目に係る設定指示を選択し、当該選択した設定指示を子となったNAS宛に送出するようにしてもよい。子となったNAS側では、当該送出された設定指示に従って、自己の設定内容を更新する。
【0055】
さらに親となったNAS側が送出する設定指示は、アクセス権の設定に関わるものに限られなくてもよい。例えば、端末とのセッション情報等を子となったNAS側にも送出しておき、子となったNASにおいても当該セッション情報を保持してもよい。以下、親となったNASの間で当該セッション情報を用いて通信を行っていた端末は、そのまま子となったNASに対して同じセッション情報を用いて通信を継続できることとなる。
【0056】
またNAS10aは、処理S8において、NAS10bから受信したキー情報と、処理S3にて記憶したキー情報とが一致しないと判断した場合(Noの場合)、NAS10bに対して連携要求を送出することなく、その他の処理を続ける。
【0057】
[子となった情報機器に対する操作により連携が設定される例]
またここまでの例では、親となるべき情報機器(ここでの例ではNAS10)に対して先に端末20を近接させる操作を行うこととしていたが、本実施の形態はこれに限られない。すなわち本実施の形態の情報共有システム1では、子となるべきNAS10との連携が行われた後に、当該子となったNAS10に対して操作を行うことで、新たな連携が設定されるようになっていてもよい。
【0058】
具体的に本実施の形態では、子として動作するNAS10(本発明の第2の情報機器に相当する)に対して端末20を近接させ、端末20にて新たに発行された第2のキー情報を当該子として動作するNAS10に受け入れさせると、この子として動作するNAS10が、親となっているNAS10(本発明の第1の情報機器に相当する)に対して当該第2のキー情報を送出する。
【0059】
そしてこの第2のキー情報を受信した、親として動作するNAS10は、当該第2のキー情報を記憶するとともに、ネットワーク通信部13を介して他のNAS10に対し、連携の申出(NEW_CHILD_DISCOVER)をブロードキャストし、以下、既に説明した処理により、他のNAS10(既に子となっているNAS10以外の他のNAS10)との連携の設定を行う。
【0060】
この例による本発明の実施の形態に係る情報共有システム1の動作を、
図4を用いて説明する。利用者が端末20を操作して、連携設定のためのプログラムを起動して既に子として設定されているNAS10bに近接させると、端末20がキー情報(区別のため第2のキー情報と呼ぶ)を発行する(S21)。そして端末20はNAS10bに対して近距離通信にて、上記発行した第2のキー情報を送信する(S22)。
【0061】
NAS10bがキー情報を受け入れて記憶し、端末20に成功コードを応答する(S23)。そしてこのNAS10bは、子として機能することを表す情報(REQUEST_I_PARTICIPATE_AS_CHILD)とともに、端末20から処理S22にて受け入れた第2のキー情報を、親(自己宛のアクセスを仲介する情報機器)であるNAS10aに対して送信する(S24)。
【0062】
NAS10aは、この第2のキー情報を受信すると、当該第2のキー情報を記憶し、送信元であるNAS10bに対して、了承する旨を表す情報(OK)を送出する(S25)。その後、NAS10aは、連携の申出であるNEW_CHILD_DISCOVERを所定タイミングごと(例えば10秒に1度)に繰返してブロードキャストする(S26)。このブロードキャストは、予め定められたタイムアウト時間まで行われる。
【0063】
次に利用者が連携設定のためのプログラムを起動して端末20を子となるべきNAS10cに近接させると、端末20は先に発行した第2のキー情報をNAS10cに対して近距離通信にて送信する(S27)。NAS10cは、端末20から第2キー情報を受け入れて、端末20に成功コードをレスポンスする(S28)。
【0064】
NAS10cは、その後に、NAS10aからNEW_CHILD_DISCOVERのブロードキャストを受信すると、子として機能することを表す情報(REQUEST_I_PARTICIPATE_AS_CHILD)とともに、端末20から処理S27にて受け入れた第2のキー情報を、NAS10aに対して送信する(S29)。NAS10aはNAS10cから、子として機能することを表す情報(REQUEST_I_PARTICIPATE_AS_CHILD)とキー情報とを受信し、当該受信したキー情報と、処理S25にて記憶したキー情報とが一致するか否かを調べる(S30)。
【0065】
ここで、これらが一致した場合(Yesの場合)、NAS10cとの連携設定を行う(S31)。ここでの例ではNAS10aは、NAS10cを識別する情報(例えばネットワークアドレス)を子として機能するNAS10を表す情報として
記憶する。
【0066】
そしてNAS10aは、親として機能するものとして、連携要求(REQUEST_ASSOCIATION)を、子となるNAS10cに対して送出する(S32)。このときNAS10aは、NAS10aを識別する情報(例えばネットワークアドレス)を併せて送出する。
【0067】
NAS10cは連携要求(REQUEST_ASSOCIATION)を受信し、併せて受信したNAS10aを識別する情報を記憶する。そして連携要求(REQUEST_ASSOCIATION)に対する応答として、了承する旨を表す情報(OK)をNAS10aに対して送出する(S33)。
【0068】
またこのとき子となったNAS10cは、当該NAS10cが記憶部12に格納しているユーザデータの一覧を、NAS10aに送出する。そしてNAS10aが当該ユーザデータの一覧を、当該子となったNAS10cを識別する情報に関連付けて記憶部12に格納する(S34)。
【0069】
なお、子となるべきNAS10との連携が行われた後に、親となっているNAS10に対して端末20を近接させる操作が行われ、端末20にて新たに発行された第2のキー情報が親となっているNAS10によって受け入れられた場合は、親として動作するNAS10は、当該第2のキー情報を記憶するとともに、ネットワーク通信部13を介して他のNAS10に対し、連携の申出(NEW_CHILD_DISCOVER)をブロードキャストする。そして以下、既に説明した処理により、他のNAS10(既に子となっているNAS10以外の他のNAS10)との連携の設定を行う。
【0070】
[親となった情報機器の状況に応じた処理]
さらに本実施の形態においては、子となったNAS10(本発明の第2の情報機器に相当する)は、親となっているNAS10(本発明の第1の情報機器に相当する)に対し、所定のタイミングごとに繰り返して応答を要求(ポーリング)してもよい。そして親となっているNAS10からの応答が、予め定められた時間内(タイムアップ時間内)にない場合、子となっているNAS10は、自己が親となるための処理(いわゆるフェイルオーバの処理)を実行する。
【0071】
具体的にこの場合は、NAS10は過去に端末20から受信したキー情報を蓄積して保持しておく。そして親からの応答が得られなかった、子のNAS10は、連携の申出を他のNAS10に対してブロードキャストすることとなる。
【0072】
この例ではまた、各NAS10は、過去に端末20から受信したキー情報(複数ある場合はそのいずれか)のうちに、他のNAS10が過去に端末20から受信したキー情報(複数ある場合はそのいずれか)に一致するものがある場合に、他のNAS10との間で連携設定を行う。
【0073】
具体的な動作の一例を説明すると、各NAS10は、連携の申出を受信すると、当該連携の申出の送出元であるNAS10に対し、子として機能することを表す情報(REQUEST_I_PARTICIPATE_AS_CHILD)と、自己が記憶しているすべてのキー情報とを送出する。そして連携の申出を送出したNAS10は、他のNAS10から受信したすべてのキー情報のうちに、自己が記憶しているキー情報のいずれかに一致するものがあるか否かを調べる。そして一致するものがあれば、連携の申出を送出したNAS10は、自己が記憶しているキー情報のいずれかに一致するキー情報を送出した他のNAS10に対して連携要求を送出し、またそのNAS10を識別する情報を記憶する。
【0074】
そして当該連携要求を受信したNAS10は、連携の要求を了承する情報を送出するとともに、自己の記憶しているユーザデータの一覧を、連携要求の送信元に対して送出して連携の設定を行う。
【0075】
[親となった情報機器の状況に応じた別の処理]
さらにここでは、子となったNAS10が親となったNAS10に対して定期的にポーリングを行い、応答がなくなった場合に、子となったNAS10が親になり代わる例について述べたが、親が交代する処理を実施する条件は、これに限られない。
【0076】
本実施の形態のある例では、親となったNAS10(他の情報機器へのアクセスを仲介している第1の情報機器に相当する)が、所定の条件が満足されたと判断したときに、他のNAS10(他の情報機器)のいずれかを選択して、親として動作するよう指示(つまりアクセスの仲介を行うよう指示)してもよい。
【0077】
具体的に上記所定の条件は、処理負荷や利用者の指示があった場合などである。親として動作しているNAS10は、当該所定の条件が満足されるか否かを、所定のタイミングごとに繰返して判断する。そして当該所定の条件が満足されたと判断すると、アクセスの仲介を行っている(つまり、自己を親として、子としての動作を行っている)NAS10のうち一つを選択する。複数ある場合にどのNAS10を選択するかは、その時点で処理負荷がもっとも低いもの、との基準によってもよいし、最後に子として登録されたものを選択することとしてもよい。
【0078】
親として機能するNAS10は、連携設定を行ったときに、子として機能するNAS10から受信したキー情報を、その送信元であるNAS10を識別する情報に関連付けて蓄積して記憶しておく。そして親として機能しているNAS10は、上記選択したNAS10に対して、親となるべき旨の指示を送出するとともに、当該選択したNAS10を識別する情報に関連付けられたキー情報(複数ある場合はそのすべて)を送出する。
【0079】
すると、当該親となるべき旨の指示を受けたNAS10は、受信したキー情報を記憶し、他のNAS10(その時点で親として機能しているNAS10を含む)に対し、連携の申出(NEW_CHILD_DISCOVER)をブロードキャストにて送出する。
【0080】
また、親となったNAS10が、他のNAS10(他の情報機器)のいずれかを選択して、親として動作するよう指示(つまりアクセスの仲介を行うよう指示)する上記所定の条件は次のようなものでもよい。
【0081】
すなわち上記所定の条件は、親となったNAS10がPC等から、子となったNAS10が格納しているユーザデータを読み出す旨の指示を受け入れたときに、当該指示されたユーザデータのサイズが、自らの記憶部12の空き領域のサイズに比べて小さい、あるいは、指示されたユーザデータのサイズSuserと、上記空き領域のサイズSSpaceとの比r=Suser/Sspaceが予め定めたしきい値よりも大きいなどの条件(つまりこの条件は、仲介処理が不可能であるか、あるいは負荷が比較的大きくなるとの条件に相当する)としてもよい。さらに所定の条件には、NAS10の機能に係る条件、例えば子となったNAS10の機種の情報などから、自らにない機能(具体的にはトランスコーダなど)を有しているなどといった条件が含まれてもよい。
【0082】
この例では、当該条件が満足される場合、親となっているNAS10は、指示されたユーザデータを格納しているNAS10に対して、上述の例と同様、親として動作するよう指示することになる。
【0083】
[変形例]
また、ここまでの説明において、子となったNAS10に対して利用者が直接アクセスした場合、当該子となったNAS10は、当該アクセスの内容を、親として機能しているNAS10に対して転送することとしてもよい。
【0084】
さらにここまでの説明では端末20とNAS10との間の通信は、近距離通信によるものとしたが、本実施の形態はこれに限られない。例えば各NAS10はネットワーク通信部13を介して携帯電話通信網を経由したメッセージサービス(SMS)やメール、ソーシャル・ネットワーク・サービスにおけるメッセージサービス等により、端末20との間で電文の送受信が可能となっていてもよい。この場合、端末20とNAS10との間の通信は、これらのメッセージサービス等によって行われても構わない。
【0085】
また、ここまでの説明におけるNAS10の連携設定部33の処理は、他のNAS10のファイルを仲介するものであるとしたが、連携の処理はこれに限られない。例えば、フェイルオーバやレプリケーション等を連携の処理として行ってもよい。
【0086】
ここでフェイルオーバとは一対のNAS10a,bを用い、一方(例えばNAS10b)をバックアップとして設定し、他方(例えばNAS10a)をメインとして設定するものである。利用者がメインとして設定されたNAS10aに対してユーザデータを格納すると、バックアップであるNAS10bにも同様に、同じユーザデータがバックアップして格納される(レプリケーションの一態様)。
【0087】
やがてNAS10aにトラブルが生じたときに、フェイルオーバの動作を行うよう指示を受けると、NAS10aは、自己に設定されたIPアドレスをNAS10bに通知してNAS10bのIPアドレスを自己に設定されていたIPアドレスに設定させる。またNAS10aは自己のIPアドレスを現在のものから変更する。
【0088】
これにより、利用者はもともとNAS10aに設定されていたIPアドレスに対してアクセスすれば、トラブルの生じたNAS10aではなく、NAS10bとの間で通信をすることとなり、NAS10aのトラブルを意識することなくNAS10a,b内にあるユーザデータにアクセス可能となる。
【0089】
またレプリケーションでは、後にフェイルオーバの処理を行うことを前提に、メインとなるNAS10の全体をバックアップの対象とすることも可能であるし、後にフェイルオーバの処理を行うことを目的とせず、一部のディレクトリのみを対象として(対象フォルダを設定して)当該対象フォルダ内のユーザデータのみをバックアップの対象とすることも可能である。
【0090】
本実施の形態のある例では、NAS10の連携設定部33が連携の処理としてレプリケーションの設定を行う。すなわちこの例では、判断部32が、受入部31が端末20からキー情報を受け入れると、当該キー情報を記憶部12に格納し、他のNAS10(やがてメインとして機能するNAS10)から、ネットワーク通信部13を介して連携の申出(バックアップとして機能する申出)を受けているか否かを判断する。
【0091】
そして連携設定部33が、判断部32の判断により、他のNAS10から連携の申出を受けていると判断すると、当該連携の申出をしている他のNAS10に対して端末20から受け入れたキー情報とともに、バックアップとして機能する旨を表す要求を送信するか、あるいは、連携を申出ている他のNAS10から、当該他のNAS10が端末20から受け入れたキー情報を受信する。
【0092】
そして連携設定部33は、当該連携の申出を行った他のNAS10が端末20から受け入れたキー情報と、自己が端末20から受け入れたキー情報が同じであるか否かを判断する。ここで連携の申出を行った他のNAS10が端末20から受け入れたキー情報と、自己が端末20から受け入れたキー情報が同じであると判断すると、連携設定部33は、当該連携の申出元であるNAS10との間で所定の通信を行って、連携設定(他のNAS10をメイン、自己をバックアップとして設定する動作)を行う。
【0093】
また申出送出部34は、判断部32の判断により、他のNAS10から連携の申出を受けていないと判断すると、他のNAS10に対し、連携の申出を送出する。この送出は、例えばネットワーク通信部13を介してブロードキャスト(宛先を指定せず、ネットワーク上のすべてのNAS10により受信可能な態様で送信)することにより行ってもよい。
【0094】
なお、連携の設定としてレプリケーションの設定を行う場合に、バックアップの対象がNAS10の保持する一部のディレクトリに限られる場合(対象フォルダが設定されるべき場合)は、メインとなるべきNAS10は、端末20からキー情報を受け入れる前に、予め対象フォルダの指定を受け入れておく。この指定は、例えば端末20やPC等からネットワークを介して受け入れておくこととする。そして当該メインとなるべきNAS10は、連携の申出を送出する際に、当該対象フォルダの名称等を併せて送出する。
【0095】
このように対象フォルダが設定されるべき場合には、バックアップとして動作することとなるNAS10は、連携の申出とともに対象フォルダの名称等を受け入れたときに、当該受け入れた名称のフォルダを新規に作成することとしてもよい。
【0096】
また連携の設定として、後にフェイルオーバを行うことを前提としたレプリケーションの設定を行う場合には、その時点でバックアップとして動作することとなるNAS10の内容が、メインとして動作することとなるNAS10の内容で上書きされるため、連携設定部33は、連携設定を行うときに予め定められた宛先に連携設定(レプリケーションの設定)を行ってもよいか否かを問い合わせるメールやメッセージを送出してもよい。
【0097】
そして連携設定部33は、このメールやメッセージへの返信として、連携設定を行ってもよい旨のメールやメッセージが受信されたときに、連携設定の処理を継続することとしてもよい。なお、この返信が、問い合わせのメールやメッセージを送出してから予め定められた期間までに受信されない場合や返信として連携設定を行わない旨のメールやメッセージが受信された場合には、連携設定部33は、連携設定の処理を中止する。
【0098】
またこのようにフェイルオーバのためにレプリケーションの設定を行う場合、メインとして動作するNAS10と、バックアップとなるNAS10との間には、その容量や機種について条件がある場合がある。一例ではメインとして動作するNAS10の容量が、バックアップとなるNAS10の容量以下でなければならない。また、一般的にはメインとして動作するNAS10とバックアップとして動作するNAS10とが同じメーカーの製品である、または同じ機種であるといった条件がある場合がある。
【0099】
そこでこの場合は、判断部32の判断により、他のNAS10から連携の申出を受けていないと判断した連携設定部33(メインとして機能するNAS10側の連携設定部33)は、他のNAS10に対し、連携の申出を送出する際に、自己の容量や機種名等、この条件に係る情報を送出する。
【0100】
そして他のNAS10から連携の申出を受けていると判断した連携設定部33(バックアップとして機能するNAS10側の連携設定部33)は、上記条件に係る情報をメインとして機能するNAS10側から受信し、自己の容量や機種名等、条件に係る情報と、受信した情報とを比較する。そしてこれらの比較により、条件が満足されないと判断されたときには、その旨を予め定められた宛先宛のメールやメッセージ等で通知し、連携設定の処理を中断してもよい。
【0101】
また連携の処理としてフェイルオーバを行う場合、判断部32が、受入部31が端末20からキー情報を受け入れて当該キー情報を記憶部12に格納し、他のNAS10(トラブルが生じているNAS10)から、ネットワーク通信部13を介して連携の申出(フェイルオーバする申出)を受けているか否かを判断する。この例では、この連携の申出に、トラブルが生じているNAS10に設定されているIPアドレスを含めるものとしてもよい。
【0102】
そして連携設定部33が、判断部32の判断により、他のNAS10から連携の申出を受けていると判断すると、当該連携の申出をしている他のNAS10に対して端末20から受け入れたキー情報とともに、フェイルオーバにより置き換わる旨を表す要求を送信するか、あるいは、連携を申出ている他のNAS10から、当該他のNAS10が端末20から受け入れたキー情報を受信する。
【0103】
そして連携設定部33は、当該連携の申出を行った他のNAS10が端末20から受け入れたキー情報と、自己が端末20から受け入れたキー情報が同じであるか否かを判断する。ここで連携の申出を行った他のNAS10が端末20から受け入れたキー情報と、自己が端末20から受け入れたキー情報が同じであると判断すると、連携設定部33は、当該連携の申出元であるNAS10との間で所定の通信を行って、連携設定(自己のIPアドレスを、他のNASから通知されたIPアドレスに設定する動作)を行う。
【0104】
また申出送出部34は、判断部32の判断により、他のNAS10から連携の申出を受けていないと判断すると、他のNAS10に対し、連携の申出を送出する。この送出は、例えばネットワーク通信部13を介してブロードキャスト(宛先を指定せず、ネットワーク上のすべてのNAS10により受信可能な態様で送信)することにより行ってもよい。
【0105】
さらに、フェイルオーバ時にはLANケーブルにより、メインであったNAS10とバックアップであったNAS10とを直接接続するべき場合もある。このような場合は、連携の申出を行った他のNAS10が端末20から受け入れたキー情報と、自己が端末20から受け入れたキー情報が同じであると判断した連携設定部33は、予め定めた宛先宛のメールやメッセージ等により、LANケーブルにより、メインであったNAS10とバックアップであったNAS10とを直接接続するべき旨のメッセージを送出して、作業の案内を行ってもよい。