(57)【特許請求の範囲】
【請求項１】
ネットワーク接続可能な記憶装置と、案内サーバと、クライアントデバイスとがネットワークを介して接続されているネットワークストレージシステムであって、
前記クライアントデバイスは、
前記案内サーバに対して前記記憶装置への通信開始を要求する接続要求部と、
前記記憶装置からの問い合わせを受信し、前記問い合わせに対する応答として、前記記憶装置に対するデータの操作要求を送信する操作要求部と、
を備え、
前記案内サーバは、
前記記憶装置からの問い合わせを受信する案内処理部であって、前記クライアントデバイスからの前記通信開始の要求がない場合に、前記問い合わせに対する応答として、前記通信開始の要求がない旨の情報を送信し、前記通信開始の要求が有る場合に、前記問い合わせに対する応答として、当該クライアントデバイスの宛先である第１の宛先を送信する案内処理部を備え、
前記記憶装置は、
前記記憶装置に予め記憶されている前記案内サーバの宛先である第２の宛先を用いて、前記案内サーバに対して、前記第１の宛先を問い合わせ、前記第１の宛先を取得する宛先取得部と、
取得された前記第１の宛先を有する前記クライアントデバイスに対して、自身に対する前記操作要求を問い合わせ、前記操作要求を取得する操作要求取得部と、
取得された前記操作要求に基づいて、前記クライアントデバイスとの間で、データの送信と受信の少なくとも一方を行う要求送信部と、
を備える、ネットワークストレージシステム。
【請求項２】
請求項１記載のネットワークストレージシステムであって、
前記記憶装置の前記要求送信部は、前記クライアントデバイスに対して、
前記取得された前記操作要求に基づく要求と、前記取得された前記操作要求に基づいて前記記憶装置内で処理されたデータと、の少なくとも一方を送信する、ネットワークストレージシステム。
【請求項３】
請求項１または２記載のネットワークストレージシステムであって、
前記記憶装置の前記操作要求取得部は、
取得された前記第１の宛先に対する前記操作要求の問い合わせに対する応答が所定の時間得られなかった場合は、同一の宛先に対して前記操作要求の再問い合わせを行う、ネットワークストレージシステム。
【請求項４】
請求項３記載のネットワークストレージシステムであって、さらに、
前記記憶装置と、前記クライアントデバイスとの間のデータ転送を中継するためのリレーサーバを備え、
前記記憶装置の前記操作要求取得部は、
前記再問い合わせに対する応答が所定の時間得られなかった場合は、前記リレーサーバに対して、取得された前記第１の宛先とのデータ転送の中継を要求する、ネットワークストレージシステム。
【請求項５】
請求項１ないし４のいずれか一項記載のネットワークストレージシステムであって、
前記記憶装置の前記操作要求取得部は、
取得された前記第１の宛先に対して、定期的に前記操作要求を問い合わせる、ネットワークストレージシステム。
【請求項６】
請求項１ないし５のいずれか一項記載のネットワークストレージシステムであって、
前記記憶装置は、さらに、前記宛先取得部が取得した前記第１の宛先を記憶する宛先記憶部を備え、
前記操作要求取得部は、前記宛先記憶部に記憶された宛先を用いて、前記クライアントデバイスに対して前記操作要求を問い合わせる、ネットワークストレージシステム。
【請求項７】
請求項１ないし６のいずれか一項記載のネットワークストレージシステムであって、
前記操作要求は、リストの取得の要求と、アップロードの要求と、ダウンロードの要求と、ファイルまたはフォルダの新規作成の要求と、ファイルまたはフォルダの削除の要求と、のうちのいずれかである、ネットワークストレージシステム。
【請求項８】
ネットワーク接続可能な記憶装置と、案内サーバと、クライアントデバイスとがネットワークを介して接続されているネットワークストレージシステムにおけるデータ操作方法であって、
（ａ）前記クライアントデバイスが、前記案内サーバに対して前記記憶装置への通信開始を要求する工程と、
（ｂ）前記記憶装置が、前記記憶装置に予め記憶されている前記案内サーバの宛先である第２の宛先を用いて、前記案内サーバに対して、前記クライアントデバイスの宛先である第１の宛先を問い合わせる工程と、
（ｃ）前記案内サーバが、前記クライアントデバイスからの前記通信開始の要求がない場合に、前記問い合わせに対する応答として、前記通信開始の要求がない旨の情報を送信し、前記通信開始の要求が有る場合に、前記問い合わせに対する応答として、当該クライアントデバイスの前記第１の宛先を送信する工程と、
（ｄ）前記記憶装置が、前記送信された前記第１の宛先を取得する工程と、
（ｅ）前記記憶装置が、前記取得された前記第１の宛先を有する前記クライアントデバイスに対して、自身に対するデータの操作要求を問い合わせる工程と、
（ｆ）前記クライアントデバイスが、前記問い合わせに対する応答として、前記記憶装置に対する前記操作要求を送信する工程と、
（ｇ）前記記憶装置が、前記送信された前記操作要求を取得する工程と、
（ｈ）前記記憶装置が、前記工程（ｇ）により取得された前記操作要求に基づいて、前記クライアントデバイスとの間で、データの送信と受信の少なくとも一方を行う工程と、
を備える、データ操作方法。
【請求項９】
記憶装置であって、
ネットワークを介して接続されている案内サーバの宛先である第２の宛先が予め記憶されている記憶部と、
前記記憶部の前記第２の宛先を用いて、前記案内サーバに対して、ネットワークを介して接続されているクライアントデバイスの宛先である第１の宛先を問い合わせ、前記第１の宛先を取得する宛先取得部と、
取得された前記第１の宛先を有する前記クライアントデバイスに対して、自身に対するデータの操作要求を問い合わせ、前記操作要求を取得する操作要求取得部と、
取得された前記操作要求に基づいて、前記クライアントデバイスとの間で、データの送信と受信の少なくとも一方を行う要求送信部と、
を備える、記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット経由でＬＡＮ内の記憶装置にアクセスする技術に関する。
【背景技術】
【０００２】
近年、スマートフォン等の携帯可能な機器において、パーソナルコンピュータと同様の多種多様な機能が提供され、利用されている。スマートフォンには、音声データ、画像データ、アプリケーションデータ等の様々なデータが格納される。このため、スマートフォンのメモリ容量は多ければ多いほど良い。しかし、スマートフォンは、その形態性を向上させるために、搭載されるメモリの容量に制限がある場合が多い。
【０００３】
そこで、大容量の外部記憶装置を有するネットワーク接続ストレージ（ＮＡＳ：Network Attached Storage）を家庭やオフィス内のＬＡＮに接続し、このネットワーク接続ストレージに対して、インターネット経由でアクセスする技術が提案されている。インターネット経由でＬＡＮ内のネットワーク接続ストレージへアクセスする技術としては、例えば、「Ｗｅｂアクセス」と呼ばれる機能（非特許文献１参照）や、「ＣｌｏｕｄＳｔｏｒ」と呼ばれる機能（非特許文献２参照）が知られている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】「INTERNET Watch、  清水理史のイニシャルB、  第409回：iPhone/iPad用アプリで外出先からNASを活用バッファロー「WebAccess i」」、http://internet.watch.impress.co.jp/docs/column/shimizu/20100928_396441.html
【非特許文献２】「PC Watch、  ［CES 2011レポート］バッファロー編〜Pogoplug機能内蔵NASや、HDD8台搭載可能なTeraStation」、http://pc.watch.impress.co.jp/docs/news/20110111_419544.html
【発明の概要】
【発明が解決しようとする課題】
【０００５】
「Ｗｅｂアクセス」は、ネットワーク接続ストレージが接続されているルータのＵＰｎＰ機能を利用して、スマートフォンとネットワーク接続ストレージの直接アクセスを可能とする機能である。しかし、「Ｗｅｂアクセス」では、ルータにＵＰｎＰ機能が未搭載である場合、利用者はルータのポートフォワーディングの設定を行わなければならず複雑な手順が必要とされるという問題があった。また、「Ｗｅｂアクセス」では、ルータにＵＰｎＰ機能が搭載されておらず、かつ、ルータがポートフォワーディングの設定変更にも非対応の場合、スマートフォンとネットワーク接続ストレージが接続できないという問題があった。また、「ＣｌｏｕｄＳｔｏｒ」は、インターネット上に、スマートフォンとネットワーク接続ストレージとの間のデータ転送を中継するリレーサーバを設けることで、両者のアクセスを可能とする機能である。しかし、「ＣｌｏｕｄＳｔｏｒ」では、データ転送を中継するリレーサーバが、スマートフォンの台数の増加などに伴って高負荷状態となるため、データ転送の処理速度低下や、サーバダウンによるデータ転送サービス中止等の事態が生じるおそれがあるという問題があった。
【０００６】
また、このような問題は、ネットワーク接続ストレージに限定されず、ネットワーク接続可能な記憶装置全般に共通する問題であった。
【０００７】
本発明は、ルータのＵＰｎＰ機能や、データ転送を中継するリレーサーバを用いることなく、インターネットを経由して、ＬＡＮ内の記憶装置にアクセスすることを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することができる。ネットワーク接続可能な記憶装置と、案内サーバと、クライアントデバイスとがネットワークを介して接続されているネットワークストレージシステムであって、前記クライアントデバイスは、前記案内サーバに対して前記記憶装置への通信開始を要求する接続要求部と、前記記憶装置からの問い合わせを受信し、前記問い合わせに対する応答として、前記記憶装置に対するデータの操作要求を送信する操作要求部と、を備え、前記案内サーバは、前記記憶装置からの問い合わせを受信する案内処理部であって、前記クライアントデバイスからの前記通信開始の要求がない場合に、前記問い合わせに対する応答として、前記通信開始の要求がない旨の情報を送信し、前記通信開始の要求が有る場合に、前記問い合わせに対する応答として、当該クライアントデバイスの宛先である第１の宛先を送信する案内処理部を備え、前記記憶装置は、前記記憶装置に予め記憶されている前記案内サーバの宛先である第２の宛先を用いて、前記案内サーバに対して、前記第１の宛先を問い合わせ、前記第１の宛先を取得する宛先取得部と、取得された前記第１の宛先を有する前記クライアントデバイスに対して、自身に対する前記操作要求を問い合わせ、前記操作要求を取得する操作要求取得部と、取得された前記操作要求に基づいて、前記クライアントデバイスとの間で、データの送信と受信の少なくとも一方を行う要求送信部と、を備える、ネットワークストレージシステム。そのほか、本発明は、以下の形態又は適用例として実現することが可能である。
【０００９】
［適用例１］
ネットワーク接続可能な記憶装置と、案内サーバと、クライアントデバイスとがネットワークを介して接続されているネットワークストレージシステムであって、前記クライアントデバイスは、前記案内サーバに対して前記記憶装置への通信開始を要求する接続要求部と、前記記憶装置からの問い合わせを受信し、前記問い合わせに対する応答として、前記記憶装置に対するデータの操作要求を送信する操作要求部と、を備え、前記案内サーバは、前記記憶装置からの問い合わせを受信し、前記問い合わせに対する応答として、前記クライアントデバイスからの前記通信開始の要求の有無と、前記通信開始の要求が有る場合に、当該クライアントデバイスの宛先を送信する案内処理部を備え、前記記憶装置は、前記案内サーバに対して、前記クライアントデバイスの宛先を問い合わせ、前記宛先を取得する宛先取得部と、取得された前記宛先を有する前記クライアントデバイスに対して、自身に対する前記操作要求を問い合わせ、前記操作要求を取得する操作要求取得部と、取得された前記操作要求に基づく要求、または、取得された前記操作要求に基づいて前記記憶装置内で処理されたデータを、前記クライアントデバイスに対して送信する要求送信部と、を備える、ネットワークストレージシステム。
【００１０】
このような構成とすれば、案内サーバの案内処理部は、クライアントデバイスからの通信開始の要求と、記憶装置からの問い合わせと、をそれぞれ受信し、記憶装置からの問い合わせに対する応答として、クライアントデバイスからの通信開始の要求の有無と、当該クライアントデバイスの宛先を送信する。すなわち、案内サーバは、クライアントデバイスの宛先等の情報を、記憶装置から発せられる問い合わせの応答として送信すればよいため、記憶装置の宛先を知らなくてもよく、また、記憶装置がＬＡＮ内に存在していても記憶装置との通信を行うことができる。また、記憶装置の宛先取得部は、案内サーバからクライアントデバイスの宛先を取得し、操作要求取得部は、取得された宛先を有するクライアントデバイスに対して、自身に対する操作要求を問い合わせる。すなわち、記憶装置は、自身に接続を要求しているクライアントデバイスの宛先を案内サーバから取得することができるため、初期状態においては、クライアントデバイスの宛先を知らなくてもよい。さらに、クライアントデバイスの操作要求部は、記憶装置からの問い合わせを受信し、問い合わせに対する応答として、記憶装置に対するデータの操作要求を送信する。すなわち、クライアントデバイスは、データの操作要求を記憶装置から発せられる問い合わせの応答として送信すればよいため、記憶装置の宛先を知らなくてもよく、また、記憶装置がＬＡＮ内に存在していても記憶装置との通信を行うことができる。そして、記憶装置の要求送信部は、クライアントデバイスから取得された操作要求に基づいて処理を継続するための更なる要求や、クライアントデバイスから取得された操作要求に基づいて記憶装置内で処理されたデータそのものを、クライアントデバイスに対して送信する。これらの結果、ルータのＵＰｎＰ機能や、データ転送を中継するリレーサーバを用いることなく、インターネットを経由して、ＬＡＮ内の記憶装置にアクセスすることが可能なネットワークストレージシステムを提供することが可能となる。
【００１１】
［適用例２］
適用例１記載のネットワークストレージシステムであって、前記記憶装置の前記操作要求取得部は、取得された前記宛先に対する前記操作要求の問い合わせに対する応答が所定の時間得られなかった場合は、同一の宛先に対して前記操作要求の再問い合わせを行う、ネットワークストレージシステム。
【００１２】
このような構成とすれば、記憶装置の操作要求取得部は、操作要求の問い合わせに対する応答が所定の時間得られなかった場合は、同一の宛先に対して操作要求の再問い合わせを行うため、例えば、通信不良等に起因してパケットの損失が生じた場合でも、処理を継続することができる。
【００１３】
［適用例３］
適用例２記載のネットワークストレージシステムであって、さらに、前記記憶装置と、前記クライアントデバイスとの間のデータ転送を中継するためのリレーサーバを備え、前記記憶装置の前記操作要求取得部は、前記再問い合わせに対する応答が所定の時間得られなかった場合は、前記リレーサーバに対して、取得された前記宛先とのデータ転送の中継を要求する、ネットワークストレージシステム。
【００１４】
このような構成とすれば、記憶装置の操作要求取得部は、再問い合わせに対する応答が所定の時間得られなかった場合は、記憶装置と、クライアントデバイスとの間のデータ転送を中継するためのリレーサーバに対して、データ転送の中継を要求する。この結果、記憶装置が応答の取得に失敗した場合であっても、記憶装置とクライアントデバイスとの間のデータ転送を行うことができ、システムの可用性が向上する。
【００１５】
［適用例４］
適用例１ないし３のいずれか一項記載のネットワークストレージシステムであって、前記記憶装置の前記操作要求取得部は、取得された前記宛先に対して、定期的に前記操作要求を問い合わせる、ネットワークストレージシステム。
【００１６】
このような構成とすれば、記憶装置の操作要求取得部は、取得された宛先に対して、定期的に操作要求を問い合わせるため、記憶装置は、クライアントデバイスからの操作要求を連続して受信、処理することが可能となる。
【００１７】
［適用例５］
適用例１ないし４のいずれか一項記載のネットワークストレージシステムであって、前記記憶装置は、さらに、前記宛先取得部が取得した宛先を記憶する宛先記憶部を備え、前記操作要求取得部は、前記宛先記憶部に記憶された宛先を用いて、前記クライアントデバイスに対して前記操作要求を問い合わせる、ネットワークストレージシステム。
【００１８】
このような構成とすれば、記憶装置は、宛先取得部が取得した宛先を記憶することができる。
【００１９】
［適用例６］
適用例１ないし５のいずれか一項記載のネットワークストレージシステムであって、前記操作要求は、リストの取得の要求と、アップロードの要求と、ダウンロードの要求と、ファイルまたはフォルダの新規作成の要求と、ファイルまたはフォルダの削除の要求と、のうちのいずれかである、ネットワークストレージシステム。
【００２０】
このような構成とすれば、記憶装置に対する操作要求を明確に定義することができる。
【００２１】
［適用例７］
ネットワーク接続可能な記憶装置と、案内サーバと、クライアントデバイスとがネットワークを介して接続されているネットワークストレージシステムにおけるデータ操作方法であって、（ａ）前記クライアントデバイスが、前記案内サーバに対して前記記憶装置への通信開始を要求する工程と、（ｂ）前記記憶装置が、前記案内サーバに対して、前記クライアントデバイスの宛先を問い合わせる工程と、（ｃ）前記案内サーバが、前記問い合わせに対する応答として、前記クライアントデバイスからの前記通信開始の要求の有無と、前記通信開始の要求が有る場合に、当該クライアントデバイスの宛先を送信する工程と、（ｄ）前記記憶装置が、前記送信された前記クライアントデバイスの宛先を取得する工程と、（ｅ）前記記憶装置が、前記取得された前記宛先を有する前記クライアントデバイスに対して、自身に対するデータの操作要求を問い合わせる工程と、（ｆ）前記クライアントデバイスが、前記問い合わせに対する応答として、前記記憶装置に対する前記操作要求を送信する工程と、（ｇ）前記記憶装置が、前記送信された前記操作要求を取得する工程と、（ｈ）前記記憶装置が、前記工程（ｇ）により取得された前記操作要求に基づく要求、または、前記工程（ｇ）により取得された前記操作要求に基づいて前記記憶装置内で処理されたデータを、前記クライアントデバイスに対して送信する工程と、を備える、データ操作方法。
【００２２】
このような構成とすれば、適用例１と同様の効果を得ることができる。
【００２３】
［適用例８］
記憶装置であって、ネットワークを介して接続されている案内サーバに対して、ネットワークを介して接続されているクライアントデバイスの宛先を問い合わせ、前記宛先を取得する宛先取得部と、取得された前記宛先を有する前記クライアントデバイスに対して、自身に対するデータの操作要求を問い合わせ、前記操作要求を取得する操作要求取得部と、取得された前記操作要求に基づく要求、または、取得された前記操作要求に基づいて前記記憶装置内で処理されたデータを、前記クライアントデバイスに対して送信する要求送信部と、を備える、記憶装置。
【００２４】
このような構成とすれば、ルータのＵＰｎＰ機能や、データ転送を中継するリレーサーバを用いることなく、インターネットを経由したクライアントデバイスからのアクセスを受け付けることが可能な記憶装置を実現することができる。
【００２５】
［適用例９］
クライアントデバイスを制御するためのコンピュータプログラムであって、ネットワークを介して接続されている案内サーバに対して前記記憶装置への通信開始を要求する接続要求機能と、ネットワークを介して接続されている記憶装置に対するデータの操作要求を取得する取得機能と、前記記憶装置からの問い合わせを受信し、前記問い合わせに対する応答として、前記取得機能により取得された前記操作要求を送信する操作要求機能と、を備える、コンピュータプログラム。
【００２６】
このような構成とすれば、クライアントデバイスに搭載されるコンピュータプログラムであって、適用例９記載の記憶装置と協働することで、ルータのＵＰｎＰ機能や、データ転送を中継するリレーサーバを用いることなく、ＬＡＮ内の記憶装置にアクセス可能なコンピュータプログラムを実現することができる。
【００２７】
なお、本発明は、種々の態様で実現することが可能である。例えば、ネットワークストレージシステム、ネットワークストレージシステムにおけるデータ操作方法、記憶装置、記憶装置に接続されるクライアントデバイス、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記憶媒体等の形態で実現することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施例としてのネットワークストレージシステムの概略構成を示す説明図である。
【図２】図１に示すＮＡＳの構成を示すブロック図である。
【図３】図１に示す案内サーバの構成を示すブロック図である。
【図４】図１に示すクライアントの構成を示すブロック図である。
【図５】ＮＡＳのサーバ通信処理の手順を示すフローチャートである。
【図６】ＮＡＳのクライアント通信処理の手順を示すフローチャートである。
【図７】案内処理の手順を示すフローチャートである。
【図８】クライアントのサーバ通信処理の手順を示すフローチャートである。
【図９】クライアントのＮＡＳ通信処理の手順を示すフローチャートである。
【図１０】クライアント待機シーケンスを示す説明図である。
【図１１】通信開始／通信中シーケンスを示す説明図である。
【図１２】通信終了シーケンスを示す説明図である。
【図１３】第２実施例における通信開始／通信中シーケンスを示す説明図である。
【発明を実施するための形態】
【００２９】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
【００３０】
Ａ．第１実施例：
Ａ−１．システム構成と概要説明：
図１は、本発明の一実施例としてのネットワークストレージシステム１０００の概略構成を示す説明図である。ネットワークストレージシステム１０００は、ネットワーク接続ストレージ（Network Attached Storage：以降、「ＮＡＳ」とも呼ぶ。）１０と、案内サーバ２０と、クライアント３０と、ルータ４０とを含んでいる。ＮＡＳ１０は、ルータ４０を介して、インターネットＩＮＥＴ上の案内サーバ２０と接続されている。また、クライアント３０は、基地局（図示省略）を介してインターネットＩＮＥＴに接続される。なお、ネットワークストレージシステム１０００は、さらに、パーソナルコンピュータ（ＰＣ）５０を備えていてもよい。なお、ネットワーク接続ストレージ（ＮＡＳ）は、特許請求の範囲における「記憶装置」に相当する。
【００３１】
ＮＡＳ１０は、ネットワーク接続可能なストレージデバイスである。ＮＡＳ１０には、音声データ、画像データ、アプリケーションデータ等の様々なユーザデータを格納することができる。ＮＡＳ１０は、ＬＡＮ内に位置するルータ４０の内部ノードであり、ローカルＩＰアドレス「ＬＩＰ１０」が付与されている。案内サーバ２０は、クライアント３０の宛先を、ＮＡＳ１０に対して通知する機能を有するサーバである。案内サーバ２０は、インターネットＩＮＥＴ上に位置するルータ４０の外部ノードであり、グローバルＩＰアドレス「ＧＩＰ２０」が付与されている。クライアント３０は、インターネットＩＮＥＴへの接続機能を有するデバイスであり、本実施例ではスマートフォンである。クライアント３０は、インターネットＩＮＥＴ接続時には、インターネットＩＮＥＴ上に位置するルータ４０の外部ノードとなり、グローバルＩＰアドレス「ＧＩＰ３０」が付与される。
【００３２】
本実施例では、ルータ４０のＵＰｎＰ機能や、データ転送を中継するリレーサーバを用いることなく、ルータ４０の外部ノードであるクライアント３０から、ルータ４０の内部ノードであるＮＡＳ１０へのアクセスを可能とするために、少なくとも次の２点の制御を行う。以降、詳細に説明する。
（ａ）案内サーバ２０による通信開始時の宛先案内
（ｂ）ＮＡＳ１０から、ルータ４０の外部に位置する他のデバイス（案内サーバ２０、クライアント３０）に対するポーリングによる情報取得
なお、ポーリングは、特許請求の範囲における「問い合わせ」に相当する。
【００３３】
Ａ−２．ＮＡＳの構成：
図２は、図１に示すＮＡＳ１０の構成を示すブロック図である。ＮＡＳ１０は、ＣＰＵ１１０と、ハードディスクドライブ（以降、「ＨＤＤ」とも呼ぶ。）１２０と、有線ＬＡＮ制御回路１３０と、ＲＯＭ１４０と、ＲＡＭ１５０とを備え、それぞれがバスにより相互に接続されている。
【００３４】
ＣＰＵ１１０は、ＨＤＤ１２０に格納されているコンピュータプログラム（図示省略）をＲＡＭ１５０に展開して実行することにより、ＮＡＳ１０の各部を制御すると共に、宛先取得部１１２、操作要求取得部１１４、要求送信部１１６としても機能する。各機能部の詳細は後述する。ＨＤＤ１２０は、大容量の外部記憶装置であり、データ記憶部１２２と、宛先記憶部１２４とを含んでいる。データ記憶部１２２は、ユーザデータを格納するための領域である。宛先記憶部１２４は、宛先としてのクライアント３０のＩＰアドレスを格納するための領域である。なお、クライアント３０のＩＰアドレスは、後述のＮＡＳ上のクライアント通信処理において用いられる。有線ＬＡＮ制御回路１３０は、ＬＡＮケーブルの接続インタフェースを含み、有線ＬＡＮによるネットワーク接続を可能とするための回路である。
【００３５】
Ａ−３．案内サーバの構成：
図３は、図１に示す案内サーバ２０の構成を示すブロック図である。案内サーバ２０は、ＣＰＵ２１０と、ＨＤＤ２２０と、有線ＬＡＮ制御回路２３０と、ＲＯＭ２４０と、ＲＡＭ２５０とを備え、それぞれがバスにより相互に接続されている。
【００３６】
ＣＰＵ２１０は、ＨＤＤ２２０に格納されているコンピュータプログラム（図示省略）をＲＡＭ２５０に展開して実行することにより、案内サーバ２０の各部を制御すると共に、案内処理部２１２としても機能する。案内処理部２１２の詳細は後述する。ＨＤＤ２２０は、外部記憶装置である。有線ＬＡＮ制御回路２３０は、ＬＡＮケーブルの接続インタフェースを含み、有線ＬＡＮによるネットワーク接続を可能とするための回路である。
【００３７】
Ａ−４．クライアントの構成：
図４は、図１に示すクライアント３０の構成を示すブロック図である。クライアント３０は、ＣＰＵ３１０と、ＨＤＤ３２０と、移動体通信網制御回路３３０と、ＲＯＭ３４０と、ＲＡＭ３５０と、表示部３６０と、操作部３７０と、音声入出力部３８０とを備えている。
【００３８】
ＣＰＵ３１０は、ＨＤＤ３２０に格納されているコンピュータプログラム（図示省略）をＲＡＭ３５０に展開して実行することにより、クライアント３０の各部を制御すると共に、ＧＵＩ要求取得部３１２、接続要求部３１４、操作要求部３１６、ファイルサーバモジュール３１８としても機能する。各機能部の詳細は後述する。ＨＤＤ３２０は、外部記憶装置であり、データ記憶部３２２を含んでいる。データ記憶部３２２は、ユーザデータを格納するための領域である。移動体通信網制御回路３３０は、変調器やアンプ、アンテナを含み、例えば３Ｇ／ＨＳＰＡに準拠した移動体通信の端末として、移動体通信網の基地局と無線通信を行う。表示部３６０は、ディスプレイと、ディスプレイドライバを含み、利用者に対して視覚的な画面表示を行う。操作部３７０は、入力キーと、入力キーのドライバとを含み、利用者からの入力を受け付ける。なお、表示部３６０と操作部３７０の両方の機能を実現するデバイスとしてタッチパネルを用いてもよい。音声入出力部３８０は、マイクと、スピーカとを含み、利用者に対しての音声の入出力を行う。
【００３９】
Ａ−５．ＮＡＳにおける処理：
ＮＡＳ１０において実行される処理について説明する。
Ａ−５−１．ＮＡＳのサーバ通信処理：
図５は、ＮＡＳのサーバ通信処理の手順を示すフローチャートである。ＮＡＳのサーバ通信処理は、ＮＡＳ１０が、案内サーバ２０から「クライアント３０との通信の開始／終了の指示」を取得するための処理であり、宛先取得部１１２により実行される。
【００４０】
ＮＡＳ１０の宛先取得部１１２は、一定時間経過したかを判定する（ステップＳ１００）。なお、ステップＳ１００の「一定時間」とは、ＮＡＳ１０が案内サーバ２０にポーリングする間隔を示し、任意に定めることができる。一定時間経過していないと判定された場合（ステップＳ１００：ＮＯ）、宛先取得部１１２は処理をステップＳ１００へ遷移させ、一定時間経過を待つ。一方、一定時間が経過したと判定された場合（ステップＳ１００：ＹＥＳ）、宛先取得部１１２は案内サーバ２０に対してポーリングする（ステップＳ１０２）。具体的には、宛先取得部１１２は、案内サーバ２０のグローバルＩＰアドレスを宛先アドレスとしたポーリング用パケットを生成する。案内サーバ２０のグローバルＩＰアドレスは、ＮＡＳ１０のＨＤＤ１２０に予め格納されている。ポーリング用パケットの様式は、任意に定めることができる。宛先取得部１１２は、生成したポーリング用パケットを、ルータ４０を介して、案内サーバ２０へ送信する。
【００４１】
宛先取得部１１２は、ステップＳ１０２のポーリングに対する案内サーバ２０からの応答を受信したか否かを判定する（ステップＳ１０４）。案内サーバ２０からの応答を受信していないと判定された場合（ステップＳ１０４：ＮＯ）、宛先取得部１１２は処理をステップＳ１０４へ遷移させ、案内サーバ２０からの応答を待つ。案内サーバ２０からの応答を受信したと判定された場合（ステップＳ１０４：ＹＥＳ）、宛先取得部１１２は、受信した応答が通信開始要求であるか否かを判定する（ステップＳ１０６）。具体的には、宛先取得部１１２は、案内サーバ２０から受信した応答パケットに、「通信開始を要求する旨」と、「クライアント３０のＩＰアドレス」と、が含まれる場合に、通信開始要求を受信したと判定する。ステップＳ１０６において、通信開始要求を受信したと判定された場合（ステップＳ１０６：ＹＥＳ）、宛先取得部１１２は、応答パケットに含まれる「クライアント３０のＩＰアドレス」を、ＨＤＤ１２０内の宛先記憶部１２４に記憶させる（ステップＳ１０８）。その後、宛先取得部１１２は、操作要求取得部１１４に対して通信開始命令を送信することによってクライアント通信処理（図６）を開始させた後（ステップＳ１１０）、処理をステップＳ１００へ遷移させる。
【００４２】
一方、ステップＳ１０６において、通信開始要求を受信していないと判定された場合（ステップＳ１０６：ＮＯ）、宛先取得部１１２は、通信終了要求を受信したか否かを判定する（ステップＳ１１２）。具体的には、宛先取得部１１２は、案内サーバ２０から受信した応答パケットに、「通信終了を要求する旨」が含まれる場合に、通信終了要求を受信したと判定する。ステップＳ１１２において、通信終了要求を受信したと判定された場合（ステップＳ１１２：ＹＥＳ）、宛先取得部１１２は、操作要求取得部１１４に対して通信終了命令を送信することによって実行中のクライアント通信処理（図６）を終了させた後（ステップＳ１１４）、処理をステップＳ１００へ遷移させる。ステップＳ１１２において、通信終了要求を受信していないと判定された場合（ステップＳ１１２：ＮＯ）、宛先取得部１１２は処理をステップＳ１００へ遷移させる。
【００４３】
Ａ−５−２．ＮＡＳのクライアント通信処理：
図６は、ＮＡＳのクライアント通信処理の手順を示すフローチャートである。ＮＡＳのクライアント通信処理は、ＮＡＳ１０が、クライアント３０との間でデータ転送を行うための処理であり、操作要求取得部１１４と、要求送信部１１６とにより実行される。
【００４４】
ＮＡＳ１０の操作要求取得部１１４は、ＮＡＳのサーバ通信処理（図５）から通信開始命令を受け取ったか否かを判定する（ステップＳ２００）。通信開始命令を受け取っていないと判定された場合（ステップＳ２００：ＮＯ）、操作要求取得部１１４は処理をステップＳ２００へ遷移させる。通信開始命令を受け取ったと判定された場合（ステップＳ２００：ＹＥＳ）、操作要求取得部１１４は、ＮＡＳのサーバ通信処理（図５）から通信終了命令を受け取ったか否かを判定する（ステップＳ２０２）。通信終了命令を受け取ったと判定された場合（ステップＳ２０２：ＹＥＳ）、操作要求取得部１１４は処理をステップＳ２００へ遷移させる。この場合、クライアント通信処理の本ルーチン（ステップＳ２０４以降）は実行されない。
【００４５】
ステップＳ２０２において通信終了命令を受け取っていないと判定された場合（ステップＳ２０２：ＮＯ）、操作要求取得部１１４は、一定時間経過したかを判定する（ステップＳ２０４）。なお、ステップＳ２０４の「一定時間」とは、ＮＡＳ１０がクライアント３０にポーリングする間隔を示し、任意に定めることができる。一定時間経過していないと判定された場合（ステップＳ２０４：ＮＯ）、操作要求取得部１１４は処理をステップＳ２０４へ遷移させ、一定時間の経過を待機する。一方、一定時間が経過したと判定された場合（ステップＳ２０４：ＹＥＳ）、操作要求取得部１１４はクライアント３０に対してポーリングする（ステップＳ２０６）。具体的には、操作要求取得部１１４は、クライアント３０のグローバルＩＰアドレスを宛先アドレスとしたポーリング用パケットを生成する。クライアント３０のグローバルＩＰアドレスは、ＮＡＳのサーバ通信処理（図５：ステップＳ１０８）において、案内サーバ２０から案内されたアドレスであり、ＨＤＤ１２０のデータ記憶部１２２に格納されている。ポーリング用パケットの様式は、任意に定めることができる。操作要求取得部１１４は、生成したポーリング用パケットを、ルータ４０を介して、クライアント３０へ送信する。
【００４６】
操作要求取得部１１４は、ステップＳ２０６のポーリングに対するクライアント３０からの応答を受信したか否かを判定する（ステップＳ２０８）。クライアント３０からの応答を受信していないと判定された場合（ステップＳ２０８：ＮＯ）、操作要求取得部１１４は処理をステップＳ２０８へ遷移させ、応答の受信を待機する。
【００４７】
ステップＳ２０８において、クライアント３０からの応答を受信したと判定された場合（ステップＳ２０８：ＹＥＳ）、操作要求取得部１１４は、受信した応答がファイルリスト要求であるか否かを判定する（ステップＳ２１０）。具体的には、操作要求取得部１１４は、クライアント３０から受信した応答パケットに、「ファイルリストの取得を要求する旨」と、ファイルリストの取得を要求する「ＮＡＳ１０上の場所」と、が含まれている場合に、ファイルリスト要求を受信したと判定する。なお、「ＮＡＳ１０上の場所」は、デフォルト値を設定することにより省略可能である。クライアント３０から受信した応答がファイルリスト要求であると判定された場合（ステップＳ２１０：ＹＥＳ）、要求送信部１１６は、データ記憶部１２２にアクセスし、クライアント３０からの応答パケットに含まれた「ＮＡＳ１０上の場所」により特定される場所のファイルおよびフォルダの一覧の取得処理を実行する（ステップＳ２１２）。その後、要求送信部１１６は、ＮＡＳ１０内で処理されたデータ、すなわち、ステップＳ２１２で取得したファイルおよびフォルダの一覧をクライアント３０に対して送信する（ステップＳ２１４）。
【００４８】
ステップＳ２１０において、クライアント３０から受信した応答がファイルリスト要求でないと判定された場合（ステップＳ２１０：ＮＯ）、操作要求取得部１１４は、受信した応答がアップロード要求であるか否かを判定する（ステップＳ２１６）。具体的には、操作要求取得部１１４は、クライアント３０から受信した応答パケットに、「アップロードを要求する旨」と、アップロードを要求する「ＮＡＳ１０上の場所」と、が含まれている場合に、アップロード要求を受信したと判定する。なお、「ＮＡＳ１０上の場所」は、デフォルト値を設定することにより省略可能である。クライアント３０から受信した応答がアップロード要求であると判定された場合（ステップＳ２１６：ＹＥＳ）、要求送信部１１６は、当該アップロード要求に基づいて、クライアント３０に対してアップロードすべきファイルの送信要求を送信する（ステップＳ２１８）。その後、要求送信部１１６は、データ記憶部１２２にアクセスし、ステップＳ２１８の応答として受信したファイルを、クライアント３０からの応答パケットに含まれた「ＮＡＳ１０上の場所」により特定される場所に保存する（ステップＳ２２０）。
【００４９】
ステップＳ２１６において、クライアント３０から受信した応答がアップロード要求でないと判定された場合（ステップＳ２６：ＮＯ）、操作要求取得部１１４は、受信した応答がダウンロード要求であるか否かを判定する（ステップＳ２２２）。具体的には、操作要求取得部１１４は、クライアント３０から受信した応答パケットに、「ダウンロードを要求する旨」と、ダウンロードを要求する「ＮＡＳ１０上の場所」と、「ファイル（フォルダ）識別子」と、が含まれている場合に、ダウンロード要求を受信したと判定する。なお、「ＮＡＳ１０上の場所」は、デフォルト値を設定することにより省略可能である。クライアント３０から受信した応答がダウンロード要求であると判定された場合（ステップＳ２２２：ＹＥＳ）、要求送信部１１６は、データ記憶部１２２にアクセスし、クライアント３０からの応答パケットに含まれた「ＮＡＳ１０上の場所」により特定される場所から、「ファイル（フォルダ）識別子」により特定されるファイルまたはフォルダの取得処理を実行する（ステップＳ２２４）。その後、要求送信部１１６は、ＮＡＳ１０内で処理されたデータ、すなわち、ステップＳ２２４で取得したファイルまたはフォルダをクライアント３０に対して送信する（ステップＳ２２６）。
【００５０】
ステップＳ２２２において、クライアント３０から受信した応答がダウンロード要求でないと判定された場合（ステップＳ２２２：ＮＯ）、要求送信部１１６は、処理をステップＳ２０２へ遷移させ、再び通信終了命令の有無を判定する。また、ステップＳ２１４、Ｓ２２０、Ｓ２２６の処理が終了した場合も同様である。
【００５１】
Ａ−６．案内サーバにおける処理：
案内サーバ２０において実行される処理について説明する。
Ａ−６−１．案内処理：
図７は、案内処理の手順を示すフローチャートである。案内処理は、案内サーバ２０が、ＮＡＳ１０に対して「クライアント３０との通信の開始／終了の指示」を送信するための処理であり、案内処理部２１２により実行される。
【００５２】
案内サーバ２０の案内処理部２１２は、ＮＡＳ１０からポーリングを受信したか否かを判定する（ステップＳ３００）。ＮＡＳ１０からポーリングを受信していないと判定された場合（ステップＳ３００：ＮＯ）、案内処理部２１２は、処理をステップＳ３００へ遷移させ、ポーリングの受信を待機する。一方、ＮＡＳ１０からポーリングを受信したと判定された場合（ステップＳ３００：ＹＥＳ）、案内処理部２１２は、クライアント３０からの要求パケットを受信したか否かを判定する（ステップＳ３０２）。
【００５３】
クライアント３０からの要求パケットを受信したと判定された場合（ステップＳ３０２：ＹＥＳ）、案内処理部２１２は、ＮＡＳ１０からのポーリングの応答として、当該受信した要求パケットを送信する（ステップＳ３０４）。なお、ステップＳ３０４において、クライアント３０から受信した要求パケットのデータ部分にクライアント３０のＩＰアドレスが含まれていない場合、案内処理部２１２は、受信した要求パケットに、当該要求パケットのヘッダ内の送信元ＩＰアドレス（すなわち、クライアント３０のＩＰアドレス）を付加した新たなパケットを生成し、当該新たなパケットを送信してもよい。一方、クライアント３０からの要求パケットを受信していないと判定された場合（ステップＳ３０２：ＮＯ）、案内処理部２１２は、ＮＡＳ１０からのポーリングの応答として、「要求なしである旨」を送信する（ステップＳ３０６）。ステップＳ３０４、Ｓ３０６の後、案内処理部２１２は、処理をステップＳ３００へ遷移させ、再びポーリングの受信を待機する。
【００５４】
Ａ−７．クライアントにおける処理：
クライアント３０において実行される処理について説明する。
Ａ−７−１．クライアントのサーバ通信処理：
図８は、クライアントのサーバ通信処理の手順を示すフローチャートである。クライアントのサーバ通信処理は、クライアント３０が、案内サーバ２０に対して「通信開始／終了の要求」を送信するための処理であり、ＧＵＩ要求取得部３１２と、接続要求部３１４とにより実行される。なお、クライアントのサーバ通信処理には、特許請求の範囲における「接続要求機能」が含まれる。また、ＧＵＩ要求取得部３１２は、特許請求の範囲における「取得機能」を果たす。
【００５５】
クライアント３０の接続要求部３１４は、ＧＵＩ要求取得部３１２がグラフィカルユーザインタフェース（以降、「ＧＵＩ」とも呼ぶ。）から通信開始または通信終了を受け付けたか否かを判定する（ステップＳ４００）。具体的には、接続要求部３１４は、ＧＵＩ要求取得部３１２が、ＧＵＩを介して通信を開始する旨の入力を受け付けた場合に、通信開始を受け付けたと判定する。同様に、接続要求部３１４は、ＧＵＩ要求取得部３１２が、ＧＵＩを介して通信を終了する旨の入力を受け付けた場合に、通信終了を受け付けたと判定する。なお、ＧＵＩの機能は表示部３６０と操作部３７０とが協働することにより実現される。通信開始または通信終了を受け付けたと判定された場合（ステップＳ４００：ＹＥＳ）、接続要求部３１４は、案内サーバ２０に対して、受け付けた内容に応じた要求パケットを送信し（ステップＳ４０２）、処理をステップＳ４００へ遷移させる。一方、通信開始および通信終了を受け付けていないと判定された場合（ステップＳ４００：ＮＯ）、接続要求部３１４は、処理をステップＳ４００へ遷移させる。
【００５６】
Ａ−７−２．クライアントのＮＡＳ通信処理：
図９は、クライアントのＮＡＳ通信処理の手順を示すフローチャートである。クライアントのＮＡＳ通信処理は、クライアント３０が、ＮＡＳ１０との間でデータ転送を行うための処理であり、ＧＵＩ要求取得部３１２と、操作要求部３１６とによって実行される。なお、クライアントのＮＡＳ通信処理には、特許請求の範囲における「操作要求機能」が含まれる。
【００５７】
クライアント３０の操作要求部３１６は、ＮＡＳ１０からポーリングを受信したか否かを判定する（ステップＳ５００）。ＮＡＳ１０からポーリングを受信していないと判定された場合（ステップＳ５００：ＮＯ）、操作要求部３１６は、処理をステップＳ５００へ遷移させ、ポーリングの受信を待機する。一方、ＮＡＳ１０からポーリングを受信したと判定された場合（ステップＳ５００：ＹＥＳ）、操作要求部３１６は、ＧＵＩ要求取得部３１２がＧＵＩから操作要求を受け付けたか否かを判定する（ステップＳ５０２）。本実施例において「操作要求」とは、ＮＡＳ１０に対するファイル操作／フォルダ操作の要求を意味する。ＧＵＩから操作要求を受け付けていないと判定された場合（ステップＳ５０２：ＮＯ）、操作要求部３１６は、ＮＡＳ１０からのポーリングの応答として「要求無し」である旨を示すパケットを送信する（ステップＳ５０６）。
【００５８】
ステップＳ５０２において、ＧＵＩから操作要求を受け付けたと判定された場合（ステップＳ５０２：ＹＥＳ）、操作要求部３１６は、ＮＡＳ１０からのポーリングの応答として、操作要求を送信する（ステップＳ５０４）。具体的には、操作要求部３１６は、ＧＵＩ入力により指定される操作要求（例えば、「ファイルリストの取得を要求する旨」、「アップロードを要求する旨」、「ダウンロードを要求する旨」など）と、同じくＧＵＩ入力により指定される操作要求の対象を特定するための情報（例えば、「ＮＡＳ１０上の場所」、「ファイル（フォルダ）識別子」など）と、を含む応答パケットを生成する。そして、操作要求部３１６は、生成した応答パケットを送信する。
【００５９】
操作要求部３１６は、ステップＳ５０４の操作要求はファイルリスト要求、すなわち、「ファイルリストの取得を要求する旨」の要求であるか否かを判定する（ステップＳ５０８）。ステップＳ５０４の操作要求がファイルリスト要求であると判定された場合（ステップＳ５０８：ＹＥＳ）、操作要求部３１６は、ＮＡＳ１０から送信されるファイルおよびフォルダの一覧を受信する（ステップＳ５１０）。そして、操作要求部３１６は、表示部３６０に対して、受信したファイルおよびフォルダの一覧を表示させる（ステップＳ５１２）。
【００６０】
ステップＳ５０８において、ステップＳ５０４の操作要求がファイルリスト要求でないと判定された場合（ステップＳ５０８：ＮＯ）、操作要求部３１６は、ステップＳ５０４の操作要求がアップロード要求、すなわち、「アップロードを要求する旨」の要求であるか否かを判定する（ステップＳ５１４）。ステップＳ５０４の操作要求がアップロード要求であると判定された場合（ステップＳ５１４：ＹＥＳ）、操作要求部３１６は、ファイルサーバモジュール３１８に対して、ＨＤＤ３２０のデータ記憶部３２２にアクセスしてＧＵＩにより指定されたファイルもしくはフォルダを取得することを指示する（ステップＳ５１６）。そして、操作要求部３１６は、取得されたファイルもしくはフォルダを、ＮＡＳ１０に対して送信する（ステップＳ５１８）。
【００６１】
ステップＳ５１４において、ステップＳ５０４の操作要求がアップロード要求でないと判定された場合（ステップＳ５１４：ＮＯ）、操作要求部３１６は、ステップＳ５０４の操作要求がダウンロード要求、すなわち、「ダウンロードを要求する旨」の要求であるか否かを判定する（ステップＳ５２０）。ステップＳ５０４の操作要求がダウンロード要求であると判定された場合（ステップＳ５２０：ＹＥＳ）、操作要求部３１６は、ＮＡＳ１０から送信されるファイルもしくはフォルダを受信する（ステップＳ５２２）。そして、操作要求部３１６は、ファイルサーバモジュール３１８に対して、受信したファイルもしくはフォルダを、ＨＤＤ３２０のデータ記憶部３２２に保存させる。
【００６２】
ステップＳ５２０において、ステップＳ５０４の操作要求がダウンロード要求でないと判定された場合（ステップＳ５２０：ＮＯ）、操作要求部３１６は、処理をステップＳ５００へ遷移させ、再びＮＡＳ１０からのポーリングを待つ。また、ステップＳ５１２、Ｓ５１８、Ｓ５２４の処理が終了した場合も同様である。
【００６３】
ネットワークストレージシステム１０００を構成する各装置、ＮＡＳ１０と、案内サーバ２０と、クライアント３０と、のそれぞれにおいて実行される処理の手順は上記の通りである。上記の各処理が実行されることによる、ネットワークストレージシステム１０００全体の処理の流れを時間軸に沿って説明する。
【００６４】
Ａ−８．クライアント待機シーケンス：
図１０は、クライアント待機シーケンスを示す説明図である。クライアント待機シーケンスは、ＮＡＳ１０が、クライアント３０からのアクセスを待機する処理である。クライアント待機シーケンスは、ＮＡＳ１０のサーバ通信処理（図５）と、案内サーバ２０の案内処理（図７）とにより実現される。なお、図中のステップ番号は、図５〜図９で示した処理フローチャートのステップ番号と対応している。このことは、以降のシーケンス図でも同じである。また、各装置間で送受信されるパケットについては、図示の便宜上、初回に限って送信元と宛先を明示し、２回目以降の通信時は記載を省略した。
【００６５】
図１０に示すように、ＮＡＳ１０は、案内サーバ２０に対して、一定時間経過（ステップＳ１００）ごとにポーリング用パケットＰＴ１を送信しながら待機する（ステップＳ１０２）。パケットＰＴ１は、ルータ４０によって、送信元にルータ４０のグローバルＩＰアドレスが、宛先に案内サーバ２０のグローバルＩＰアドレスが付与される。パケットＰＴ１を受信した案内サーバ２０は、クライアント３０からの要求を受け付けていない間は、パケットＰＴ１に対する応答パケットＰＴ２によって「要求無し」である旨を応答する（ステップＳ３０６）。パケットＰＴ２は、送信元に案内サーバ２０のグローバルＩＰアドレスが、宛先にルータ４０のグローバルＩＰアドレスが、データ部分に「応答無し」である旨が、それぞれ格納されている。パケットＰＴ２は、パケットＰＴ１のリプライ（応答）パケットであるため、ルータ４０によって、ＮＡＳ１０へと転送される。
【００６６】
Ａ−９．通信開始／通信中シーケンス：
図１１は、通信開始／通信中シーケンスを示す説明図である。通信開始／通信中シーケンスは、クライアント３０からのアクセス開始の要求を受けて、ＮＡＳ１０とクライアント３０とが直接アクセスする処理である。通信開始／通信中シーケンスは、図５〜図９で説明した全ての処理により実現される。
【００６７】
図１１に示すように、ＧＵＩから通信を開始する旨の入力を受け付けた場合（ステップＳ４００）に、クライアント３０は、案内サーバ２０に対して通信開始を要求するパケットＰＴ３を送信する（ステップＳ４０２）。パケットＰＴ３は、送信元にクライアント３０のグローバルＩＰアドレスが、宛先に案内サーバ２０のグローバルＩＰアドレスが、データ部分にクライアント３０のＩＰアドレス「ＧＩＰ３０」と、クライアント３０が接続を要求するＮＡＳ１０の識別子（例えば、ＮＡＳ１０の名称など）とが、それぞれ格納されている。パケットＰＴ３送信後、クライアント３０は、自身のファイルサーバモジュール３１８を起動させる（ステップＳ７００）。
【００６８】
クライアント３０から通信開始を要求するパケットＰＴ３を受信した案内サーバ２０は、ＮＡＳ１０から定期的に行われているポーリングの応答として、クライアント３０から受信した要求パケットＰＴ３を、応答パケットとして送信する（ステップＳ３０４）。応答パケットを受信したＮＡＳ１０は、応答パケットに含まれる「クライアント３０のＩＰアドレスを記憶後（ステップＳ１０８）、クライアント通信処理（図６）を開始させる（ステップＳ１１０）。
【００６９】
ＮＡＳ１０は、クライアント３０に対して、一定時間経過（ステップＳ２０４）ごとにポーリング用パケットＰＴ４を送信して、待機する（ステップＳ２０６）。パケットＰＴ４は、ルータ４０によって、送信元にルータ４０のグローバルＩＰアドレスが、宛先にクライアント３０のグローバルＩＰアドレスが付与される。パケットＰＴ４を受信したクライアント３０は、ＧＵＩから受け付けた操作要求と、操作要求の対象を特定するための情報と、を含む応答パケットＰＴ５を生成し、送信する（ステップＳ５０４）。パケットＰＴ５は、送信元にクライアント３０のグローバルＩＰアドレスが、宛先にルータ４０のグローバルＩＰアドレスが、データ部分に操作要求の内容と、操作要求の対象を特定するための情報とが、それぞれ格納されている。パケットＰＴ５は、パケットＰＴ４のリプライ（応答）パケットであるため、ルータ４０によって、ＮＡＳ１０へと転送される。
【００７０】
クライアント３０から応答パケットＰＴ５を受信したＮＡＳ１０は、パケットＰＴ５に含まれる操作要求に応じてＨＤＤ１２０のデータ記憶部１２２にアクセスし、さらに、パケットＰＴ５に含まれる操作要求に応じた要求をＮＡＳ１０へ送信する（ステップＳ２１２〜Ｓ２２６）。例えば、応答パケットＰＴ５に含まれる操作要求が「ファイルリスト要求」であった場合について説明する。ＮＡＳ１０は、まず、データ記憶部１２２にアクセスしてファイルおよびフォルダの一覧を取得する（ステップＳ２１２）。そして、ＮＡＳ１０は、取得したファイルおよびフォルダの一覧をクライアント３０へ送信する（ステップＳ２１４）。
【００７１】
ネットワークストレージシステム１０００は、後述の通信終了シーケンスによってクライアント通信処理（図６）が終了されるまでの間、ＮＡＳ１０の操作要求取得部１１４からの定期的なポーリング（ステップＳ２０４、Ｓ２０６）をトリガとして、ステップＳ２０４以降の処理を繰り返してもよい。なお、この定期的なポーリングにおけるポーリング用パケットの宛先アドレスは、ＨＤＤ１２０のデータ記憶部１２２に格納されているクライアント３０のグローバルＩＰアドレスである。このようにすれば、ＮＡＳ１０はクライアント３０からの操作要求を連続して受信、処理することが可能となる。
【００７２】
なお、ＮＡＳ１０の操作要求取得部１１４は、クライアント３０に対するポーリング（ステップＳ２０４、Ｓ２０６）の応答、すなわち、ステップＳ５０４の応答パケットが所定の時間得られなかった場合には、同一の宛先ＩＰアドレスに対して、再びポーリング用パケットの送信を行ってもよい。「所定の時間」とは、任意に設定することができる。このようにすれば、ＮＡＳ１０の操作要求取得部１１４は、宛先記憶部１２４に記憶された宛先へのポーリングの応答が所定の時間得られなかった場合は、同一の宛先に対して再ポーリングを行うため、例えば、通信不良等に起因してポーリング用パケットや応答パケットの損失が生じた場合でも、再送されるポーリング用パケットにより、処理を継続することができる。
【００７３】
Ａ−１０．通信終了シーケンス：
図１２は、通信終了シーケンスを示す説明図である。
通信終了シーケンスは、クライアント３０からのアクセス終了の要求を受けて、ＮＡＳ１０とクライアント３０とのアクセスを終了する処理である。通信終了シーケンスは、クライアント３０のサーバ通信処理（図８）と、案内サーバ２０の案内処理（図７）と、ＮＡＳのサーバ通信処理（図５）とにより実現される。
【００７４】
図１２に示すように、ＧＵＩから通信を終了する旨の入力を受け付けた場合（ステップＳ４００）に、クライアント３０は、案内サーバ２０に対して通信終了を要求するパケットを送信する（ステップＳ４０２）。クライアント３０から通信終了を要求するパケットを受信した案内サーバ２０は、ＮＡＳ１０から定期的に行われているポーリングの応答として、クライアント３０から受信した要求パケットを、応答パケットとして送信する（ステップＳ３０４）。応答パケットを受信したＮＡＳ１０は、クライアント通信処理（図６）を終了させる（ステップＳ２０２）。
【００７５】
以上のように、上記第１実施例では、案内サーバ２０の案内処理部２１２は、クライアントデバイス（クライアント３０）からの通信開始の要求と、記憶装置（ＮＡＳ１０）からの問い合わせ（ポーリング）と、をそれぞれ受信し、ＮＡＳ１０からのポーリングに対する応答として、クライアント３０からの通信開始の要求の有無と、当該クライアント３０の宛先を送信する。すなわち、案内サーバ２０は、クライアント３０の宛先等の情報を、ＮＡＳ１０から発せられるポーリングの応答として送信すればよいため、ＮＡＳ１０の宛先を知らなくてもよく、また、ＮＡＳ１０がＬＡＮ内に存在していてもＮＡＳ１０との通信を行うことができる。
【００７６】
また、ＮＡＳ１０の宛先取得部１１２は、案内サーバ２０からクライアント３０の宛先を取得し、操作要求取得部１１４は、取得された宛先を有するクライアント３０に対して、自身に対する操作要求を問い合わせる。すなわち、ＮＡＳ１０は、自身に接続を要求しているクライアント３０の宛先を案内サーバ２０から取得することができるため、初期状態においては、クライアント３０の宛先を知らなくてもよい。
【００７７】
さらに、クライアント３０の操作要求部３１６は、ＮＡＳ１０からのポーリングを受信し、ポーリングに対する応答として、ＮＡＳ１０に対するデータの操作要求を送信する。すなわち、クライアント３０は、データの操作要求をＮＡＳ１０から発せられるポーリングの応答として送信すればよいため、ＮＡＳ１０の宛先を知らなくてもよく、また、ＮＡＳ１０がＬＡＮ内に存在していてもＮＡＳ１０との通信を行うことができる。そして、ＮＡＳ１０の要求送信部１１６は、クライアント３０から取得された操作要求に基づいて処理を継続するための更なる要求や、クライアント３０から取得された操作要求に基づいてＮＡＳ１０内で処理されたデータそのものを、クライアント３０に対して送信する。
【００７８】
これらの結果、ルータ４０のＵＰｎＰ機能や、データ転送を中継するリレーサーバを用いることなく、インターネットを経由して、ＬＡＮ内のＮＡＳ１０にアクセスすることが可能なネットワークストレージシステム１０００を提供することが可能となる。
【００７９】
Ｂ．第２実施例：
本発明の第２実施例では、第１実施例のシーケンスにおいてＮＡＳとクライアントとが直接アクセスに失敗した場合に、いわゆる「ＣｌｏｕｄＳｔｏｒ」機能を用いて、リレーサーバにデータ転送を中継させる構成について説明する。なお、図中において第１実施例と同様の構成部分については先に説明した第１実施例と同様の符号を付し、その詳細な説明を省略する。
【００８０】
第２実施例におけるネットワークストレージシステム１０００ａは、図１に示したネットワークストレージシステム１０００に対して、さらに、リレーサーバ６０を備えている。リレーサーバ６０は、オンラインストレージサービスを提供するためのサーバであり、ＮＡＳ１０ａとクライアント３０との間のデータ転送を中継する。リレーサーバ６０は、インターネットＩＮＥＴ上に位置するルータ４０の外部ノードであり、グローバルＩＰアドレス「ＧＩＰ６０」が付与されている。
【００８１】
第２実施例におけるＮＡＳ１０ａの構成は、図２に示した第１実施例とほぼ同じである。図２と異なる点は、操作要求取得部１１４に代えて、操作要求取得部１１４ａを備える点である。また、第２実施例における案内サーバ２０およびクライアント３０の構成は、図３および図４に示した第１実施例と同じである。
【００８２】
図１３は、第２実施例における通信開始／通信中シーケンスを示す説明図である。図１１に示した第１実施例との違いは、図１１の各処理に加えて、さらに、ステップＳ６００〜ステップＳ６０６の処理を備える点のみであり、他の動作は第１実施例と同じである。以降、ＮＡＳ１０上のクライアント通信処理（ステップＳ２０４）から説明する。
【００８３】
ＮＡＳ１０ａの操作要求取得部１１４ａは、クライアント３０に対して、一定時間経過（ステップＳ２０４）ごとにポーリング用パケットを送信して、待機する（ステップＳ２０６）。操作要求取得部１１４ａは、ステップＳ２０６のポーリングの応答が、所定の時間待機しても得られない場合（ステップＳ６００）、同一の宛先（すなわちクライアント３０）に対して再ポーリングする（ステップＳ６０２）。具体的には、操作要求取得部１１４ａは、ステップＳ２０６で送信したポーリング用パケットを再送する。なお、ステップＳ６００における「所定の時間」は任意に設定することができる。操作要求取得部１１４ａは、ステップＳ６０２の再ポーリングの応答が、所定の時間待機しても得られない場合（ステップＳ６０４）、リレーサーバ６０に対してデータ転送の中継を要求する（ステップＳ６０６）。リレーサーバ６０によるデータ転送の中継処理は、例えば「ＣｌｏｕｄＳｔｏｒ」と呼ばれる機能等で知られているため、説明を省略する。なお、ステップＳ６０４における「所定の時間」は任意に設定することができる。なお、ステップＳ６００の所定の時間と、ステップＳ６０４の所定の時間とは別個に設定可能である。
【００８４】
上記では、ステップＳ２０６のポーリングの応答が得られない場合の操作要求取得部１１４ａの動作について説明した。ステップＳ２０６のポーリングの応答が得られた場合は、操作要求取得部１１４ａは、図１１に示した第１実施例と同様の動作を行う。
【００８５】
以上のように、第２実施例においても、第１実施例と同様の効果を得ることができる。さらに、第２実施例では、記憶装置（ＮＡＳ１０）の操作要求取得部１１４は、再問い合わせ（再ポーリング）に対する応答が所定の時間得られなかった場合は、ＮＡＳ１０と、クライアント３０との間のデータ転送を中継するためのリレーサーバ６０に対して、データ転送の中継を要求する。この結果、ＮＡＳ１０が応答の取得に失敗した場合であっても、ＮＡＳ１０とクライアント３０との間のデータ転送を行うことができ、ネットワークストレージシステム１０００ａの可用性が向上する。
【００８６】
Ｃ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００８７】
Ｃ１．変形例１：
上記実施例では、ネットワークストレージシステムの構成の一例を示した。しかし、ネットワークストレージシステムの構成は、上述した態様に限らず、本発明の要旨を逸脱しない範囲において任意に定めることができる。例えば、図１に示さない端末、管理装置、他のネットワーク中継装置等を含む構成としてもよい。また、図１に示した装置の一部を省略してもよい。
【００８８】
例えば、案内サーバを用いる方法以外の方法を用いて、クライアントが、ＮＡＳが接続されているルータのグローバルＩＰアドレスを知り、かつ、ＮＡＳが、クライアントのグローバルＩＰアドレスを知りえる場合、案内サーバを省略してネットワークストレージシステムを構成してもよい。
【００８９】
Ｃ２．変形例２：
上記実施例では、ネットワーク接続ストレージ（ＮＡＳ）の構成について説明した。しかし、上記実施例におけるＮＡＳの構成はあくまで一例であり、任意の態様を採用することができる。例えば、構成要素の一部を省略したり、更なる構成要素を付加したり、構成要素の一部を変更したりする変形が可能である。
【００９０】
例えば、ＮＡＳは、上記実施例において示さない他の機能部を備えるものとしてもよい。例えば、ＵＳＢインタフェース、無線通信インタフェース、Ｂｌｕｅｔｏｏｔｈ（登録商標）等、他の更なるインタフェースを備えるものとしてもよい。また、ＨＤＤに代えてフラッシュＲＯＭ等の記憶媒体を用いてもよい。
【００９１】
Ｃ３．変形例３：
上記実施例では、案内サーバの構成について説明した。しかし、上記実施例における案内サーバの構成はあくまで一例であり、任意の態様を採用することができる。例えば、構成要素の一部を省略したり、更なる構成要素を付加したり、構成要素の一部を変更したりする変形が可能である。
【００９２】
Ｃ４．変形例４：
上記実施例では、インターネットへの接続機能を有するクライアントの例としてスマートフォンを例示した。しかし、クライアントとしては、スマートフォン以外の種々の機器を使用することも可能である。例えば、パーソナルコンピュータや、カーナビ端末や、ゲーム機や、テレビ端末等を用いることができる。
【００９３】
上記実施例では、クライアントの構成について説明した。しかし、上記実施例におけるクライアントの構成はあくまで一例であり、任意の態様を採用することができる。例えば、構成要素の一部を省略したり、更なる構成要素を付加したり、構成要素の一部を変更したりする変形が可能である。例えば、ＨＤＤに代えてフラッシュＲＯＭ等の記憶媒体を用いてもよい。
【００９４】
Ｃ５．変形例５：
上記実施例では、クライアントがＧＵＩから受け付ける操作要求の一例を挙げて説明した。しかし、上記操作要求はあくまで一例であり、種々の操作要求を想定することができる。例えば、「ファイルやフォルダの削除を要求する旨」の操作要求や、「ファイルやフォルダの新規作成を要求する旨」、「ファイルやフォルダの名称を変更する旨」等の要求を想定可能である。
【００９５】
Ｃ６．変形例６：
上記実施例では、ＮＡＳで実行されるＮＡＳのサーバ通信処理（図５）、ＮＡＳのクライアント通信処理（図６）、案内サーバで実行される案内処理（図７）、クライアントで実行されるクライアントのサーバ通信処理（図８）、クライアントのＮＡＳ通信処理（図９）の各処理の一例を示した。しかし、図５〜図９に示した処理の手順はあくまで一例であり、種々の変更が可能である。例えば、一部のステップを省略してもよいし、更なる他のステップを追加してもよい。また、実行されるステップの順序を変更してもよい。
【００９６】
例えば、上記第１実施例に対して、いわゆる「Ｗｅｂアクセス」機能を組み合わせてもよい。具体的には、上記第１実施例で説明した処理を行う前に、ＮＡＳとクライアントとが、ルータのＵＰｎＰ機能を用いた直接アクセスを試みる。そして、ルータのＵＰｎＰ機能を用いた直接アクセスが可能である場合、ＮＡＳとクライアントとは「Ｗｅｂアクセス」機能を用いたデータ転送を行う。一方、ルータのＵＰｎＰ機能を用いた直接アクセスが不可能であった場合、ＮＡＳとクライアントとは上記第１実施例で説明した処理を行う。このような構成とすれば、ＮＡＳとクライアントのデータ転送方法の選択肢を広げることができる。
【００９７】
例えば、上記第２実施例に対して、いわゆる「Ｗｅｂアクセス」機能を組み合わせてもよい。そうすれば、ＮＡＳとクライアントのデータ転送の選択肢をさらに広げることができる。
【００９８】
Ｃ７．変形例７：
上記第２実施例では、第２実施例におけるＮＡＳのクライアント通信処理の一例を示した。しかし、図１３に示した処理のシーケンスはあくまで一例であり、種々の変更が可能である。
【００９９】
例えば、操作要求取得部が行う再ポーリングの回数は１回であるとしたが、操作要求取得部は、２回以上のポーリングを試みてもよい。また、操作要求取得部が実行するポーリングの回数や、待機する「所定の時間」は、利用者が設定可能な構成としてもよい。
【０１００】
例えば、案内サーバとリレーサーバとは、別個に設けられるとしたが、１台のサーバで提供される構成としてもよい。そうすれば、サーバ導入時や、運用時におけるコストを抑えることができる。
【符号の説明】
【０１０１】
１０,１０ａ…ＮＡＳ、２０…案内サーバ、３０…クライアント、４０…ルータ、５０…ＰＣ、６０…リレーサーバ、１１０…ＣＰＵ、１１２…宛先取得部、１１４,１１４ａ…操作要求取得部、１１６…要求送信部、１２０…ＨＤＤ、１２２…データ記憶部、１２４…宛先記憶部、２１０…ＣＰＵ、２１２…案内処理部、３１０…ＣＰＵ、３１４…接続要求部、３１６…操作要求部、３１８…ファイルサーバモジュール、３２２…データ記憶部、３３０…移動体通信網制御回路、３６０…表示部、３７０…操作部、３８０…音声入出力部、１０００,１０００ａ…ネットワークストレージシステム、ＩＮＥＴ…インターネット
【図１】
0005637115.tif 000002
【図２】
0005637115.tif 000003
【図３】
0005637115.tif 000004
【図４】
0005637115.tif 000005
【図５】
0005637115.tif 000006
【図６】
0005637115.tif 000007
【図７】
0005637115.tif 000008
【図８】
0005637115.tif 000009
【図９】
0005637115.tif 000010
【図１０】
0005637115.tif 000011
【図１１】
0005637115.tif 000012
【図１２】
0005637115.tif 000013
【図１３】
0005637115.tif 000014