JP2009157880A - Server device and file system - Google Patents

Server device and file system Download PDF

Info

Publication number
JP2009157880A
JP2009157880A JP2007338774A JP2007338774A JP2009157880A JP 2009157880 A JP2009157880 A JP 2009157880A JP 2007338774 A JP2007338774 A JP 2007338774A JP 2007338774 A JP2007338774 A JP 2007338774A JP 2009157880 A JP2009157880 A JP 2009157880A
Authority
JP
Japan
Prior art keywords
server device
file
network
update
memory
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.)
Pending
Application number
JP2007338774A
Other languages
Japanese (ja)
Inventor
Katsuaki Motoyuki
克明 本行
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007338774A priority Critical patent/JP2009157880A/en
Publication of JP2009157880A publication Critical patent/JP2009157880A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method, a device and a system storing all files and control information on a memory and accessing shared files at high speed by two or more computers. <P>SOLUTION: A virtual file system using a memory 1007 using no hard disk is constructed on server devices 101, 102 to share files. The file 1010 or the like on the memory 1007 of each server device is synchronized so that each server refers to the file as the same content. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、複数のサーバ(コンピュータ)において、同一のファイルを2台以上のサーバのメモリを用いて共用することを可能とする、サーバ間ファイル共用に関する。   The present invention relates to inter-server file sharing that enables a plurality of servers (computers) to share the same file using the memory of two or more servers.

ファイルを共用するシステムにおいて、それぞれのサーバにディスクを置き、それぞれのサーバに二重書きするという手段がある。   In a system that shares files, there is a means of placing a disk on each server and writing to each server.

記憶制御装置間で遠隔二重書きを行うと共に、それぞれの上位装置からのファイル共用に際して、ファイル単位の排他制御を可能とするシステム等が特開2003−84917号公報(特許文献1)に記載されている。すなわち、ファイル管理情報は第1ネットワーク経由で共用する一方、第2ネットワーク(SAN)を通じて2台のファイルサーバの遠隔二重書き装置間でデータを複製することでデータ転送負荷を軽減し、二重書きのためのデータ転送を妨げないというものである。
特開2003−84917号公報
Japanese Laid-Open Patent Publication No. 2003-84917 (Patent Document 1) describes a system that performs remote dual writing between storage control devices and enables exclusive control in units of files when sharing files from each host device. ing. That is, while the file management information is shared via the first network, the data transfer load is reduced by duplicating data between the remote dual writing devices of the two file servers via the second network (SAN). It does not prevent data transfer for writing.
JP 2003-84917 A

上述の通り、特許文献1記載の発明では、遠隔のディスク及び遠隔のコンピュータに対して、第1ネットワークで排他制御し、データは第2ネットワークで二重書きするという方法で、複数の記録装置に同じ内容のファイルを共有する方法を取っている。しかし、第1ネットワークで制御情報のやり取りをし、第2ネットワークを使ってデータのやり取りを行っているため、排他の間隔が長いという問題がある。また、この方法では、排他の制御もファイル単位でしか行うことができない。   As described above, in the invention described in Patent Document 1, exclusive control is performed on a remote disk and a remote computer by the first network, and data is double-written by the second network. You are sharing a file with the same content. However, since control information is exchanged in the first network and data is exchanged using the second network, there is a problem that the exclusion interval is long. Also, with this method, exclusive control can be performed only on a file basis.

本発明の目的は、全てのファイルや制御情報をメモリ上におき、2台以上のコンピュータで高速に共用ファイルをアクセスするサーバ装置及びファイルシステムを提供することにある。   An object of the present invention is to provide a server device and a file system in which all files and control information are stored in a memory and a shared file is accessed at high speed by two or more computers.

また、本発明の別の目的はサーバダウン時に記録情報がなくなってしまった場合にそれを復旧させるためのシステムを提供することにある。   Another object of the present invention is to provide a system for recovering recorded information when it is lost when the server is down.

更に、本発明の別の目的としては、ファイルの部分的な排他を可能ならしめる方法を提供することにある。   Furthermore, it is another object of the present invention to provide a method that enables partial exclusion of files.

本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。   Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows.

本発明の代表的な実施の形態に関わるサーバ装置は、メモリと、第1ネットワークとのインターフェイスと、第2ネットワークとのインターフェイスを有し、メモリには該サーバ装置外に同一のデータが複製されるファイルが格納されており、第1ネットワーク経由で送信される前記ファイルへの更新要求を該サーバ装置上で動作するユーザプログラムが受信し、ユーザプログラムが前記ファイルの更新を該サーバ装置上で動作するデーモンに要求し、このデーモンが該サーバ装置内の前記ファイルの更新を実行し、かつ、前記第2ネットワーク経由で該サーバ装置外の複製された前記ファイルの更新を要求することを特徴とする。   A server device according to a representative embodiment of the present invention has a memory, an interface with a first network, and an interface with a second network, and the same data is duplicated outside the server device in the memory. The user program operating on the server device receives an update request for the file transmitted via the first network, and the user program operates on the server device to update the file. Requesting a daemon to perform update of the file in the server device, and requesting update of the replicated file outside the server device via the second network. .

本発明の代表的な実施の形態に関わる別のサーバ装置は、メモリと、第1ネットワークとのインターフェイスと、第2ネットワークとのインターフェイスを有し、メモリには該サーバ装置外に同一のデータが複製されるファイルが格納されており、第1ネットワーク経由で送信されるメモリ上のファイルへの更新要求を該サーバ装置上で動作するユーザプログラムが受信し、このユーザプログラムがファイルの更新を該サーバ装置上で動作するデーモンに要求し、このデーモンは該サーバ装置内のファイルの排他・アクセス権情報、及び、第2ネットワーク経由で該サーバ装置外の複製されたファイルの排他・アクセス権情報を確認し、該サーバ装置内の前記ファイルの排他・アクセス権情報、及び、該サーバ装置外の前記ファイルの排他・アクセス権情報の更新要件をいずれも具備している場合に、デーモンが該サーバ装置内のメモリ上の前記ファイルの更新を実行し、かつ、第2ネットワーク経由で該サーバ装置外の複製されたファイルの更新を要求することを特徴とする。   Another server device according to a representative embodiment of the present invention has a memory, an interface with a first network, and an interface with a second network, and the same data is stored in the memory outside the server device. A file to be copied is stored, a user program operating on the server device receives an update request to the file on the memory transmitted via the first network, and the user program updates the file to the server This daemon requests a daemon operating on the device, and this daemon checks the exclusive / access right information of the file in the server device and the exclusive / access right information of the copied file outside the server device via the second network. And the exclusive / access right information of the file in the server device and the exclusive / access right of the file outside the server device. When both the access right information update requirements are satisfied, the daemon updates the file on the memory in the server device, and the copied file outside the server device via the second network It is characterized by requesting the update.

このサーバ装置は、第1ネットワーク経由で送信されるメモリ上のファイルの参照要求を該サーバ装置上で動作するユーザプログラムが受信し、ユーザプログラムがファイルの参照を該サーバ装置上で動作するデーモンに要求し、このデーモンが該サーバ装置内のファイルを参照することを特徴としても良い。   In this server device, a user program operating on the server device receives a file reference request transmitted via the first network, and the user program sends a file reference to a daemon operating on the server device. The daemon may request and refer to a file in the server device.

本発明の代表的な実施の形態に関わる別のサーバ装置は、メモリと、第1ネットワークとのインターフェイスと、第2ネットワークとのインターフェイスを有し、メモリには該サーバ装置外に同一のデータが複製されるファイルが格納されており、第1ネットワーク経由で送信されるメモリ上のファイルへの更新要求を該サーバ装置上で動作するユーザプログラムが受信し、ユーザプログラムがファイルの更新を該サーバ装置上で動作するデーモンに要求し、デーモンは該サーバ装置内のファイルの排他・アクセス権情報、及び、該サーバ装置外の複製されたファイルの排他・アクセス権情報を第2ネットワーク経由で確認し、該サーバ装置内のファイルの排他・アクセス権情報、及び、該サーバ装置外の複製されたファイルの排他・アクセス権情報の更新条件のいずれも具備している場合に、デーモンが該サーバ装置内のファイルの更新を実行し、かつ、第2ネットワーク経由で該サーバ装置外の複製されたファイルの更新を要求することを特徴とする。   Another server device according to a representative embodiment of the present invention has a memory, an interface with a first network, and an interface with a second network, and the same data is stored in the memory outside the server device. A file to be copied is stored, a user program operating on the server device receives an update request to the file on the memory transmitted via the first network, and the user program updates the file. Requesting the daemon operating above, the daemon checks the exclusive / access right information of the file in the server device and the exclusive / access right information of the copied file outside the server device via the second network, Exclusive / access right information of files in the server device, and exclusive / access of copied files outside the server device If any of the right information update conditions is satisfied, the daemon updates the file in the server device, and requests update of a replicated file outside the server device via the second network. It is characterized by that.

このサーバ装置は、ファイルの排他・アクセス権情報はファイル単位での管理及びファイルの所定の容量単位での管理を可能にすることを特徴としても良い。   This server device may be characterized in that file exclusion / access right information can be managed in units of files and in units of a predetermined capacity of files.

また、このサーバ装置は、第2ネットワーク経由での所定のファイルの排他・アクセス権情報の確認要求に応じて、要求に関する排他・アクセス権情報をデーモンが確認し、確認結果を第2ネットワーク経由で送出することを特徴としても良い。   In addition, in response to a confirmation request for exclusion / access right information of a predetermined file via the second network, the server device confirms the exclusion / access right information regarding the request, and the confirmation result is transmitted via the second network. It is good also as sending out.

本発明の代表的な実施の形態に関わるファイルシステムは、メモリと、第1ネットワークとのインターフェイスと、第2ネットワークとのインターフェイスを有する第1のサーバ装置、及びメモリと、第1ネットワークとのインターフェイスと、第2ネットワークのインターフェイスを有する第2のサーバ装置を含み、第2のサーバの前記メモリに同一のデータが複製されるファイルが第1のサーバのメモリに格納されており、第1ネットワーク経由で送信されるファイルへの更新要求を第1のサーバ装置上で動作するユーザプログラムが受信し、ユーザプログラムがファイルの更新を第1のサーバ装置上で動作するデーモンに要求し、このデーモンは第1のサーバ装置内のファイルの排他・アクセス権情報を確認し、あわせて、第2のサーバ装置の複製されたファイルの排他・アクセス権情報を第2ネットワーク経由で前記第2のサーバ装置内で動作するデーモンに確認し、第1のサーバ装置内のファイルの排他・アクセス権情報、及び、第2のサーバ装置内の複製されたファイルの排他・アクセス権情報の更新条件をいずれも具備している場合に、デーモンが第1のサーバ装置内のファイルの更新を実行し、かつ、第2ネットワーク経由で第2のサーバ装置上の複製されたファイルの更新を要求することを特徴とする。   A file system according to an exemplary embodiment of the present invention includes a memory, an interface with a first network, a first server device having an interface with a second network, and an interface between the memory and the first network. And a second server device having an interface of the second network, and a file in which the same data is replicated in the memory of the second server is stored in the memory of the first server, via the first network The user program operating on the first server device receives the update request for the file transmitted in step 1, and the user program requests the daemon operating on the first server device to update the file. Confirm the exclusive / access right information of the file in the server device of 1 and, together with the second server The exclusive / access right information of the copied file of the device is confirmed with the daemon operating in the second server device via the second network, and the exclusive / access right information of the file in the first server device, and The daemon executes the update of the file in the first server device when both the exclusive / access right information update conditions of the copied file in the second server device are provided, and the second The update of the replicated file on the second server device is requested via the network.

このファイルシステムは、第2のサーバ装置上でもユーザプログラム及びデーモンが動作し、第1のサーバ装置で障害が発生した際に、第2のユーザプログラムが第1ネットワークを経由して処理を引き継ぐことを特徴としても良い。   In this file system, the user program and daemon operate on the second server device, and when a failure occurs in the first server device, the second user program takes over processing via the first network. It may be characterized.

このファイルシステムは、第1のサーバ装置の障害が復旧した際に第1のサーバ装置上で動作するデーモンが第2のサーバ装置上で動作するデーモンに第1のサーバ装置のメモリ上のファイルと第2のサーバ装置のメモリ上のファイルの同期状態を第2ネットワークを経由して確認することを特徴としても良い。   In this file system, when a failure of the first server device is recovered, a daemon operating on the first server device is transferred to a daemon operating on the second server device as a file on the memory of the first server device. The synchronization state of the file on the memory of the second server device may be confirmed via the second network.

本発明の代表的な実施の形態に関わる別のファイルシステムは、メモリと、第1ネットワークとのインターフェイスと、第2ネットワークとのインターフェイスを有する第1のサーバ装置と、メモリと、第1ネットワークとのインターフェイスと、第2ネットワークとのインターフェイスを有する第2のサーバ装置、メモリと、第1ネットワークとのインターフェイスと、第2ネットワークとのインターフェイスを有する第3のサーバ装置と、を含み、第2のサーバ装置のメモリに同一のデータが複製されるファイルが第1のサーバ装置のメモリに格納され、かつ、第3のサーバ装置のメモリに同一のデータが複製されるファイルが第2のサーバ装置のメモリに格納され、第1ネットワーク経由で送信されるファイルへの更新要求を前記第1のサーバ装置上で動作するユーザプログラムが受信し、ユーザプログラムがファイルの更新を第1のサーバ装置上で動作するデーモンに要求し、第1のサーバ装置上で動作するデーモンは第1のサーバ装置内のファイルの排他・アクセス権情報を確認し、あわせて、第2のサーバ装置の複製されたファイルの排他・アクセス権情報を第2ネットワーク経由で第2のサーバ装置内で動作するデーモンに確認し、第1のサーバ装置内のファイルの排他・アクセス権情報、及び、第2のサーバ装置内の複製されたファイルの排他・アクセス権情報が更新条件をいずれも具備している場合に、第1のサーバ装置上で動作するデーモンが第1のサーバ装置内のファイルの更新を実行し、かつ、第2ネットワーク経由で第2のサーバ装置上の複製されたファイルの更新を要求し、第1ネットワーク経由で送信されるファイルへの更新要求を第2のサーバ装置上で動作するユーザプログラムが受信し、ユーザプログラムがファイルの更新を第2のサーバ装置上で動作するデーモンに要求し、第2のサーバ装置上で動作するデーモンは第2のサーバ装置内のファイルの排他・アクセス権情報を確認し、あわせて、第3のサーバ装置の複製されたファイルの排他・アクセス権情報を前記第2ネットワーク経由で前記第3のサーバ装置内で動作するデーモンに確認し、第2のサーバ装置内のファイルの排他・アクセス権情報、及び、第3のサーバ装置内の複製されたファイルの排他・アクセス権情報が更新条件をいずれも具備している場合に、第2のサーバ装置上で動作するデーモンが第2のサーバ装置内のファイルの更新を実行し、かつ、第2ネットワーク経由で第3のサーバ装置上の複製されたファイルの更新を要求することを特徴とする。   Another file system according to the representative embodiment of the present invention includes a memory, an interface with a first network, a first server device having an interface with a second network, a memory, and a first network. And a second server device having an interface with the second network, a memory, an interface with the first network, and a third server device having an interface with the second network, A file in which the same data is replicated in the memory of the server device is stored in the memory of the first server device, and a file in which the same data is replicated in the memory of the third server device is stored in the second server device. An update request to the file stored in the memory and transmitted via the first network is sent to the first The user program that operates on the server device receives, the user program requests the daemon that operates on the first server device to update the file, and the daemon that operates on the first server device is in the first server device. Confirm the exclusive / access right information of the file, and confirm the exclusive / access right information of the duplicated file of the second server device with the daemon operating in the second server device via the second network. When the exclusive / access right information of the file in the first server device and the exclusive / access right information of the duplicated file in the second server device both have the update conditions, the first A daemon running on the first server device updates the file in the first server device, and replicates the file on the second server device via the second network. The user program operating on the second server device receives the update request for the file transmitted via the first network, and the user program updates the file on the second server device. The daemon that operates on the second server device confirms the exclusive / access right information of the file in the second server device, and, at the same time, the copied file of the third server device. The exclusive / access right information is confirmed with the daemon operating in the third server device via the second network, and the exclusive / access right information of the file in the second server device and the third server device If the exclusive / access right information of the copied file has both update conditions, a daemon that operates on the second server device is stored in the second server device. Run the update Airu and wherein the request to update the replicated files on the third server device via the second network.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。   The effects obtained by typical ones of the inventions disclosed in the present application will be briefly described as follows.

本発明の代表的な実施の形態に関わるファイルシステムにおいては、各サーバのメモリファイルを同期することで、各サーバとも同じ内容として参照可能になる。   In the file system according to the representative embodiment of the present invention, it is possible to refer to each server as the same content by synchronizing the memory file of each server.

また、本発明の代表的な実施の形態に関わるファイルシステムにおいては、他のサーバにファイル内容を同期しているため、障害などで他のサーバに引き継ぐ際のデータの回復を高速に行うことが可能になる。   Further, in the file system according to the representative embodiment of the present invention, since the file contents are synchronized with other servers, it is possible to perform high speed data recovery when taking over to another server due to a failure or the like. It becomes possible.

更に、本発明の代表的な実施の形態に関わるファイルシステムにおいては、障害となっていないサーバのメモリ内容を再同期することによって、ファイルの状況を維持することができる。   Furthermore, in the file system according to the representative embodiment of the present invention, the file status can be maintained by resynchronizing the memory contents of the server that has not failed.

以下、この発明を実施するための最良の形態を図面に基づいて詳細に説明する。   Hereinafter, the best mode for carrying out the present invention will be described in detail with reference to the drawings.

(第1の実施の形態)
(本実施の形態の通常時の処理)
図1は、本発明の第1の実施の形態であるサーバ間メモリ共用ファイルシステムの構成を示す構成図である。このサーバ間メモリ共用ファイルシステムは第1サーバ101と第2サーバ102、及びこれらにデータの参照や更新を要求する上位装置121、122、123、124より構成される。なお、図面上では3台のサーバ(上述の2つに加えて第nサーバ)しか表していないが、4台以上のサーバがあっても良い。
(First embodiment)
(Normal processing of the present embodiment)
FIG. 1 is a configuration diagram showing the configuration of the inter-server memory shared file system according to the first embodiment of the present invention. This inter-server memory shared file system includes a first server 101 and a second server 102, and host devices 121, 122, 123, and 124 that request data reference and update from these servers. Although only three servers (nth server in addition to the above two) are shown in the drawing, there may be four or more servers.

第1サーバ101と第2サーバ102は第1ネットワーク(LAN)1と第2ネットワーク2によって接続されている。また第1ネットワーク1を経由して上位装置121、122、123、124と接続されている。   The first server 101 and the second server 102 are connected by a first network (LAN) 1 and a second network 2. Further, it is connected to the host devices 121, 122, 123, 124 via the first network 1.

なお、第2ネットワーク2としてはSAN(Strage Area Network)等の使用が考えられるが、必ずしもこれにはこだわらない。また、図面上ではネットワーク・トポロジーをバス型として表現しているが、環状接続のリング型であっても良い。   The second network 2 may be a SAN (Storage Area Network) or the like, but is not necessarily limited to this. In the drawing, the network topology is expressed as a bus type, but it may be a ring type ring connection.

本実施の形態においては第1サーバ101と第2サーバ102は、それぞれ内部にユーザプログラム1002と、デーモン(Daemon)1003が動作する図示しない処理装置(CPUやDSP)及びメモリ1007を含む。   In the present embodiment, each of the first server 101 and the second server 102 includes a user program 1002, a processor (CPU or DSP) (not shown) in which a daemon 1003 operates, and a memory 1007.

ユーザプログラム1002は、上位装置からのアクセスや起動指示、または図示しないタイマによる割り込み等で起動する。デーモン1003を経由して、ユーザプログラム1002は排他処理、書き込み処理、読み込み処理、アクセス権限の変更を実行する。   The user program 1002 is activated by an access or activation instruction from a higher-level device or an interrupt by a timer (not shown). Via the daemon 1003, the user program 1002 executes exclusive processing, write processing, read processing, and change of access authority.

一般的に「デーモン」とは、マルチタスク環境下においてバックグラウンドで特定の処理をするプログラムのことである。本実施の形態のデーモン1003はユーザプログラム1002からの命令を受け、メモリ1007へのアクセスや第2ネットワーク2経由のコマンドの送信、戻り値の受信等を行う。なお、第1サーバ101のデーモン1003と第2サーバ102のデーモン1003との間には正副の区別は無い。第1サーバ101のデーモン1003と第2サーバ102のそれは同じ動作が可能である。   In general, a “daemon” is a program that performs specific processing in the background in a multitasking environment. The daemon 1003 according to the present embodiment receives an instruction from the user program 1002, and accesses the memory 1007, transmits a command via the second network 2, receives a return value, and the like. Note that there is no distinction between primary and secondary between the daemon 1003 of the first server 101 and the daemon 1003 of the second server 102. The daemon 1003 of the first server 101 and that of the second server 102 can perform the same operation.

メモリ1007には処理装置の動作領域である作業エリア1008、排他、アクセス権限に関する情報を格納する制御データ1009、参照・更新の対象となるファイル1010が含まれる。   The memory 1007 includes a work area 1008 which is an operation area of the processing apparatus, control data 1009 for storing information regarding exclusion and access authority, and a file 1010 to be referred to / updated.

メモリ1007にアクセスするために、デーモン1003中にはサーバ受付処理モジュール1004、更新準備/更新確定モジュール1005、参照モジュール1006がプログラムとして含まれる。   In order to access the memory 1007, the daemon 1003 includes a server reception processing module 1004, an update preparation / update confirmation module 1005, and a reference module 1006 as programs.

サーバ受付処理モジュール1004は、ユーザプログラム1002から受け取ったコマンドが更新系処理か参照系処理かを判断する。   The server reception processing module 1004 determines whether the command received from the user program 1002 is an update process or a reference process.

ユーザプログラム1002からのコマンドが更新系処理であれば、更新準備/更新確定モジュール1005への更新準備指示を行う。また併せて、第2ネットワーク2を経由してファイル同期の対象である他のサーバのデーモン1003内の更新準備/更新確定モジュール1005への更新準備指示を行う。   If the command from the user program 1002 is an update process, an update preparation instruction is issued to the update preparation / update confirmation module 1005. At the same time, an update preparation instruction is issued to the update preparation / update confirmation module 1005 in the daemon 1003 of another server that is the object of file synchronization via the second network 2.

サーバ受付処理モジュール1004が更新系の処理を受け取り、更新準備/更新確定モジュール1005に更新要求を送出すると、更新準備/更新確定モジュール1005は排他状況やアクセス権を確認し、メモリ1007中のファイル1010を更新するためのデータを、メモリ1007中の作業エリア1008に格納する。同様に、第2ネットワーク2を経由で送られてきた他のサーバからの更新要求に際しても、更新準備/更新確定モジュール1005は排他状況やアクセス権を確認し、メモリ1007中のファイル1010を更新するためのデータを、メモリ1007中の作業エリア1008に格納する。   When the server reception processing module 1004 receives the update processing and sends an update request to the update preparation / update confirmation module 1005, the update preparation / update confirmation module 1005 confirms the exclusive status and access right, and the file 1010 in the memory 1007 Is stored in the work area 1008 in the memory 1007. Similarly, when an update request is sent from another server sent via the second network 2, the update preparation / update confirmation module 1005 confirms the exclusive status and access right, and updates the file 1010 in the memory 1007. The data for storing is stored in the work area 1008 in the memory 1007.

すでに他のモジュールによって希望するファイルに対して排他処理が行われている状況にある場合には、更新準備/更新確定モジュール1005はサーバ受付処理モジュール1004にエラーを返す。また、更新用のデータが作業エリア1008に格納できたときには、自サーバもしくは他のサーバの要求元のサーバ受付処理1004に対してエラーが無く正常に作業エリアへの書き込みが終了した旨通知する。   If the exclusive processing has already been performed on the desired file by another module, the update preparation / update confirmation module 1005 returns an error to the server reception processing module 1004. Further, when the update data can be stored in the work area 1008, the server reception process 1004 of the request source of the local server or another server is notified that there is no error and the writing to the work area is normally completed.

全ての要求先が更新用のデータを作業エリア1008に書き込めたことが確認できた後に、サーバ受付処理モジュール1004は各更新準備/更新確定モジュール1005に対して更新データの確定を指示する。   After confirming that all the request destinations have written update data in the work area 1008, the server reception processing module 1004 instructs each update preparation / update confirmation module 1005 to confirm the update data.

一方、更新の要求先の一つから作業エリアへの書き込みでエラーが発生した旨返ってきた場合、サーバ受付処理モジュール1004は更新準備/更新確定モジュール1005に対して更新の取り消しを指示すると共に、要求元のユーザプログラム1002に対して、エラーを返す。   On the other hand, when one of the update request destinations returns that an error has occurred in writing to the work area, the server reception processing module 1004 instructs the update preparation / update confirmation module 1005 to cancel the update, and An error is returned to the requesting user program 1002.

ユーザプログラム1002からのコマンドが参照系処理であれば、サーバ受付処理モジュール1004は自サーバの参照モジュール1006に対してのみ参照指示を行う。自サーバの更新準備/更新確定モジュール1005に対して排他状況やアクセス権を確認し、その後、自サーバのメモリ1007中のファイルの内容を参照モジュール1006経由で参照し、要求元のユーザプログラム1002に応答を返す。   If the command from the user program 1002 is a reference process, the server reception processing module 1004 issues a reference instruction only to the reference module 1006 of its own server. The exclusive status and access right are confirmed with respect to the update preparation / update confirmation module 1005 of the own server, and then the contents of the file in the memory 1007 of the own server are referred to via the reference module 1006 to the requesting user program 1002. Returns a response.

図2は第1サーバ101のユーザプログラム1002がデーモン1003を経由してメモリ1007上のファイル1010を更新・参照するまでの処理を表すフローチャートである。   FIG. 2 is a flowchart showing processing until the user program 1002 of the first server 101 updates / references the file 1010 on the memory 1007 via the daemon 1003.

この図において破線で囲ったステップS203、ステップS204、ステップS207は図1のサーバの数が増えると、処理の主体が増えるステップを指す。   In this figure, steps S203, S204, and S207 surrounded by a broken line indicate steps where the number of processing subjects increases as the number of servers in FIG. 1 increases.

以下、この処理について説明する。   Hereinafter, this process will be described.

各上位装置からのファイル1010の操作に関する要求、または、タイマによる割り込み処理によって第1サーバ101のユーザプログラム1002が起動する(ステップS200)。   The user program 1002 of the first server 101 is activated by a request related to the operation of the file 1010 from each host device or an interrupt process by a timer (step S200).

続いて第1サーバ101のユーザプログラム1002からデーモン1003のサーバ受付処理モジュール1004に対してコマンド及び必要なパラメータを発行する(ステップS201)。図3は、ユーザプログラム1002からサーバ受付処理モジュール1004に対して送信されるデーモンを制御するためのパラメータ(データ)の構造を示す概念図である。   Subsequently, a command and necessary parameters are issued from the user program 1002 of the first server 101 to the server reception processing module 1004 of the daemon 1003 (step S201). FIG. 3 is a conceptual diagram showing the structure of parameters (data) for controlling a daemon transmitted from the user program 1002 to the server reception processing module 1004.

ここで必要なパラメータとは、デーモン1003を制御するための制御フラグ802、ファイル名803、制御データの更新内容804、ファイルへの書き込みデータ805等である。   The necessary parameters here include a control flag 802 for controlling the daemon 1003, a file name 803, control data update contents 804, file write data 805, and the like.

制御フラグ802は、制御内容を示すパラメータである。ここでは、「書き込み」の時は1、「読み込み」の時は2、「排他制御」の時は3のパラメータが設定される。   The control flag 802 is a parameter indicating control content. Here, a parameter of 1 is set for “write”, 2 for “read”, and 3 for “exclusive control”.

ファイル名803はアクセス対象となるファイルのファイル名である。   A file name 803 is a file name of a file to be accessed.

制御データの更新内容804は制御データ1009を更新する際に用いる内容を示すパラメータである。   The control data update content 804 is a parameter indicating the content used when the control data 1009 is updated.

ファイルへの書き込みデータ805は、制御フラグ802が「1」の際に該ファイルに書き込む内容を示す。   The file write data 805 indicates the contents to be written to the file when the control flag 802 is “1”.

これらのパラメータにより、ユーザプログラム1002とのインターフェイスが確立される。   With these parameters, an interface with the user program 1002 is established.

このコマンドを受けてサーバ受付処理モジュール1004がサーバ受付処理モジュール1004からのコマンドがファイルの更新処理に関わるものか、参照処理に関わるものか、制御データの更新に関わるものか、を解釈し、処理を要求するモジュールを決定する(ステップS202)。上述の例では、制御フラグが2であれば参照モジュール1006に対する処理要求であり、他のものであれば、更新準備/更新確定モジュール1005に対するものである、とサーバ受付処理モジュール1004は判断する。   Upon receiving this command, the server reception processing module 1004 interprets whether the command from the server reception processing module 1004 is related to file update processing, reference processing, or control data update, and processing The module that requests is determined (step S202). In the above example, if the control flag is 2, the server reception processing module 1004 determines that it is a processing request for the reference module 1006, and if it is other, it is for the update preparation / update confirmation module 1005.

ファイルの参照処理の場合(制御フラグ802が2のとき)、サーバ受付処理モジュール1004は参照モジュール1006に対して、ファイル名803を用いて該ファイルの排他情報、アクセス権限、メモリ1007中のアドレスの特定などを要求する(ステップS211)。   In the case of a file reference process (when the control flag 802 is 2), the server reception processing module 1004 uses the file name 803 to the reference module 1006 for the exclusive information of the file, the access authority, and the address in the memory 1007. The identification is requested (step S211).

ここでアクセス権限を確認する際に用いる各サーバのメモリ1007中の制御データ1009を表すのが図4である。制御データ1009は、ファイル全体の制御データ70とファイルの部分的な制御データ71に分けることができる。このうちファイル全体の制御データ70は必ず存在するが、ファイルの部分的な制御データ71は部分的な排他制御を行わないときには存在しなくとも良い。また、同一ファイルの部分的な制御を複数の箇所で行う場合にはファイルの部分的な制御データ71は複数存在することも可能である。   FIG. 4 shows the control data 1009 in the memory 1007 of each server used when confirming the access authority. The control data 1009 can be divided into control data 70 for the entire file and partial control data 71 for the file. Among them, the control data 70 for the entire file always exists, but the partial control data 71 for the file may not exist when partial exclusive control is not performed. Further, when partial control of the same file is performed at a plurality of locations, a plurality of partial control data 71 of the file can exist.

まずファイル全体の制御データ70について説明する。   First, the control data 70 for the entire file will be described.

ファイル名702は当該制御データが管理する対象のファイル名を表すデータフィールドである。   A file name 702 is a data field that represents a file name to be managed by the control data.

サイズ703は当該制御データが管理する対象のファイルのデータ量を表すデータフィールドである。   The size 703 is a data field that represents the data amount of the target file managed by the control data.

ファイル作成者704は当該制御データが管理する対象のファイルの作成者を示す情報を格納するデータフィールドである。   The file creator 704 is a data field that stores information indicating the creator of the target file managed by the control data.

アクセス権限705は当該制御データが管理するファイル全体のアクセス権限を規定するデータフィールドである。   The access authority 705 is a data field that defines the access authority for the entire file managed by the control data.

作成、更新、参照日時706は該ファイルの作成等された日時を現すデータフィールドである。   Creation, update, and reference date / time 706 is a data field indicating the date / time when the file was created.

メモリ先頭アドレス707は当該制御データが管理する対象のファイルの先頭がメモリ中のどこの番地から記憶されているかを現すデータフィールドである。   The memory head address 707 is a data field indicating from which address in the memory the head of the target file managed by the control data is stored.

ファイル全体の排他フラグ708は該ファイルの排他制御をどのように行うかを規定するデータフィールドである。このデータフィールド中には、ファイル作成者からのアクセスの排他制御、ファイル作成者以外からの排他制御、2ユーザ以上が同時にアクセスした際の排他制御をビットで表している。本図では各2ビットずつ、計6ビット構成としているが、これ以上のパラメータを盛り込むことも可能である。   An exclusive flag 708 for the entire file is a data field that defines how to perform exclusive control of the file. In this data field, exclusive control of access from the file creator, exclusive control from other than the file creator, and exclusive control when two or more users access simultaneously are represented by bits. In this figure, 2 bits each, a total of 6 bits, but more parameters can be included.

ファイル全体の排他フラグ708はファイルの操作状況に応じて、静的な、または動的に変化するフラグである。具体的には、作成者以外は参照のみを許可する設定(静的の例)や、同時に更新されるとアトミック性等の問題が生じる場合に6ビット目(10進表記で32)を「1」(セット状態)にし、排他状態であることを表示する(動的の例)等が考えられる。   The exclusive flag 708 for the entire file is a flag that changes statically or dynamically according to the operation status of the file. Specifically, a setting that permits only referencing by a person other than the creator (static example), or a sixth bit (32 in decimal notation) is set to “1” when a problem such as atomicity occurs when updated at the same time. "(Set state)" and displaying the exclusive state (dynamic example) can be considered.

ファイル全体の排他フラグ708のいずれかのフラグが「1」(セット状態)の場合には、該当する処理の実行は行えない。たとえば3ビット目(10進表記で4)が1の場合には、ファイル作成者以外の者は当該ファイルの参照はできない。排他フラグ708のいずれのフラグも「0」(非セット状態)の場合には、他のユーザプログラムがファイルにアクセスしていない、または該ユーザプログラムのアクセスが許可されている状態であるため、参照モジュール1006または更新準備/更新確定モジュール1005は参照・書込処理を行う。この際、ファイル全体の排他フラグ708の動的に変化するフラグを「1」にセットすること、参照・書き込み処理終了時に動的に変化するフラグを「0」にセットする(同時アクセス制限の解除する)ことなども考慮されるべきである。   If any one of the exclusive flags 708 of the entire file is “1” (set state), the corresponding process cannot be executed. For example, when the third bit (4 in decimal notation) is 1, a person other than the file creator cannot refer to the file. If any of the exclusive flags 708 is “0” (non-set state), it means that another user program is not accessing the file or access to the user program is permitted. The module 1006 or the update preparation / update confirmation module 1005 performs reference / write processing. At this time, the dynamically changing flag of the exclusive flag 708 of the entire file is set to “1”, and the dynamically changing flag at the end of the reference / write processing is set to “0” (release simultaneous access restriction). To do) should also be considered.

このファイル全体の排他フラグ708とアクセス権限705が排他・アクセス権情報の中核となる。   The exclusive flag 708 and access authority 705 of the entire file are the core of the exclusive / access authority information.

部分排他制御先頭アドレス709はファイルの部分的な制御データ71がある際に、その格納されているメモリのアドレスを指標するデータフィールドである。ファイルの部分的な制御データ71が存在しない場合にはNULLが入力されることで部分的な制御データ71が存在しないことを表現しても良い。   The partial exclusive control head address 709 is a data field that indicates the address of the stored memory when there is partial control data 71 of the file. When the partial control data 71 of the file does not exist, it may be expressed that the partial control data 71 does not exist by inputting NULL.

続いて、ファイルの部分的な制御データ71について説明する。   Next, the partial control data 71 of the file will be described.

部分排他アドレス710は部分排他を行うメモリ領域の先頭アドレスを指標するデータフィールドであり、また、部分排他サイズ711は該部分排他の対象となるデータ量を表すデータフィールドである。   The partial exclusion address 710 is a data field that indicates the start address of a memory area where partial exclusion is performed, and the partial exclusion size 711 is a data field that represents the amount of data to be subjected to partial exclusion.

ファイルの部分的な排他フラグ712は該部分排他の対象の排他制御をどのように行うかを規定するデータフィールドである。本図では、このフィールドのビット構成はファイル全体の排他フラグ708と対応させているが、必ずしもファイルの部分的な排他フラグ712とファイル全体の排他フラグ708とのビット配置を対応させる必要は無い。   The partial exclusion flag 712 of the file is a data field that defines how to perform exclusive control on the target of partial exclusion. In this figure, the bit configuration of this field is associated with the exclusion flag 708 for the entire file, but the bit arrangement of the partial exclusion flag 712 for the file and the exclusion flag 708 for the entire file is not necessarily associated.

ファイルの部分的な制御データ71が存在する場合には、参照モジュール1006または更新準備/更新確定モジュール1005は、このファイルの部分的な排他フラグ712をも排他・アクセス権情報の一つとして参照する。なお、この項目の確認はファイル全体の排他フラグ708同様に行えばよいのでここでは省略する。   When the partial control data 71 of the file exists, the reference module 1006 or the update preparation / update confirmation module 1005 also refers to the partial exclusion flag 712 of this file as one of the exclusion / access right information. . Note that the confirmation of this item may be performed in the same manner as the exclusive flag 708 for the entire file, and is omitted here.

部分排他制御先頭アドレス713は異なるファイルの部分的な制御データ71がある際に、その格納されているメモリのアドレスを指標するデータフィールドである。ファイルの部分的な制御データ71が存在しない場合にはNULLが入力される。   The partial exclusive control head address 713 is a data field that indicates the address of the stored memory when there is partial control data 71 of a different file. If there is no partial control data 71 of the file, NULL is input.

このように異なるファイルの部分的な制御データ71を数珠繋ぎに記憶し管理することで排他制御をきめ細かく行うことを可能にする。   Thus, by storing and managing partial control data 71 of different files in a daisy chain, it is possible to perform exclusive control finely.

図2の説明に戻る。   Returning to the description of FIG.

ファイルの参照処理に際しては、各サーバの参照モジュール1006は、自サーバのメモリ1007中の制御データ1009からアクセス権限705、ファイル全体の排他フラグ708、ファイルの部分的な排他フラグ712を主に参照して、アクセス権限の有無の確認を行う。   In the file reference process, the reference module 1006 of each server mainly refers to the access authority 705, the entire file exclusion flag 708, and the file partial exclusion flag 712 from the control data 1009 in the memory 1007 of the server itself. To check for access authority.

この際、排他情報等から該ユーザプログラム1002から該ファイルへのアクセスが認められるようであれば(ステップS212:Yes)、サーバ受付処理モジュール1004がI/O(インプット/アウトプット)完了をユーザプログラム1002に返す(ステップS213)。逆に、該ファイルへのアクセスが認められない場合には(ステップS212:No)、サーバ受付処理モジュール1004がI/Oエラーをユーザプログラム1002に返す(ステップS206)。   At this time, if access from the user program 1002 to the file is permitted from the exclusive information or the like (step S212: Yes), the server reception processing module 1004 completes I / O (input / output) completion. Return to 1002 (step S213). Conversely, when access to the file is not permitted (step S212: No), the server reception processing module 1004 returns an I / O error to the user program 1002 (step S206).

ファイルの更新処理の場合(制御フラグ802が1のとき)、サーバ受付処理モジュール1004は自身の更新準備/更新確定モジュール1005に更新コマンド及び図3のファイルへの書き込みデータ805相当のデータを出力すると共に、第2ネットワーク2を経由して第2サーバ102の更新準備/更新確定モジュール1005に更新コマンド及びデータを出力する。各サーバの更新準備/更新確定モジュール1005は要求元(ここでは第1サーバ101のサーバ受付処理モジュール1004)がアクセス権を有しているか、あるいは、アクセス対象のファイルが排他処理下に置かれているかを確認する。要求元のアクセスが認められなければこの時点でその旨を第1サーバ101のサーバ受付処理モジュール1004に返す(ステップS203)。なお、ここでは第2サーバ102に送ることとしているが、更に多くのサーバがある際にはそれらの全てに、あるいは一部に更新コマンド及びデータを出力しても良い。   In the case of file update processing (when the control flag 802 is 1), the server reception processing module 1004 outputs an update command and data corresponding to the write data 805 to the file in FIG. 3 to its own update preparation / update confirmation module 1005. At the same time, an update command and data are output to the update preparation / update confirmation module 1005 of the second server 102 via the second network 2. The update preparation / update confirmation module 1005 of each server has the access right of the request source (here, the server reception processing module 1004 of the first server 101) or the file to be accessed is placed under exclusive processing. Make sure that If access from the request source is not permitted, a message to that effect is returned to the server reception processing module 1004 of the first server 101 (step S203). In this case, the data is sent to the second server 102. However, when there are more servers, update commands and data may be output to all or a part of them.

その後、受け取ったデータをメモリ1007の作業エリア1008に書き込む処理を各サーバの更新準備/更新確定モジュール1005が実行する(ステップS204)。メモリ容量の不足等により作業エリア1008に書き込めなかったときにはエラーが生じた旨を、問題なく書き込めたときにも問題なく書き込めた旨を要求元のサーバ受付処理モジュール1004に返す。   Thereafter, the update preparation / update confirmation module 1005 of each server executes a process of writing the received data to the work area 1008 of the memory 1007 (step S204). When the data cannot be written in the work area 1008 due to a lack of memory capacity or the like, the fact that an error has occurred is returned to the requesting server reception processing module 1004 that the data has been written without any problem.

要求元である第1サーバ101のサーバ受付処理モジュール1004は各サーバから寄せられるステップS203またはステップS204の戻り値を検証する(ステップS205)。戻り値に一つでも問題(アクセス権限がない、又は更新ファイルが作業エリア1008に書き込めないなど)があった場合には(ステップS205:No)、エラーの内容に応じて、サーバ受付処理モジュール1004がユーザプログラム1002にI/Oエラーを返し処理を終了する(ステップS206)。   The server reception processing module 1004 of the first server 101 that is the request source verifies the return value of step S203 or step S204 received from each server (step S205). If there is a problem with even one return value (such as no access authority or an update file cannot be written to the work area 1008) (step S205: No), the server reception processing module 1004 depends on the content of the error. Returns an I / O error to the user program 1002 and ends the process (step S206).

全ての戻り値が適正であった場合には(ステップS205:Yes)、全サーバにおいてアクセス権限があることとなる。サーバ受付処理モジュール1004は各サーバの更新準備/更新確定モジュール1005に対して、作業エリア1008からファイル1010への更新を行う(ステップS207)。具体的には、作業エリア1008から該データの複製を行ったり、また、制御データ1009中のメモリ先頭アドレス707を書き換えたりなどが考えられるが、具体的な更新方法は設計事項である。   If all return values are appropriate (step S205: Yes), all servers have access authority. The server reception processing module 1004 updates the update preparation / update confirmation module 1005 of each server from the work area 1008 to the file 1010 (step S207). Specifically, it is conceivable to copy the data from the work area 1008 or rewrite the memory head address 707 in the control data 1009. The specific update method is a design matter.

更新の成否は戻り値として、各サーバの更新準備/更新確定モジュール1005から要求元である第1サーバのサーバ受付処理モジュール1004に戻される。これらを参照して第1サーバのサーバ受付処理モジュール1004は全サーバのデータの更新が適正であったか確認する(ステップS208)。全サーバで更新が適式に行われていれば(ステップS208:Yes)、第1サーバのサーバ受付処理モジュール1004はユーザプログラム1002にI/O完了を通知する(ステップS209)。また、一つのサーバでもエラーが発生していれば(ステップS208:No)、第1サーバのサーバ受付処理モジュール1004はユーザプログラム1002にI/Oエラーを通知する(ステップS210)。   The success or failure of the update is returned as a return value from the update preparation / update confirmation module 1005 of each server to the server reception processing module 1004 of the first server that is the request source. With reference to these, the server reception processing module 1004 of the first server confirms whether the update of data of all the servers is appropriate (step S208). If the update has been properly performed on all servers (step S208: Yes), the server reception processing module 1004 of the first server notifies the user program 1002 of the completion of I / O (step S209). If an error has occurred in one server (step S208: No), the server reception processing module 1004 of the first server notifies the user program 1002 of an I / O error (step S210).

図3の制御フラグ802が「3」であったときは、図4の部分排他等の制御データ1009の更新を行う。具体的処理は制御フラグ802が「1」のときと同じであるが、処理の対象がファイル1010ではなく制御データ1009に変わる。また、更新データはファイルへの書き込みデータ805ではなく、制御データの更新内容804になる。   When the control flag 802 in FIG. 3 is “3”, the control data 1009 such as partial exclusion in FIG. 4 is updated. The specific processing is the same as when the control flag 802 is “1”, but the processing target is not the file 1010 but the control data 1009. Also, the update data is not the write data 805 to the file, but the update contents 804 of the control data.

このように、ユーザプログラム1002で意識することなく同一のファイルについて異なるサーバのメモリ上に複製を取ることが可能になる。この利点については以下で説明する。   In this way, it is possible to copy the same file on the memory of a different server without being conscious of the user program 1002. This advantage will be described below.

(本実施の形態の障害発生時の処理)
図5は本実施の形態の障害発生時の動作を表す概念図である。
(Processing when a failure occurs in this embodiment)
FIG. 5 is a conceptual diagram showing the operation when a failure occurs according to this embodiment.

この図においては、第1サーバ101に障害が発生し、第2サーバ102に処理を引き継ぐことを想定している。また、第1サーバ101と第2サーバ102との間には正副の区別は無く、また、便宜的にサーバが2台の構成で説明しているが、3台以上のサーバについても同じ操作が可能となっている。   In this figure, it is assumed that a failure occurs in the first server 101 and the processing is taken over by the second server 102. In addition, there is no distinction between primary and secondary between the first server 101 and the second server 102, and the description has been made with the configuration of two servers for convenience, but the same operation can be performed for three or more servers. It is possible.

本図の最初の状況は、第1サーバ101及び第1サーバ101のユーザプログラム1002が正常に稼動している。また、第2サーバ102及び第2サーバのユーザプログラム1002が稼動している。   In the initial situation of this figure, the first server 101 and the user program 1002 of the first server 101 are operating normally. In addition, the second server 102 and the user program 1002 of the second server are running.

第1サーバ101内のメモリ1007には、編集中のファイル2001やファイル更新履歴(ジャーナル)2002が記録され、上述のように、これらについても第2サーバ102のメモリ1007に同期を取って記録されているものとする。   In the memory 1007 in the first server 101, the file 2001 being edited and the file update history (journal) 2002 are recorded, and as described above, these are also recorded in synchronization with the memory 1007 of the second server 102. It shall be.

サーバ受付処理モジュール1004からの戻り値が返ってこない、または、戻り値が常にエラーを示すなど、第1サーバ101に障害が発生したとき、第1サーバ101のユーザプログラム1002は有効なファイル処理が補償できなくなる。   When a failure occurs in the first server 101 such that the return value from the server reception processing module 1004 does not return or the return value always indicates an error, the user program 1002 of the first server 101 performs effective file processing. It becomes impossible to compensate.

第1サーバ101のユーザプログラム1002は第2サーバ102で待機中のユーザプログラム1002にサービスを引き継ぐ。この際、第2サーバ102のメモリ1007中には、第1サーバ101で障害が発生する直前までの編集中のファイル2001やファイル更新履歴(ジャーナル)2002が記録されている。これにより、第2サーバ102で待機中のユーザプログラム1002は、ファイルの引継ぎを行うことなく、引き継いだ処理を開始すればよいこととなり、高速な障害回復が可能となる。   The user program 1002 of the first server 101 takes over the service to the user program 1002 waiting on the second server 102. At this time, the file 2001 being edited and the file update history (journal) 2002 are recorded in the memory 1007 of the second server 102 until just before a failure occurs in the first server 101. As a result, the user program 1002 on standby in the second server 102 only has to start the inherited process without performing the file inheritance, and the high-speed failure recovery is possible.

なお、引継ぎ後、障害の発生元である第1サーバ101に対して、第2サーバ102のユーザプログラム1002が更新処理を試みるか否かは設計事項である。また、何を持って障害とするか(たとえば上述のメモリ容量の不足を引き継ぎ対象の障害とみなすか)は設計者に委ねられるものであり、ここでは考慮しない。   Note that it is a design matter whether the user program 1002 of the second server 102 attempts to update the first server 101 that is the source of the failure after the takeover. In addition, what is assumed to be a failure (for example, whether the above shortage of memory capacity is regarded as a failure to be taken over) is left to the designer and is not considered here.

(本実施の形態の障害回復時の処理)
図6は第1サーバ101が障害から回復し、第2サーバ102のメモリ1007の情報からファイルの複写を行う動作を表す概念図である。
(Processing during failure recovery in this embodiment)
FIG. 6 is a conceptual diagram showing an operation in which the first server 101 recovers from a failure and copies a file from information in the memory 1007 of the second server 102.

障害回復のために各サーバのデーモン1003中にはメモリ回復処理モジュール1011が含まれる。障害が発生していた第1サーバ101のユーザプログラム1002が再起動する過程において、デーモン1003が起動する。ただし、この段階ではメモリの内容、制御データやファイルなど、が適当なものであるかが不確定である。   A memory recovery processing module 1011 is included in the daemon 1003 of each server for failure recovery. In the process of restarting the user program 1002 of the first server 101 where the failure has occurred, the daemon 1003 is started. However, at this stage, it is uncertain whether the contents of the memory, control data, files, etc. are appropriate.

再起動中の第1サーバ101のメモリ回復処理モジュール1011は、他の同期対象である第2サーバ102上のメモリ回復処理モジュール1011を介して、第2ネットワーク経由で第2サーバ102のメモリ1007中の制御データ1009やファイル1010を自身のメモリ1007上に複製する。複製完了後に、デーモンはサービスを再開し、上位のユーザプログラム1002からの応答に反応する。以降、問題が解消されていれば、ユーザプログラム1002のコマンドに対するサーバ受付処理モジュール1004からの戻り値が正常になり、特に意識することなく障害回復処理が可能となる。   The memory recovery processing module 1011 of the first server 101 being restarted is stored in the memory 1007 of the second server 102 via the second network via the memory recovery processing module 1011 on the second server 102 that is another synchronization target. The control data 1009 and the file 1010 are replicated on the memory 1007 of itself. After replication is complete, the daemon restarts the service and reacts to responses from the higher-level user program 1002. Thereafter, if the problem is solved, the return value from the server reception processing module 1004 for the command of the user program 1002 becomes normal, and the failure recovery processing can be performed without particular awareness.

このように、デーモン側で複製を行うようにすれば、ユーザプログラムで対応を取ることなく障害回復処理を行うことが可能となる。   In this way, if replication is performed on the daemon side, it is possible to perform failure recovery processing without taking action by the user program.

(本実施の形態の読み出し時のシステム全体の処理)
図7は本実施の形態における複数の上位装置からサーバに対するファイル読み出しを説明する概念図である。
(Processing of the entire system at the time of reading in this embodiment)
FIG. 7 is a conceptual diagram illustrating file reading from a plurality of higher-level devices in the present embodiment to the server.

図2でも述べたとおり、書き込みについては全サーバの同期を補償している。一方で、読み出しについては、参照モジュール1006は各サーバ自身のメモリ1007からのみ読み出しを行う。   As described in FIG. 2, the write is compensated for the synchronization of all servers. On the other hand, for reading, the reference module 1006 reads only from the memory 1007 of each server itself.

これを利用し、上位装置から読み出しを行うサーバを決めておく。図7では上位装置121は第1サーバ101のユーザプログラム1002に、上位装置122と上位装置123は第2サーバ102のユーザプログラム1002に、上位装置124は第3サーバ103のユーザプログラム1002に読み出しを行うよう設定されている。   Using this, a server to read from the host device is determined. In FIG. 7, the host device 121 reads the user program 1002 of the first server 101, the host device 122 and the host device 123 read the user program 1002 of the second server 102, and the host device 124 reads the user program 1002 of the third server 103. Is set to do.

このようにすることでどの上位装置から書き込んだ内容も、どの上位装置からも読み込むことができる。あわせて、読み出し要求の分散による負荷集中が回避される。   In this way, the contents written from any host device can be read from any host device. In addition, load concentration due to distribution of read requests is avoided.

以上のように、1つのサーバに対して更新処理を要求することで連携して動く全てのサーバのデータが同期して更新可能となる。また、複数の上位端末から別個のサーバに存在する同一の同期したファイルにアクセスを行っていても、同期を妨げるようなアクセスに対しては更新を防ぐことができるため、同期の維持を容易に達成することができる。更には制御データ中にファイルの部分的な制御データ71を設けることで、ファイルの部分的なアクセス制御を行うことが可能となる。また、障害発生及び復旧時にユーザプログラムではなくデーモンで障害への対応を行うことで、上位のユーザプログラムに障害への対応を意識させること無くシステムの復旧を行うことが可能となる。   As described above, by requesting an update process for one server, data of all servers operating in cooperation can be updated synchronously. In addition, even when accessing the same synchronized file that exists on separate servers from a plurality of higher-level terminals, it is possible to prevent updates for access that interferes with synchronization, making it easy to maintain synchronization Can be achieved. Further, by providing partial control data 71 of the file in the control data, it becomes possible to perform partial access control of the file. In addition, when a failure occurs and is restored, the system can be restored without making the host user program aware of the failure by handling the failure with the daemon instead of the user program.

(第2の実施の形態)
次に本発明の第2の実施の形態について説明する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described.

図8は本発明の第2の実施の形態におけるファイル複製の制御方法についての概念図である。   FIG. 8 is a conceptual diagram of a file duplication control method according to the second embodiment of the present invention.

本実施の形態では、第1の実施の形態と異なり、全てのサーバに全てのメモリファイルを有さないことを目的している。   In the present embodiment, unlike the first embodiment, it is intended that not all servers have all memory files.

本実施の形態におけるハードウェア及びソフトウェアの構成と制御方式は、図1及び図2を使用する。ただし、サーバに格納するファイルを分散させることでメモリの効率的な利用を実現できる。   FIG. 1 and FIG. 2 are used as the hardware and software configuration and control method in the present embodiment. However, efficient use of memory can be realized by distributing files stored in the server.

本実施の形態の制御方法の例について図8を用いて説明する。この例では、サーバは第1サーバ501、第2サーバ502、第3サーバ503の3台より構成されているものとする。   An example of the control method of the present embodiment will be described with reference to FIG. In this example, it is assumed that the server is composed of three servers: a first server 501, a second server 502, and a third server 503.

第1サーバ501のデーモン1003に対してユーザプログラム1002が#1ファイルの書き込みを行うとき、該デーモン1003のサーバ受付処理モジュール1004は自身のメモリ1007と第2サーバ502のメモリ1007に対してファイルの更新を行う。一方、第1サーバ501のサーバ受付処理モジュール1004は第3サーバ503に対してはファイルの複製・同期・更新は行わない。   When the user program 1002 writes the file # 1 to the daemon 1003 of the first server 501, the server reception processing module 1004 of the daemon 1003 stores the file in the memory 1007 of itself and the memory 1007 of the second server 502. Update. On the other hand, the server reception processing module 1004 of the first server 501 does not copy, synchronize, or update files to the third server 503.

第2サーバ502のデーモン1003に対してユーザプログラム1002が#2ファイルの書き込みを行うとき、該デーモン1003のサーバ受付処理モジュール1004は自身のメモリ1007と第3サーバ503のメモリ1007に対してファイルの更新を行う。一方、第1サーバ501に対してはファイルの複製・同期・更新は行わない。   When the user program 1002 writes the # 2 file to the daemon 1003 of the second server 502, the server reception processing module 1004 of the daemon 1003 stores the file in the memory 1007 of itself and the memory 1007 of the third server 503. Update. On the other hand, file replication / synchronization / update is not performed for the first server 501.

第3サーバ503のデーモン1003に対してユーザプログラム1002が#3ファイルの書き込みを行うとき、該デーモン1003のサーバ受付処理モジュール1004は自身のメモリ1007と第1サーバ501のメモリ1007に対してファイルの更新を行う。第2サーバ502に対してはファイルの複製・同期・更新は行わない。   When the user program 1002 writes the # 3 file to the daemon 1003 of the third server 503, the server reception processing module 1004 of the daemon 1003 stores the file in the memory 1007 of itself and the memory 1007 of the first server 501. Update. The second server 502 is not duplicated / synchronized / updated.

以上のように制御することで、バックアップ用のファイルの量を減らすことができ効率良く各サーバ内のメモリを利用することが可能になる。   By controlling as described above, the amount of backup files can be reduced, and the memory in each server can be used efficiently.

なお、上記はあくまでもファイルの複製量を減らす一例であり、他にも各サーバのメモリの空き容量の多いものに複製を行うような制御でも良い。   Note that the above is merely an example of reducing the amount of file replication, and other control may be performed such that replication is performed on a server having a large free space in the memory.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更が可能であることは言うまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiments. However, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the invention. Needless to say.

本発明は安価大容量化がなされたメモリをディスク装置に代えて用いるサーバ、及び該サーバ複数台から構成され、複数のサーバで処理を分散するシステム(たとえばWave Serverを用いたコンテンツの利用、買い物、株取引などのシステム)下での高速なファイルの共用に用いることができる。   The present invention relates to a server that uses inexpensive and large-capacity memory in place of a disk device, and a system that includes a plurality of such servers and distributes processing among a plurality of servers (for example, use of content and shopping using a Wave Server) It can be used for high-speed file sharing under systems such as stock trading.

また、かかるシステムで構成され、かつ、サービスの中断が認められない場合に、本発明を適用すれば待機サーバで、メモリから復旧データを読み込むため、高速なシステム復旧が可能となる。   Further, when the present invention is applied when the system is configured and the service is not interrupted, the recovery data is read from the memory by the standby server, so that high-speed system recovery is possible.

本発明の第1の実施の形態であるサーバ間メモリ共用ファイルシステムの構成を示す構成図である。It is a block diagram which shows the structure of the memory sharing file system between servers which is the 1st Embodiment of this invention. 本発明のユーザプログラムがデーモンを経由してメモリを更新・参照するまでの処理を表すフローチャートである。It is a flowchart showing the process until the user program of this invention updates / references a memory via a daemon. ユーザプログラムからサーバ受付処理モジュールに対して送信されるデーモンを制御するためのパラメータ(データ)の構造を示す概念図である。It is a conceptual diagram which shows the structure of the parameter (data) for controlling the daemon transmitted with respect to a server reception processing module from a user program. アクセス権限を確認する際に用いる各サーバのメモリ中の制御データを表す図である。It is a figure showing the control data in the memory of each server used when confirming access authority. 本発明の第1の実施の形態における障害発生時の動作を表す概念図である。It is a conceptual diagram showing the operation | movement at the time of the failure generation in the 1st Embodiment of this invention. 本発明の第1の実施の形態において第1サーバが障害から回復し、第2サーバのメモリの情報からファイルの複写を行う動作を表す概念図である。It is a conceptual diagram showing the operation | movement which a 1st server recovers from a failure in the 1st Embodiment of this invention, and copies a file from the information of the memory of a 2nd server. 本発明の第1の実施の形態における複数の上位装置からサーバに対するファイル読み出しを説明する概念図である。It is a conceptual diagram explaining the file reading with respect to a server from the some high-order apparatus in the 1st Embodiment of this invention. 本発明の第2の実施の形態におけるファイル複製の制御方法についての概念図である。It is a conceptual diagram about the file replication control method in the 2nd Embodiment of this invention.

符号の説明Explanation of symbols

1…第1ネットワーク(LAN)、2…第2ネットワーク(SAN)、
70…ファイル全体の制御データ、71…ファイルの部分的な制御データ、
101…第1サーバ、102…第2サーバ、103…第3サーバ、
121、122、123、124…上位装置、
501…第1サーバ、502…第2サーバ、503…第3サーバ、
1002…ユーザプログラム、1003…デーモン、
1004…サーバ受付処理モジュール、1005…更新準備/更新確定モジュール、
1006…参照モジュール、1007…メモリ、1008…作業エリア、
1009…制御データ、1010…ファイル、
1011…メモリ回復処理モジュール、
2001…編集中ファイル、2002…ファイル更新履歴(ジャーナル)、
3001…#1ファイル、3002…#2ファイル、3003…#3ファイル。
1 ... first network (LAN), 2 ... second network (SAN),
70 ... control data of the entire file, 71 ... partial control data of the file,
101 ... 1st server, 102 ... 2nd server, 103 ... 3rd server,
121, 122, 123, 124 ... host device,
501 ... first server, 502 ... second server, 503 ... third server,
1002 ... User program, 1003 ... Demon,
1004 ... Server reception processing module, 1005 ... Update preparation / update confirmation module,
1006 ... Reference module, 1007 ... Memory, 1008 ... Work area,
1009 ... control data, 1010 ... file,
1011 ... Memory recovery processing module,
2001 ... File being edited, 2002 ... File update history (journal),
3001 ... # 1 file, 3002 ... # 2 file, 3003 ... # 3 file.

Claims (10)

メモリと、第1ネットワークとのインターフェイスと、第2ネットワークとのインターフェイスを有するサーバ装置であって、
前記メモリには該サーバ装置外に同一のデータが複製されるファイルが格納され、
前記第1ネットワーク経由で送信される前記ファイルへの更新要求を該サーバ装置上で動作するユーザプログラムが受信し、
前記ユーザプログラムが前記ファイルの更新を該サーバ装置上で動作するデーモンに要求し、
前記デーモンが該サーバ装置内の前記ファイルの更新を実行し、かつ、前記第2ネットワーク経由で該サーバ装置外の複製された前記ファイルの更新を要求することを特徴とするサーバ装置。
A server device having an interface with a memory, a first network, and an interface with a second network,
The memory stores a file in which the same data is copied outside the server device,
A user program operating on the server device receives an update request to the file transmitted via the first network;
The user program requests a daemon operating on the server device to update the file;
The server device, wherein the daemon updates the file in the server device, and requests the update of the replicated file outside the server device via the second network.
メモリと、第1ネットワークとのインターフェイスと、第2ネットワークとのインターフェイスを有するサーバ装置であって、
前記メモリには該サーバ装置外に同一のデータが複製されるファイルが格納され、
前記第1ネットワーク経由で送信される前記メモリ上の前記ファイルへの更新要求を該サーバ装置上で動作するユーザプログラムが受信し、
前記ユーザプログラムが前記ファイルの更新を該サーバ装置上で動作するデーモンに要求し、
前記デーモンは該サーバ装置内の前記ファイルの排他・アクセス権情報を確認し、かつ、該サーバ装置外の複製された前記ファイルの排他・アクセス権情報を前記第2ネットワーク経由で確認し、
該サーバ装置内の前記ファイルの排他・アクセス権情報、及び、該サーバ装置外の前記ファイルの排他・アクセス権情報が更新要件をいずれも具備している場合に、前記デーモンが該サーバ装置内のメモリ上の前記ファイルの更新を実行し、かつ、前記第2ネットワーク経由で該サーバ装置外の複製された前記ファイルの更新を要求することを特徴とするサーバ装置。
A server device having an interface with a memory, a first network, and an interface with a second network,
The memory stores a file in which the same data is copied outside the server device,
A user program operating on the server device receives an update request to the file on the memory transmitted via the first network,
The user program requests a daemon operating on the server device to update the file;
The daemon confirms the exclusive / access right information of the file in the server device, and confirms the exclusive / access right information of the copied file outside the server device via the second network,
When the exclusive / access right information of the file in the server device and the exclusive / access right information of the file outside the server device have both update requirements, the daemon in the server device A server device that executes an update of the file on a memory and requests an update of the copied file outside the server device via the second network.
請求項1または2に記載のサーバ装置において、
前記第1ネットワーク経由で送信される前記メモリ上のファイルの参照要求を該サーバ装置上で動作する前記ユーザプログラムが受信し、
前記ユーザプログラムが前記ファイルの参照を該サーバ装置上で動作するデーモンに要求し、
前記デーモンが該サーバ装置内の前記ファイルを参照することを特徴とするサーバ装置。
In the server apparatus according to claim 1 or 2,
The user program operating on the server device receives a request to refer to a file on the memory transmitted via the first network,
The user program requests a daemon operating on the server device to reference the file;
The server device, wherein the daemon refers to the file in the server device.
メモリと、第1ネットワークとのインターフェイスと、第2ネットワークとのインターフェイスを有するサーバ装置であって、
前記メモリには該サーバ装置外に同一のデータが複製されるファイルが格納され、
前記第1ネットワーク経由で送信される前記メモリ上の前記ファイルへの更新要求を該サーバ装置上で動作するユーザプログラムが受信し、
前記ユーザプログラムが前記ファイルの更新を該サーバ装置上で動作するデーモンに要求し、
前記デーモンは該サーバ装置内の前記ファイルの排他・アクセス権情報、及び、該サーバ装置外の複製された前記ファイルの排他・アクセス権情報を前記第2ネットワーク経由で確認し、
該サーバ装置内の前記ファイルの排他・アクセス権情報、及び、該サーバ装置外の複製された前記ファイルの排他・アクセス権情報が更新条件をいずれも具備している場合に、前記デーモンが該サーバ装置内の前記ファイルの更新を実行し、かつ、前記第2ネットワーク経由で該サーバ装置外の複製された前記ファイルの更新を要求することを特徴とするサーバ装置。
A server device having an interface with a memory, a first network, and an interface with a second network,
The memory stores a file in which the same data is copied outside the server device,
A user program operating on the server device receives an update request to the file on the memory transmitted via the first network,
The user program requests a daemon operating on the server device to update the file;
The daemon confirms the exclusive / access right information of the file in the server device and the exclusive / access right information of the copied file outside the server device via the second network,
When the exclusive / access right information of the file in the server device and the exclusive / access right information of the copied file outside the server device have both update conditions, the daemon A server device that executes update of the file in the device and requests update of the copied file outside the server device via the second network.
請求項4に記載のサーバ装置において、前記ファイルの前記排他・アクセス権情報はファイル単位での管理及び前記ファイルの所定の容量単位での管理を可能にすることを特徴とするサーバ装置。   5. The server device according to claim 4, wherein the exclusive / access right information of the file enables management in file units and management of the file in a predetermined capacity unit. 請求項5に記載のサーバ装置において、
前記第2ネットワーク経由での所定のファイルの排他・アクセス権情報の確認要求に応じて、要求に関する前記排他・アクセス権情報を前記デーモンが確認し、確認結果を前記第2ネットワーク経由で送出することを特徴とするサーバ装置。
The server device according to claim 5,
In response to a request for confirmation of exclusive / access right information of a predetermined file via the second network, the daemon confirms the exclusive / access right information regarding the request, and sends a confirmation result via the second network. A server device.
メモリと、第1ネットワークとのインターフェイスと、第2ネットワークとのインターフェイスを有する第1のサーバ装置、及びメモリと、第1ネットワークとのインターフェイスと、第2ネットワークのインターフェイスを有する第2のサーバ装置を含むファイルシステムであって、
前記第2のサーバ装置の前記メモリに同一のデータが複製されるファイルが前記第1のサーバ装置の前記メモリに格納され、
前記第1ネットワーク経由で送信される前記ファイルへの更新要求を前記第1のサーバ装置上で動作するユーザプログラムが受信し、
前記ユーザプログラムが前記ファイルの更新を前記第1のサーバ装置上で動作するデーモンに要求し、
前記デーモンは前記第1のサーバ装置内の前記ファイルの排他・アクセス権情報を確認し、あわせて、前記第2のサーバ装置の複製された前記ファイルの排他・アクセス権情報を前記第2ネットワーク経由で前記第2のサーバ装置内で動作するデーモンに確認し、
前記第1のサーバ装置内の前記ファイルの排他・アクセス権情報、及び、前記第2のサーバ装置内の複製された前記ファイルの排他・アクセス権情報が更新条件をいずれも具備している場合に、前記第1のサーバ装置内の前記デーモンが前記第1のサーバ装置内の前記ファイルの更新を実行し、かつ、前記第2ネットワーク経由で前記第2のサーバ装置上の複製された前記ファイルの更新を要求することを特徴とするファイルシステム。
A first server device having an interface with a memory, a first network, and an interface with a second network, and a second server device having an interface with the memory, the first network, and an interface of the second network A file system including
A file in which the same data is copied to the memory of the second server device is stored in the memory of the first server device;
A user program operating on the first server device receives an update request to the file transmitted via the first network;
The user program requests a daemon operating on the first server device to update the file;
The daemon confirms the exclusive / access right information of the file in the first server device, and also sends the exclusive / access right information of the duplicated file of the second server device via the second network. Confirm with the daemon running in the second server device,
The exclusive / access right information of the file in the first server device and the exclusive / access right information of the duplicated file in the second server device both have update conditions. The daemon in the first server device updates the file in the first server device, and the replicated file on the second server device via the second network is updated. A file system characterized by requesting an update.
請求項7記載のファイルシステムにおいて、前記第2のサーバ装置上でも前記ユーザプログラム及び前記デーモンが動作し、前記第1のサーバ装置で障害が発生した際に、前記第2のユーザプログラムが前記第1ネットワークを経由して処理を引き継ぐことを特徴とするファイルシステム。   8. The file system according to claim 7, wherein when the user program and the daemon operate also on the second server device and a failure occurs in the first server device, the second user program executes the first user program. A file system characterized by taking over processing via a network. 請求項8記載のファイルシステムにおいて、前記第1のサーバ装置の障害が復旧した際に前記第1のサーバ装置上で動作する前記デーモンが前記第2のサーバ装置上で動作する前記デーモンに前記第1のサーバ装置のメモリ上のファイルと前記第2のサーバ装置のメモリ上のファイルの同期を前記第2ネットワークを経由して確認することを特徴とするファイルシステム。   9. The file system according to claim 8, wherein the daemon that operates on the first server device when the failure of the first server device is recovered is the daemon that operates on the second server device. A file system for confirming synchronization of a file on a memory of one server device and a file on a memory of the second server device via the second network. メモリと、第1ネットワークとのインターフェイスと、第2ネットワークのインターフェイスを有する第1のサーバ装置と、メモリと、第1ネットワークとのインターフェイスと、第2ネットワークとのインターフェイスを有する第2のサーバ装置、メモリと、第1ネットワークとのインターフェイスと、第2ネットワークとのインターフェイスを有する第3のサーバ装置と、を含むファイルシステムであって、
前記第2のサーバ装置の前記メモリに同一のデータが複製されるファイルが前記第1のサーバ装置の前記メモリに格納され、かつ、前記第3のサーバ装置の前記メモリに同一のデータが複製されるファイルが前記第2のサーバ装置の前記メモリに格納され、
前記第1ネットワーク経由で送信される前記ファイルへの更新要求を前記第1のサーバ装置上で動作するユーザプログラムが受信し、
前記第1のサーバ装置上の前記ユーザプログラムが前記ファイルの更新を前記第1のサーバ装置上で動作するデーモンに要求し、
前記第1のサーバ装置上で動作するデーモンは前記第1のサーバ装置内の前記ファイルの排他・アクセス権情報を確認し、あわせて、前記第2のサーバ装置の複製された前記ファイルの排他・アクセス権情報を前記第2ネットワーク経由で前記第2のサーバ装置内で動作するデーモンに確認し、
前記第1のサーバ装置内の前記ファイルの排他・アクセス権情報、及び、前記第2のサーバ装置内の複製された前記ファイルの排他・アクセス権情報が更新条件をいずれも具備している場合に、前記第1のサーバ装置上で動作するデーモンが前記第1のサーバ装置内の前記ファイルの更新を実行し、かつ、前記第2ネットワーク経由で前記第2のサーバ装置上の複製された前記ファイルの更新を要求し、
前記第1ネットワーク経由で送信される前記ファイルへの更新要求を前記第2のサーバ装置上で動作するユーザプログラムが受信し、
前記第2のサーバ装置上の前記ユーザプログラムが前記ファイルの更新を前記第2のサーバ装置上で動作するデーモンに要求し、
前記第2のサーバ装置上で動作するデーモンは前記第2のサーバ装置内の前記ファイルの排他・アクセス権情報を確認し、あわせて、前記第3のサーバ装置の複製された前記ファイルの排他・アクセス権情報を前記第2ネットワーク経由で前記第3のサーバ装置内で動作するデーモンに確認し、
前記第2のサーバ装置内の前記ファイルの排他・アクセス権情報、及び、前記第3のサーバ装置内の複製された前記ファイルの排他・アクセス権情報が更新条件をいずれも具備している場合に、前記第2のサーバ装置上で動作するデーモンが前記第2のサーバ装置内の前記ファイルの更新を実行し、かつ、前記第2ネットワーク経由で前記第3のサーバ装置上の複製された前記ファイルの更新を要求することを特徴とするファイルシステム。
A first server device having an interface with a memory, a first network, an interface with a second network, an interface with a memory, an interface with the first network, and a second server device having an interface with a second network; A file system comprising a memory, an interface with a first network, and a third server device having an interface with a second network,
A file in which the same data is duplicated in the memory of the second server device is stored in the memory of the first server device, and the same data is duplicated in the memory of the third server device. Stored in the memory of the second server device,
A user program operating on the first server device receives an update request to the file transmitted via the first network;
The user program on the first server device requests a daemon operating on the first server device to update the file;
The daemon that operates on the first server device confirms the exclusive / access right information of the file in the first server device, and at the same time, exclusive / excludes the duplicated file of the second server device. Confirm the access right information with the daemon operating in the second server device via the second network,
The exclusive / access right information of the file in the first server device and the exclusive / access right information of the duplicated file in the second server device both have update conditions. The daemon operating on the first server device updates the file in the first server device, and the copied file on the second server device via the second network Request an update for
A user program operating on the second server device receives an update request to the file transmitted via the first network;
The user program on the second server device requests update of the file from a daemon operating on the second server device;
The daemon operating on the second server device confirms the exclusive / access right information of the file in the second server device, and at the same time, exclusive / excludes the copied file of the third server device. Confirm the access right information with the daemon operating in the third server device via the second network,
When the exclusive / access right information of the file in the second server device and the exclusive / access right information of the duplicated file in the third server device both have update conditions The daemon operating on the second server device updates the file in the second server device, and the replicated file on the third server device via the second network A file system characterized by requesting an update of a file.
JP2007338774A 2007-12-28 2007-12-28 Server device and file system Pending JP2009157880A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007338774A JP2009157880A (en) 2007-12-28 2007-12-28 Server device and file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007338774A JP2009157880A (en) 2007-12-28 2007-12-28 Server device and file system

Publications (1)

Publication Number Publication Date
JP2009157880A true JP2009157880A (en) 2009-07-16

Family

ID=40961783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007338774A Pending JP2009157880A (en) 2007-12-28 2007-12-28 Server device and file system

Country Status (1)

Country Link
JP (1) JP2009157880A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9317440B2 (en) 2012-07-26 2016-04-19 Samsung Electronics Co., Ltd. Computing device and virtual device control method for controlling virtual device by computing system
CN112055849A (en) * 2018-04-19 2020-12-08 村田机械株式会社 Exclusive control system and exclusive control method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9317440B2 (en) 2012-07-26 2016-04-19 Samsung Electronics Co., Ltd. Computing device and virtual device control method for controlling virtual device by computing system
CN112055849A (en) * 2018-04-19 2020-12-08 村田机械株式会社 Exclusive control system and exclusive control method
CN112055849B (en) * 2018-04-19 2024-01-16 村田机械株式会社 Exclusive control system and exclusive control method

Similar Documents

Publication Publication Date Title
JP5192226B2 (en) Method for adding standby computer, computer and computer system
JP4277873B2 (en) Transaction processing apparatus and transaction processing method
JP5556816B2 (en) Distributed storage system, distributed storage method, distributed storage program and storage node
JP4727437B2 (en) Storage control method for storage system having database
JP4927408B2 (en) Storage system and data restoration method thereof
JP4170056B2 (en) Backup / restore management method between replicated volumes and storage control device used in this method
JP4715774B2 (en) Replication method, replication system, storage device, program
JP2007200294A (en) System and method for rearranging active application to computer positioned in topologically remote location
JP2003248605A (en) Storage system, main storing system, sub-storing system, and its data copying method
JP4508798B2 (en) Storage remote copy method
JP2005267216A (en) Storage remote copying method and information processing system
JP2007122117A (en) Storage system and storage control method
JP6085234B2 (en) Efficient remote copy method and apparatus
JP2010123055A (en) Data migration program, data migration method, and data migration apparatus
JP5561334B2 (en) Data transfer device
JP4201447B2 (en) Distributed processing system
JP4717922B2 (en) Information processing system, control method in information processing system, and management apparatus
JP5292350B2 (en) Message queue management system, lock server, message queue management method, and message queue management program
JP2005284980A (en) Initialization processing method for duplex system and remote disk mirroring
JP2009157880A (en) Server device and file system
JP2006058960A (en) Synchronization method and system in redundant configuration server system
JP2009265973A (en) Data synchronization system, failure recovery method, and program
US10656867B2 (en) Computer system, data management method, and data management program
JP7050707B2 (en) Storage control device, storage system, storage control method, and storage control program
JP6802304B2 (en) Storage control device, storage control system, storage control method, and storage control program