特許第5982316号(P5982316)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許5982316ファイル共有システム、通信装置、コントローラ装置及びプログラム
<>
  • 特許5982316-ファイル共有システム、通信装置、コントローラ装置及びプログラム 図000002
  • 特許5982316-ファイル共有システム、通信装置、コントローラ装置及びプログラム 図000003
  • 特許5982316-ファイル共有システム、通信装置、コントローラ装置及びプログラム 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5982316
(24)【登録日】2016年8月5日
(45)【発行日】2016年8月31日
(54)【発明の名称】ファイル共有システム、通信装置、コントローラ装置及びプログラム
(51)【国際特許分類】
   G06F 13/00 20060101AFI20160818BHJP
   G06F 12/00 20060101ALI20160818BHJP
【FI】
   G06F13/00 520D
   G06F12/00 545Z
   G06F12/00 537H
   G06F13/00 351A
【請求項の数】14
【全頁数】13
(21)【出願番号】特願2013-64869(P2013-64869)
(22)【出願日】2013年3月26日
(65)【公開番号】特開2014-191477(P2014-191477A)
(43)【公開日】2014年10月6日
【審査請求日】2015年8月13日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(74)【代理人】
【識別番号】100131886
【弁理士】
【氏名又は名称】坂本 隆志
(74)【代理人】
【識別番号】100170667
【弁理士】
【氏名又は名称】前田 浩次
(74)【代理人】
【識別番号】100166660
【弁理士】
【氏名又は名称】吉田 晴人
(72)【発明者】
【氏名】久保 健
(72)【発明者】
【氏名】田上 敦士
【審査官】 速水 雄太
(56)【参考文献】
【文献】 特開2007−004604(JP,A)
【文献】 特開2012−079047(JP,A)
【文献】 特開2012−252709(JP,A)
【文献】 国際公開第2012/135557(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
複数の通信装置と、各通信装置のユーザのデータを保持するためのディレクトリを有するサーバ装置と通信可能なコントローラ装置とを備え、各通信装置のユーザ間でファイルを共有するためのファイル共有システムであって、
前記複数の通信装置のそれぞれは、
共有対象のファイルの送信元を示す送信元情報を暗号化して暗号化情報を生成する暗号化手段と、
前記共有対象のファイルを示すファイル情報と前記暗号化情報とを、近接する他の通信装置に対して無線通信によってブロードキャストするブロードキャスト手段と、
他の通信装置から受信された前記ファイル情報が示す前記共有対象のファイルを取得する際に、当該ファイル情報と、当該ファイル情報とともに受信された暗号化情報とを含む取得要求を、前記コントローラ装置に送信する要求手段と
を備え、
前記コントローラ装置は、
通信装置から前記取得要求を受信すると、当該取得要求に含まれる暗号化情報を復号して送信元情報を生成する復号手段と、
前記取得要求に含まれるファイル情報が示す前記共有対象のファイルを、前記送信元情報が示すサーバ装置から取得して、前記取得要求の送信元である通信装置のユーザのデータを保持するサーバ装置に保存する取得手段と
を備えることを特徴とするファイル共有システム。
【請求項2】
前記送信元情報は、前記共有対象のファイルを提供するユーザを示す第1のユーザ情報と、前記共有対象のファイルを保持するサーバ装置を示すサーバ情報とを含み、
前記取得手段は、
前記第1のユーザ情報に対応付けて前記コントローラ装置が保持している認証情報を用いて、前記送信元情報に含まれるサーバ情報が示すサーバ装置にアクセスして、前記共有対象のファイルを取得する
ことを特徴とする請求項1に記載のファイル共有システム。
【請求項3】
前記取得要求は、当該取得要求の送信元である通信装置のユーザを示す第2のユーザ情報を更に含み、
前記取得手段は、
前記第2のユーザ情報に対応付けて前記コントローラ装置が保持している認証情報及びサーバ情報を用いて、当該サーバ情報が示すサーバ装置にアクセスして、当該サーバ装置に、取得した前記共有対象のファイルを保存する
ことを特徴とする請求項2に記載のファイル共有システム。
【請求項4】
前記コントローラ装置は、前記サーバ装置にアクセスするための、通信装置のユーザに対応する認証情報及びサーバ情報の登録を受け付ける登録手段を備え、
前記登録手段は、前記登録を受け付けた際に、登録されたサーバ情報が示すサーバ装置内の、前記ユーザのデータを保持するためのディレクトリに、前記共有対象のファイルを保持するためのサブディレクトリを作成し、
前記取得手段は、取得した前記共有対象のファイルを保存する際には、前記登録手段によって作成されたサブディレクトリに前記共有対象のファイルを保存する
ことを特徴とする請求項3に記載のファイル共有システム。
【請求項5】
前記複数の通信装置のそれぞれは、特定のファイルを示すファイル情報を含むファイル要求を、近接する他の通信装置に対して無線通信によってブロードキャストするファイル要求手段を更に備え、
他の通信装置から前記ファイル要求が受信され、かつ、当該ファイル要求を受信した通信装置のユーザのデータを保持するサーバ装置に前記特定のファイルが保持されていると、前記ブロードキャスト手段は更に、前記特定のファイルに対応する前記ファイル情報及び前記暗号化情報とを、近接する他の通信装置に対してブロードキャストする
ことを特徴とする請求項1乃至4のいずれか1項に記載のファイル共有システム。
【請求項6】
前記暗号化手段は、前記コントローラ装置から提供された、前記複数の通信装置に対して共通の公開鍵を用いて前記送信元情報を暗号化して前記暗号化情報を生成し、
前記復号手段は、前記公開鍵に対応した秘密鍵を用いて前記暗号化情報を復号して前記送信元情報を生成する
ことを特徴とする請求項1乃至5のいずれか1項に記載のファイル共有システム。
【請求項7】
前記ブロードキャスト手段は、同一のアクセスポイントと無線通信可能な他の通信装置に対して、前記ファイル情報と前記暗号化情報とを、前記アクセスポイントを介してブロードキャストすることを特徴とする請求項1乃至6のいずれか1項に記載のファイル共有システム。
【請求項8】
前記ブロードキャスト手段は、前記ファイル情報と前記暗号化情報とを、近接する他の通信装置に対して無線通信によって直接ブロードキャストすることを特徴とする請求項1乃至6のいずれか1項に記載のファイル共有システム。
【請求項9】
前記ファイル情報は、ファイル名、ファイルサイズ、及びファイルの更新時刻の少なくとも1つを含むことを特徴とする請求項1乃至8のいずれか1項に記載のファイル共有システム。
【請求項10】
前記コントローラ装置は、前記サーバ装置に組み込まれていることを特徴とする請求項1乃至9のいずれか1項に記載のファイル共有システム。
【請求項11】
通信装置であって、
共有対象のファイルの送信元を示す送信元情報を暗号化して暗号化情報を生成する暗号化手段と、
前記共有対象のファイルを示すファイル情報と、前記暗号化情報とを、近接する他の通信装置に対して無線通信によってブロードキャストするブロードキャスト手段と、
他の通信装置から受信された前記ファイル情報が示す前記共有対象のファイルを取得する際に、当該ファイル情報と、当該ファイル情報とともに受信された暗号化情報とを含む取得要求をコントローラ装置に送信することによって、前記コントローラ装置に、前記取得要求に含まれるファイル情報が示す前記共有対象のファイルを、前記暗号化情報を復号して生成される送信元情報が示すサーバ装置から取得させ、前記取得要求の送信元である通信装置のユーザのデータを保持するサーバ装置に保存させる要求手段と
を備えることを特徴とする通信装置。
【請求項12】
通信装置のユーザのデータを保持するためのディレクトリを有するサーバ装置と通信可能なコントローラ装置であって、
第1の通信装置に近接する第2の通信装置からブロードキャストされ、前記第1の通信装置によって受信された、共有対象のファイルを示すファイル情報と、当該ファイルの送信元を示す送信元情報を暗号化して生成される暗号化情報と、を含む取得要求を、前記第1の通信装置から受信すると、当該取得要求に含まれる暗号化情報を復号して送信元情報を生成する復号手段と、
前記取得要求に含まれるファイル情報が示す前記共有対象のファイルを、前記送信元情報が示すサーバ装置から取得して、前記取得要求の送信元である通信装置のユーザのデータを保持するサーバ装置に保存する取得手段と
を備えることを特徴とするコントローラ装置。
【請求項13】
請求項11に記載の通信装置としてコンピュータを機能させるためのプログラム。
【請求項14】
請求項12に記載のコントローラ装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、近接した通信装置間におけるクラウドサービス型のファイル共有技術に関する。
【背景技術】
【0002】
近年、インターネット上のサーバが記憶資源や計算資源を提供し、場所、端末等を問わず、いつでもどこでも同じ情報にユーザがアクセスできるようにするクラウドサービスが普及している(例えば、非特許文献1〜5を参照。)。クラウドサービスでは、例えばクラウドサーバ上のディレクトリが各ユーザに割り当てられ、各ユーザは割り当てられたディレクトリに情報を格納する。ユーザは、インターネットに接続可能な環境に存在する限り、クラウドサーバ上のディレクトリに格納された情報に、どこからでもアクセスすることが可能である。また、クラウドサービスでは、複数のユーザから成るグループを作成し、作成したグループ内でファイルを共有することで、グループ内での情報共有を実現できる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】https://www.dropbox.com/
【非特許文献2】https://accounts.google.com/
【非特許文献3】https://login.live.com/
【非特許文献4】http://vps.sakura.ad.jp/
【非特許文献5】http://www.sppd.ne.jp/desktop/
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の非クラウドサービス型の情報共有のための仕組みとして、アドホックネットワーキングやDTN(Delay Tolerant Networking)のように、地理的に近接した端末間でバケツリレー式に情報を伝達する技術が存在する。例えば、Wi−Fi(登録商標)規格に対応した無線通信デバイスを搭載したスマートフォンやPC等の端末は、当該無線通信デバイスを用いた端末間の通信をサポートしている。このような端末間では、搭載された無線通信デバイスを利用して、非クラウドサービス型の情報共有を実現できる。
【0005】
一方で、既存のクラウドサービスにおいて、上述のような地理的な近接関係に基づいた情報共有の仕組みを実現することは容易ではない。既存のクラウドサービス(Dropboxのようなファイル共有サービスや、仮想サーバ、仮想デスクトップサービス等)においてユーザ間でファイル共有等の情報共有を行う際には、共有範囲となるグループを予め設定しておく必要がある。例えば、ファイルの送信者は、ユーザ名等のクラウドサービス用の個人情報を、ファイルの受信者に対して予め提供する必要がある。しかし、ユーザが特定の他のユーザだけでなく不特定の第3者に対して、地理的な近接関係に基づいてファイルを提供する場合、自らの個人情報(アカウント情報)をそのような第3者に対して公開することは望ましくない。
【0006】
本発明は、上述の問題に鑑みてなされたものである。本発明は、サーバ装置に保持されているファイルを、ユーザの個人情報を公開することなく、通信装置の地理的な近接関係に基づいて通信装置のユーザ間で共有する仕組みを提供することを目的としている。
【課題を解決するための手段】
【0007】
本発明は、例えば、ファイル共有システムとして実現できる。本発明の一態様の係るファイル共有システムは、複数の通信装置と、各通信装置のユーザのデータを保持するためのディレクトリを有するサーバ装置と通信可能なコントローラ装置とを備え、各通信装置のユーザ間でファイルを共有するためのファイル共有システムであって、前記複数の通信装置のそれぞれは、共有対象のファイルの送信元を示す送信元情報を暗号化して暗号化情報を生成する暗号化手段と、前記共有対象のファイルを示すファイル情報と前記暗号化情報とを、近接する他の通信装置に対して無線通信によってブロードキャストするブロードキャスト手段と、他の通信装置から受信された前記ファイル情報が示す前記共有対象のファイルを取得する際に、当該ファイル情報と、当該ファイル情報とともに受信された暗号化情報とを含む取得要求を、前記コントローラ装置に送信する要求手段とを備え、前記コントローラ装置は、通信装置から前記取得要求を受信すると、当該取得要求に含まれる暗号化情報を復号して送信元情報を生成する復号手段と、前記取得要求に含まれるファイル情報が示す前記共有対象のファイルを、前記送信元情報が示すサーバ装置から取得して、前記取得要求の送信元である通信装置のユーザのデータを保持するサーバ装置に保存する取得手段とを備えることを特徴とする。
【0008】
また、本発明は、例えば、通信装置として実現できる。本発明の一態様の係る通信装置は、共有対象のファイルの送信元を示す送信元情報を暗号化して暗号化情報を生成する暗号化手段と、前記共有対象のファイルを示すファイル情報と、前記暗号化情報とを、近接する他の通信装置に対して無線通信によってブロードキャストするブロードキャスト手段と、他の通信装置から受信された前記ファイル情報が示す前記共有対象のファイルを取得する際に、当該ファイル情報と、当該ファイル情報とともに受信された暗号化情報とを含む取得要求をコントローラ装置に送信することによって、前記コントローラ装置に、前記取得要求に含まれるファイル情報が示す前記共有対象のファイルを、前記暗号化情報を復号して生成される送信元情報が示すサーバ装置から取得させ、前記取得要求の送信元である通信装置のユーザのデータを保持するサーバ装置に保存させる要求手段とを備えることを特徴とする。
【0009】
また、本発明は、例えば、コントローラ装置として実現できる。本発明の一態様の係るコントローラ装置は、第1の通信装置に近接する第2の通信装置からブロードキャストされ、前記第1の通信装置によって受信された、共有対象のファイルを示すファイル情報と、当該ファイルの送信元を示す送信元情報を暗号化して生成される暗号化情報と、を含む取得要求を、前記第1の通信装置から受信すると、当該取得要求に含まれる暗号化情報を復号して送信元情報を生成する復号手段と、前記取得要求に含まれるファイル情報が示す前記共有対象のファイルを、前記送信元情報が示すサーバ装置から取得して、前記取得要求の送信元である通信装置のユーザのデータを保持するサーバ装置に保存する取得手段とを備えることを特徴とする。
【発明の効果】
【0010】
本発明によれば、サーバ装置に保持されているファイルを、ユーザの個人情報を公開することなく、通信装置の地理的な近接関係に基づいて通信装置のユーザ間で共有する仕組みを提供できる。
【図面の簡単な説明】
【0011】
図1】本発明の一実施形態に係るシステムの概略的な構成図。
図2】本発明の一実施形態に係る、ユーザ端末#1の動作がトリガとなって、ユーザ端末#1のユーザ#1がクラウドサーバ上で保持しているファイルを共有する場合のシーケンス図。
図3】本発明の一実施形態に係る、ユーザ端末#2の動作がトリガとなって、ユーザ端末#1のユーザ#1がクラウドサーバ上で保持しているファイルを共有する場合のシーケンス図。
【発明を実施するための形態】
【0012】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。
【0013】
<システム構成>
図1は、本発明の一実施形態に係るシステムの概略的な構成を示す図である。図1に示すシステムは、本発明のファイル共有システムの一例であり、クラウドサーバ1、ファイルコントローラ2、及び複数のユーザ端末4(ユーザ端末#1〜#3)から成る。ネットワーク3は、移動通信網及びインターネットをまとめて表現したものである。図1では、1つのクラウドサーバ1のみを示しているが、その数は例示である。また、ユーザ端末#1〜#3の3つのユーザ端末4を示しているが、その数は例示である。なお、本実施形態において、クラウドサーバ1、ファイルコントローラ2、及び複数のユーザ端末4は、それぞれサーバ装置、コントローラ装置、及び複数の通信装置の一例である。
【0014】
ユーザ端末4は、例えばスマートフォン、PCなどの端末(通信装置)で、Wi−Fi(無線LAN)規格及び3G/LTE規格などに対応した無線通信デバイスを備える。ユーザ端末4は、例えば、3G/LTE規格に対応した無線通信デバイスを用いてネットワーク3に無線接続することで、ネットワーク3上のクラウドサーバ1及びファイルコントローラ2にアクセスできる。ただし、ユーザ端末4は、Wi−Fi規格に対応した無線通信デバイスを、アクセスポイントを介して無線通信を行うインフラモードで用いてネットワーク3に無線接続することで、クラウドサーバ1及びファイルコントローラ2にアクセスしてもよい。
【0015】
図1に示すユーザ端末#1〜#3は、Wi−Fi規格に従った無線通信によって互いに直接通信を行うことが可能な程度に、地理的に近接した範囲内に位置しているものとする。ユーザ端末#1〜#3は、直接通信を行う場合には、Wi−Fi規格のアドホックモードを利用して無線通信を行えばよい。ただし、ユーザ端末#1〜#3は、Wi−Fi規格のインフラモードを利用して、同一のアクセスポイント(図示せず)を介して通信を行ってもよい。なお、本実施形態では、ユーザ端末#1〜#3の間の通信をWi−Fi規格に従って行うものとするが、Bluetooth(登録商標)などの任意の無線規格を利用することができる。
【0016】
クラウドサーバ1は、ユーザ端末4にクラウドサービスを提供するサーバであり、各ユーザ端末のユーザに割り当てた、当該ユーザのデータを保持するための記憶領域(ディレクトリ)を有している。ユーザは、ユーザ端末4を用いてネットワーク3にアクセス可能な環境にいる限り、クラウドサーバ1上のディレクトリに格納されたデータにアクセスすることが可能である。
【0017】
クラウドサーバ1は、ディレクトリを割り当てたユーザの認証情報を保持しており、ユーザ名及びパスワードを認証情報として用いたアクセス認証を行う。ユーザ端末4が、クラウドサーバ1に接続し、ユーザ名及びパスワードを用いたアクセス認証に成功すると、クラウドサーバ1は、当該ユーザ端末4のユーザに割り当てたディレクトリへのアクセスを許可する。なお、本実施形態では詳細には説明しないものの、クラウドサーバ1において複数のユーザから成るグループでファイル共有を行う場合にも、同様のアクセス認証によって、当該グループに割り当てたディレクトリへのアクセスを許可する。その場合、クラウドサーバ1は、グループに参加しているユーザのリストをグループごとに保持していればよい。
【0018】
本実施形態では、クラウドサーバ1のディレクトリに保持されているファイルを、クラウドサーバ1においてグループを予め設定することなく、地理的に近接しているユーザ端末4のユーザ間で共有する例について説明する。具体的には、共有対象のファイルを提供するユーザの個人情報(アカウント情報)を、ファイルの提供を受けるユーザに対して公開することなく、近接するユーザ端末4のユーザ間でクラウドサービス上のファイルを共有する例について説明する。本実施形態では、このような仕組みを実現するために、ネットワーク3上に配置したファイルコントローラ2を利用する。
【0019】
ファイルコントローラ2は、クラウドサーバ1と通信可能であり、ユーザ端末4のユーザの代わりに、クラウドサーバ1上に保持されているファイルの受け渡しを行うネットワークノードである。ファイルコントローラ2は、クラウドサーバ1にアクセスするための情報を、ユーザ管理テーブルとして保持している。具体的には、ユーザ管理テーブルには、ユーザごとに以下の情報が登録される。
・アカウント情報(ファイルコントローラ2へのログイン用)
‐ユーザ名
‐パスワード
・クラウドサービス情報
‐クラウドサーバ1のURL(サーバ情報)
‐クラウドサーバ1へのログイン用のユーザ名及びパスワード(認証情報)
なお、クラウドサービス情報は、後述するように、ユーザ端末4によるユーザ登録処理によって、ファイルコントローラ2へ登録される。ユーザが複数のクラウドサービス(クラウドサーバ1)を利用している場合は、ユーザ管理テーブルに、上記のクラウドサービス情報の項目が複数登録すればよい。
【0020】
ファイルコントローラ2は、共有対象のファイルの送信元を示す送信元情報を暗号化及び復号するための、公開鍵及び秘密鍵のペアを一つ有している。ファイルコントローラ2は、秘密鍵については自ら保持しておき、公開鍵についてはファイルコントローラ2を利用する全ユーザ端末4に予め提供(配布)しておく。
【0021】
ユーザ端末4は、ファイルコントローラ2を利用するための情報として、以下の情報を保持している。
・ユーザ名(ファイルコントローラ2へのログイン用のアカウント情報)
・公開鍵(ファイルコントローラ2から提供)
なお、ユーザ名は、ファイルコントローラ2に登録されているアカウント情報に含まれるユーザ名と同一である。また、ユーザ端末4は、クラウドサーバ1上のユーザのディレクトリに保持しているファイルのリストを保持しているものとする。ユーザは、ユーザ端末4が保持しているリストを参照することで、クラウドサーバ1上のディレクトリに保持しているファイルを把握できる。
【0022】
<ファイル共有の手順>
以下、図2及び図3を参照して、ユーザ端末4が、ファイルコントローラ2を利用してクラウドサーバ1上のディレクトリに保持しているファイルを共有する際の、クラウドサーバ1、ファイルコントローラ2及びユーザ端末4の動作について説明する。
【0023】
(ユーザ登録処理)
まず、図2及び図3に示すファイル共有が開始される前提として、ユーザ端末4のユーザは、ファイルコントローラ2に、自らが利用しているクラウドサーバ1に関する情報(クラウドサービス情報)を登録しておく必要がある。ファイルコントローラ2は、ユーザ端末4から、クラウドサーバ1にアクセスするための、ユーザ端末4のユーザに対応するクラウドサービス情報の登録を受け付ける。ユーザは、ユーザ端末4の起動時などの任意のタイミングに、ファイルコントローラ2へログインして、クラウドサービス情報を登録できる。ファイルコントローラ2へのログインは、ユーザ端末4内で保持しているユーザ名と、例えばユーザ操作によって入力される、当該ユーザ名に対応するパスワードとを認証情報として用いて行えばよい。
【0024】
ファイルコントローラ2は、ユーザ端末4から、クラウドサービス情報の登録を受け付けた際には、登録されたサーバ情報(URL)が示すクラウドサーバ1の、登録が完了したユーザのディレクトリに、ファイル共有用のサブディレクトリを作成してもよい。具体的には、ファイルコントローラ2は、クラウドサーバ1に、登録された認証情報を用いてログインしてアクセスしたディレクトリに、共有対象のファイル(対象ファイル)を保持するためのサブディレクトリ(例えば「./direct_file_share/」)を作成すればよい。これにより、図2及び図3を用いて説明するファイル共有によって得られたファイルとその他のファイルとを、ユーザが明確に区別することが可能になる。
【0025】
(第1の例)
次に、図2を参照して、ユーザ端末#1のユーザ#1がクラウドサーバ1上で保持している特定のファイル(File_A)を、近接ノード(例えば、ユーザ端末#2、#3)のユーザと共有する例について説明する。特に、ここではユーザ端末#1の動作がトリガとなって、特定のファイル(File_A)を、近接するユーザ端末#2のユーザ#2と共有する例について説明する。
【0026】
まず、S21で、ユーザ端末#1は、対象ファイル(File_A)の送信元を示す送信元情報を暗号化して、暗号化送信元情報(暗号化情報)を生成する。なお、暗号化送信元情報が既に生成されている場合には、改めて暗号化を実行する必要はない。
【0027】
暗号化送信元情報(Einfo)は、例えば以下のように生成できる。
Einfo=E_pub(random_string+user_name+server_info)
ここで、E_pub(x) は、xという文字列(メッセージ)を、ファイルコントローラ2から提供された公開鍵で暗号化することを表し、記号「+」は、バイト列をつなげ合わせる(concatenate)ことを表す。また、「random_string」は、例えば8バイトのランダム文字列であり、「user_name」は、ユーザ名(ユーザ#1)を示す文字列であり、「server_info」は、対象ファイル(File_A)が保持されているクラウドサーバ1のURL及びディレクトリを示す文字列である。例えば、「server_info」が「http://cloud.service.com/directoryX/」である場合、「http://cloud.service.com/」というクラウドサーバ1(クラウドサービス)上の、ユーザ#1に割り当てられた「directoryX」というディレクトリに、共有対象のファイルが存在することを示す。
【0028】
本実施形態では、上述の文字列「random_string+user_name+server_info」が送信元情報に相当する。また、「user_name」は、共有対象のファイルを提供するユーザを示すユーザ情報(第1のユーザ情報)に、「server_info」は、共有対象のファイルを保持するサーバ装置を示すサーバ情報に相当する。送信元情報は、ユーザ情報とサーバ情報とが含まれた状態で、ファイルコントローラ2から提供された公開鍵を用いて暗号化される。
【0029】
S22で、ユーザ端末#1は、以下の情報を含むファイル名広告を、Wi−Fi規格のアドホックモードを利用した無線通信で、近接する他のユーザ端末(例えばユーザ端末#2、#3)に直接ブロードキャストする。ファイル名広告には、
・ファイル情報:ファイル名(File_A)
・暗号化送信元情報
が含まれる。なお、ファイル情報は、共有対象のファイルを示す情報である。
【0030】
以下では、S22でユーザ端末#1からブロードキャストされたファイル広告がユーザ端末#2で受信され、ユーザ#2がそのファイル名広告によって広告されたファイル(File_A)を取得する場合を想定する。この場合、S23で、ユーザ端末#2は、ユーザ#2の操作に応じて、以下の情報を含むファイル取得要求を、ファイルコントローラ2に送信する。
・ユーザ情報:ユーザ名(ユーザ#2)
・ファイル情報:ファイル名(File_A)
・暗号化送信元情報
なお、ファイル取得要求に含まれるユーザ情報は、当該要求の送信元であるユーザ端末のユーザを示すユーザ情報(第2のユーザ情報)に相当する。また、ユーザ名は、ユーザ端末#2のユーザを示すユーザ名(ユーザ#2)であり、残りのファイル情報及び暗号化情報は、ユーザ端末#1から受信したファイル広告に含まれていた情報である。
【0031】
ファイルコントローラ2は、ファイル取得要求をいずれかのユーザ端末4から受信すると、当該要求に含まれるファイル情報が示す対象ファイルを、暗号化送信元情報を復号して得られる送信元情報が示すクラウドサーバ1から取得する。更に、ファイルコントローラ2は、取得したファイルを、ファイル取得要求の送信元であるユーザ端末のユーザのデータを保持するクラウドサーバ1に保存する。なお、本実施形態では、送信元情報が示すクラウドサーバ1と、取得したファイルの保存先となるクラウドサーバ1とが同一である場合を例として説明するが、それらのサーバは異なっていてもよい。即ち、送信元情報が示すクラウドサーバ1と、ファイルを取得するユーザ#2に割り当てられたディレクトリが存在するクラウドサーバ1とが、異なっていてもよい。
【0032】
具体的には、まず、ファイルコントローラ2は、S24で、受信したファイル取得要求から、ユーザ情報(ユーザ名:ユーザ#2)、ファイル情報(ファイル名:File_A)、及び暗号化送信元情報を取り出すとともに、暗号化送信元情報を復号する。ファイルコントローラ2は、暗号化送信元情報を、暗号化に用いられた公開鍵に対応する、ファイルコントローラ2が保持する秘密鍵で復号して、送信元情報を生成(復元)する。これにより、ファイルコントローラ2は、対象ファイル(File_A)を提供するユーザ(ユーザ#1)を示すユーザ情報であるユーザ名(user_name)と、当該ファイルを保持するクラウドサーバ1を示すサーバ情報(server_info)とを送信元情報から取り出す。
【0033】
このようにして得られた情報を用いて、S25以下で、ファイルコントローラ2は、対象ファイル(File_A)を、クラウドサーバ1上のユーザ#1のディレクトリから取得して、クラウドサーバ1上のユーザ#2のディレクトリに保存する処理を行う。
【0034】
S25で、ファイルコントローラ2は、ファイルを提供するユーザ#1のユーザ情報に対応付けてユーザ管理テーブルに保持している認証情報を用いて、対象ファイル(File_A)を保持するクラウドサーバ1に、ユーザ端末#1の代わりにアクセスする。クラウドサーバ1におけるアクセス認証に成功すると、ファイルコントローラ2は、クラウドサーバ1に対象ファイルを要求する。クラウドサーバ1は、ファイルコントローラ2からの要求に応じて、S26で、対象ファイルをユーザ#1のディレクトリから取り出して、S27で、取り出した対象ファイルをファイルコントローラ2に送信する。
【0035】
クラウドサーバ1から対象ファイルを受信すると、ファイルコントローラ2は、S27で、ファイル取得要求から取り出したユーザ情報(ユーザ名:ユーザ#2)に対応付けてユーザ管理テーブルに保持しているクラウドサービス情報(認証情報及びサーバ情報)を用いて、対象ファイルを保存する。具体的には、ファイルコントローラ2は、クラウドサービス情報に含まれる認証情報を用いて、当該クラウドサービス情報に含まれるサーバ情報が示すクラウドサーバ1にアクセスする。(ここでのアクセス先のクラウドサーバ1は、上述のように、対象ファイルの送信元のクラウドサーバ1と同一であるものとする。)クラウドサーバ1におけるアクセス認証に成功すると、ファイルコントローラ2は、クラウドサーバ1に対象ファイルを送信(保存)する。
【0036】
クラウドサーバ1は、S29で、ファイルコントローラ2から対象ファイルを受信すると、アクセス認証に成功したユーザ#2のディレクトリに(上述のサブディレクトリを作成している場合には、当該サブディレクトリに)、受信したファイルを保存する。
【0037】
(第2の例)
図2の例では、ユーザ端末#1の動作がトリガとなって、特定のファイル(File_A)を、近接するユーザ端末#2のユーザ#2と共有する例について説明している。次に、図3を参照して、ユーザ端末#2の動作がトリガとなって、ユーザ端末#1のユーザ#1がクラウドサーバ1上で保持している特定のファイル(File_A)を共有する例について説明する。具体的には、ユーザ端末#2のユーザ#2が、近接する他のユーザ端末(ユーザ端末#1、#3)が特定のファイル(File_A)をクラウドサーバ1上に保持しているか否かを確認し、保持している場合に当該ファイルを取得する例について説明する。
【0038】
図3では、図2と共通する処理を実行するステップに、図2と同様の参照符号を付している。以下では、それらのステップについては説明を省略する。まず、S31で、ユーザ端末#2は、特定のファイル(File_A)を示すファイル情報(ファイル名)を含むファイル要求を、Wi−Fi規格のアドホックモードを利用した無線通信で、近接する他のユーザ端末(例えば、ユーザ端末#1、#3)に対して直接ブロードキャストする。
【0039】
ユーザ端末#2からブロードキャストされたファイル要求をユーザ端末#1が受信すると、ユーザ端末#1は、S32で、ファイル要求に含まれるファイル情報が示す特定のファイル(File_A)を、クラウドサーバ1上に保持しているか否かを判定する。ここで、ユーザ端末#1は、内部に保持している上述のリストを参照することで、特定のファイル(File_A)を、クラウドサーバ1上のユーザ#1のディレクトリに保持しているか否かを判定する。ユーザ端末#2は、ファイルを保持していないと判定した場合には、何らの動作も行わない一方で、ファイルを保持していると判定した場合には、S21以降の処理を実行する。
【0040】
S21及びS22では、ユーザ端末#1は、ユーザ端末#2から受信したファイル要求で要求されている特定のファイル(File_A)を共有対象のファイルとして、図2と同様に、ファイル名広告をブロードキャストする。ユーザ端末#2は、当該ファイル名広告を受信すると、当該ファイル名広告に基づいてファイル取得要求をファイルコントローラ2に送信する。これにより、ユーザ端末#2のユーザ#2は、要求した特定のファイル(File_A)を、他のユーザ#1からクラウドサーバ1上で取得することができる。
【0041】
このように本実施形態では、ユーザ端末#1のユーザ#1がクラウドサーバ1上のファイルを他のユーザに提供する際、ユーザ端末#1は、送信元情報を暗号化して、共有対象のファイルの情報とともに近接する他のユーザ端末にブロードキャストする。ブロードキャストされたファイル情報が示すファイルを、他のユーザ端末#2が取得する場合、ユーザ端末#2は、受信したファイル情報及び暗号化情報を含むファイル取得要求を、ファイルコントローラ2に送信する。ファイルコントローラ2は、受信したファイル取得要求に含まれる暗号化情報を復号化して得られる情報と、ファイル情報とに基づいて、ユーザ端末#1、#2の代わりにクラウドサーバ1にアクセスして、ファイルを取得する。更に、ファイルコントローラ2は、取得したファイルを、ユーザ端末#2のユーザ#2がクラウドサーバ1上に割り当てられているディレクトリに保存する。
【0042】
本実施形態によれば、共有対象のファイルの送信元を示す情報を暗号化した状態で、近接したユーザ端末間で送受信するため、クラウドサーバ1に保持されているファイルを共有する際に、ユーザの個人情報(アカウント情報)を他のユーザに公開することがない。即ち、クラウドサーバ1に保持されているファイルを、ユーザの個人情報を公開することなく、ユーザ端末4の地理的な近接関係に基づいてユーザ端末4のユーザ間で共有することができる。また、ファイルコントローラ2がユーザ端末4に代わってファイルの取得及び保存を行うので、地理的な近接関係に基づくファイル共有の際にユーザ端末間で生じうるデータトラヒックを削減できる。
【0043】
<その他の実施形態>
上述の実施形態は、種々に変形して実施することも可能である。例えば、ファイル名広告(S22)、ファイル取得要求(S23)、ファイル要求(S31)等に含まれるファイル情報には、共有対象のファイルを特定可能な情報が含まれていればよく、例えば、ファイル名(File_A)、ファイルサイズ、及びファイルの更新時刻のうちの、少なくとも1つが含まれていればよい。
【0044】
また、上述の実施形態では、Wi−Fi規格のアドホックモードを利用した無線通信によって、ファイル名広告(S22)及びファイル要求(S31)を行っている。しかし、本発明は、近接するユーザ端末間で、それらの情報が伝送できればよいため、ファイル名広告(S22)及びファイル要求(S31)をWi−Fi規格のインフラモードを利用した無線通信によって行うことも可能である。この場合、ユーザ端末は、ファイル名広告及びファイル要求を、同一のアクセスポイントと無線通信可能な他のユーザ端末に対して、当該アクセスポイントを介してブロードキャストすればよい。また、ファイル名広告及びファイル要求は、Wi−Fi規格に限らず、Bluetooth(登録商標)などの任意の無線規格を利用して行うことも可能である。
【0045】
また、例えば、上述の実施形態では、ファイルコントローラ2とクラウドサーバ1とは個別のネットワークノードとして説明しているが、ファイルコントローラ2の機能は、クラウドサーバ1に組み込まれていてもよい。即ち、ファイルコントローラ2をクラウドサーバ1に組み込んで、1つのネットワークノードとして構成してもよい。その場合、ファイルコントローラ2という独立したネットワークノードが不要となるため、システム構成をより簡易にすることが可能である。更に、共有対象のファイルの送信元のクラウドサーバ1と、当該ファイルの保存先となるクラウドサーバ1とが同一である場合には、ディレクトリ間のファイルのコピー操作のみによって、ファイルの共有を実現することが可能となる。
【0046】
なお、本発明は、コンピュータを通信装置(ユーザ端末4)又はコントローラ装置(ファイルコントローラ2)として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
図1
図2
図3