JP6854491B2 - ファイル転送システム、ファイル転送方法およびプログラム - Google Patents

ファイル転送システム、ファイル転送方法およびプログラム Download PDF

Info

Publication number
JP6854491B2
JP6854491B2 JP2019044516A JP2019044516A JP6854491B2 JP 6854491 B2 JP6854491 B2 JP 6854491B2 JP 2019044516 A JP2019044516 A JP 2019044516A JP 2019044516 A JP2019044516 A JP 2019044516A JP 6854491 B2 JP6854491 B2 JP 6854491B2
Authority
JP
Japan
Prior art keywords
transfer
file
terminal
calculation result
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019044516A
Other languages
English (en)
Other versions
JP2020149182A (ja
Inventor
元則 岩田
元則 岩田
Original Assignee
株式会社Gunしすてむ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Gunしすてむ filed Critical 株式会社Gunしすてむ
Priority to JP2019044516A priority Critical patent/JP6854491B2/ja
Publication of JP2020149182A publication Critical patent/JP2020149182A/ja
Application granted granted Critical
Publication of JP6854491B2 publication Critical patent/JP6854491B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ファイル転送システム、ファイル転送方法およびプログラムに関する。
近年、ファイルのバックアップのためにそのファイルを遠隔地のパソコンなどに転送したり、毎月の売り上げの集計結果を示すファイルを本部へ転送したりなどといったファイル転送について、人的負担を低減することでファイル転送を好適に行うための様々な技術が提案されている。
例えば特許文献1には、USBストレージデバイスが接続された時に、USBストレージデバイスのファイルを、指定の端末に自動的に転送するファイル転送装置が開示されている。
特開2014−089676号公報
しかしながら、特許文献1に記載のファイル転送装置では、転送元となる端末に対してユーザがUSBストレージデバイスを接続する必要がある。そのため、複数の端末に記憶されたそれぞれのファイルを所定の端末へ転送するといった場合、各端末に対して操作する必要があり、人的負担が大きくなる。したがって、ファイル転送を好適に行うという観点からすると未だ改善の余地があった。
本発明は、上述のような事情に鑑みてなされたものであり、ファイル転送を好適に行うことができるファイル転送システム、ファイル転送方法およびプログラムを提供することを目的としている。
上記目的を達成するため、本発明の第1の観点に係るファイル転送システムは、
ネットワークを介して通信可能に接続された転送指示装置の指示に基づいて、転送元の端末に記憶されたファイルを転送先の端末へ転送するファイル転送システムであって、
前記転送指示装置は、
前記転送元の端末に記憶されている転送可能なファイルを識別するファイル情報を記憶するファイル情報記憶手段と、
前記ファイル情報記憶手段に記憶された前記ファイル情報により識別される前記転送可能なファイルのうち、ユーザにより選択された前記転送可能なファイルを特定するファイル特定情報を前記転送元の端末へ送信する送信手段と、を備え、
前記転送元の端末は、
前記送信手段により送信された前記ファイル特定情報により特定されるファイルを、転送対象ファイルとして前記転送先の端末へ転送する転送対象ファイル転送手段と、
前記転送対象ファイルに基づいて、予め記憶された一方向関数を用いて演算を行った結果を第1の演算結果として前記転送指示装置へ送信する第1の演算結果送信手段と、を備え、
前記ファイル特定情報には、ユーザが転送を所望する前記転送先の端末を特定する情報と、該端末に記憶された転送可能なファイルを特定する転送先ファイル特定情報と、が含まれ、
前記ファイル特定情報により特定される前記転送先の端末が複数ある場合、前記転送先の端末数に応じて異なる優先度が設定された複数の転送パターンのうち、前記転送先の端末数に対応する最も高い優先度の一の転送パターンを決定する決定手段と、をさらに備え、
前記転送対象ファイル転送手段は、前記決定手段が決定した前記一の転送パターンに従って前記転送対象ファイルを前記転送先の端末へ転送し、
前記転送先の端末は、前記転送対象ファイル転送手段により転送された前記転送対象ファイルに基づいて、予め記憶された前記一方向関数を用いて演算を行った結果を第2の演算結果として前記転送指示装置へ送信する第2の演算結果送信手段を備え、
前記転送指示装置は、前記第1の演算結果送信手段から受信した前記第1の演算結果と前記第2の演算結果送信手段から受信した前記第2の演算結果とが一致していることを確認する確認手段と、
をさらに備えることを特徴とする。
前記第1の演算結果送信手段は、前記ファイル特定情報により特定されるファイルが複数ある場合、前記一方向関数を用いて前記ファイル毎に複数回演算を行い、
前記転送対象ファイル転送手段は、前記ファイル特定情報により特定されるファイルが複数ある場合、前記ファイル特定情報により特定される複数のファイルを1つにまとめて暗号化し、前記転送対象ファイルとして前記一の転送パターンに従って前記転送先の端末へ転送する、
うにしてもよい。
前記転送元の端末は、
前記送信手段により送信された前記ファイル特定情報により特定されるファイルが最新であるか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて前記ファイルを更新する更新手段と、
をさらに備えるようにしてもよい。
前記ファイル特定情報には、前記転送先の端末に記憶された転送可能なファイルの転送スケジュールがさらに含まれ、
前記転送元の端末は、前記ファイル特定情報により特定される前記転送先の端末に、前記転送スケジュールに従って前記転送先ファイル特定情報により特定されるファイルの転送を指示する、
ようにしてもよい。
上記目的を達成するため、本発明の第2の観点に係るファイル転送方法は、
ネットワークを介して通信可能に接続された転送指示装置の指示に基づいて、転送元の端末に記憶されたファイルを転送先の端末へ転送するファイル転送方法であって、
前記転送指示装置のファイル情報記憶手段が、前記転送元の端末に記憶されている転送可能なファイルを識別するファイル情報を記憶するファイル情報記憶ステップと、
前記転送指示装置の送信手段が、前記ファイル情報記憶ステップで記憶された前記ファイル情報により識別される前記転送可能なファイルのうち、ユーザにより選択された前記転送可能なファイルを特定するファイル特定情報を前記転送元の端末へ送信する送信ステップと、
前記転送元の端末の転送対象ファイル転送手段が、前記送信ステップで送信された前記ファイル特定情報により特定されるファイルを、転送対象ファイルとして前記転送先の端末へ転送する転送対象ファイル転送ステップと、
前記転送元の端末の第1の演算結果送信手段が、前記転送対象ファイルに基づいて、予め記憶された一方向関数を用いて演算を行った結果を第1の演算結果として前記転送指示装置へ送信する第1の演算結果送信ステップと、を備え、
前記ファイル特定情報には、ユーザが転送を所望する前記転送先の端末を特定する情報と、該端末に記憶された転送可能なファイルを特定する転送先ファイル特定情報と、が含まれ、
前記ファイル特定情報により特定される前記転送先の端末が複数ある場合、前記転送先の端末数に応じて異なる優先度が設定された複数の転送パターンのうち、前記転送先の端末数に対応する最も高い優先度の一の転送パターンを決定する決定ステップと、をさらに備え、
前記転送対象ファイル転送ステップでは、前記決定ステップで決定した前記一の転送パターンに従って前記転送対象ファイルを前記転送先の端末へ転送し、
前記転送先の端末の第2の演算結果送信手段が、前記転送対象ファイル転送ステップで転送された前記転送対象ファイルに基づいて、予め記憶された前記一方向関数を用いて演算を行った結果を第2の演算結果として前記転送指示装置へ送信する第2の演算結果送信ステップと、
前記転送指示装置の確認手段が、前記第1の演算結果送信ステップで送信された前記第1の演算結果と前記第2の演算結果送信ステップで送信された前記第2の演算結果とが一致していることを確認する確認ステップと、
さらに備えることを特徴とする。
上記目的を達成するため、本発明の第3の観点に係るプログラムは、
ネットワークを介して通信可能に接続された転送指示装置を構成するコンピュータの指示に基づいて、転送元のコンピュータに記憶されたファイルを転送先のコンピュータへ転送するファイル転送システムにおけるプログラムであって、
前記転送指示装置を構成するコンピュータを、
前記転送元のコンピュータに記憶されている転送可能なファイルを識別するファイル情報を記憶するファイル情報記憶手段、
前記ファイル情報記憶手段に記憶された前記ファイル情報により識別される前記転送可能なファイルのうち、ユーザにより選択された前記転送可能なファイルを特定するファイル特定情報を前記転送元のコンピュータへ送信する送信手段、として機能させ、
前記転送元のコンピュータを、
前記送信手段により送信された前記ファイル特定情報により特定されるファイルを、転送対象ファイルとして前記転送先のコンピュータへ転送する転送対象ファイル転送手段、
前記転送対象ファイルに基づいて、予め記憶された一方向関数を用いて演算を行った結果を第1の演算結果として前記転送指示装置を構成するコンピュータへ送信する第1の演算結果送信手段、として機能させ、
前記ファイル特定情報には、ユーザが転送を所望する前記転送先の端末を特定する情報と、該端末に記憶された転送可能なファイルを特定する転送先ファイル特定情報と、が含まれ、
前記ファイル特定情報により特定される前記転送先の端末が複数ある場合、前記転送先の端末数に応じて異なる優先度が設定された複数の転送パターンのうち、前記転送先の端末数に対応する最も高い優先度の一の転送パターンを決定する決定手段、としてさらに機能させ、
前記転送対象ファイル転送手段は、前記決定手段が決定した前記一の転送パターンに従って前記転送対象ファイルを前記転送先の端末へ転送し、
前記転送先のコンピュータを、前記転送対象ファイル転送手段により転送された前記転送対象ファイルに基づいて、予め記憶された前記一方向関数を用いて演算を行った結果を第2の演算結果として前記転送指示装置を構成するコンピュータへ送信する第2の演算結果送信手段、として機能させ、
前記転送指示装置を構成するコンピュータを、前記第1の演算結果送信手段から受信した前記第1の演算結果と前記第2の演算結果送信手段から受信した前記第2の演算結果とが一致していることを確認する確認手段、
としてさらに機能させることを特徴とする。
本発明によれば、ファイル転送を好適に行うことができる。
本発明の実施形態に係るファイル転送システムの一例を示すブロック図である。 ファイル転送システムを構成する管理装置の一例を示すブロック図である。 転送可能ファイル一覧の一例を示す図である。 ファイル転送システムを構成する転送装置の一例を示すブロック図である。 ファイル転送システムを構成する管理装置の一例を示すブロック図である。 指示生成処理の一例を示すフローチャートである。 転送元となる端末の選選択画面の一例を示す図である。 要求生成処理の一例を示すフローチャートである。 転送対象ファイル等の選択画面の一例を示す図である。 転送ファイル処理の一例を示すフローチャートである。 転送ファイル後処理の一例を示すフローチャートである。 複数の転送先に転送する場合における転送パターンの説明図である。
ファイル転送システム1は、図1に示すように、管理装置100Aと、第1の端末100Bと、第2の端末100Cのそれぞれがネットワーク510を介して通信可能に接続されている。
管理装置100Aは、当該ファイル転送システム1のユーザの操作により第1の端末100Bに記憶されたファイルを、第2の端末100Cへ転送させるファイル転送指示装置として機能する。第1の端末100Bは、転送指示装置として機能する管理装置100Aからの指示に応じて、指定されたファイルを第2の端末100Cへ転送するファイル転送装置として機能する。なお、管理装置100Aは、当該ファイル転送システム1のユーザの操作により第2の端末100Cに記憶されたファイルを、第1の端末100Bへ転送させるファイル転送指示装置としても機能する。また、第2の端末100Cは、転送指示装置として機能する管理装置100Aからの指示に応じて、指定されたファイルを第1の端末100Bへ転送するファイル転送装置としても機能する。
なお、管理装置100A、第1の端末100B、および第2の端末100Cのそれぞれが、転送指示装置および転送装置として機能してもよいが、この実施の形態では、理解を容易にするため、管理装置100Aがファイル転送指示装置(単に転送指示装置とも言う)として機能するものとし、第1の端末100Bおよび第2の端末100Cがファイル転送装置(単に転送装置とも言う)として機能するものとする。そして、この実施の形態では、転送指示装置である管理装置100Aの指示に基づいて、第1の端末100Bから第2の端末100Cへ、ユーザの所望するファイルを転送する場合について、以下説明する。
管理装置100A、第1の端末100B、および第2の端末100Cは、携帯電話やスマートフォン、タブレットやPC(Personal Computer)等の情報端末であり、P2P(Peer to Peer)等の分散型のネットワーク510を構築している。なお、ファイル転送システム1は、P2P型のシステムに限られず、例えばクラウドコンピューティング型であってもよい。
次に、図2を参照し、この実施の形態において転送指示装置として機能する管理装置100Aの構成について説明する。なお、図示する例では、管理装置100Aを例としているが、第1の端末100Bおよび第2の端末100Cが転送指示装置として機能する場合には、第1の端末100Bおよび第2の端末100Cについても、管理装置100Aと同様の構成を備えることとなる。
図2に示すように、管理装置100Aは、記憶部110と、制御部120と、入出力部130と、通信部140と、これらを相互に接続するシステムバス(図示省略)と、を備えている。
記憶部110は、ROM(Read Only Memory)やRAM(Random Access Memory)等を備える。ROMは制御部120のCPUが実行するプログラム及び、プログラムを実行する上で予め必要なデータを記憶する。具体的に、この実施の形態では、当該管理装置100Aを、転送指示装置として機能させるためのプログラムが予めインストールされている(図示省略)。RAMは、プログラム実行中に作成されたり変更されたりするデータを記憶する。記憶部110は、制御部120が実行するプログラムが用いる主要な情報として、転送可能ファイル一覧111、転送時ハッシュ値112、および到達時ハッシュ値113、を記憶する。
転送可能ファイル一覧111は、図3に示すように、第1の端末100Bおよび第2の端末100Cに記憶されている転送可能なファイルの一覧を、当該端末およびファイル格納場所であるファイルパス毎に示す一覧表である。当該転送可能ファイル一覧111は、予め記憶されており、後述する要求生成部122の機能にて要求情報を生成する際(後述する要求生成処理)に参照される。なお、上述したように、この実施の形態では、理解を容易にするため、転送指示装置である管理装置100Aの指示に基づいて、第1の端末100Bから第2の端末100Cへ、ユーザの所望するファイルを転送する場合について説明しているが、第2の端末100Cから第1の端末100Bへ、ユーザの所望するファイルを転送する場合もあることから、図3に示す例では、第2の端末100Cに記憶された転送可能ファイルについても図示している。なお、この実施の形態では、ファイルパスを選択した後に、当該ファイルパスに格納されているファイルを選択することでユーザの所望するファイルを転送する例を示しているが、ファイルパスのみを選択することも可能であり、その場合には当該ファイルパスに格納されている全てのファイルが転送されればよい。
図3(A−1)は、第1の端末100BのファイルパスがC:¥XXXX¥Documents¥フォルダ001に格納されているファイルの一覧を示しており、ファイル1〜ファイルn(nは整数)のn個のファイルが転送可能となっている例を示している。図3(A−2)は、第1の端末100BのファイルパスがC:¥XXXX¥Documents¥フォルダ002に格納されているファイルの一覧を示しており、ファイル1〜ファイルm(mは整数)のm個のファイルが転送可能となっている例を示している。図3(B−1)は、第2の端末100CのファイルパスがC:¥XXXX¥Documents¥フォルダ001に格納されているファイルの一覧を示しており、ファイル1〜ファイルx(xは整数)のx個のファイルが転送可能となっている例を示している。図3(B−2)は、第2の端末100CのファイルパスがC:¥XXXX¥Documents¥フォルダ002に格納されているファイルの一覧を示しており、ファイル1〜ファイルy(yは整数)のy個のファイルが転送可能となっている例を示している。図示する例では、第1の端末100Bおよび第2の端末100Cそれぞれにおいて、転送可能なファイルパスが2つずつ存在する例を示しているが、より多くのファイルパスがあってもよく、また、それぞれ異なる数であってもよい。
図2に戻り、転送時ハッシュ値112は、第1の端末100Bが、指定されたファイル(転送対象ファイル)を第2の端末100Cへ転送した際に、第1の端末100Bから送信される、当該転送ファイルに基づいて算出されたハッシュ値である。当該転送時ハッシュ値112は、第2の端末100Cへ転送対象ファイルを転送した際に、第1の端末100Bから受信し、記憶部110へ格納される。
到達時ハッシュ値113は、転送対象ファイルが第2の端末100Cへ転送された後に、第2の端末100Cから送信される、当該転送ファイルに基づいて算出されたハッシュ値である。当該到達時ハッシュ値113は、第2の端末100Cへ転送対象ファイルが転送された後、管理装置100Aからの確認要求が第2の端末100Cへ送信されたことに応じて、第2の端末100Cから受信し、記憶部110へ格納される。
なお、転送時ハッシュ値112および到達時ハッシュ値113は、後述する改ざん確認部124の機能にて転送ファイルが改ざんされていないことを確認する際に参照される。
制御部120は、CPU(Central Processing Unit)やASIC(Application Specific Integrated Circuit)等から構成される。制御部120は、記憶部110に記憶されたプログラムに従って動作し、当該プログラムに従った処理を実行する。制御部120は、記憶部110に記憶されたプログラムにより提供される主要な機能部として、指示生成部121と、要求生成部122と、確認要求生成部123と、改ざん確認部124と、を備える。
指示生成部121は、当該ファイル転送システム1のユーザによる入出力部130に対する操作に基づいて指示情報を生成し、転送を要求する端末である第1の端末100Bへ、当該生成した指示情報を送信する機能部である。指示情報は、詳しくは後述するが、ユーザによる入出力部130に対する操作として、転送を所望する端末(この実施の形態では第1の端末100Bまたは第2の端末100C)が選択されることで生成される情報であり、当該端末に対して転送可能な状態であるかを確認する情報である。当該指示情報には、ユーザにより選択された、転送を所望する端末の宛先と、状態応答要求とが少なくとも含まれる。なお、状態応答要求は、転送可能な状態であるか否かの情報を要求するリクエスト情報であればよい。
要求生成部122は、当該ファイル転送システム1のユーザによる入出力部130に対する操作に基づいて要求情報を生成し、転送を要求する端末である第1の端末100Bへ、当該生成した要求情報を送信する機能部である。要求情報は、詳しくは後述するが、ユーザによる入出力部130に対する操作として、転送を所望するファイルのファイルパスとファイル名(またはファイル番号でもよい)と転送先とが選択されることで生成される情報であり、当該端末に対して転送対象ファイルを指定の転送先へ転送することを要求する情報である。当該要求情報には、ユーザにより選択された、転送を所望するファイルのファイルパスと、ファイル番号またはファイル名と、転送先の宛先とが少なくとも含まれる。なお、要求情報には、転送先である第2の端末100Cのファイルパス(転送先のファイルパス)が含まれてもよい。当該転送先のファイルパスについても、ユーザによる入出力部130に対する操作により選択されればよい。これによれば、当該要求情報は、転送元である第1の端末100Bにおける指定されたファイルパスのファイルを、転送先である第2の端末100Cの指定されたファイルパスへ格納することを要求する情報となる。なお、転送先は複数選択可能であるが、複数の転送先が選択された場合については後述するものとし、この実施の形態では、転送先として第2の端末100Cが1つ選択されたものとする。
確認要求生成部123は、第2の端末100Cへ転送対象ファイルが転送された後、当該第2の端末100Cに対し到達時ハッシュ値113の送信を要求する確認要求を生成し、当該第2の端末100Cへ、当該生成した確認要求を送信する機能部である。確認要求は、第1の端末100Bから転送時ハッシュ値112を受信してから所定期間経過後に生成され、到達時ハッシュ値113の送信を要求するリクエスト情報が少なくとも含まれる。なお、所定期間は、予め定められた一律な期間であってもよいし、転送対象ファイルのファイル容量が大きい程長い期間であるなど、転送対象ファイル毎に算出される期間であってもよい。
改ざん確認部124は、転送対象ファイルが転送前後で改ざんされていないことを確認するための機能部である。具体的に、改ざん確認部124は、転送時ハッシュ値112と到達時ハッシュ値113とが一致するか否かにより、転送対象ファイルが転送前後で改ざんされていないことを確認する。
入出力部130は、キーボード、マウス、カメラ、マイク、液晶ディスプレイ、有機EL(Electro−Luminescence)ディスプレイ等から構成され、データの入出力を行うための装置である。
通信部140は、第1の端末100Bおよび第2の端末100Cと、ネットワーク510を介して通信を行うためのデバイスである。
以上が、転送指示装置として機能する管理装置100Aの構成である。なお、上述したように、第1の端末100Bおよび第2の端末100Cが転送指示装置として機能する場合には、当該管理装置100Aと同様の構成を備えることとなる。
次に、図4を参照し、この実施の形態において転送装置として機能する第1の端末100Bの構成について説明する。なお、図示する例では、第1の端末100Bを例と示しているが、第2の端末100Cが転送装置として機能する場合や、管理装置100Aに転送装置としての機能を持たせる場合には、当該第2の端末100Cおよび管理装置100Aについても同様の構成を備えることとなる。また、上述したように、この実施の形態では、転送指示装置である管理装置100Aの指示に基づいて、第1の端末100Bから第2の端末100Cへ、ユーザの所望するファイルを転送する場合を例としており、転送元が第1の端末100Bで、転送先が第2の端末100Cである例を示しているが、転送元と転送先とが逆の場合もあり得るため、図4に示す第1の端末100Bは、転送元の端末としての構成、および転送先の端末としての構成の両方を備えている。
図4に示すように、第1の端末100Bは、記憶部210と、制御部220と、入出力部230と、通信部240と、これらを相互に接続するシステムバス(図示省略)と、を備えている。
記憶部210は、ROM(Read Only Memory)やRAM(Random Access Memory)等を備える。ROMは制御部220のCPUが実行するプログラム及び、プログラムを実行する上で予め必要なデータを記憶する。具体的に、この実施の形態では、当該第1の端末100Bを、転送装置として機能させるためのプログラムが予めインストールされている(図示省略)。RAMは、プログラム実行中に作成されたり変更されたりするデータを記憶する。記憶部210は、制御部220が実行するプログラムが用いる主要な情報として、ハッシュ関数211、転送用ファイル212、暗号化キー213、および復号化キー214を記憶する。
ハッシュ関数211は、転送対象ファイルに対するハッシュ値を算出する関数であり、予め記憶部210に記憶されている。なお、当該ハッシュ関数211は、転送元の端末および転送先の端末の両方の記憶部に同一のものが記憶されている。
転送用ファイル212は、転送可能なファイルであり、図3の転送可能ファイル一覧111により示されるファイルパスに記憶された、当該図示されるファイル番号およびファイル名に対応するファイルである。
暗号化キー213は、転送対象ファイルを暗号化するための情報である。暗号化キー213は、予め記憶部210に記憶されていればよい。復号化キー214は、暗号化された転送対象ファイルを復号化するための情報である。復号化キー214は、予め記憶部210に記憶されていればよい。なお、暗号化キー213および復号化キー214は、予め管理装置100Aにて生成され、第1の端末100Bおよび第2の端末100Cに配信されていればよい。また、当該暗号化キー213および復号化キー214は、例えば、共通鍵暗号方式における共通鍵に対応するものであってもよいし、公開鍵暗号方式における秘密鍵と公開鍵に対応するものであってもよい。
この実施の形態では、暗号化キー213が公開鍵であり、復号化キー214が秘密鍵である公開鍵暗号方式にて暗号化が行われるものとする。転送元が第1の端末100Bで、転送先が第2の端末100Cである場合、公開鍵に対応する暗号化キー213は、管理装置100Aにて事前に生成され、送信元である第1の端末100Bに配信されて記憶部210へ記憶される。秘密鍵である復号化キー214は、管理装置100Aにて生成され、送信先である第2の端末100Cに配信されて記憶部210へ記憶される。なお、図4に示す例では、転送元と転送先とが逆の場合もあり得るため、記憶部210には公開鍵に対応する暗号化キー213と秘密鍵である復号化キー214との両方が第1の端末100Bに記憶されている例を示している。また、暗号化キー213および復号化キー214は、時間経過とともに更新されるよう、管理装置100Aにて再配信され、異なる内容のキーが上書きされるようにしてもよい。また、暗号化キー213および復号化キー214の管理装置100Aからの配信は、管理装置100A、第1の端末100Bおよび第1の端末100Bで予め記憶されている共通鍵にて暗号化されて配信されてもよい。これによれば、セキュリティを強化することができる。
上述したように、転送元が第1の端末100Bで、転送先が第2の端末100Cである例を示しているが、転送元と転送先とが逆の場合もあり得るため、図4に示す第1の端末100Bは、転送元の端末としての構成、および転送先の端末としての構成の両方を備えているが、当該第1の端末100Bが転送元としてのみ機能し(転送装置として機能し)、転送先とならない場合、すなわち第1の端末100Bと第2の端末100Cとで転送元と転送先とが逆とはならない場合、第1の端末100Bの記憶部210には復号化キー214が記憶されないものとなる。
制御部220は、CPU(Central Processing Unit)やASIC(Application Specific Integrated Circuit)等から構成される。制御部220は、記憶部210に記憶されたプログラムに従って動作し、当該プログラムに従った処理を実行する。制御部220は、記憶部210に記憶されたプログラムにより提供される主要な機能部として、転送ファイル処理部221と、ハッシュ値取得部222と、暗号化処理部223と、復号化処理部224と、を備える。
転送ファイル処理部221は、管理装置100Aから要求情報を受信したことに基づいて、当該受信した要求情報にて指定されたファイルパスのファイルを、転送対象ファイルとして、当該要求情報にて指定された第2の端末100Cへ転送する機能部である。また、詳しくは後述するが、転送ファイル処理部221は、当該受信情報にて指定されたファイルパスに格納されているファイルが、最新のバージョンであるか否かを判定し、最新バージョンでない場合には、最新バージョンとする機能部でもある。さらに、転送ファイル処理部221は、詳しくは後述するが、転送先となる端末が複数存在する場合に、1つの端末による処理負担を軽減させるための転送パターンを決定する機能部でもある。
ハッシュ値取得部222は、受信した要求情報にて指定されたファイルパスのファイル(転送対象ファイル)に対応するハッシュ値(この場合には転送時ハッシュ値となる)を、記憶部210に記憶されているハッシュ関数211を用いて算出する機能部である。また、ハッシュ値取得部222は、当該第1の端末100Bが送信先となる場合に、後述する復号化処理部224により復号化された転送対象ファイルに対応するハッシュ値(この場合には到達時ハッシュ値となる)を、記憶部210に記憶されているハッシュ関数211を用いて算出する機能部である。
暗号化処理部223は、記憶部210に記憶されている暗号化キー213を用いて、転送対象ファイルを暗号化する機能部である。当該暗号化処理部223は、転送装置として機能する端末(転送元の端末)が備える機能部である。
復号化処理部224は、当該第1の端末100Bが送信先となる場合に、記憶部210に記憶されている復号化キー214を用いて、第2の端末100Cから暗号化して送信された転送対象ファイルを復号化する機能部である。当該復号化処理部224は、転送先の端末が備える機能部である。
入出力部130は、キーボード、マウス、カメラ、マイク、液晶ディスプレイ、有機EL(Electro−Luminescence)ディスプレイ等から構成され、データの入出力を行うための装置である。
通信部140は、管理装置100Aおよび第2の端末100Cと、ネットワーク510を介して通信を行うためのデバイスである。
以上が、転送装置として機能する第1の端末100Bの構成である。なお、上述したように、第2の端末100Cが転送装置として機能する場合や、管理装置100Aに転送装置としての機能を持たせる場合には、当該第2の端末100Cおよび管理装置100Aについても同様の構成を備えることとなる。また、この実施の形態における第1の端末100Bは、転送元の端末としての構成、および転送先の端末としての構成の両方を備えている例を示したが、転送元としてのみ機能する場合にはこの限りではなく、復号化処理部224や復号化キー214を備えていなくてよい。
続いてファイル転送システム1の動作について、図5〜図11を参照して説明する。上述したように、この実施の形態では、転送指示装置である管理装置100Aの指示に基づいて、第1の端末100Bから第2の端末100Cへ、ユーザの所望するファイルを転送する場合における動作について説明する。
まず、図5に示すように、管理装置100Aは、ユーザによる入出力部130に対する操作に基づいて、指示生成部121の機能により、指示生成処理を実行し、指示情報を生成して第1の端末100Bへ送信する。
図6は、図5に示す指示生成処理の一例を示すフローチャートである。図6に示す指示生成処理において、制御部120は、ユーザによる入出力部130に対する操作により、転送元となる端末が選択されたか否か、すなわち、転送元が選択されたか否かを判定する(ステップS101)。転送元が選択されない場合(ステップS101;No)、制御部120は、そのままステップS101の処理を繰り返し実行する。
一方、転送元が選択された場合(ステップS101;Yes)、制御部120は、選択が完了したか否かを判定する(ステップS102)。選択が完了していない場合(ステップS102;No)、制御部120は、ステップS101の処理に戻り、選択が完了するまでステップS101およびステップS102の処理を繰り返し実行する。なお、ステップS101の処理では、図7に示すように、ユーザによる入出力部130に対する操作により転送元となる端末が選択され、図示する「選択完了ボタン」を押下可能な状態となった場合に、選択されたと判定すればよい。また、ステップS102の処理では、図7に示す「選択完了ボタン」が押下されたことにより選択が完了したと判定すればよい。なお、ステップS102にて選択が完了していないと判定した場合には、そのまま「選択完了ボタン」が押下されるまで待機してもよい。また、図7に示す例では、第1の端末と第2の端末とが選択可能に表示され、第1の端末が選択された場合の例を示している。
図6のステップS102にて選択が完了した場合(ステップS102;Yes)、すなわち図7に示す「選択完了ボタン」が押下された場合、制御部120は、ステップS101で選択された端末(第1の端末100B)を宛先とする指示情報を生成する(ステップS103)。具体的に、ステップS103の処理では、ステップS101で選択された端末の宛先(第1の端末100Bの宛先)と、転送可能な状態であるか否かの情報を要求するリクエスト情報(状態応答要求)とを含む指示情報を生成する。
ステップS103の処理を実行した後、制御部120は、ステップS103で生成した指示情報を、当該指示情報に含まれる宛先の端末(第1の端末100B)へ送信し(ステップS104)、指示生成処理を終了する。なお、指示情報を生成した直後に送信するのではなく、生成した指示情報を一旦記憶しておき、別のタイミングで送信してもよい。
図5に戻り、管理装置100Aにて指示生成処理が実行されると、当該管理装置100Aから指示情報が第1の端末100Bへ送信される。第1の端末100Bでは、図示するように、管理装置100Aから指示情報を受信したことに基づいて、当該指示情報に含まれる状態応答要求に応じて、転送可能な状態であるか否かの情報(状態応答)を、管理装置100Aへ送信する。なお、例えば、第1の端末100Bにて指示情報を受信した際に、転送中であるなど、転送不可能な状態である場合には、転送可能な状態となるまでの期間を管理装置100Aに対して送信し、管理装置100Aの側では、当該期間の経過後に後述する要求生成処理を実行してもよい。
管理装置100Aは、第1の端末100Bから状態応答を受信すると、当該状態応答が転送可能な状態であることを示す場合、図9に示す選択画面を入出力部130に表示する。そして、ユーザによる入出力部130に対する操作に基づいて、要求生成部122の機能により、要求生成処理を実行する。なお、当該状態応答が、転送不可能であることを示す場合には、エラー発生と判定し、再度指示生成処理からやり直すことを促し、その後の処理を中断すればよい。
図8は、図5に示す要求生成処理の一例を示すフローチャートである。図6に示す指示生成処理において、制御部120は、ユーザによる入出力部130に対する操作により、転送元の端末のファイルパスおよび転送する対象のファイル名が選択されたか否かを判定する(ステップS201)。
なお、この実施の形態では、図9に示すように、転送元となる端末(第1の端末100B)のファイルパスと、転送の対象となるファイル名(ファイル番号も含む)と、転送先となる端末(この例では第2の端末100Cのみであるが、複数あってもよい)とが、ユーザによる操作により選択可能(複数選択可能である)となっており、ファイルパスが選択されることにより、当該ファイルパスに格納されているファイルが選択可能となっている。そのため、ファイルパスが選択されずにファイル名のみ選択されるという事象は生じないものとなっている。図9に示す例では、選択可能なファイルパスとして、「フォルダ001」と「フォルダ002」が選択可能となっており、「フォルダ001」に格納されたファイルとして「ファイル1」〜「ファイルn」のn個のファイルが選択可能な例を示している。これらは、図3の転送可能ファイル一覧111により示されるファイルパスとファイル番号およびファイル名に対応するものとなっている。また、図9に示す例における転送先の端末としては、第2の端末100Cが選択可能な例を示している。なお、図示する例では、ファイルパスを選択した後に、当該ファイルパスに格納されているファイルが選択可能な例を示しているが、ファイルパスのみを選択することも可能であり、その場合には当該ファイルパスに格納されている全てのファイルが選択されればよい。
図8のステップS201では、図9に示すように、ユーザによる入出力部130に対する操作により、転送元のファイルパスとファイル名と転送先とが選択され、図示する「選択完了ボタン」を押下可能な状態となった場合に、選択されたと判定すればよい。また、図8のステップS201では、さらに、転送先のファイルパスについても選択可能としてもよい。この場合、ステップS201にて、転送元のファイルパス、転送の対象のファイル名、および転送先の端末とそのファイルパスが選択されたか否かを判定すればよい。転送先のファイルパスについては、図9に示す転送元のファイルパスと同様に、転送先の端末が選択されることにより、さらに選択可能となればよい。
ステップS201にてファイルパスが選択されていない場合、またはファイルパスが選択されたものの、ファイル名(ファイル番号)が選択されていない場合、または転送先が選択されていない場合(ステップS201;No)、制御部120は、そのままステップS201の処理を繰り返し実行する。
一方、ファイルパスおよびファイル名が選択された場合(ステップS201;Yes)、選択が完了したか否かを判定する(ステップS202)。選択が完了していない場合(ステップS202;No)、制御部102は、ステップS201の処理に戻り、選択が完了するまでステップS201およびステップS202の処理を繰り返し実行する。ステップS202の処理では、図9に示す「選択完了ボタン」が押下されたことにより選択が完了したと判定すればよい。なお、ステップS202にて選択が完了していないと判定した場合には、そのまま「選択完了ボタン」が押下されるまで待機してもよい。
図8のステップS202にて選択が完了した場合(ステップS202;Yes)、すなわち図9に示す「選択完了ボタン」が押下された場合、制御部120は、ステップS201で選択されたファイルパスとファイル名とに基づいて要求情報を生成する(ステップS203)。具体的に、ステップS203の処理では、ステップS201で選択されたファイルパスに格納されており、当該処理にて選択されたファイルを転送対象ファイルとして、当該ステップS201で選択された転送先である第2の端末100Cへ転送することを要求する要求情報を生成する。なお、上述したように、当該要求情報には、転送先である第2の端末100Cのファイルパスが含まれるようにしてもよい。
ステップS203の処理を実行した後、制御部120は、ステップS203で生成した要求情報を、指示情報を送信した端末である第1の端末100Bへ送信し(ステップS204)、要求生成処理を終了する。
図5に戻り、管理装置100Aにて要求生成処理が実行されると、当該管理装置100Aから要求情報が第1の端末100Bへ送信される。第1の端末100Bでは、図示するように、管理装置100Aから要求情報を受信したことに基づいて、転送ファイル処理部221、ハッシュ値取得部222、および暗号化処理部223の機能により、当該要求情報により指定されたファイルパスのファイルを、指定された転送先へと転送する転送ファイル処理を実行する。
図10は、図5に示す転送ファイル処理の一例を示すフローチャートである。図10に示す転送ファイル処理において、制御部220は、転送ファイル処理部221の機能により、受信した要求情報により指定されたファイルを、記憶部210の転送用ファイル212から取得する(ステップS301)。
ステップS301の処理により転送用ファイル212を取得した後、制御部220は、転送ファイル処理部221の機能により、当該取得した転送用ファイル212が最新バージョンであるか否か(最新であるか否か)を判定する(ステップS302)。ステップS302では、例えば、ステップS301で取得したファイル名のファイルが他のファイルパスに存在するか否かを判定し、存在した場合に、そのタイムスタンプが、ステップS301で取得したファイルのタイムスタンプと比較して古いか否かを判定すればよい。そして、他のファイルパスに存在するファイルのタイムスタンプが古い場合には、ステップS301で取得した転送用ファイル212が最新バージョンであると判定し、新しい場合には、ステップS301で取得した転送用ファイル212が最新バージョンでないと判定すればよい。なお、ステップS301で取得した転送用ファイル212と同じファイル名のファイルが他のファイルパスに存在しない場合には、当該取得した転送用ファイル212が最新バージョンであると判定すればよい。
ステップS302の処理において、取得したファイルが最新バージョンではないと判定した場合(ステップS302;No)、制御部220は、転送ファイル処理部221の機能により、ステップS301で取得した転送用ファイル212を、最新バージョンのファイルで(最新版を)上書きする(ステップS303)。具体的に、他のファイルパスに存在する、ステップS301で取得したファイル名のファイルを上書きする。なお、例えば、ステップS301にて取得した転送ファイル処理部221が最新バージョンでなかった場合には管理装置100Aへエラーが発生した旨を報知し、当該転送ファイル処理を終了してもよい。また、ステップS301にて取得した転送ファイル処理部221が最新バージョンでなかった場合、管理装置100Aにその旨を通知し、ユーザに対しいずれのファイルを転送させるか選択させ、当該選択に応じたファイルを後述するステップS304にて転送用として設定してもよい。
ステップS302にて最新バージョンであると判定した場合(ステップS302;Yes)、またはステップS303の処理を実行した場合、制御部220は、転送ファイル処理部221の機能により、ステップS301にて取得した転送ファイル処理部221またはステップS303にて上書きしたファイルを、転送用として設定する(ステップS304)。具体的に、ステップS304では、ステップS302にて最新バージョンであると判定した場合には、ステップS301で取得した転送ファイル処理部221を転送用として設定し、ステップS303にて最新版を上書きした場合には、当該上書きしたファイルを転送用として設定すればよい。
ステップS304の処理を実行した後、制御部220は、ハッシュ値取得部222の機能により、ステップS304の処理にて転送用として設定したファイル(転送対象ファイル)に基づくハッシュ値を、ハッシュ関数211に基づいて算出する(ステップS305)。なお、当該ステップS305にて算出したハッシュ値は、後述するステップS310の処理にて管理装置100Aへ、転送時ハッシュ値112として送信されるが、当該ステップS305の処理の直後にステップS310の処理が実行されてもよい。
続いて制御部220は、ステップS304の処理にて転送用として設定したファイル(転送対象ファイル)を、暗号化処理部223の機能により暗号化する(ステップS306)。具体的に、ステップS306の処理では、暗号化キー213を用いて転送対象ファイルを暗号化すればよい。
ステップS306の処理を実行した後、制御部220は、転送ファイル処理部221の機能により、転送先が複数指定されているか否かを、管理装置100Aから受信した要求情報を参照して判定する(ステップS307)。転送先が複数である場合(ステップS307;Yes)、制御部220は、転送ファイル処理部221の機能により、転送パターンを設定する(ステップS308)。なお、ステップS308の処理の詳細については後述する。
ステップS307の処理にて転送先が複数でないと判定した場合(ステップS307;No)、制御部220は、転送ファイル処理部221の機能により、ステップS306の処理にて暗号化した転送対象ファイルを、指定された転送先へと転送する(ステップS309)。例えば、図9に示すファイル1のファイルを第2の端末へと転送する場合、ステップS309では、暗号化されたファイル1のファイルを第2の端末へと転送する。
ステップS309の処理を実行した後、制御部220は、ハッシュ値取得部222の機能により、ステップS305にて算出したハッシュ値を、転送時ハッシュ値112として管理装置100Aへ送信し(ステップS310)、転送ファイル処理を終了する。
図5に戻り、第1の端末100Bにて転送ファイル処理を実行されると、第1の端末100Bから、転送対象ファイルが第2の端末100Cへ転送される。第2の端末100Cでは、図示するように、第1の端末100Bから転送対象ファイルを受信したことに基づいて、転送ファイル後処理を実行する。
図11は、転送ファイル後処理の一例を示すフローチャートである。図11に示す転送ファイル後処理において、第2の端末100Cの制御部220は、復号化処理部224の機能により、第1の端末100Bから受信した転送対象ファイルを復号化する(ステップS401)。具体的に、ステップS401の処理では、復号化キー214を用いて転送対象ファイルを暗号化すればよい。
ステップS401の処理を実行した後、制御部220は、ハッシュ値取得部222の機能により、ステップS401の処理にて復号化した転送対象ファイルに基づくハッシュ値を、ハッシュ関数211に基づいて算出し(ステップS402)、転送ファイル後処理を終了する。なお、当該ステップS402にて算出したハッシュ値は、後述するように管理装置100Aからの確認要求を受信することに応じて管理装置100Aへ送信されるが、当該ステップS402の処理の直後に、確認要求の受信によらず送信されてもよい。
図5に戻り、第1の端末100Bから転送時ハッシュ値を受信すると、管理装置100Aは、確認要求を第2の端末100Cに送信することで、到達時ハッシュ値の送信を要求する。確認要求は、到達時ハッシュ値を要求する情報であればよく、転送時ハッシュ値を受信したことに基づいて、確認要求生成部123の機能により生成されればよい。
第2の端末100Cでは、確認要求を受信すると、図11のステップS402の処理で算出したハッシュ値を、到達時ハッシュ値113として管理装置100Aに送信する。
管理装置100Aでは、図5に示すように、到達時ハッシュ値113を第2の端末100Cから受信すると、受信した到達時ハッシュ値113が、既に受信済みの転送時ハッシュ値112と一致することを判定することで、転送対象ファイルが転送前後で改ざんされていないことを確認する。なお、到達時ハッシュ値113と転送時ハッシュ値112とが一致しない場合には、転送前後で改ざんされているとして、正常な転送が行われなかったこと、すなわち異常が発生したことを、例えば警告音とともにエラーメッセージを出力することで報知する。なお、到達時ハッシュ値113と転送時ハッシュ値112とが一致するまで、管理装置100Aにて生成した指示情報および要求情報を記憶しておき、一致しなかった場合には再度これらを第1の端末100Bに対して送信することで、ファイル転送を再度行い、一致した場合に、これらを消去するようにしてもよい。
以上が、転送指示装置である管理装置100Aの指示に基づいて、第1の端末100Bから第2の端末100Cへ、ユーザの所望するファイルを転送する場合におけるファイル転送システム1の動作である。続いて、複数の転送先にファイルを転送する場合について説明する。
具体的に、第1の端末100Bから、第2の端末100C、第3の端末100D、第4の端末100E、第5の端末100Fおよび第6の端末100Gへ、ユーザの所望するファイルを転送する場合について、図12を参照して説明する。
第1の端末100Bに記憶されたファイルを、第2〜第6のそれぞれの端末へ転送する場合、図12(A)に示すように、第1の端末100Bが、第2〜第6のそれぞれの端末へファイルを転送することが考えられる。しかしながら、このように、1つの端末が他の全ての端末へファイルを転送するとなると、1つの端末に対する負荷が大きくなる。そのため、この実施の形態に係るファイル転送システム1では、図10のステップS307にて転送先が複数存在すると判定した場合には、ステップS308の処理において転送パターンを設定することで、1つの端末に対する負荷を軽減している。なお、図12(A)に示すように、第1の端末100Bが、第2〜第6のそれぞれの端末へファイルを転送する場合、1つの端末が他の全ての端末へ同時にファイルを転送するのではなく、端末毎に順次ファイルを転送することで負荷を軽減してもよい。また、予め定められた数(同時転送可能台数)の端末については同時に転送可能としてもよく、この場合には、同時転送可能台数毎に、順次ファイルを転送すればよい。
図12(B)は、図10のステップS308にて転送パターンが設定された場合の一例を示す図である。具体的に、図12(B)は、第1の端末100Bが第2の端末100Cの他、第3の端末100Dおよび第5の端末100Fといった奇数の端末に転送を行い、第2の端末100Cが、第1の端末100Bから転送されたファイルを、第4の端末100Eおよび第6の端末100Gといった偶数の端末100Gへ転送する転送パターンが設定された場合の例を示している。この場合、第2の端末100Cは、図4に示す第1の端末100Bと同様に、転送元としての構成と転送先としての構成を備えていればよい。第1の端末100Bは、第2の端末100Cに対し転送対象ファイルを転送するとともに、当該転送対象ファイルを、第4の端末100Eおよび第6の端末100Gに転送する要求を、合わせて送信すればよい。そして、第2の端末100Cは、当該要求に基づいて、受信した転送対象ファイルを、第4の端末100Eおよび第6の端末100Gに転送すればよい。この際、転送時ハッシュ値を第1の端末100Bを介して管理装置100Aへ送信すればよい。なお、第1の端末100Bは、第3の端末100Dへの転送が完了した後に、第5の端末100Fへの転送を行うなど、端末毎に順次転送を行ってもよい(第2の端末100Cについても同様)。また、上述した同時転送可能台数が2以上であれば、第3の端末100Dおよび第5の端末100Fへ同時に転送を行ってもよい(第2の端末100Cについても同様)。
図示する例では、奇数の端末と偶数の端末とで分けて転送する転送パターンが設定された場合の例を示したが、転送パターンはこれに限られない。例えば、物理的な通信距離が近い端末同士で転送を行うような転送パターンが設定されてもよいし、転送先の端末が4つ未満となるように設定するなど、予め定められた数未満の転送先となるよう設定する転送パターンなど、ユーザの任意の設定により様々な転送パターンが設定されればよい。また、例えば、転送先の端末数に応じて優先度の異なる複数の転送パターンを設定しておき、転送先となる端末の数に応じて優先度の高い転送パターンが設定されるようにしてもよい。
これによれば、転送先となる端末の数に応じて好適な転送パターンが設定されるため、転送元となる端末の負荷を軽減させることができる。
(変形例)
なお、この発明は、上記実施の形態に限定されず、様々な変形及び応用が可能である。例えば、ファイル転送システム1を構成する管理装置100A、第1の端末100B、および第2の端末100Cは、上記実施の形態で示した全ての技術的特徴を備えるものでなくてもよく、従来技術における少なくとも1つの課題を解決できるように、上記実施の形態で説明した一部の構成を備えたものであってもよい。また、下記の変形例それぞれについて、少なくとも一部を組み合わせても良い。
上記実施の形態では、図3に示す転送可能ファイル一覧111が予め管理装置100Aの記憶部110に格納されている例を示したが、これは一例である。例えば、転送可能ファイル一覧111は、管理装置100Aによる事前設定処理により、生成されてもよい。具体的に、事前設定処理により、当該第1の端末100Bや第2の端末100Cなどいった転送装置として機能する端末と通信し、予め設定されている、転送用ファイルが格納されているファイルパスとファイル名を読み込むことで、転送可能なファイルが格納されたファイルパスおよびファイル名(ファイル番号を含む)を示す転送可能ファイル一覧111を生成してもよい。これによれば、予め転送可能なファイルをユーザによる入力操作で設定しておく必要がなくなり、ユーザの処理負担を軽減できる。また、例えば、指示生成処理の前に当該事前設定処理を行うことで、転送可能ファイル一覧111の定期的な更新が行われ、存在しないファイルが転送可能ファイル一覧111として残ってしまうなどといった問題を防止することができる。
また、上記実施の形態では、管理装置100Aの指示に基づいて、第1の端末100Bから第2の端末100Cへ、ユーザの所望するファイルを1つ転送する例を示したが、これは一例である。転送するファイルは1つに限られず、複数まとめて転送可能である。この場合、図10のステップS305の処理では、転送対象ファイル毎にハッシュ値を算出する一方で、ステップS306の処理では、複数の転送対象ファイルをまとめて暗号化すればよい。これによれば、転送元において一度復号化すればよく、処理負担を軽減できるとともに、ファイル毎のハッシュ値が算出されるため、改ざんについてはファイル毎に確認することができる。
また、上記実施の形態では、管理装置100Aの指示に基づいて、第1の端末100Bから第2の端末100Cへ、ユーザの所望するファイルを1回転送する例を示したが、これは一例である。例えば、管理装置100Aから送信する要求情報にスケジュールを組み込み、所定の期間が経過する度に、第1の端末100Bから第2の端末100Cへ、指定されたファイルが転送されるようにしてもよい。これにより、一旦要求情報を送信すれば定期的なファイル転送を行うことができるため、例えば、毎月の売り上げをファイル転送により収集するといった場合などにおける人的作業負担を軽減することができ、より好適にファイル転送を行うことができる。
さらに、例えば、一旦第1の端末100Bから売り上げ表のフォーマットファイルを第2の端末100Cへ転送した後は、毎月末に、今度は第2の端末100Cから第1の端末100Bへ当該売り上げ表のファイルが転送されるようにしてもよい。この場合、管理装置100Aから送信する要求情報に、当該売り上げファイルを指定して、第2の端末100Cから第1の端末100Bへ毎月末に転送するスケジュールを含ませ(指示情報)、第1の端末100Bから第2の端末100Cへ売り上げ表のフォーマットファイルを転送する際に、当該指示情報を合わせて送信すればよい。そして、第2の端末100Cは、当該指示情報に含まれるスケジュールに従って(毎月末に)、当該売り上げファイルを第1の端末100Bへ転送すればよい。
なお、上述の機能を、OS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協同により実現する場合等には、OS以外の部分のみを媒体に格納してもよい。
また、搬送波にプログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板(BBS、Bulletin Board System)に当該プログラムを掲示し、ネットワークを介して当該プログラムを配信してもよい。そして、これらのプログラムを起動し、オペレーティングシステムの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成してもよい。
1 ファイル転送システム、100A 管理装置、100B 第1の端末、100C 第2の端末、100D 第3の端末、100E 第4の端末、100F 第5の端末、100G 第6の端末、110、210 記憶部、111 転送可能ファイル一覧、112 転送時ハッシュ値、113 到達時ハッシュ値、120、220 制御部、121 指示生成部、122 要求生成部、123 確認要求生成部、124 改ざん確認部、 130、230 入出力部、140、240 通信部、210 記憶部、211 ハッシュ関数、212 転送用ファイル、 213 暗号化キー、 214 復号化キー、221 転送ファイル処理部、222 ハッシュ値取得部、223 暗号化処理部、224 復号化処理部、510 ネットワーク

Claims (6)

  1. ネットワークを介して通信可能に接続された転送指示装置の指示に基づいて、転送元の端末に記憶されたファイルを転送先の端末へ転送するファイル転送システムであって、
    前記転送指示装置は、
    前記転送元の端末に記憶されている転送可能なファイルを識別するファイル情報を記憶するファイル情報記憶手段と、
    前記ファイル情報記憶手段に記憶された前記ファイル情報により識別される前記転送可能なファイルのうち、ユーザにより選択された前記転送可能なファイルを特定するファイル特定情報を前記転送元の端末へ送信する送信手段と、を備え、
    前記転送元の端末は、
    前記送信手段により送信された前記ファイル特定情報により特定されるファイルを、転送対象ファイルとして前記転送先の端末へ転送する転送対象ファイル転送手段と、
    前記転送対象ファイルに基づいて、予め記憶された一方向関数を用いて演算を行った結果を第1の演算結果として前記転送指示装置へ送信する第1の演算結果送信手段と、を備え、
    前記ファイル特定情報には、ユーザが転送を所望する前記転送先の端末を特定する情報と、該端末に記憶された転送可能なファイルを特定する転送先ファイル特定情報と、が含まれ、
    前記ファイル特定情報により特定される前記転送先の端末が複数ある場合、前記転送先の端末数に応じて異なる優先度が設定された複数の転送パターンのうち、前記転送先の端末数に対応する最も高い優先度の一の転送パターンを決定する決定手段と、をさらに備え、
    前記転送対象ファイル転送手段は、前記決定手段が決定した前記一の転送パターンに従って前記転送対象ファイルを前記転送先の端末へ転送し、
    前記転送先の端末は、前記転送対象ファイル転送手段により転送された前記転送対象ファイルに基づいて、予め記憶された前記一方向関数を用いて演算を行った結果を第2の演算結果として前記転送指示装置へ送信する第2の演算結果送信手段を備え、
    前記転送指示装置は、前記第1の演算結果送信手段から受信した前記第1の演算結果と前記第2の演算結果送信手段から受信した前記第2の演算結果とが一致していることを確認する確認手段と、
    をさらに備えることを特徴とするファイル転送システム。
  2. 前記第1の演算結果送信手段は、前記ファイル特定情報により特定されるファイルが複数ある場合、前記一方向関数を用いて前記ファイル毎に複数回演算を行い、
    前記転送対象ファイル転送手段は、前記ファイル特定情報により特定されるファイルが複数ある場合、前記ファイル特定情報により特定される複数のファイルを1つにまとめて暗号化し、前記転送対象ファイルとして前記一の転送パターンに従って前記転送先の端末へ転送する、
    とを特徴とする請求項1に記載のファイル転送システム。
  3. 前記転送元の端末は、
    前記送信手段により送信された前記ファイル特定情報により特定されるファイルが最新であるか否かを判定する判定手段と、
    前記判定手段による判定結果に基づいて前記ファイルを更新する更新手段と、
    をさらに備えることを特徴とする請求項1または2に記載のファイル転送システム。
  4. 前記ファイル特定情報には、前記転送先の端末に記憶された転送可能なファイルの転送スケジュールがさらに含まれ、
    前記転送元の端末は、前記ファイル特定情報により特定される前記転送先の端末に、前記転送スケジュールに従って前記転送先ファイル特定情報により特定されるファイルの転送を指示する、
    ことを特徴とする請求項1〜3のいずれか1項に記載のファイル転送システム。
  5. ネットワークを介して通信可能に接続された転送指示装置の指示に基づいて、転送元の端末に記憶されたファイルを転送先の端末へ転送するファイル転送方法であって、
    前記転送指示装置のファイル情報記憶手段が、前記転送元の端末に記憶されている転送可能なファイルを識別するファイル情報を記憶するファイル情報記憶ステップと、
    前記転送指示装置の送信手段が、前記ファイル情報記憶ステップで記憶された前記ファイル情報により識別される前記転送可能なファイルのうち、ユーザにより選択された前記転送可能なファイルを特定するファイル特定情報を前記転送元の端末へ送信する送信ステップと、
    前記転送元の端末の転送対象ファイル転送手段が、前記送信ステップで送信された前記ファイル特定情報により特定されるファイルを、転送対象ファイルとして前記転送先の端末へ転送する転送対象ファイル転送ステップと、
    前記転送元の端末の第1の演算結果送信手段が、前記転送対象ファイルに基づいて、予め記憶された一方向関数を用いて演算を行った結果を第1の演算結果として前記転送指示装置へ送信する第1の演算結果送信ステップと、を備え、
    前記ファイル特定情報には、ユーザが転送を所望する前記転送先の端末を特定する情報と、該端末に記憶された転送可能なファイルを特定する転送先ファイル特定情報と、が含まれ、
    前記ファイル特定情報により特定される前記転送先の端末が複数ある場合、前記転送先の端末数に応じて異なる優先度が設定された複数の転送パターンのうち、前記転送先の端末数に対応する最も高い優先度の一の転送パターンを決定する決定ステップと、をさらに備え、
    前記転送対象ファイル転送ステップでは、前記決定ステップで決定した前記一の転送パターンに従って前記転送対象ファイルを前記転送先の端末へ転送し、
    前記転送先の端末の第2の演算結果送信手段が、前記転送対象ファイル転送ステップで転送された前記転送対象ファイルに基づいて、予め記憶された前記一方向関数を用いて演算を行った結果を第2の演算結果として前記転送指示装置へ送信する第2の演算結果送信ステップと、
    前記転送指示装置の確認手段が、前記第1の演算結果送信ステップで送信された前記第1の演算結果と前記第2の演算結果送信ステップで送信された前記第2の演算結果とが一致していることを確認する確認ステップと、
    さらに備えることを特徴とするファイル転送方法。
  6. ネットワークを介して通信可能に接続された転送指示装置を構成するコンピュータの指示に基づいて、転送元のコンピュータに記憶されたファイルを転送先のコンピュータへ転送するファイル転送システムにおけるプログラムであって、
    前記転送指示装置を構成するコンピュータを、
    前記転送元のコンピュータに記憶されている転送可能なファイルを識別するファイル情報を記憶するファイル情報記憶手段、
    前記ファイル情報記憶手段に記憶された前記ファイル情報により識別される前記転送可能なファイルのうち、ユーザにより選択された前記転送可能なファイルを特定するファイル特定情報を前記転送元のコンピュータへ送信する送信手段、として機能させ、
    前記転送元のコンピュータを、
    前記送信手段により送信された前記ファイル特定情報により特定されるファイルを、転送対象ファイルとして前記転送先のコンピュータへ転送する転送対象ファイル転送手段、
    前記転送対象ファイルに基づいて、予め記憶された一方向関数を用いて演算を行った結果を第1の演算結果として前記転送指示装置を構成するコンピュータへ送信する第1の演算結果送信手段、として機能させ、
    前記ファイル特定情報には、ユーザが転送を所望する前記転送先の端末を特定する情報と、該端末に記憶された転送可能なファイルを特定する転送先ファイル特定情報と、が含まれ、
    前記ファイル特定情報により特定される前記転送先の端末が複数ある場合、前記転送先の端末数に応じて異なる優先度が設定された複数の転送パターンのうち、前記転送先の端末数に対応する最も高い優先度の一の転送パターンを決定する決定手段、としてさらに機能させ、
    前記転送対象ファイル転送手段は、前記決定手段が決定した前記一の転送パターンに従って前記転送対象ファイルを前記転送先の端末へ転送し、
    前記転送先のコンピュータを、前記転送対象ファイル転送手段により転送された前記転送対象ファイルに基づいて、予め記憶された前記一方向関数を用いて演算を行った結果を第2の演算結果として前記転送指示装置を構成するコンピュータへ送信する第2の演算結果送信手段、として機能させ、
    前記転送指示装置を構成するコンピュータを、前記第1の演算結果送信手段から受信した前記第1の演算結果と前記第2の演算結果送信手段から受信した前記第2の演算結果とが一致していることを確認する確認手段、
    としてさらに機能させることを特徴とするプログラム。
JP2019044516A 2019-03-12 2019-03-12 ファイル転送システム、ファイル転送方法およびプログラム Active JP6854491B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019044516A JP6854491B2 (ja) 2019-03-12 2019-03-12 ファイル転送システム、ファイル転送方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019044516A JP6854491B2 (ja) 2019-03-12 2019-03-12 ファイル転送システム、ファイル転送方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2020149182A JP2020149182A (ja) 2020-09-17
JP6854491B2 true JP6854491B2 (ja) 2021-04-07

Family

ID=72429618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019044516A Active JP6854491B2 (ja) 2019-03-12 2019-03-12 ファイル転送システム、ファイル転送方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6854491B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11191081A (ja) * 1997-12-26 1999-07-13 Casio Comput Co Ltd 情報データ転送遠隔制御システム
JP2003030081A (ja) * 2001-07-19 2003-01-31 Nec Corp ファイル転送方式および方法
JP4983097B2 (ja) * 2006-05-29 2012-07-25 ブラザー工業株式会社 コンテンツデータ配信システム、そのコンテンツデータ配信システムにおける接続管理装置、端末装置及びコンテンツ配信方法並びにそれに用いるプログラム
JP4518093B2 (ja) * 2007-03-28 2010-08-04 ブラザー工業株式会社 表示端末及び印刷制御プログラム
JP5398364B2 (ja) * 2009-06-04 2014-01-29 株式会社フジテレビジョン ファイル伝送システム、ファイル伝送管理サーバ及びファイル検査方法
JP6623932B2 (ja) * 2016-05-27 2019-12-25 富士通株式会社 配信スケジュール作成プログラム、配信スケジュール作成方法、および配信スケジュール作成装置

Also Published As

Publication number Publication date
JP2020149182A (ja) 2020-09-17

Similar Documents

Publication Publication Date Title
JP6416402B2 (ja) クラウドストレージ方法及びシステム
CN105981423B (zh) 用于在终端之间发送和接收加密消息的方法和装置
CN110460439A (zh) 信息传输方法、装置、客户端、服务端及存储介质
US11115393B2 (en) Message server, method for operating message server and computer-readable recording medium
JP4650547B2 (ja) 情報処理装置、プログラム、および情報処理システム
JP5102916B2 (ja) ストレージシステム及びストレージシステムの管理方法
CN111177801A (zh) 电子文档的签章方法、装置、存储介质和电子设备
CN104365127A (zh) 用于在远程显示单元上追踪移动设备的方法
JP2020141331A (ja) サービス利用装置、方法、及びプログラム
JP2018029268A (ja) 暗号システム、暗号装置、暗号プログラム及び暗号方法
JP2007028275A (ja) データ送受信システム、データ処理装置、暗号化通信方法
JPWO2020085378A1 (ja) 権利者端末、利用者端末、権利者プログラム、利用者プログラム、コンテンツ利用システムおよびコンテンツ利用方法
JP6301008B2 (ja) 暗号通信システムの端末装置、暗号通信システムの中継装置、暗号通信システムの制御方法
JP6854491B2 (ja) ファイル転送システム、ファイル転送方法およびプログラム
JP2018037927A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP6939313B2 (ja) 分散認証システム
JP2007096946A (ja) 無線通信システム、この無線通信システムで用いられる携帯端末及びグループ化方法
JP2011186631A (ja) ファイル転送システムおよびファイル転送方法
EP3533284A1 (en) Content delivery network including mobile devices
JP2015219822A (ja) ワンストップ申請システム、ワンストップ申請方法およびプログラム
JP2006025455A (ja) マルチキャスト配信システムにおける鍵交換方式
CN114430343B (zh) 一种数据同步的方法、装置、电子设备及可读存储介质
KR20190111748A (ko) 블록체인 기반 암호화폐의 트랜잭션에 이용되는 주소 정보 생성 방법, 전자 장치 및 컴퓨터 판독 가능한 기록 매체
KR101657893B1 (ko) 클라우드 서비스를 위한 암호화 방법 및 사용자 장치에 기반한 암호화 방법을 제공하는 클라우드 시스템
JP6156116B2 (ja) セッション管理システム、セッション管理装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200904

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210308

R150 Certificate of patent or registration of utility model

Ref document number: 6854491

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150