(57)【特許請求の範囲】
【請求項１】
サーバと、
前記サーバに通信可能に接続される第１の通信装置と、
前記サーバ及び前記第１の通信装置に通信可能に接続され、前記サーバからのプッシュ通知を受けるように構成され、ファイルを記憶する複数の第２の通信装置と、
を含んで構成され、
前記第１の通信装置は、
前記第２の通信装置から前記ファイルを受信する機能を実現するための受信プログラムを記憶する受信プログラム記憶部と、
前記ファイルを要求するリクエストを前記サーバに送信するとともに、前記受信プログラムを起動するリクエスト送信部と、
を備え、
前記サーバは、前記第１の通信装置から受信する前記リクエストに応じて、前記ファイル及び前記通信装置のそれぞれを特定する送信先情報を含む前記プッシュ通知を前記第２の通信装置に送信するプッシュ通知部を備え、
前記第２の通信装置は、
前記ファイルを前記第１の通信装置に送信する機能を実現するための送信プログラムを記憶する送信プログラム記憶部と、
前記サーバから前記プッシュ通知を受けて、前記送信先情報により特定される前記ファイルと、前記送信先情報により特定される前記第１の通信装置とを指定して、前記送信プログラムを起動する送信プログラム起動部と、
を備え、
前記サーバは、複数の前記第２の通信装置ごとに、前記第２の通信装置に関する情報であり、前記第２の通信装置のユーザを特定するユーザ特定情報、前記第２の通信装置が接続しているネットワークを特定するネットワーク特定情報、及び前記第２の通信装置の位置を示す位置情報の少なくともいずれかが含まれている端末情報を記憶する端末情報記憶部を備え、
前記第１の通信装置の前記リクエスト送信部は、前記端末情報に対する条件を前記リクエストに指定し、
前記サーバの前記プッシュ通知部は、前記リクエストに指定された前記条件を満たす前記端末情報を検索し、検索した前記端末情報に対応する前記第２の通信装置にのみ前記プッシュ通知を送信すること、
を特徴とするファイル送受信システム。
【請求項２】
請求項１に記載のファイル送受信システムであって、
前記プッシュ通知部は、ショートメッセージ、電子メール、及びアプリケーションに対するオペレーティングシステムからのメッセージのいずれかをプッシュにより前記第２の通信装置に送信すること、
を特徴とするファイル送受信システム。
【請求項３】
サーバと、前記サーバに通信可能に接続される第１の通信装置と、前記サーバ及び前記第１の通信装置に通信可能に接続され、前記サーバからのプッシュ通知を受けるように構成され、ファイルを記憶する複数の第２の通信装置と、を含んで構成され、
前記第１の通信装置は、前記第２の通信装置から前記ファイルを受信する機能を実現するための受信プログラムを記憶し、
前記第２の通信装置は、前記ファイルを前記第１の通信装置に送信する機能を実現するための送信プログラムを記憶し、
前記サーバは、複数の前記第２の通信装置ごとに、前記第２の通信装置に関する情報であり、前記第２の通信装置のユーザを特定するユーザ特定情報、前記第２の通信装置が接続しているネットワークを特定するネットワーク特定情報、及び前記第２の通信装置の位置を示す位置情報の少なくともいずれかが含まれている端末情報を記憶する、
ファイル送受信システムにおいてファイルを送受信する方法であって、
前記第１の通信装置が、前記ファイルを要求するリクエストに前記端末情報に対する条件を指定して前記サーバに送信するとともに、前記受信プログラムを起動し、
前記サーバが、前記第１の通信装置から受信する前記リクエストに応じて、前記リクエストに指定された前記条件を満たす前記端末情報を検索し、検索した前記端末情報に対応する前記第２の通信装置のみに、前記ファイル及び前記通信装置のそれぞれを特定する送信先情報を含む前記プッシュ通知を送信し、
前記第２の通信装置が、前記サーバから前記プッシュ通知を受けて、前記送信先情報により特定される前記ファイルと、前記送信先情報により特定される前記第１の通信装置とを指定して、前記送信プログラムを起動すること、
を特徴とするファイル送受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル送受信システム及びファイル送受信方法に関する。
【背景技術】
【０００２】
様々な機器に通信機能を有するコンピュータが内蔵されるようになっており、コンピュータ間においてファイルを送受信する頻度が上がっており、効率的にファイルの送受信を行う方法が各種提案されている。例えば、特許文献１には、広域網を通じて送信する電子メッセージに関連するファイルを、広域網を介さずＰｅｅｒ-ｔｏ-ｐｅｅｒ（Ｐ２Ｐ）通信により直接送信する構成が開示されている。
【０００３】
図１１は従来のＰ２Ｐ通信プロトコルによるファイルの転送処理を説明する図である。従来のＰ２Ｐ通信プロトコルでは、まず各端末において他の端末からのファイルのリクエストを受け付けるためのプロセス（以下、リクエスト受信プロセスという。）を実行し、リクエストを待機する状態（サーバモードと呼ばれる。）にしておく。端末２から端末１にファイルを転送させる場合には、端末１はディレクトリサーバ３に対してファイルを管理している端末２を問い合わせる。端末１は、ディレクトリサーバ３から応答された端末２に対してファイルのリクエストを送信する。端末２はリクエストに応じてファイルを端末１に送信する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−０６６７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、例えば携帯電話やＰＤＡ（Personal Digital Assistant）のような可搬型のデバイスの場合、常にサーバモードとして動作させておくと、ファイル受信プロセスを実行する分だけ電池の消耗が激しくなってしまう。
【０００６】
本発明は、このような背景を鑑みてなされたものであり、ファイル送受信にかかる電力消費量の増加を抑えることのできる、ファイル送受信システム、ファイル送受信方法、通信装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明の主たる発明は、ファイル送受信システムであって、サーバと、前記サーバに通信可能に接続される第１の通信装置と、前記サーバ及び前記第１の通信装置に通信可能に接続され、前記サーバからのプッシュ通知を受けるように構成され、ファイルを記憶する複数の第２の通信装置と、を含んで構成され、前記第１の通信装置は、前記第２の通信装置から前記ファイルを受信する機能を実現するための受信プログラムを記憶する受信プログラム記憶部と、前記ファイルを要求するリクエストを前記サーバに送信するとともに、前記受信プログラムを起動するリクエスト送信部と、を備え、前記サーバは、前記第１の通信装置から受信する前記リクエストに応じて、前記ファイル及び前記通信装置のそれぞれを特定する送信先情報を含む前記プッシュ通知を前記第２の通信装置に送信するプッシュ通知部を備え、前記第２の通信装置は、前記ファイルを前記第１の通信装置に送信する機能を実現するための送信プログラムを記憶する送信プログラム記憶部と、前記サーバから前記プッシュ通知を受けて、前記送信先情報により特定される前記ファイルと、前記送信先情報により特定される前記第１の通信装置とを指定して、前記送信プログラムを起動する送信プログラム起動部と、を備え、前記サーバは、複数の前記第２の通信装置ごとに、前記第２の通信装置に関する情報であり、前記第２の通信装置のユーザを特定するユーザ特定情報、前記第２の通信装置が接続しているネットワークを特定するネットワーク特定情報、及び前記第２の通信装置の位置を示す位置情報の少なくともいずれかが含まれている端末情報を記憶する端末情報記憶部を備え、前記第１の通信装置の前記リクエスト送信部は、前記端末情報に対する条件を前記リクエストに指定し、
前記サーバの前記プッシュ通知部は、前記リクエストに指定された前記条件を満たす前記端末情報を検索し、検索した前記端末情報に対応する前記第２の通信装置にのみ前記プッシュ通知を送信する。
【００１０】
また、本発明のファイル送受信システムでは、前記プッシュ通知部は、ショートメッセージ、電子メール、及びアプリケーションに対するオペレーティングシステムからのメッセージのいずれかをプッシュにより前記第２の通信装置に送信するようにしてもよい。
【００１１】
また、本発明の他の態様は、サーバと、前記サーバに通信可能に接続される第１の通信装置と、前記サーバ及び前記第１の通信装置に通信可能に接続され、前記サーバからのプッシュ通知を受けるように構成され、ファイルを記憶する複数の第２の通信装置と、を含んで構成され、前記第１の通信装置は、前記第２の通信装置から前記ファイルを受信する機能を実現するための受信プログラムを記憶し、前記第２の通信装置は、前記ファイルを前記第１の通信装置に送信する機能を実現するための送信プログラムを記憶し、前記サーバは、複数の前記第２の通信装置ごとに、前記第２の通信装置に関する情報であり、前記第２の通信装置のユーザを特定するユーザ特定情報、前記第２の通信装置が接続しているネットワークを特定するネットワーク特定情報、及び前記第２の通信装置の位置を示す位置情報の少なくともいずれかが含まれている端末情報を記憶する、ファイル送受信システムにおいてファイルを送受信する方法であって、前記第１の通信装置が、前記ファイルを要求するリクエストに前記端末情報に対する条件を指定して前記サーバに送信するとともに、前記受信プログラムを起動し、前記サーバが、前記第１の通信装置から受信する前記リクエストに応じて、前記リクエストに指定された前記条件を満たす前記端末情報を検索し、検索した前記端末情報に対応する前記第２の通信装置のみに、前記ファイル及び前記通信装置のそれぞれを特定する送信先情報を含む前記プッシュ通知を送信し、前記第２の通信装置が、前記サーバから前記プッシュ通知を受けて、前記送信先情報により特定される前記ファイルと、前記送信先情報により特定される前記第１の通信装置とを指定して、前記送信プログラムを起動することとする。
【００１４】
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
【発明の効果】
【００１５】
本発明によれば、ファイル送受信にかかる電力消費量の増加を抑えることができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態のファイル送受信システムの全体構成の一例を示す図である。
【図２】本実施形態におけるファイル送受信処理の概要を説明する図である。
【図３】ユーザ端末１０のハードウェア構成の一例を示す図である。
【図４】ユーザ端末１０のソフトウェア構成の一例を示す図である。
【図５】設定情報記憶部１１２に記憶される設定情報の構成例を示す図である。
【図６】端末情報２６の一例を示す図である。
【図７】ファイル取得要求２７の構成例を示す図である。
【図８】サーバ３０のハードウェア構成の一例を示す図である。
【図９】サーバ３０のソフトウェア構成の一例を示す図である。
【図１０】本実施形態のファイル送受信システムにおけるファイルの送受信処理の流れを説明する図である。
【図１１】従来のＰ２Ｐ通信プロトコルによるファイルの転送処理を説明する図である。
【発明を実施するための形態】
【００１７】
＝＝システム構成＝＝
図１は本実施形態に係るファイル送受信システムの全体構成の一例を示す図である。本実施形態のファイル送受信システムは、複数のユーザ端末１０及びサーバ３０を含んで構成される。なお、図１では２つのユーザ端末１０が示されているが、３つ以上であってもよい。
【００１８】
ユーザ端末１０（本発明の通信装置に該当する。）はファイルを管理する、例えば携帯電話やスマートフォン、タブレットコンピュータ、ＰＤＡ、ノート型パーソナルコンピュータなどの可搬型のコンピュータである。
【００１９】
サーバ３０は、ユーザ端末１０にプッシュによる通知（以下、プッシュ通知という。）を送信する。プッシュとは、サーバ３０がユーザ端末１０からのリクエストによらず能動的にユーザ端末１０に対してメッセージを通知する仕組みであり、一般的なオペレーティングシステムに採用されている。プッシュ通知として送信されるメッセージは、電子メールやショートメッセージサービス（ＳＭＳ）としてもよいし、独自の形式のデータとしてもよい。プッシュ通知には、通知の宛先となるユーザプログラムを特定する情報（以下、アプリケーションＩＤという。）と、任意の情報とを含めることができる。
【００２０】
ユーザ端末１０とサーバ３０とは通信ネットワーク４０により互いに通信可能に接続されている。通信ネットワーク４０は、例えばインターネットやＬＡＮ（Local Area Network）などであり、イーサネット（登録商標）や公衆電話回線網、無線通信網などにより構築される。
【００２１】
本実施形態のファイル送受信システムは、ユーザ端末１０間でファイルを転送するものであり、ファイルの送信側のユーザ端末１０を、サーバモードで動作させることなく、サーバ３０からのプッシュ通知によりファイル送信を開始させる。
【００２２】
図２は、本実施形態におけるファイル送受信の流れを説明する図である。図２に示すように、本実施形態のファイル送受信システムでは、ファイルを取得しようとするユーザ端末１０（以下、受信端末という。）が、サーバに対してファイルを取得するためのリクエストを送信するとともに、ファイルの受信を待機するサーバモードで動作する。サーバ３０は、受信端末からのリクエストに応じて、ファイルを保存しているユーザ端末１０（以下、送信端末という。）を検索し、送信端末に対してプッシュ通知により、ファイルの指定と受信端末の指定を行う。送信端末は、プッシュ通知に応じてファイルを受信端末にアップロードする。このように、本実施形態のファイル送受信システムでは、ユーザ端末１０がサーバモードで動作するのは、受信端末がリクエストを送信してからファイルのアップロードを受け付けるまでの間のみであり、常にユーザ端末１０をサーバモードで動作させる必要がなく、システム全体としてファイルの転送にかかる電力消費量を抑えることができるようにしている。以下、詳細について説明する。
【００２３】
＝＝ユーザ端末１０＝＝
図３はユーザ端末１０のハードウェア構成の一例を示す図である。ユーザ端末１０は、ＣＰＵ１０１、メモリ１０２、記憶装置１０３、通信インタフェース１０４、入力装置１０５、出力装置１０６を備える。記憶装置１０３は、各種のデータやプログラムを記憶する、例えばハードディスクドライブやソリッドステートドライブ、フラッシュメモリなどである。ＣＰＵ１０１は記憶装置１０３に記憶されているプログラムをメモリ１０２に読み出して実行することにより各種の機能を実現する。本実施形態では、記憶装置１０３には、少なくともシステムプログラム２１、端末情報送信プログラム２２、ファイル取得プログラム２３、ファイル送信プログラム２４の４つのプログラムが記憶されている。システムプログラム２１は、オペレーティングシステムを実現するためのプログラムであり、端末情報送信プログラム２２、ファイル取得プログラム２３及びファイル送信プログラム２４は、ユーザプログラムである。ＣＰＵ１０１がこれらのプログラムをメモリ１０２に読み出して実行することにより、後述する各種の機能が実現される。通信インタフェース１０４は、通信ネットワーク４０に接続するためのインタフェースであり、例えば、イーサネット（登録商標）に接続するためのアダプタ、公衆電話回線網に接続するためのモデム、無線通信網に接続するための無線通信機などである。入力装置１０５は、データの入力を受け付ける、例えばキーボードやマウス、トラックボール、タッチパネル、マイクロフォンなどである。出力装置１０６は、データを出力する、例えばディスプレイやプリンタ、スピーカなどである。ユーザ端末１０は複数の入力装置１０５及び出力装置１０６を備えるようにすることもできる。
【００２４】
図４はユーザ端末１０のソフトウェア構成の一例を示す図である。ユーザ端末１０は、ファイル記憶部１１１、設定情報記憶部１１２、位置情報記憶部１１３、オペレーティングシステム２１１、端末情報送信プロセス２２１、ファイル取得プロセス２３１、ファイル送信プロセス２４１、ファイル受信プロセス２５１を備えている。また、オペレーティングシステム２１１はさらに、プッシュ通知受信部２１２、位置情報更新部２１３及び定期起動処理部２１４を備えている。
【００２５】
なお、ファイル記憶部１１１、設定情報記憶部１１２、及び位置情報記憶部１１３は、ユーザ端末１０が備えるメモリ１０２及び記憶装置１０３により提供される記憶領域の一部として実現される。
【００２６】
ファイル記憶部１１１はファイルを記憶する。ファイル記憶部１１１は、例えばオペレーティングシステム２１１が提供するファイルシステムとして実現することができる。また、ファイル記憶部１１１は、ファイルシステム上のディレクトリ（フォルダ）として実現するようにしてもよい。
【００２７】
設定情報記憶部１１２は、ユーザが設定可能なユーザ端末１０のユーザに関する情報（以下、設定情報という。）を記憶する。図５は設定情報記憶部１１２に記憶される設定情報の構成例を示す図である。設定情報には、ユーザを特定するためのユーザＩＤと、当該ユーザが信頼する他のユーザを特定するためのユーザＩＤのリストである信頼ユーザとが含まれている。なお、その他ユーザの属性など、ユーザに関する情報を各種含めるようにすることができる。
【００２８】
位置情報記憶部１１３は、ユーザ端末１０の位置を示す位置情報を記憶する。位置情報は、例えばＧＰＳ（Global Positioning System）により測定された位置情報としてもよいし、ＩＰアドレスやネットワークアドレスを位置情報として採用してもよい。また、ユーザ端末１０がＷｉ−Ｆｉ（Wireless Fidelity）によってネットワークに接続されている場合（無線ＬＡＮに接続されている場合）に、その接続先のネットワーク名やＳＳＩＤ（Service Set ID）を位置情報としてもよい。本実施形態では、位置情報はＧＰＳにより測定された緯度及び経度であるものとする。
【００２９】
オペレーティングシステム２１１は、ＣＰＵ１０１がシステムプログラム２１を実行することにより実現され、ユーザ端末１０のハードウェアなどの資源をアプリケーションソフトウェアに提供する機能である。なお、オペレーティングシステム２１１には、プッシュ通知が実装された一般的な携帯端末用のオペレーティングシステムを採用することができる。
【００３０】
オペレーティングシステム２１１が備えるプッシュ通知受信部２１２は、一般的なプッシュ通知の方法により、サーバ３０からプッシュ通知を受信する。プッシュ通知には、プッシュ通知を伝達する先となるアプリケーションプログラムを指定する情報が含まれており、プッシュ通知受信部２１２は、プッシュ通知に指定されたアプリケーションプログラム（が実行されることにより実現されるプロセス）に対してプッシュ通知を伝達する。なお、本実施形態では、プッシュ通知には、ファイル送信プログラム２４が指定され、さらに、後述するファイル送信プロセス２４１が他のユーザ端末１０に送信するファイルと当該他のユーザ端末１０とが指定される。
【００３１】
オペレーティングシステム２１１が備える位置情報更新部２１３は、定期的にＧＰＳによる位置情報を取得して、取得した位置情報を位置情報記憶部１１３に書き込む。なお、ＧＰＳによる位置情報の取得は一般的な処理を想定する。
【００３２】
オペレーティングシステム２１１が備える定期起動処理部２１４は、設定されたプログラムを定期的に起動する。本実施形態では、端末情報送信プログラム２２が設定されているものとし、定期起動処理部２１４は、定期的に端末情報送信プログラム２２を起動するものとする。
【００３３】
情報更新プログラム２２が起動される（すなわち、ＣＰＵ１０１が端末情報送信プログラム２２を実行する）ことにより端末情報送信プロセス２２１が実現される。端末情報送信プロセス２２１は、ユーザ端末１０に関する情報（以下、端末情報２６という。）をサーバ３０に送信するプロセスである。
【００３４】
端末情報２６の一例を図６に示す。端末情報２６には、ユーザ端末１０を特定するための端末ＩＤ２６１に加えて、ユーザ端末１０及び当該ユーザ端末１０を操作するユーザに関する属性情報２６２と、送信可能なファイルの一覧を表すファイルリスト２６３が含まれる。図６の例では、属性情報２６２には、ユーザＩＤ、信頼ユーザ、位置情報、ＩＰアドレス、ネットワークアドレス、ＳＳＩＤが含まれている。ユーザＩＤ及び信頼ユーザは、設定情報記憶部１１２に記憶されている設定情報である。位置情報は、位置情報記憶部１１３に記憶されているものである。ＩＰアドレス、ネットワークアドレス及びＳＳＩＤは、ユーザ端末１０に割り当てられているＩＰアドレス及びそのネットワークアドレスならびにユーザ端末１０が接続されている無線ＬＡＮのアクセスポイントに設定されているＳＳＩＤである。なお、ユーザ端末１０が無線ＬＡＮに接続されていない場合には、ＳＳＩＤは設定しないようにしてもよい。ファイルリスト２６３は、ファイル記憶部１１１に記憶されているファイルの一覧である。図６の例では、ファイル名の一覧がファイルリスト２６３に含められているが、ファイルごとのファイルの属性を含む情報を含めるようにしてもよい。例えばカメラで撮影した画像ファイルについては、撮影日時やカメラの機種などのＥＸＩＦ情報を含めるようにし、音楽データのファイルについては、曲名や作曲者などの情報を含めるようにし、映画の動画ファイルについては、映画のタイトルや出演者などの情報を含めるようにすることができる。
【００３５】
端末情報送信プロセス２２１は、端末情報２６をサーバ３０に送信する。端末情報送信プロセス２２１は、ユーザ端末１０を特定する端末ＩＤ、ユーザ端末１０を操作しているユーザを特定するユーザＩＤ、ユーザ端末１０に割り当てられているＩＰアドレス及びネットワークアドレスを取得し、ユーザ端末１０が無線ＬＡＮに接続されている場合には、当該無線ＬＡＮのＳＳＩＤを取得する。端末情報送信プロセス２２１は、設定情報記憶部１１２から設定情報を取得し、位置情報記憶部１１３から位置情報を読み出し、ファイル記憶部１１１に記憶されているファイルの一覧を取得する。端末情報送信プロセス２２１は、これらを設定した端末情報２６を作成し、作成した端末情報２６をサーバ３０に送信する。
【００３６】
ファイル取得プロセス２３１は、ＣＰＵ１０１がファイル取得プログラム２３を実行することにより実現される。本実施形態では、ファイル取得プログラム２３は、ユーザの操作により起動されることを想定している。ファイル取得プロセス２３１は、ファイル取得要求２７をサーバ３０に送信する。図７は、ファイル取得要求２７の構成例を示す図である。ファイル取得要求２７には、当該ユーザ端末１０の端末ＩＤ２７１と、要求するファイルのファイル名（要求ファイル名２７２）と、ファイルを取得する先に対する条件（送付元条件２７３）とが設定される。送付元条件２７３には、端末情報２６に含まれる項目に対する条件を指定することができる。図７の例では、送信元条件２７３には、ユーザＩＤ、ネットワークアドレス及びＳＳＩＤが含まれており、これらが端末情報２６の属性情報２６２の対応する項目と一致することを想定しているが、これに限らず、送信元条件２７３には、図７の例以外にも、例えば、ユーザＩＤを指定して、属性情報２６２の信頼ユーザに当該ユーザＩＤが含まれることを条件とし、あるいは、位置情報の範囲を指定して、属性情報２６２の位置情報が示す緯度及び経度が当該範囲に含まれることを条件とすることもできる。また、ファイルリスト２６３に含まれるファイルの数などを条件としてもよい。すなわち、送信元条件２７３には、端末情報２６に含まれる１つ以上の項目に対する任意の条件を指定することができる。なお、要求ファイル名２７２は、ユーザから受け付けるものとし、送信元条件２７３についても、各項目をユーザから受け付けるものとする。なお、予め設定された送信元条件２７３をファイル取得要求２７に含めるようにしてもよい。また、送付元条件２７３を省略してもよい。
【００３７】
ファイル取得プロセス２３１は、ファイル取得要求２７をサーバ３０に送信すると、ファイル受信プログラム２５を起動する。
【００３８】
ファイル受信プログラム２５が起動されることにより（すなわち、ＣＰＵ１０１がファイル受信プログラム２５を実行することにより）、ファイル受信プロセス２５１が実現される。ファイル受信プロセス２５１は、他のユーザ端末１０からアップロードのリクエスト（以下、アップロード要求という。）を受け付け、アップロード要求に付帯されるファイルを受信し、受信したファイルをファイル記憶部１１１に登録する。アップロード要求は、例えば、ＨＴＴＰのＰＯＳＴリクエストやＰＵＴリクエストなどとしてもよいし、ＦＴＰのリクエストとしてもよい。
【００３９】
ファイル送信プロセス２４１は、ＣＰＵ１０１がファイル送信プログラム２４を実行することにより実現される。ファイル送信プロセス２４１は、プッシュ通知に応じて、プッシュ通知に指定された他のユーザ端末１０に対して、プッシュ通知に指定されたファイルをファイル記憶部１１１から読み出して送信する。
【００４０】
＝＝サーバ３０＝＝
図８は、サーバ３０のハードウェア構成の一例を示す図である。サーバ３０は、ＣＰＵ３０１、メモリ３０２、記憶装置３０３、通信インタフェース３０４、入力装置３０５、出力装置３０６を備える。記憶装置３０３は、各種のデータやプログラムを記憶する、例えばハードディスクドライブやソリッドステートドライブ、フラッシュメモリなどである。ＣＰＵ３０１は記憶装置３０３に記憶されているプログラムをメモリ３０２に読み出して実行することにより各種の機能を実現する。通信インタフェース３０４は、通信ネットワーク４０に接続するためのインタフェースであり、例えば、イーサネット（登録商標）に接続するためのアダプタ、公衆電話回線網に接続するためのモデム、無線通信網に接続するための無線通信機などである。入力装置３０５は、データの入力を受け付ける、例えばキーボードやマウス、トラックボール、タッチパネル、マイクロフォンなどである。出力装置３０６は、データを出力する、例えばディスプレイやプリンタ、スピーカなどである。サーバ３０は複数の入力装置３０５及び出力装置３０６を備えるようにすることもできる。
【００４１】
図９は、サーバ３０のソフトウェア構成の一例を示す図である。サーバ３０は、端末情報受信部３１１、ファイル取得要求受信部３１２、端末情報検索部３１３、プッシュ通知送信部３１４、端末情報記憶部３３１を備える。なお、端末情報受信部３１１、ファイル取得要求受信部３１２、端末情報検索部３１３、プッシュ通知送信部３１４は、サーバ３０が備えるＣＰＵ３０１が記憶装置３０３に記憶されているプログラムをメモリ３０２に読み出して実行することにより実現され、端末情報記憶部３３１は、サーバ３０が備えるメモリ３０２及び記憶装置３０３が提供する記憶領域の一部として実現される。
【００４２】
端末情報受信部３１１は、ユーザ端末１０から送信される端末情報２６を受信し、受信した端末情報２６を端末情報記憶部３３１に登録する。端末情報受信部３１１は、受信した端末情報２６に含まれる端末ＩＤ２７１に対応する端末情報が端末情報記憶部３３１にすでに記憶されている場合には、当該端末情報を更新する。
【００４３】
ファイル取得要求受信部３１２は、ユーザ端末１０から送信されるファイル取得要求２７を受信する。
【００４４】
端末情報検索部３１３は、ファイル取得要求２７に含まれる送信元条件２７３に応じて、端末情報記憶部３３１から端末情報２６を検索する。本実施形態では、説明を簡単にするため、端末情報検索部３１３は、送信元条件２７３に含まれる各項目が、端末情報２６の対応する項目と一致する端末情報２６を端末情報記憶部３３１から検索するものとする。例えば、図７の例のように、送付元条件２７３にユーザＩＤ及びネットワークアドレスが含まれている場合には、当該ユーザＩＤ及びネットワークアドレスが含まれる端末情報２６を検索する。
【００４５】
プッシュ通知送信部３１４は、検索された端末情報２６の端末ＩＤにより特定されるユーザ端末１０（送信端末）に対して、ファイル取得要求２７の送信元のユーザ端末１０（受信端末）と、ファイル取得要求２７に指定されたファイルとを指定したプッシュ通知を送信する。なお、プッシュ通知の通知方法は、一般的に行われている手法により行うものとする。また、ファイルの指定は、ファイル取得要求２７に含まれているファイル名により行うものとし、ユーザ端末１０の指定は端末情報２６に含まれているＩＰアドレスにより行うものとする（これらのファイル名及びＩＰアドレスが本発明の送信先情報に該当する。）。
【００４６】
＝＝ファイル送受信処理＝＝
図１０は、本実施形態のファイル送受信システムにおけるファイルの送受信処理の流れを説明する図である。
【００４７】
ユーザ端末１０では、定期起動処理部２１４が定期的に情報更新プログラム２２を起動するため、端末情報送信プロセス２２１は、定期的に端末情報２６をサーバ３０に送信することになる。図１０の例では、受信端末から端末情報２６がサーバ３０に送信され（Ｓ５１）、サーバ３０の端末情報受信部３１１は、受信端末から受信した端末情報２６を端末情報記憶部３３１に登録する（Ｓ５２）。同様に、送信端末からも端末情報２６がサーバ３０に送信され（Ｓ５３）、サーバ３０の端末情報受信部３１１は、送信端末から受信した端末情報２６を端末情報記憶部３３１に登録する（Ｓ５４）。ステップＳ５１−Ｓ５４の処理が定期的に繰り返されることになる。
【００４８】
受信端末においてユーザからの操作に応じてファイル取得プログラム２３が起動されると、ファイル取得プロセス２３１は、要求ファイル名２７２及び送信元条件２７３に設定する各項目の入力をユーザから受け付け、当該受信端末を示す端末ＩＤ２７１と、受け付けた要求ファイル名２７２及び送信元条件２７３とを含むファイル取得要求２７をサーバ３０に送信する（Ｓ６１）。また、ファイル取得プロセス２３１は、ファイル取得要求２７を送信するとともに、ファイル受信プログラム２５を起動してファイル受信プロセス２５１により送信端末からのファイルのアップロードを受信するべく、受信端末をサーバモードで動作させる（Ｓ６２）。
【００４９】
サーバ３０において、ファイル取得要求受信部３１２が受信端末からファイル取得要求２７を受信すると、端末情報検索部３１３がファイル取得要求２７に含まれる送信元条件２７３に対応する端末情報２６を端末情報記憶部３３１から検索する（Ｓ６３）。例えばファイル取得要求受信部３１２は、図７のファイル取得要求２７を受信した場合には、端末情報記憶部３３１に記憶されている端末情報２６のうち、ユーザＩＤが送信元条件２７３のユーザＩＤと一致するか、信頼ユーザに送信元条件２７３のユーザＩＤが含まれているかのいずれかであり、ネットワークアドレスが送信元条件２７３のネットワークアドレスと一致し、かつ、ＳＳＩＤが送信元条件２７３のＳＳＩＤと一致するものを検索する。
【００５０】
プッシュ通知送信部３１４は、検索した端末情報２６に含まれる端末ＩＤ２６１が示すユーザ端末１０（すなわち送信端末）に対して、端末情報２６に含まれるＩＰアドレスと、ファイル取得要求２７に含まれる要求ファイル名２７２と、ファイル送信プログラム２４の指定とを含むプッシュ通知を送信する（Ｓ６４）。なお、複数の端末情報２６が検索された場合、プッシュ通知送信部３１４は、複数の端末情報２６のそれぞれに対応するユーザ端末１０に対して上記プッシュ通知を送信するようにしてもよいし、その中から１つの端末情報２６を選択し、選択した端末情報２６に対応するユーザ端末１０にのみプッシュ通知を送信するようにしてもよい。
【００５１】
送信端末のプッシュ通知受信部２１２は、プッシュ通知を受信すると、プッシュ通知に指定されたファイル送信プログラム２４を、プッシュ通知に含まれるファイル名及び受信端末のＩＰアドレスを引数として起動する（Ｓ６５）。ファイル送信プロセス２４１は、引数に指定されたＩＰアドレスの受信端末にアップロード要求を送信するとともに、引数に指定されたファイル名に対応するファイルをファイル記憶部１１１から読み出し、読み出したファイルを受信端末に送信する（Ｓ６６）。
【００５２】
受信端末のファイル受信プロセス２５１は、送信端末からのアップロード要求及びファイルを受信し（Ｓ６７）、受信したファイルをファイル記憶部１１１に登録して、処理を終了する。なお、複数の送信端末からアップロード要求が送信された場合、ファイル受信プロセス２５１は、最初に到着したアップロード要求及びそれに後続するファイルのみを受信するようにしてもよいし、複数のアップロード要求を受信し、その送信元の送信端末のうち、最も経路が近いものや最も通信速度が速いものなど、所定の基準でファイルを受信する送信端末を決定するようにしてもよい。
【００５３】
以上のようにして、本実施形態のファイル送受信システムでは、通常時にはファイル受信プロセスを実行することなく、ファイルを受信する場合にはじめてファイル受信プロセスを起動するようにしている。したがって、常に他の機器からのリクエストを待機する従来のＰ２Ｐ通信の場合に比べて、システム全体でユーザ端末１０をサーバモードで動作させる時間を短くすることができる。これにより、ファイルの送受信にかかる電力消費量の増加を抑制することができる。
【００５４】
また、サーバモードで動作させるのは、ファイルを取得しようとするユーザ端末１０のみであり、ファイルを送信する送信端末をサーバモードで動作させる必要がないため、ファイルの送受信の開始をプッシュ通知により通知されるまでの間は送信端末の電力消費量は増加しないようにすることができる。一方で、送信端末自信が、ファイル取得要求２７をサーバ３０に送信するとともに、サーバモードで動作することになるので、確実にファイルの受信を受け付けるように待機することができる。
【００５５】
また、本実施形態のファイル送受信システムでは、ユーザ端末１０を不必要にサーバモードで動作させる必要がない。したがって、ファイル受信用のポートが不要に開かれることがなくなり、悪意のユーザからの攻撃対象とされる危険性を予防することができる。これにより、ファイル送受信システム全体でのセキュリティを向上させることができる。
【００５６】
また、本実施形態のファイル送受信システムによれば、送信元条件２７３により、ユーザは信頼できるユーザ端末１０にだけプッシュ通知を行うことができる。これにより、信頼の置けない第三者からファイルを受信しないようにすることができる。したがって、例えば悪意のユーザからウィルスファイルを受信してしまうような危険を回避することができる。よって、セキュリティを向上させることができる。
【００５７】
なお、本実施形態では、ユーザ端末１０は可搬型のコンピュータであるものとしていたが、非可搬型のコンピュータであってもよい。もっとも、可搬型コンピュータのように電池の消費量を抑える必要性の高い場合に適用するのがより有効である。特に送信端末が携帯電話等の可搬型である場合には、送信端末をサーバモードで動作させる必要がないので有効である。
【００５８】
また、本実施形態では、オペレーティングシステム２１１の機能として位置情報の更新や、プッシュ通知の受信が行われるものとしたが、これに限らず、ユーザアプリケーションの機能としてこれらを実現するようにしてもよい。
【００５９】
また、本実施形態では、ファイルリスト２６３には、ファイル記憶部１１１に記憶されている全てのファイルの一覧が設定されるものとしたが、一部のファイルのみを設定するようにしてもよい。例えば、他のデバイスと送受信を行うためのファイルにはタグ付けをしておき、当該タグ付けがされたファイルのみの一覧をファイルリスト２６３に設定するようにしてもよい。
【００６０】
また、本実施形態では、送信元条件２７３に含まれる各項目が、端末情報２６の対応する項目と一致するかどうかにより、端末情報２６を検索するものとしたが、一致以外の演算によって検索を行うようにしてもよい。例えば、送信元条件２７３に位置情報が含まれている場合、端末情報検索部３１３は、当該位置情報から所定距離内の範囲に含まれる位置情報に対応する端末情報２６を検索するようにすることができる。また、端末情報記憶部３３１は、複数のユーザＩＤが送信元条件２７３に含まれている場合には、これら複数のユーザＩＤのいずれかに一致する端末情報２６を検索するようにすることもできる。また、送信元情報２７３にユーザＩＤが含まれている場合には、当該ユーザＩＤと、端末情報２６のユーザＩＤとが一致することと、当該ユーザＩＤが信頼ユーザに含まれていることとの少なくともいずれかに該当する端末情報２６を検索するようにしてもよい。
【００６１】
また、信頼ユーザに代えて又は信頼ユーザに加えて、信頼できる端末の端末ＩＤを設定する信頼端末を記憶するようにしてもよい。この場合、送信元条件２７３に端末ＩＤを指定し、この端末ＩＤが信頼端末に含まれている端末情報２６を検索するようにすることができる。
【００６２】
また、本実施形態では、ファイル取得要求２７において、要求するファイルの指定はファイル名で行うものとしたが、これに限らず、例えば、ファイルの属性に対する条件を設定するようにしてもよい。すなわち、ファイルの指定は、ファイルを特定可能なものであれば何でもよい。
【００６３】
また、本実施形態では、受信端末は１つの送信端末からファイルを受信するものとしたが、これに限らず、複数の送信端末から受信するようにしてもよい。この場合、アップロード要求を送信してきた送信端末の数の区分にファイルを分割し、区分ごとに異なる送信端末から受信することもできる。例えば、受信端末が２つの送信端末からアップロード要求を受信した場合、先頭からファイルの真ん中までのデータを第１の送信端末から受信し、ファイルの真ん中から最後までのデータを第２の送信端末から受信するようにすることができる。また、ファイルの転送を所定の大きさ（例えば、６４キロバイトや１２８キロバイトなど任意の大きさとすることができる。）のブロック単位で行うようにし、第１の送信端末からは先頭から順にブロック単位でデータを受信し、第２の送信端末からは最後から順にブロック単位でデータを受信し、全てのブロックのデータを受信したところで通信を終了するようにしてもよい。
【００６４】
また、本実施形態では、ファイル受信プロセス２５１は他のユーザ端末１０から送信されたファイルは無条件で受信するものとしたが、ファイル取得要求２７を送信した先のユーザ端末１０からアップロードされるファイルのみを受け付けるようにしてもよい。例えば、図１０のステップＳ６１において、受信端末はトークンを生成し、当該トークンをファイル取得要求２７に設定してサーバ３０に送信するようにする。トークンの生成は、例えばランダムな文字列を生成するようにしてもよいし、ユーザからトークンの文字列の入力を受け付けるようにしてもよい。ステップＳ６４において、サーバ３０は、ファイル取得要求２７に設定されていたトークンもプッシュ通知により送信端末に通知し、ステップＳ６６において、送信端末は、プッシュ通知により通知されたトークンとともにファイルをアップロードする。これにより、ステップＳ６７において、受信端末は自身が生成したトークンと、送信端末から受信したトークンとが一致する場合にのみファイルのアップロードを受け付けるようにすることが可能となる。したがって、例えば悪意のユーザ端末１０がサーバ３０からのプッシュ通知を受けずに送信したファイルをも受信端末が受信してしまうようなことを防ぐことができる。これによりファイル送受信システムのセキュリティを向上することができる。
【００６５】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【符号の説明】
【００６６】
１０    ユーザ端末
２１    システムプログラム
２２    情報更新プログラム
２３    ファイル取得プログラム
２４    ファイル送信プログラム
２５    ファイル受信プログラム
２６    端末情報
２７    ファイル取得要求
３０    サーバ
４０    通信ネットワーク
１１１  ファイル記憶部
１１２  設定情報記憶部
１１３  位置情報記憶部
２１１  オペレーティングシステム
２１２  プッシュ通知受信部
２１３  位置情報更新部
２１４  定期起動処理部
２２１  端末情報送信プロセス
２３１  ファイル取得プロセス
２４１  ファイル送信プロセス
２５１  ファイル受信プロセス
２６１  端末ＩＤ
２６２  属性情報
２６３  ファイルリスト
２７１  端末ＩＤ
２７２  要求ファイル名
２７３  送信元条件
３１１  端末情報受信部
３１２  ファイル取得要求受信部
３１３  端末情報検索部
３１４  プッシュ通知送信部
【図１】
0005825956.tif 000002
【図２】
0005825956.tif 000003
【図３】
0005825956.tif 000004
【図４】
0005825956.tif 000005
【図５】
0005825956.tif 000006
【図６】
0005825956.tif 000007
【図７】
0005825956.tif 000008
【図８】
0005825956.tif 000009
【図９】
0005825956.tif 000010
【図１０】
0005825956.tif 000011
【図１１】
0005825956.tif 000012