JP5328739B2 - Icon display program, method and system - Google Patents
Icon display program, method and system Download PDFInfo
- Publication number
- JP5328739B2 JP5328739B2 JP2010222970A JP2010222970A JP5328739B2 JP 5328739 B2 JP5328739 B2 JP 5328739B2 JP 2010222970 A JP2010222970 A JP 2010222970A JP 2010222970 A JP2010222970 A JP 2010222970A JP 5328739 B2 JP5328739 B2 JP 5328739B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- terminal device
- folder
- storage server
- server
- 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
Links
- 238000000034 method Methods 0.000 title claims description 69
- 230000008859 change Effects 0.000 claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims description 52
- 230000000717 retained effect Effects 0.000 claims description 3
- 230000001902 propagating effect Effects 0.000 claims 1
- 230000002194 synthesizing effect Effects 0.000 claims 1
- 230000004044 response Effects 0.000 abstract description 13
- 238000012545 processing Methods 0.000 description 219
- 238000004891 communication Methods 0.000 description 127
- 230000008569 process Effects 0.000 description 59
- 238000010586 diagram Methods 0.000 description 34
- 230000007704 transition Effects 0.000 description 22
- 238000012217 deletion Methods 0.000 description 15
- 230000037430 deletion Effects 0.000 description 15
- UDYLZILYVRMCJW-UHFFFAOYSA-L disodium;oxido carbonate Chemical compound [Na+].[Na+].[O-]OC([O-])=O UDYLZILYVRMCJW-UHFFFAOYSA-L 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 5
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
本発明は、フォルダのアイコンを表示する技術に関し、特に、フォルダに属するファイルの状態をアイコン表示へ反映する技術に関する。 The present invention relates to a technique for displaying a folder icon, and more particularly to a technique for reflecting the state of a file belonging to a folder on the icon display.
従来、ファイルに対する処理の結果がエラーの場合に、エラーが発生したことを示すマークを、そのファイルが属するフォルダのアイコンに付加して表示するアイコン表示技術が知られている(特許文献1を参照)。このアイコン表示技術によれば、ユーザは、画面に表示されたフォルダのアイコンを見るだけで、そのフォルダ内のファイルにエラーが発生したことを容易に把握することができる。 Conventionally, there is known an icon display technique for displaying a mark indicating that an error has occurred in addition to an icon of a folder to which the file belongs when the result of processing on the file is an error (see Patent Document 1). ). According to this icon display technology, the user can easily grasp that an error has occurred in a file in the folder only by looking at the icon of the folder displayed on the screen.
一方、端末装置とサーバとがネットワークを介して接続されるシステムにおいて、端末装置に格納されているファイルと、サーバに格納されているファイルとの間の同期を確立する技術が知られている(特許文献2,3を参照)。これらの2つのファイルが同じ内容のデータになるようにするための処理をファイル同期という。一般に、ファイル同期は、2つ以上の装置に存在するファイルを同じ内容のデータにするための、各装置に対して行う処理をいう。例えば、端末装置が自ら保持しているファイルを変更した場合、端末装置は、その変更情報をサーバへ送信し、サーバは、変更情報に基づいて、自ら保持しているファイルに変更を加える。このようなファイル同期により、端末装置に格納されているファイルと、サーバに格納されているファイルとの間で同期を確立することができる。
On the other hand, in a system in which a terminal device and a server are connected via a network, a technique for establishing synchronization between a file stored in the terminal device and a file stored in the server is known ( (See
このようなファイル同期システムに前述のアイコン表示技術を適用した場合を想定すると、例えば、端末装置は、ファイルのダウンロードまたはアップロードに失敗したときに、そのファイルが属するフォルダのアイコンにエラーマークを付加して表示する。これにより、ユーザは、ファイルにエラーが発生したことを、アイコンの表示から認識することができる。 Assuming that the above icon display technology is applied to such a file synchronization system, for example, when a terminal device fails to download or upload a file, it adds an error mark to the icon of the folder to which the file belongs. To display. Thereby, the user can recognize from the display of the icon that an error has occurred in the file.
前述のファイル同期システムには、通常、ファイルの同期を確立するための工程がある。しかしながら、端末装置を使用しているユーザは、ファイルのアイコン及びフォルダのアイコンの表示だけでは、ファイル同期の進捗状況、ファイル同期によって発生したエラー等を的確に認識することができない。例えば、ユーザがサーバから端末装置へファイルをダウンロードした後、他の端末装置を使用する他のユーザによって、サーバに格納されたそのファイルが更新された場合に、そのユーザは、ダウンロードしたファイルを操作する前に、ファイルが既に古くなっていることを認識できることが望ましい。 The file synchronization system described above typically has a process for establishing file synchronization. However, the user using the terminal device cannot accurately recognize the progress status of file synchronization, errors caused by file synchronization, and the like only by displaying the file icon and the folder icon. For example, after a user downloads a file from the server to the terminal device, when the file stored in the server is updated by another user using another terminal device, the user operates the downloaded file. It is desirable to be able to recognize that a file is already stale before doing so.
そこで、本発明は、前記課題を解決するためになされたものであり、その目的は、端末装置を使用しているユーザに、ファイル同期の状態を認識させ、ファイルに対する操作性を向上させることが可能なアイコン表示プログラム、方法及びシステムを提供することにある。 Accordingly, the present invention has been made to solve the above-described problems, and an object of the present invention is to make a user using a terminal device recognize the state of file synchronization and improve operability for files. It is an object to provide a possible icon display program, method and system.
前記課題を解決するため、請求項1の発明は、複数の端末装置、及び前記端末装置によりアクセス可能なフォルダを備えたストレージサーバがネットワークを介して接続されたシステムにおいて、前記ストレージサーバからフォルダ内のファイルの属性が定義された属性データを受信して保持する前記端末装置によるプログラムであって、前記ストレージサーバが、フォルダ内のファイルを他の端末装置へダウンロードし、前記他の端末装置によるファイルへの操作に伴って、前記ファイルに対する新たな属性データを生成した場合に、前記新たな属性データを前記ストレージサーバから受信するステップと、前記受信した新たな属性データと前記保持している属性データとを比較するステップと、前記属性データの違いに基づいて、前記他の端末装置によるファイルへの操作の種別に応じたマークの表示を決定するステップと、前記決定したマークを上位のフォルダのアイコンに付加して表示するステップと、をコンピュータに実行させることを特徴とするプログラムにある。
In order to solve the above problems, the invention of
また、請求項2の発明は、請求項1に記載のプログラムにおいて、前記属性データは、少なくとも、前記ファイルを一意に特定するための値であって前記ストレージサーバにより付与されるユニークID、前記ファイルの大きさを示すファイルサイズ、前記ファイルの名称、及び、前記ファイルの所在であるフォルダ内のアドレスを示すファイルパスを含み、前記受信した新たな属性データに含まれるユニークIDが、前記保持している属性データに含まれるユニークIDとは異なる新たなIDである場合に、前記他の端末装置によるファイルへの操作の種別は新規ファイル作成またはファイルコピーであると判定し、前記ユニークIDが同じであって前記ファイルサイズが異なる場合に、前記他の端末装置によるファイルへの操作の種別はファイル更新であると判定し、前記ファイル名が異なる場合に、前記他の端末装置によるファイルへの操作の種別はファイル名変更であると判定し、前記ファイルパスが異なる場合に、前記他の端末装置によるファイルへの操作の種別はファイル移動であると判定するステップと、前記判定した操作の種別に応じたマークの表示を決定するステップと、前記決定したマークを上位のフォルダのアイコンに付加して表示するステップと、をコンピュータに実行させることを特徴とする。
The invention according to
また、請求項3の発明は、請求項1または2に記載のプログラムにおいて、前記ファイルへの操作の種別に応じたマークを、前記アイコンから上位のフォルダのアイコンへ伝搬させて表示するステップ、をコンピュータに実行させることを特徴とする。
The invention according to
また、請求項4の発明は、請求項1から3までのいずれか一項に記載のプログラムにおいて、前記ファイルへの操作の種別に応じたマークを前記上位のフォルダのアイコンに付加して表示する際に、前記フォルダのアイコンの画像と、前記マークが前記アイコンの表示範囲内の所定位置に配置され前記マーク以外の箇所が透過した画像とを合成する、ことを特徴とする。 According to a fourth aspect of the present invention, in the program according to any one of the first to third aspects, a mark corresponding to the type of operation on the file is added to the icon of the upper folder and displayed. In this case, the image of the folder icon and the image in which the mark is arranged at a predetermined position within the display range of the icon and the portion other than the mark is transmitted are combined .
また、請求項5の発明は、請求項1から4までのいずれか一項に記載のプログラムにおいて、複数のファイルへの操作の種別に応じたそれぞれの前記マークを前記上位のフォルダのアイコンに付加して表示する際に、前記それぞれのマークを、前記アイコンの表示範囲内で互いに重ならないように表示する、ことを特徴とする。
The invention according to
また、請求項6の発明は、複数の端末装置、及び前記端末装置によりアクセス可能なフォルダを備えたストレージサーバがネットワークを介して接続されたシステムにおいて、ストレージサーバからフォルダ内のファイルの属性が定義された属性データを受信して保持し、前記ファイルが属する上位のフォルダのアイコンに所定のマークを付加して表示する前記端末装置のアイコン表示方法であって、前記ストレージサーバが、フォルダ内のファイルを他の端末装置へダウンロードし、前記他の端末装置によるファイルへの操作に伴って、前記ファイルに対する新たな属性データを生成した場合に、前記新たな属性データを前記ストレージサーバから受信するステップと、前記受信した新たな属性データと前記保持している属性データとを比較するステップと、前記属性データの違いに基づいて、前記他の端末装置によるファイルへの操作の種別に応じたマークの表示を決定するステップと、前記決定したマークを上位のフォルダのアイコンに付加して表示するステップと、を有することを特徴とする。
The invention of
また、請求項7の発明は、複数の端末装置、及び前記端末装置によりアクセス可能なフォルダを備えたストレージサーバがネットワークを介して接続されたシステムにおいて、前記ストレージサーバが、前記フォルダに属するファイルが格納された記憶部と、前記記憶部に格納されたファイルを前記端末装置へダウンロードし、前記ファイルがダウンロードされた端末装置による前記ファイルへの操作に伴って、前記ファイルに対する新たな属性データを生成し、前記新たな属性データを送信する送信部と、を備え、前記端末装置が、ファイルが格納された記憶部と、前記記憶部に格納されたファイルの属性データと、前記ストレージサーバから受信した新たな属性データとを比較し、前記属性データの違いに基づいて、前記ファイルがダウンロードされた他の端末装置によるファイルへの操作の種別に応じたマークを決定し、前記マークを上位のフォルダのアイコンに付加して表示するアイコン表示部と、を備えたことを特徴とする。
Further, the invention of
以上のように、本発明によれば、ファイル同期の状態を、ファイルの属する上位フォルダのアイコンに付加して表示するようにした。これにより、端末装置を使用しているユーザは、ファイル操作を行う前に、そのファイルの状態を的確に認識することができ、操作性を向上させることができる。 As described above, according to the present invention, the file synchronization status is displayed by being added to the icon of the upper folder to which the file belongs. Thus, the user using the terminal device can accurately recognize the state of the file before performing the file operation, and can improve the operability.
以下、本発明を実施するための形態について図面を用いて詳細に説明する。本発明は、ファイル同期の状態を、ファイルの属する上位フォルダのアイコンに付加して表示することを特徴とする。これにより、端末装置を使用しているユーザは、ファイル操作を行う前に、そのファイルの状態を的確に認識することができ、操作性を向上させることができる。尚、本発明は、以下に示すファイル同期システムに適用されるが、このファイル同期システムは一例であり、他のシステムにも適用がある。 Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings. The present invention is characterized in that the file synchronization status is displayed by being added to the icon of the upper folder to which the file belongs. Thus, the user using the terminal device can accurately recognize the state of the file before performing the file operation, and can improve the operability. The present invention is applied to the following file synchronization system, but this file synchronization system is an example, and can be applied to other systems.
本発明が適用されるファイル同期システムの一例は、複数の端末装置、及び端末装置によりアクセス可能なフォルダを備えたストレージサーバがネットワークを介して接続されるファイル同期システムにおいて、端末装置にてユーザにより操作されるファイルと、ストレージサーバのフォルダに格納されたファイルとの間の同期を確立する際に、ファイルの属性を送受信する。 An example of a file synchronization system to which the present invention is applied is a file synchronization system in which a storage server having a plurality of terminal devices and folders accessible by the terminal devices is connected via a network. When establishing synchronization between the file to be operated and the file stored in the folder of the storage server, the attributes of the file are transmitted and received.
具体的には、端末装置を使用するユーザによりファイル操作が行われると、端末装置は、そのファイルの属性群(属性データ)を生成してストレージサーバへ送信する。ここで、ファイルの属性群は、ファイルの属性が定義されたデータであり、端末装置により生成される。また、後述するFIも、ファイルの属性が定義されたデータであり、ストレージサーバにより生成される。そして、ストレージサーバは、ファイル操作の種別を特定し、ファイル操作の種別に応じたファイル処理(新規ファイルの格納、ファイルの更新、ファイルの削除等)を行い、新たなFIを生成し、この新たなFIを、ファイル操作が行われた端末装置へ送信すると共に、フォルダに属する全てのファイルのFIを、他の端末装置へ送信する。これにより、ストレージサーバに接続されている全ての端末装置及びストレージサーバは、フォルダ内の同一ファイルに対応する同一のFIを保持することができ、ファイル同期を確立することができる。したがって、ユーザによるファイル操作に伴って、ファイルをその都度送受信する必要がなく、必要なときにのみファイルの送受信を行えばよいから、ファイル同期の処理を低負荷かつ高効率に実現することが可能となる。 Specifically, when a file operation is performed by a user who uses the terminal device, the terminal device generates an attribute group (attribute data) of the file and transmits it to the storage server. Here, the file attribute group is data in which the file attribute is defined, and is generated by the terminal device. An FI described later is data in which file attributes are defined, and is generated by the storage server. Then, the storage server identifies the type of file operation, performs file processing according to the type of file operation (store new file, update file, delete file, etc.), generates a new FI, and creates this new file. The FI is transmitted to the terminal device on which the file operation has been performed, and the FIs of all the files belonging to the folder are transmitted to the other terminal devices. Thereby, all the terminal devices and storage servers connected to the storage server can hold the same FI corresponding to the same file in the folder, and file synchronization can be established. Therefore, it is not necessary to send and receive files each time a file is operated by the user, and it is sufficient to send and receive files only when necessary. Therefore, file synchronization processing can be realized with low load and high efficiency. It becomes.
ここで、ファイル操作には、新規ファイル作成、ファイル更新、ファイル削除、ファイル名変更、ファイル移動及びファイルコピーがある。新規ファイル作成は、フォルダ内に新たなファイルを作成する操作である。この操作により、新たなファイルがフォルダに格納され、新たなFIが生成される。ファイル更新は、フォルダ内に存在するファイルのデータを更新する操作である。この操作により、ファイル内に存在する更新対象のファイルが削除され、新たな更新ファイルがフォルダに格納される。また、FIも更新される。ファイル削除は、フォルダ内に存在するファイルを削除する操作である。この操作により、FIも削除される。ファイル名変更は、フォルダ内に存在するファイルの名称を変更する操作である。この操作により、ファイルはそのまま格納された状態で、FIに含まれるファイル名が新しくなる。ファイル移動は、フォルダ内に存在するファイルを他のフォルダへ移動する操作である。この操作により、ファイルはそのまま格納された状態で、FIに含まれるファイルパスが新しくなる。ファイルコピーは、フォルダ内に存在するファイルをコピーして新たなファイルを作成する操作である。この操作により、コピー元のファイルはそのままの状態で、コピー先の新たなファイルが作成される、また、コピー元のファイルについてのFIとは別にコピー先のファイルについての新たなFIが生成される。FIの詳細については後述する。 Here, file operations include new file creation, file update, file deletion, file name change, file movement, and file copy. New file creation is an operation of creating a new file in a folder. By this operation, a new file is stored in the folder, and a new FI is generated. The file update is an operation for updating data of a file existing in the folder. By this operation, the file to be updated existing in the file is deleted, and a new update file is stored in the folder. The FI is also updated. The file deletion is an operation for deleting a file existing in the folder. This operation also deletes the FI. The file name change is an operation for changing the name of a file existing in a folder. By this operation, the file name included in the FI is renewed while the file is stored as it is. The file move is an operation for moving a file existing in a folder to another folder. By this operation, the file path included in the FI is renewed while the file is stored as it is. File copy is an operation of creating a new file by copying a file existing in a folder. By this operation, a new file at the copy destination is created with the copy source file as it is, and a new FI for the copy destination file is generated separately from the FI for the copy source file. . Details of the FI will be described later.
〔ファイル同期システムの構成〕
まず、本発明の実施形態によるファイル同期システムの構成について説明する。図1は、ファイル同期システムの全体構成を示す図である。このファイル同期システム10は、複数の端末装置1−1,1−2,・・・、API(Application Program Interface)サーバ2、ストレージサーバ3、イベントサーバ4及びコネクションサーバ5を備えて構成される。複数の端末装置1−1,1−2,・・・、APIサーバ2、ストレージサーバ3、イベントサーバ4及びコネクションサーバ5は、ネットワーク6を介してそれぞれ接続される。図1において、APIサーバ2、ストレージサーバ3、イベントサーバ4及びコネクションサーバ5は、説明の便宜上1台のみ記載してあるが、ファイル同期システム10の規模に応じて複数台存在する場合もあり得る。また、APIサーバ2及びストレージサーバ3を1台のストレージサーバとして構成してもよいし、イベントサーバ4及びコネクションサーバ5を1台のイベント通知サーバとして構成するようにしてもよい。ネットワーク6は、例えば、インターネット、LAN(Local Area Network)等の通信網である。
[Configuration of file synchronization system]
First, the configuration of the file synchronization system according to the embodiment of the present invention will be described. FIG. 1 is a diagram showing the overall configuration of the file synchronization system. The
端末装置1−1,1−2,・・・(以下、総称して端末装置1という。)は、例えばパーソナルコンピュータであり、ユーザにより携帯可能な携帯電話機、PDA(Personal Digital Assistant)、ミュージックプレーヤ、デジタルカメラ等の携帯端末であってもよい。端末装置1が携帯端末の場合、端末装置1は、無線通信網及び中継サーバを介してネットワーク6に接続される。端末装置1は、ストレージサーバ3に備えたフォルダにアクセス可能なユーザにより使用される装置であり、ユーザの操作に従って、ファイル同期システム10を構成するネットワーク6へログインする。また、端末装置1は、ユーザによりファイル操作が行われ、ストレージサーバ3からフォルダ内のファイルをダウンロードしたり、新たなファイルまたは更新したファイルをストレージサーバ3へアップロードしたりする。
The terminal devices 1-1, 1-2,... (Hereinafter collectively referred to as the terminal device 1) are, for example, personal computers, portable telephones that can be carried by users, PDAs (Personal Digital Assistants), music players. It may be a portable terminal such as a digital camera. When the
APIサーバ2は、端末装置1とストレージサーバ3との間で、及び、ストレージサーバ3とイベントサーバ4との間でデータ送受信の橋渡しを行う。例えば、端末装置1がWebブラウザを用いてHTTP(HyperText Transfer Protocol)通信を行う場合、HTTP通信の処理を行い、ストレージサーバ3との間でデータを受け渡す。
The
ストレージサーバ3は、端末装置1によりアクセス可能なフォルダを備えており、フォルダ内のファイル、及びフォルダへアクセス可能なユーザを管理する。また、ファイル同期のために用いるFIを、フォルダ内のファイルに対応付けて管理する。
The
イベントサーバ4は、ネットワーク6にログインしている端末装置1及びユーザに関する情報(端末装置1及びユーザに関する情報をユーザ固有情報という。)をコネクションサーバ5から受信して格納する。また、イベントサーバ4は、ストレージサーバ3に格納されているFIが更新された場合、その更新有りのイベントを通知する通知先の端末装置1を特定し、その更新されたことを示す情報をイベント情報として、コネクションサーバ5を介して端末装置1へ通知する。
The
コネクションサーバ5は、端末装置1が、ユーザによりファイル同期システム10を構成するネットワーク6へログインした場合、ログインしたユーザ及び接続された端末装置1のユーザ固有情報を接続情報として管理する。すなわち、コネクションサーバ5は、ストレージサーバ3に備えたフォルダへアクセスしているユーザ、及びこのユーザが使用している端末装置1に関するユーザ固有情報を接続情報として管理する。
When the
〔ファイル操作時の情報の流れ〕
次に、図1に示したファイル同期システム10において、端末装置1を使用するユーザによりファイル操作が行われた場合の情報の流れについて説明する。図2は、ファイル操作時の情報の流れを示す図である。図2において、ユーザ(ユーザID:A)が端末装置1−1(端末ID:PC−A)を使用し、ユーザ(ユーザID:B)が端末装置1−2(端末ID:PC−B)を使用し、端末装置1−1,1−2が、APIサーバ2を介してストレージサーバ3に接続されているものとする。
[Information flow during file operations]
Next, the flow of information when a file operation is performed by a user using the
(1)ログイン情報
まず、端末装置1−1を使用するユーザが、ファイル同期システム10によりフォルダのファイルを操作するためのアプリケーションプログラムを実行すると、端末装置1−1は、ファイル同期システム10のネットワーク6へログインする。これにより、ログイン情報(ユーザID:A,端末ID:PC−A)が、端末装置1−1からコネクションサーバ5へ送信される。また、端末装置1−2を使用するユーザが、同様のアプリケーションプログラムを実行すると、端末装置1−2は、ファイル同期システム10のネットワーク6へログインする。これにより、ログイン情報(ユーザID:B,端末ID:PC−B)が、端末装置1−2からコネクションサーバ5へ送信される。尚、図示していないが、コネクションサーバ5は、端末装置1−1,1−2から受信したログイン情報を、端末装置1−1,1−2からストレージサーバ3への接続情報としてイベントサーバ4へ送信する。
(1) Login Information First, when a user using the terminal device 1-1 executes an application program for operating a file in a folder by the
また、端末装置1−1,1−2は、APIサーバ2を介してストレージサーバ3へアクセスし、共有フォルダに属するファイルのFIを、APIサーバ2を介して受信し、共有フォルダ及び共有フォルダに属するファイルのアイコンを表示する。
Also, the terminal devices 1-1 and 1-2 access the
(2)(3)ファイル操作通知
端末装置1−2を使用するユーザが、共有フォルダ内のファイルを指定してファイル操作を行うと、端末装置1−2は、そのファイルについての複数の属性からなる属性群を生成し、属性群を含むファイル操作通知をAPIサーバ2へ送信する。属性群は、ファイル操作の種別に応じて異なる複数の属性により構成される。そして、APIサーバ2は、端末装置1−2からファイル操作通知を受信すると、受信したファイル操作通知をストレージサーバ3へ送信する。
(2) (3) File operation notification When a user who uses the terminal device 1-2 designates a file in the shared folder and performs a file operation, the terminal device 1-2 determines from a plurality of attributes about the file. And a file operation notification including the attribute group is transmitted to the
ストレージサーバ3は、APIサーバ2からファイル操作通知を受信すると、ファイル操作の種別を特定し、ファイル操作の種別に応じた処理(新規ファイルの格納、ファイルの更新、ファイルの削除等)を行い、ファイル操作が行われたファイルについての新たなFIを生成する。そして、ストレージサーバ3は、ファイル操作が行われた端末装置1−2以外の他の端末装置1−1へFIが更新されたことを通知するための更新通知(イベント種類(更新有り)、共有情報(ユーザID:A,B)、上位フォルダのパス(ファイル操作が行われたファイルの属するフォルダ)、送信元端末ID(PC−B))を生成する。ここで、共有情報は、共有フォルダへのアクセスが許可されているユーザのユーザIDであり、上位フォルダのパスは、ファイル操作が行われたファイルの属するフォルダの所在を示すパスである。更新通知の詳細については後述する。
When the
(4’)(5’)FI
ストレージサーバ3は、生成した新たなFIをAPIサーバ2へ送信する。そして、APIサーバ2は、ストレージサーバ3から受信したFIを端末装置1−2へ送信する。この場合、APIサーバ2は、FIと共に、ファイル操作が行われた端末装置1−2の端末ID:PC−Bも受信することにより、FIの送信先を判断する。端末装置1−2は、APIサーバ2から新たなFIを受信する。
(4 ') (5') FI
The
図3は、イベント通知シーケンスを説明する図である。このイベント通知シーケンスは、図2における(4)〜(13)のシーケンスに相当し、端末装置1−2におけるファイル操作に伴って、FIが更新されたことを示す(新たなFIが生成されたことを示す)イベントを端末装置1−1へ通知するための手順を示している。以下、図2及び図3を参照して説明する。 FIG. 3 is a diagram for explaining an event notification sequence. This event notification sequence corresponds to the sequence (4) to (13) in FIG. 2 and indicates that the FI has been updated in accordance with the file operation in the terminal device 1-2 (a new FI has been generated). This shows a procedure for notifying the terminal device 1-1 of an event. Hereinafter, a description will be given with reference to FIGS.
(4)(5)更新通知
ストレージサーバ3は、更新通知をAPIサーバ2へ送信する。APIサーバ2は、ストレージサーバ3から更新通知を受信すると、更新通知を格納し、更新通知をイベントサーバ4へ送信する。
(4) (5) Update notification The
(6)更新指令
イベントサーバ4は、更新通知を受信すると、格納している接続情報を参照し、更新通知に含まれる共有情報(ユーザID:A,B)及び送信元端末ID(PC−B)に基づいて、この更新のイベントを通知する通知先の端末装置1−1(端末ID:PC−A)を特定する。そして、イベントサーバ4は、更新のイベントの通知先である通知先端末ID(PC−A)を含む更新指令をコネクションサーバ5へ送信する。
(6) Update command When the
(7)更新有り
コネクションサーバ5は、イベントサーバ4から更新指令を受信すると、更新指令に含まれる通知先端末ID(PC−A)である端末装置1−1へ更新有りの情報を送信する。これにより、端末装置1−1は、ストレージサーバ3の共有フォルダ内のファイルが更新されたことを判断することができ、新たなFIをストレージサーバ3から取得するための処理を行う。
(7) When there is an update When the
(8)更新情報取得要求
端末装置1−1は、コネクションサーバ5から更新有りの情報を受信すると、新たなFIを取得するに先立って、新たなFIのファイルが属する上位のフォルダのパスを取得するために、自らの端末ID(PC−A)を含む更新情報取得要求をAPIサーバ2へ送信する。
(8) Update information acquisition request Upon receiving updated information from the
(9)上位フォルダのパス
APIサーバ2は、端末装置1−1から更新情報取得要求を受信すると、格納している更新通知を参照し、更新情報取得要求に含まれる端末ID(PC−A)に基づいて、上位フォルダのパスを特定する。そして、APIサーバ2は、上位フォルダのパスを端末装置1−1へ送信する。これにより、端末装置1−1は、更新されたファイルが属する上位フォルダのパスを判断することができ、その上位フォルダに属する全てのファイルのFIを取得するための処理を行う。上位フォルダに属する全てのファイルのFIを取得するのは、全てのFIの中に、端末装置1−2におけるファイル操作によって生成された新たなFIが含まれているからである。
(9) Host Folder Path When the
(10)(11)FI取得要求
端末装置1−1は、APIサーバ2から上位フォルダのパスを受信すると、その上位フォルダに属する全てのファイルのFIを取得するために、その上位フォルダのパスを含むFI取得要求をAPIサーバ2へ送信する。APIサーバ2は、端末装置1−1からFI取得要求を受信すると、受信したFI取得要求をストレージサーバ3へ送信する。尚、上位フォルダに属する全てのファイルのFIとは、共有フォルダに属する全ての共有ファイルのFIをいい、共有フォルダに属する共有ファイル以外のファイルのFIは含まない。共有フォルダに属するファイルには、複数のユーザによりアクセス可能な共有ファイルの他、複数のユーザによっては共有されず、特定のユーザのみがアクセス可能なファイルも存在するからである。以下の説明においても同様である。
(10) (11) FI acquisition request Upon receiving the upper folder path from the
(12)(13)FI群
ストレージサーバ3は、APIサーバ2からFI取得要求を受信すると、FI取得要求に含まれる上位フォルダのパスに基づいて、ストレージサーバ3に格納された全てのFIの中から、この上位フォルダに属するファイルのFIを特定し、FI群をAPIサーバ2へ送信する。APIサーバ2は、ストレージサーバ3からFI群を受信すると、このFI群を端末装置1−1へ送信する。
(12) (13) FI group When the
このように、端末装置1−2におけるファイル操作に伴って、ストレージサーバ3により新たに生成されたFIは、ストレージサーバ3からAPIサーバ2を介して端末装置1−2へ送信される。また、前述のイベント通知シーケンスによって、FIが更新されたことを示す情報(更新のイベント)が、APIサーバ2、イベントサーバ4及びコネクションサーバ5を介して他の端末装置1−1へ送信され、共有フォルダに属する全てのファイルのFI(新たに生成されたFIを含む)が、APIサーバ2を介して端末装置1−1へ送信される。これにより、端末装置1−1,1−2及びストレージサーバ3は、新たな同一のFIを保持することができ、ファイル同期を確立することができる。
Thus, the FI newly generated by the
尚、ログイン情報等(1)(7)は、SSL(Secure Socket Layer)のプロトコルは用いられず、非SSLにて行われる。このうち、ログイン情報(1)は、Cookie(Ecookie)により暗号化され、更新有りの情報(7)は、暗号化されない実データとして、端末装置1とコネクションサーバ5との間で送受信される。これにより、端末装置1及びコネクションサーバ5における処理負荷を軽減することができる。また、各種情報(5’)(8)(9)(10)(13)は、端末装置1とAPIサーバ2との間で、SSLのプロトコルによる暗号化データとして送受信される。これは、上位フォルダのパス、FI等のデータは秘匿化する必要性が高いからである。これにより、共有フォルダ及びFI等に関する情報が秘匿化され、情報のセキュリティを確保することができる。
Note that the login information (1) and (7) is performed in non-SSL without using the SSL (Secure Socket Layer) protocol. Among these, the login information (1) is encrypted by Cookie (Ecokie), and the updated information (7) is transmitted / received between the
〔ファイル操作時のFIの変遷〕
次に、図2に示したファイル操作時の情報の流れにおけるFIの変遷について説明する。まず、FIについて詳細に説明する。図4は、FIの構成を示す図である。このFIは、ファイルの属性を示す複数の情報から構成され、具体的には、ユニークID:a、ファイルサイズ:b、ハッシュ値:c、Eタグ(Entityタグ):d、ファイル名:e、ファイルパス:f及び更新日時:gの各属性から構成される。1つのファイルに対応して1つのFIが存在する。ユニークIDは、ファイルを一意に特定するための値であり、ファイル毎に異なる値が付与される。ファイルサイズは、ファイルの大きさを示す値であり、ハッシュ値は、ハッシュ関数により得られたファイルデータの関数値である。Eタグは、ファイルが操作されたときに新たに付与される値であり、後述するファイル衝突を判定するために用いられる。ファイル名は、ファイルの名称であり、ファイルパスは、フォルダ内におけるファイルの所在を示すアドレスであり、更新日時は、FIが新たに生成され、または更新された日時である。尚、FIが新たに生成される場合、新たなユニークIDが付与され、FIが更新される場合、FIのユニークIDは、以前と同じ値が用いられる。例えば、新規ファイルが作成された場合、またはファイルがコピーされた場合には、ストレージサーバ3により、新たなファイルまたはコピー先のファイルに対し、新たなユニークIDを含むFIが生成される。また、例えば、ファイルが更新された場合、更新されたファイルに対し、更新前と同じユニークIDを含むFIが生成される。以下、新規ファイル作成、ファイル更新、ファイル削除、ファイル名変更、ファイル移動及びファイルコピーの各ファイル操作において、FIの変遷について具体的に説明する。
[Transition of FI during file operations]
Next, the transition of FI in the information flow during file operation shown in FIG. 2 will be described. First, FI will be described in detail. FIG. 4 is a diagram illustrating the configuration of the FI. This FI is composed of a plurality of pieces of information indicating file attributes. Specifically, unique ID: a, file size: b, hash value: c, E tag (Entity tag): d, file name: e, It consists of each attribute of file path: f and update date: g. There is one FI corresponding to one file. The unique ID is a value for uniquely identifying a file, and a different value is assigned to each file. The file size is a value indicating the size of the file, and the hash value is a function value of file data obtained by a hash function. The E tag is a value newly given when a file is operated, and is used to determine a file collision described later. The file name is the name of the file, the file path is an address indicating the location of the file in the folder, and the update date is the date when the FI was newly created or updated. When a new FI is generated, a new unique ID is assigned, and when the FI is updated, the same value as before is used as the unique ID of the FI. For example, when a new file is created or a file is copied, the
(新規ファイル作成時のFI)
まず、新規ファイル作成時のFIの変遷について説明する。図5は、新規ファイル作成時のFIの変遷を説明する図である。図5において、APIサーバ2、イベントサーバ4及びコネクションサーバ5、並びにこれらの装置にて送受信される情報は省略してある。また、図5の(2)(3)(4’)(5’)(4)〜(11)(12)(13)の情報は、図2及び図3に示したものと同一である。図6〜図10においても同じである。
(FI when creating a new file)
First, the transition of FI when creating a new file will be described. FIG. 5 is a diagram for explaining the transition of FI when a new file is created. In FIG. 5, the
また、ユーザ(ユーザID:A)が使用する端末装置1−1(端末ID:PC−A)、及びユーザ(ユーザID:B)が使用する端末装置1−2(端末ID:PC−B)は、ファイル同期システム10のネットワーク6へログインし、ストレージサーバ3に備えた共有フォルダへアクセスし、共有フォルダに属する全てのファイルのFI(β1),・・・,FI(βn)をストレージサーバ3から取得し、保持しているものとする。つまり、端末装置1−1,1−2は、同一のFI(β1),・・・,FI(βn)をそれぞれ保持している。β1〜βnは、個々のファイルを便宜上区別するための識別子であり、例えば、FI(β1)は、ファイルβ1のFIを示す。図5において、端末装置1−1,1−2は、共有フォルダのアイコンを表示しているものとする。
Further, the terminal device 1-1 (terminal ID: PC-A) used by the user (user ID: A) and the terminal device 1-2 (terminal ID: PC-B) used by the user (user ID: B). Log in to the
ここで、端末装置1−2を使用するユーザが、共有フォルダ内に新たなファイルを作成する操作を行い、新規ファイル作成の操作を完了する。そうすると、端末装置1−2は、ヌルのユニークID、ファイルサイズb1、ハッシュ値c1、ヌルのEタグ、ファイル名e1、ファイルパスf1及びヌルの更新日時を付与し、これらの属性を含む属性群を生成する。そして、端末装置1−2は、属性群(−,b1,c1,−,e1,f1,−)、ファイルデータ、自らの端末ID(PC−B)及びファイル操作種別データ(新規ファイル作成を示すデータ)を含むファイル操作通知を生成し、ファイル操作通知(2)(3)を、APIサーバ2を介してストレージサーバ3へ送信する。
Here, the user who uses the terminal device 1-2 performs an operation of creating a new file in the shared folder, and completes the operation of creating a new file. Then, the terminal device 1-2 assigns a null unique ID, a file size b1, a hash value c1, a null E tag, a file name e1, a file path f1, and a null update date and time, and an attribute group including these attributes Is generated. Then, the terminal device 1-2 has an attribute group (-, b1, c1,-, e1, f1,-), file data, its own terminal ID (PC-B), and file operation type data (indicating new file creation). A file operation notification including (data) is generated, and file operation notifications (2) and (3) are transmitted to the
ストレージサーバ3は、端末装置1−2からAPIサーバ2を介してファイル操作通知を受信すると、ファイル操作の種別を「新規ファイル作成」に特定し、端末装置1−2からアップロードした新たなファイルを格納する。そして、ストレージサーバ3は、ユニークIDa2、Eタグd2及び更新日時g2を付与し、これらの属性を含む新たなFI(a2,b1,c1,d2,e1,f1,g2)を生成し、格納する。これにより、新たなファイルに対応するFI(βz)が生成される。
When the
ストレージサーバ3は、新たなFI(βz)(4’)(5’)を、APIサーバ2を介して端末装置1−2へ送信する。これにより、端末装置1−2は、共有フォルダに属するファイルのFIにFI(βz)を追加し、FI(β1),・・・,FI(βn),FI(βz)を保持する。
The
また、ストレージサーバ3は、図2及び図3に示したイベント通知シーケンス(4)〜(11)(12)(13)により、共有フォルダに属する全てのファイルのFI群であるFI(β1),・・・,FI(βn),FI(βz)を端末装置1−1へ送信する。これにより、端末装置1−1は、共有フォルダに属するファイルのFIとして、FI(β1),・・・,FI(βn),FI(βz)を保持する。
In addition, the
このように、端末装置1−2における新規ファイル作成の操作に伴って、新たなファイルは、端末装置1−2からAPIサーバ2を介してストレージサーバ3へアップロードされ、ストレージサーバ3により新たに生成された、新たなファイルに対応するFI(βz)は、ストレージサーバ3からAPIサーバ2を介して端末装置1−2へ送信される。また、共有フォルダに属する全てのファイルのFI群(新たに作成されたFI(βz)を含む)は、イベント通知シーケンスによって端末装置1−1へ送信される。これにより、端末装置1−1,1−2及びストレージサーバ3は、新たな同一のFI(βz)を保持することができ、ファイル同期を確立することができる。
As described above, a new file is uploaded from the terminal device 1-2 to the
(ファイル更新時のFI)
次に、ファイル更新時のFIの変遷について説明する。図6は、ファイル更新時のFIの変遷を説明する図である。図5と同様に、端末装置1−1,1−2は、ファイル同期システム10のネットワーク6にログインし、ストレージサーバ3から共有フォルダに属する全てのファイルのFIを取得し、同一のFI(β1),・・・,FI(βn)をそれぞれ保持しているものとする。ここで、FI(βn)は、ユニークIDa、ファイルサイズb、ハッシュ値c、Eタグd、ファイル名e、ファイルパスf及び更新日時gから構成され、FI(a,b,c,d,e,f,g)とする。
(FI at the time of file update)
Next, FI transition at the time of file update will be described. FIG. 6 is a diagram for explaining the transition of FI during file update. Similarly to FIG. 5, the terminal apparatuses 1-1 and 1-2 log in to the
ここで、端末装置1−2を使用するユーザが、共有フォルダ内のFI(βn)のファイルをストレージサーバ3からダウンロードし、そのファイルを更新する操作を行い、ファイル更新の操作を完了する。そうすると、端末装置1−2は、ファイルサイズb1及びハッシュ値c1を付与し、これらの属性を含む属性群(a,b1,c1,d,e,f,g)を生成する。そして、端末装置1−2は、属性群(a,b1,c1,d,e,f,g)、ファイルデータ、自らの端末ID(PC−B)及びファイル操作種別データ(ファイル更新を示すデータ)を含むファイル操作通知を生成し、ファイル操作通知(2)(3)を、APIサーバ2を介してストレージサーバ3へ送信する。
Here, the user using the terminal device 1-2 downloads the file of FI (βn) in the shared folder from the
ストレージサーバ3は、端末装置1−2からAPIサーバ2を介してファイル操作通知を受信すると、ファイル操作の種別を「ファイル更新」に特定し、端末装置1−2からアップロードした更新ファイルを格納する。そして、ストレージサーバ3は、Eタグd2及び更新日時g2を付与し、これらの属性と、受信したファイル操作通知に含まれる属性群のユニークIDa、ファイルサイズb1、ハッシュ値c1、ファイル名e及びファイルパスfとにより、FI(a,b1,c1,d2,e,f,g2)を生成(更新)し、上書きする。これにより、更新ファイルに対応するFI(βn)が生成される。
When the
ストレージサーバ3は、FI(βn)(4’)(5’)を、APIサーバ2を介して端末装置1−2へ送信する。これにより、端末装置1−2は、共有フォルダに属するファイルのFI(βn)を更新し、FI(β1),・・・及び更新したFI(βn)を保持する。
The
また、ストレージサーバ3は、図2及び図3に示したイベント通知シーケンス(4)〜(11)(12)(13)により、共有フォルダに属する全てのファイルのFI群であるFI(β1),・・・,FI(βn)を端末装置1−1へ送信する。これにより、端末装置1−1は、共有フォルダに属するファイルのFIとして、FI(β1),・・・及び更新したFI(βn)を保持する。
In addition, the
このように、端末装置1−2におけるファイル更新の操作に伴って、更新ファイルは、端末装置1−2からAPIサーバ2を介してストレージサーバ3へアップロードされ、ストレージサーバ3により生成(更新)された、更新ファイルに対応するFI(βn)は、ストレージサーバ3からAPIサーバ2を介して端末装置1−2へ送信される。また、共有フォルダに属する全てのファイルのFI群(更新されたFI(βn)を含む)は、イベント通知シーケンスによって端末装置1−1へ送信される。これにより、端末装置1−1,1−2及びストレージサーバ3は、更新された同一のFI(βn)を保持することができ、ファイル同期を確立することができる。
As described above, the update file is uploaded from the terminal device 1-2 to the
(ファイル削除時のFI)
次に、ファイル削除時のFIの変遷について説明する。図7は、ファイル削除時のFIの変遷を説明する図である。端末装置1−1,1−2は、ファイル同期システム10のネットワーク6にログインし、ストレージサーバ3から共有フォルダに属する全てのファイルのFIを取得し、同一のFI(β1),・・・,FI(βm),FI(βn)をそれぞれ保持しているものとする。ここで、FI(βn)は、ユニークIDa、ファイルサイズb、ハッシュ値c、Eタグd、ファイル名e、ファイルパスf及び更新日時gから構成され、FI(a,b,c,d,e,f,g)とする。
(FI when deleting files)
Next, the transition of FI at the time of file deletion will be described. FIG. 7 is a diagram for explaining the transition of FI when a file is deleted. The terminal devices 1-1 and 1-2 log in to the
ここで、端末装置1−2を使用するユーザが、共有フォルダ内のFI(βn)のファイルを削除する操作を行い、ファイル削除の操作を完了する。そうすると、端末装置1−2は、保持しているFI(βn)の属性を用いて属性群(a,b,c,d,e,f,g)を生成し、属性群(a,b,c,d,e,f,g)、自らの端末ID(PC−B)及びファイル操作種別データ(ファイル削除を示すデータ)を含むファイル操作通知を生成し、ファイル操作通知(2)(3)を、APIサーバ2を介してストレージサーバ3へ送信する。また、端末装置1−2は、FI(βn)を削除する。これにより、端末装置1−2は、共有フォルダに属するファイルのFIとして、FI(β1),・・・,FI(βm)を保持する。尚、端末装置1−2は、ユニークIDa、ファイル削除の操作が行われたことを示す情報及び自らの端末ID(PC−B)を含むファイル操作通知を送信するようにしてもよい。
Here, the user using the terminal device 1-2 performs an operation of deleting the file of FI (βn) in the shared folder, and completes the file deletion operation. Then, the terminal device 1-2 generates an attribute group (a, b, c, d, e, f, g) using the held attribute of FI (βn), and the attribute group (a, b, c, d, e, f, g), a file operation notification including its own terminal ID (PC-B) and file operation type data (data indicating file deletion), and a file operation notification (2) (3) Is transmitted to the
ストレージサーバ3は、端末装置1−2からAPIサーバ2を介してファイル操作通知を受信すると、ファイル操作の種別を「ファイル削除」に特定し、FI(βn)のファイルを削除すると共に、FI(βn)を削除する。
When the
ストレージサーバ3は、図2及び図3に示したイベント通知シーケンス(4)〜(11)(12)(13)により、共有フォルダに属する全てのファイルのFI群であるFI(β1),・・・,FI(βm)を端末装置1−1へ送信する。これにより、端末装置1−1は、共有フォルダに属するファイルのFIとして、FI(β1),・・・,FI(βm)を保持する。
The
このように、端末装置1−2におけるファイル削除の操作に伴って、削除対象のファイルについてのFI(βn)は、端末装置1−2及びストレージサーバ3において削除される。また、共有フォルダに属する全てのファイルのFI群(削除されたFI(βn)は含まない)は、イベント通知シーケンスによって端末装置1−1へ送信される。これにより、端末装置1−1,1−2及びストレージサーバ3は、削除されたFI(βn)を含まない同一のFI群を保持することができ、ファイル同期を確立することができる。
Thus, the FI (βn) for the file to be deleted is deleted in the terminal device 1-2 and the
(ファイル名変更時のFI)
次に、ファイル名変更時のFIの変遷について説明する。図8は、ファイル名変更時のFIの変遷を説明する図である。図5及び図6と同様に、端末装置1−1,1−2は、ファイル同期システム10のネットワーク6にログインし、ストレージサーバ3から共有フォルダに属する全てのファイルのFIを取得し、同一のFI(β1),・・・,FI(βn)をそれぞれ保持しているものとする。ここで、FI(βn)は、ユニークIDa、ファイルサイズb、ハッシュ値c、Eタグd、ファイル名e、ファイルパスf及び更新日時gから構成され、FI(a,b,c,d,e,f,g)とする。
(FI when changing file name)
Next, the transition of the FI when the file name is changed will be described. FIG. 8 is a diagram for explaining the transition of the FI when the file name is changed. Similarly to FIGS. 5 and 6, the terminal devices 1-1 and 1-2 log in to the
ここで、端末装置1−2を使用するユーザが、共有フォルダ内のFI(βn)のファイル名を変更する操作を行い、ファイル名変更の操作を完了する。そうすると、端末装置1−2は、ファイル名e1を付与し、属性群(a,b,c,d,e1,f,g)を生成し、属性群(a,b,c,d,e1,f,g)、自らの端末ID(PC−B)及びファイル操作種別データ(ファイル名変更を示すデータ)を含むファイル操作通知を生成し、ファイル操作通知(2)(3)を、APIサーバ2を介してストレージサーバ3へ送信する。
Here, the user using the terminal device 1-2 performs an operation of changing the file name of the FI (βn) in the shared folder, and the operation of changing the file name is completed. Then, the terminal device 1-2 assigns the file name e1, generates an attribute group (a, b, c, d, e1, f, g), and generates an attribute group (a, b, c, d, e1, f, g), a file operation notification including its own terminal ID (PC-B) and file operation type data (data indicating a file name change) is generated, and the file operation notifications (2) and (3) are sent to the
ストレージサーバ3は、端末装置1−2からAPIサーバ2を介してファイル操作通知を受信すると、ファイル操作の種別を「ファイル名変更」に特定する。そして、ストレージサーバ3は、Eタグd2及び更新日時g2を付与し、これらの属性と、受信したファイル操作通知に含まれる属性群のユニークIDa、ファイルサイズb、ハッシュ値c、ファイル名e1及びファイルパスfとにより、FI(a,b,c,d2,e1,f,g2)を生成(更新)し、上書きする。
When the
ストレージサーバ3は、FI(βn)(4’)(5’)を、APIサーバ2を介して端末装置1−2へ送信する。これにより、端末装置1−2は、共有フォルダに属するファイルのFI(βn)を更新し、FI(β1),・・・及び更新したFI(βn)を保持する。
The
また、ストレージサーバ3は、図2及び図3に示したイベント通知シーケンス(4)〜(11)(12)(13)により、共有フォルダに属する全てのファイルのFI群であるFI(β1),・・・,FI(βn)を端末装置1−1へ送信する。これにより、端末装置1−1は、共有フォルダに属するファイルのFIとして、FI(β1),・・・及び更新したFI(βn)を保持する。
In addition, the
このように、端末装置1−2におけるファイル名変更の操作に伴って、ストレージサーバ3により生成(更新)されたFI(βn)は、ストレージサーバ3からAPIサーバ2を介して端末装置1−2へ送信される。また、共有フォルダに属する全てのファイルのFI群(更新されたFI(βn)を含む)は、イベント通知シーケンスによって端末装置1−1へ送信される。これにより、端末装置1−1,1−2及びストレージサーバ3は、更新された同一のFI(βn)を保持することができ、ファイル同期を確立することができる。
As described above, the FI (βn) generated (updated) by the
(ファイル移動時のFI)
次に、ファイル移動時のFIの変遷について説明する。図9は、ファイル移動時のFIの変遷を説明する図である。端末装置1−1,1−2は、ファイル同期システム10のネットワーク6にログインし、ストレージサーバ3から共有フォルダに属する全てのファイルのFIを取得し、第1のフォルダにおいて同一のFI(β1),FI(β2)をそれぞれ保持し、第2のフォルダにおいて同一のFI(γ1)をそれぞれ保持しているものとする。ここで、FI(β2)は、ユニークIDa、ファイルサイズb、ハッシュ値c、Eタグd、ファイル名e、ファイルパスf及び更新日時gから構成され、FI(a,b,c,d,e,f,g)とする。
(FI when moving files)
Next, the transition of FI during file movement will be described. FIG. 9 is a diagram for explaining the transition of FI during file movement. The terminal apparatuses 1-1 and 1-2 log in to the
ここで、端末装置1−2を使用するユーザが、第1のフォルダに属するFI(β2)のファイルを、第2のフォルダへ移動する操作を行い、ファイル移動の操作を完了する。そうすると、端末装置1−2は、移動先のファイルパスf1を付与し、属性群(a,b,c,d,e,f1,g)生成し、属性群(a,b,c,d,e,f1,g)、自らの端末ID(PC−B)及びファイル操作種別データ(ファイル移動を示すデータ)を含むファイル操作通知を生成し、ファイル操作通知(2)(3)を、APIサーバ2を介してストレージサーバ3へ送信する。
Here, the user who uses the terminal device 1-2 performs an operation of moving the file of FI (β2) belonging to the first folder to the second folder, and the operation of moving the file is completed. Then, the terminal device 1-2 assigns the destination file path f1, generates an attribute group (a, b, c, d, e, f1, g), and generates an attribute group (a, b, c, d, e, f1, g), a file operation notification including its own terminal ID (PC-B) and file operation type data (data indicating file movement) is generated, and the file operation notifications (2) and (3) are sent to the API server. 2 to the
ストレージサーバ3は、端末装置1−2からAPIサーバ2を介してファイル操作通知を受信すると、ファイル操作の種別を「ファイル移動」に特定する。そして、ストレージサーバ3は、Eタグd2及び更新日時g2を付与し、これらの属性と、受信したファイル操作通知に含まれる属性群のユニークIDa、ファイルサイズb、ハッシュ値c及びファイル名eとにより、FI(a,b,c,d2,e,f1,g2)を生成(更新)し、上書きする。
When the
ストレージサーバ3は、FI(β2)(4’)(5’)を、APIサーバ2を介して端末装置1−2へ送信する。これにより、端末装置1−2は、第1のフォルダからFI(β2)を削除し、第2のフォルダにFI(β2)を追加し、第1のフォルダにおいてFI(β1)を保持し、第2のフォルダにおいてFI(γ1),FI(β2)を保持する。
The
また、ストレージサーバ3は、図2及び図3に示したイベント通知シーケンス(4)〜(11)(12)(13)により、共有フォルダ内の第1のフォルダに属する全てのファイルのFI群であるFI(β1)、及び第2のフォルダに属する全てのファイルのFI群であるFI(γ1),FI(β2)を端末装置1−1へ送信する。これにより、端末装置1−1は、共有フォルダに属するファイルのFIとして、第1のフォルダにおいてFI(β1)を保持し、第2のフォルダにおいてFI(γ1),FI(β2)を保持する。
Further, the
このように、端末装置1−2におけるファイル移動の操作に伴って、ストレージサーバ3により生成(更新)されたFI(β2)は、ストレージサーバ3からAPIサーバ2を介して端末装置1−2へ送信される。また、ファイルの移動元である第1のフォルダ、及びファイルの移動先である第2のフォルダに属する全てのファイルのFI群(更新されたFI(β2)を含む)は、イベント通知シーケンスによって端末装置1−1へ送信される。これにより、端末装置1−1,1−2及びストレージサーバ3は、第1のフォルダにおいて同一のFI(β1)を保持することができ、第2のフォルダにおいてFI(γ1)及び追加された同一のFI(β2)を保持することができ、実データのファイルを移動することなく、ファイル同期を確立することができる。
In this way, the FI (β2) generated (updated) by the
(ファイルコピー時のFI)
次に、ファイルコピー時のFIの変遷について説明する。図10は、ファイルコピー時のFIの変遷を説明する図である。図9と同様に、端末装置1−1,1−2は、ファイル同期システム10のネットワーク6にログインし、ストレージサーバ3から共有フォルダに属する全てのファイルのFIを取得し、第1のフォルダにおいて同一のFI(β1),FI(β2)をそれぞれ保持し、第2のフォルダにおいて同一のFI(γ1)をそれぞれ保持しているものとする。ここで、FI(β2)は、ユニークIDa、ファイルサイズb、ハッシュ値c、Eタグd、ファイル名e、ファイルパスf及び更新日時gから構成され、FI(a,b,c,d,e,f,g)とする。
(FI during file copy)
Next, the transition of FI during file copying will be described. FIG. 10 is a diagram for explaining the transition of FI during file copying. Similarly to FIG. 9, the terminal devices 1-1 and 1-2 log in to the
ここで、端末装置1−2を使用するユーザが、第1のフォルダに属するFI(β2)のファイルを、第2のフォルダへコピーする操作を行い、ファイルコピーの操作を完了する。そうすると、端末装置1−2は、ヌルのユニークID及びコピー先のファイルパスf1を付与し、属性群(−,b,c,−,e,f1,−)を生成し、属性群(−,b,c,−,e,f1,−)、自らの端末ID(PC−B)及びファイル操作種別データ(ファイルコピーを示すデータ)を含むファイル操作通知を生成し、ファイル操作通知(2)(3)を、APIサーバ2を介してストレージサーバ3へ送信する。
Here, the user who uses the terminal device 1-2 performs an operation of copying the file of FI (β2) belonging to the first folder to the second folder, thereby completing the file copy operation. Then, the terminal device 1-2 assigns a null unique ID and a copy destination file path f1, generates an attribute group (-, b, c,-, e, f1,-), and generates an attribute group (-, b, c,-, e, f1,-), its own terminal ID (PC-B) and file operation type data (data indicating file copy) are generated, and file operation notification (2) ( 3) is transmitted to the
ストレージサーバ3は、端末装置1−2からAPIサーバ2を介してファイル操作通知を受信すると、ファイル操作の種別を「ファイルコピー」に特定する。そして、ストレージサーバ3は、コピー元のファイルをコピーすることにより、コピー先のファイルとして新たなファイルを格納する。尚、コピー元のファイルは、ファイル操作通知に含まれる、コピー元ファイルのユニークID(図示せず)に基づいて特定される。そして、ストレージサーバ3は、ユニークIDa2、Eタグd2及び更新日時g2を付与し、これらの属性と、受信したファイル操作通知に含まれる属性群のファイルサイズb、ハッシュ値c及びファイル名eとにより、新たなFI(a2,b,c,d2,e,f1,g2)をFI(γ2)として生成し、格納する。これにより、ストレージサーバ3は、コピー元のファイルのFI(β2)及びコピー先のファイルのFI(γ2)を保持することになる。
When the
ストレージサーバ3は、FI(γ2)(4’)(5’)を、APIサーバ2を介して端末装置1−2へ送信する。これにより、端末装置1−2は、第2のフォルダにFI(γ2)を追加し、第1のフォルダにおいてFI(β1),FI(β2)を保持し、第2のフォルダにおいてFI(γ1),FI(γ2)を保持する。
The
また、ストレージサーバ3は、図2及び図3に示したイベント通知シーケンス(4)〜(11)(12)(13)により、共有フォルダ内の第2のフォルダに属する全てのファイルのFI群であるFI(γ1),FI(γ2)を端末装置1−1へ送信する。これにより、端末装置1−1は、共有フォルダに属するファイルのFIとして、第1のフォルダにおいてFI(β1),FI(β2)を保持し、第2のフォルダにおいてFI(γ1),FI(γ2)を保持する。
In addition, the
このように、端末装置1−2におけるファイルコピーの操作に伴って、ストレージサーバ3により新たに生成されたFI(γ2)は、ストレージサーバ3からAPIサーバ2を介して端末装置1−2へ送信される。また、ファイルのコピー先である第2のフォルダに属する全てのファイルのFI群(新たに生成されたFI(γ2)を含む)は、イベント通知シーケンスによって端末装置1−1へ送信される。これにより、端末装置1−1,1−2及びストレージサーバ3は、第2のフォルダにおいて追加された同一のFI(γ2)を保持することができ、実データのファイルをコピーすることなく、ファイル同期を確立することができる。
In this way, the FI (γ2) newly generated by the
〔端末装置〕
次に、図1及び図2に示した端末装置1について詳細に説明する。図15は、端末装置1の構成を示すブロック図である。この端末装置1は、通信部11、ファイル処理部12及び記憶部13を備えている。
[Terminal device]
Next, the
通信部11は、所定のプロトコルを用いてAPIサーバ2及びコネクションサーバ5との間でデータの送受信を行う。ファイル同期システム10のネットワーク6へのログインに伴い、ログイン情報(ユーザID、端末ID)をコネクションサーバ5へ送信する。また、通信部11は、コネクションサーバ5から更新有りの情報を受信してファイル処理部12に出力する。また、通信部11は、ファイル処理部12からファイル操作通知、更新情報取得要求及びFI取得要求を入力してAPIサーバ2へ送信し、APIサーバ2から上位フォルダのパス及びFIを受信してファイル処理部12に出力する。また、通信部11は、APIサーバ2からユーザ選択指令を受信してファイル処理部12に出力し、ファイル処理部12からユーザ選択種別を入力してAPIサーバ2へ送信する。
The
ファイル処理部12は、ファイル操作部121、属性処理部122及びアイコン表示部123を備えている。ファイル操作部121は、ユーザによるファイル操作に伴って、新たなファイルを作成したり、ストレージサーバ3からファイルをダウンロードして更新したり、ファイルを削除したりする等のファイル操作に関する処理を行う。
The
属性処理部122は、ファイル同期システム10のネットワーク6へのログインに伴って、通信部11を介してストレージサーバ3に備えた共有フォルダへアクセスし、共有フォルダに属する全てのファイルのFIを取得し、アイコン表示部123に、共有フォルダのアイコン及びファイルのアイコンを表示させる。また、属性処理部122は、ファイル操作部121によるファイル操作の処理に従って属性群を生成し、属性群、自らの端末ID及びファイル操作種別データ(ファイル操作の種別を特定するためのデータ)等を含むファイル操作通知を生成し、通信部11へ出力する。
The
アイコン表示部123は、ファイル操作部121及び属性処理部122からフォルダに関する情報、及びフォルダに属するファイルのFI等を入力し、フォルダのアイコン及びファイルのアイコンを表示する。
The
記憶部13は、FI、ファイル及び領域データファイルを備えている。FI、ファイル及び領域データファイルは、ファイル処理部12により格納され、また、読み出される。FIを構成する属性については、図4にて説明済みであるから、ここでは説明を省略する。領域データファイルについては後述する。尚、記憶部13には、新規ファイル作成時に、新たなファイルが格納され、ファイル更新時に、ストレージサーバ3からダウンロードされたファイルが格納される。また、記憶部13に格納されたファイルはファイル処理部12により読み出され、通信部11を介してストレージサーバ3へアップロードされる。
The
次に、図15に示した端末装置1の処理について説明する。図16は、端末装置1の処理を示すフローチャートである。端末装置1の通信部11は、ストレージサーバ3からAPIサーバ2を介してFIを受信したか否かを判定し(ステップS1601)、FIを受信したと判定した場合(ステップS1601:Y)、受信したFIをファイル処理部12に出力する。そして、ファイル処理部12の属性処理部122は、通信部11からFIを入力し、記憶部13に格納すると共に、アイコン表示部123に出力する。アイコン表示部123は、属性処理部122からFIを入力し、FIに含まれるファイルパスに基づいて、予め設定された共有フォルダのアイコン及びファイルのアイコンを表示する(ステップS1602)。また、ファイル操作部121は、ユーザによりファイルのダウンロードの操作が行われた場合、ユーザにより指定されたファイルをダウンロードするための指示を通信部11に出力する。この指示は、APIサーバ2を介してストレージサーバ3へ送信され、ファイル操作部121は、ストレージサーバ3からAPIサーバ2を介してダウンロードしたファイルを、通信部11から入力して記憶部13に格納する(ステップS1603)。一方、通信部11は、ステップS1601において、FIを受信していないと判定した場合(ステップS1601:N)、ステップS1604へ移行する。
Next, the process of the
ファイル処理部12の属性処理部122は、ファイル操作部121によりファイル操作の処理が行われたか否かを判定し(ステップS1604)、ファイル操作の処理が行われたと判定した場合(ステップS1604:Y)、ファイル操作に伴う属性群を生成し(ステップS1605)、属性群、自らの端末ID及びファイル操作種別データ等を含むファイル操作通知を生成し、通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1606)。また、属性処理部122は、ファイル操作通知の出力に伴って、ファイル操作部121により行われたファイル操作が「新規ファイル作成」または「ファイル更新」の場合、記憶部13から新たに作成されたファイルまたは更新されたファイルを読み出し、通信部11に出力する。このファイルは、APIサーバ2を介してストレージサーバ3へアップロードされる(ステップS1607)。また、属性処理部122は、ファイル操作に応じた処理を行う。例えば、ファイル操作がファイル削除の場合、削除されるファイルのFIを記憶部13から削除すると共に、アイコン表示部123に、そのファイルのアイコン表示を削除させる。一方、属性処理部122は、ステップS1604において、ファイル操作の処理が行われていないと判定した場合(ステップS1604:N)、ステップS1608へ移行する。
The
通信部11は、コネクションサーバ5から更新有りの情報を受信したか否かを判定し(ステップS1608)、更新有りの情報を受信したと判定した場合(ステップS1608:Y)、更新有りの情報をファイル処理部12に出力する。ファイル処理部12の属性処理部122は、通信部11から更新有りの情報を入力すると、更新情報取得要求を通信部11に出力する。この更新情報取得要求は、APIサーバ2へ送信される(ステップS1609)。APIサーバ2は、端末装置1から更新情報取得要求を受信すると、他の端末装置1によりファイル操作されたファイルが属する上位フォルダのパスを特定し、上位フォルダのパスを端末装置1へ送信する。APIサーバ2の処理については後述する。そして、属性処理部122は、APIサーバ2から受信した上位フォルダのパスを通信部11から入力すると(ステップS1610)、上位フォルダのパスを含むFI取得要求を通信部11に出力する。このFI取得要求は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1611)。このFI取得要求に対する応答であるFIは、ステップS1601及びステップS1602にて処理される。一方、通信部11は、ステップS1608において、更新有りの情報を受信していないと判定した場合(ステップS1608:N)、ステップS1612へ移行する。
The
ステップS1612〜ステップS1614は、ファイル衝突時の処理を示す。例えば、端末装置1は、ユーザによるファイル更新の操作に伴って、ファイル操作通知を、APIサーバ2を介してストレージサーバ3へ送信し、ストレージサーバ3は、ファイル操作通知を受信し、ファイル衝突有りを判定した場合を想定する。この場合、ストレージサーバ3は、ユーザ選択指令を、APIサーバ2を介して端末装置1(ファイル操作通知を送信してきた端末装置1)へ送信する。ファイル衝突は、ストレージサーバ3で生成されたFIが端末装置1に反映されないまま、その端末装置1でファイル操作が行われたときに生じる。例えば、第1の端末装置1及び第2の端末装置1が、同一のファイルをダウンロードした後、第1の端末装置1がオンラインからオフラインへ変更され、第2の端末装置1が、ファイル更新の処理を行い、ストレージサーバ3が、このファイル更新に伴ってFI及びファイルを更新し、第1の端末装置1がオフラインからオンラインへ変更され、ファイル更新の処理を行った場合に、ストレージサーバ3においてファイル衝突が生じる。すなわち、第2の端末装置1によるファイル更新の処理が行われ、その後に第1の端末装置1によるファイル更新の処理が行われた場合に、ファイル衝突が生じる場合がある。ファイル衝突の詳細については後述する。
Steps S1612 to S1614 show processing at the time of file collision. For example, the
端末装置1の通信部11は、ストレージサーバ3からAPIサーバ2を介して、ユーザ選択指令を受信したか否かを判定する(ステップS1612)。通信部11は、ステップS1612において、ユーザ選択指令を受信したと判定した場合(ステップS1612:Y)、ユーザ選択指令をファイル処理部12のファイル操作部121に出力する。ファイル操作部121は、通信部11からユーザ選択指令を入力すると、ユーザに、「新規ファイル保存」「強制上書き」「破棄して最新取得」「キャンセル」のうちのいずれかのユーザ選択種別を選択させる。そして、ファイル操作部121は、ユーザにより選択されたユーザ選択種別を通信部11に出力する。このユーザ選択種別は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1613)。そして、ファイル操作部121は、ユーザ選択種別に応じた処理を行う(ステップS1614)。
The
ここで、ユーザにより「新規ファイル保存」が選択された場合、更新ファイルは、新規ファイルとしてストレージサーバ3に格納される。また、ユーザにより「強制上書き」が選択された場合、更新ファイルは、ストレージサーバ3において上書きされる。したがって、前述の例の場合、第2の端末装置1により更新されストレージサーバ3に格納されたファイルは削除され、第1の端末装置1により更新されたファイルがストレージサーバ3に格納される。また、ユーザにより「破棄して最新取得」が選択された場合、ファイル操作部121は、記憶部13に格納されているファイル、及び属性処理部122により生成された属性群を削除する。そして、ファイル操作部121は、削除したFIの代わりに、ストレージサーバ3から送信された新たなFI(前述の例では、第2の端末装置1によるファイル更新に伴って生成されたFI)を入力し、記憶部13に格納する。また、ユーザにより「キャンセル」が選択された場合、記憶部13に記憶されたFI及び更新ファイル、属性処理部122により生成された属性群は、そのままの状態で保持される。
Here, when “save new file” is selected by the user, the update file is stored in the
端末装置1は、ステップS1603、ステップS1607、ステップS1611、ステップS1614から移行すると、またはステップS1612においてユーザ選択指令を受信していないと判定した場合(ステップS1612:N)、処理を終了してステップS1601の処理を再度行う。
When the
(FI処理部/端末装置)
次に、図15に示した端末装置1における属性処理部122の処理(ファイル操作通知生成処理)について詳細に説明する。図17は、属性処理部122のファイル操作通知生成処理を示すフローチャートであり、図16に示したステップS1604〜ステップS1607の処理に相当する。また、図18は、ファイル操作により付与される属性の一覧を示す図である。図18において、ファイル操作により付与される属性には下線を付し、ヌルが設定される属性は−で表してある。端末装置1の記憶部13には、ファイル操作の対象となるファイルのFI(ユニークIDa,ファイルサイズb,ハッシュ値c,Eタグd,ファイル名e,ファイルパスf,更新日時g)が格納されているものとする(図18において元のFIの属性を参照)。
(FI processing unit / terminal device)
Next, processing (file operation notification generation processing) of the
属性処理部122は、ファイル操作部121により行われたファイル操作の処理の種別を判別する(ステップS1701)。属性処理部122は、ファイル操作が「新規ファイル作成」であると判別した場合、ファイルサイズb1、ハッシュ値c1、ファイル名e1及びファイルパスf1を付与し(ステップS1702)、ユニークID、Eタグ及び更新日時にヌルを設定し、属性群(−,b1,c1,−,e1,f1,−)を生成する(ステップS1703、図18において「新規ファイル作成」の属性を参照)。そして、属性処理部122は、この属性群を含むファイル操作通知(属性群、ファイルデータ、端末ID等)を生成し、通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1704)。
The
属性処理部122は、ファイル操作が「ファイル更新」であると判別した場合、ファイルサイズb1及びハッシュ値c1を付与し(ステップS1705)、付与した属性及び保持しているFIの属性に基づいて、属性群(a,b1,c1,d,e,f,g)を生成する(ステップS1706、図18において「ファイル更新」の属性を参照)。そして、属性処理部122は、この属性群を含むファイル操作通知(属性群、ファイルデータ、端末ID等)を生成し、通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1707)。
If the
属性処理部122は、ファイル操作が「ファイル削除」であると判別した場合、記憶部13に格納されているFIと同一の属性を用いて、属性群を生成する(ステップS1708、図18において「ファイル削除」の属性を参照)。そして、属性処理部122は、この属性群を含むファイル操作通知(属性群、端末ID等)を生成し、通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1709)。
If the
属性処理部122は、ファイル操作が「ファイル名変更」であると判別した場合、ファイル名e1を付与し(ステップS1710)、付与した属性及び保持しているFIの属性に基づいて、属性群(a,b,c,d,e1,f,g)を生成する(ステップS1711、図18において「ファイル名変更」の属性を参照)。そして、属性処理部122は、この属性群を含むファイル操作通知(属性群、端末ID等)を生成し、通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1712)。
When the
属性処理部122は、ファイル操作が「ファイル移動」であると判別した場合、移動先のファイルパスf1を付与し(ステップS1713)、付与した属性及び保持しているFIの属性に基づいて、属性群(a,b,c,d,e,f1,g)を生成する(ステップS1714、図18において「ファイル移動」の属性を参照)。そして、属性処理部122は、この属性群を含むファイル操作通知(属性群、端末ID等)を生成し、通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1715)。
When the
属性処理部122は、ファイル操作が「ファイルコピー」であると判別した場合、コピー先のファイルパスf1を付与し(ステップS1716)、ユニークIDにヌルを設定し、付与した属性、ヌルのユニークID及び保持しているFIの属性に基づいて、属性群(−,b,c,−,e,f1,−)を生成する(ステップS1717、図18において「ファイルコピー」の属性を参照)。そして、属性処理部122は、この属性群を含むファイル操作通知(属性群、端末ID等)を生成し、通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1718)。
If the
〔同期状態表示〕(アイコン表示部/端末装置)
次に、図15に示した端末装置1におけるアイコン表示部123が、ファイル同期の状態表示を行う場合の処理について詳細に説明する。図19は、アイコン表示部123による処理(状態表示処理)を示すフローチャートであり、図16に示したステップS1602、ステップS1603及びステップS1607におけるアイコン表示処理に相当する。また、図20は、アイコンの表示例を示す図である。図20において、(1)〜(5)は、ファイル同期における個々のファイルの状態を示すマークであり、各マークは、フォルダのアイコンまたはファイルのアイコンの表示範囲内で、互いに重ならないように、所定位置に配置されている。例えば、マークは、画素毎の画素値及び配置座標から構成される。また、図20(6)の上段に示すように、アイコン表示部123は、フォルダのアイコンの画像と、(1)〜(5)のマークが所定位置に配置された画像とを合成し、マークを付加したアイコンとして画面表示する。マークが所定位置に配置された画像は、マーク以外の箇所が透過し、フォルダのアイコンの画像と合成される。また、図20(6)の中断に示すように、アイコン表示部123は、フォルダのアイコンに、そのフォルダに属するファイルの状態を示す全てのマークを付加して表示する。また、図20(6)の下段に示すように、アイコン表示部123は、フォルダに属する下位層のフォルダのアイコン毎に、そのフォルダに属するファイルの状態を示すマークを付加して表示する。アイコン表示部123は、このマークを上位のフォルダに伝搬させ表示する。つまり、アイコン表示部123は、ファイルが属するフォルダ、及びそのフォルダが属する上位のフォルダのアイコン(ファイルを基準にした場合、その上位階層のフォルダについての個々のアイコン)を表示する際に、そのファイルの状態を示すマークを、これらのアイコンに付加して表示する。
[Synchronization status display] (Icon display / terminal unit)
Next, processing in the case where the
アイコン表示部123は、ファイルのアップロードが開始されたか否かを判定し(ステップS1901)、アップロードが開始されたと判定した場合(ステップS1901:Y)、アップロード中の状態を示す上矢印のマーク(図20(1)を参照)を、共有フォルダのアイコン等に付加して表示する(ステップS1902)。これにより、ユーザは、共有フォルダ等に上矢印のマークが付加されている場合、その共有フォルダ内のいずれかのファイルがアップロード中であることを認識することができる。一方、アイコン表示部123は、ステップS1901において、アップロードが開始されていないと判定した場合(ステップS1901:N)、ステップS1907へ移行する。尚、通信部11は、ファイルを、APIサーバ2を介してストレージサーバ3へアップロードしている状態を監視しており、アイコン表示部123は、通信部11から、ファイルのアップロード状態(開始、失敗及び完了)の情報を入力する。
The
アイコン表示部123は、ファイルのアップロードが失敗したか否かを判定し(ステップS1903)、アップロードに失敗したと判定した場合(ステップS1903:Y)、アップロードに失敗した状態を示す上矢印及び雨のマーク(図20(2)を参照)を、共有フォルダのアイコン等に付加して表示する(ステップS1904)。これにより、ユーザは、共有フォルダ等に上矢印及び雨のマークが付加されている場合、その共有フォルダ内のいずれかのファイルがアップロードに失敗したことを認識することができる。一方、アイコン表示部123は、ステップS1903において、アップロードに失敗していないと判定した場合(ステップS1903:N)、ステップS1905へ移行する。
The
アイコン表示部123は、ファイルのアップロードが完了したか否かを判定し(ステップS1905)、アップロードが完了したと判定した場合(ステップS1905:Y)、上矢印のマーク並びに上矢印及び雨のマークを、共有フォルダのアイコン等の表示から削除する(ステップS1906)。これにより、ユーザは、共有フォルダ内のいずれかのファイルのアップロードが完了したことを認識することができる。一方、アイコン表示部123は、ステップS1905において、アップロードが完了していないと判定した場合(ステップS1905:N)、ステップS1903へ移行する。
The
アイコン表示部123は、ステップS1901から移行して、ファイルのダウンロードが開始されたか否かを判定し(ステップS1907)、ダウンロードが開始されたと判定した場合(ステップS1907:Y)、ダウンロード中の状態を示す下矢印のマーク(図20(3)を参照)を、共有フォルダのアイコン等に付加して表示する(ステップS1908)。これにより、ユーザは、共有フォルダ等に下矢印のマークが付加されている場合、その共有フォルダにファイルがダウンロード中であることを認識することができる。一方、アイコン表示部123は、ステップS1907において、ダウンロードが開始されていないと判定した場合(ステップS1907:N)、ステップS1911へ移行する。尚、通信部11は、ファイルを、ストレージサーバ3からAPIサーバ2を介してダウンロードしている状態を監視しており、アイコン表示部123は、通信部11から、ファイルのダウンロード状態(開始及び完了)の情報を入力する。
The
アイコン表示部123は、ファイルのダウンロードが完了したか否かを判定し(ステップS1909)、ダウンロードが完了したと判定した場合(ステップS1909:Y)、下矢印のマーク等を、共有フォルダのアイコン等の表示から削除する(ステップS1910)。これにより、ユーザは、共有フォルダ内のいずれかのファイルのダウンロードが完了したことを認識することができる。一方、アイコン表示部123は、ステップS1909において、ダウンロードが完了していないと判定した場合(ステップS1909:N)、完了するまで待つ。
The
アイコン表示部123は、ステップS1907から移行して、通信部11がFIを受信したか否かを判定し(ステップS1911)、FIを受信したと判定した場合(ステップS1911:Y)、受信したFIと保持中の属性群(ファイル操作により生成された属性群)とを比較し、ファイル操作の種別を判定する(ステップS1912)。具体的には、アイコン表示部123は、受信したFIが、新たなユニークIDを含むFIである場合、他の端末装置1において「新規ファイル作成」または「ファイルコピー」のファイル操作が行われたと判断し、ファイル操作の種別を「新規ファイル作成」または「ファイルコピー」と判定する。また、アイコン表示部123は、受信したFIに含まれるユニークIDと同じ属性を有する保持中の属性群を特定し、ファイルサイズ及びハッシュ値が異なる場合、ファイル操作の種別を「ファイル更新」と判定し、ファイル名が異なる場合、ファイル操作の種別を「ファイル名変更」と判定し、ファイルパスが異なる場合、ファイル操作の種別を「ファイル移動」と判定する。
The
アイコン表示部123は、ステップS1912において、ファイル操作の種別を「新規ファイル作成」または「ファイルコピー」と判定した場合、「新規ファイル作成」または「ファイルコピー」のファイル操作が他の端末装置1において行われ、新たなファイルをダウンロードしていない状態を示す雲のマーク(図20(4)を参照)を、共有フォルダのアイコン等に付加して表示する(ステップS1913)。これにより、ユーザは、共有フォルダ等に雲のマークが付加されている場合、他の端末装置1によってストレージサーバ3の共有フォルダに新たなファイルが作成され、そのファイルが自らの端末装置1にダウンロードされていないことを認識することができる。
If the
また、アイコン表示部123は、ステップS1912において、ファイル操作の種別を「ファイル更新」「ファイル名変更」または「ファイル移動」と判定した場合、「ファイル更新」「ファイル名変更」または「ファイル移動」のファイル操作が他の端末装置1において行われ、更新したファイル、名称を変更したファイルまたは移動したファイルをダウンロードしていない状態を示す雨のマーク(図20(5)を参照)を、共有フォルダのアイコン等に付加して表示する(ステップS1914)。これにより、ユーザは、共有フォルダ等に雨のマークが付加されている場合、他の端末装置1によってストレージサーバ3の共有フォルダ内のファイルが更新、移動され、またはファイル名が変更され、そのファイルが自らの端末装置1にダウンロードされておらず、古いファイルが自らの端末装置1に格納されていることを認識することができる。また、アイコン表示部123は、ステップS1913及びステップS1914において表示したマークを、そのマークに関連するファイルのダウンロードが完了したときに、ステップS1910において削除する。
If the
以上のように、端末装置1におけるファイル処理部12のアイコン表示部123は、ファイルのアップロード、アップロードの失敗及びダウンロードの状態を示すマーク(上矢印のマーク、上矢印及び雨のマーク、下矢印のマーク)、「新規ファイル作成」または「ファイルコピー」が他の端末装置1にて行われ、新たなファイルをダウンロードしていない状態を示すマーク(雲のマーク)、及び、「ファイル更新」「ファイル名変更」または「ファイル移動」が他の端末装置1にて行われ、自らの端末装置1が古いファイルを保持していることを示すマーク(雨のマーク)を、それぞれの状態に応じてフォルダのアイコンに付加して表示するようにした。これにより、ユーザは、フォルダのアイコンに付加して表示されたマークから、自らの端末装置1が新たなファイルを保持していないこと、または、保持しているファイルが古いこと等を認識することができる。したがって、ユーザは、ファイル同期の処理がどのような状態にあるのかを、的確に認識することができる。また、アイコン表示部123は、ファイルの状態を示すマークを、そのフォルダの上位のフォルダのアイコンに伝搬表示するようにした。これにより、ユーザは、表示されているフォルダのアイコンから、その下位のフォルダ及びファイルの状態を認識することができる。
As described above, the
尚、アイコン表示部123は、ファイル同期の状態として、アップロード中の状態を示すマーク(図20(1))、アップロードの失敗の状態を示すマーク(図20(2))、ダウンロード中の状態を示すマーク(図20(3))、「新規ファイル作成」等の操作があったことを示すマーク(図20(4))及び「ファイル更新」等の操作があったことを示すマーク(図20(5))を、アイコンに付加して表示するようにした。これに対し、アイコン表示部123は、これらのファイルの状態を集約表示するようにしてもよい。具体的には、アイコン表示部123は、アップロード中の状態を示すマーク(図20(1))またはダウンロード中の状態を示すマーク(図20(3))を表示する際に、これらのマークの代わりに、ファイル同期の処理を行っている状態(同期中の状態)を示すマークを、アイコンに付加して表示する。また、アイコン表示部123は、アップロードの失敗の状態を示すマーク(図20(2))、「新規ファイル作成」等の操作があったことを示すマーク(図20(4))または「ファイル更新」等の操作があったことを示すマーク(図20(5))を表示する際に、これらのマークの代わりに、ファイル同期の処理が行われていない状態であることを示すマークを、アイコンに付加して表示する。また、アイコン表示部123は、ファイルの状態を示すマークをフォルダのアイコンに付加して表示するようにしたが、ファイルに付加して表示するようにしてもよい。
It should be noted that the
〔Webブラウザによるアクセス〕(通信部/端末装置)
次に、図15に示した端末装置1における通信部11及びファイル処理部12が、Webブラウザにより、HTTPに従ってAPIサーバ2を介してストレージサーバ3へアクセスする場合の処理について詳細に説明する。
[Access via Web browser] (communication unit / terminal device)
Next, processing when the
図40は、ストレージサーバ3に備えたフォルダの階層構造の例を示す図である。図40に示すように、ストレージサーバ3はフォルダA〜Gを備えており、その構造は、フォルダB,CがフォルダAに属し、フォルダD,EがフォルダBに属し、フォルダF,GがフォルダCに属する関係になっている。フォルダA〜Gには、フォルダを一意に特定するためのユニークID1〜7が付与されている。いま、フォルダEが共有フォルダであり、ファイル「ddd.txt」がフォルダEに属し、複数のユーザによりアクセス可能であるとする。この場合、フォルダEのパス(フォルダパス)は、「/A/B/E」であり、ファイル「ddd.txt」のパス(ファイルパス)は、「/A/B/E/ddd.txt」である。
FIG. 40 is a diagram illustrating an example of a hierarchical structure of folders provided in the
図41は、フォルダインデックスの構成を示す図である。このフォルダインデックスは、フォルダの属性を示す複数の情報から構成され、具体的には、ユニークID、フォルダサイズ、ハッシュ値、Eタグ、フォルダ名及びフォルダパスの各属性から構成される。1つのフォルダに対応して1つのフォルダインデックスが存在する。ユニークIDは、フォルダを一意に特定するための値であり、全てのフォルダ及び全てのファイルについて異なる値が付与される。つまり、図4に示したFIのユニークIDも含めて異なる値が付与される。フォルダサイズは、当該フォルダに属する全てのファイルの大きさを合計した値であり、ハッシュ値は、ハッシュ関数により得られた関数値である。Eタグは、フォルダが更新されたときに新たに付与される値である。フォルダ名は、フォルダの名称であり、フォルダパスは、当該フォルダの所在を示すアドレスである。これらの属性は、図4に示したFIの属性(ユニークID、ファイルサイズ、ハッシュ値、Eタグ、ファイル名、ファイルパス)に相当する。尚、フォルダが新たに作成された場合、新たなユニークID及びEタグが付与され、フォルダサイズ、フォルダ名等が変更された場合、新たなEタグが付与される。 FIG. 41 is a diagram showing the structure of a folder index. This folder index is composed of a plurality of pieces of information indicating the attributes of the folder. Specifically, the folder index is composed of attributes of unique ID, folder size, hash value, E tag, folder name, and folder path. There is one folder index corresponding to one folder. The unique ID is a value for uniquely specifying a folder, and different values are assigned to all folders and all files. That is, different values including the unique ID of the FI shown in FIG. The folder size is a value obtained by adding the sizes of all the files belonging to the folder, and the hash value is a function value obtained by a hash function. The E tag is a value newly given when the folder is updated. The folder name is the name of the folder, and the folder path is an address indicating the location of the folder. These attributes correspond to the FI attributes (unique ID, file size, hash value, E tag, file name, file path) shown in FIG. When a new folder is created, a new unique ID and E tag are assigned. When a folder size, a folder name, and the like are changed, a new E tag is assigned.
図42は、図40に示したフォルダEのフォルダインデックスを示す図である。図42に示すように、フォルダEのフォルダインデックスは、ユニークID:5、フォルダサイズ:b、ハッシュ値:c、Eタグ:d、フォルダ名:E、及びフォルダパス:/A/B/Eの各属性から構成される。尚、フォルダインデックスは、ストレージサーバ3に格納されている。
FIG. 42 is a diagram showing a folder index of the folder E shown in FIG. As shown in FIG. 42, the folder index of the folder E is as follows: unique ID: 5, folder size: b, hash value: c, E tag: d, folder name: E, and folder path: / A / B / E. Consists of each attribute. Note that the folder index is stored in the
ここで、端末装置1を使用するユーザの操作により、端末装置1が、Webブラウザにより、ストレージサーバ3に備えた共有フォルダEへアクセスする場合の処理を説明する。
Here, processing when the
端末装置1は、図42に示したフォルダEのフォルダインデックスをストレージサーバ3から取得しているものとする。端末装置1を使用するユーザが、フォルダEのURLとして「http://・・・.jp/5」を指定する。このURL「http://・・・.jp/5」は、プロトコルの種類「http」、ストレージサーバ3の名称(ホスト名)「・・・.jp」、及びフォルダEのユニークID「5」からなる。そうすると、端末装置1の通信部11は、Webブラウザにより、ユーザにより指定されたURLのうちのユニークID「5」を含むリクエストを生成し、HTTPに従ってAPIサーバ2へ送信する。
The
APIサーバ2は、端末装置1からHTTPに従ってリクエストを受信すると、リクエストからユニークID「5」を取得し、ストレージサーバ3へ送信する。ストレージサーバ3は、APIサーバ2からユニークID「5」を受信すると、そのユニークID「5」をキーにして全てのフォルダインデックス及びFIを検索し、ユニークID「5」を有するフォルダインデックスを特定し、特定したフォルダインデックスに含まれるパス「/A/B/E」(図42を参照)を読み出す。そして、ストレージサーバ3は、読み出したパスを用いてフォルダEにアクセスし、フォルダEに関する情報(例えば、フォルダEに属する全てのファイルのFI)を取得し、APIサーバ2を介して端末装置1へ送信する。
When the
通信部11は、Webブラウザにより、APIサーバ2からフォルダEに関する情報を含むレスポンスを、HTTPに従って受信し、レスポンスを解析してフォルダEに関する情報を取得し、ファイル処理部12に出力する。そして、ファイル処理部12は、フォルダEに関する情報を入力し、画面表示等の処理を行う。
The
ここで、ユーザによりフォルダEのユニークIDがURLの一部として指定され、リクエストが送信される際に、Webブラウザにより、URL「http://・・・.jp/5」が画面に表示される。つまり、フォルダEのユニークID「5」は画面に表示されるが、ファイルパス「/A/B/E」は表示されない。 Here, when the unique ID of the folder E is specified as a part of the URL by the user and the request is transmitted, the URL “http: //....jp/5” is displayed on the screen by the Web browser. The That is, the unique ID “5” of the folder E is displayed on the screen, but the file path “/ A / B / E” is not displayed.
尚、前述の処理は、ファイルへアクセスする場合も同様である。端末装置1が、ファイル「ddd.txt」のFIをストレージサーバ3から取得しているものとする。端末装置1を使用するユーザが、ファイル「ddd.txt」のURLとして「http://・・・.jp/a」を指定する。「a」は、ファイル「ddd.txt」のユニークIDとする。そうすると、端末装置1の通信部11は、Webブラウザにより、ユーザにより指定されたURLのうちのユニークID「a」を含むリクエストを生成し、HTTPに従ってAPIサーバ2へ送信する。ここで、ユーザの指定によって、URL「http://・・・.jp/a」が画面に表示される。つまり、ファイル「ddd.txt」のユニークID「a」は画面に表示されるが、そのファイルパス「/A/B/E/ddd.txt」は表示されない。
The process described above is the same when accessing a file. It is assumed that the
以上のように、端末装置1の通信部11及びファイル処理部12は、ユーザにより、ファイル「ddd.txt」またはフォルダEのユニークID(「5」または「a」)を含むURLが指定されると、そのURLのうちのユニークIDを含むリクエストを生成し、HTTPに従ってAPIサーバ2へ送信するようにした。これにより、ユーザは、ファイルまたはフォルダのパス(「/A/B/E/ddd.txt」または「/A/B/E」)を含むURLを指定する必要がなく、ファイルまたはフォルダのパスが画面に表示されることもない。したがって、パス情報を確実に隠蔽することができ、他のユーザにパス情報を知られることがないから、セキュリティを確保することができる。
As described above, the
〔APIサーバ〕
次に、図1及び図2に示したAPIサーバ2について詳細に説明する。図23は、APIサーバ2の構成を示すブロック図である。このAPIサーバ2は、通信部21及び記憶部22を備えている。
[API server]
Next, the
通信部21は、所定のプロトコルを用いて端末装置1、ストレージサーバ3及びイベントサーバ4との間でデータの送受信を行う。通信部21は、端末装置1からファイル操作通知、及びFI取得要求を受信してストレージサーバ3へ送信する。また、通信部21は、ストレージサーバ3からFI及び更新通知を受信し、FIを端末装置1へ送信し、更新通知を記憶部22に格納すると共に、イベントサーバ4へ送信する。
The
さらに、通信部21は、端末装置1から更新情報取得要求(送信元の端末IDを含む)を受信し、更新情報取得要求に含まれる送信元の端末ID、記憶部22に格納されている更新通知に含まれる共有情報及び送信元端末IDに基づいて、更新通知に含まれる上位フォルダのパスを特定し、上位フォルダのパスを、更新情報取得要求を送信してきた送信元の端末IDを有する端末装置1へ送信する。
Further, the
記憶部22には更新通知が格納される。更新通知は、通信部21により格納され、また、読み出される。尚、記憶部22には、ファイル操作時に、ストレージサーバ3により生成された更新通知が格納され、更新通知により更新有りの情報を受信した全ての端末装置1から送信された更新情報取得要求に対し、上位フォルダのパスが読み出された場合、その上位フォルダのパスを含む更新通知は、通信部21によって削除される。
The
図24は、記憶部22に格納された更新通知の構成を示す図である。前述のとおり、更新通知は、イベント種類(更新有り)、共有情報(ファイル操作が行われたファイルの属する共有フォルダへのアクセスが許容されているユーザID)、ファイル操作が行われたファイルの属する上位フォルダのパス、及び送信元端末ID(ファイル操作通知を送信してきた端末装置1の端末ID、すなわち、ファイル操作が行われた端末装置1の端末ID)により構成される。記憶部22には、APIサーバ2がストレージサーバ3から更新通知を受信する毎に、それぞれの更新通知が格納される。
FIG. 24 is a diagram illustrating the configuration of the update notification stored in the
次に、図23に示したAPIサーバ2の処理について説明する。図25は、APIサーバ2の処理を示すフローチャートである。APIサーバ2の通信部21は、ファイル操作が行われた端末装置1からファイル操作通知を受信したか否かを判定し(ステップS2501)、ファイル操作通知を受信したと判定した場合(ステップS2501:Y)、ファイル操作通知をストレージサーバ3へ送信する(ステップS2502)。一方、通信部21は、ステップS2501において、ファイル操作通知を受信していないと判定した場合(ステップS2501:N)、ステップS2503へ移行する。
Next, processing of the
通信部21は、ステップS2501から移行して、ストレージサーバ3からFIを受信したか否かを判定し(ステップS2503)、FIを受信したと判定した場合(ステップS2503:Y)、受信したFIを、FI取得要求を送信してきた端末装置1、またはファイル操作が行われた端末装置1へ送信する(ステップS2504)。一方、通信部21は、ステップS2503において、FIを受信していないと判定した場合(ステップS2503:N)、ステップS2505へ移行する。
The
通信部21は、ステップS2503から移行して、ストレージサーバ3から更新通知を受信したか否かを判定し(ステップS2505)、更新通知を受信したと判定した場合(ステップS2505:Y)、更新通知を記憶部22に格納する(ステップS2506)。また、通信部21は、受信した更新通知をイベントサーバ4へ送信する(ステップS2507)。一方、通信部21は、ステップS2505において、更新通知を受信していないと判定した場合(ステップS2505:N)、ステップS2508へ移行する。
The
通信部21は、ステップS2505から移行して、端末装置1から更新情報取得要求を受信したか否かを判定し(ステップS2508)、更新情報取得要求を受信したと判定した場合(ステップS2508:Y)、更新情報取得要求に含まれる送信元の端末ID、記憶部22に格納されている更新通知に含まれる共有情報(ユーザID)及び送信元端末ID(ファイル操作が行われた端末装置1の端末ID)に基づいて、更新通知に含まれる上位フォルダのパスを特定する(ステップS2509)。具体的には、通信部21は、記憶部22に格納されている更新通知に含まれる共有情報(ユーザID)から、そのユーザIDのユーザが使用している端末装置1の端末IDを、図示しない共有フォルダ情報(ストレージサーバ3に備えた後述する共有フォルダ情報と同じであり、ストレージサーバ3から取得される。この共有ファイル情報は、ストレージサーバ3の共有フォルダへアクセスしているユーザのユーザID及び端末装置1の端末IDが対になっている情報である。)から特定する。そして、通信部21は、更新通知毎に、共有情報に対応する複数の端末IDから、更新通知に含まれる送信元端末ID(ファイル操作が行われた端末装置1の端末ID)を除外し、残された端末IDと更新情報取得要求に含まれる送信元の端末IDとを比較する。そして、通信部21は、残された端末ID(ファイル操作を行っていない端末装置1の端末ID)に、送信元の端末ID(更新情報取得要求を送信してきた端末装置1の端末ID)が含まれる場合、その更新通知を更新情報取得要求に対応するものとして、その更新通知に含まれる上位フォルダのパスを特定する。
The
通信部21は、特定した上位フォルダのパスを、更新情報取得要求に含まれる送信元の端末IDを有する端末装置1へ送信する(ステップS2510)。
The
通信部21は、ステップS2508から移行して、端末装置1からFI取得要求を受信したか否かを判定し(ステップS2511)、FI取得要求を受信したと判定した場合(ステップS2511:Y)、FI取得要求をストレージサーバ3へ送信する(ステップS2512)。
When the
APIサーバ2は、ステップS2502、ステップS2504、ステップS2507、ステップS2510、ステップS2512から移行すると、またはステップS2511においてFI取得要求を受信していないと判定した場合(ステップS2511:N)、処理を終了してステップS2501の処理を再度行う。
When the
〔ストレージサーバ〕
次に、図1及び図2に示したストレージサーバ3について詳細に説明する。図26は、ストレージサーバ3の構成を示すブロック図である。このストレージサーバ3は、通信部31、同期制御部32及び記憶部33を備えている。
[Storage Server]
Next, the
通信部31は、所定のプロトコルを用いてAPIサーバ2との間でデータの送受信を行う。通信部31は、端末装置1により送信されたファイル操作通知、FI取得要求及びユーザ選択種別をAPIサーバ2から受信し、同期制御部32に出力する。また、通信部31は、同期制御部32から更新通知、FI及びユーザ選択指令を入力し、APIサーバ2へ送信する。
The
同期制御部32は、操作種別特定部321、ファイル・FI処理部322、FI送信部323及び衝突処理部324を備えている。操作種別特定部321は、通信部31からファイル操作通知を入力し、ファイル操作通知に含まれるファイル操作種別データに基づいて、ファイル操作の種別(操作種別)を特定する。
The
ファイル・FI処理部322は、操作種別特定部321により特定された操作種別毎に、ファイル処理を行い、操作種別に応じてファイルを記憶部33に格納し、ファイル処理を行ったファイルについての新たなFIを生成して記憶部33に格納する。
The file /
FI送信部323は、ファイル・FI処理部322により生成された新たなFIを通信部31に出力する。また、FI送信部323は、イベント種類(更新有り)、ファイル・FI処理部322によりファイル処理されたファイルが属する上位フォルダのパス、この上位フォルダの共有情報(ユーザID)、ファイル操作通知を送信してきた端末装置1の端末ID(送信元端末ID)を含む更新通知を生成し、通信部31に出力する。また、FI送信部323は、通信部31からFI取得要求を入力し、FI取得要求に含まれる上位フォルダのパスに基づいて、その上位フォルダに属する全てのファイルのFIを記憶部33から読み出し、通信部31に出力する。
The
衝突処理部324は、操作種別特定部321が通信部31から入力した端末装置1からのファイル操作通知に含まれる属性群のEタグ、及び記憶部33から読み出したFIのEタグに基づいて、ファイル衝突の有無を判定し、ファイル衝突有りを判定した場合、ユーザ選択指令を通信部31に出力する。また、衝突処理部324は、通信部31からユーザ選択種別を入力し、ユーザ選択種別に応じた処理を行う。
The
記憶部33には、ファイル、ファイルについてのFI、共有フォルダ情報及び領域データファイルが格納されている。これらの情報は、同期制御部32により格納され、また、読み出される。
The
図27は、記憶部33に格納された共有フォルダ情報の構成を示す図である。共有フォルダ情報には、共有フォルダへアクセス可能なユーザに関する情報が定義されている。図27に示すように、共有フォルダ情報は、共有フォルダのパス、及びその共有フォルダへアクセス可能なユーザのユーザIDにより構成される。尚、記憶部33に格納された領域データファイルについては後述する。
FIG. 27 is a diagram illustrating a configuration of shared folder information stored in the
次に、図26に示したストレージサーバ3の処理について説明する。図28は、ストレージサーバ3の処理を示すフローチャートである。ストレージサーバ3の通信部31は、端末装置1により送信されたファイル操作通知を受信すると、ファイル操作通知を同期制御部32の操作種別特定部321に出力し、操作種別特定部321は、ファイル操作通知に含まれるファイル操作種別データに基づいて、ファイル操作の種別を示す操作種別を特定する(ステップS2801)。前述のとおり、操作種別には、新規ファイル作成、ファイル更新、ファイル削除、ファイル名変更、ファイル移動及びファイルコピーがある。
Next, processing of the
衝突処理部324は、ファイル操作通知に含まれる属性群のEタグと、記憶部33から読み出した、ファイル操作通知に含まれる属性群と同一のユニークIDを有するFIのEタグとを比較し、ファイル衝突の有無を判定する(ステップS2802)。衝突処理部324は、Eタグが異なる場合、ファイル衝突有りを判定し(ステップS2803:有)、衝突処理を行う(ステップS2807)。一方、衝突処理部324は、Eタグが同じ場合、ファイル衝突無しを判定し(ステップS2803:無)、ステップS2804へ移行する。
The
ファイル・FI処理部322は、ステップS2803から移行して、ステップS2801において特定された操作種別に応じたファイル処理(例えば、新たなファイルを記憶部33に格納する処理、記憶部33からファイルを削除する処理等)を行う(ステップS2804)。そして、ファイル・FI処理部322は、ステップS2804においてファイル処理を行ったファイルについてのEタグ、更新日時等を付与し、新たなFIを生成し、記憶部33に格納する(ステップS2805)。そして、FI送信部323は、ステップS2805において生成された新たなFIを端末装置1へ送信するための処理を行う(ステップS2806)。
The file /
(操作種別特定部/ストレージサーバ)
次に、図26に示したストレージサーバ3における操作種別特定部321の処理について詳細に説明する。図29は、操作種別特定部321の処理を示すフローチャートであり、図28に示したステップS2801の処理に相当する。
(Operation type identification unit / storage server)
Next, processing of the operation
操作種別特定部321は、端末装置1から送信されたファイル操作通知を通信部31から入力し(ステップS2901)、ファイル操作通知からファイル操作種別データを取得する(ステップS2902)。そして、操作種別特定部321は、ファイル操作種別データに基づいて、操作種別を特定する(ステップS2903〜ステップS2909)。
The operation
尚、操作種別特定部321は、ファイル操作通知に含まれる属性群等に基づいて、操作種別を特定するようにしてもよい。
The operation
図43は、操作種別特定部321の他の処理(ファイル操作通知に含まれる属性群等に基づいて操作種別を特定する処理)を示すフローチャートである。操作種別特定部321は、端末装置1から送信されたファイル操作通知を通信部31から入力し(ステップS4301)、ファイル操作通知から属性群を取得する(ステップS4302)。そして、操作種別特定部321は、属性群に含まれるユニークID、Eタグ及び更新日時にデータが存在しない(ヌルが設定されている)か否かを判定し(ステップS4303)、データが存在しないと判定した場合(ステップS4303:Y)、操作種別を「新規ファイル作成」に特定する(ステップS4304)。一方、操作種別特定部321は、ステップS4303において、ユニークID、Eタグ及び更新日時のいずれかにデータが存在すると判定した場合(ステップS4303:N)、ステップS4305へ移行する。
FIG. 43 is a flowchart showing another process of the operation type identification unit 321 (a process of identifying an operation type based on an attribute group included in the file operation notification). The operation
操作種別特定部321は、ステップS4303から移行して、属性群に含まれるユニークIDにデータが存在しない(ヌルが設定されている)か否かを判定し(ステップS4305)、データが存在しないと判定した場合(ステップS4305:Y)、操作種別を「ファイルコピー」に特定する(ステップS4306)。一方、操作種別特定部321は、ステップS4305において、ユニークIDにデータが存在すると判定した場合(ステップS4305:N)、ステップS4307へ移行する。
The operation
操作種別特定部321は、ステップS4305から移行して、属性群からユニークIDa(属性群にはユニークIDaが含まれるものとする。)を取得し、記憶部33からユニークIDaを有するFIを読み出す(ステップS4307)。記憶部33から読み出したFIの属性は、(ユニークIDa,ファイルサイズb,ハッシュ値c,Eタグd,ファイル名e,ファイルパスf,更新日時g)とする。つまり、端末装置1は、ストレージサーバ3の記憶部33に格納されたFIのファイルに対し、ユーザによりファイル操作が行われ、属性群を生成したことになる。
The operation
操作種別特定部321は、端末装置1からの属性群と記憶部33から読み出したFIとを比較し(ステップS4308)、操作種別を特定する。操作種別特定部321は、属性群に含まれるファイルサイズb1とFIに含まれるファイルサイズbとを比較すると共に、属性群に含まれるハッシュ値c1とFIに含まれるハッシュ値cとを比較し(ステップS4309)、2つの属性が異なると判定した場合(ステップS4309:Y)、操作種別を「ファイル更新」に特定する(ステップS4310)。一方、操作種別特定部321は、ステップS4309において、2つの属性が異なっていない(いずれかの属性または2つの属性が同じである)と判定した場合(ステップS4309:N)、ステップS4311へ移行する。
The operation
操作種別特定部321は、属性群に含まれる各属性a〜gとFIに含まれる各属性a〜gとをそれぞれ比較し(ステップS4311)、全ての属性が同じであると判定した場合(ステップS4311:Y)、操作種別を「ファイル削除」に特定する(ステップS4312)。一方、操作種別特定部321は、ステップS4311において、全ての属性が同じでない(いずれかの属性が異なっている)と判定した場合(ステップS4311:N)、ステップS4313へ移行する。
The operation
操作種別特定部321は、属性群に含まれるファイル名e1とFIに含まれるファイル名eとを比較し(ステップS4313)、ファイル名の属性が異なると判定した場合(ステップS4313:Y)、操作種別を「ファイル名変更」に特定する(ステップS4314)。一方、操作種別特定部321は、ステップS4313において、ファイル名の属性が異ならない(同じである)と判定した場合(ステップS4313:N)、ステップS4315へ移行する。
The operation
操作種別特定部321は、属性群に含まれるファイルパスf1とFIに含まれるファイルパスfとを比較し(ステップS4315)、ファイルパスの属性が異なると判定した場合(ステップS4315:Y)、操作種別を「ファイル移動」に特定する(ステップS4316)。
The operation
操作種別特定部321は、ステップS4304、ステップS4306、ステップS4310、ステップS4312、ステップS4314、ステップS4316から移行すると、または、ステップS4315においてファイルパスの属性が異ならない(同じである)と判定した場合(ステップS4315:N)、処理を終了してステップS4301の処理を再度行う。
The operation
(ファイル・FI処理部/ストレージサーバ)
次に、図26に示したストレージサーバ3におけるファイル・FI処理部322の処理について詳細に説明する。図30は、ファイル・FI処理部322の処理を示すフローチャートであり、図28に示したステップS2804及びステップS2805の処理に相当する。
(File / FI processing unit / Storage server)
Next, the processing of the file /
ファイル・FI処理部322は、操作種別特定部321により特定された操作種別を判別する(ステップS3001)。前述のとおり、記憶部33から読み出されたFIをFI(a,b,c,d,e,f,g)とする。
The file /
操作種別が「新規ファイル作成」の場合、端末装置1からの属性群は、FI(−,b1,c1,−,e1,f1,−)である。この場合、ファイル・FI処理部322は、ファイル操作が行われた端末装置1から新たに作成されたファイルをアップロードし、その新たなファイルを記憶部33に格納する(ステップS3002)。そして、ファイル・FI処理部322は、Eタグd2及び更新日時g2を付与すると共に(ステップS3003)、記憶部33に格納したファイルを一意に特定するためのユニークIDa2を付与する(ステップS3004)。そして、ファイル・FI処理部322は、付与した属性及び属性群に含まれる属性から、記憶部33に格納したファイルについての新たなFI(a2,b1,c1,d2,e1,f1,g2)を生成し、記憶部33に格納する(ステップS3005)。
When the operation type is “create new file”, the attribute group from the
操作種別が「ファイル更新」の場合、端末装置1からの属性群は、FI(a,b1,c1,d,e,f,g)である。この場合、ファイル・FI処理部322は、ファイル操作が行われた端末装置1から更新されたファイルをアップロードし、元のファイル(属性群と同じユニークIDaのファイル)を記憶部33から削除すると共に、アップロードした更新ファイルを記憶部33に格納する(ステップS3006)。そして、ファイル・FI処理部322は、Eタグd2及び更新日時g2を付与し(ステップS3007)、付与した属性及び属性群に含まれる属性から、記憶部33に格納した更新ファイルについてのFI(a,b1,c1,d2,e,f,g2)を生成し、記憶部33に上書きする(ステップS3008)。すなわち、元のFI(a,b,c,d,e,f,g)に、生成したFI(a,b1,c1,d2,e,f,g2)を上書きする。
When the operation type is “file update”, the attribute group from the
操作種別が「ファイル削除」の場合、端末装置1からの属性群は、FI(a,b,c,d,e,f,g)である。この場合、ファイル・FI処理部322は、ファイル(属性群と同じユニークIDaのファイル)を記憶部33から削除する(ステップS3009)。そして、ファイル・FI処理部322は、記憶部33から属性群と同じ属性を有するFIを削除する(ステップS3010)。
When the operation type is “delete file”, the attribute group from the
操作種別が「ファイル名変更」の場合、端末装置1からの属性群は、FI(a,b,c,d,e1,f,g)である。この場合、ファイル・FI処理部322は、Eタグd2及び更新日時g2を付与し(ステップS3011)、付与した属性及び属性群に含まれる属性から、FI(a,b,c,d2,e1,f,g2)を生成し、記憶部33に上書きする(ステップS3012)。すなわち、元のFI(a,b,c,d,e,f,g)に、生成したFI(a,b,c,d2,e1,f,g2)を上書きする。
When the operation type is “change file name”, the attribute group from the
操作種別が「ファイル移動」の場合、端末装置1からの属性群は、FI(a,b,c,d,e,f1,g)である。この場合、ファイル・FI処理部322は、Eタグd2及び更新日時g2を付与し(ステップS3013)、付与した属性及び属性群に含まれる属性から、FI(a,b,c,d2,e,f1,g2)を生成し、記憶部33に上書きする(ステップS3014)。すなわち、元のFI(a,b,c,d,e,f,g)に、生成したFI(a,b,c,d2,e,f1,g2)を上書きする。
When the operation type is “file move”, the attribute group from the
操作種別が「ファイルコピー」の場合、端末装置1からの属性群は、FI(−,b,c,−,e,f1,−)である。この場合、ファイル・FI処理部322は、コピー元のファイルをコピーすることにより、新たなファイルとして記憶部33に格納する(ステップS3015)。尚、コピー元のファイルは、ファイル操作通知に含まれる、コピー元ファイルのユニークID(図示せず)に基づいて特定される。そして、ファイル・FI処理部322は、Eタグd2及び更新日時g2を付与すると共に(ステップS3016)、記憶部33に格納した新たなファイルを一意に特定するためのユニークIDa2を付与する(ステップS3017)。そして、ファイル・FI処理部322は、付与した属性及び属性群に含まれる属性から、記憶部33に格納した新たなファイルについての新たなFI(a2,b,c,d2,e,f1,g2)を生成し、記憶部33に格納する(ステップS3018)。
When the operation type is “file copy”, the attribute group from the
(FI送信部/ストレージサーバ)
次に、図26に示したストレージサーバ3におけるFI送信部323の処理について詳細に説明する。図31は、FI送信部323の処理を示すフローチャートであり、図28に示したステップS2806の処理に相当する。
(FI transmitter / storage server)
Next, processing of the
FI送信部323は、ファイル・FI処理部322により生成されたFIを通信部31に出力する。このFIは、ファイル操作通知を送信してきた端末装置1へ、APIサーバ2を介して送信される(ステップS3101)。これにより、端末装置1は、ストレージサーバ3のファイル・FI処理部322により生成され記憶部33に格納されたFIと同じFIを保持することができる。
The
FI送信部323は、ファイル操作が行われたファイルが属する上位フォルダのパスを、ファイル・FI処理部322により生成されたFIに含まれるファイルパス(ファイル操作が行われたファイルの所在を示すファイルパス)に基づいて特定する(ステップS3102)。尚、操作種別が「ファイル移動」の場合、FI送信部323は、移動前のファイルが属する上位フォルダのパスも特定する。具体的には、ファイル・FI処理部322は、図30に示したステップS3014によるFIの上書き前に、ファイル操作通知に含まれる属性群と同じユニークIDaを有するFIを記憶部33から読み出し、FI送信部323は、ファイル・FI処理部322により読み出されたFIに含まれるファイルパスf(移動前のファイルの所在を示すファイルパス)を取得し、このファイルパスfに基づいて、移動前のファイルが属する上位フォルダのパスを特定する。
The
FI送信部323は、記憶部33から共有フォルダ情報を読み出し、ステップS3102において特定した上位フォルダのパスに対応するユーザIDを特定する(ステップS3103)。特定したユーザIDを共有情報とする。
The
FI送信部323は、イベント種類(更新有り)、ステップS3103において特定した共有情報(ユーザID)、ステップS3102において特定した上位フォルダのパス、及び、ファイル操作通知を送信してきた端末装置1の端末ID(送信元端末ID)を含む更新通知を生成する(ステップS3104)。これにより、図3に示したイベント通知シーケンスが行われる。
The
FI送信部323は、更新通知をAPIサーバ2へ送信する(ステップS3105)。そして、FI送信部323は、端末装置1(APIサーバ2を介してストレージサーバ3に接続されている端末装置1のうちのファイル操作通知を送信していない端末装置1、すなわち、更新通知に含まれる共有情報(ユーザID)のユーザが使用している端末装置1のうち、ファイル操作通知を送信していない端末装置1)からAPIサーバ2を介して受信したFI取得要求を、通信部31から入力する(ステップS3106)。
The
FI送信部323は、FI取得要求に含まれる上位フォルダのパスに基づいて、記憶部33に格納されているFIのファイルパスを参照し、その上位フォルダに属する全てのファイルのFIを記憶部33から読み出す(ステップS3107)。そして、FI送信部323は、FI取得要求の応答として、その上位フォルダに属する全てのファイルのFIを、APIサーバ2を介して端末装置1(ステップS3106においてFI取得要求を送信してきた端末装置1)へ送信する(ステップS3108)。これにより、FI取得要求を送信してきた端末装置1は、ストレージサーバ3の記憶部33に格納されたFIと同じFIを保持することができる。
The
〔衝突処理〕(衝突処理部/ストレージサーバ)
次に、図26に示したストレージサーバ3における衝突処理部324の処理について詳細に説明する。図32は、衝突処理部324の処理を示すフローチャートであり、図28に示したステップS2802、ステップS2803及びステップS2807の処理に相当する。また、衝突処理部324の処理に対応して、図16のステップS1612〜ステップS1614に示したように、端末装置1における通信部11及びファイル処理部12のファイル操作部121による処理が行われる。
[Collision Processing] (Collision Processing Unit / Storage Server)
Next, the process of the
ファイル衝突は、ストレージサーバ3で生成されたFIが端末装置1に反映されないまま、その端末装置1でファイル操作が行われたときに生じる。例えば、第1の端末装置1及び第2の端末装置1が、同一のファイルをダウンロードした後、第1の端末装置1がオンラインからオフラインへ変更され、第2の端末装置1が、ファイル更新の処理を行い、ストレージサーバ3が、このファイル更新に伴って、FI及びファイルを更新し、第1の端末装置1がオフラインからオンラインへ変更され、ファイル更新の処理を行った場合に、ストレージサーバ3においてファイル衝突が生じる。
A file collision occurs when a file operation is performed in the
図11、図12及び図13は、ファイル衝突時のシーケンスを説明する図である。端末装置1−1,1−2は、ストレージサーバ3から同一ファイルのFIを取得し、そのファイルをダウンロードすることにより、同一ファイルのFI及びファイルを保持しているものとする。ここで、FI(a,b,c,d,e,f,g)とする。以下、図11、図12及び図13のシーケンスを用いて、図32に示す衝突処理部324の処理について説明する。
11, 12 and 13 are diagrams for explaining the sequence at the time of file collision. The terminal devices 1-1 and 1-2 acquire the FI of the same file by acquiring the FI of the same file from the
端末装置1−1がオンラインからオフラインへ変更され、端末装置1−2において、ユーザによるファイル更新の操作が行われたとする。そうすると、端末装置1−2は、属性群(a,b1,c1,d,e,f,g)を生成し(図示せず)、この属性群を含むファイル操作通知を、ストレージサーバ3へ送信する。ストレージサーバ3における同期制御部32の操作種別特定部321は、端末装置1−2から受信したファイル操作通知を通信部31から入力し、図29に示した処理により、操作種別を「ファイル更新」に特定する。
It is assumed that the terminal device 1-1 is changed from online to offline, and the user has performed a file update operation in the terminal device 1-2. Then, the terminal device 1-2 generates an attribute group (a, b1, c1, d, e, f, g) (not shown), and sends a file operation notification including this attribute group to the
衝突処理部324は、属性群に含まれるEタグdとFIに含まれるEタグdとを比較し(ステップS3201)、Eタグdが同じであると判定し(ステップS3201:Y)、ファイル衝突無しを判定する(ステップS3202)。そして、端末装置1−2から更新ファイルがアップロードされ、更新ファイルはファイルxとして記憶部33に格納される。また、ファイルxについてのFI(a,b1,c1,d2,e,f,g2)が生成され、記憶部33に格納され、端末装置1−2へ送信される。尚、端末装置1−1はオフラインであるから、更新通知による更新有りのイベントは端末装置1−1へ通知されない。このときには、端末装置1−2及びストレージサーバ3は、同一のFI(a,b1,c1,d2,e,f,g2)及びこのFIのファイルxを保持しており、端末装置1−1は、更新前のFI(a,b,c,d,e,f,g)及び更新前のファイルを保持していることになる。
The
端末装置1−1において、ユーザによるファイル更新の操作が行われ、端末装置1−1がオフラインからオンラインに変更されたとする。更新によってファイルyが生成され、属性群(a,b3,c3,d,e,f,g)が生成されたとする。そうすると、端末装置1−1は、この属性群(a,b3,c3,d,e,f,g)を含むファイル操作通知を、ストレージサーバ3へ送信する。ストレージサーバ3における同期制御部32の操作種別特定部321は、端末装置1−1から受信したファイル操作通知を通信部31から入力し、図29に示した処理により、操作種別を「ファイル更新」に特定する。
It is assumed that a file update operation is performed by the user in the terminal device 1-1 and the terminal device 1-1 is changed from offline to online. It is assumed that the file y is generated by updating and the attribute group (a, b3, c3, d, e, f, g) is generated. Then, the terminal device 1-1 transmits a file operation notification including this attribute group (a, b3, c3, d, e, f, g) to the
衝突処理部324は、属性群に含まれるEタグdとFIに含まれるEタグd2とを比較し(ステップS3201)、Eタグが異なると判定し(ステップS3201:N)、ファイル衝突有りを判定する(ステップS3203)。そして、衝突処理部324は、端末装置1−2における操作種別及び端末装置1−1における操作種別が共に「ファイル更新」であるか否かを判定する(ステップS3204)。本例の場合、端末装置1−1,1−2における操作種別が「ファイル更新」であると判定し(ステップS3204:Y)、すなわち、端末装置1−2によるファイル更新が行われた後、端末装置1−1によるファイル更新が行われ、ファイル衝突有りの状態になっていると判定し、ファイル更新時の衝突回避の処理を行う。衝突処理部324は、ユーザ選択指令を通信部31に出力する。このユーザ選択指令は、APIサーバ2を介して、ファイル操作通知を送信してきた端末装置1−1へ送信される(ステップS3205)。これにより、端末装置1−1は、ユーザ選択指令を受信し、図16のステップS1613に示すように、ユーザによる「新規ファイル保存」「強制上書き」「破棄して最新取得」「キャンセル」の選択により、ユーザ選択種別を、APIサーバ2を介してストレージサーバ3へ送信する。
The
衝突処理部324は、端末装置1−1から受信したユーザ選択種別を通信部31から入力し、ユーザ選択種別を判別する(ステップS3206、ステップS3207)。図12(1)に示すように、衝突処理部324は、ユーザ選択種別「新規ファイル保存」を判別した場合、端末装置1−1からファイルyをアップロードし、新たなファイルとして記憶部33に格納する(ステップS3208)。そして、衝突処理部324は、Eタグd4及び更新日時g4を付与し(ステップS3209)、ファイルyを特定するためのユニークIDa4を付与すると共にファイル名e4も付与する(ステップS3210)。そして、衝突処理部324は、新たなFI(1)であるFI(a4,b3,c3,d4,e4、f,g4)を生成し、記憶部33に格納する(ステップS3211)。そして、衝突処理部324は、新たなFI(1)及び端末装置1−2により更新されたファイルxのFIを、ファイル操作通知を送信してきた端末装置1−1へ送信する(ステップS3212)。また、衝突処理部324は、図3に示したイベント通知シーケンスにより、FI(1)及びFIを端末装置1−2へ送信する。
The
このように、ストレージサーバ3の衝突処理部324は、端末装置1−1,1−2のファイル更新により、ファイル衝突有りを判定した場合、先に更新したファイルxに加えて後に更新したファイルyも記憶部33に格納し、FI及びFI(1)を端末装置1−1,1−2へ送信するようにした。これにより、端末装置1−1,1−2及びストレージサーバ3は、先に更新したファイルxのFI及び後に更新したファイルyのFI(1)をそれぞれ保持することができ、ファイル同期を確立することができる。つまり、ファイル同期システム10は、同一のファイルを更新して生成した異なるファイルx,yを管理することができ、ユーザは、端末装置1−1にて更新されたファイルy及び端末装置1−2にて更新されたファイルxを見失うことがない。
As described above, when the
図12(2)に示すように、衝突処理部324は、ユーザ選択種別「強制上書き」を判別した場合、端末装置1−1からファイルyをアップロードし、元のファイルを記憶部33から削除し、アップロードしたファイルyを新たなファイルとして記憶部33に格納する(ステップS3213)。そして、衝突処理部324は、Eタグd4及び更新日時g4を付与し(ステップS3214)、FI(a,b3,c3,d4,e,f,g4)を生成し、記憶部33に上書きする(ステップS3215)。そして、衝突処理部324は、生成したFIを、ファイル操作通知を送信してきた端末装置1−1へ送信する(ステップS3212)。また、衝突処理部324は、図3に示したイベント通知シーケンスにより、生成したFIを端末装置1−2へ送信する。
As illustrated in FIG. 12B, when the
このように、ストレージサーバ3の衝突処理部324は、端末装置1−1,1−2のファイル更新により、ファイル衝突有りを判定した場合、先に更新したファイルxを記憶部33から削除し、後に更新したファイルyを記憶部33に格納し、ファイルyのFIを端末装置1−1,1−2へ送信するようにした。これにより、端末装置1−1,1−2及びストレージサーバ3は、後に更新したファイルyのFIをそれぞれ保持することができ、ファイル同期を確立することができる。つまり、ファイル同期システム10は、後に更新したファイルyを管理することができる。
As described above, when the
図13(3)に示すように、衝突処理部324は、ユーザ選択種別「破棄して最新取得」を判別した場合、ファイルxのFI(a,b1,c1,d2,e,f,g2)を、ファイル操作通知を送信してきた端末装置1−1へ送信する(ステップS3212)。
As shown in FIG. 13 (3), when the
このように、ストレージサーバ3の衝突処理部324は、端末装置1−1,1−2のファイル更新により、ファイル衝突有りを判定した場合、先に更新したファイルxのFIを端末装置1−1へ送信するようにした。これにより、端末装置1−1,1−2及びストレージサーバ3は、先に更新したファイルxのFIをそれぞれ保持することができ、ファイル同期を確立することができる。つまり、ファイル同期システム10は、先に更新したファイルxを管理することができる。
As described above, when the
図13(4)に示すように、衝突処理部324は、ユーザ選択種別「キャンセル」を判別した場合、処理を行うことなく図32に示した処理を終了する。
As illustrated in FIG. 13 (4), when the
このように、ストレージサーバ3の衝突処理部324は、端末装置1−1,1−2のファイル更新により、ファイル衝突有りを判定した場合、処理を行わないようにした。これにより、端末装置1−2及びストレージサーバ3は、先に更新したファイルxのFIをそれぞれ保持することができ、ファイル同期を確立することができる。また、端末装置1−1は、ファイル操作通知を送信した際のファイルy及びFI(a,b3,c3,d,e,f,g)をそのままの状態で保持する。
As described above, the
以上のように、ストレージサーバ3における同期制御部32の衝突処理部324によれば、受信したファイル操作通知の属性群に含まれるEタグと、ストレージサーバ3の記憶部33にて保持しているFIに含まれるEタグとを比較し、Eタグが異なる場合にファイル衝突有りを判定し、先に更新したファイルxに加えて、後に更新したファイルyを記憶部33に格納し、ファイルxについてのFI及びファイルyについてのFI(1)を端末装置1へ送信するようにした。これにより、ファイル衝突の調整が確実に行われ、端末装置1及びストレージサーバ3は、同一のFIを保持することができるから、ファイル同期を確立することができ、ユーザは、ファイル衝突に伴ってファイルを見失うことがない。つまり、先にファイル操作をした端末装置1−2、及び後にファイル操作をした端末装置1−1において、自らの端末装置1において更新したファイルがストレージサーバ3に格納されると共に、他の端末装置1において更新されたファイルもストレージサーバ3に格納されるから、ファイル衝突が解消され、個々の端末装置1−1,1−2を操作するユーザは、ファイルを見失うことがない。前述のように、端末装置1−2がストレージサーバ3に接続され、端末装置1−1がストレージサーバ3に接続されていない場合において、端末装置1−2におけるファイル更新に伴ってストレージサーバ3にて生成されたFIと、後に端末装置1−1がストレージサーバ3に接続された場合の、端末装置1−1におけるファイル更新に伴ってストレージサーバ3へ送信された属性群とが比較され、ファイル衝突有りが判定される。そして、ストレージサーバ3において、2つのFI,FI(1)及び2つのファイルx,yが格納される。これにより、ファイル衝突が解消され、個々の端末装置1−1,1−2を操作するユーザは、ファイルを見失うことがない。
As described above, the
また、衝突処理部324は、ステップS3204において、端末装置1−1,1−2における操作種別が「ファイル更新」でないと判定した場合(ステップS3204:N)、他の操作に伴う衝突回避の処理を行う(ステップS3216)。例えば、図11に示した端末装置1−1,1−2において、端末装置1−1,1−2における操作が共に「ファイル移動」の場合や、端末装置1−2による先の操作が「ファイル移動」であり端末装置1−1による後の操作が「ファイル更新」の場合や、端末装置1−2による先の操作が「ファイル名変更」であり端末装置1−1による後の操作が「ファイル名変更」の場合や、端末装置1−2による先の操作が「ファイル削除」であり端末装置1−1による後の操作が「ファイル更新」の場合についても、先にファイル操作をした端末装置1−2、及び後にファイル操作をした端末装置1−1において、自らの端末装置1において更新したファイルがストレージサーバ3に格納されると共に、他の端末装置1において更新されたファイルもストレージサーバ3に格納される。尚、このとき、端末装置1−1,1−2における操作種別が「ファイル更新」の場合と同様に、衝突処理部324は、ユーザ選択指令を端末装置1−1へ送信し、ユーザによる選択を受け付けるようにしても良い。
If the
〔ファイルを分割した領域毎のファイル更新〕
次に、ファイルをアップロードする際に、ファイルを所定サイズに分割した領域毎に行うファイル更新の処理について説明する。図14は、領域毎にファイル更新を行う場合のシーケンスを説明する図である。
[File update for each divided area]
Next, a file update process performed for each area obtained by dividing a file into predetermined sizes when uploading the file will be described. FIG. 14 is a diagram for explaining a sequence in the case of updating a file for each area.
(領域毎のファイル更新/ファイル操作部/端末装置)
まず、図14を参照して、端末装置1におけるファイル処理部12の処理について説明する。図22は、端末装置1のファイル処理部12による領域毎にファイル更新を行う場合の処理を示すフローチャートである。ストレージサーバ3の記憶部33には、所定ファイル及びそのファイルのFI(a,b,c(1),・・・,c(5),d,e,f,g)が格納されているものとする。ハッシュ値c(1),・・・,c(5)は、所定ファイルを所定サイズに分割した領域における領域データに対応した値である。
(File update for each area / file operation unit / terminal device)
First, the processing of the
端末装置1−2におけるファイル処理部12のファイル操作部121は、ストレージサーバ3から所定ファイルのFI(a,b,c(1),・・・,c(5),d,e,f,g)を取得し、そのファイルをダウンロードし(ステップS2201)、ファイルを所定サイズに分割した領域の番号(領域番号1,・・・,5)毎のハッシュ値c(1),・・・,c(5)及び領域データを記憶部13の領域データファイルに格納する(ステップS2202)。
The
図21は、端末装置1の記憶部13に格納された領域データファイルの構成を示す図である。図21に示すように、領域データファイルは、領域番号毎のハッシュ値及び領域データにより構成される。
FIG. 21 is a diagram illustrating a configuration of the area data file stored in the
ここで、ユーザによりファイル更新の操作が行われ、ファイルのうちの領域番号3の領域データのみが更新されたとする(ステップS2203:Y)。そうすると、ファイル操作部121は、更新された領域番号3の領域データについてハッシュ値c1(3)を付与し、領域番号3に対応してハッシュ値c1(3)及び更新された領域データを記憶部13の領域データファイルに格納する(ステップS2204)。
Here, it is assumed that the file update operation is performed by the user, and only the area data of
属性処理部122は、ファイルサイズb1を付与し(ステップS2205)、記憶部13の領域データファイルからハッシュ値c(1),c(2),c1(3),c(4),c(5)を読み出し(ステップS2206)、属性群(a,b1,c(1),c(2),c1(3),c(4),c(5),d,e,f,g)を生成する(ステップS2207)。
The
属性処理部122は、ステップS2207において生成した属性群及び端末装置1−2の端末ID(PC−B)を含むファイル操作通知を通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS2208)。これにより、ストレージサーバ3は、ファイル操作通知を受信し、操作種別を「ファイル更新」に特定し、領域データが更新された領域番号3を特定し、領域番号3を含む領域データ送信指令を、APIサーバ2を介して端末装置1−2へ送信する。
The
ファイル操作部121は、ストレージサーバ3からAPIサーバ2を介して受信した領域データ送信指令を通信部11から入力し(ステップS2209)、記憶部13の領域データファイルから、領域データ送信指令に含まれる領域番号3のハッシュ値c1(3)及び領域データを読み出し(ステップS2210)、領域番号3、ハッシュ値c1(3)及び領域データを含む領域データ応答を生成し、通信部11に出力する。この領域データ応答は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS2211)。これにより、ストレージサーバ3は、領域データ応答を受信し、領域データを統合して記憶部33に格納し、通常のファイル更新の処理を行う。詳細については後述する。
The
(領域毎のファイル更新/ファイル・FI処理部/ストレージサーバ)
次に、図14を参照してストレージサーバ3におけるファイル・FI処理部322の処理について説明する。図34は、ストレージサーバ3のファイル・FI処理部322による領域毎にファイル更新を行う場合の処理を示すフローチャートである。
(File update per area / file / FI processing unit / storage server)
Next, processing of the file /
図33は、ストレージサーバ3の記憶部33に格納された領域データファイルの構成を示す図である。図33に示すように、領域データファイルは、ファイルを特定するためのユニークID毎に構成され、領域番号毎のハッシュ値及び領域データからなる。記憶部33には、ユニークIDaのファイルについて、領域番号毎のハッシュ値c(1),・・・,c(5)及び領域データが格納されているものとする。
FIG. 33 is a diagram showing the configuration of the area data file stored in the
ストレージサーバ3における同期制御部32の操作種別特定部321により、端末装置1−2から受信したファイル操作通知に基づいて操作種別が「ファイル更新」に特定されると(ステップS3401:Y)、ファイル・FI処理部322は、ファイル操作通知に含まれる属性群のハッシュ値と、ストレージサーバ3の記憶部33に格納されたユニークIDが同じFIのハッシュ値とを比較し、異なるハッシュ値c1(3)を選出して領域番号3を特定する(ステップS3402)。
When the operation
ファイル・FI処理部322は、領域番号3を含む領域データ送信指令を生成し、通信部31に出力する。この領域データ送信指令は、APIサーバ2を介して、ファイル操作通知を送信してきた端末装置1−2へ送信される(ステップS3403)。これにより、端末装置1−2は、前述のとおり、記憶部13の領域データファイルから、領域データ送信指令に含まれる領域番号3のハッシュ値c1(3)及び領域データを読み出し、領域番号3、ハッシュ値c1(3)及び領域データを含む領域データ応答をストレージサーバ3へ送信する。
The file /
ファイル・FI処理部322は、端末装置1−2から受信した領域データ応答を通信部31から入力し(ステップS3404)、記憶部33の領域データファイルに、領域データ応答に含まれる領域番号3に対応して、領域データファイルに含まれるハッシュ値c1(3)及び領域データを格納する(ステップS3405)。
The file /
ファイル・FI処理部322は、ファイル操作通知に含まれる属性群のハッシュ値のうち、ストレージサーバ3の記憶部33に格納されたユニークIDが同じFIに含まれる同じハッシュ値c(1),c(2),c(4),c(5)について、領域番号1,2,4,5を特定し、記憶部33の領域データファイルから、領域番号1,2,4,5の領域データを読み出す(ステップS3406)。
The file /
ファイル・FI処理部322は、受信した領域データ応答に含まれる領域番号3の領域データと、ステップS3406において読み出した領域番号1,2,4,5の領域データとを統合し(ステップS3407)、元のファイルを記憶部33から削除し、統合したファイルを記憶部33に格納する(ステップS3408)。このステップS3408の処理は、図30に示したステップS3006の処理に相当する。そして、ファイル・FI処理部322は、Eタグd2等を付与してFIを生成する等の処理を行う(ステップS3409)。このステップS3409の処理は、図30に示したステップS3007及びステップS3008の処理に相当する。
The file /
以上のように、端末装置1におけるファイル処理部12のファイル操作部121及び属性処理部122、並びにストレージサーバ3における同期制御部32のファイル・FI処理部322によれば、ファイルを所定サイズに分割した領域毎のハッシュ値及び領域データを含む領域データファイルを格納し、属性群及びFIに含まれるハッシュ値を領域毎のハッシュ値として扱うようにした。そして、端末装置1におけるファイル処理部12のファイル操作部121は、ストレージサーバ3から受信した領域データ送信指令に含まれる領域番号に従って、更新された領域データのみをストレージサーバ3へ送信するようにした。これにより、ファイルを構成する全データを送信する必要がないから、送信データ量を低減することができ、送信処理速度の向上を図ることができる。また、通信が中断した後再開した場合、ファイルを構成する全データを送信する必要がなく、更新された領域の領域データのみを送信すれば済むから、処理の効率化を図ることができる。
As described above, according to the
また、新規ファイルを端末装置1からストレージサーバ3へアップロードしているときにエラーが発生し、アップロードが完了しなかった場合には、端末装置1は、エラーが解除された後に、アップロードがされていない領域データのみを引き続きストレージサーバ3へアップロードすればよい。これにより、送信データ量の低減及び送信処理速度の向上を図ることができ、アップロードの処理の効率化を図ることができる。
Further, when an error occurs when uploading a new file from the
尚、前述した領域毎のファイル更新処理は、ファイルをアップロードする場合の処理であるが、ファイルをダウンロードする場合にも適用がある。すなわち、端末装置1は、ストレージサーバ3から受信したFIに含まれるハッシュ値及び端末装置1に格納されているFIに含まれるハッシュ値を比較し、更新された領域番号を特定し、その領域番号を含む領域データ送信指令をストレージサーバ3へ送信する。そして、ストレージサーバ3は、端末装置1から受信した領域データ送信指令に含まれる領域番号に従って、更新された領域データを記憶部33から読み出し、その領域データを含む領域データ応答を端末装置1へ送信する。
The file update process for each area described above is a process for uploading a file, but it can also be applied for downloading a file. That is, the
〔イベントサーバ〕
次に、図1及び図2に示したイベントサーバ4について詳細に説明する。図35は、イベントサーバ4の構成を示すブロック図である。このイベントサーバ4は、通信部41及び記憶部42を備えている。
[Event server]
Next, the
通信部41は、所定のプロトコルを用いてAPIサーバ2とコネクションサーバ5との間でデータの送受信を行う。通信部41は、コネクションサーバ5が管理している、ファイル同期システム10のネットワーク6にログインしている接続情報(ユーザID及び端末ID)を受信し、記憶部42に格納する。また、通信部41は、APIサーバ2から更新通知を受信し、記憶部42から接続情報を読み出し、更新通知に含まれる共有情報(ユーザID)及び送信元端末ID(ファイル操作が行われた端末装置1の端末ID)、並びに接続情報(ユーザID及び端末ID)に基づいて、更新有りのイベントを通知する端末装置1の端末IDを特定し、通知先の端末IDを含む更新指令をコネクションサーバ5へ送信する。
The
記憶部42には、接続情報が格納されている。接続情報は通信部41により格納され、また、読み出される。接続情報は、前述のとおり、コネクションサーバ5により管理される情報であり、端末装置1が、ユーザによりファイル同期システム10を構成するネットワーク6へログインした場合に、ログインしたユーザ及び接続された端末装置1に関するユーザID及び端末IDからなる情報である。すなわち、ユーザが使用している端末装置1に関するユーザID及び端末IDが対になったユーザ固有情報である。
The
図36は、記憶部42に格納された接続情報の構成を示す図である。前述のとおり、接続情報は、ユーザID及び端末IDが対になったユーザ固有情報であり、例えば、ユーザID:A及び端末ID:PC−Aの対情報、ユーザID:B及び端末ID:PC−Bの対情報である。図36に示した接続情報の例では、ファイル同期システム10のネットワーク6に、端末ID:PC−Aを有する端末装置1がユーザID:Aによりログインして接続されており、端末ID:PC−Bを有する端末装置1がユーザID:Bによりログインして接続されていることを示している。
FIG. 36 is a diagram illustrating a configuration of connection information stored in the
次に、図35に示したイベントサーバ4の処理について説明する。図37は、イベントサーバ4の処理を示すフローチャートである。イベントサーバ4の通信部41は、コネクションサーバ5から接続情報を受信したか否かを判定し(ステップS3701)、接続情報を受信したと判定した場合(ステップS3701:Y)、接続情報を記憶部42に格納する(ステップS3702)。一方、通信部41は、ステップS3701において、接続情報を受信していないと判定した場合(ステップS3701:N)、ステップS3703へ移行する。
Next, processing of the
通信部41は、ステップS3701から移行して、APIサーバ2から更新通知を受信したか否かを判定し(ステップS3703)、更新通知を受信したと判定した場合(ステップS3703:Y)、記憶部42から接続情報を読み出し、更新通知に含まれる共有情報(ユーザID)及び送信元端末ID(ファイル操作が行われた端末装置1の端末ID)、並びに接続情報に基づいて、更新有りのイベントを通知する端末装置1の端末IDを特定する(ステップS3704)。具体的には、通信部41は、接続情報(ユーザID及び端末ID)に基づいて、共有情報のユーザIDに対応する端末IDを特定し、特定した端末IDのうちの送信元端末ID(ファイル操作が行われた端末装置1の端末ID)以外の端末ID(APIサーバ2を介してストレージサーバ3に接続されている他の端末装置1)を、更新有りのイベントを通知する端末装置1の端末ID、すなわち通知先の端末IDとして特定する。
The
通信部41は、通知先の端末IDを含む更新指令をコネクションサーバ5へ出力する(ステップS3705)。
The
イベントサーバ4は、ステップS3702、ステップS3705から移行すると、またはステップS3703において更新通知を受信していないと判定した場合(ステップS3703:N)、処理を終了してステップS3701の処理を再度行う。
When the
〔コネクションサーバ〕
次に、図1及び図2に示したイベントサーバ5について詳細に説明する。図38は、コネクションサーバ5の構成を示すブロック図である。このコネクションサーバ5は、通信部51及び接続管理部52を備えている。
[Connection Server]
Next, the
通信部51は、所定のプロトコルを用いて端末装置1とイベントサーバ4との間でデータの送受信を行う。通信部51は、端末装置1からログイン情報(ユーザID及び端末ID)を受信して接続管理部52に出力し、接続管理部52から接続情報(ユーザID及び端末ID)を入力してイベントサーバ4へ送信する。また、通信部51は、イベントサーバ4から更新指令を受信し、更新指令に含まれる通知先の端末IDの端末装置1へ更新有りの情報を送信する。
The
接続管理部52は、通信部51からログイン情報を入力し、接続情報として管理し、接続情報を通信部51に出力する。
The
次に、図38に示したコネクションサーバ5の処理について説明する。図39は、コネクションサーバ5の処理を示すフローチャートである。コネクションサーバ5の通信部51は、端末装置1からログイン情報を受信したか否かを判定し(ステップS3901)、ログイン情報を受信したと判定した場合(ステップS3901:Y)、ログイン情報を接続管理部52に出力する。そして、接続管理部52は、通信部51からログイン情報を入力し、接続情報として管理し(ステップS3902)、接続情報を通信部51に出力する。通信部51は、接続管理部52から接続情報を入力し、イベントサーバ4へ送信する(ステップS3903)。一方、通信部51は、ステップS3901において、ログイン情報を受信していないと判定した場合(ステップS3901:N)、ステップS3904へ移行する。
Next, processing of the
通信部51は、ステップS3901から移行して、イベントサーバ4から更新指令を受信したか否かを判定し(ステップS3904)、更新指令を受信したと判定した場合(ステップS3904:Y)、更新指令に含まれる通知先の端末IDの端末装置1へ、更新有りの情報を送信する(ステップS3905)。
The
コネクションサーバ5は、ステップS3903、ステップS3905から移行すると、またはステップS3904において更新指令を受信していないと判定した場合(ステップS3904:N)、処理を終了してステップS3901の処理を再度行う。
When the
以上のように、本発明の実施形態によるファイル同期システム10によれば、端末装置1におけるファイル処理部12のアイコン表示部123は、ファイルのアップロード、アップロードの失敗及びダウンロードの状態を示すマーク、「新規ファイル作成」または「ファイルコピー」が他の端末装置1にて行われ、新たなファイルをストレージサーバ3からダウンロードしていない状態を示すマーク、及び、「ファイル更新」「ファイル名変更」または「ファイル移動」が他の端末装置1にて行われ、自らの端末装置1に古いファイルが保持されていることを示すマークを、それぞれの状態に応じてフォルダのアイコンに付加して表示するようにした。また、このマークを上位のフォルダへ伝搬表示するようにし、さらに、これらのマークを集約表示するようにした。これにより、ユーザは、ファイル操作を行う前に、フォルダのアイコンに付加して表示されたマークから、ファイル同期の状態を的確に認識することができる。したがって、ファイルに対する操作性を向上させることができる。
As described above, according to the
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、図2に示した例では、端末装置1−1は、APIサーバ2から上位フォルダのパスを受信し、上位フォルダのパスを含むFI取得要求を送信するようにした。これに対し、端末装置1−1は、上位フォルダのパスの代わりに、上位フォルダ内の共有ファイルのユニークIDを受信し、そのユニークIDを含むFI取得要求を送信するようにしてもよい。また、図1及び図2に示したファイル同期システム10において、イベントサーバ4及びコネクションサーバ5の機能をストレージサーバ3に持たせるようにしてもよい。この場合、ファイル同期システム10は、端末装置1、受信装置2及びストレージサーバ3により構成される。
The present invention has been described with reference to the embodiment. However, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the technical idea thereof. For example, in the example illustrated in FIG. 2, the terminal device 1-1 receives the upper folder path from the
尚、本発明の実施形態によるファイル同期システム10の端末装置1、APIサーバ2、ストレージサーバ3、イベントサーバ4及びコネクションサーバ5のハードウェア構成としては、通常のコンピュータを使用することができる。これらの装置は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。端末装置1に備えた通信部11及びファイル処理部12、APIサーバ2に備えた通信部21、ストレージサーバ3に備えた通信部31及び同期制御部32、イベントサーバ4に備えた通信部41、及びコネクションサーバ5に備えた通信部51の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもできる。
In addition, as a hardware configuration of the
1 端末装置
2 APIサーバ
3 ストレージサーバ
4 イベントサーバ
5 コネクションサーバ
6 ネットワーク
10 ファイル同期システム
11,21,31,41,51 通信部
12 ファイル処理部
13,22,33,42 記憶部
32 同期制御部
52 接続管理部
121 ファイル操作部
122 属性処理部
123 アイコン表示部
321 操作種別特定部
322 ファイル・FI処理部
323 FI送信部
324 衝突処理部
DESCRIPTION OF
Claims (7)
前記ストレージサーバが、フォルダ内のファイルを他の端末装置へダウンロードし、前記他の端末装置によるファイルへの操作に伴って、前記ファイルに対する新たな属性データを生成した場合に、
前記新たな属性データを前記ストレージサーバから受信するステップと、
前記受信した新たな属性データと前記保持している属性データとを比較するステップと、
前記属性データの違いに基づいて、前記他の端末装置によるファイルへの操作の種別に応じたマークの表示を決定するステップと、
前記決定したマークを上位のフォルダのアイコンに付加して表示するステップと、をコンピュータに実行させることを特徴とするプログラム。 In a system in which a plurality of terminal devices and a storage server having a folder accessible by the terminal device are connected via a network, attribute data defining attributes of files in the folder is received from the storage server. A program by the terminal device to hold,
When the storage server downloads the file in the folder to another terminal device and generates new attribute data for the file in accordance with the operation on the file by the other terminal device,
Receiving the new attribute data from the storage server;
Comparing the received new attribute data with the retained attribute data;
Determining the display of the mark according to the type of operation to the file by the other terminal device based on the difference in the attribute data ;
A program characterized by executing the steps of displaying by adding marks the determined icon-level folder, to a computer.
前記属性データは、少なくとも、前記ファイルを一意に特定するための値であって前記ストレージサーバにより付与されるユニークID、前記ファイルの大きさを示すファイルサイズ、前記ファイルの名称、及び、前記ファイルの所在であるフォルダ内のアドレスを示すファイルパスを含み、
前記受信した新たな属性データに含まれるユニークIDが、前記保持している属性データに含まれるユニークIDとは異なる新たなIDである場合に、前記他の端末装置によるファイルへの操作の種別は新規ファイル作成またはファイルコピーであると判定し、前記ユニークIDが同じであって前記ファイルサイズが異なる場合に、前記他の端末装置によるファイルへの操作の種別はファイル更新であると判定し、前記ファイル名が異なる場合に、前記他の端末装置によるファイルへの操作の種別はファイル名変更であると判定し、前記ファイルパスが異なる場合に、前記他の端末装置によるファイルへの操作の種別はファイル移動であると判定するステップと、
前記判定した操作の種別に応じたマークの表示を決定するステップと、
前記決定したマークを上位のフォルダのアイコンに付加して表示するステップと、をコンピュータに実行させることを特徴とするプログラム。 The program according to claim 1,
The attribute data is at least a value for uniquely specifying the file and is given by the storage server, a file size indicating the size of the file, the name of the file, and the file Contains a file path that indicates the address in the folder where it is located,
When the unique ID included in the received new attribute data is a new ID different from the unique ID included in the held attribute data, the type of operation to the file by the other terminal device is It is determined that the file is a new file creation or file copy, and when the unique ID is the same and the file size is different, it is determined that the type of operation to the file by the other terminal device is a file update, When the file name is different, it is determined that the type of operation to the file by the other terminal device is a file name change, and when the file path is different, the type of operation to the file by the other terminal device is Determining to be a file move;
Determining the display of the mark according to the determined type of operation;
A program for causing a computer to execute the step of adding the determined mark to an icon of a higher folder and displaying it .
前記ファイルへの操作の種別に応じたマークを、前記アイコンから上位のフォルダのアイコンへ伝搬させて表示するステップ、をコンピュータに実行させることを特徴とするプログラム。 In the program according to claim 1 or 2,
A program causing a computer to execute a step of propagating and displaying a mark corresponding to a type of operation on the file from the icon to an icon of a higher folder .
前記ファイルへの操作の種別に応じたマークを前記上位のフォルダのアイコンに付加して表示する際に、前記フォルダのアイコンの画像と、前記マークが前記アイコンの表示範囲内の所定位置に配置され前記マーク以外の箇所が透過した画像とを合成する、ことを特徴とするプログラム。 In the program according to any one of claims 1 to 3,
When a mark corresponding to the type of operation on the file is added to the icon of the upper folder and displayed, the image of the folder icon and the mark are arranged at a predetermined position within the display range of the icon. A program for synthesizing an image through which a portion other than the mark is transmitted .
複数のファイルへの操作の種別に応じたそれぞれの前記マークを前記上位のフォルダのアイコンに付加して表示する際に、前記それぞれのマークを、前記アイコンの表示範囲内で互いに重ならないように表示する、ことを特徴とするプログラム。 In the program according to any one of claims 1 to 4,
When each mark corresponding to the type of operation on a plurality of files is added to the icon of the upper folder and displayed, the marks are displayed so as not to overlap each other within the display range of the icon. A program characterized by that.
前記ストレージサーバが、フォルダ内のファイルを他の端末装置へダウンロードし、前記他の端末装置によるファイルへの操作に伴って、前記ファイルに対する新たな属性データを生成した場合に、
前記新たな属性データを前記ストレージサーバから受信するステップと、
前記受信した新たな属性データと前記保持している属性データとを比較するステップと、
前記属性データの違いに基づいて、前記他の端末装置によるファイルへの操作の種別に応じたマークの表示を決定するステップと、
前記決定したマークを上位のフォルダのアイコンに付加して表示するステップと、
を有することを特徴とするアイコン表示方法。 A plurality of terminal devices, and have your system where storage server connected via a network with an accessible folder by the terminal device, and receives the attribute data attributes are defined in the files in the folder from the storage server An icon display method of the terminal device for displaying a predetermined mark on the icon of the upper folder to which the file belongs ,
When the storage server downloads the file in the folder to another terminal device and generates new attribute data for the file in accordance with the operation on the file by the other terminal device,
Receiving the new attribute data from the storage server;
Comparing the received new attribute data with the retained attribute data;
Determining the display of the mark according to the type of operation to the file by the other terminal device based on the difference in the attribute data ;
Adding the determined mark to the icon of the upper folder and displaying it;
An icon display method characterized by comprising:
前記ストレージサーバは、
前記フォルダに属するファイルが格納された記憶部と、
前記記憶部に格納されたファイルを前記端末装置へダウンロードし、前記ファイルがダウンロードされた端末装置による前記ファイルへの操作に伴って、前記ファイルに対する新たな属性データを生成し、前記新たな属性データを送信する送信部と、を備え、
前記端末装置は、
ファイルが格納された記憶部と、
前記記憶部に格納されたファイルの属性データと、前記ストレージサーバから受信した新たな属性データとを比較し、前記属性データの違いに基づいて、前記ファイルがダウンロードされた他の端末装置によるファイルへの操作の種別に応じたマークを決定し、前記マークを上位のフォルダのアイコンに付加して表示するアイコン表示部と、を備えたことを特徴とするシステム。 In a system in which a storage server having a plurality of terminal devices and a folder accessible by the terminal device is connected via a network,
The storage server
A storage unit storing files belonging to the folder;
A file stored in the storage unit is downloaded to the terminal device, and new attribute data for the file is generated in accordance with an operation on the file by the terminal device from which the file is downloaded, and the new attribute data And a transmission unit for transmitting
The terminal device
A storage unit storing files;
The attribute data of the file stored in the storage unit is compared with the new attribute data received from the storage server , and based on the difference of the attribute data, the file is downloaded to another terminal device. And an icon display unit for determining a mark according to the type of operation and adding the mark to an icon of a higher-order folder.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010222970A JP5328739B2 (en) | 2010-09-30 | 2010-09-30 | Icon display program, method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010222970A JP5328739B2 (en) | 2010-09-30 | 2010-09-30 | Icon display program, method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012079043A JP2012079043A (en) | 2012-04-19 |
JP5328739B2 true JP5328739B2 (en) | 2013-10-30 |
Family
ID=46239228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010222970A Active JP5328739B2 (en) | 2010-09-30 | 2010-09-30 | Icon display program, method and system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5328739B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105323296A (en) * | 2014-06-11 | 2016-02-10 | 富士施乐株式会社 | Communication terminal, communication system, control terminal, and communication method |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6041991B2 (en) * | 2012-09-18 | 2016-12-14 | ノキア テクノロジーズ オーユー | Method, apparatus, and computer program for providing protocol for resolving synchronization collision during synchronization between multiple devices |
US10303658B2 (en) * | 2013-11-25 | 2019-05-28 | Dropbox, Inc. | Generating and sharing metadata for indexing synchronized content items |
US10831715B2 (en) | 2015-01-30 | 2020-11-10 | Dropbox, Inc. | Selective downloading of shared content items in a constrained synchronization system |
US9361349B1 (en) | 2015-01-30 | 2016-06-07 | Dropbox, Inc. | Storage constrained synchronization of shared content items |
US10001913B2 (en) * | 2015-04-01 | 2018-06-19 | Dropbox, Inc. | Shared workspaces with selective content item synchronization |
US10963430B2 (en) | 2015-04-01 | 2021-03-30 | Dropbox, Inc. | Shared workspaces with selective content item synchronization |
US9922201B2 (en) | 2015-04-01 | 2018-03-20 | Dropbox, Inc. | Nested namespaces for selective content sharing |
US9571573B1 (en) | 2015-10-29 | 2017-02-14 | Dropbox, Inc. | Peer-to-peer synchronization protocol for multi-premises hosting of digital content items |
US10691718B2 (en) | 2015-10-29 | 2020-06-23 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
US9537952B1 (en) | 2016-01-29 | 2017-01-03 | Dropbox, Inc. | Apparent cloud access for hosted content items |
US10049145B2 (en) | 2016-04-25 | 2018-08-14 | Dropbox, Inc. | Storage constrained synchronization engine |
JP6570761B2 (en) * | 2016-04-25 | 2019-09-04 | ドロップボックス, インコーポレイテッド | Synchronization engine with storage constraints |
US10719532B2 (en) | 2016-04-25 | 2020-07-21 | Dropbox, Inc. | Storage constrained synchronization engine |
JP6847498B2 (en) | 2019-07-22 | 2021-03-24 | 丸紅Itソリューションズ株式会社 | Configuration information display system, method, and program that displays configuration information about remote resources |
CN110515507B (en) * | 2019-08-16 | 2021-03-19 | 维沃移动通信有限公司 | Icon display method and terminal |
US11290531B2 (en) | 2019-12-04 | 2022-03-29 | Dropbox, Inc. | Immediate cloud content item creation from local file system interface |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007336212A (en) * | 2006-06-14 | 2007-12-27 | Canon Inc | Information duplication method and system |
-
2010
- 2010-09-30 JP JP2010222970A patent/JP5328739B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105323296A (en) * | 2014-06-11 | 2016-02-10 | 富士施乐株式会社 | Communication terminal, communication system, control terminal, and communication method |
US10223373B2 (en) | 2014-06-11 | 2019-03-05 | Fuji Xerox Co., Ltd. | Communication terminal, communication system, control terminal, non-transitory computer readable medium, and communication method |
CN105323296B (en) * | 2014-06-11 | 2019-10-22 | 富士施乐株式会社 | Communication terminal, communication system, controlling terminal and communication means |
US10877939B2 (en) | 2014-06-11 | 2020-12-29 | Fuji Xerox Co., Ltd. | Communication terminal, communication system, control terminal, non-transitory computer readable medium, and communication method |
Also Published As
Publication number | Publication date |
---|---|
JP2012079043A (en) | 2012-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5328739B2 (en) | Icon display program, method and system | |
JP5356350B2 (en) | File transmission / reception system, terminal device, storage server, file transmission / reception method and program | |
JP5289407B2 (en) | File synchronization system, method and program | |
US11985192B2 (en) | Synchronized content library | |
EP3408744B1 (en) | Providing access to a hybrid application offline | |
EP2976871B1 (en) | Local server for synced online content management system | |
EP3278539B1 (en) | Shared workspaces with selective content item synchronization | |
US9019123B2 (en) | Health check services for web-based collaboration environments | |
JP5548825B2 (en) | Information processing device | |
JP6810172B2 (en) | Distributed data system with document management and access control | |
JP6186015B2 (en) | Share content items | |
US20170330149A1 (en) | Implementing a consistent ordering of operations in collaborative editing of shared content items | |
JP6482602B2 (en) | Predictive storage service | |
US9374326B2 (en) | Providing information for shared content | |
JP2012079047A (en) | File access program, method and system | |
WO2014193911A1 (en) | Access permissions for shared content | |
JP2016529599A (en) | Content clipboard synchronization | |
JP2008197745A (en) | Storage control device in storage virtualization system | |
US20210279073A1 (en) | Systems and methods for automated and distributed configuration of computing devices | |
JP5356351B2 (en) | Storage server, file synchronization system, file collision processing method and program | |
US11966462B2 (en) | Malicious dependency prevention | |
GB2498047A (en) | Managing updates at clients in a cloud-based collaboration service | |
JP2016057806A (en) | Access control system, access control method, access control program, and recording medium utilizing file sharing | |
JP7124014B2 (en) | Data management system, control method | |
JP6727925B2 (en) | Data management system, control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121003 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121012 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121204 |
|
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: 20130710 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130723 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5328739 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |