JP5328739B2 - Icon display program, method and system - Google Patents

Icon display program, method and system Download PDF

Info

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
Application number
JP2010222970A
Other languages
Japanese (ja)
Other versions
JP2012079043A (en
Inventor
衣織 西田
和幸 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2010222970A priority Critical patent/JP5328739B2/en
Publication of JP2012079043A publication Critical patent/JP2012079043A/en
Application granted granted Critical
Publication of JP5328739B2 publication Critical patent/JP5328739B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To allow a user using a terminal device to recognize a state of file synchronization so as to improve operability for files. <P>SOLUTION: An icon display part 123 of a terminal device 1 displays a mark showing a file uploading, a failure in uploading and a state of downloading, a mark showing a state in which "create a new file" or "copy the file" is performed in other terminal device 1 and a new file is not downloaded from a storage server 3, and a mark showing that "update the file," "change the file name" or "move the file" is performed in other terminal device 1 and the old file is held in the own terminal device 1, by adding it onto an icon of the file and/or an icon of the folder in response to each state. The icon display part 123 propagates this mark to a superior folder for the integral display. <P>COPYRIGHT: (C)2012,JPO&amp;INPIT

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 Patent Documents 2 and 3). Processing for making these two files have the same data is called file synchronization. In general, file synchronization refers to processing performed on each device in order to make files existing in two or more devices into data of the same content. For example, when a file held by the terminal device is changed, the terminal device transmits the change information to the server, and the server changes the file held by the terminal device based on the change information. By such file synchronization, synchronization can be established between the file stored in the terminal device and the file stored in the server.

このようなファイル同期システムに前述のアイコン表示技術を適用した場合を想定すると、例えば、端末装置は、ファイルのダウンロードまたはアップロードに失敗したときに、そのファイルが属するフォルダのアイコンにエラーマークを付加して表示する。これにより、ユーザは、ファイルにエラーが発生したことを、アイコンの表示から認識することができる。   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.

特開2010−160741号公報JP 2010-160741 A 特開2009−64115号公報JP 2009-64115 A 特開2006−99730号公報JP 2006-99730 A

前述のファイル同期システムには、通常、ファイルの同期を確立するための工程がある。しかしながら、端末装置を使用しているユーザは、ファイルのアイコン及びフォルダのアイコンの表示だけでは、ファイル同期の進捗状況、ファイル同期によって発生したエラー等を的確に認識することができない。例えば、ユーザがサーバから端末装置へファイルをダウンロードした後、他の端末装置を使用する他のユーザによって、サーバに格納されたそのファイルが更新された場合に、そのユーザは、ダウンロードしたファイルを操作する前に、ファイルが既に古くなっていることを認識できることが望ましい。   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 claim 1 is directed to a system in which a plurality of terminal devices and a storage server having a folder accessible by the terminal devices are connected via a network. A program by the terminal device that receives and holds attribute data in which an attribute of the file is defined, wherein the storage server downloads a file in a folder to another terminal device, and the file by the other terminal device When new attribute data for the file is generated as a result of the operation, the step of receiving the new attribute data from the storage server, the received new attribute data, and the retained attribute data And the other based on the difference in the attribute data Determining the display of marks corresponding to the type of operation to the file by the terminal device, characterized in that to execute the steps, to the computer to display by adding marks the determined icon level folders In the program.

また、請求項2の発明は、請求項1に記載のプログラムにおいて、前記属性データは、少なくとも、前記ファイルを一意に特定するための値であって前記ストレージサーバにより付与されるユニークID、前記ファイルの大きさを示すファイルサイズ、前記ファイルの名称、及び、前記ファイルの所在であるフォルダ内のアドレスを示すファイルパスを含み、前記受信した新たな属性データに含まれるユニークIDが、前記保持している属性データに含まれるユニークIDとは異なる新たなIDである場合に、前記他の端末装置によるファイルへの操作の種別は新規ファイル作成またはファイルコピーであると判定し、前記ユニークIDが同じであって前記ファイルサイズが異なる場合に、前記他の端末装置によるファイルへの操作の種別はファイル更新であると判定し、前記ファイル名が異なる場合に、前記他の端末装置によるファイルへの操作の種別はファイル名変更であると判定し、前記ファイルパスが異なる場合に、前記他の端末装置によるファイルへの操作の種別はファイル移動であると判定するステップと、前記判定した操作の種別に応じたマークの表示を決定するステップと、前記決定したマークを上位のフォルダのアイコンに付加して表示するステップと、をコンピュータに実行させることを特徴とする。 The invention according to claim 2 is the program according to claim 1, wherein the attribute data is at least a value for uniquely specifying the file, and is a unique ID assigned by the storage server, the file Including the file size indicating the size of the file, the name of the file, and the file path indicating the address in the folder where the file is located, and the unique ID included in the received new attribute data is If the new ID is different from the unique ID included in the attribute data, it is determined that the type of operation to the file by the other terminal device is new file creation or file copy, and the unique ID is the same. If the file size is different, the type of operation to the file by the other terminal device is When it is determined that the file is updated and 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 other terminal A step of determining that the type of operation to the file by the device is a file move, a step of determining display of a mark according to the determined type of operation, and adding the determined mark to an icon of a higher folder. And causing the computer to execute the display step .

また、請求項3の発明は、請求項1または2に記載のプログラムにおいて、前記ファイルへの操作の種別に応じたマークを、前記アイコンから上位のフォルダのアイコンへ伝搬させて表示するステップ、をコンピュータに実行させることを特徴とする。 The invention according to claim 3 is the program according to claim 1 or 2, wherein a mark corresponding to the type of operation on the file is propagated from the icon to an icon of a higher folder and displayed. The computer is executed.

また、請求項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 claim 5 is the program according to any one of claims 1 to 4 , wherein each mark corresponding to a type of operation on a plurality of files is added to the icon of the upper folder. When displaying, the respective marks are displayed so as not to overlap each other within the display range of the icon .

また、請求項6の発明は、複数の端末装置、及び前記端末装置によりアクセス可能なフォルダを備えたストレージサーバがネットワークを介して接続されたシステムにおいて、ストレージサーバからフォルダ内のファイルの属性が定義された属性データを受信して保持し、前記ファイルが属する上位のフォルダのアイコンに所定のマークを付加して表示する前記端末装置のアイコン表示方法であって、前記ストレージサーバが、フォルダ内のファイルを他の端末装置へダウンロードし、前記他の端末装置によるファイルへの操作に伴って、前記ファイルに対する新たな属性データを生成した場合に、前記新たな属性データを前記ストレージサーバから受信するステップと、前記受信した新たな属性データと前記保持している属性データとを比較するステップと、前記属性データの違いに基づいて、前記他の端末装置によるファイルへの操作の種別に応じたマークの表示を決定するステップと、前記決定したマークを上位のフォルダのアイコンに付加して表示するステップと、を有することを特徴とする。 The invention of claim 6, a plurality of terminal devices, and have your system where storage server connected via a network with an accessible folder by the terminal device, the attributes of files in the folder from the storage server The terminal device icon display method for receiving and holding defined attribute data and adding a predetermined mark to an icon of a higher-level folder to which the file belongs , wherein the storage server stores the attribute data in the folder The file is downloaded to another terminal device, and the new attribute data is received from the storage server when new attribute data for the file is generated in accordance with the operation on the file by the other terminal device. A step and a ratio between the received new attribute data and the stored attribute data. A step of, based on differences in the attribute data, determining the display of marks corresponding to the type of the operation to the file by the other terminal devices, adds a mark to the determined icon level folders And displaying it.

また、請求項7の発明は、複数の端末装置、及び前記端末装置によりアクセス可能なフォルダを備えたストレージサーバがネットワークを介して接続されたシステムにおいて、前記ストレージサーバが、前記フォルダに属するファイルが格納された記憶部と、前記記憶部に格納されたファイルを前記端末装置へダウンロードし、前記ファイルがダウンロードされた端末装置による前記ファイルへの操作に伴って、前記ファイルに対する新たな属性データを生成し、前記新たな属性データを送信する送信部と、を備え、前記端末装置が、ファイルが格納された記憶部と、前記記憶部に格納されたファイルの属性データと、前記ストレージサーバから受信した新たな属性データとを比較し、前記属性データの違いに基づいて、前記ファイルがダウンロードされた他の端末装置によるファイルへの操作の種別に応じたマークを決定し、前記マークを上位のフォルダのアイコンに付加して表示するアイコン表示部と、を備えたことを特徴とする。 Further, the invention of claim 7 is 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, and the storage server includes a file belonging to the folder. The stored storage unit and the file stored in the storage unit are downloaded to the terminal device, and new attribute data for the file is generated in accordance with the operation of the file by the terminal device from which the file has been downloaded. A transmission unit that transmits the new attribute data, and the terminal device receives the storage unit storing the file, the attribute data of the file stored in the storage unit, and the storage server Compare with the new attribute data, and the file is downloaded based on the difference in the attribute data. Determine the marks corresponding to the type of the operation to the file by another terminal apparatus loaded, characterized in that and a icon display unit for displaying by adding the mark icon level folder.

以上のように、本発明によれば、ファイル同期の状態を、ファイルの属する上位フォルダのアイコンに付加して表示するようにした。これにより、端末装置を使用しているユーザは、ファイル操作を行う前に、そのファイルの状態を的確に認識することができ、操作性を向上させることができる。   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.

本発明の実施形態によるファイル同期システムの全体構成を示す図である。1 is a diagram showing an overall configuration of a file synchronization system according to an embodiment of the present invention. 本発明の実施形態によるファイル同期システムにおけるファイル操作時の情報の流れを示す図である。It is a figure which shows the flow of the information at the time of file operation in the file synchronization system by embodiment of this invention. イベント通知シーケンスを説明する図である。It is a figure explaining an event notification sequence. ファイルインデックス(以下、FIという。)の構成を示す図である。It is a figure which shows the structure of a file index (henceforth FI). 新規ファイル作成時のFIの変遷を説明する図である。It is a figure explaining transition of FI at the time of new file creation. ファイル更新時のFIの変遷を説明する図である。It is a figure explaining transition of FI at the time of file update. ファイル削除時のFIの変遷を説明する図である。It is a figure explaining transition of FI at the time of file deletion. ファイル名変更時のFIの変遷を説明する図である。It is a figure explaining transition of FI at the time of file name change. ファイル移動時のFIの変遷を説明する図である。It is a figure explaining transition of FI at the time of file movement. ファイルコピー時のFIの変遷を説明する図である。It is a figure explaining transition of FI at the time of file copy. ファイル衝突時のシーケンスを説明する図である。It is a figure explaining the sequence at the time of a file collision. ファイル衝突時のシーケンス(続き1)を説明する図である。It is a figure explaining the sequence (continuation 1) at the time of a file collision. ファイル衝突時のシーケンス(続き2)を説明する図である。It is a figure explaining the sequence (continuation 2) at the time of a file collision. ファイル更新時のシーケンス(領域毎の更新処理)を説明する図である。It is a figure explaining the sequence at the time of file update (update process for every area | region). 端末装置の構成を示すブロック図である。It is a block diagram which shows the structure of a terminal device. 端末装置の処理を示すフローチャートである。It is a flowchart which shows the process of a terminal device. 端末装置における属性処理部の処理(ファイル操作通知生成処理)を示すフローチャートである。It is a flowchart which shows the process (file operation notification production | generation process) of the attribute process part in a terminal device. ファイル操作により付与される属性の一覧を示す図である。It is a figure which shows the list of the attributes provided by file operation. 端末装置におけるアイコン表示部の処理(状態表示)を示すフローチャートである。It is a flowchart which shows the process (status display) of the icon display part in a terminal device. アイコンの表示例を示す図である。It is a figure which shows the example of a display of an icon. 端末装置の記憶部に格納された領域データファイルの構成を示す図である。It is a figure which shows the structure of the area | region data file stored in the memory | storage part of the terminal device. 端末装置におけるファイル処理部のファイル更新処理(領域毎の更新処理)を示すフローチャートである。It is a flowchart which shows the file update process (update process for every area | region) of the file processing part in a terminal device. APIサーバの構成を示すブロック図である。It is a block diagram which shows the structure of an API server. APIサーバの記憶部に格納された更新通知の構成を示す図である。It is a figure which shows the structure of the update notification stored in the memory | storage part of an API server. APIサーバの処理を示すフローチャートである。It is a flowchart which shows the process of an API server. ストレージサーバの構成を示すブロック図である。It is a block diagram which shows the structure of a storage server. ストレージサーバの記憶部に格納された共有フォルダ情報の構成を示す図である。It is a figure which shows the structure of the shared folder information stored in the memory | storage part of a storage server. ストレージサーバの処理を示すフローチャートである。It is a flowchart which shows the process of a storage server. ストレージサーバにおける操作種別特定部の処理を示すフローチャートである。It is a flowchart which shows the process of the operation classification specific | specification part in a storage server. ストレージサーバにおけるファイル・FI処理部の処理を示すフローチャートである。It is a flowchart which shows the process of the file and FI process part in a storage server. ストレージサーバにおけるFI送信部の処理を示すフローチャートである。It is a flowchart which shows the process of the FI transmission part in a storage server. ストレージサーバにおける衝突処理部の処理を示すフローチャートである。It is a flowchart which shows the process of the collision process part in a storage server. ストレージサーバの記憶部に格納された領域データファイルの構成を示す図である。It is a figure which shows the structure of the area | region data file stored in the memory | storage part of a storage server. ストレージサーバにおけるファイル・FI処理部のファイル更新処理(領域毎の更新処理)を示すフローチャートである。It is a flowchart which shows the file update process (update process for every area | region) of the file and FI process part in a storage server. イベントサーバの構成を示すブロック図である。It is a block diagram which shows the structure of an event server. イベントサーバの記憶部に格納された接続情報の構成を示す図である。It is a figure which shows the structure of the connection information stored in the memory | storage part of an event server. イベントサーバの処理を示すフローチャートである。It is a flowchart which shows the process of an event server. コネクションサーバの構成を示すブロック図である。It is a block diagram which shows the structure of a connection server. コネクションサーバの処理を示すフローチャートである。It is a flowchart which shows the process of a connection server. ストレージサーバに備えたフォルダの階層構造の例を示す図である。It is a figure which shows the example of the hierarchical structure of the folder with which the storage server was equipped. フォルダインデックスの構成を示す図である。It is a figure which shows the structure of a folder index. フォルダEのフォルダインデックスを示す図である。6 is a diagram showing a folder index of a folder E. FIG. ストレージサーバにおける操作種別特定部の他の処理を示すフローチャートである。It is a flowchart which shows the other process of the operation classification specific | specification part in a storage server.

以下、本発明を実施するための形態について図面を用いて詳細に説明する。本発明は、ファイル同期の状態を、ファイルの属する上位フォルダのアイコンに付加して表示することを特徴とする。これにより、端末装置を使用しているユーザは、ファイル操作を行う前に、そのファイルの状態を的確に認識することができ、操作性を向上させることができる。尚、本発明は、以下に示すファイル同期システムに適用されるが、このファイル同期システムは一例であり、他のシステムにも適用がある。   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 file synchronization system 10 includes a plurality of terminal devices 1-1, 1-2,..., An API (Application Program Interface) server 2, a storage server 3, an event server 4, and a connection server 5. The plurality of terminal devices 1-1, 1-2,..., The API server 2, the storage server 3, the event server 4, and the connection server 5 are connected via a network 6, respectively. In FIG. 1, only one API server 2, storage server 3, event server 4, and connection server 5 are shown for convenience of explanation, but there may be a plurality of units depending on the scale of the file synchronization system 10. . Further, the API server 2 and the storage server 3 may be configured as a single storage server, and the event server 4 and the connection server 5 may be configured as a single event notification server. The network 6 is, for example, a communication network such as the Internet or a LAN (Local Area Network).

端末装置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 terminal device 1 is a mobile terminal, the terminal device 1 is connected to the network 6 via a wireless communication network and a relay server. The terminal device 1 is a device used by a user who can access a folder provided in the storage server 3, and logs in to the network 6 constituting the file synchronization system 10 in accordance with a user operation. In addition, the terminal device 1 performs a file operation by the user, and downloads a file in a folder from the storage server 3 or uploads a new file or an updated file to the storage server 3.

APIサーバ2は、端末装置1とストレージサーバ3との間で、及び、ストレージサーバ3とイベントサーバ4との間でデータ送受信の橋渡しを行う。例えば、端末装置1がWebブラウザを用いてHTTP(HyperText Transfer Protocol)通信を行う場合、HTTP通信の処理を行い、ストレージサーバ3との間でデータを受け渡す。   The API server 2 bridges data transmission / reception between the terminal device 1 and the storage server 3 and between the storage server 3 and the event server 4. For example, when the terminal device 1 performs HTTP (HyperText Transfer Protocol) communication using a Web browser, the terminal device 1 performs HTTP communication processing and transfers data to and from the storage server 3.

ストレージサーバ3は、端末装置1によりアクセス可能なフォルダを備えており、フォルダ内のファイル、及びフォルダへアクセス可能なユーザを管理する。また、ファイル同期のために用いるFIを、フォルダ内のファイルに対応付けて管理する。   The storage server 3 includes a folder that can be accessed by the terminal device 1, and manages the files in the folder and the users who can access the folder. Also, the FI used for file synchronization is managed in association with the files in the folder.

イベントサーバ4は、ネットワーク6にログインしている端末装置1及びユーザに関する情報(端末装置1及びユーザに関する情報をユーザ固有情報という。)をコネクションサーバ5から受信して格納する。また、イベントサーバ4は、ストレージサーバ3に格納されているFIが更新された場合、その更新有りのイベントを通知する通知先の端末装置1を特定し、その更新されたことを示す情報をイベント情報として、コネクションサーバ5を介して端末装置1へ通知する。   The event server 4 receives from the connection server 5 and stores information related to the terminal device 1 and the user logged in to the network 6 (information related to the terminal device 1 and the user is referred to as user-specific information). In addition, when the FI stored in the storage server 3 is updated, the event server 4 identifies the notification destination terminal device 1 that notifies the updated event, and displays information indicating that the event has been updated. Information is notified to the terminal device 1 via the connection server 5.

コネクションサーバ5は、端末装置1が、ユーザによりファイル同期システム10を構成するネットワーク6へログインした場合、ログインしたユーザ及び接続された端末装置1のユーザ固有情報を接続情報として管理する。すなわち、コネクションサーバ5は、ストレージサーバ3に備えたフォルダへアクセスしているユーザ、及びこのユーザが使用している端末装置1に関するユーザ固有情報を接続情報として管理する。   When the terminal device 1 logs in to the network 6 constituting the file synchronization system 10 by the user, the connection server 5 manages the logged-in user and user-specific information of the connected terminal device 1 as connection information. That is, the connection server 5 manages, as connection information, the user accessing the folder provided in the storage server 3 and the user specific information related to the terminal device 1 used by the user.

〔ファイル操作時の情報の流れ〕
次に、図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 terminal device 1 in the file synchronization system 10 shown in FIG. 1 will be described. FIG. 2 is a diagram showing a flow of information at the time of file operation. In FIG. 2, the user (user ID: A) uses the terminal device 1-1 (terminal ID: PC-A), and the user (user ID: B) uses the terminal device 1-2 (terminal ID: PC-B). , And the terminal devices 1-1 and 1-2 are connected to the storage server 3 via the API server 2.

(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 file synchronization system 10, the terminal device 1-1 is connected to the network of the file synchronization system 10. Log in to 6. Thereby, login information (user ID: A, terminal ID: PC-A) is transmitted from the terminal device 1-1 to the connection server 5. When a user using the terminal device 1-2 executes a similar application program, the terminal device 1-2 logs in to the network 6 of the file synchronization system 10. Thereby, login information (user ID: B, terminal ID: PC-B) is transmitted from the terminal device 1-2 to the connection server 5. Although not shown, the connection server 5 uses the login information received from the terminal devices 1-1 and 1-2 as connection information from the terminal devices 1-1 and 1-2 to the storage server 3. Send to.

また、端末装置1−1,1−2は、APIサーバ2を介してストレージサーバ3へアクセスし、共有フォルダに属するファイルのFIを、APIサーバ2を介して受信し、共有フォルダ及び共有フォルダに属するファイルのアイコンを表示する。   Also, the terminal devices 1-1 and 1-2 access the storage server 3 via the API server 2, receive the FIs of files belonging to the shared folder via the API server 2, and store them in the shared folder and shared folder. Displays the icon of the file to which it belongs.

(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 API server 2. The attribute group includes a plurality of attributes that differ depending on the type of file operation. When the API server 2 receives the file operation notification from the terminal device 1-2, the API server 2 transmits the received file operation notification to the storage server 3.

ストレージサーバ3は、APIサーバ2からファイル操作通知を受信すると、ファイル操作の種別を特定し、ファイル操作の種別に応じた処理(新規ファイルの格納、ファイルの更新、ファイルの削除等)を行い、ファイル操作が行われたファイルについての新たなFIを生成する。そして、ストレージサーバ3は、ファイル操作が行われた端末装置1−2以外の他の端末装置1−1へFIが更新されたことを通知するための更新通知(イベント種類(更新有り)、共有情報(ユーザID:A,B)、上位フォルダのパス(ファイル操作が行われたファイルの属するフォルダ)、送信元端末ID(PC−B))を生成する。ここで、共有情報は、共有フォルダへのアクセスが許可されているユーザのユーザIDであり、上位フォルダのパスは、ファイル操作が行われたファイルの属するフォルダの所在を示すパスである。更新通知の詳細については後述する。   When the storage server 3 receives the file operation notification from the API server 2, the storage server 3 identifies the type of file operation, performs processing according to the type of file operation (store new file, update file, delete file, etc.) A new FI is generated for the file on which the file operation was performed. Then, the storage server 3 updates the notification (event type (updated), shared) to notify the other terminal device 1-1 other than the terminal device 1-2 on which the file operation is performed that the FI has been updated. Information (user ID: A, B), upper folder path (folder to which file operation has been performed), transmission source terminal ID (PC-B)) are generated. Here, the shared information is a user ID of a user who is permitted to access the shared folder, and the upper folder path is a path indicating the location of the folder to which the file on which the file operation is performed belongs. Details of the update notification will be described later.

(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 storage server 3 transmits the generated new FI to the API server 2. Then, the API server 2 transmits the FI received from the storage server 3 to the terminal device 1-2. In this case, the API server 2 receives the terminal ID: PC-B of the terminal device 1-2 on which the file operation is performed together with the FI, thereby determining the FI transmission destination. The terminal device 1-2 receives a new FI from the API server 2.

図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 storage server 3 transmits an update notification to the API server 2. When the API server 2 receives the update notification from the storage server 3, the API server 2 stores the update notification and transmits the update notification to the event server 4.

(6)更新指令
イベントサーバ4は、更新通知を受信すると、格納している接続情報を参照し、更新通知に含まれる共有情報(ユーザID:A,B)及び送信元端末ID(PC−B)に基づいて、この更新のイベントを通知する通知先の端末装置1−1(端末ID:PC−A)を特定する。そして、イベントサーバ4は、更新のイベントの通知先である通知先端末ID(PC−A)を含む更新指令をコネクションサーバ5へ送信する。
(6) Update command When the event server 4 receives the update notification, the event server 4 refers to the stored connection information, and shares information (user ID: A, B) and transmission source terminal ID (PC-B) included in the update notification. ) To identify the notification destination terminal device 1-1 (terminal ID: PC-A) that notifies the update event. Then, the event server 4 transmits an update command including a notification destination terminal ID (PC-A), which is a notification destination of the update event, to the connection server 5.

(7)更新有り
コネクションサーバ5は、イベントサーバ4から更新指令を受信すると、更新指令に含まれる通知先端末ID(PC−A)である端末装置1−1へ更新有りの情報を送信する。これにより、端末装置1−1は、ストレージサーバ3の共有フォルダ内のファイルが更新されたことを判断することができ、新たなFIをストレージサーバ3から取得するための処理を行う。
(7) When there is an update When the connection server 5 receives the update command from the event server 4, the connection server 5 transmits information with the update to the terminal device 1-1 that is the notification destination terminal ID (PC-A) included in the update command. Accordingly, the terminal device 1-1 can determine that the file in the shared folder of the storage server 3 has been updated, and performs a process for acquiring a new FI from the storage server 3.

(8)更新情報取得要求
端末装置1−1は、コネクションサーバ5から更新有りの情報を受信すると、新たなFIを取得するに先立って、新たなFIのファイルが属する上位のフォルダのパスを取得するために、自らの端末ID(PC−A)を含む更新情報取得要求をAPIサーバ2へ送信する。
(8) Update information acquisition request Upon receiving updated information from the connection server 5, the terminal apparatus 1-1 acquires the path of the upper folder to which the new FI file belongs prior to acquiring the new FI. In order to do this, an update information acquisition request including its own terminal ID (PC-A) is transmitted to the API server 2.

(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 API server 2 receives the update information acquisition request from the terminal device 1-1, the API server 2 refers to the stored update notification and includes the terminal ID (PC-A) included in the update information acquisition request. Based on the above, the path of the upper folder is specified. Then, the API server 2 transmits the path of the upper folder to the terminal device 1-1. As a result, the terminal device 1-1 can determine the path of the upper folder to which the updated file belongs, and performs processing for obtaining the FIs of all the files belonging to the upper folder. The reason why the FIs of all the files belonging to the upper folder are acquired is that all the FIs include a new FI generated by the file operation in the terminal device 1-2.

(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 API server 2, the terminal device 1-1 acquires the upper folder path in order to acquire the FIs of all the files belonging to the upper folder. The FI acquisition request including this is transmitted to the API server 2. When the API server 2 receives the FI acquisition request from the terminal device 1-1, the API server 2 transmits the received FI acquisition request to the storage server 3. The FIs of all files belonging to the upper folder are FIs of all shared files belonging to the shared folder, and do not include FIs of files other than shared files belonging to the shared folder. This is because the files belonging to the shared folder include not only shared files that can be accessed by a plurality of users but also files that are not shared by a plurality of users and can be accessed only by a specific user. The same applies to the following description.

(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 storage server 3 receives the FI acquisition request from the API server 2, the storage server 3 includes all the FIs stored in the storage server 3 based on the path of the upper folder included in the FI acquisition request. From this, the FI of the file belonging to the upper folder is specified, and the FI group is transmitted to the API server 2. When the API server 2 receives the FI group from the storage server 3, the API server 2 transmits the FI group to the terminal device 1-1.

このように、端末装置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 storage server 3 in accordance with the file operation in the terminal device 1-2 is transmitted from the storage server 3 to the terminal device 1-2 via the API server 2. Further, information indicating that the FI has been updated (update event) is transmitted to the other terminal device 1-1 via the API server 2, the event server 4, and the connection server 5 by the event notification sequence described above, The FIs (including newly generated FIs) of all files belonging to the shared folder are transmitted to the terminal device 1-1 via the API server 2. Thereby, the terminal devices 1-1 and 1-2 and the storage server 3 can hold the new identical FI, and can establish file synchronization.

尚、ログイン情報等(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 terminal device 1 and the connection server 5 as real data that is not encrypted. Thereby, the processing load in the terminal device 1 and the connection server 5 can be reduced. Various information (5 ') (8) (9) (10) (13) is transmitted and received as encrypted data according to the SSL protocol between the terminal device 1 and the API server 2. This is because it is highly necessary to conceal the data such as the path and FI of the upper folder. Thereby, the information regarding the shared folder, the FI, etc. is concealed, and the security of the information can be ensured.

〔ファイル操作時の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 storage server 3 generates an FI including a new unique ID for the new file or the copy destination file. For example, when a file is updated, an FI including the same unique ID as that before the update is generated for the updated file. Hereinafter, the FI transition will be specifically described in each file operation of new file creation, file update, file deletion, file name change, file movement, and file copy.

(新規ファイル作成時の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 API server 2, the event server 4, the connection server 5, and information transmitted and received by these devices are omitted. The information of (2), (3), (4 ′), (5 ′), (4) to (11), (12), and (13) in FIG. 5 is the same as that shown in FIGS. The same applies to FIGS.

また、ユーザ(ユーザ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 network 6 of the file synchronization system 10, access the shared folder provided in the storage server 3, and store the FI (β1),..., FI (βn) of all files belonging to the shared folder on the storage server 3. It is acquired from and held. That is, the terminal devices 1-1 and 1-2 hold the same FI (β1),..., FI (βn), respectively. β1 to βn are identifiers for distinguishing individual files for convenience. For example, FI (β1) indicates the FI of the file β1. In FIG. 5, it is assumed that the terminal devices 1-1 and 1-2 display the shared folder icon.

ここで、端末装置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 storage server 3 via the API server 2.

ストレージサーバ3は、端末装置1−2からAPIサーバ2を介してファイル操作通知を受信すると、ファイル操作の種別を「新規ファイル作成」に特定し、端末装置1−2からアップロードした新たなファイルを格納する。そして、ストレージサーバ3は、ユニークIDa2、Eタグd2及び更新日時g2を付与し、これらの属性を含む新たなFI(a2,b1,c1,d2,e1,f1,g2)を生成し、格納する。これにより、新たなファイルに対応するFI(βz)が生成される。   When the storage server 3 receives the file operation notification from the terminal device 1-2 via the API server 2, the storage server 3 specifies the type of file operation as “create new file”, and creates a new file uploaded from the terminal device 1-2. Store. Then, the storage server 3 assigns the unique IDa2, the E tag d2, and the update date / time g2, and generates and stores a new FI (a2, b1, c1, d2, e1, f1, g2) including these attributes. . Thereby, FI (βz) corresponding to the new file is generated.

ストレージサーバ3は、新たなFI(βz)(4’)(5’)を、APIサーバ2を介して端末装置1−2へ送信する。これにより、端末装置1−2は、共有フォルダに属するファイルのFIにFI(βz)を追加し、FI(β1),・・・,FI(βn),FI(βz)を保持する。   The storage server 3 transmits a new FI (βz) (4 ′) (5 ′) to the terminal device 1-2 via the API server 2. Thereby, the terminal device 1-2 adds FI (βz) to the FI of the file belonging to the shared folder, and holds FI (β1),..., FI (βn), FI (βz).

また、ストレージサーバ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 storage server 3 uses the event notification sequences (4) to (11), (12), and (13) shown in FIGS. 2 and 3 to perform FI (β1), which is the FI group of all files belonging to the shared folder. ..., FI (βn), FI (βz) are transmitted to the terminal device 1-1. Thereby, the terminal device 1-1 holds FI (β1),..., FI (βn), FI (βz) as FIs of the files belonging to the shared folder.

このように、端末装置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 storage server 3 via the API server 2 and newly generated by the storage server 3 in accordance with the operation of creating a new file in the terminal device 1-2. The FI (βz) corresponding to the new file is transmitted from the storage server 3 to the terminal device 1-2 via the API server 2. Also, the FI group (including the newly created FI (βz)) of all the files belonging to the shared folder is transmitted to the terminal device 1-1 by the event notification sequence. Thereby, the terminal devices 1-1 and 1-2 and the storage server 3 can hold the new identical FI (βz), and can establish file synchronization.

(ファイル更新時の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 network 6 of the file synchronization system 10, acquire the FIs of all the files belonging to the shared folder from the storage server 3, and use the same FI (β1 ),..., FI (βn) are held. Here, FI (βn) is composed of a unique IDa, a file size b, a hash value c, an E tag d, a file name e, a file path f, and an update date and time g, and FI (a, b, c, d, e). , F, g).

ここで、端末装置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 storage server 3, performs an operation to update the file, and completes the file update operation. Then, the terminal device 1-2 assigns the file size b1 and the hash value c1, and generates an attribute group (a, b1, c1, d, e, f, g) including these attributes. Then, the terminal device 1-2 includes an attribute group (a, b1, c1, d, e, f, g), file data, its own terminal ID (PC-B), and file operation type data (data indicating file update). ) Including the file operation notification, and the file operation notifications (2) and (3) are transmitted to the storage server 3 via the API server 2.

ストレージサーバ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 storage server 3 receives the file operation notification from the terminal device 1-2 via the API server 2, the storage server 3 specifies the file operation type as “file update” and stores the update file uploaded from the terminal device 1-2. . Then, the storage server 3 assigns the E tag d2 and the update date and time g2, and assigns these attributes, the unique IDa of the attribute group included in the received file operation notification, the file size b1, the hash value c1, the file name e, and the file FI (a, b1, c1, d2, e, f, g2) is generated (updated) and overwritten by the path f. Thereby, FI (βn) corresponding to the update file is generated.

ストレージサーバ3は、FI(βn)(4’)(5’)を、APIサーバ2を介して端末装置1−2へ送信する。これにより、端末装置1−2は、共有フォルダに属するファイルのFI(βn)を更新し、FI(β1),・・・及び更新したFI(βn)を保持する。   The storage server 3 transmits FI (βn) (4 ′) (5 ′) to the terminal device 1-2 via the API server 2. Thereby, the terminal device 1-2 updates the FI (βn) of the file belonging to the shared folder, and holds FI (β1),... And the updated FI (βn).

また、ストレージサーバ3は、図2及び図3に示したイベント通知シーケンス(4)〜(11)(12)(13)により、共有フォルダに属する全てのファイルのFI群であるFI(β1),・・・,FI(βn)を端末装置1−1へ送信する。これにより、端末装置1−1は、共有フォルダに属するファイルのFIとして、FI(β1),・・・及び更新したFI(βn)を保持する。   In addition, the storage server 3 uses the event notification sequences (4) to (11), (12), and (13) shown in FIGS. 2 and 3 to perform FI (β1), which is the FI group of all files belonging to the shared folder. ..., FI (βn) is transmitted to the terminal device 1-1. Thereby, the terminal device 1-1 holds FI (β1),... And the updated FI (βn) as FIs of the files belonging to the shared folder.

このように、端末装置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 storage server 3 via the API server 2 and generated (updated) by the storage server 3 in accordance with the file update operation in the terminal device 1-2. The FI (βn) corresponding to the update file is transmitted from the storage server 3 to the terminal device 1-2 via the API server 2. Further, the FI group (including the updated FI (βn)) of all the files belonging to the shared folder is transmitted to the terminal device 1-1 by the event notification sequence. Thereby, the terminal devices 1-1 and 1-2 and the storage server 3 can hold the same updated FI (βn), and can establish file synchronization.

(ファイル削除時の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 network 6 of the file synchronization system 10, acquire the FIs of all files belonging to the shared folder from the storage server 3, and use the same FI (β1),. It is assumed that FI (βm) and FI (βn) are held. Here, FI (βn) is composed of a unique IDa, a file size b, a hash value c, an E tag d, a file name e, a file path f, and an update date and time g, and FI (a, b, c, d, e). , F, g).

ここで、端末装置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 storage server 3 via the API server 2. Also, the terminal device 1-2 deletes FI (βn). Thereby, the terminal device 1-2 holds FI (β1),..., FI (βm) as FIs of the files belonging to the shared folder. The terminal device 1-2 may transmit a file operation notification including the unique IDa, information indicating that a file deletion operation has been performed, and its terminal ID (PC-B).

ストレージサーバ3は、端末装置1−2からAPIサーバ2を介してファイル操作通知を受信すると、ファイル操作の種別を「ファイル削除」に特定し、FI(βn)のファイルを削除すると共に、FI(βn)を削除する。   When the storage server 3 receives the file operation notification from the terminal device 1-2 via the API server 2, the storage server 3 specifies the type of file operation as “file deletion”, deletes the file of FI (βn), and stores the FI (βn). βn) is deleted.

ストレージサーバ3は、図2及び図3に示したイベント通知シーケンス(4)〜(11)(12)(13)により、共有フォルダに属する全てのファイルのFI群であるFI(β1),・・・,FI(βm)を端末装置1−1へ送信する。これにより、端末装置1−1は、共有フォルダに属するファイルのFIとして、FI(β1),・・・,FI(βm)を保持する。   The storage server 3 uses the event notification sequences (4) to (11), (12), and (13) shown in FIGS. 2 and 3 to perform FI (β1), which is the FI group of all files belonging to the shared folder. .., FI (βm) is transmitted to the terminal device 1-1. As a result, the terminal device 1-1 holds FI (β1),..., FI (βm) as FIs of the files belonging to the shared folder.

このように、端末装置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 storage server 3 in accordance with the file deletion operation in the terminal device 1-2. Also, the FI group (not including the deleted FI (βn)) of all the files belonging to the shared folder is transmitted to the terminal device 1-1 by the event notification sequence. Thereby, the terminal apparatuses 1-1 and 1-2 and the storage server 3 can hold the same FI group that does not include the deleted FI (βn), and can establish file synchronization.

(ファイル名変更時の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 network 6 of the file synchronization system 10, acquire the FIs of all files belonging to the shared folder from the storage server 3, and the same Assume that FI (β1),..., FI (βn) are held. Here, FI (βn) is composed of a unique IDa, a file size b, a hash value c, an E tag d, a file name e, a file path f, and an update date and time g, and FI (a, b, c, d, e). , F, g).

ここで、端末装置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 API server 2 To the storage server 3.

ストレージサーバ3は、端末装置1−2からAPIサーバ2を介してファイル操作通知を受信すると、ファイル操作の種別を「ファイル名変更」に特定する。そして、ストレージサーバ3は、Eタグd2及び更新日時g2を付与し、これらの属性と、受信したファイル操作通知に含まれる属性群のユニークIDa、ファイルサイズb、ハッシュ値c、ファイル名e1及びファイルパスfとにより、FI(a,b,c,d2,e1,f,g2)を生成(更新)し、上書きする。   When the storage server 3 receives the file operation notification from the terminal device 1-2 via the API server 2, the storage server 3 specifies the file operation type as “file name change”. Then, the storage server 3 assigns the E tag d2 and the update date and time g2, and assigns these attributes, the unique IDa of the attribute group included in the received file operation notification, the file size b, the hash value c, the file name e1, and the file FI (a, b, c, d2, e1, f, g2) is generated (updated) and overwritten by the path f.

ストレージサーバ3は、FI(βn)(4’)(5’)を、APIサーバ2を介して端末装置1−2へ送信する。これにより、端末装置1−2は、共有フォルダに属するファイルのFI(βn)を更新し、FI(β1),・・・及び更新したFI(βn)を保持する。   The storage server 3 transmits FI (βn) (4 ′) (5 ′) to the terminal device 1-2 via the API server 2. Thereby, the terminal device 1-2 updates the FI (βn) of the file belonging to the shared folder, and holds FI (β1),... And the updated FI (βn).

また、ストレージサーバ3は、図2及び図3に示したイベント通知シーケンス(4)〜(11)(12)(13)により、共有フォルダに属する全てのファイルのFI群であるFI(β1),・・・,FI(βn)を端末装置1−1へ送信する。これにより、端末装置1−1は、共有フォルダに属するファイルのFIとして、FI(β1),・・・及び更新したFI(βn)を保持する。   In addition, the storage server 3 uses the event notification sequences (4) to (11), (12), and (13) shown in FIGS. 2 and 3 to perform FI (β1), which is the FI group of all files belonging to the shared folder. ..., FI (βn) is transmitted to the terminal device 1-1. Thereby, the terminal device 1-1 holds FI (β1),... And the updated FI (βn) as FIs of the files belonging to the shared folder.

このように、端末装置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 storage server 3 in accordance with the operation of changing the file name in the terminal device 1-2 is transmitted from the storage server 3 via the API server 2 to the terminal device 1-2. Sent to. Further, the FI group (including the updated FI (βn)) of all the files belonging to the shared folder is transmitted to the terminal device 1-1 by the event notification sequence. Thereby, the terminal devices 1-1 and 1-2 and the storage server 3 can hold the same updated FI (βn), and can establish file synchronization.

(ファイル移動時の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 network 6 of the file synchronization system 10, acquire the FIs of all files belonging to the shared folder from the storage server 3, and have the same FI (β1) in the first folder , FI (β2), and the same FI (γ1) in the second folder. Here, FI (β2) is composed of a unique IDa, a file size b, a hash value c, an E tag d, a file name e, a file path f, and an update date and time g, and FI (a, b, c, d, e). , F, g).

ここで、端末装置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 storage server 3.

ストレージサーバ3は、端末装置1−2からAPIサーバ2を介してファイル操作通知を受信すると、ファイル操作の種別を「ファイル移動」に特定する。そして、ストレージサーバ3は、Eタグd2及び更新日時g2を付与し、これらの属性と、受信したファイル操作通知に含まれる属性群のユニークIDa、ファイルサイズb、ハッシュ値c及びファイル名eとにより、FI(a,b,c,d2,e,f1,g2)を生成(更新)し、上書きする。   When the storage server 3 receives the file operation notification from the terminal device 1-2 via the API server 2, the storage server 3 specifies the type of file operation as “file move”. The storage server 3 then assigns the E tag d2 and the update date and time g2, and uses these attributes and the unique IDa, file size b, hash value c, and file name e of the attribute group included in the received file operation notification. , FI (a, b, c, d2, e, f1, g2) is generated (updated) and overwritten.

ストレージサーバ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 storage server 3 transmits FI (β2) (4 ′) (5 ′) to the terminal device 1-2 via the API server 2. Thereby, the terminal device 1-2 deletes FI (β2) from the first folder, adds FI (β2) to the second folder, holds FI (β1) in the first folder, FI (γ1) and FI (β2) are held in the second folder.

また、ストレージサーバ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 storage server 3 uses the event notification sequences (4) to (11), (12), and (13) shown in FIGS. 2 and 3 to determine the FI group of all the files belonging to the first folder in the shared folder. A certain FI (β1) and FI (γ1) and FI (β2) which are FI groups of all files belonging to the second folder are transmitted to the terminal device 1-1. Accordingly, the terminal device 1-1 holds FI (β1) in the first folder and FI (γ1) and FI (β2) in the second folder as FIs of the files belonging to the shared folder.

このように、端末装置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 storage server 3 in accordance with the file movement operation in the terminal device 1-2 is transferred from the storage server 3 to the terminal device 1-2 via the API server 2. Sent. Also, the FI group (including the updated FI (β2)) of all files belonging to the first folder that is the file move source and the second folder that is the file move destination is the terminal by the event notification sequence. It is transmitted to the device 1-1. Thereby, the terminal apparatuses 1-1 and 1-2 and the storage server 3 can hold the same FI (β1) in the first folder, and the FI (γ1) and the added same in the second folder. FI (β2) can be held, and file synchronization can be established without moving the actual data file.

(ファイルコピー時の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 network 6 of the file synchronization system 10, acquire the FIs of all the files belonging to the shared folder from the storage server 3, and in the first folder Assume that the same FI (β1) and FI (β2) are held, and the same FI (γ1) is held in the second folder. Here, FI (β2) is composed of a unique IDa, a file size b, a hash value c, an E tag d, a file name e, a file path f, and an update date and time g, and FI (a, b, c, d, e). , F, g).

ここで、端末装置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 storage server 3 via the API server 2.

ストレージサーバ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 storage server 3 receives the file operation notification from the terminal device 1-2 via the API server 2, the storage server 3 specifies the type of file operation as “file copy”. Then, the storage server 3 stores the new file as the copy destination file by copying the copy source file. The copy source file is specified based on a unique ID (not shown) of the copy source file included in the file operation notification. Then, the storage server 3 assigns the unique IDa2, the E tag d2, and the update date / time g2, and uses these attributes and the file size b, hash value c, and file name e of the attribute group included in the received file operation notification. A new FI (a2, b, c, d2, e, f1, g2) is generated and stored as FI (γ2). As a result, the storage server 3 holds the FI (β2) of the copy source file and the FI (γ2) of the copy destination file.

ストレージサーバ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 storage server 3 transmits FI (γ2) (4 ′) (5 ′) to the terminal device 1-2 via the API server 2. Thereby, the terminal device 1-2 adds FI (γ2) to the second folder, holds FI (β1) and FI (β2) in the first folder, and FI (γ1) in the second folder. , FI (γ2).

また、ストレージサーバ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 storage server 3 uses the event notification sequences (4) to (11), (12), and (13) shown in FIGS. 2 and 3 to determine the FI group of all files belonging to the second folder in the shared folder. A certain FI (γ1) and FI (γ2) are transmitted to the terminal device 1-1. As a result, the terminal apparatus 1-1 holds FI (β1) and FI (β2) in the first folder as FIs of the files belonging to the shared folder, and FI (γ1) and FI (γ2 in the second folder. ).

このように、端末装置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 storage server 3 in accordance with the file copy operation in the terminal device 1-2 is transmitted from the storage server 3 to the terminal device 1-2 via the API server 2. Is done. Also, the FI group (including the newly generated FI (γ2)) belonging to the second folder that is the file copy destination is transmitted to the terminal device 1-1 by the event notification sequence. As a result, the terminal apparatuses 1-1 and 1-2 and the storage server 3 can hold the same FI (γ2) added in the second folder, and can copy the file without copying the actual data file. Synchronization can be established.

〔端末装置〕
次に、図1及び図2に示した端末装置1について詳細に説明する。図15は、端末装置1の構成を示すブロック図である。この端末装置1は、通信部11、ファイル処理部12及び記憶部13を備えている。
[Terminal device]
Next, the terminal device 1 shown in FIGS. 1 and 2 will be described in detail. FIG. 15 is a block diagram illustrating a configuration of the terminal device 1. The terminal device 1 includes a communication unit 11, a file processing unit 12, and a storage unit 13.

通信部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 communication unit 11 transmits and receives data between the API server 2 and the connection server 5 using a predetermined protocol. As the file synchronization system 10 logs in to the network 6, login information (user ID, terminal ID) is transmitted to the connection server 5. In addition, the communication unit 11 receives information with update from the connection server 5 and outputs the information to the file processing unit 12. In addition, the communication unit 11 receives a file operation notification, an update information acquisition request, and an FI acquisition request from the file processing unit 12 and transmits them to the API server 2, and receives the path and FI of the upper folder from the API server 2 to receive the file Output to the processing unit 12. Further, the communication unit 11 receives a user selection command from the API server 2 and outputs it to the file processing unit 12, inputs a user selection type from the file processing unit 12, and transmits it to the API server 2.

ファイル処理部12は、ファイル操作部121、属性処理部122及びアイコン表示部123を備えている。ファイル操作部121は、ユーザによるファイル操作に伴って、新たなファイルを作成したり、ストレージサーバ3からファイルをダウンロードして更新したり、ファイルを削除したりする等のファイル操作に関する処理を行う。   The file processing unit 12 includes a file operation unit 121, an attribute processing unit 122, and an icon display unit 123. The file operation unit 121 performs processing related to file operations such as creating a new file, downloading and updating a file from the storage server 3, and deleting the file in accordance with the file operation by the user.

属性処理部122は、ファイル同期システム10のネットワーク6へのログインに伴って、通信部11を介してストレージサーバ3に備えた共有フォルダへアクセスし、共有フォルダに属する全てのファイルのFIを取得し、アイコン表示部123に、共有フォルダのアイコン及びファイルのアイコンを表示させる。また、属性処理部122は、ファイル操作部121によるファイル操作の処理に従って属性群を生成し、属性群、自らの端末ID及びファイル操作種別データ(ファイル操作の種別を特定するためのデータ)等を含むファイル操作通知を生成し、通信部11へ出力する。   The attribute processing unit 122 accesses the shared folder provided in the storage server 3 via the communication unit 11 and logs in to the network 6 of the file synchronization system 10 and acquires the FIs of all files belonging to the shared folder. The icon display unit 123 displays the shared folder icon and the file icon. In addition, the attribute processing unit 122 generates an attribute group according to the file operation processing by the file operation unit 121, and stores the attribute group, its own terminal ID, file operation type data (data for specifying the type of file operation), and the like. A file operation notification is generated and output to the communication unit 11.

アイコン表示部123は、ファイル操作部121及び属性処理部122からフォルダに関する情報、及びフォルダに属するファイルのFI等を入力し、フォルダのアイコン及びファイルのアイコンを表示する。   The icon display unit 123 receives information about a folder, FI of a file belonging to the folder, and the like from the file operation unit 121 and the attribute processing unit 122, and displays a folder icon and a file icon.

記憶部13は、FI、ファイル及び領域データファイルを備えている。FI、ファイル及び領域データファイルは、ファイル処理部12により格納され、また、読み出される。FIを構成する属性については、図4にて説明済みであるから、ここでは説明を省略する。領域データファイルについては後述する。尚、記憶部13には、新規ファイル作成時に、新たなファイルが格納され、ファイル更新時に、ストレージサーバ3からダウンロードされたファイルが格納される。また、記憶部13に格納されたファイルはファイル処理部12により読み出され、通信部11を介してストレージサーバ3へアップロードされる。   The storage unit 13 includes an FI, a file, and a region data file. The FI, file, and area data file are stored and read by the file processing unit 12. Since the attributes constituting the FI have already been described with reference to FIG. 4, the description thereof is omitted here. The area data file will be described later. The storage unit 13 stores a new file when creating a new file, and stores a file downloaded from the storage server 3 when updating the file. Also, the file stored in the storage unit 13 is read by the file processing unit 12 and uploaded to the storage server 3 via the communication unit 11.

次に、図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 terminal device 1 shown in FIG. 15 will be described. FIG. 16 is a flowchart showing the processing of the terminal device 1. The communication unit 11 of the terminal device 1 determines whether or not the FI has been received from the storage server 3 via the API server 2 (step S1601), and if it is determined that the FI has been received (step S1601: Y), the reception is performed. The FI is output to the file processing unit 12. Then, the attribute processing unit 122 of the file processing unit 12 receives the FI from the communication unit 11, stores it in the storage unit 13, and outputs it to the icon display unit 123. The icon display unit 123 receives the FI from the attribute processing unit 122, and displays a preset shared folder icon and file icon based on the file path included in the FI (step S1602). In addition, when a file download operation is performed by the user, the file operation unit 121 outputs an instruction for downloading the file specified by the user to the communication unit 11. This instruction is transmitted to the storage server 3 via the API server 2, and the file operation unit 121 inputs a file downloaded from the storage server 3 via the API server 2 from the communication unit 11 and stores it in the storage unit 13. (Step S1603). On the other hand, when it determines with the communication part 11 not receiving FI in step S1601 (step S1601: N), it transfers to step S1604.

ファイル処理部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 attribute processing unit 122 of the file processing unit 12 determines whether or not the file operation processing has been performed by the file operation unit 121 (step S1604), and determines that the file operation processing has been performed (step S1604: Y). ), An attribute group associated with the file operation is generated (step S1605), a file operation notification including the attribute group, its own terminal ID, file operation type data, and the like is generated and output to the communication unit 11. This file operation notification is transmitted to the storage server 3 via the API server 2 (step S1606). Also, the attribute processing unit 122 is newly created from the storage unit 13 when the file operation performed by the file operation unit 121 is “create new file” or “update file” in accordance with the output of the file operation notification. The file or the updated file is read and output to the communication unit 11. This file is uploaded to the storage server 3 via the API server 2 (step S1607). Further, the attribute processing unit 122 performs processing according to the file operation. For example, when the file operation is file deletion, the FI of the file to be deleted is deleted from the storage unit 13 and the icon display unit 123 is made to delete the icon display of the file. On the other hand, if the attribute processing unit 122 determines in step S1604 that the file operation process is not performed (step S1604: N), the attribute processing unit 122 proceeds to step S1608.

通信部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 communication unit 11 determines whether or not updated information is received from the connection server 5 (step S1608). If it is determined that updated information is received (step S1608: Y), the updated information is displayed. Output to the file processing unit 12. When the attribute processing unit 122 of the file processing unit 12 inputs information with update from the communication unit 11, the attribute processing unit 122 outputs an update information acquisition request to the communication unit 11. This update information acquisition request is transmitted to the API server 2 (step S1609). When the API server 2 receives the update information acquisition request from the terminal device 1, the API server 2 specifies the path of the upper folder to which the file operated by the other terminal device 1 belongs, and transmits the path of the upper folder to the terminal device 1. The processing of the API server 2 will be described later. When the attribute processing unit 122 inputs the path of the upper folder received from the API server 2 from the communication unit 11 (step S1610), the attribute processing unit 122 outputs an FI acquisition request including the path of the upper folder to the communication unit 11. This FI acquisition request is transmitted to the storage server 3 via the API server 2 (step S1611). The FI that is a response to the FI acquisition request is processed in steps S1601 and S1602. On the other hand, if the communication unit 11 determines in step S1608 that the updated information has not been received (step S1608: N), the communication unit 11 proceeds to step S1612.

ステップ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 terminal device 1 transmits a file operation notification to the storage server 3 via the API server 2 in accordance with the file update operation by the user, and the storage server 3 receives the file operation notification and there is a file collision. Assuming that In this case, the storage server 3 transmits a user selection command to the terminal device 1 (the terminal device 1 that has transmitted the file operation notification) via the API server 2. A file collision occurs when a file operation is performed in the terminal device 1 without the FI generated in the storage server 3 being reflected in the terminal device 1. For example, after the first terminal device 1 and the second terminal device 1 download the same file, the first terminal device 1 is changed from online to offline, and the second terminal device 1 performs file update. When the storage server 3 updates the FI and the file along with the file update, and the first terminal device 1 is changed from offline to online and performs the file update process, the storage server 3 File conflicts occur. That is, when a file update process is performed by the second terminal apparatus 1 and then a file update process is performed by the first terminal apparatus 1, a file collision may occur. Details of the file collision will be described later.

端末装置1の通信部11は、ストレージサーバ3からAPIサーバ2を介して、ユーザ選択指令を受信したか否かを判定する(ステップS1612)。通信部11は、ステップS1612において、ユーザ選択指令を受信したと判定した場合(ステップS1612:Y)、ユーザ選択指令をファイル処理部12のファイル操作部121に出力する。ファイル操作部121は、通信部11からユーザ選択指令を入力すると、ユーザに、「新規ファイル保存」「強制上書き」「破棄して最新取得」「キャンセル」のうちのいずれかのユーザ選択種別を選択させる。そして、ファイル操作部121は、ユーザにより選択されたユーザ選択種別を通信部11に出力する。このユーザ選択種別は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1613)。そして、ファイル操作部121は、ユーザ選択種別に応じた処理を行う(ステップS1614)。   The communication unit 11 of the terminal device 1 determines whether or not a user selection command has been received from the storage server 3 via the API server 2 (step S1612). If it is determined in step S1612 that the user selection command has been received (step S1612: Y), the communication unit 11 outputs the user selection command to the file operation unit 121 of the file processing unit 12. When the user selection command is input from the communication unit 11, the file operation unit 121 selects a user selection type from among “Save new file”, “Forced overwrite”, “Discard and update latest”, and “Cancel”. Let Then, the file operation unit 121 outputs the user selection type selected by the user to the communication unit 11. This user selection type is transmitted to the storage server 3 via the API server 2 (step S1613). Then, the file operation unit 121 performs processing according to the user selection type (step S1614).

ここで、ユーザにより「新規ファイル保存」が選択された場合、更新ファイルは、新規ファイルとしてストレージサーバ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 storage server 3 as a new file. In addition, when “forced overwrite” is selected by the user, the update file is overwritten in the storage server 3. Therefore, in the above example, the file updated by the second terminal device 1 and stored in the storage server 3 is deleted, and the file updated by the first terminal device 1 is stored in the storage server 3. When the user selects “Discard and latest acquisition”, the file operation unit 121 deletes the file stored in the storage unit 13 and the attribute group generated by the attribute processing unit 122. Then, instead of the deleted FI, the file operation unit 121 inputs a new FI transmitted from the storage server 3 (in the above example, the FI generated when the second terminal device 1 updates the file). And stored in the storage unit 13. When “Cancel” is selected by the user, the FI and the update file stored in the storage unit 13 and the attribute group generated by the attribute processing unit 122 are held as they are.

端末装置1は、ステップS1603、ステップS1607、ステップS1611、ステップS1614から移行すると、またはステップS1612においてユーザ選択指令を受信していないと判定した場合(ステップS1612:N)、処理を終了してステップS1601の処理を再度行う。   When the terminal device 1 proceeds from step S1603, step S1607, step S1611, and step S1614, or determines in step S1612 that a user selection command has not been received (step S1612: N), the terminal device 1 ends the process, and step S1601. Repeat the process.

(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 attribute processing unit 122 in the terminal device 1 illustrated in FIG. 15 will be described in detail. FIG. 17 is a flowchart showing the file operation notification generation processing of the attribute processing unit 122, and corresponds to the processing in steps S1604 to S1607 shown in FIG. FIG. 18 is a diagram showing a list of attributes given by file operations. In FIG. 18, attributes given by file operations are underlined, and attributes for which null is set are represented by-. The storage unit 13 of the terminal device 1 stores the FI (unique IDa, file size b, hash value c, E tag d, file name e, file path f, update date / time g) of the file to be operated. (Refer to the attribute of the original FI in FIG. 18).

属性処理部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 attribute processing unit 122 determines the type of file operation processing performed by the file operation unit 121 (step S1701). If the attribute processing unit 122 determines that the file operation is “create new file”, the attribute processing unit 122 assigns the file size b1, the hash value c1, the file name e1, and the file path f1 (step S1702), and the unique ID, E tag, Null is set in the update date and time, and an attribute group (-, b1, c1,-, e1, f1,-) is generated (see the attribute of "Create new file" in step S1703, FIG. 18). Then, the attribute processing unit 122 generates a file operation notification (attribute group, file data, terminal ID, etc.) including this attribute group, and outputs it to the communication unit 11. This file operation notification is transmitted to the storage server 3 via the API server 2 (step S1704).

属性処理部122は、ファイル操作が「ファイル更新」であると判別した場合、ファイルサイズb1及びハッシュ値c1を付与し(ステップS1705)、付与した属性及び保持しているFIの属性に基づいて、属性群(a,b1,c1,d,e,f,g)を生成する(ステップS1706、図18において「ファイル更新」の属性を参照)。そして、属性処理部122は、この属性群を含むファイル操作通知(属性群、ファイルデータ、端末ID等)を生成し、通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1707)。   If the attribute processing unit 122 determines that the file operation is “file update”, the attribute processing unit 122 assigns the file size b1 and the hash value c1 (step S1705), and based on the assigned attribute and the held FI attribute, An attribute group (a, b1, c1, d, e, f, g) is generated (see the attribute of “file update” in step S1706 and FIG. 18). Then, the attribute processing unit 122 generates a file operation notification (attribute group, file data, terminal ID, etc.) including this attribute group, and outputs it to the communication unit 11. This file operation notification is transmitted to the storage server 3 via the API server 2 (step S1707).

属性処理部122は、ファイル操作が「ファイル削除」であると判別した場合、記憶部13に格納されているFIと同一の属性を用いて、属性群を生成する(ステップS1708、図18において「ファイル削除」の属性を参照)。そして、属性処理部122は、この属性群を含むファイル操作通知(属性群、端末ID等)を生成し、通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1709)。   If the attribute processing unit 122 determines that the file operation is “file deletion”, the attribute processing unit 122 generates an attribute group using the same attribute as the FI stored in the storage unit 13 (step S1708, “ (See “File Delete” attribute). Then, the attribute processing unit 122 generates a file operation notification (attribute group, terminal ID, etc.) including this attribute group, and outputs it to the communication unit 11. This file operation notification is transmitted to the storage server 3 via the API server 2 (step S1709).

属性処理部122は、ファイル操作が「ファイル名変更」であると判別した場合、ファイル名e1を付与し(ステップS1710)、付与した属性及び保持しているFIの属性に基づいて、属性群(a,b,c,d,e1,f,g)を生成する(ステップS1711、図18において「ファイル名変更」の属性を参照)。そして、属性処理部122は、この属性群を含むファイル操作通知(属性群、端末ID等)を生成し、通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1712)。   When the attribute processing unit 122 determines that the file operation is “change file name”, the attribute processing unit 122 assigns the file name e1 (step S1710), and based on the assigned attribute and the held FI attribute, the attribute group ( a, b, c, d, e1, f, g) are generated (refer to the attribute of “file name change” in step S1711, FIG. 18). Then, the attribute processing unit 122 generates a file operation notification (attribute group, terminal ID, etc.) including this attribute group, and outputs it to the communication unit 11. This file operation notification is transmitted to the storage server 3 via the API server 2 (step S1712).

属性処理部122は、ファイル操作が「ファイル移動」であると判別した場合、移動先のファイルパスf1を付与し(ステップS1713)、付与した属性及び保持しているFIの属性に基づいて、属性群(a,b,c,d,e,f1,g)を生成する(ステップS1714、図18において「ファイル移動」の属性を参照)。そして、属性処理部122は、この属性群を含むファイル操作通知(属性群、端末ID等)を生成し、通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1715)。   When the attribute processing unit 122 determines that the file operation is “file move”, the attribute processing unit 122 assigns the destination file path f1 (step S1713), and based on the assigned attribute and the held FI attribute, A group (a, b, c, d, e, f1, g) is generated (refer to the attribute of “file move” in step S1714, FIG. 18). Then, the attribute processing unit 122 generates a file operation notification (attribute group, terminal ID, etc.) including this attribute group, and outputs it to the communication unit 11. This file operation notification is transmitted to the storage server 3 via the API server 2 (step S1715).

属性処理部122は、ファイル操作が「ファイルコピー」であると判別した場合、コピー先のファイルパスf1を付与し(ステップS1716)、ユニークIDにヌルを設定し、付与した属性、ヌルのユニークID及び保持しているFIの属性に基づいて、属性群(−,b,c,−,e,f1,−)を生成する(ステップS1717、図18において「ファイルコピー」の属性を参照)。そして、属性処理部122は、この属性群を含むファイル操作通知(属性群、端末ID等)を生成し、通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS1718)。   If the attribute processing unit 122 determines that the file operation is “file copy”, the attribute processing unit 122 assigns the copy destination file path f1 (step S1716), sets the unique ID to null, and assigns the attribute to which the null unique ID is assigned. Based on the held FI attributes, an attribute group (-, b, c,-, e, f1,-) is generated (see the attribute "file copy" in step S1717, FIG. 18). Then, the attribute processing unit 122 generates a file operation notification (attribute group, terminal ID, etc.) including this attribute group, and outputs it to the communication unit 11. This file operation notification is transmitted to the storage server 3 via the API server 2 (step S1718).

〔同期状態表示〕(アイコン表示部/端末装置)
次に、図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 icon display unit 123 in the terminal device 1 shown in FIG. 15 performs file synchronization status display will be described in detail. FIG. 19 is a flowchart showing processing (status display processing) by the icon display unit 123, and corresponds to the icon display processing in steps S1602, S1603, and S1607 shown in FIG. FIG. 20 is a diagram illustrating a display example of icons. In FIG. 20, (1) to (5) are marks indicating the state of individual files in file synchronization, and the marks are not overlapped with each other within the display range of the folder icon or the file icon. It is arranged at a predetermined position. For example, the mark is composed of pixel values and arrangement coordinates for each pixel. As shown in the upper part of FIG. 20 (6), the icon display unit 123 combines the image of the folder icon with the image in which the marks (1) to (5) are arranged at predetermined positions. The icon is displayed on the screen. The image in which the mark is arranged at the predetermined position is transmitted through the portion other than the mark, and is combined with the folder icon image. Further, as shown in the interruption of FIG. 20 (6), the icon display unit 123 adds and displays all the marks indicating the status of the files belonging to the folder on the folder icon. As shown in the lower part of FIG. 20 (6), the icon display unit 123 adds and displays a mark indicating the state of the file belonging to the folder for each icon of the lower layer folder belonging to the folder. The icon display unit 123 propagates this mark to the upper folder and displays it. That is, when the icon display unit 123 displays the folder to which the file belongs and the icon of the upper folder to which the folder belongs (in the case of using the file as a reference, each icon for the folder in the upper hierarchy). A mark indicating the state of is added to these icons and displayed.

アイコン表示部123は、ファイルのアップロードが開始されたか否かを判定し(ステップS1901)、アップロードが開始されたと判定した場合(ステップS1901:Y)、アップロード中の状態を示す上矢印のマーク(図20(1)を参照)を、共有フォルダのアイコン等に付加して表示する(ステップS1902)。これにより、ユーザは、共有フォルダ等に上矢印のマークが付加されている場合、その共有フォルダ内のいずれかのファイルがアップロード中であることを認識することができる。一方、アイコン表示部123は、ステップS1901において、アップロードが開始されていないと判定した場合(ステップS1901:N)、ステップS1907へ移行する。尚、通信部11は、ファイルを、APIサーバ2を介してストレージサーバ3へアップロードしている状態を監視しており、アイコン表示部123は、通信部11から、ファイルのアップロード状態(開始、失敗及び完了)の情報を入力する。   The icon display unit 123 determines whether or not file uploading has started (step S1901), and when it is determined that uploading has started (step S1901: Y), an up arrow mark (FIG. 20 (1)) is added to the shared folder icon or the like and displayed (step S1902). Thereby, when the mark of the up arrow is added to the shared folder or the like, the user can recognize that any file in the shared folder is being uploaded. On the other hand, if the icon display unit 123 determines in step S1901 that the upload has not started (step S1901: N), the icon display unit 123 proceeds to step S1907. The communication unit 11 monitors the state of uploading files to the storage server 3 via the API server 2, and the icon display unit 123 receives the file upload status (start, failure) from the communication unit 11. And complete) information.

アイコン表示部123は、ファイルのアップロードが失敗したか否かを判定し(ステップS1903)、アップロードに失敗したと判定した場合(ステップS1903:Y)、アップロードに失敗した状態を示す上矢印及び雨のマーク(図20(2)を参照)を、共有フォルダのアイコン等に付加して表示する(ステップS1904)。これにより、ユーザは、共有フォルダ等に上矢印及び雨のマークが付加されている場合、その共有フォルダ内のいずれかのファイルがアップロードに失敗したことを認識することができる。一方、アイコン表示部123は、ステップS1903において、アップロードに失敗していないと判定した場合(ステップS1903:N)、ステップS1905へ移行する。   The icon display unit 123 determines whether the file upload has failed (step S1903). If the icon display unit 123 determines that the upload has failed (step S1903: Y), the icon display unit 123 displays an up arrow and a rain A mark (see FIG. 20B) is added to a shared folder icon or the like and displayed (step S1904). Thereby, when the up arrow and the rain mark are added to the shared folder or the like, the user can recognize that any file in the shared folder has failed to upload. On the other hand, if the icon display unit 123 determines in step S1903 that the upload has not failed (step S1903: N), the icon display unit 123 proceeds to step S1905.

アイコン表示部123は、ファイルのアップロードが完了したか否かを判定し(ステップS1905)、アップロードが完了したと判定した場合(ステップS1905:Y)、上矢印のマーク並びに上矢印及び雨のマークを、共有フォルダのアイコン等の表示から削除する(ステップS1906)。これにより、ユーザは、共有フォルダ内のいずれかのファイルのアップロードが完了したことを認識することができる。一方、アイコン表示部123は、ステップS1905において、アップロードが完了していないと判定した場合(ステップS1905:N)、ステップS1903へ移行する。   The icon display unit 123 determines whether or not the file upload has been completed (step S1905). If it is determined that the upload has been completed (step S1905: Y), the icon display unit 123 displays an up arrow mark, an up arrow mark, and a rain mark. The shared folder icon is deleted from the display (step S1906). Thereby, the user can recognize that the upload of any file in the shared folder is completed. On the other hand, if the icon display unit 123 determines in step S1905 that the upload has not been completed (step S1905: N), the icon display unit 123 proceeds to step S1903.

アイコン表示部123は、ステップS1901から移行して、ファイルのダウンロードが開始されたか否かを判定し(ステップS1907)、ダウンロードが開始されたと判定した場合(ステップS1907:Y)、ダウンロード中の状態を示す下矢印のマーク(図20(3)を参照)を、共有フォルダのアイコン等に付加して表示する(ステップS1908)。これにより、ユーザは、共有フォルダ等に下矢印のマークが付加されている場合、その共有フォルダにファイルがダウンロード中であることを認識することができる。一方、アイコン表示部123は、ステップS1907において、ダウンロードが開始されていないと判定した場合(ステップS1907:N)、ステップS1911へ移行する。尚、通信部11は、ファイルを、ストレージサーバ3からAPIサーバ2を介してダウンロードしている状態を監視しており、アイコン表示部123は、通信部11から、ファイルのダウンロード状態(開始及び完了)の情報を入力する。   The icon display unit 123 shifts from step S1901 to determine whether or not the file download has started (step S1907). When it is determined that the download has started (step S1907: Y), the icon display unit 123 displays the downloading state. A downward arrow mark (see FIG. 20 (3)) is added to the icon of the shared folder and displayed (step S1908). As a result, the user can recognize that a file is being downloaded to the shared folder when a down arrow mark is added to the shared folder or the like. On the other hand, if the icon display unit 123 determines in step S1907 that the download has not started (step S1907: N), the icon display unit 123 proceeds to step S1911. The communication unit 11 monitors the state of downloading a file from the storage server 3 via the API server 2, and the icon display unit 123 receives a file download state (start and completion) from the communication unit 11. ) Information.

アイコン表示部123は、ファイルのダウンロードが完了したか否かを判定し(ステップS1909)、ダウンロードが完了したと判定した場合(ステップS1909:Y)、下矢印のマーク等を、共有フォルダのアイコン等の表示から削除する(ステップS1910)。これにより、ユーザは、共有フォルダ内のいずれかのファイルのダウンロードが完了したことを認識することができる。一方、アイコン表示部123は、ステップS1909において、ダウンロードが完了していないと判定した場合(ステップS1909:N)、完了するまで待つ。   The icon display unit 123 determines whether or not the download of the file is completed (step S1909). When it is determined that the download is completed (step S1909: Y), the icon of the shared folder is displayed as a down arrow mark or the like. Is deleted from the display (step S1910). Thereby, the user can recognize that the download of any file in the shared folder is completed. On the other hand, if it is determined in step S1909 that the download has not been completed (step S1909: N), the icon display unit 123 waits until the completion.

アイコン表示部123は、ステップS1907から移行して、通信部11がFIを受信したか否かを判定し(ステップS1911)、FIを受信したと判定した場合(ステップS1911:Y)、受信したFIと保持中の属性群(ファイル操作により生成された属性群)とを比較し、ファイル操作の種別を判定する(ステップS1912)。具体的には、アイコン表示部123は、受信したFIが、新たなユニークIDを含むFIである場合、他の端末装置1において「新規ファイル作成」または「ファイルコピー」のファイル操作が行われたと判断し、ファイル操作の種別を「新規ファイル作成」または「ファイルコピー」と判定する。また、アイコン表示部123は、受信したFIに含まれるユニークIDと同じ属性を有する保持中の属性群を特定し、ファイルサイズ及びハッシュ値が異なる場合、ファイル操作の種別を「ファイル更新」と判定し、ファイル名が異なる場合、ファイル操作の種別を「ファイル名変更」と判定し、ファイルパスが異なる場合、ファイル操作の種別を「ファイル移動」と判定する。   The icon display unit 123 proceeds from step S1907 to determine whether the communication unit 11 has received the FI (step S1911). When the icon display unit 123 determines that the FI has been received (step S1911: Y), the received FI And the attribute group being held (attribute group generated by file operation) are compared to determine the type of file operation (step S1912). Specifically, when the received FI is a FI including a new unique ID, the icon display unit 123 indicates that a file operation such as “create new file” or “file copy” has been performed in another terminal device 1. The file operation type is determined as “new file creation” or “file copy”. Further, the icon display unit 123 identifies a holding attribute group having the same attribute as the unique ID included in the received FI, and determines that the file operation type is “file update” when the file size and the hash value are different. If the file names are different, the file operation type is determined to be “change file name”, and if the file paths are different, the file operation type is determined to be “file move”.

アイコン表示部123は、ステップS1912において、ファイル操作の種別を「新規ファイル作成」または「ファイルコピー」と判定した場合、「新規ファイル作成」または「ファイルコピー」のファイル操作が他の端末装置1において行われ、新たなファイルをダウンロードしていない状態を示す雲のマーク(図20(4)を参照)を、共有フォルダのアイコン等に付加して表示する(ステップS1913)。これにより、ユーザは、共有フォルダ等に雲のマークが付加されている場合、他の端末装置1によってストレージサーバ3の共有フォルダに新たなファイルが作成され、そのファイルが自らの端末装置1にダウンロードされていないことを認識することができる。   If the icon display unit 123 determines that the type of file operation is “create new file” or “file copy” in step S 1912, the file operation of “create new file” or “file copy” is performed in the other terminal device 1. A cloud mark (see FIG. 20 (4)) indicating that a new file has not been downloaded is added to the shared folder icon or the like and displayed (step S1913). As a result, when a cloud mark is added to the shared folder or the like, the user creates a new file in the shared folder of the storage server 3 by another terminal device 1 and downloads the file to his / her terminal device 1. You can recognize that it is not.

また、アイコン表示部123は、ステップS1912において、ファイル操作の種別を「ファイル更新」「ファイル名変更」または「ファイル移動」と判定した場合、「ファイル更新」「ファイル名変更」または「ファイル移動」のファイル操作が他の端末装置1において行われ、更新したファイル、名称を変更したファイルまたは移動したファイルをダウンロードしていない状態を示す雨のマーク(図20(5)を参照)を、共有フォルダのアイコン等に付加して表示する(ステップS1914)。これにより、ユーザは、共有フォルダ等に雨のマークが付加されている場合、他の端末装置1によってストレージサーバ3の共有フォルダ内のファイルが更新、移動され、またはファイル名が変更され、そのファイルが自らの端末装置1にダウンロードされておらず、古いファイルが自らの端末装置1に格納されていることを認識することができる。また、アイコン表示部123は、ステップS1913及びステップS1914において表示したマークを、そのマークに関連するファイルのダウンロードが完了したときに、ステップS1910において削除する。   If the icon display unit 123 determines in step S 1912 that the type of file operation is “file update”, “file name change”, or “file move”, “file update”, “file name change”, or “file move”. The file mark operation is performed in the other terminal device 1, and the rain mark (see FIG. 20 (5)) indicating that the updated file, the renamed file, or the moved file has not been downloaded is displayed in the shared folder. Is added to the icon or the like and displayed (step S1914). As a result, when a rain mark is added to the shared folder or the like, the user updates or moves the file in the shared folder of the storage server 3 by another terminal device 1 or changes the file name. Can be recognized that the old file is not downloaded to its own terminal device 1 and the old file is stored in its own terminal device 1. Further, the icon display unit 123 deletes the mark displayed in step S1913 and step S1914 when the download of the file related to the mark is completed in step S1910.

以上のように、端末装置1におけるファイル処理部12のアイコン表示部123は、ファイルのアップロード、アップロードの失敗及びダウンロードの状態を示すマーク(上矢印のマーク、上矢印及び雨のマーク、下矢印のマーク)、「新規ファイル作成」または「ファイルコピー」が他の端末装置1にて行われ、新たなファイルをダウンロードしていない状態を示すマーク(雲のマーク)、及び、「ファイル更新」「ファイル名変更」または「ファイル移動」が他の端末装置1にて行われ、自らの端末装置1が古いファイルを保持していることを示すマーク(雨のマーク)を、それぞれの状態に応じてフォルダのアイコンに付加して表示するようにした。これにより、ユーザは、フォルダのアイコンに付加して表示されたマークから、自らの端末装置1が新たなファイルを保持していないこと、または、保持しているファイルが古いこと等を認識することができる。したがって、ユーザは、ファイル同期の処理がどのような状態にあるのかを、的確に認識することができる。また、アイコン表示部123は、ファイルの状態を示すマークを、そのフォルダの上位のフォルダのアイコンに伝搬表示するようにした。これにより、ユーザは、表示されているフォルダのアイコンから、その下位のフォルダ及びファイルの状態を認識することができる。   As described above, the icon display unit 123 of the file processing unit 12 in the terminal device 1 displays the mark indicating the file upload, upload failure, and download status (up arrow mark, up arrow mark, rain mark, and down arrow mark). Mark), “new file creation” or “file copy” is performed in the other terminal device 1 and a new file is not downloaded (cloud mark), “file update”, “file” "Name change" or "file move" is performed in another terminal device 1, and a mark (rain mark) indicating that its own terminal device 1 holds an old file is a folder corresponding to each state. Added to the icon and displayed. Thereby, the user recognizes from the mark displayed in addition to the folder icon that his / her terminal device 1 does not hold a new file, or that the held file is old. Can do. Therefore, the user can accurately recognize the state of the file synchronization process. In addition, the icon display unit 123 displays the mark indicating the state of the file on the icon of the folder above the folder. As a result, the user can recognize the status of the folder and file under the displayed folder icon.

尚、アイコン表示部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 icon display unit 123 displays, as the file synchronization status, a mark indicating the uploading status (FIG. 20 (1)), a mark indicating the upload failure status (FIG. 20 (2)), and the downloading status. Mark (FIG. 20 (3)), mark (FIG. 20 (4)) indicating that an operation such as “create new file” has been performed, and mark (FIG. 20) indicating that an operation such as “file update” is performed. (5)) is added to the icon and displayed. On the other hand, the icon display unit 123 may collectively display the state of these files. Specifically, the icon display unit 123 displays a mark indicating the uploading state (FIG. 20 (1)) or the mark indicating the downloading state (FIG. 20 (3)). Instead, a mark indicating a state in which file synchronization processing is being performed (synchronized state) is added to the icon and displayed. Further, the icon display unit 123 displays a mark indicating an upload failure state (FIG. 20 (2)), a mark indicating that an operation such as “create new file” (FIG. 20 (4)), or “file update”. When a mark indicating that there has been an operation such as "" (FIG. 20 (5)) is displayed, instead of these marks, a mark indicating that file synchronization processing is not being performed is displayed as an icon. To be displayed. In addition, the icon display unit 123 is displayed by adding a mark indicating the state of the file to the folder icon, but may be displayed by adding it to the file.

〔Webブラウザによるアクセス〕(通信部/端末装置)
次に、図15に示した端末装置1における通信部11及びファイル処理部12が、Webブラウザにより、HTTPに従ってAPIサーバ2を介してストレージサーバ3へアクセスする場合の処理について詳細に説明する。
[Access via Web browser] (communication unit / terminal device)
Next, processing when the communication unit 11 and the file processing unit 12 in the terminal device 1 illustrated in FIG. 15 access the storage server 3 via the API server 2 according to HTTP by a Web browser will be described in detail.

図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 storage server 3. As shown in FIG. 40, the storage server 3 includes folders A to G, and the structure is that the folders B and C belong to the folder A, the folders D and E belong to the folder B, and the folders F and G belong to the folder. The relationship belongs to C. The folders A to G are assigned unique IDs 1 to 7 for uniquely specifying the folder. Assume that the folder E is a shared folder, the file “ddd.txt” belongs to the folder E, and can be accessed by a plurality of users. In this case, the path (folder path) of the folder E is “/ A / B / E”, and the path (file path) of the file “ddd.txt” is “/A/B/E/ddd.txt”. It is.

図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 storage server 3.

ここで、端末装置1を使用するユーザの操作により、端末装置1が、Webブラウザにより、ストレージサーバ3に備えた共有フォルダEへアクセスする場合の処理を説明する。   Here, processing when the terminal device 1 accesses the shared folder E provided in the storage server 3 by a Web browser by an operation of a user who uses the terminal device 1 will be described.

端末装置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 terminal device 1 is assumed to have acquired the folder index of the folder E shown in FIG. A user who uses the terminal device 1 designates “http: //....jp/5” as the URL of the folder E. This URL “http: //....jp/5” includes the protocol type “http”, the name (host name) of the storage server 3 “... Jp”, and the unique ID “5” of the folder E. Consists of. Then, the communication unit 11 of the terminal device 1 generates a request including the unique ID “5” in the URL specified by the user by the Web browser, and transmits the request to the API server 2 according to HTTP.

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 API server 2 receives a request from the terminal device 1 according to HTTP, the API server 2 acquires the unique ID “5” from the request and transmits it to the storage server 3. Upon receiving the unique ID “5” from the API server 2, the storage server 3 searches all folder indexes and FIs using the unique ID “5” as a key, and specifies a folder index having the unique ID “5”. Then, the path “/ A / B / E” (see FIG. 42) included in the specified folder index is read. Then, the storage server 3 accesses the folder E using the read path, acquires information about the folder E (for example, the FIs of all files belonging to the folder E), and sends the information to the terminal device 1 via the API server 2. Send.

通信部11は、Webブラウザにより、APIサーバ2からフォルダEに関する情報を含むレスポンスを、HTTPに従って受信し、レスポンスを解析してフォルダEに関する情報を取得し、ファイル処理部12に出力する。そして、ファイル処理部12は、フォルダEに関する情報を入力し、画面表示等の処理を行う。   The communication unit 11 receives a response including information related to the folder E from the API server 2 via the Web browser according to HTTP, analyzes the response, acquires information related to the folder E, and outputs the information to the file processing unit 12. Then, the file processing unit 12 inputs information about the folder E and performs processing such as screen display.

ここで、ユーザによりフォルダ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 terminal device 1 has acquired the FI of the file “ddd.txt” from the storage server 3. A user who uses the terminal device 1 designates “http: //....jp/a” as the URL of the file “ddd.txt”. “A” is a unique ID of the file “ddd.txt”. Then, the communication unit 11 of the terminal device 1 generates a request including the unique ID “a” in the URL specified by the user by the Web browser, and transmits the request to the API server 2 according to HTTP. Here, the URL “http: //....jp/a” is displayed on the screen according to the designation of the user. That is, the unique ID “a” of the file “ddd.txt” is displayed on the screen, but the file path “/A/B/E/ddd.txt” is not displayed.

以上のように、端末装置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 communication unit 11 and the file processing unit 12 of the terminal device 1 specify the URL including the file “ddd.txt” or the unique ID (“5” or “a”) of the folder E by the user. Then, a request including a unique ID in the URL is generated and transmitted to the API server 2 according to HTTP. This eliminates the need for the user to specify a URL including the file or folder path (“/A/B/E/ddd.txt” or “/ A / B / E”). It is not displayed on the screen. Therefore, the path information can be reliably concealed and the path information is not known to other users, so that security can be ensured.

〔APIサーバ〕
次に、図1及び図2に示したAPIサーバ2について詳細に説明する。図23は、APIサーバ2の構成を示すブロック図である。このAPIサーバ2は、通信部21及び記憶部22を備えている。
[API server]
Next, the API server 2 shown in FIGS. 1 and 2 will be described in detail. FIG. 23 is a block diagram showing the configuration of the API server 2. The API server 2 includes a communication unit 21 and a storage unit 22.

通信部21は、所定のプロトコルを用いて端末装置1、ストレージサーバ3及びイベントサーバ4との間でデータの送受信を行う。通信部21は、端末装置1からファイル操作通知、及びFI取得要求を受信してストレージサーバ3へ送信する。また、通信部21は、ストレージサーバ3からFI及び更新通知を受信し、FIを端末装置1へ送信し、更新通知を記憶部22に格納すると共に、イベントサーバ4へ送信する。   The communication unit 21 transmits / receives data to / from the terminal device 1, the storage server 3, and the event server 4 using a predetermined protocol. The communication unit 21 receives the file operation notification and the FI acquisition request from the terminal device 1 and transmits them to the storage server 3. The communication unit 21 receives the FI and the update notification from the storage server 3, transmits the FI to the terminal device 1, stores the update notification in the storage unit 22, and transmits it to the event server 4.

さらに、通信部21は、端末装置1から更新情報取得要求(送信元の端末IDを含む)を受信し、更新情報取得要求に含まれる送信元の端末ID、記憶部22に格納されている更新通知に含まれる共有情報及び送信元端末IDに基づいて、更新通知に含まれる上位フォルダのパスを特定し、上位フォルダのパスを、更新情報取得要求を送信してきた送信元の端末IDを有する端末装置1へ送信する。   Further, the communication unit 21 receives an update information acquisition request (including the transmission source terminal ID) from the terminal device 1, and the transmission source terminal ID included in the update information acquisition request and the update stored in the storage unit 22. Based on the shared information and the transmission source terminal ID included in the notification, the path of the upper folder included in the update notification is specified, and the path of the upper folder is the terminal having the terminal ID of the transmission source that has transmitted the update information acquisition request Transmit to device 1.

記憶部22には更新通知が格納される。更新通知は、通信部21により格納され、また、読み出される。尚、記憶部22には、ファイル操作時に、ストレージサーバ3により生成された更新通知が格納され、更新通知により更新有りの情報を受信した全ての端末装置1から送信された更新情報取得要求に対し、上位フォルダのパスが読み出された場合、その上位フォルダのパスを含む更新通知は、通信部21によって削除される。   The storage unit 22 stores an update notification. The update notification is stored and read out by the communication unit 21. The storage unit 22 stores an update notification generated by the storage server 3 at the time of file operation, and responds to update information acquisition requests transmitted from all the terminal devices 1 that have received information with update by the update notification. When the upper folder path is read, the update notification including the upper folder path is deleted by the communication unit 21.

図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 storage unit 22. As described above, the update notification includes the event type (updated), shared information (user ID permitted to access the shared folder to which the file operation has been performed), and the file to which the file operation has been performed. The upper folder path and the source terminal ID (the terminal ID of the terminal device 1 that has transmitted the file operation notification, that is, the terminal ID of the terminal device 1 that has performed the file operation) are configured. Each time the API server 2 receives an update notification from the storage server 3, each update notification is stored in the storage unit 22.

次に、図23に示したAPIサーバ2の処理について説明する。図25は、APIサーバ2の処理を示すフローチャートである。APIサーバ2の通信部21は、ファイル操作が行われた端末装置1からファイル操作通知を受信したか否かを判定し(ステップS2501)、ファイル操作通知を受信したと判定した場合(ステップS2501:Y)、ファイル操作通知をストレージサーバ3へ送信する(ステップS2502)。一方、通信部21は、ステップS2501において、ファイル操作通知を受信していないと判定した場合(ステップS2501:N)、ステップS2503へ移行する。   Next, processing of the API server 2 shown in FIG. 23 will be described. FIG. 25 is a flowchart showing processing of the API server 2. The communication unit 21 of the API server 2 determines whether or not a file operation notification has been received from the terminal device 1 on which the file operation has been performed (step S2501), and determines that the file operation notification has been received (step S2501: Y) A file operation notification is transmitted to the storage server 3 (step S2502). On the other hand, if the communication unit 21 determines in step S2501 that a file operation notification has not been received (step S2501: N), the communication unit 21 proceeds to step S2503.

通信部21は、ステップS2501から移行して、ストレージサーバ3からFIを受信したか否かを判定し(ステップS2503)、FIを受信したと判定した場合(ステップS2503:Y)、受信したFIを、FI取得要求を送信してきた端末装置1、またはファイル操作が行われた端末装置1へ送信する(ステップS2504)。一方、通信部21は、ステップS2503において、FIを受信していないと判定した場合(ステップS2503:N)、ステップS2505へ移行する。   The communication unit 21 proceeds from step S2501 to determine whether or not an FI has been received from the storage server 3 (step S2503). When it is determined that the FI has been received (step S2503: Y), the received FI is The terminal device 1 that has transmitted the FI acquisition request or the terminal device 1 on which the file operation has been performed is transmitted (step S2504). On the other hand, when it determines with the communication part 21 not receiving FI in step S2503 (step S2503: N), it transfers to step S2505.

通信部21は、ステップS2503から移行して、ストレージサーバ3から更新通知を受信したか否かを判定し(ステップS2505)、更新通知を受信したと判定した場合(ステップS2505:Y)、更新通知を記憶部22に格納する(ステップS2506)。また、通信部21は、受信した更新通知をイベントサーバ4へ送信する(ステップS2507)。一方、通信部21は、ステップS2505において、更新通知を受信していないと判定した場合(ステップS2505:N)、ステップS2508へ移行する。   The communication unit 21 proceeds from step S2503 to determine whether or not an update notification has been received from the storage server 3 (step S2505). When it is determined that an update notification has been received (step S2505: Y), the update notification Is stored in the storage unit 22 (step S2506). In addition, the communication unit 21 transmits the received update notification to the event server 4 (step S2507). On the other hand, when it determines with the communication part 21 not having received the update notification in step S2505 (step S2505: N), it transfers to step S2508.

通信部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 communication unit 21 proceeds from step S2505, determines whether or not an update information acquisition request has been received from the terminal device 1 (step S2508), and determines that an update information acquisition request has been received (step S2508: Y). ), The transmission source terminal ID included in the update information acquisition request, the shared information (user ID) included in the update notification stored in the storage unit 22, and the transmission source terminal ID (of the terminal device 1 on which the file operation was performed). Based on the terminal ID), the path of the upper folder included in the update notification is specified (step S2509). Specifically, the communication unit 21 illustrates the terminal ID of the terminal device 1 used by the user of the user ID from the shared information (user ID) included in the update notification stored in the storage unit 22. Shared folder information (same as shared folder information described later provided in the storage server 3 and acquired from the storage server 3. This shared file information is the user ID of the user accessing the shared folder of the storage server 3. And the terminal ID of the terminal device 1 is a pair of information). Then, for each update notification, the communication unit 21 excludes the transmission source terminal ID (the terminal ID of the terminal device 1 on which the file operation has been performed) included in the update notification from the plurality of terminal IDs corresponding to the shared information, The remaining terminal ID is compared with the terminal ID of the transmission source included in the update information acquisition request. The communication unit 21 then adds the terminal ID of the transmission source (the terminal ID of the terminal device 1 that has transmitted the update information acquisition request) to the remaining terminal ID (the terminal ID of the terminal device 1 that has not performed the file operation). If included, the update notification is assumed to correspond to the update information acquisition request, and the path of the upper folder included in the update notification is specified.

通信部21は、特定した上位フォルダのパスを、更新情報取得要求に含まれる送信元の端末IDを有する端末装置1へ送信する(ステップS2510)。   The communication unit 21 transmits the path of the identified upper folder to the terminal device 1 having the transmission source terminal ID included in the update information acquisition request (step S2510).

通信部21は、ステップS2508から移行して、端末装置1からFI取得要求を受信したか否かを判定し(ステップS2511)、FI取得要求を受信したと判定した場合(ステップS2511:Y)、FI取得要求をストレージサーバ3へ送信する(ステップS2512)。   When the communication unit 21 proceeds from step S2508 to determine whether an FI acquisition request has been received from the terminal device 1 (step S2511), and determines that the FI acquisition request has been received (step S2511: Y), An FI acquisition request is transmitted to the storage server 3 (step S2512).

APIサーバ2は、ステップS2502、ステップS2504、ステップS2507、ステップS2510、ステップS2512から移行すると、またはステップS2511においてFI取得要求を受信していないと判定した場合(ステップS2511:N)、処理を終了してステップS2501の処理を再度行う。   When the API server 2 shifts from Step S2502, Step S2504, Step S2507, Step S2510, Step S2512 or determines that the FI acquisition request has not been received in Step S2511 (Step S2511: N), the process ends. Then, the process of step S2501 is performed again.

〔ストレージサーバ〕
次に、図1及び図2に示したストレージサーバ3について詳細に説明する。図26は、ストレージサーバ3の構成を示すブロック図である。このストレージサーバ3は、通信部31、同期制御部32及び記憶部33を備えている。
[Storage Server]
Next, the storage server 3 shown in FIGS. 1 and 2 will be described in detail. FIG. 26 is a block diagram showing the configuration of the storage server 3. The storage server 3 includes a communication unit 31, a synchronization control unit 32, and a storage unit 33.

通信部31は、所定のプロトコルを用いてAPIサーバ2との間でデータの送受信を行う。通信部31は、端末装置1により送信されたファイル操作通知、FI取得要求及びユーザ選択種別をAPIサーバ2から受信し、同期制御部32に出力する。また、通信部31は、同期制御部32から更新通知、FI及びユーザ選択指令を入力し、APIサーバ2へ送信する。   The communication unit 31 transmits / receives data to / from the API server 2 using a predetermined protocol. The communication unit 31 receives the file operation notification, the FI acquisition request, and the user selection type transmitted by the terminal device 1 from the API server 2 and outputs them to the synchronization control unit 32. Further, the communication unit 31 receives an update notification, FI, and user selection command from the synchronization control unit 32 and transmits them to the API server 2.

同期制御部32は、操作種別特定部321、ファイル・FI処理部322、FI送信部323及び衝突処理部324を備えている。操作種別特定部321は、通信部31からファイル操作通知を入力し、ファイル操作通知に含まれるファイル操作種別データに基づいて、ファイル操作の種別(操作種別)を特定する。   The synchronization control unit 32 includes an operation type identification unit 321, a file / FI processing unit 322, an FI transmission unit 323, and a collision processing unit 324. The operation type identification unit 321 inputs a file operation notification from the communication unit 31 and identifies the type of file operation (operation type) based on the file operation type data included in the file operation notification.

ファイル・FI処理部322は、操作種別特定部321により特定された操作種別毎に、ファイル処理を行い、操作種別に応じてファイルを記憶部33に格納し、ファイル処理を行ったファイルについての新たなFIを生成して記憶部33に格納する。   The file / FI processing unit 322 performs file processing for each operation type specified by the operation type specifying unit 321, stores the file in the storage unit 33 according to the operation type, and sets a new file for the file that has been processed. A new FI is generated and stored in the storage unit 33.

FI送信部323は、ファイル・FI処理部322により生成された新たなFIを通信部31に出力する。また、FI送信部323は、イベント種類(更新有り)、ファイル・FI処理部322によりファイル処理されたファイルが属する上位フォルダのパス、この上位フォルダの共有情報(ユーザID)、ファイル操作通知を送信してきた端末装置1の端末ID(送信元端末ID)を含む更新通知を生成し、通信部31に出力する。また、FI送信部323は、通信部31からFI取得要求を入力し、FI取得要求に含まれる上位フォルダのパスに基づいて、その上位フォルダに属する全てのファイルのFIを記憶部33から読み出し、通信部31に出力する。   The FI transmission unit 323 outputs the new FI generated by the file / FI processing unit 322 to the communication unit 31. Also, the FI transmission unit 323 transmits the event type (updated), the path of the upper folder to which the file processed by the file / FI processing unit 322 belongs, the shared information (user ID) of the upper folder, and the file operation notification. An update notification including the terminal ID (source terminal ID) of the terminal device 1 has been generated and output to the communication unit 31. In addition, the FI transmission unit 323 receives the FI acquisition request from the communication unit 31, reads out the FIs of all the files belonging to the upper folder from the storage unit 33 based on the path of the upper folder included in the FI acquisition request, Output to the communication unit 31.

衝突処理部324は、操作種別特定部321が通信部31から入力した端末装置1からのファイル操作通知に含まれる属性群のEタグ、及び記憶部33から読み出したFIのEタグに基づいて、ファイル衝突の有無を判定し、ファイル衝突有りを判定した場合、ユーザ選択指令を通信部31に出力する。また、衝突処理部324は、通信部31からユーザ選択種別を入力し、ユーザ選択種別に応じた処理を行う。   The collision processing unit 324 is based on the E tag of the attribute group included in the file operation notification from the terminal device 1 input from the communication unit 31 by the operation type specifying unit 321 and the E tag of the FI read from the storage unit 33. When it is determined whether or not there is a file collision, and when it is determined that there is a file collision, a user selection command is output to the communication unit 31. In addition, the collision processing unit 324 receives a user selection type from the communication unit 31 and performs processing according to the user selection type.

記憶部33には、ファイル、ファイルについてのFI、共有フォルダ情報及び領域データファイルが格納されている。これらの情報は、同期制御部32により格納され、また、読み出される。   The storage unit 33 stores files, FIs about files, shared folder information, and area data files. These pieces of information are stored and read out by the synchronization control unit 32.

図27は、記憶部33に格納された共有フォルダ情報の構成を示す図である。共有フォルダ情報には、共有フォルダへアクセス可能なユーザに関する情報が定義されている。図27に示すように、共有フォルダ情報は、共有フォルダのパス、及びその共有フォルダへアクセス可能なユーザのユーザIDにより構成される。尚、記憶部33に格納された領域データファイルについては後述する。   FIG. 27 is a diagram illustrating a configuration of shared folder information stored in the storage unit 33. In the shared folder information, information about users who can access the shared folder is defined. As shown in FIG. 27, the shared folder information includes a path of the shared folder and a user ID of a user who can access the shared folder. The area data file stored in the storage unit 33 will be described later.

次に、図26に示したストレージサーバ3の処理について説明する。図28は、ストレージサーバ3の処理を示すフローチャートである。ストレージサーバ3の通信部31は、端末装置1により送信されたファイル操作通知を受信すると、ファイル操作通知を同期制御部32の操作種別特定部321に出力し、操作種別特定部321は、ファイル操作通知に含まれるファイル操作種別データに基づいて、ファイル操作の種別を示す操作種別を特定する(ステップS2801)。前述のとおり、操作種別には、新規ファイル作成、ファイル更新、ファイル削除、ファイル名変更、ファイル移動及びファイルコピーがある。   Next, processing of the storage server 3 shown in FIG. 26 will be described. FIG. 28 is a flowchart showing the processing of the storage server 3. When the communication unit 31 of the storage server 3 receives the file operation notification transmitted by the terminal device 1, the communication unit 31 outputs the file operation notification to the operation type specifying unit 321 of the synchronization control unit 32, and the operation type specifying unit 321 Based on the file operation type data included in the notification, an operation type indicating the type of file operation is specified (step S2801). As described above, the operation types include new file creation, file update, file deletion, file name change, file movement, and file copy.

衝突処理部324は、ファイル操作通知に含まれる属性群のEタグと、記憶部33から読み出した、ファイル操作通知に含まれる属性群と同一のユニークIDを有するFIのEタグとを比較し、ファイル衝突の有無を判定する(ステップS2802)。衝突処理部324は、Eタグが異なる場合、ファイル衝突有りを判定し(ステップS2803:有)、衝突処理を行う(ステップS2807)。一方、衝突処理部324は、Eタグが同じ場合、ファイル衝突無しを判定し(ステップS2803:無)、ステップS2804へ移行する。   The collision processing unit 324 compares the E tag of the attribute group included in the file operation notification with the E tag of the FI having the same unique ID as the attribute group included in the file operation notification read from the storage unit 33. It is determined whether or not there is a file collision (step S2802). When the E tags are different, the collision processing unit 324 determines that there is a file collision (step S2803: present), and performs a collision process (step S2807). On the other hand, when the E tag is the same, the collision processing unit 324 determines that there is no file collision (step S2803: NO), and proceeds to step S2804.

ファイル・FI処理部322は、ステップS2803から移行して、ステップS2801において特定された操作種別に応じたファイル処理(例えば、新たなファイルを記憶部33に格納する処理、記憶部33からファイルを削除する処理等)を行う(ステップS2804)。そして、ファイル・FI処理部322は、ステップS2804においてファイル処理を行ったファイルについてのEタグ、更新日時等を付与し、新たなFIを生成し、記憶部33に格納する(ステップS2805)。そして、FI送信部323は、ステップS2805において生成された新たなFIを端末装置1へ送信するための処理を行う(ステップS2806)。   The file / FI processing unit 322 shifts from step S2803 to file processing corresponding to the operation type specified in step S2801 (for example, processing for storing a new file in the storage unit 33, deleting a file from the storage unit 33) (Step S2804). Then, the file / FI processing unit 322 adds an E tag, an update date / time, and the like for the file subjected to the file processing in step S2804, generates a new FI, and stores it in the storage unit 33 (step S2805). Then, the FI transmission unit 323 performs processing for transmitting the new FI generated in step S2805 to the terminal device 1 (step S2806).

(操作種別特定部/ストレージサーバ)
次に、図26に示したストレージサーバ3における操作種別特定部321の処理について詳細に説明する。図29は、操作種別特定部321の処理を示すフローチャートであり、図28に示したステップS2801の処理に相当する。
(Operation type identification unit / storage server)
Next, processing of the operation type identification unit 321 in the storage server 3 illustrated in FIG. 26 will be described in detail. FIG. 29 is a flowchart showing the process of the operation type identification unit 321 and corresponds to the process of step S2801 shown in FIG.

操作種別特定部321は、端末装置1から送信されたファイル操作通知を通信部31から入力し(ステップS2901)、ファイル操作通知からファイル操作種別データを取得する(ステップS2902)。そして、操作種別特定部321は、ファイル操作種別データに基づいて、操作種別を特定する(ステップS2903〜ステップS2909)。   The operation type identification unit 321 inputs the file operation notification transmitted from the terminal device 1 from the communication unit 31 (step S2901), and acquires file operation type data from the file operation notification (step S2902). Then, the operation type specifying unit 321 specifies the operation type based on the file operation type data (steps S2903 to S2909).

尚、操作種別特定部321は、ファイル操作通知に含まれる属性群等に基づいて、操作種別を特定するようにしてもよい。   The operation type specifying unit 321 may specify the operation type based on an attribute group included in the file operation notification.

図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 type identification unit 321 inputs the file operation notification transmitted from the terminal device 1 from the communication unit 31 (step S4301), and acquires an attribute group from the file operation notification (step S4302). Then, the operation type identification unit 321 determines whether or not data exists in the unique ID, E tag, and update date / time included in the attribute group (null is set) (step S4303), and no data exists. (Step S4303: Y), the operation type is specified as “create new file” (step S4304). On the other hand, if the operation type identification unit 321 determines in step S4303 that data exists in any of the unique ID, the E tag, and the update date (step S4303: N), the operation type identification unit 321 proceeds to step S4305.

操作種別特定部321は、ステップS4303から移行して、属性群に含まれるユニークIDにデータが存在しない(ヌルが設定されている)か否かを判定し(ステップS4305)、データが存在しないと判定した場合(ステップS4305:Y)、操作種別を「ファイルコピー」に特定する(ステップS4306)。一方、操作種別特定部321は、ステップS4305において、ユニークIDにデータが存在すると判定した場合(ステップS4305:N)、ステップS4307へ移行する。   The operation type identification unit 321 moves from step S4303 to determine whether or not data exists in the unique ID included in the attribute group (null is set) (step S4305). If it is determined (step S4305: Y), the operation type is specified as “file copy” (step S4306). On the other hand, if the operation type identification unit 321 determines in step S4305 that data exists in the unique ID (step S4305: N), the operation type identification unit 321 proceeds to step S4307.

操作種別特定部321は、ステップS4305から移行して、属性群からユニークIDa(属性群にはユニークIDaが含まれるものとする。)を取得し、記憶部33からユニークIDaを有するFIを読み出す(ステップS4307)。記憶部33から読み出したFIの属性は、(ユニークIDa,ファイルサイズb,ハッシュ値c,Eタグd,ファイル名e,ファイルパスf,更新日時g)とする。つまり、端末装置1は、ストレージサーバ3の記憶部33に格納されたFIのファイルに対し、ユーザによりファイル操作が行われ、属性群を生成したことになる。   The operation type identification unit 321 moves from step S4305, acquires a unique IDa (assuming that the attribute group includes a unique IDa) from the attribute group, and reads the FI having the unique IDa from the storage unit 33 ( Step S4307). The FI attributes read from the storage unit 33 are (unique IDa, file size b, hash value c, E tag d, file name e, file path f, update date and time g). That is, the terminal device 1 has generated an attribute group by performing a file operation on the FI file stored in the storage unit 33 of the storage server 3 by the user.

操作種別特定部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 type identification unit 321 compares the attribute group from the terminal device 1 with the FI read from the storage unit 33 (step S4308), and identifies the operation type. The operation type identification unit 321 compares the file size b1 included in the attribute group with the file size b included in the FI, and compares the hash value c1 included in the attribute group with the hash value c included in the FI ( (Step S4309) When it is determined that the two attributes are different (step S4309: Y), the operation type is specified as “file update” (step S4310). On the other hand, if the operation type identification unit 321 determines in step S4309 that the two attributes are not different (any attribute or the two attributes are the same) (step S4309: N), the operation type identification unit 321 proceeds to step S4311. .

操作種別特定部321は、属性群に含まれる各属性a〜gとFIに含まれる各属性a〜gとをそれぞれ比較し(ステップS4311)、全ての属性が同じであると判定した場合(ステップS4311:Y)、操作種別を「ファイル削除」に特定する(ステップS4312)。一方、操作種別特定部321は、ステップS4311において、全ての属性が同じでない(いずれかの属性が異なっている)と判定した場合(ステップS4311:N)、ステップS4313へ移行する。   The operation type identification unit 321 compares each attribute ag included in the attribute group with each attribute ag included in the FI (step S4311), and determines that all attributes are the same (step S4311). S4311: Y), the operation type is specified as “file deletion” (step S4312). On the other hand, if the operation type identification unit 321 determines in step S4311 that all attributes are not the same (any attribute is different) (step S4311: N), the operation type identification unit 321 proceeds to step S4313.

操作種別特定部321は、属性群に含まれるファイル名e1とFIに含まれるファイル名eとを比較し(ステップS4313)、ファイル名の属性が異なると判定した場合(ステップS4313:Y)、操作種別を「ファイル名変更」に特定する(ステップS4314)。一方、操作種別特定部321は、ステップS4313において、ファイル名の属性が異ならない(同じである)と判定した場合(ステップS4313:N)、ステップS4315へ移行する。   The operation type identification unit 321 compares the file name e1 included in the attribute group with the file name e included in the FI (step S4313), and determines that the attributes of the file names are different (step S4313: Y). The type is specified as “file name change” (step S4314). On the other hand, if the operation type identification unit 321 determines in step S4313 that the attributes of the file names are not different (same) (step S4313: N), the operation type identification unit 321 proceeds to step S4315.

操作種別特定部321は、属性群に含まれるファイルパスf1とFIに含まれるファイルパスfとを比較し(ステップS4315)、ファイルパスの属性が異なると判定した場合(ステップS4315:Y)、操作種別を「ファイル移動」に特定する(ステップS4316)。   The operation type identification unit 321 compares the file path f1 included in the attribute group with the file path f included in the FI (step S4315), and determines that the file path attribute is different (step S4315: Y). The type is specified as “file move” (step S4316).

操作種別特定部321は、ステップS4304、ステップS4306、ステップS4310、ステップS4312、ステップS4314、ステップS4316から移行すると、または、ステップS4315においてファイルパスの属性が異ならない(同じである)と判定した場合(ステップS4315:N)、処理を終了してステップS4301の処理を再度行う。   The operation type identification unit 321 transitions from step S4304, step S4306, step S4310, step S4312, step S4314, step S4316, or when it is determined in step S4315 that the file path attributes are not different (same) ( Step S4315: N), the process is terminated, and the process of step S4301 is performed again.

(ファイル・FI処理部/ストレージサーバ)
次に、図26に示したストレージサーバ3におけるファイル・FI処理部322の処理について詳細に説明する。図30は、ファイル・FI処理部322の処理を示すフローチャートであり、図28に示したステップS2804及びステップS2805の処理に相当する。
(File / FI processing unit / Storage server)
Next, the processing of the file / FI processing unit 322 in the storage server 3 shown in FIG. 26 will be described in detail. FIG. 30 is a flowchart showing the processing of the file / FI processing unit 322, and corresponds to the processing of step S2804 and step S2805 shown in FIG.

ファイル・FI処理部322は、操作種別特定部321により特定された操作種別を判別する(ステップS3001)。前述のとおり、記憶部33から読み出されたFIをFI(a,b,c,d,e,f,g)とする。   The file / FI processing unit 322 determines the operation type specified by the operation type specifying unit 321 (step S3001). As described above, the FI read from the storage unit 33 is defined as FI (a, b, c, d, e, f, g).

操作種別が「新規ファイル作成」の場合、端末装置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 terminal device 1 is FI (−, b1, c1, −, e1, f1, −). In this case, the file / FI processing unit 322 uploads a newly created file from the terminal device 1 on which the file operation has been performed, and stores the new file in the storage unit 33 (step S3002). The file / FI processing unit 322 adds the E tag d2 and the update date / time g2 (step S3003), and also assigns a unique IDa2 for uniquely specifying the file stored in the storage unit 33 (step S3004). Then, the file / FI processing unit 322 calculates a new FI (a2, b1, c1, d2, e1, f1, g2) for the file stored in the storage unit 33 based on the assigned attribute and the attribute included in the attribute group. Generated and stored in the storage unit 33 (step S3005).

操作種別が「ファイル更新」の場合、端末装置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 terminal device 1 is FI (a, b1, c1, d, e, f, g). In this case, the file / FI processing unit 322 uploads the updated file from the terminal device 1 on which the file operation is performed, and deletes the original file (the file having the same unique IDa as the attribute group) from the storage unit 33. The uploaded update file is stored in the storage unit 33 (step S3006). Then, the file / FI processing unit 322 assigns the E tag d2 and the update date / time g2 (step S3007), and uses the FI (a) for the update file stored in the storage unit 33 based on the assigned attribute and the attribute included in the attribute group. , B1, c1, d2, e, f, g2) are generated and overwritten on the storage unit 33 (step S3008). That is, the generated FI (a, b1, c1, d2, e, f, g2) is overwritten on the original FI (a, b, c, d, e, f, g).

操作種別が「ファイル削除」の場合、端末装置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 terminal device 1 is FI (a, b, c, d, e, f, g). In this case, the file / FI processing unit 322 deletes the file (the file having the same unique IDa as the attribute group) from the storage unit 33 (step S3009). Then, the file / FI processing unit 322 deletes the FI having the same attribute as the attribute group from the storage unit 33 (step S3010).

操作種別が「ファイル名変更」の場合、端末装置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 terminal device 1 is FI (a, b, c, d, e1, f, g). In this case, the file / FI processing unit 322 assigns the E tag d2 and the update date / time g2 (step S3011), and calculates FI (a, b, c, d2, e1, etc.) from the assigned attributes and the attributes included in the attribute group. f, g2) is generated and overwritten on the storage unit 33 (step S3012). That is, the generated FI (a, b, c, d2, e1, f, g2) is overwritten on the original FI (a, b, c, d, e, f, g).

操作種別が「ファイル移動」の場合、端末装置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 terminal device 1 is FI (a, b, c, d, e, f1, g). In this case, the file / FI processing unit 322 assigns the E tag d2 and the update date / time g2 (step S3013), and the FI (a, b, c, d2, e, f1, g2) are generated and overwritten in the storage unit 33 (step S3014). That is, the generated FI (a, b, c, d2, e, f1, g2) is overwritten on the original FI (a, b, c, d, e, f, g).

操作種別が「ファイルコピー」の場合、端末装置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 terminal device 1 is FI (−, b, c, −, e, f1, −). In this case, the file / FI processing unit 322 copies the copy source file and stores it in the storage unit 33 as a new file (step S3015). The copy source file is specified based on a unique ID (not shown) of the copy source file included in the file operation notification. Then, the file / FI processing unit 322 adds the E tag d2 and the update date / time g2 (step S3016), and also assigns a unique IDa2 for uniquely specifying a new file stored in the storage unit 33 (step S3017). ). Then, the file / FI processing unit 322 determines a new FI (a2, b, c, d2, e, f1, g2) for the new file stored in the storage unit 33 from the attribute included in the assigned attribute and the attribute group. ) And is stored in the storage unit 33 (step S3018).

(FI送信部/ストレージサーバ)
次に、図26に示したストレージサーバ3におけるFI送信部323の処理について詳細に説明する。図31は、FI送信部323の処理を示すフローチャートであり、図28に示したステップS2806の処理に相当する。
(FI transmitter / storage server)
Next, processing of the FI transmission unit 323 in the storage server 3 illustrated in FIG. 26 will be described in detail. FIG. 31 is a flowchart showing the processing of the FI transmission unit 323, and corresponds to the processing of step S2806 shown in FIG.

FI送信部323は、ファイル・FI処理部322により生成されたFIを通信部31に出力する。このFIは、ファイル操作通知を送信してきた端末装置1へ、APIサーバ2を介して送信される(ステップS3101)。これにより、端末装置1は、ストレージサーバ3のファイル・FI処理部322により生成され記憶部33に格納されたFIと同じFIを保持することができる。   The FI transmission unit 323 outputs the FI generated by the file / FI processing unit 322 to the communication unit 31. This FI is transmitted via the API server 2 to the terminal device 1 that has transmitted the file operation notification (step S3101). Thereby, the terminal device 1 can hold the same FI as the FI generated by the file / FI processing unit 322 of the storage server 3 and stored in the storage unit 33.

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 transmission unit 323 displays the path of the upper folder to which the file operated file belongs to the file path included in the FI generated by the file / FI processing unit 322 (file indicating the location of the file operated file). Based on (path), it identifies (step S3102). When the operation type is “file move”, the FI transmission unit 323 also specifies the path of the upper folder to which the file before the move belongs. Specifically, the file / FI processing unit 322 reads the FI having the same unique IDa as the attribute group included in the file operation notification from the storage unit 33 before overwriting the FI in step S3014 shown in FIG. The transmission unit 323 acquires the file path f (file path indicating the location of the file before the movement) included in the FI read by the file / FI processing unit 322, and based on the file path f, the file path f before the movement is acquired. Specify the path of the upper folder to which the file belongs.

FI送信部323は、記憶部33から共有フォルダ情報を読み出し、ステップS3102において特定した上位フォルダのパスに対応するユーザIDを特定する(ステップS3103)。特定したユーザIDを共有情報とする。   The FI transmission unit 323 reads the shared folder information from the storage unit 33, and identifies the user ID corresponding to the upper folder path identified in step S3102 (step S3103). The specified user ID is used as shared information.

FI送信部323は、イベント種類(更新有り)、ステップS3103において特定した共有情報(ユーザID)、ステップS3102において特定した上位フォルダのパス、及び、ファイル操作通知を送信してきた端末装置1の端末ID(送信元端末ID)を含む更新通知を生成する(ステップS3104)。これにより、図3に示したイベント通知シーケンスが行われる。   The FI transmission unit 323 includes the event type (updated), the shared information (user ID) identified in step S3103, the path of the upper folder identified in step S3102, and the terminal ID of the terminal device 1 that has transmitted the file operation notification. An update notification including (source terminal ID) is generated (step S3104). Thereby, the event notification sequence shown in FIG. 3 is performed.

FI送信部323は、更新通知をAPIサーバ2へ送信する(ステップS3105)。そして、FI送信部323は、端末装置1(APIサーバ2を介してストレージサーバ3に接続されている端末装置1のうちのファイル操作通知を送信していない端末装置1、すなわち、更新通知に含まれる共有情報(ユーザID)のユーザが使用している端末装置1のうち、ファイル操作通知を送信していない端末装置1)からAPIサーバ2を介して受信したFI取得要求を、通信部31から入力する(ステップS3106)。   The FI transmission unit 323 transmits an update notification to the API server 2 (step S3105). The FI transmission unit 323 is included in the terminal device 1 (the terminal device 1 that has not transmitted the file operation notification among the terminal devices 1 connected to the storage server 3 via the API server 2), that is, included in the update notification. From the communication unit 31, an FI acquisition request received from the terminal device 1 used by the user of the shared information (user ID) to be received via the API server 2 from the terminal device 1 that has not transmitted the file operation notification is received. Input (step S3106).

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 FI transmission unit 323 refers to the file path of the FI stored in the storage unit 33 based on the path of the upper folder included in the FI acquisition request, and stores the FIs of all the files belonging to the upper folder. (Step S3107). Then, as a response to the FI acquisition request, the FI transmission unit 323 sends the FIs of all the files belonging to the upper folder to the terminal device 1 via the API server 2 (the terminal device 1 that has transmitted the FI acquisition request in step S3106). ) (Step S3108). Accordingly, the terminal device 1 that has transmitted the FI acquisition request can hold the same FI as the FI stored in the storage unit 33 of the storage server 3.

〔衝突処理〕(衝突処理部/ストレージサーバ)
次に、図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 collision processing unit 324 in the storage server 3 illustrated in FIG. 26 will be described in detail. FIG. 32 is a flowchart showing the processing of the collision processing unit 324, which corresponds to the processing of step S2802, step S2803, and step S2807 shown in FIG. Corresponding to the processing of the collision processing unit 324, processing by the communication unit 11 in the terminal device 1 and the file operation unit 121 of the file processing unit 12 is performed as shown in steps S1612 to S1614 in FIG.

ファイル衝突は、ストレージサーバ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 terminal device 1 without the FI generated in the storage server 3 being reflected in the terminal device 1. For example, after the first terminal device 1 and the second terminal device 1 download the same file, the first terminal device 1 is changed from online to offline, and the second terminal device 1 performs file update. When the storage server 3 updates the FI and the file along with this file update, and the first terminal device 1 is changed from offline to online and performs the file update process, the storage server 3 File conflict occurs.

図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 storage server 3 and downloading the file. Here, it is assumed that FI (a, b, c, d, e, f, g). Hereinafter, the process of the collision processing unit 324 illustrated in FIG. 32 will be described using the sequences of FIGS. 11, 12, and 13.

端末装置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 storage server 3. To do. The operation type specifying unit 321 of the synchronization control unit 32 in the storage server 3 inputs the file operation notification received from the terminal device 1-2 from the communication unit 31, and the operation type is “file update” by the process shown in FIG. To be specific.

衝突処理部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 collision processing unit 324 compares the E tag d included in the attribute group with the E tag d included in the FI (step S3201), determines that the E tag d is the same (step S3201: Y), and file collision The absence is determined (step S3202). Then, the update file is uploaded from the terminal device 1-2, and the update file is stored in the storage unit 33 as the file x. Also, FI (a, b1, c1, d2, e, f, g2) for the file x is generated, stored in the storage unit 33, and transmitted to the terminal device 1-2. Note that since the terminal device 1-1 is offline, an event with update due to the update notification is not notified to the terminal device 1-1. At this time, the terminal device 1-2 and the storage server 3 hold the same FI (a, b1, c1, d2, e, f, g2) and the file x of this FI, and the terminal device 1-1 , The FI (a, b, c, d, e, f, g) before update and the file before update are held.

端末装置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 storage server 3. The operation type specifying unit 321 of the synchronization control unit 32 in the storage server 3 inputs the file operation notification received from the terminal device 1-1 from the communication unit 31, and sets the operation type to “file update” by the process shown in FIG. To be specific.

衝突処理部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 collision processing unit 324 compares the E tag d included in the attribute group with the E tag d2 included in the FI (step S3201), determines that the E tags are different (step S3201: N), and determines that there is a file collision. (Step S3203). Then, the collision processing unit 324 determines whether or not both the operation type in the terminal device 1-2 and the operation type in the terminal device 1-1 are “file update” (step S3204). In the case of this example, it is determined that the operation type in the terminal devices 1-1 and 1-2 is “file update” (step S3204: Y), that is, after the file update by the terminal device 1-2 is performed, The file update by the terminal device 1-1 is performed, and it is determined that there is a file collision state, and a collision avoidance process at the time of file update is performed. The collision processing unit 324 outputs a user selection command to the communication unit 31. This user selection command is transmitted via the API server 2 to the terminal device 1-1 that has transmitted the file operation notification (step S3205). As a result, the terminal device 1-1 receives the user selection command, and selects “Save New File”, “Forced Overwrite”, “Discard Latest Update”, and “Cancel” as shown in Step S1613 of FIG. Thus, the user selection type is transmitted to the storage server 3 via the API server 2.

衝突処理部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 collision processing unit 324 inputs the user selection type received from the terminal device 1-1 from the communication unit 31, and determines the user selection type (steps S3206 and S3207). As illustrated in FIG. 12A, when the collision processing unit 324 determines the user selection type “new file storage”, the file y is uploaded from the terminal device 1-1 and stored in the storage unit 33 as a new file. (Step S3208). Then, the collision processing unit 324 assigns the E tag d4 and the update date / time g4 (step S3209), assigns the unique IDa4 for specifying the file y, and also assigns the file name e4 (step S3210). Then, the collision processing unit 324 generates a new FI (1) FI (a4, b3, c3, d4, e4, f, g4), and stores it in the storage unit 33 (step S3211). Then, the collision processing unit 324 transmits the new FI (1) and the FI of the file x updated by the terminal device 1-2 to the terminal device 1-1 that has transmitted the file operation notification (step S3212). Further, the collision processing unit 324 transmits FI (1) and FI to the terminal device 1-2 by the event notification sequence shown in FIG.

このように、ストレージサーバ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 collision processing unit 324 of the storage server 3 determines that there is a file collision by updating the files of the terminal devices 1-1 and 1-2, the file y updated later in addition to the file x updated earlier. Is also stored in the storage unit 33, and FI and FI (1) are transmitted to the terminal devices 1-1 and 1-2. As a result, the terminal apparatuses 1-1 and 1-2 and the storage server 3 can respectively hold the FI of the file x updated earlier and the FI (1) of the file y updated later, and establish file synchronization. be able to. That is, the file synchronization system 10 can manage different files x and y generated by updating the same file, and the user can update the file y updated in the terminal device 1-1 and the terminal device 1-2. The file x updated in step 1 is not lost.

図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 collision processing unit 324 determines the user selection type “forced overwrite”, the file y is uploaded from the terminal device 1-1 and the original file is deleted from the storage unit 33. The uploaded file y is stored in the storage unit 33 as a new file (step S3213). Then, the collision processing unit 324 adds the E tag d4 and the update date and time g4 (step S3214), generates FI (a, b3, c3, d4, e, f, g4), and overwrites the storage unit 33 ( Step S3215). Then, the collision processing unit 324 transmits the generated FI to the terminal device 1-1 that has transmitted the file operation notification (step S3212). Further, the collision processing unit 324 transmits the generated FI to the terminal device 1-2 by the event notification sequence illustrated in FIG.

このように、ストレージサーバ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 collision processing unit 324 of the storage server 3 determines that there is a file collision by updating the files of the terminal devices 1-1 and 1-2, the previously updated file x is deleted from the storage unit 33, The file y updated later is stored in the storage unit 33, and the FI of the file y is transmitted to the terminal devices 1-1 and 1-2. Thereby, the terminal devices 1-1 and 1-2 and the storage server 3 can each hold the FI of the file y updated later, and can establish file synchronization. That is, the file synchronization system 10 can manage the file y updated later.

図13(3)に示すように、衝突処理部324は、ユーザ選択種別「破棄して最新取得」を判別した場合、ファイルxのFI(a,b1,c1,d2,e,f,g2)を、ファイル操作通知を送信してきた端末装置1−1へ送信する(ステップS3212)。   As shown in FIG. 13 (3), when the collision processing unit 324 determines the user selection type “discard and latest acquisition”, the FI (a, b1, c1, d2, e, f, g2) of the file x Is transmitted to the terminal device 1-1 that has transmitted the file operation notification (step S3212).

このように、ストレージサーバ3の衝突処理部324は、端末装置1−1,1−2のファイル更新により、ファイル衝突有りを判定した場合、先に更新したファイルxのFIを端末装置1−1へ送信するようにした。これにより、端末装置1−1,1−2及びストレージサーバ3は、先に更新したファイルxのFIをそれぞれ保持することができ、ファイル同期を確立することができる。つまり、ファイル同期システム10は、先に更新したファイルxを管理することができる。   As described above, when the collision processing unit 324 of the storage server 3 determines that there is a file collision by updating the files of the terminal devices 1-1 and 1-2, the FI of the file x that has been updated first is used as the terminal device 1-1. Was sent to. As a result, the terminal apparatuses 1-1 and 1-2 and the storage server 3 can each hold the FI of the file x updated previously, and can establish file synchronization. That is, the file synchronization system 10 can manage the previously updated file x.

図13(4)に示すように、衝突処理部324は、ユーザ選択種別「キャンセル」を判別した場合、処理を行うことなく図32に示した処理を終了する。   As illustrated in FIG. 13 (4), when the collision processing unit 324 determines the user selection type “cancel”, the collision processing unit 324 ends the process illustrated in FIG. 32 without performing the process.

このように、ストレージサーバ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 collision processing unit 324 of the storage server 3 is configured not to perform processing when it is determined that there is a file collision by updating the files of the terminal devices 1-1 and 1-2. Thereby, the terminal device 1-2 and the storage server 3 can each hold FI of the file x updated previously, and can establish file synchronization. Also, the terminal device 1-1 holds the file y and FI (a, b3, c3, d, e, f, g) when the file operation notification is transmitted as they are.

以上のように、ストレージサーバ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 collision processing unit 324 of the synchronization control unit 32 in the storage server 3 holds the E tag included in the received file operation notification attribute group and the storage unit 33 of the storage server 3. The E tag included in the FI is compared, and if the E tag is different, it is determined that there is a file collision. In addition to the file x updated earlier, the file y updated later is stored in the storage unit 33, and the file x FI (1) for file FI and file y is transmitted to the terminal device 1. As a result, the file collision is reliably adjusted, and the terminal device 1 and the storage server 3 can hold the same FI, so that file synchronization can be established. Never lose track of your files. In other words, in the terminal device 1-2 that has performed the file operation first and the terminal device 1-1 that has performed the file operation later, the file updated in the terminal device 1 is stored in the storage server 3 and other terminal devices. Since the file updated in 1 is also stored in the storage server 3, the file conflict is resolved, and the user who operates each terminal device 1-1, 1-2 does not lose sight of the file. As described above, when the terminal device 1-2 is connected to the storage server 3 and the terminal device 1-1 is not connected to the storage server 3, the storage device 3 is updated with the file update in the terminal device 1-2. And the attribute group transmitted to the storage server 3 along with the file update in the terminal device 1-1 when the terminal device 1-1 is connected to the storage server 3 later. It is determined that there is a collision. Then, the storage server 3 stores two FI and FI (1) and two files x and y. Thereby, file collision is eliminated and the user who operates each terminal device 1-1, 1-2 does not lose sight of the file.

また、衝突処理部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 collision processing unit 324 determines in step S3204 that the operation type in the terminal devices 1-1 and 1-2 is not “file update” (step S3204: N), the collision avoidance process associated with another operation is performed. Is performed (step S3216). For example, in the terminal devices 1-1 and 1-2 shown in FIG. 11, when the operation in the terminal devices 1-1 and 1-2 is both “file move”, the previous operation by the terminal device 1-2 is “ When the file operation is “file move” and the subsequent operation by the terminal device 1-1 is “file update”, or the previous operation by the terminal device 1-2 is “file name change” and the subsequent operation by the terminal device 1-1 is In the case of “file name change” or when the previous operation by the terminal device 1-2 is “file deletion” and the subsequent operation by the terminal device 1-1 is “file update”, the file operation is performed first. In the terminal device 1-2 and the terminal device 1-1 that has operated the file later, the file updated in its own terminal device 1 is stored in the storage server 3, and the file updated in the other terminal device 1 is also It is stored in the tray di server 3. At this time, as in the case where the operation type in the terminal devices 1-1 and 1-2 is “file update”, the collision processing unit 324 transmits a user selection command to the terminal device 1-1, and selection by the user. May be accepted.

〔ファイルを分割した領域毎のファイル更新〕
次に、ファイルをアップロードする際に、ファイルを所定サイズに分割した領域毎に行うファイル更新の処理について説明する。図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 file processing unit 12 in the terminal device 1 will be described with reference to FIG. FIG. 22 is a flowchart illustrating a process when the file processing unit 12 of the terminal device 1 performs file update for each region. The storage unit 33 of the storage server 3 stores a predetermined file and FI (a, b, c (1),..., C (5), d, e, f, g) of the file. And The hash values c (1),..., C (5) are values corresponding to area data in an area obtained by dividing a predetermined file into a predetermined size.

端末装置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 file operation unit 121 of the file processing unit 12 in the terminal device 1-2 receives FI (a, b, c (1),..., C (5), d, e, f, g), the file is downloaded (step S2201), and hash values c (1),..., for each area number (area numbers 1,..., 5) obtained by dividing the file into predetermined sizes. c (5) and the area data are stored in the area data file of the storage unit 13 (step S2202).

図21は、端末装置1の記憶部13に格納された領域データファイルの構成を示す図である。図21に示すように、領域データファイルは、領域番号毎のハッシュ値及び領域データにより構成される。   FIG. 21 is a diagram illustrating a configuration of the area data file stored in the storage unit 13 of the terminal device 1. As shown in FIG. 21, the area data file is composed of a hash value and area data for each area number.

ここで、ユーザによりファイル更新の操作が行われ、ファイルのうちの領域番号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 area number 3 in the file is updated (step S2203: Y). Then, the file operation unit 121 assigns the hash value c1 (3) to the updated region data of the region number 3, and stores the hash value c1 (3) and the updated region data corresponding to the region number 3 in the storage unit. 13 area data files are stored (step S2204).

属性処理部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 attribute processing unit 122 assigns the file size b1 (step S2205), and the hash values c (1), c (2), c1 (3), c (4), c (5) from the area data file in the storage unit 13. ) Is read (step S2206), and attribute groups (a, b1, c (1), c (2), c1 (3), c (4), c (5), d, e, f, g) are generated. (Step S2207).

属性処理部122は、ステップS2207において生成した属性群及び端末装置1−2の端末ID(PC−B)を含むファイル操作通知を通信部11に出力する。このファイル操作通知は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS2208)。これにより、ストレージサーバ3は、ファイル操作通知を受信し、操作種別を「ファイル更新」に特定し、領域データが更新された領域番号3を特定し、領域番号3を含む領域データ送信指令を、APIサーバ2を介して端末装置1−2へ送信する。   The attribute processing unit 122 outputs a file operation notification including the attribute group generated in step S2207 and the terminal ID (PC-B) of the terminal device 1-2 to the communication unit 11. This file operation notification is transmitted to the storage server 3 via the API server 2 (step S2208). Thereby, the storage server 3 receives the file operation notification, specifies the operation type as “file update”, specifies the area number 3 in which the area data has been updated, and issues an area data transmission command including the area number 3, It transmits to the terminal device 1-2 via the API server 2.

ファイル操作部121は、ストレージサーバ3からAPIサーバ2を介して受信した領域データ送信指令を通信部11から入力し(ステップS2209)、記憶部13の領域データファイルから、領域データ送信指令に含まれる領域番号3のハッシュ値c1(3)及び領域データを読み出し(ステップS2210)、領域番号3、ハッシュ値c1(3)及び領域データを含む領域データ応答を生成し、通信部11に出力する。この領域データ応答は、APIサーバ2を介してストレージサーバ3へ送信される(ステップS2211)。これにより、ストレージサーバ3は、領域データ応答を受信し、領域データを統合して記憶部33に格納し、通常のファイル更新の処理を行う。詳細については後述する。   The file operation unit 121 inputs the region data transmission command received from the storage server 3 via the API server 2 from the communication unit 11 (step S2209), and is included in the region data transmission command from the region data file in the storage unit 13. The hash value c1 (3) and area data of area number 3 are read (step S2210), and an area data response including the area number 3, hash value c1 (3) and area data is generated and output to the communication unit 11. This area data response is transmitted to the storage server 3 via the API server 2 (step S2211). As a result, the storage server 3 receives the area data response, integrates the area data, stores it in the storage unit 33, and performs normal file update processing. Details will be described later.

(領域毎のファイル更新/ファイル・FI処理部/ストレージサーバ)
次に、図14を参照してストレージサーバ3におけるファイル・FI処理部322の処理について説明する。図34は、ストレージサーバ3のファイル・FI処理部322による領域毎にファイル更新を行う場合の処理を示すフローチャートである。
(File update per area / file / FI processing unit / storage server)
Next, processing of the file / FI processing unit 322 in the storage server 3 will be described with reference to FIG. FIG. 34 is a flowchart showing processing when file update is performed for each area by the file / FI processing unit 322 of the storage server 3.

図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 storage unit 33 of the storage server 3. As shown in FIG. 33, the area data file is configured for each unique ID for specifying a file, and includes a hash value and area data for each area number. Assume that the storage unit 33 stores hash values c (1),..., C (5) and area data for each area number for the file with the unique IDa.

ストレージサーバ3における同期制御部32の操作種別特定部321により、端末装置1−2から受信したファイル操作通知に基づいて操作種別が「ファイル更新」に特定されると(ステップS3401:Y)、ファイル・FI処理部322は、ファイル操作通知に含まれる属性群のハッシュ値と、ストレージサーバ3の記憶部33に格納されたユニークIDが同じFIのハッシュ値とを比較し、異なるハッシュ値c1(3)を選出して領域番号3を特定する(ステップS3402)。   When the operation type specifying unit 321 of the synchronization control unit 32 in the storage server 3 specifies “file update” based on the file operation notification received from the terminal device 1-2 (step S3401: Y), the file The FI processing unit 322 compares the hash value of the attribute group included in the file operation notification with the hash value of the FI having the same unique ID stored in the storage unit 33 of the storage server 3, and the different hash value c1 (3 ) Is selected and area number 3 is specified (step S3402).

ファイル・FI処理部322は、領域番号3を含む領域データ送信指令を生成し、通信部31に出力する。この領域データ送信指令は、APIサーバ2を介して、ファイル操作通知を送信してきた端末装置1−2へ送信される(ステップS3403)。これにより、端末装置1−2は、前述のとおり、記憶部13の領域データファイルから、領域データ送信指令に含まれる領域番号3のハッシュ値c1(3)及び領域データを読み出し、領域番号3、ハッシュ値c1(3)及び領域データを含む領域データ応答をストレージサーバ3へ送信する。   The file / FI processing unit 322 generates a region data transmission command including the region number 3 and outputs the region data transmission command to the communication unit 31. This area data transmission command is transmitted via the API server 2 to the terminal device 1-2 that has transmitted the file operation notification (step S3403). Thereby, the terminal device 1-2 reads the hash value c1 (3) and the region data of the region number 3 included in the region data transmission command from the region data file in the storage unit 13 as described above, and the region number 3, An area data response including the hash value c1 (3) and area data is transmitted to the storage server 3.

ファイル・FI処理部322は、端末装置1−2から受信した領域データ応答を通信部31から入力し(ステップS3404)、記憶部33の領域データファイルに、領域データ応答に含まれる領域番号3に対応して、領域データファイルに含まれるハッシュ値c1(3)及び領域データを格納する(ステップS3405)。   The file / FI processing unit 322 inputs the region data response received from the terminal device 1-2 from the communication unit 31 (step S3404), and sets the region number 3 included in the region data response in the region data file of the storage unit 33. Correspondingly, the hash value c1 (3) and the area data included in the area data file are stored (step S3405).

ファイル・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 processing unit 322 uses the same hash value c (1), c included in the same FI with the unique ID stored in the storage unit 33 of the storage server 3 among the hash values of the attribute group included in the file operation notification. For (2), c (4), and c (5), area numbers 1, 2, 4, and 5 are specified, and the area data of area numbers 1, 2, 4, and 5 are extracted from the area data file in the storage unit 33. Read (step S3406).

ファイル・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 / FI processing unit 322 integrates the area data of area number 3 included in the received area data response and the area data of area numbers 1, 2, 4, and 5 read in step S3406 (step S3407). The original file is deleted from the storage unit 33, and the integrated file is stored in the storage unit 33 (step S3408). The processing in step S3408 corresponds to the processing in step S3006 shown in FIG. Then, the file / FI processing unit 322 performs processing such as generating an FI by adding an E tag d2 or the like (step S3409). The processing in step S3409 corresponds to the processing in steps S3007 and S3008 shown in FIG.

以上のように、端末装置1におけるファイル処理部12のファイル操作部121及び属性処理部122、並びにストレージサーバ3における同期制御部32のファイル・FI処理部322によれば、ファイルを所定サイズに分割した領域毎のハッシュ値及び領域データを含む領域データファイルを格納し、属性群及びFIに含まれるハッシュ値を領域毎のハッシュ値として扱うようにした。そして、端末装置1におけるファイル処理部12のファイル操作部121は、ストレージサーバ3から受信した領域データ送信指令に含まれる領域番号に従って、更新された領域データのみをストレージサーバ3へ送信するようにした。これにより、ファイルを構成する全データを送信する必要がないから、送信データ量を低減することができ、送信処理速度の向上を図ることができる。また、通信が中断した後再開した場合、ファイルを構成する全データを送信する必要がなく、更新された領域の領域データのみを送信すれば済むから、処理の効率化を図ることができる。   As described above, according to the file operation unit 121 and the attribute processing unit 122 of the file processing unit 12 in the terminal device 1 and the file / FI processing unit 322 of the synchronization control unit 32 in the storage server 3, the file is divided into a predetermined size. The area data file including the hash value and area data for each area is stored, and the hash value included in the attribute group and FI is handled as the hash value for each area. Then, the file operation unit 121 of the file processing unit 12 in the terminal device 1 transmits only the updated area data to the storage server 3 in accordance with the area number included in the area data transmission command received from the storage server 3. . Thereby, since it is not necessary to transmit all the data constituting the file, the amount of transmission data can be reduced, and the transmission processing speed can be improved. Further, when the communication is resumed after being interrupted, it is not necessary to transmit all the data constituting the file, and only the area data of the updated area needs to be transmitted, so that the processing efficiency can be improved.

また、新規ファイルを端末装置1からストレージサーバ3へアップロードしているときにエラーが発生し、アップロードが完了しなかった場合には、端末装置1は、エラーが解除された後に、アップロードがされていない領域データのみを引き続きストレージサーバ3へアップロードすればよい。これにより、送信データ量の低減及び送信処理速度の向上を図ることができ、アップロードの処理の効率化を図ることができる。   Further, when an error occurs when uploading a new file from the terminal device 1 to the storage server 3 and the upload is not completed, the terminal device 1 has been uploaded after the error is cleared. Only area data that is not required may be continuously uploaded to the storage server 3. As a result, the amount of transmission data can be reduced and the transmission processing speed can be improved, and the efficiency of upload processing can be improved.

尚、前述した領域毎のファイル更新処理は、ファイルをアップロードする場合の処理であるが、ファイルをダウンロードする場合にも適用がある。すなわち、端末装置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 terminal device 1 compares the hash value included in the FI received from the storage server 3 with the hash value included in the FI stored in the terminal device 1, identifies the updated region number, and determines the region number. An area data transmission command including “” is transmitted to the storage server 3. Then, the storage server 3 reads the updated region data from the storage unit 33 according to the region number included in the region data transmission command received from the terminal device 1, and transmits a region data response including the region data to the terminal device 1. To do.

〔イベントサーバ〕
次に、図1及び図2に示したイベントサーバ4について詳細に説明する。図35は、イベントサーバ4の構成を示すブロック図である。このイベントサーバ4は、通信部41及び記憶部42を備えている。
[Event server]
Next, the event server 4 shown in FIGS. 1 and 2 will be described in detail. FIG. 35 is a block diagram showing a configuration of the event server 4. The event server 4 includes a communication unit 41 and a storage unit 42.

通信部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 communication unit 41 transmits and receives data between the API server 2 and the connection server 5 using a predetermined protocol. The communication unit 41 receives connection information (user ID and terminal ID) logged into the network 6 of the file synchronization system 10 managed by the connection server 5 and stores the connection information in the storage unit 42. Further, the communication unit 41 receives the update notification from the API server 2, reads the connection information from the storage unit 42, and shares information (user ID) and the transmission source terminal ID (the terminal on which the file operation has been performed) included in the update notification The terminal ID of the device 1) and the connection information (user ID and terminal ID) are specified, and the terminal ID of the terminal device 1 that notifies the updated event is specified, and an update command including the notification destination terminal ID is sent to the connection server. To 5.

記憶部42には、接続情報が格納されている。接続情報は通信部41により格納され、また、読み出される。接続情報は、前述のとおり、コネクションサーバ5により管理される情報であり、端末装置1が、ユーザによりファイル同期システム10を構成するネットワーク6へログインした場合に、ログインしたユーザ及び接続された端末装置1に関するユーザID及び端末IDからなる情報である。すなわち、ユーザが使用している端末装置1に関するユーザID及び端末IDが対になったユーザ固有情報である。   The storage unit 42 stores connection information. The connection information is stored and read by the communication unit 41. As described above, the connection information is information managed by the connection server 5, and when the terminal device 1 logs in to the network 6 constituting the file synchronization system 10 by the user, the logged-in user and the connected terminal device. 1 is information including a user ID and a terminal ID. That is, it is user specific information in which a user ID and a terminal ID related to the terminal device 1 used by the user are paired.

図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 storage unit 42. As described above, the connection information is user-specific information in which a user ID and a terminal ID are paired. For example, user ID: A and terminal ID: PC-A pair information, user ID: B and terminal ID: PC -B pair information. In the example of the connection information shown in FIG. 36, the terminal device 1 having the terminal ID: PC-A is logged in and connected to the network 6 of the file synchronization system 10 with the user ID: A, and the terminal ID: PC- The terminal device 1 having B is logged in and connected by the user ID: B.

次に、図35に示したイベントサーバ4の処理について説明する。図37は、イベントサーバ4の処理を示すフローチャートである。イベントサーバ4の通信部41は、コネクションサーバ5から接続情報を受信したか否かを判定し(ステップS3701)、接続情報を受信したと判定した場合(ステップS3701:Y)、接続情報を記憶部42に格納する(ステップS3702)。一方、通信部41は、ステップS3701において、接続情報を受信していないと判定した場合(ステップS3701:N)、ステップS3703へ移行する。   Next, processing of the event server 4 shown in FIG. 35 will be described. FIG. 37 is a flowchart showing the processing of the event server 4. The communication unit 41 of the event server 4 determines whether or not connection information has been received from the connection server 5 (step S3701). If it is determined that the connection information has been received (step S3701: Y), the connection information is stored in the storage unit. 42 (step S3702). On the other hand, if the communication unit 41 determines in step S3701 that connection information has not been received (step S3701: N), the communication unit 41 proceeds to step S3703.

通信部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 communication unit 41 proceeds from step S3701 to determine whether or not an update notification has been received from the API server 2 (step S3703). When it is determined that an update notification has been received (step S3703: Y), the storage unit 42, the connection information is read out, and an event with an update is determined based on the shared information (user ID) and the transmission source terminal ID (terminal ID of the terminal device 1 on which the file operation has been performed) included in the update notification and the connection information. The terminal ID of the terminal device 1 to be notified is specified (step S3704). Specifically, the communication unit 41 identifies the terminal ID corresponding to the user ID of the shared information based on the connection information (user ID and terminal ID), and the transmission source terminal ID (file) of the identified terminal IDs The terminal device 1 that notifies an event with an update of a terminal ID (other terminal device 1 connected to the storage server 3 via the API server 2) other than the terminal ID of the terminal device 1 on which the operation is performed. The terminal ID, that is, the notification destination terminal ID is specified.

通信部41は、通知先の端末IDを含む更新指令をコネクションサーバ5へ出力する(ステップS3705)。   The communication unit 41 outputs an update command including the notification destination terminal ID to the connection server 5 (step S3705).

イベントサーバ4は、ステップS3702、ステップS3705から移行すると、またはステップS3703において更新通知を受信していないと判定した場合(ステップS3703:N)、処理を終了してステップS3701の処理を再度行う。   When the event server 4 proceeds from step S3702 or step S3705 or determines that the update notification is not received in step S3703 (step S3703: N), the event server 4 ends the process and performs the process of step S3701 again.

〔コネクションサーバ〕
次に、図1及び図2に示したイベントサーバ5について詳細に説明する。図38は、コネクションサーバ5の構成を示すブロック図である。このコネクションサーバ5は、通信部51及び接続管理部52を備えている。
[Connection Server]
Next, the event server 5 shown in FIGS. 1 and 2 will be described in detail. FIG. 38 is a block diagram showing the configuration of the connection server 5. The connection server 5 includes a communication unit 51 and a connection management unit 52.

通信部51は、所定のプロトコルを用いて端末装置1とイベントサーバ4との間でデータの送受信を行う。通信部51は、端末装置1からログイン情報(ユーザID及び端末ID)を受信して接続管理部52に出力し、接続管理部52から接続情報(ユーザID及び端末ID)を入力してイベントサーバ4へ送信する。また、通信部51は、イベントサーバ4から更新指令を受信し、更新指令に含まれる通知先の端末IDの端末装置1へ更新有りの情報を送信する。   The communication unit 51 transmits and receives data between the terminal device 1 and the event server 4 using a predetermined protocol. The communication unit 51 receives login information (user ID and terminal ID) from the terminal device 1 and outputs the login information (user ID and terminal ID) to the connection management unit 52, and inputs connection information (user ID and terminal ID) from the connection management unit 52. 4 to send. In addition, the communication unit 51 receives an update command from the event server 4 and transmits information indicating that there is an update to the terminal device 1 of the notification destination terminal ID included in the update command.

接続管理部52は、通信部51からログイン情報を入力し、接続情報として管理し、接続情報を通信部51に出力する。   The connection management unit 52 receives login information from the communication unit 51, manages it as connection information, and outputs the connection information to the communication unit 51.

次に、図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 connection server 5 shown in FIG. 38 will be described. FIG. 39 is a flowchart showing processing of the connection server 5. The communication unit 51 of the connection server 5 determines whether or not login information has been received from the terminal device 1 (step S3901). If it is determined that the login information has been received (step S3901: Y), the login information is connection-managed. To the unit 52. Then, the connection management unit 52 receives the login information from the communication unit 51, manages it as connection information (step S3902), and outputs the connection information to the communication unit 51. The communication unit 51 inputs connection information from the connection management unit 52 and transmits it to the event server 4 (step S3903). On the other hand, if the communication unit 51 determines in step S3901 that login information has not been received (step S3901: N), the communication unit 51 proceeds to step S3904.

通信部51は、ステップS3901から移行して、イベントサーバ4から更新指令を受信したか否かを判定し(ステップS3904)、更新指令を受信したと判定した場合(ステップS3904:Y)、更新指令に含まれる通知先の端末IDの端末装置1へ、更新有りの情報を送信する(ステップS3905)。   The communication unit 51 proceeds from step S3901 to determine whether or not an update command has been received from the event server 4 (step S3904). When it is determined that an update command has been received (step S3904: Y), the update command Is transmitted to the terminal device 1 of the notification destination terminal ID included in (step S3905).

コネクションサーバ5は、ステップS3903、ステップS3905から移行すると、またはステップS3904において更新指令を受信していないと判定した場合(ステップS3904:N)、処理を終了してステップS3901の処理を再度行う。   When the connection server 5 shifts from Step S3903 and Step S3905, or determines that an update command has not been received in Step S3904 (Step S3904: N), the connection server 5 ends the process and performs the process of Step S3901 again.

以上のように、本発明の実施形態によるファイル同期システム10によれば、端末装置1におけるファイル処理部12のアイコン表示部123は、ファイルのアップロード、アップロードの失敗及びダウンロードの状態を示すマーク、「新規ファイル作成」または「ファイルコピー」が他の端末装置1にて行われ、新たなファイルをストレージサーバ3からダウンロードしていない状態を示すマーク、及び、「ファイル更新」「ファイル名変更」または「ファイル移動」が他の端末装置1にて行われ、自らの端末装置1に古いファイルが保持されていることを示すマークを、それぞれの状態に応じてフォルダのアイコンに付加して表示するようにした。また、このマークを上位のフォルダへ伝搬表示するようにし、さらに、これらのマークを集約表示するようにした。これにより、ユーザは、ファイル操作を行う前に、フォルダのアイコンに付加して表示されたマークから、ファイル同期の状態を的確に認識することができる。したがって、ファイルに対する操作性を向上させることができる。   As described above, according to the file synchronization system 10 according to the embodiment of the present invention, the icon display unit 123 of the file processing unit 12 in the terminal device 1 has the mark indicating the file upload, upload failure, and download status, “ “New file creation” or “file copy” is performed in another terminal device 1 and a mark indicating that a new file has not been downloaded from the storage server 3, and “file update”, “file name change” or “ “Move file” is performed in the other terminal device 1, and a mark indicating that the old file is held in its own terminal device 1 is added to the icon of the folder according to each state and displayed. did. In addition, the mark is propagated and displayed to the upper folder, and further, these marks are collectively displayed. Thus, the user can accurately recognize the file synchronization state from the mark displayed by being added to the folder icon before performing the file operation. Therefore, the operability for the file can be improved.

以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、図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 API server 2 and transmits an FI acquisition request including the upper folder path. On the other hand, the terminal device 1-1 may receive the unique ID of the shared file in the upper folder instead of the path of the upper folder, and transmit the FI acquisition request including the unique ID. Further, in the file synchronization system 10 shown in FIGS. 1 and 2, the storage server 3 may have the functions of the event server 4 and the connection server 5. In this case, the file synchronization system 10 includes the terminal device 1, the receiving device 2, and the storage server 3.

尚、本発明の実施形態によるファイル同期システム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 terminal device 1, the API server 2, the storage server 3, the event server 4, and the connection server 5 of the file synchronization system 10 according to the embodiment of the present invention, a normal computer can be used. These devices are configured by a computer having a volatile storage medium such as a CPU and a RAM, a non-volatile storage medium such as a ROM, an interface, and the like. A communication unit 11 and a file processing unit 12 provided in the terminal device 1, a communication unit 21 provided in the API server 2, a communication unit 31 and a synchronization control unit 32 provided in the storage server 3, a communication unit 41 provided in the event server 4, Each function of the communication unit 51 included in the connection server 5 is realized by causing the CPU to execute a program describing these functions. These programs can also be stored and distributed in a storage medium such as a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), optical disk (CD-ROM, DVD, etc.), semiconductor memory, or the like.

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 SYMBOLS 1 Terminal device 2 API server 3 Storage server 4 Event server 5 Connection server 6 Network 10 File synchronous system 11, 21, 31, 41, 51 Communication part 12 File processing part 13, 22, 33, 42 Storage part 32 Synchronization control part 52 Connection management unit 121 File operation unit 122 Attribute processing unit 123 Icon display unit 321 Operation type identification unit 322 File / FI processing unit 323 FI transmission unit 324 Collision processing unit

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.
請求項1に記載のプログラムにおいて、
前記属性データは、少なくとも、前記ファイルを一意に特定するための値であって前記ストレージサーバにより付与されるユニーク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 .
請求項1または2に記載のプログラムにおいて、
前記ファイルへの操作の種別に応じたマークを、前記アイコンから上位のフォルダのアイコンへ伝搬させて表示するステップ、をコンピュータに実行させることを特徴とするプログラム。
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 .
請求項1から3までのいずれか一項に記載のプログラムにおいて、
前記ファイルへの操作の種別に応じたマークを前記上位のフォルダのアイコンに付加して表示する際に、前記フォルダのアイコンの画像と、前記マークが前記アイコンの表示範囲内の所定位置に配置され前記マーク以外の箇所が透過した画像とを合成する、ことを特徴とするプログラム。
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 .
請求項1から4までのいずれか一項に記載のプログラムにおいて、
複数のファイルへの操作の種別に応じたそれぞれの前記マークを前記上位のフォルダのアイコンに付加して表示する際に、前記それぞれのマークを、前記アイコンの表示範囲内で互いに重ならないように表示する、ことを特徴とするプログラム。
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.
JP2010222970A 2010-09-30 2010-09-30 Icon display program, method and system Active JP5328739B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007336212A (en) * 2006-06-14 2007-12-27 Canon Inc Information duplication method and system

Cited By (4)

* Cited by examiner, † Cited by third party
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