Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5375205B2 - Common resource management system, method, and program - Google Patents
[go: Go Back, main page]

JP5375205B2 - Common resource management system, method, and program - Google Patents

Common resource management system, method, and program Download PDF

Info

Publication number
JP5375205B2
JP5375205B2 JP2009050362A JP2009050362A JP5375205B2 JP 5375205 B2 JP5375205 B2 JP 5375205B2 JP 2009050362 A JP2009050362 A JP 2009050362A JP 2009050362 A JP2009050362 A JP 2009050362A JP 5375205 B2 JP5375205 B2 JP 5375205B2
Authority
JP
Japan
Prior art keywords
management table
common resource
resource management
node
identification information
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.)
Expired - Fee Related
Application number
JP2009050362A
Other languages
Japanese (ja)
Other versions
JP2010205005A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009050362A priority Critical patent/JP5375205B2/en
Publication of JP2010205005A publication Critical patent/JP2010205005A/en
Application granted granted Critical
Publication of JP5375205B2 publication Critical patent/JP5375205B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a common resource management system capable of acquiring a resource without concentrating access to a specific node and without depending on a network scale. <P>SOLUTION: A common resource management table 15 manages the using state of a common resource allowed to be used in common by a plurality of nodes in a network. A common resource management table moving means 11 moves the common resource management table 15 from one node to another node. A table pointer 14 stores the identification information of a node holding the common resource management table. When the common resource management table is moved, a table pointer updating means 12 stores the identification information of the movement destination node into the table pointer 14. <P>COPYRIGHT: (C)2010,JPO&amp;INPIT

Description

本発明は、共通資源管理システム、方法、及び、プログラムに関し、更に詳しくは、複数のノードで共有可能な資源を管理する共通資源管理システム、方法、及び、プログラムに関する。   The present invention relates to a common resource management system, method, and program, and more particularly, to a common resource management system, method, and program for managing resources that can be shared by a plurality of nodes.

分散並列処理の分野で、複数のノードが共通の資源を利用可能なシステムがある。一般に、そのようなシステムでは、共通資源の管理テーブルを1つのノードに固定し、そのノードが資源の割り当て及び管理を行う。共通資源管理テーブルは、並列処理システム内の様々なプロセスから利用される。このため、共通資源管理テーブルが置かれたノードにアクセスが集中することになり、そのノードのアクセス負荷が高くなる。また、共通資源管理テーブルは、そのアクセスに排他制御を必要とするため、共通資源管理テーブルに関わる処理は、システムの運用効率に影響を与える。   In the field of distributed parallel processing, there are systems in which a plurality of nodes can use common resources. Generally, in such a system, a common resource management table is fixed to one node, and the node performs resource allocation and management. The common resource management table is used by various processes in the parallel processing system. For this reason, access concentrates on the node where the common resource management table is placed, and the access load of the node increases. In addition, since the common resource management table requires exclusive control for its access, processing related to the common resource management table affects the operational efficiency of the system.

特定ノードへのアクセス集中を回避できる技術として、特許文献1に記載の技術がある。ネットワークには、複数の資源提供主体と、複数の資源使用主体とが接続される。資源提供主体及び資源使用主体は、資源の空き状況を示す空き資源リストをネットワークに巡回させる。資源提供主体は、空き資源リストを受け取ると、その時点で資源提供主体が保有している資源の空き状況に基づいて、空き資源リストを更新する。資源提供主体は、空き資源リストの更新後、更新した空き資源リストを、次の資源提供主体又は資源使用主体に渡す。   As a technique that can avoid concentration of access to a specific node, there is a technique described in Patent Document 1. A plurality of resource providing entities and a plurality of resource using entities are connected to the network. The resource providing entity and the resource using entity cause the network to circulate an available resource list indicating the availability of resources. When the resource providing entity receives the free resource list, the resource providing entity updates the free resource list based on the availability of resources held by the resource providing entity at that time. After updating the free resource list, the resource providing entity passes the updated free resource list to the next resource providing entity or resource using entity.

各資源使用主体は、ネットワークを介して空き資源リストを取得する。資源使用主体は、空き資源リスト内に、自身が獲得を希望する資源があるか否かを調べる。資源使用主体は、空き資源リストに獲得したい資源があるときは、その資源を獲得すべく、空き資源リストを更新する。資源使用主体は、空き資源リストの更新後、空き資源リストを、次の資源使用主体又は資源提供主体に渡す。また、資源使用主体は、獲得すべき資源を保有する資源提供主体に対して資源使用要求を送信し、資源提供主体から資源を獲得する。   Each resource using entity obtains a free resource list via the network. The resource use subject checks whether there is a resource that it wants to acquire in the free resource list. When there is a resource to be acquired in the free resource list, the resource using entity updates the free resource list to acquire the resource. After updating the free resource list, the resource using entity passes the free resource list to the next resource using entity or resource providing entity. Further, the resource using entity transmits a resource use request to the resource providing entity that holds the resource to be acquired, and acquires the resource from the resource providing entity.

特開平10−27109号公報JP-A-10-27109

特許文献1では、空き資源リストはネットワークを巡回するので、特定のノードへアクセスが集中することを回避できる。しかし、特許文献1では、空き資源リストをネットワークの全てのノードに巡回させる必要がある。このため、規模に依存して、空き資源リストがネットワークを巡回する時間が変化し、ノード数が増えるほど、資源獲得までに要する時間が長くなる。また、資源使用主体は、空き資源リストが巡回してきたタイミングでしか資源獲得ができないという問題もある。   In Patent Document 1, since the free resource list circulates the network, it can be avoided that access concentrates on a specific node. However, in Patent Document 1, it is necessary to circulate the free resource list to all nodes of the network. For this reason, depending on the scale, the time required for the free resource list to circulate in the network changes, and as the number of nodes increases, the time required for resource acquisition increases. In addition, there is a problem that the resource using entity can acquire resources only at the timing when the free resource list has been circulated.

本発明は、特定のノードにアクセスを集中させることなく、また、ネットワークの規模に依存せずに共通資源の管理情報にアクセス可能な共通資源管理システム、方法、及び、プログラムを提供することを目的とする。   It is an object of the present invention to provide a common resource management system, method, and program capable of accessing common resource management information without concentrating access to a specific node and without depending on the scale of a network. And

上記目的を達成するために、本発明の共通資源管理システムは、ネットワークを介して互いに接続された複数のノードを備える共通資源管理システムであって、前記複数のノードのうちの少なくとも1つのノードは、前記複数のノードが共通に使用可能な共通資源の使用状況を管理する共通資源管理テーブルを保有するノードの識別情報を記憶する識別情報記憶手段を備え、前記複数のノードのうちの少なくとも一部のノードはそれぞれ、前記識別情報記憶手段を備えるノードの識別情報を示す管理テーブル情報を記憶する管理テーブル情報記憶手段と、前記管理テーブル情報が示す識別情報により特定されるノードから前記共通資源管理テーブルを保有するノードの識別情報を取得する識別情報取得手段と、前記識別情報取得手段により取得された識別情報により特定されるノードから前記共通資源管理テーブルを取得する共通資源管理テーブル取得手段と、前記共通資源管理テーブル取得手段により取得された前記共通資源管理テーブルを記憶する共通資源管理テーブル記憶手段と、前記共通資源管理テーブルが取得されたことに応答して、前記識別情報記憶手段が記憶する識別情報を前記共通資源管理テーブルを取得したノードの識別情報に更新する識別情報更新手段とを備えることを特徴とする。 In order to achieve the above object, a common resource management system of the present invention is a common resource management system comprising a plurality of nodes connected to each other via a network, wherein at least one node of the plurality of nodes is And at least a part of the plurality of nodes, comprising identification information storage means for storing identification information of a node having a common resource management table for managing a usage status of a common resource that can be commonly used by the plurality of nodes. Each of the nodes includes management table information storage means for storing management table information indicating the identification information of the node comprising the identification information storage means, and the common resource management table from the node specified by the identification information indicated by the management table information. The identification information acquisition means for acquiring the identification information of the node that holds the A common resource management table obtaining means for obtaining the common resource management table from the node identified by the identification information is a common resource management table storage for storing the common resource management table acquired by the common resource management table obtaining means And, in response to the acquisition of the common resource management table, identification information update means for updating the identification information stored in the identification information storage means to the identification information of the node that acquired the common resource management table. It is characterized by providing.

本発明の共通資源管理方法は、ネットワークを介して互いに接続された複数のノードのそれぞれが備えるコンピュータにより前記複数ノードが共通に使用可能な共通資源を管理する共通資源管理方法であって、前記複数のノードのうちの少なくとも1つのノードが備えるコンピュータが、前記共通資源の使用状況を管理する共通資源管理テーブルを保有するノードの識別情報を記憶する識別情報記憶ステップと、前記複数のノードのうちの少なくとも一部のノードのそれぞれが備えるコンピュータが、前記少なくとも1つのノードの識別情報を示す管理テーブル情報を記憶する管理テーブル情報記憶ステップと、前記少なくとも一部のノードのそれぞれが備えるコンピュータのうち、前記共通資源管理テーブルを取得しようとしているコンピュータが、前記管理テーブル情報が示す識別情報により特定されるノードから前記共通資源管理テーブルを保有するノードの識別情報を取得し、当該識別情報により特定されるノードから前記共通資源管理テーブルを取得し、当該共通資源管理テーブルを取得したコンピュータを備えるノードが備える共通資源管理テーブル記憶手段に当該共通資源管理テーブルを記憶し、前記少なくとも1つのノードが備えるコンピュータが記憶する識別情報を前記共通資源管理テーブルを取得したコンピュータを備えるノードの識別情報に更新する共通資源管理テーブル取得ステップと、を有することを特徴とする。 The common resource management method of the present invention is a common resource management method for managing a common resource that can be commonly used by the plurality of nodes by a computer provided in each of the plurality of nodes connected to each other via a network. An identification information storage step in which a computer included in at least one of the nodes stores an identification information of a node having a common resource management table for managing a usage status of the common resource; A management table information storage step in which a computer provided in each of at least some nodes stores management table information indicating identification information of the at least one node; and among the computers provided in each of the at least some nodes, The computer that is trying to obtain the common resource management table Over data obtains the identification information of the node that has the common resource management table from the node identified by the identification information, wherein the management table information indicates, obtaining the common resource management table from the node identified by the identification information The common resource management table is stored in the common resource management table storage means provided in the node including the computer that has acquired the common resource management table, and the identification information stored in the computer included in the at least one node is stored in the common resource management And a common resource management table acquisition step for updating the identification information of a node including the computer that has acquired the table .

本発明のプログラムは、ネットワークを介して互いに接続された複数のノードのそれぞれが備えるコンピュータに前記複数ノードが共通に使用可能な共通資源を管理する処理を実行させるプログラムであって、前記複数のノードのうちの少なくとも1つのノードが備えるコンピュータに、前記共通資源の使用状況を管理する共通資源管理テーブルを保有するノードの識別情報を記憶する識別情報記憶処理を実行させ、前記複数のノードのうちの少なくとも一部のノードのそれぞれが備えるコンピュータに、前記少なくとも1つのノードの識別情報を示す管理テーブル情報を記憶する管理テーブル情報記憶処理を実行させ、前記少なくとも一部のノードのそれぞれが備えるコンピュータのうち、前記共通資源管理テーブルを取得しようとしているコンピュータに、前記管理テーブル情報が示す識別情報により特定されるノードから前記共通資源管理テーブルを保有するノードの識別情報を取得し、当該識別情報により特定されるノードから前記共通資源管理テーブルを取得し、当該共通資源管理テーブルを取得したコンピュータを備えるノードが備える共通資源管理テーブル記憶手段に当該共通資源管理テーブルを記憶し、前記少なくとも1つのノードが備えるコンピュータが記憶する識別情報を前記共通資源管理テーブルを取得したコンピュータを備えるノードの識別情報に更新する共通資源管理テーブル取得処理を実行させることを特徴とする。 The program of the present invention is a program for causing a computer included in each of a plurality of nodes connected to each other via a network to execute processing for managing a common resource that can be commonly used by the plurality of nodes. And a computer included in at least one of the nodes executes an identification information storage process for storing identification information of a node having a common resource management table for managing a usage status of the common resource, Among the computers provided in each of the at least some nodes, the computer provided in each of the at least some nodes is caused to execute management table information storage processing for storing management table information indicating identification information of the at least one node. Trying to get the common resource management table The computer, the acquired identification information from the nodes identified by the identification information indicated by the management table information node that has the common resource management table, and acquires the common resource management table from the node identified by the identification information The common resource management table is stored in a common resource management table storage unit included in a node including the computer that has acquired the common resource management table, and identification information stored in a computer included in the at least one node is stored in the common resource management table. The common resource management table acquisition process for updating the identification information of the node including the computer that has acquired the above is executed.

本発明の共通資源管理システム、方法、及び、プログラムは、特定のノードにアクセスを集中させることなく、また、ネットワークの規模に依存せずに共通資源の管理情報にアクセスすることができる。   The common resource management system, method, and program of the present invention can access the management information of the common resource without concentrating access to a specific node and without depending on the scale of the network.

本発明の第1実施形態の共通資源管理システムを示すブロック図。The block diagram which shows the common resource management system of 1st Embodiment of this invention. 共通資源管理テーブルアクセス時の動作手順を示すフローチャート。The flowchart which shows the operation | movement procedure at the time of common resource management table access. 共通資源管理テーブル再構築時の動作手順を示すフローチャート。The flowchart which shows the operation | movement procedure at the time of a common resource management table reconstruction. 稼働開始時のノードの動作手順を示すフローチャート。The flowchart which shows the operation | movement procedure of the node at the time of an operation start. 稼働中の2つのノードを示すブロック図。The block diagram which shows two nodes in operation. 共通資源管理テーブル移動後の状態を示すブロック図。The block diagram which shows the state after a common resource management table movement. プライマリのテーブルポインタにアクセスできない状態を示すブロック図。The block diagram which shows the state which cannot access the primary table pointer. プライマリ及びセカンダリのテーブルポインタにアクセスできない状態を示すブロック図。The block diagram which shows the state which cannot access the primary and secondary table pointer. 共通資源管理テーブルにアクセスできない状態を示すブロック図。The block diagram which shows the state which cannot access a common resource management table. 共通資源管理テーブルの再構築前の状態を示すブロック図。The block diagram which shows the state before reconstruction of a common resource management table. 共通資源管理テーブルの再構築後の状態を示すブロック図。The block diagram which shows the state after the reconstruction of a common resource management table. 稼働中のノードが1つの状態を示すブロック図。The block diagram which shows the state of the node of 1 operation | movement. 稼働中のノードが2つの状態を示すブロック図。FIG. 3 is a block diagram showing a state in which two nodes are operating. 稼働中のノードが3つの状態を示すブロック図。The block diagram which shows the state in which the node in operation is three. 本発明の第2実施形態の共通資源管理システムを示すブロック図。The block diagram which shows the common resource management system of 2nd Embodiment of this invention.

以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の第1実施形態の共通資源管理システムを示している。共通資源管理システムは、分散処理システムを構成する複数のノード(ノード10、20)を有する。ノード10及びノード20は、例えばコンピュータである。ノード10とノード20とは、ネットワークを介して相互に接続される。図1では、ノードの数が2つであるが、ノードの数は3以上でもよい。ノード10と、ノード20とは、図示しない共通の資源を利用可能である。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 shows a common resource management system according to the first embodiment of the present invention. The common resource management system has a plurality of nodes (nodes 10 and 20) constituting the distributed processing system. The node 10 and the node 20 are computers, for example. The node 10 and the node 20 are connected to each other via a network. In FIG. 1, the number of nodes is two, but the number of nodes may be three or more. The node 10 and the node 20 can use a common resource (not shown).

ノード10は、共通資源管理テーブル移動手段11、テーブルポインタ更新手段12、共通資源管理テーブル再構築手段13、及び、プロセス19を有する。また、ノード10は、情報記憶領域として、テーブルポインタ14、共通資源管理テーブル15、及び、管理テーブル情報16を有する。共通資源管理テーブル移動手段11は、共通資源管理テーブルアクセス手段17を含む。ノード10内の各手段の機能は、コンピュータ上で所定のプログラムを実行することで実現可能である。   The node 10 includes a common resource management table moving unit 11, a table pointer updating unit 12, a common resource management table restructuring unit 13, and a process 19. Further, the node 10 includes a table pointer 14, a common resource management table 15, and management table information 16 as information storage areas. The common resource management table moving unit 11 includes a common resource management table access unit 17. The function of each means in the node 10 can be realized by executing a predetermined program on the computer.

ノード20は、共通資源管理テーブル移動手段21、テーブルポインタ更新手段22、共通資源管理テーブル再構築手段23、及び、プロセス29を有する。また、ノード20は、情報記憶領域として、テーブルポインタ24、共通資源管理テーブル25、及び、管理テーブル情報26を有する。共通資源管理テーブル移動手段21は、共通資源管理テーブルアクセス手段27を含む。ノード20内の各手段の機能は、コンピュータ上で所定のプログラムを実行することで実現可能である。なお、以下、ノードを代表して、ノード10の各構成要素について説明するが、ノード20内の各構成要素の役割は、ノード10内の対応する各構成要素の役割と同じである。   The node 20 includes a common resource management table moving unit 21, a table pointer updating unit 22, a common resource management table restructuring unit 23, and a process 29. The node 20 includes a table pointer 24, a common resource management table 25, and management table information 26 as information storage areas. The common resource management table moving unit 21 includes a common resource management table access unit 27. The function of each means in the node 20 can be realized by executing a predetermined program on the computer. Hereinafter, each component of the node 10 will be described on behalf of the node, but the role of each component in the node 20 is the same as the role of each corresponding component in the node 10.

共通資源管理テーブル15は、共通資源の管理情報(使用状況、空き状況)を記憶するテーブルである。共通資源は、システム内でユニークな番号で管理されている。共通資源の具体例としては、ノード間スイッチの複数のレジスタなどが挙げられる。共通資源は、ハードウェア資源には限られず、ソフトウェア的な資源(リソース)でもよい。共通資源管理テーブル移動手段11は、共通資源管理テーブルを、一のノードから別のノードに移動させる。共通資源管理テーブル15は、共通資源管理テーブル15がノード10に移動した時刻を含む。プロセス19は、共通資源管理テーブルを参照して処理を行う部分である。   The common resource management table 15 is a table that stores common resource management information (usage status, availability). The common resource is managed by a unique number in the system. Specific examples of the common resource include a plurality of registers of the switch between nodes. The common resource is not limited to a hardware resource, and may be a software resource (resource). The common resource management table moving unit 11 moves the common resource management table from one node to another node. The common resource management table 15 includes the time when the common resource management table 15 moves to the node 10. The process 19 is a part that performs processing with reference to the common resource management table.

テーブルポインタ14は、使用中の共通資源管理テーブルを保有するノードのノード番号(ノード識別情報)を格納する。また、テーブルポインタ14は、付加情報として、共通資源管理テーブルの最終移動時刻を保持する。テーブルポインタは、ネットワークを構成する複数のノードのうちの少なくとも1つに存在する。管理テーブル情報16は、テーブルポインタが存在するノードのノード番号を保持する。図1では、管理テーブル情報16は、プライマリとして用いるテーブルポインタを保有するノードのノード番号(P)と、セカンダリとして用いるテーブルポインタを保有するノードのノード番号(S)とを保持している。   The table pointer 14 stores the node number (node identification information) of the node that holds the common resource management table being used. The table pointer 14 holds the last movement time of the common resource management table as additional information. The table pointer exists in at least one of a plurality of nodes constituting the network. The management table information 16 holds the node number of the node where the table pointer exists. In FIG. 1, the management table information 16 holds the node number (P) of the node that holds the table pointer used as the primary and the node number (S) of the node that holds the table pointer used as the secondary.

共通資源管理テーブルアクセス手段17は、共通資源管理テーブルにアクセスする。共通資源管理テーブルアクセス手段17は、アクセスに際して、まず、管理テーブル情報16を参照し、テーブルポインタが存在するノードを特定する。次いで、共通資源管理テーブルアクセス手段17は、特定したノードが保有するテーブルポインタを参照し、共通資源管理テーブルを保有するノードを特定する。その後、特定したノードが保有する共通資源管理テーブルにアクセスする。   The common resource management table access unit 17 accesses the common resource management table. When accessing, the common resource management table access unit 17 first refers to the management table information 16 and identifies the node where the table pointer exists. Next, the common resource management table access unit 17 refers to the table pointer held by the identified node, and identifies the node that holds the common resource management table. Thereafter, the common resource management table held by the identified node is accessed.

共通資源管理テーブル移動手段11は、共通資源管理テーブルアクセス手段17がアクセスする共通資源管理テーブルの内容を、自ノード内の共通資源管理テーブル15に格納し、共通資源管理テーブルを、自ノードに移動させる。その際、共通資源管理テーブル移動手段11は、共通資源管理テーブルの移動時刻と現在時刻(共通資源管理テーブルにアクセスした時刻)とを比較する。共通資源管理テーブル移動手段11は、時刻の差が所定の時間を超えるときに共通資源管理テーブルの移動を行う。差が所定時間よりも短いときは、共通資源管理テーブルの移動は行わない。このようにする理由は、共通資源管理テーブルが頻繁に移動し、ネットワーク負荷が増大することを避けるためである。   The common resource management table moving unit 11 stores the contents of the common resource management table accessed by the common resource management table access unit 17 in the common resource management table 15 in the own node, and moves the common resource management table to the own node. Let At that time, the common resource management table moving unit 11 compares the movement time of the common resource management table with the current time (time when the common resource management table is accessed). The common resource management table moving unit 11 moves the common resource management table when the time difference exceeds a predetermined time. When the difference is shorter than the predetermined time, the common resource management table is not moved. The reason for doing this is to avoid frequent movement of the common resource management table and increase in network load.

テーブルポインタ更新手段12は、共通資源管理テーブル移動手段11が共通資源管理テーブルを自ノードに移動すると、移動先のノードのノード番号、つまり、ノード10のノード番号を、テーブルポインタに格納する。また、テーブルポインタ更新手段12は、共通資源管理テーブルの最終移動時刻を、テーブルポインタに格納する。このとき、テーブルポインタ更新手段12は、管理テーブル情報16に格納されたノード番号のノードが保有するテーブルポインタに、ノード10のノード番号、及び、最終移動時刻を格納する。   When the common resource management table moving unit 11 moves the common resource management table to its own node, the table pointer updating unit 12 stores the node number of the destination node, that is, the node number of the node 10 in the table pointer. The table pointer update unit 12 stores the last movement time of the common resource management table in the table pointer. At this time, the table pointer updating unit 12 stores the node number of the node 10 and the last movement time in the table pointer held by the node having the node number stored in the management table information 16.

共通資源管理テーブル再構築手段13は、共通資源管理テーブルアクセス手段17が共通資源管理テーブルにアクセスできないとき、通信可能なノードから共通資源の使用状況を取得し、自ノード内に共通資源管理テーブルを再構築する。その後、共通資源管理テーブル再構築手段13は、テーブルポインタに、再構築した共通資源管理テーブルを保有するノード、つまり、自ノードのノード番号を記録する。共通資源管理テーブルアクセス手段17が共通資源管理テーブルにアクセスできない状況としては、共通資源管理テーブルを保有するノードがダウンし、そのノードから共通資源管理テーブルを取得できない状況が考えられる。また、テーブルポインタを保有するノードがダウンし、使用中の共通資源管理テーブルを保有するノードが不明となる状況が考えられる。   When the common resource management table access unit 17 cannot access the common resource management table, the common resource management table rebuilding unit 13 acquires the usage status of the common resource from the communicable node, and stores the common resource management table in the own node. Rebuild. Thereafter, the common resource management table restructuring unit 13 records the node having the reconstructed common resource management table, that is, the node number of the own node, in the table pointer. As a situation in which the common resource management table access means 17 cannot access the common resource management table, a situation in which the node that holds the common resource management table goes down and the common resource management table cannot be acquired from that node is conceivable. In addition, a situation may be considered in which the node that holds the table pointer goes down and the node that holds the common resource management table in use becomes unknown.

図2に、共通資源管理テーブルへのアクセス時の動作手順を示す。ここでは、ノード10が共通資源管理テーブルへアクセスするものとして説明する。共通資源管理テーブルアクセス手段17は、プロセス19が共通資源管理テーブルを参照する際に、管理テーブル情報16を参照し、管理テーブル情報16にプライマリとして用いるテーブルポインタを保有するノードとして記録されているノードを特定する(ステップA1)。共通資源管理テーブルアクセス手段17は、特定したノードが保有するテーブルポインタ、つまり、プライマリとして用いるテーブルポインタにアクセス可能か否かを判断する(ステップA2)。共通資源管理テーブルアクセス手段17は、アクセス可能なときは、テーブルポインタを参照して、使用中の共通資源管理テーブルを保有するノードを特定する(ステップA3)。   FIG. 2 shows an operation procedure when accessing the common resource management table. Here, description will be made assuming that the node 10 accesses the common resource management table. The common resource management table access unit 17 refers to the management table information 16 when the process 19 refers to the common resource management table, and is stored in the management table information 16 as a node having a table pointer used as a primary. Is specified (step A1). The common resource management table access unit 17 determines whether it is possible to access the table pointer held by the identified node, that is, the table pointer used as the primary (step A2). When the common resource management table access unit 17 is accessible, the common resource management table access unit 17 refers to the table pointer and identifies the node that holds the common resource management table being used (step A3).

共通資源管理テーブルアクセス手段17は、ステップA2でアクセス不能と判断すると、管理テーブル情報16を参照し、管理テーブル情報16にセカンダリとして用いるテーブルポインタを保有するノードとして記録されたノードを特定する(ステップA4)。共通資源管理テーブルアクセス手段17は、特定したノードが保有するテーブルポインタ、つまり、セカンダリとして用いるテーブルポインタにアクセス可能か否かを判断する(ステップA5)。共通資源管理テーブルアクセス手段17は、アクセス可能なときは、ステップA3に進み、テーブルポインタを参照して、使用中の共通資源管理テーブルを保有するノードを特定する。   When the common resource management table access unit 17 determines that access is not possible in step A2, the common resource management table access unit 17 refers to the management table information 16 and identifies the node recorded as a node having a table pointer used as a secondary in the management table information 16 (step A4). The common resource management table access unit 17 determines whether it is possible to access the table pointer held by the identified node, that is, the table pointer used as the secondary (step A5). When the common resource management table access unit 17 is accessible, the common resource management table access unit 17 proceeds to step A3 and refers to the table pointer to identify the node that holds the common resource management table in use.

共通資源管理テーブルアクセス手段17は、ステップA5でアクセス不能と判断すると、現在使用中の共通資源管理テーブルを保有するノードが不明であるとして、共通資源管理テーブルの再構築処理を行う(ステップA6)。この再構築処理については後述する。なお、プライマリのテーブルポインタと、セカンダリのテーブルポインタとには、同じノード番号が記録されている。このため、プライマリのテーブルポインタを用いる場合も、セカンダリのテーブルポインタを用いる場合も、ステップA3で特定される共通資源管理テーブル保有ノードは同じノードになる。   If the common resource management table access unit 17 determines that access is not possible in step A5, the common resource management table is reconstructed assuming that the node that holds the currently used common resource management table is unknown (step A6). . This reconstruction process will be described later. The same node number is recorded in the primary table pointer and the secondary table pointer. For this reason, whether the primary table pointer or the secondary table pointer is used, the common resource management table holding node specified in step A3 is the same node.

共通資源管理テーブルアクセス手段17は、ステップA3で特定したノードが保有する共通資源管理テーブルにアクセス可能か否かを判断する(ステップA7)。共通資源管理テーブルアクセス手段17は、アクセス不能と判断すると、現在使用中の共通資源管理テーブルが使用不能であるとして、ステップA6に進み、共通資源管理テーブルの再構築を行う。共通資源管理テーブルアクセス手段17は、ステップA7でアクセス可能と判断したときは、共通資源管理テーブルから移動時刻を取得し、これと、プライマリ又はセカンダリのテーブルポインタに記録された最終移動時刻とが一致するか否かを判断する(ステップA8)。共通資源管理テーブルアクセス手段17は、両者が一致しないときは、共通資源管理テーブルが無効であるとして、ステップA6に進み、共通資源管理テーブルの再構築処理を行う。共通資源管理テーブルアクセス手段17は、時刻が一致するときは、共通資源管理テーブルが有効であると判断する。   The common resource management table access unit 17 determines whether or not the common resource management table possessed by the node identified in step A3 is accessible (step A7). If the common resource management table access unit 17 determines that access is not possible, the common resource management table currently in use is determined to be unusable, and the process proceeds to step A6 to reconstruct the common resource management table. When the common resource management table access unit 17 determines that access is possible in step A7, the common resource management table access unit 17 obtains the movement time from the common resource management table, and this coincides with the last movement time recorded in the primary or secondary table pointer. It is determined whether or not to perform (step A8). If the two do not match, the common resource management table access unit 17 determines that the common resource management table is invalid, proceeds to step A6, and reconstructs the common resource management table. The common resource management table access unit 17 determines that the common resource management table is valid when the times coincide.

共通資源管理テーブルの有効性が確認されると、共通資源管理テーブル移動手段11は、現在時刻と共通資源管理テーブルの最終移動時刻との差、つまり、共通資源管理テーブルが前回移動してからの経過時間を求める。共通資源管理テーブル移動手段11は、経過時間が所定の時間(最大停留時間)を超えているか否かを判断する(ステップA9)。この最大停留時間は、システム規模、運用形態などに基づいて、あらかじめ決めておく。共通資源管理テーブル移動手段11は、前回の移動からの経過時間が、最大停留時間を超えるときは、共通資源管理テーブルを、自ノードに移動する(ステップA10)。すなわち、共通資源管理テーブル移動手段11は、共通資源管理テーブルアクセス手段17がアクセスする共通資源管理テーブルの内容を、自ノードの共通資源管理テーブル15に格納する。共通資源管理テーブル移動手段11は、ステップA9で前回の移動からの経過時間が最大停留時間以内と判断したときは、共通資源管理テーブルの移動を行わない。   When the validity of the common resource management table is confirmed, the common resource management table moving means 11 determines the difference between the current time and the last movement time of the common resource management table, that is, since the common resource management table has moved last time. Find the elapsed time. The common resource management table moving unit 11 determines whether or not the elapsed time exceeds a predetermined time (maximum stop time) (step A9). This maximum stop time is determined in advance based on the system scale, operation mode, and the like. The common resource management table moving means 11 moves the common resource management table to its own node when the elapsed time from the previous movement exceeds the maximum stop time (step A10). That is, the common resource management table moving unit 11 stores the contents of the common resource management table accessed by the common resource management table access unit 17 in the common resource management table 15 of its own node. The common resource management table moving means 11 does not move the common resource management table when it is determined in step A9 that the elapsed time from the previous movement is within the maximum retention time.

共通資源管理テーブルの移動を行った場合、共通資源管理テーブル移動手段11は、自ノードに移動した共通資源管理テーブル15に、移動時刻を記録する(ステップA11)。テーブルポインタ更新手段12は、管理テーブル情報16に記録されたノード番号のノードが保有するテーブルポインタに自ノードのノード番号を記録する。また、テーブルポインタ更新手段12は、テーブルポインタの最終移動時刻に、ステップA11で記録した共通資源管理テーブルの移動時刻を記録する(ステップA12)。テーブルポインタ更新手段12は、管理テーブル情報16に、プライマリのテーブルポインタを保有するノードとセカンダリのテーブルポインタを保有するノードの2つのノードが記録されているときは、双方のノードが保有するテーブルポインタに、自ノードのノード番号と最終移動時刻とを記録する。   When the common resource management table is moved, the common resource management table moving unit 11 records the movement time in the common resource management table 15 moved to its own node (step A11). The table pointer updating unit 12 records the node number of the own node in the table pointer held by the node having the node number recorded in the management table information 16. The table pointer updating unit 12 records the movement time of the common resource management table recorded in step A11 as the last movement time of the table pointer (step A12). When the management table information 16 records two nodes, that is, a node that holds the primary table pointer and a node that holds the secondary table pointer, the table pointer updating unit 12 stores the table pointers held by both nodes. Record the node number of the node and the last movement time.

共通資源管理テーブルアクセス手段17は、プロセス19の資源取得又は資源解放に合わせて、共通資源管理テーブルを更新する(ステップA13)。共通資源管理テーブルアクセス手段17は、共通資源管理テーブルが自ノードに移動しているときは、更新内容を自ノードの共通資源管理テーブル15に反映させる。共通資源管理テーブルアクセス手段17は、共通資源管理テーブルが移動していないときは、ステップA3で特定した共通資源管理テーブル保有ノードが保有する共通資源管理テーブルに、更新内容を反映させる。   The common resource management table access unit 17 updates the common resource management table in accordance with the resource acquisition or resource release of the process 19 (step A13). When the common resource management table has been moved to the own node, the common resource management table access unit 17 reflects the updated contents in the common resource management table 15 of the own node. When the common resource management table is not moved, the common resource management table access unit 17 reflects the updated contents in the common resource management table held by the common resource management table holding node specified in step A3.

図3に、再構築処理の動作手順を示す。共通資源管理テーブル再構築手段13は、自ノードを含む全ノードから、各ノードの共通資源の使用状況を収集し、共通資源管理テーブル15に記録する(ステップB1)。より詳細には、共通資源管理テーブル再構築手段13は、各ノードに対し、各ノード(各ノードのマシン)が現在使用している共通資源の情報を問い合わせる。共通資源管理テーブル再構築手段13は、ノードからの応答に含まれる共通資源の使用状況を、共通資源管理テーブル15に反映させる。共通資源管理テーブル再構築手段13は、ノードからの応答が得られないときは、そのノードは未稼働とし、共通資源の使用状況の収集は行わない。   FIG. 3 shows an operation procedure of the reconstruction process. The common resource management table reconstructing means 13 collects the usage status of the common resource of each node from all the nodes including its own node and records it in the common resource management table 15 (step B1). More specifically, the common resource management table restructuring means 13 inquires each node (information of the common resource currently used by each node) of each node. The common resource management table restructuring unit 13 reflects the usage status of the common resource included in the response from the node in the common resource management table 15. When the response from the node is not obtained, the common resource management table restructuring unit 13 sets the node to non-operating and does not collect the usage status of the common resource.

共通資源管理テーブル再構築手段13は、ステップB1では、最弱番のノード番号を持つノードから順に、共通資源の使用状況を問い合わせていく。共通資源管理テーブル再構築手段13は、全てのノードに対して共通資源の使用状況の問い合わせを完了すると、共通資源管理テーブル15の移動時刻に、現在時刻を記録する(ステップB2)。共通資源管理テーブル再構築手段13は、システム内に存在するノードが自ノードのみであるか否かを判断する(ステップB3)。共通資源管理テーブル再構築手段13は、システム内に存在するノードが自ノードのみであるときは、管理テーブル情報16を作成し、管理テーブル情報16のプライマリに、自ノードのノード番号を記録する(ステップB4)。セカンダリについては、空欄(未設定)としておく。   In step B1, the common resource management table restructuring unit 13 inquires the usage status of the common resource in order from the node having the weakest node number. When the common resource management table restructuring unit 13 completes the inquiry about the usage status of the common resource for all nodes, the common resource management table restructuring unit 13 records the current time as the movement time of the common resource management table 15 (step B2). The common resource management table rebuilding means 13 determines whether or not the only node existing in the system is its own node (step B3). The common resource management table rebuilding means 13 creates management table information 16 when the only node existing in the system is the own node, and records the node number of the own node in the primary of the management table information 16 ( Step B4). The secondary field is left blank (not set).

共通資源管理テーブル再構築手段13は、ステップB3でシステム内に他のノードが存在すると判断したときは、プライマリとして用いるテーブルポインタを保有するノードを探すためにブロードキャストを発行する(ステップB5)。共通資源管理テーブル再構築手段13は、発行したブロードキャストに対し応答が得られたか否かを判断する(ステップB6)。共通資源管理テーブル再構築手段13は、応答が得られたときは、管理テーブル情報16のプライマリに、応答したノードのノード番号を記録する(ステップB7)。   When the common resource management table restructuring unit 13 determines in step B3 that another node exists in the system, it issues a broadcast to search for a node having a table pointer used as a primary (step B5). The common resource management table restructuring unit 13 determines whether or not a response is obtained to the issued broadcast (step B6). When the response is obtained, the common resource management table reconstruction unit 13 records the node number of the responding node in the primary of the management table information 16 (step B7).

共通資源管理テーブル再構築手段13は、ステップB6で応答が得られないと判断すると、管理テーブル情報16のプライマリに、自ノードのノード番号を記録する(ステップB8)。その後、共通資源管理テーブル再構築手段13は、自ノードがプライマリとなったことを通知するために、管理テーブル情報16のプライマリが変更されたことを、ブロードキャストで、他のノードに通知する(ステップB9)。他のノードは、通知内容に従って、管理テーブル情報のプライマリに、ノード10のノード番号を記録する。   If the common resource management table rebuilding means 13 determines that no response is obtained in step B6, it records the node number of its own node in the primary of the management table information 16 (step B8). Thereafter, the common resource management table rebuilding means 13 notifies other nodes by broadcast that the primary of the management table information 16 has been changed in order to notify that the own node has become primary (step B9). The other nodes record the node number of the node 10 in the primary of the management table information according to the notification contents.

共通資源管理テーブル再構築手段13は、プライマリとして用いるテーブルポインタを保有するノードの探索後、セカンダリとして用いるテーブルポインタを保有するノードを探索する。共通資源管理テーブル再構築手段13は、セカンダリとして用いるテーブルポインタを保有するノードを探すためにブロードキャストを発行する(ステップB10)。共通資源管理テーブル再構築手段13は、発行したブロードキャストに対し応答が得られたか否かを判断する(ステップB11)。共通資源管理テーブル再構築手段13は、応答が得られたときは、管理テーブル情報16のセカンダリに、応答したノードのノード番号を記録する(ステップB12)。   The common resource management table rebuilding means 13 searches for a node having a table pointer used as a secondary after searching for a node having a table pointer used as a primary. The common resource management table restructuring unit 13 issues a broadcast to search for a node having a table pointer used as a secondary (step B10). The common resource management table restructuring unit 13 determines whether a response to the issued broadcast has been obtained (step B11). When the response is obtained, the common resource management table restructuring unit 13 records the node number of the responding node in the secondary of the management table information 16 (step B12).

共通資源管理テーブル再構築手段13は、ステップB11で応答が得られないと判断すると、自ノードがプライマリとして用いるテーブルポインタを保有するノードになっているか否かを判断する(ステップB13)。共通資源管理テーブル再構築手段13は、自ノードがプライマリのテーブルポインタを保有するノードになっているときは、他のノード、例えば隣接ノードに対し、セカンダリとして用いるテーブルポインタを保有するノードになることを依頼する(ステップB14)。共通資源管理テーブル再構築手段13は、自ノードがプライマリのテーブルポインタを保有するノードでないときは、管理テーブル情報16のセカンダリに、自ノードのノード番号を記録する(ステップB15)。その後、共通資源管理テーブル再構築手段13は、自ノードがセカンダリになったことを通知するために、管理テーブル情報16のセカンダリが変更されたことを、ブロードキャストで、他のノードに通知する(ステップB16)。   If the common resource management table restructuring unit 13 determines that no response is obtained in step B11, it determines whether or not the own node is a node having a table pointer used as a primary (step B13). The common resource management table rebuilding means 13 becomes a node having a table pointer used as a secondary with respect to another node, for example, an adjacent node, when the own node is a node having a primary table pointer. Is requested (step B14). The common resource management table restructuring unit 13 records the node number of the own node in the secondary of the management table information 16 when the own node is not the node having the primary table pointer (step B15). Thereafter, the common resource management table restructuring unit 13 notifies other nodes by broadcasting that the secondary of the management table information 16 has been changed in order to notify that the own node has become the secondary (Step S1). B16).

共通資源管理テーブル再構築手段13は、管理テーブル情報16に記録されたノード番号のノードが保有するテーブルポインタに、自ノードのノード番号を記録する(ステップB17)。また、共通資源管理テーブル再構築手段13は、管理テーブル情報16に記録されたノード番号のノードが保有するテーブルポインタに、ステップB2で共通資源管理テーブル15に記録した移動時刻を記録する。ステップB3からステップB4に進んだ場合、プライマリとして用いるテーブルポインタを保有するノードが自ノードで、セカンダリとして用いテーブルポインタを保有するノードは存在しない。このため、共通資源管理テーブル再構築手段13は、自ノードのテーブルポインタ14に、自ノードのノード番号及び移動時刻を記録する。ステップB3からステップB4に進んだ場合、共通資源管理テーブル再構築手段13は、プライマリ及びセカンダリとして用いるテーブルポインタの双方に、自ノードのノード番号及び移動時刻を記録する。   The common resource management table restructuring unit 13 records the node number of the own node in the table pointer held by the node having the node number recorded in the management table information 16 (step B17). Further, the common resource management table restructuring unit 13 records the movement time recorded in the common resource management table 15 in step B2 on the table pointer held by the node having the node number recorded in the management table information 16. When the process proceeds from step B3 to step B4, the node holding the table pointer used as the primary is its own node, and there is no node used as the secondary and holding the table pointer. Therefore, the common resource management table restructuring unit 13 records the node number and movement time of the own node in the table pointer 14 of the own node. When the process proceeds from step B3 to step B4, the common resource management table restructuring unit 13 records the node number and movement time of the own node in both the table pointers used as primary and secondary.

図4に、ノード起動時の動作手順を示す。ノードは、稼働を開始すると、他のノードから管理テーブル情報の取得を試み、管理テーブル情報が取得できたか否かを判断する(ステップC1)。既にネットワークに接続されたノードが存在し、そのノードが稼働中であれば、新たに稼働を開始したノードは、稼働中のノードから管理テーブル情報を取得できる。ノードは、管理テーブル情報が取得できないと判断すると、共通資源管理テーブル再構築手段を用いて、共通資源管理テーブルの再構築処理を行う(ステップC2)。   FIG. 4 shows an operation procedure when the node is activated. When the node starts operation, it tries to acquire management table information from another node, and determines whether or not the management table information has been acquired (step C1). If there is a node already connected to the network and the node is operating, the newly started node can acquire management table information from the operating node. If the node determines that the management table information cannot be acquired, the node performs a rebuild process of the common resource management table using the common resource management table rebuilding means (step C2).

ステップC2の共通資源管理テーブル再構築処理の手順は、図3に示す手順と同じである。新たに稼働したノードは、共通資源管理テーブルの再構築処理を行うことで、自ノード内に共通資源管理テーブルを作成すると共に、テーブルポインタ及び管理テーブル情報を生成する。ノードは、テーブルポインタの共通資源管理テーブル所在ノードに、自ノードのノード番号を記録する。また、ノードは、管理テーブル情報のプライマリに、自ノードのノード番号を記録する。管理テーブル情報のセカンダリは、設定なしにしておく。   The procedure of the common resource management table reconstruction process in step C2 is the same as the procedure shown in FIG. The newly operated node performs a process of reconstructing the common resource management table, thereby creating a common resource management table in its own node and generating a table pointer and management table information. The node records the node number of its own node in the common resource management table location node of the table pointer. Further, the node records the node number of its own node in the primary of the management table information. The management table information secondary is left unset.

新たに稼働したノードは、ステップC1で管理テーブル情報が取得できたと判断すると、自ノード内の管理テーブル情報に、取得した管理テーブル情報の内容を格納する(ステップC3)。ノードは、管理テーブル情報に、プライマリとして用いるテーブルポインタを保有するノードのノード番号とセカンダリとして用いるテーブルポインタを保有するノードのノード番号とが記録されているか否かを判断する(ステップC4)。プライマリ及びセカンダリとして用いるテーブルポインタを保有するノードの双方が記録されているときは、処理を終了する。   When it is determined that the management table information has been acquired in step C1, the newly operating node stores the contents of the acquired management table information in the management table information in its own node (step C3). The node determines whether or not the node number of the node holding the table pointer used as the primary and the node number of the node holding the table pointer used as the secondary are recorded in the management table information (step C4). When both the nodes holding the table pointers used as primary and secondary are recorded, the process is terminated.

ノードは、ステップC3でプライマリとして用いるテーブルポインタを保有するノードとセカンダリとして用いるテーブルポインタを保有するノードの何れか一方が記録されていると判断したときは、記録されたノード番号のノードから、そのノードが保有するテーブルポインタの取得を試みる。ノードは、テーブルポインタを取得できたか否かを判断する(ステップC5)。ノードは、テーブルポインタが取得できないときは、ステップC2に移行し、共通資源管理テーブルの再構築を行う。   When the node determines that one of the node holding the table pointer used as the primary and the node holding the table pointer used as the secondary is recorded in Step C3, the node from the node of the recorded node number Attempts to get the table pointer held by the node. The node determines whether or not the table pointer has been acquired (step C5). When the node cannot acquire the table pointer, the node proceeds to step C2 and reconstructs the common resource management table.

ノードは、ステップC5でテーブルポインタが取得できたと判断すると、取得したテーブルポインタの内容を、自ノードのテーブルポインタに記録する(ステップC6)。その後、ノードは、管理テーブル情報に、自ノードのノード番号を、プライマリとして用いるテーブルポインタを保有するノードとセカンダリとして用いるテーブルポインタを保有するノードのうちの未設定の方のノードとして記録する。ノードは、自ノードがプライマリとして用いるテーブルポインタを保有するノード又はセカンダリとして用いるテーブルポインタを保有するノードになったことをブロードキャストで宣言する(ステップC7)。   When the node determines that the table pointer has been acquired in step C5, the node records the content of the acquired table pointer in the table pointer of its own node (step C6). Thereafter, the node records the node number of its own node in the management table information as an unset node among a node holding a table pointer used as a primary and a node holding a table pointer used as a secondary. The node declares by broadcast that its own node has become a node holding a table pointer used as a primary or a table pointer used as a secondary (step C7).

以下、具体的なケースを用いて説明する。図5に、稼働中の2つのノードを示す。図5は、障害等が発生していないケースである。ノード20(ノード番号20)は、プライマリとして用いるテーブルポインタ24を保有するノードであり、ノード10(ノード番号10)は、セカンダリとして用いるテーブルポインタ14を保有するノードである。ノード10の管理テーブル情報16のプライマリ(P)にはノード番号「20」が記録され、セカンダリ(S)にはノード番号「10」が記録されている。ノード20でも、同様に、管理テーブル情報26のプライマリ(P)にはノード番号「20」が記録され、セカンダリ(S)にはノード番号「10」が記録されている。   Hereinafter, a specific case will be described. FIG. 5 shows two nodes in operation. FIG. 5 shows a case where no failure or the like has occurred. The node 20 (node number 20) is a node holding a table pointer 24 used as a primary, and the node 10 (node number 10) is a node holding a table pointer 14 used as a secondary. The node number “20” is recorded in the primary (P) of the management table information 16 of the node 10, and the node number “10” is recorded in the secondary (S). Similarly, in the node 20, the node number “20” is recorded in the primary (P) of the management table information 26, and the node number “10” is recorded in the secondary (S).

使用中の共通資源管理テーブル情報を保有するノードは、ノード20である。ノード20が保有する共通資源管理テーブル25の移動時刻は、時刻t1である。プライマリとして用いるノード20のテーブルポインタ24には、共通資源管理テーブル所在ノードとしてノード番号「20」が記録されている。また、テーブルポインタ24には、最終移動時刻として時刻t1が記録されている。セカンダリとして用いるノード10のテーブルポインタ14にも、同様に、共通資源管理テーブル所在ノードとしてノード番号「20」が記録され、最終移動時刻として時刻t1が記録されている。   The node that holds the common resource management table information in use is the node 20. The movement time of the common resource management table 25 held by the node 20 is time t1. In the table pointer 24 of the node 20 used as the primary, the node number “20” is recorded as the common resource management table location node. The table pointer 24 records time t1 as the last movement time. Similarly, in the table pointer 14 of the node 10 used as the secondary, the node number “20” is recorded as the common resource management table location node, and the time t1 is recorded as the final movement time.

図5で、ノード10に属するプロセス(proc1)19が共通資源管理テーブルにアクセスする必要が生じたとする。共通資源管理テーブルアクセス手段17(図1)は、自ノード内の管理テーブル情報16のプライマリ(P)を参照し、ノード番号「20」を取得する。共通資源管理テーブルアクセス手段17は、ノード20が保有するテーブルポインタ24にアクセスし、使用中の共通資源管理テーブルを保有するノードのノード番号「20」を取得する。また、共通資源管理テーブルアクセス手段17は、テーブルポインタ24から、最終移動時刻t1を取得する。   In FIG. 5, it is assumed that the process (proc1) 19 belonging to the node 10 needs to access the common resource management table. The common resource management table access means 17 (FIG. 1) refers to the primary (P) of the management table information 16 in the own node and acquires the node number “20”. The common resource management table access unit 17 accesses the table pointer 24 held by the node 20 and acquires the node number “20” of the node holding the common resource management table in use. Further, the common resource management table access unit 17 acquires the last movement time t1 from the table pointer 24.

共通資源管理テーブルアクセス手段17は、ノード20が保有する共通資源管理テーブル25から、共通資源管理テーブル25がノード20に移動してきた時刻(移動時刻)t1を取得する。共通資源管理テーブルアクセス手段17は、テーブルポインタ24に記録された最終移動時刻t1と、共通資源管理テーブル25に記録された移動時刻t1とを比較する。両者は一致するので、共通資源管理テーブルアクセス手段17は、ノード20が保有する共通資源管理テーブル25は有効であると判断する。   The common resource management table access unit 17 acquires the time (movement time) t1 when the common resource management table 25 has moved to the node 20 from the common resource management table 25 held by the node 20. The common resource management table access unit 17 compares the last movement time t1 recorded in the table pointer 24 with the movement time t1 recorded in the common resource management table 25. Since the two match, the common resource management table access unit 17 determines that the common resource management table 25 held by the node 20 is valid.

ノード10の共通資源管理テーブル移動手段11は、共通資源管理テーブルがリモートノードにあるので、これを自ノードに移動するか否かを決定する。より詳細には、まず、現在時刻と共通資源管理テーブル25の移動時刻t1との差から、共通資源管理テーブルがノード20に移動してからの経過時間を求める。次いで、経過時間と所定の最大停留時間とを比較し、経過時間が最大停留時間を超えるか否かを判断する。共通資源管理テーブル移動手段11は、経過時間が最大停留時間を超えるときは、共通資源管理テーブルを自ノードに移動すると決定する。経過時間が最大停留時間以内であれば、共通資源管理テーブルを移動しないと決定する。   The common resource management table moving unit 11 of the node 10 determines whether or not to move the common resource management table to the own node because the common resource management table is in the remote node. More specifically, first, an elapsed time after the common resource management table moves to the node 20 is obtained from the difference between the current time and the movement time t1 of the common resource management table 25. Next, the elapsed time is compared with a predetermined maximum stop time, and it is determined whether or not the elapsed time exceeds the maximum stop time. The common resource management table moving means 11 determines to move the common resource management table to the own node when the elapsed time exceeds the maximum stop time. If the elapsed time is within the maximum stop time, it is determined not to move the common resource management table.

図6に、共通資源管理テーブル移動後の状態を示す。共通資源管理テーブル移動手段11は、共通資源管理テーブル25の内容を複製し、共通資源管理テーブル15として格納する。また、共通資源管理テーブル15に、移動時刻t2を記録する。これで、ノード10が保有する共通資源管理テーブル15が利用可能な状態になる。その後、テーブルポインタ更新手段12は、管理テーブル情報16を参照し、プライマリとして用いるテーブルポインタ24及びセカンダリとして用いるテーブルポインタ14の内容を更新する。この更新では、共通資源管理テーブル所在ノードのノード番号をノード番号「20」からノード番号「10」に変更すると共に、最終移動時刻を時刻t1から時刻t2に変更する。   FIG. 6 shows a state after moving the common resource management table. The common resource management table moving unit 11 duplicates the contents of the common resource management table 25 and stores them as the common resource management table 15. In addition, the movement time t2 is recorded in the common resource management table 15. As a result, the common resource management table 15 held by the node 10 becomes available. Thereafter, the table pointer updating unit 12 refers to the management table information 16 and updates the contents of the table pointer 24 used as the primary and the table pointer 14 used as the secondary. In this update, the node number of the common resource management table location node is changed from the node number “20” to the node number “10”, and the last movement time is changed from the time t1 to the time t2.

プロセス19は、共通資源管理テーブルに対して更新等の処理を行う。プロセス19は、共通資源管理テーブルが移動していれば、自ノード内の共通資源管理テーブル15に、更新内容を反映させる。プロセス19は、共通資源管理テーブルの移動がなければ、リモートノードであるノード20が保有する共通資源管理テーブル25に、更新内容を反映させる。   The process 19 performs processing such as updating on the common resource management table. If the common resource management table has moved, the process 19 reflects the updated contents in the common resource management table 15 in the own node. If there is no movement of the common resource management table, the process 19 reflects the updated contents in the common resource management table 25 held by the node 20 which is a remote node.

図7に、プライマリとして用いるテーブルポインタにアクセスできないケースを示す。ノード40のプロセスに、共通資源管理テーブルにアクセスする必要が生じたとする。ノード40の共通資源管理テーブルアクセス手段は、管理テーブル情報46を参照し、プライマリとして用いる、ノード30が保有するテーブルポインタ34にアクセスしようとする。ノード30がダウンなどにより稼働を停止している場合、ノード40の共通資源管理テーブルアクセス手段は、アクセスに失敗する。   FIG. 7 shows a case where the table pointer used as the primary cannot be accessed. Assume that the process of the node 40 needs to access the common resource management table. The common resource management table access means of the node 40 refers to the management table information 46 and tries to access the table pointer 34 held by the node 30 used as a primary. When the operation of the node 30 is stopped due to a down or the like, the common resource management table access unit of the node 40 fails to access.

ノード40の共通資源管理テーブルアクセス手段は、プライマリとして用いるテーブルポインタ34へのアクセスに失敗すると、管理テーブル情報46を再び参照し、セカンダリとして用いる、ノード20が保有するテーブルポインタ24へアクセスする。ノード20は稼働中であるので、このアクセスは成功する。共通資源管理テーブルアクセス手段は、テーブルポインタ24を参照し、使用中の共通資源管理テーブルを保有するノードのノード番号「10」と、最終移動時刻t5とを取得する。これ以降は、図5を用いて説明した障害等が発生していないケースと同じである。   When the access to the table pointer 34 used as the primary fails, the common resource management table access means of the node 40 refers again to the management table information 46 and accesses the table pointer 24 held by the node 20 used as the secondary. Since node 20 is in operation, this access is successful. The common resource management table access unit refers to the table pointer 24 and acquires the node number “10” of the node that holds the common resource management table in use and the last movement time t5. The subsequent steps are the same as the case where the failure described with reference to FIG. 5 has not occurred.

図8に、プライマリ及びセカンダリとして用いるテーブルポインタの双方にアクセスできないケースを示す。ノード40のプロセスに、共通資源管理テーブルにアクセスする必要が生じたとする。ノード40の共通資源管理テーブルアクセス手段は、管理テーブル情報46を参照し、プライマリとして用いる、ノード30が保有するテーブルポインタ34にアクセスしようとする。ノード30がダウンなどにより稼働を停止している場合、ノード40の共通資源管理テーブルアクセス手段は、アクセスに失敗する。ここまでは、図7を用いて説明したケースと同じである。   FIG. 8 shows a case where both the table pointers used as primary and secondary cannot be accessed. Assume that the process of the node 40 needs to access the common resource management table. The common resource management table access means of the node 40 refers to the management table information 46 and tries to access the table pointer 34 held by the node 30 used as a primary. When the operation of the node 30 is stopped due to a down or the like, the common resource management table access unit of the node 40 fails to access. Up to this point, the case is the same as that described with reference to FIG.

ノード40の共通資源管理テーブルアクセス手段は、プライマリとして用いるテーブルポインタ34へのアクセスに失敗すると、管理テーブル情報46を再び参照し、セカンダリとして用いる、ノード20が保有するテーブルポインタ24へのアクセスを試みる。ノード20は、ダウンしており、このアクセスにも失敗する。つまり、共通資源管理テーブルアクセス手段は、プライマリとして用いるテーブルポインタ34へのアクセスも、セカンダリとして用いるテーブルポインタ24へのアクセスも失敗する。   When the access to the table pointer 34 used as the primary fails, the common resource management table access means of the node 40 refers again to the management table information 46 and tries to access the table pointer 24 held by the node 20 used as the secondary. . Node 20 is down and this access also fails. That is, the common resource management table access unit fails to access the table pointer 34 used as the primary and the table pointer 24 used as the secondary.

テーブルポインタへのアクセスに失敗すると、使用中の共通資源管理テーブルを保有するノードが不明になるので、図3に示す手順で、共通資源管理テーブルを再構築する。共通資源管理テーブルの再構築を行うことで、ノード40に、共通資源管理テーブルが生成される。共通資源管理テーブルを再構築した以降は、図5に示す障害がないケースと同様である。   If access to the table pointer fails, the node that holds the common resource management table being used becomes unknown, and the common resource management table is reconstructed according to the procedure shown in FIG. By reconstructing the common resource management table, the common resource management table is generated in the node 40. After the common resource management table is reconstructed, it is the same as the case where there is no failure shown in FIG.

図9に、使用中の共通資源管理テーブルにアクセスできないケースを示す。ノード40のプロセスに、共通資源管理テーブルにアクセスする必要が生じたとする。ノード40の共通資源管理テーブルアクセス手段は、管理テーブル情報46を参照し、プライマリとして用いる、ノード30が保有するテーブルポインタ34にアクセスする。共通資源管理テーブルアクセス手段は、テーブルポインタ34から、共通資源管理テーブルの所在ノードのノード番号「10」と最終移動時刻t5とを取得する。   FIG. 9 shows a case where the common resource management table being used cannot be accessed. Assume that the process of the node 40 needs to access the common resource management table. The common resource management table access means of the node 40 refers to the management table information 46 and accesses the table pointer 34 held by the node 30 used as a primary. The common resource management table access unit obtains the node number “10” of the location node of the common resource management table and the last movement time t5 from the table pointer 34.

ノード40の共通資源管理テーブルアクセス手段は、ノード10の共通資源管理テーブル15にアクセスし、移動時刻を取得しようとするが、ノード10はダウンしており、アクセスに失敗する。共通資源管理テーブルへのアクセスができないので、図3に示す手順で、共通資源管理テーブルを再構築する。共通資源管理テーブルの再構築を行うことで、ノード40に、共通資源管理テーブルが生成される。共通資源管理テーブルを再構築した以降は、図5に示す障害がないケースと同様である。   The common resource management table access means of the node 40 accesses the common resource management table 15 of the node 10 and tries to acquire the movement time, but the node 10 is down and access fails. Since the common resource management table cannot be accessed, the common resource management table is reconstructed according to the procedure shown in FIG. By reconstructing the common resource management table, the common resource management table is generated in the node 40. After the common resource management table is reconstructed, it is the same as the case where there is no failure shown in FIG.

図10に、ノード30に共通資源管理テーブルを再構築するケースを示す。ノード20は、プライマリとして用いるテーブルポインタ24を保有するノードであり、ノード10は、セカンダリといして用いるテーブルポインタ14を保有するノードである。使用中の共通資源管理テーブルが存在するノードは、ノード10である。ノード30の共通資源管理テーブルアクセス手段は、プライマリとして用いる、ノード20が保有するテーブルポインタ24へのアクセス後、ノード10の共通資源管理テーブル15へアクセスする。ノード10はダウンしており、共通資源管理テーブルアクセス手段は、このアクセスに失敗する。共通資源管理テーブル15へのアクセスに失敗すると、ノード30の共通資源管理テーブル再構築手段は、自ノード内に、共通資源管理テーブルを再構築する。   FIG. 10 shows a case where the common resource management table is reconstructed in the node 30. The node 20 is a node holding a table pointer 24 used as a primary, and the node 10 is a node holding a table pointer 14 used as a secondary. The node having the common resource management table in use is the node 10. The common resource management table access unit of the node 30 accesses the common resource management table 15 of the node 10 after accessing the table pointer 24 used as the primary and held by the node 20. The node 10 is down, and the common resource management table access unit fails this access. If the access to the common resource management table 15 fails, the common resource management table reconstructing means of the node 30 reconstructs the common resource management table in its own node.

ノード30の共通資源管理テーブル再構築手段は、自ノードを含む全ノードに対し、現在使用している共通資源の情報(使用状況)を問い合わせ、共通資源の使用状況を収集する。共通資源管理テーブル再構築手段は、収集した使用状況を、自ノード内の共通資源管理テーブル35に反映させる。このとき、問い合わせに対する応答が得られないノードは、未稼働であるとして、使用状況を収集しない。共通資源管理テーブル再構築手段は、稼働中の全てのノードから共通資源の使用状況を収集し、共通資源管理テーブルが完成すると、共通資源管理テーブルの移動時刻に、現在時刻を記録する。   The common resource management table rebuilding means of the node 30 inquires the information (usage status) of the currently used common resource to all nodes including the own node, and collects the usage status of the common resource. The common resource management table restructuring unit reflects the collected usage status in the common resource management table 35 in the own node. At this time, a node that does not receive a response to the inquiry does not collect the usage status because it is not operating. The common resource management table restructuring unit collects the usage status of the common resource from all operating nodes, and when the common resource management table is completed, records the current time as the movement time of the common resource management table.

続いて、ノード30の共通資源管理テーブル再構築手段は、プライマリとして用いるテーブルポインタを保有するノードを探すために、ブロードキャストを行い、その応答を待つ。図10では、ノード20が該当し、ノード20がブロードキャストに対して応答する。共通資源管理テーブル再構築手段は、ノード20のノード番号「20」を、管理テーブル情報36のプライマリ(P)に記録する。共通資源管理テーブル再構築手段は、引き続き、セカンダリとして用いるテーブルポインタを保有するノードを探すために、ブロードキャストを行い、その応答を待つ。図10では、ノード10が該当するものの、ノード10はダウンしており、ブロードキャストに対して応答するノードはない。   Subsequently, the common resource management table restructuring unit of the node 30 broadcasts and waits for a response in order to search for a node having a table pointer used as a primary. In FIG. 10, the node 20 corresponds and the node 20 responds to the broadcast. The common resource management table reconstruction means records the node number “20” of the node 20 in the primary (P) of the management table information 36. The common resource management table reconstructing means continues broadcasting to wait for a response in order to search for a node having a table pointer to be used as a secondary. In FIG. 10, although the node 10 corresponds, the node 10 is down and there is no node that responds to the broadcast.

ノード30の共通資源管理テーブル再構築手段は、セカンダリのテーブルポインタを保有するノードからの応答がない場合、管理テーブル情報36のセカンダリ(S)に、自ノードのノード番号「30」を記録する。また、共通資源管理テーブル再構築手段は、自ノードがセカンダリとして用いるテーブルポインタを保有するノードになることを宣言するブロードキャストを行う。その後、共通資源管理テーブル再構築手段は、管理テーブル情報36を参照して、プライマリとして用いる、ノード20が保有するテーブルポインタ24と、セカンダリとして用いる自ノードのテーブルポインタ34とを更新する。   When there is no response from the node having the secondary table pointer, the common resource management table rebuilding means of the node 30 records the node number “30” of the own node in the secondary (S) of the management table information 36. Further, the common resource management table restructuring means performs broadcasting for declaring that the own node becomes a node having a table pointer used as a secondary. Thereafter, the common resource management table restructuring unit refers to the management table information 36 and updates the table pointer 24 held by the node 20 used as the primary and the table pointer 34 of the own node used as the secondary.

図11に、共通資源管理テーブル再構築後の状態を示す。ノード30の共通資源管理テーブル再構築手段は、自ノードがセカンダリとして用いるテーブルポインタを保有するノードになることを宣言する。他のノード20、40は、宣言の内容に従って、管理テーブル情報26、46におけるセカンダリ(S)に記録されるノード番号を、ノード番号「10」からノード番号「30」に書き換える。また、共通資源管理テーブル再構築手段は、管理テーブル情報36の参照後、プライマリとして用いるテーブルポインタ24及びセカンダリとして用いるテーブルポインタ34の共通資源管理テーブル所在ノードに、ノード番号「30」を記録する。このようにすることで、以降、共通資源管理テーブルにアクセスするノードは、ノード30が保有する共通資源管理テーブル35にアクセスすることになる。   FIG. 11 shows a state after the common resource management table is reconstructed. The common resource management table restructuring means of the node 30 declares that the node becomes a node having a table pointer used as a secondary. The other nodes 20 and 40 rewrite the node number recorded in the secondary (S) in the management table information 26 and 46 from the node number “10” to the node number “30” according to the contents of the declaration. Further, after referring to the management table information 36, the common resource management table restructuring unit records the node number “30” in the common resource management table location node of the table pointer 24 used as the primary and the table pointer 34 used as the secondary. By doing so, the node accessing the common resource management table thereafter accesses the common resource management table 35 held by the node 30.

なお、共通資源管理テーブルへのアクセスが不能になったことを複数のノードが検出した場合、複数のノードで、並行して、共通資源管理テーブルの再構築が行われる可能性がある。これを防ぐために、共通資源管理テーブル再構築手段は、共通資源管理テーブルの再構築が終了した旨を、全ノードに通知する。再構築終了の通知を受けたノードは、再構築処理を中止し、作成していた共通資源管理テーブルを破棄する。このようにすることで、共通資源管理テーブルが重複して作成されることを防止できる。   When a plurality of nodes detect that access to the common resource management table is disabled, there is a possibility that the common resource management table is reconstructed in parallel at the plurality of nodes. In order to prevent this, the common resource management table rebuilding means notifies all nodes that the rebuilding of the common resource management table is completed. The node that has received the notification of the completion of rebuilding cancels the rebuilding process and discards the created common resource management table. By doing so, it is possible to prevent the common resource management table from being created in duplicate.

図12に、ノード立ち上げ時の状態を示す。図12は、システム内に稼働ノードが存在せず、ノード30が新たに稼働を開始した状態を示している。ノード30は、隣接ノードから管理テーブル情報を取得しようとするが、稼働ノードはノード30のみであるため、管理テーブル情報を取得できない。ノード30は、共通資源管理テーブルの再構築処理を行い、テーブルポインタ34、共通資源管理テーブル35、及び、管理テーブル情報36を生成する。   FIG. 12 shows a state when the node is started up. FIG. 12 shows a state in which there is no operation node in the system and the node 30 has newly started operation. The node 30 tries to acquire the management table information from the adjacent node. However, since the active node is only the node 30, the management table information cannot be acquired. The node 30 reconstructs the common resource management table and generates a table pointer 34, a common resource management table 35, and management table information 36.

ノード30は、共通資源管理テーブル35の作成後、作成した時刻t4を共通資源管理テーブル35に記録する。また、ノード30は、テーブルポインタ34の共通資源管理テーブル所在ノードに、自ノードのノード番号「30」を記録する。最終移動時刻には、共通資源管理テーブルを作成した時刻である時刻t4を記録する。ノード30は、管理テーブル情報36のプライマリ(P)に、自ノードのノード番号「30」を記録する。セカンダリ(S)については、空欄(設定なし)にしておく。   After creating the common resource management table 35, the node 30 records the created time t4 in the common resource management table 35. Further, the node 30 records the node number “30” of its own node in the common resource management table location node of the table pointer 34. As the final movement time, time t4, which is the time when the common resource management table is created, is recorded. The node 30 records the node number “30” of the own node in the primary (P) of the management table information 36. The secondary (S) is left blank (no setting).

図13に、ノード20が稼働を開始した状態を示す。図12に示す状態から、ノード20が稼働を開始すると、ノード20は、隣接ノードであるノード30から管理テーブル情報36の内容を取得し、その内容を自ノードの管理テーブル情報26に反映する。このとき取得する管理テーブル情報の内容は、図12に示す管理テーブル情報36の内容であり、プライマリ(P)のみが設定済み(ノード番号「30」)で、セカンダリ(S)は設定なしである。   FIG. 13 shows a state in which the node 20 has started operation. When the node 20 starts operating from the state shown in FIG. 12, the node 20 acquires the contents of the management table information 36 from the node 30 that is an adjacent node, and reflects the contents in the management table information 26 of the own node. The contents of the management table information acquired at this time are the contents of the management table information 36 shown in FIG. 12, where only the primary (P) is set (node number “30”), and the secondary (S) is not set. .

ノード20は、管理テーブル情報26のプライマリ(P)を参照し、ノード30のテーブルポインタ34にアクセス可能か否かを調べる。ノード20は、テーブルポインタ34の内容を取得し、これを自ノードのテーブルポインタ24に反映する。すなわち、テーブルポインタ24の共通資源管理テーブル所在ノードにノード番号「30」を記録し、最終移動時刻に時刻t4を記録する。その後、ノード20は、管理テーブル情報26のセカンダリ(S)に自ノードのノード番号「20」を記録する。また、ノード20は、セカンダリとしても用いるテーブルポインタを保有するノードになることを宣言するブロードキャストを行う。ノード30は、ノード20がセカンダリのテーブルポインタを保有するノードになることを宣言することで、管理テーブル情報36のセカンダリ(S)に、ノード番号「20」を記録する。   The node 20 refers to the primary (P) of the management table information 26 and checks whether the table pointer 34 of the node 30 is accessible. The node 20 acquires the contents of the table pointer 34 and reflects this in the table pointer 24 of its own node. That is, the node number “30” is recorded in the common resource management table location node of the table pointer 24, and the time t4 is recorded as the last movement time. Thereafter, the node 20 records the node number “20” of the own node in the secondary (S) of the management table information 26. In addition, the node 20 performs a broadcast declaring that it becomes a node having a table pointer used also as a secondary. The node 30 records the node number “20” in the secondary (S) of the management table information 36 by declaring that the node 20 becomes a node having a secondary table pointer.

図14に、更にノード40が稼働を開始した状態を示す。図13に示す状態からノード40が稼働を開始すると、ノード40は、隣接ノードから管理テーブル情報の内容を取得し、その内容を自ノードの管理テーブル情報46に反映する。管理テーブル情報の内容の取得元は、ノード20の管理テーブル情報26とノード30の管理テーブル情報36のどちらでもよい。システム内には、既に、プライマリとして用いるテーブルポインタ34と、セカンダリとして用いるテーブルポインタ24とが存在している。従って、ノード40内に新たにテーブルポインタを作成する必要はなく、ノード40は、管理テーブル情報46のみを有することになる。以降、新たに稼働を開始するノードは、ノード40と同様に、管理テーブル情報を生成する。   FIG. 14 shows a state where the node 40 has further started operation. When the node 40 starts operating from the state shown in FIG. 13, the node 40 acquires the contents of the management table information from the adjacent nodes and reflects the contents in the management table information 46 of the own node. The acquisition source of the contents of the management table information may be either the management table information 26 of the node 20 or the management table information 36 of the node 30. In the system, there are already a table pointer 34 used as a primary and a table pointer 24 used as a secondary. Therefore, it is not necessary to create a new table pointer in the node 40, and the node 40 has only the management table information 46. Thereafter, similarly to the node 40, the node that newly starts operation generates management table information.

本実施形態の共通資源管理システムは、最小構成として、共通資源管理テーブル移動手段と、テーブルポインタ更新手段とを備える。共通資源管理テーブル移動手段は、共通資源管理テーブルを一のノードから別のノードに移動させる。テーブルポインタ更新手段は、共通資源管理テーブルが移動した際に、テーブルポインタに、移動先のノードの識別情報を記憶する。本実施形態では、共通資源管理テーブル移動手段が共通資源管理テーブルを移動させるので、共通資源管理テーブルが1つのノードに固定されない。このため、共通資源管理テーブルへのアクセスで特定のノードにアクセスが集中することがなく、特定のノードの共通資源管理テーブルを固定する場合に比して負荷分散を期待できる。   The common resource management system of this embodiment includes a common resource management table moving unit and a table pointer updating unit as a minimum configuration. The common resource management table moving means moves the common resource management table from one node to another node. When the common resource management table is moved, the table pointer update means stores identification information of the destination node in the table pointer. In this embodiment, since the common resource management table moving means moves the common resource management table, the common resource management table is not fixed to one node. For this reason, access to the common resource management table is not concentrated on a specific node, and load distribution can be expected as compared with the case where the common resource management table of the specific node is fixed.

特許文献1では、空き資源管理リストを全ノードに巡回させる必要があるので、ノード数に依存して、資源取得に要する時間が長くなっていた。本実施形態では、共通資源管理テーブルを全てのノードに巡回させる必要はないので、ネットワーク規模に依存して、資源取得に要する時間が長くなることはない。また、特許文献1では、各資源使用主体は、空き資源管理リストが巡回してきたタイミングでしか資源を取得することができなかった。本実施形態では、使用中の共通資源管理テーブルを保有するノードを、テーブルポインタを用いて管理しているので、各ノードは、任意の時点で、テーブルポインタを参照して、共通資源管理テーブルにアクセスできる。更に、特許文献1では、資源管理リストを巡回させるために、システム内の個々のノードに対して、論理的に一筆書きできる必要があったが、本実施形態ではそのような制約はない。   In Patent Document 1, since it is necessary to circulate the free resource management list to all nodes, the time required for resource acquisition becomes longer depending on the number of nodes. In the present embodiment, since it is not necessary to make the common resource management table go through all the nodes, the time required for resource acquisition does not increase depending on the network scale. Further, in Patent Document 1, each resource using entity can acquire resources only at the timing when the free resource management list has been circulated. In this embodiment, since the node that holds the common resource management table in use is managed using the table pointer, each node refers to the table pointer at any point in time in the common resource management table. Accessible. Further, in Patent Document 1, in order to circulate the resource management list, it is necessary to be able to write logically for each node in the system. However, in the present embodiment, there is no such restriction.

また、本実施形態では、共通資源管理テーブルにアクセスしたノードに、共通資源管理テーブルを移動している。共通資源管理テーブルの移動後、移動先のノードは、ローカルアクセスで、共通資源管理テーブルにアクセスできる。例えば、ノードのプロセスが共通資源管理テーブルに対して探索などの処理を行うとき、そのプロセスが、短時間に複数回共通資源管理テーブルにアクセスすることがしばしばある。本実施形態では、共通資源管理テーブルを、アクセスしたノードに移動するので、移動後のアクセスを高速化することができる。その結果として、処理の高速化が可能である。   In this embodiment, the common resource management table is moved to the node that has accessed the common resource management table. After the movement of the common resource management table, the destination node can access the common resource management table by local access. For example, when a process of a node performs a process such as a search on the common resource management table, the process often accesses the common resource management table a plurality of times in a short time. In the present embodiment, since the common resource management table is moved to the accessed node, the access after the movement can be speeded up. As a result, the processing speed can be increased.

本実施形態では、共通資源管理テーブルを保有するノードを示すテーブルポインタを、プライマリとセカンダリの2つ用意し、2つのノードがテーブルポインタを保有している。テーブルポインタが失われると、共通資源管理テーブルの所在が不明となって、各ノードは、共通資源管理テーブルにアクセスできなくなる。本実施形態では、プライマリとセカンダリの2つのテーブルポインタがあるので、ノードがダウンすることなどで、プライマリのテーブルポインタが参照できないときでも、セカンダリのテーブルポインタをアクセスして、共通資源管理テーブルを保有するノードの特定が可能である。このように、テーブルポインタを保有するノードを複数設けておくことで、耐障害性の向上を期待できる。   In this embodiment, two primary and secondary table pointers indicating nodes that hold a common resource management table are prepared, and the two nodes hold table pointers. If the table pointer is lost, the location of the common resource management table becomes unknown, and each node cannot access the common resource management table. In this embodiment, since there are two table pointers, primary and secondary, even if the primary table pointer cannot be referenced due to a node going down, the secondary table pointer is accessed and the common resource management table is held. It is possible to specify a node to perform. Thus, by providing a plurality of nodes having table pointers, improvement in fault tolerance can be expected.

本実施形態では、共通資源管理テーブルにアクセスできなくなると、共通資源管理テーブル再構築手段が、各ノードから共通資源の使用状況を収集し、共通資源管理テーブルを再構築する。共通資源管理テーブル再構築手段が、テーブルポインタに、再構築した共通資源管理テーブルを保有するノードの識別情報を記録することで、各ノードは、再構築された共通資源管理テーブルにアクセスできる。従って、本実施形態では、共通資源管理テーブルを保有するノードがダウンするなどして共通資源管理テーブルへアクセスできなくなったときでも、共通資源管理テーブルを再構築することで、ダウンしたノードを除くシステムの継続運用が可能である。   In this embodiment, when it becomes impossible to access the common resource management table, the common resource management table reconstructing means collects the usage status of the common resource from each node and reconstructs the common resource management table. The common resource management table restructuring unit records the identification information of the node having the reconstructed common resource management table in the table pointer, so that each node can access the reconstructed common resource management table. Therefore, in this embodiment, even when the node that holds the common resource management table goes down, for example, when the common resource management table becomes inaccessible, the common resource management table is reconstructed to remove the down node. Can be operated continuously.

図15は、本発明の第2実施形態の共通資源管理システムを示している。共通資源管理システムは、ノード10a、20aと、クロスバースイッチ50とを有する。クロスバースイッチ50は、ノード間を接続するネットワークスイッチである。クロスバースイッチ50は、システム用共有レジスタ51と、ユーザ用共有レジスタ52とを有する。システム用共有レジスタ51は、システムが使用するレジスタであり、ユーザ用共有レジスタ52は、ユーザが分散処理プログラム等で使用可能なレジスタである。   FIG. 15 shows a common resource management system according to the second embodiment of this invention. The common resource management system includes nodes 10a and 20a and a crossbar switch 50. The crossbar switch 50 is a network switch that connects nodes. The crossbar switch 50 includes a system shared register 51 and a user shared register 52. The system shared register 51 is a register used by the system, and the user shared register 52 is a register that can be used by a user in a distributed processing program or the like.

ユーザ用共有レジスタ52は、複数のノードで共有される共通資源に該当する。システム用共有レジスタ51は、テーブルポインタ53を記憶している。システム用共有レジスタ51は、各ノードから一意にアクセスすることが可能である。各ノードは、記憶領域として、共通資源管理テーブル(ユーザ用共有レジスタフリーリスト)を有する。また、図15では図示を省略するが、各ノードは、共通資源管理テーブル移動手段、共通資源管理テーブル再構築手段、及び、共通資源管理テーブルアクセス手段を有している。   The user shared register 52 corresponds to a common resource shared by a plurality of nodes. The system shared register 51 stores a table pointer 53. The system shared register 51 can be uniquely accessed from each node. Each node has a common resource management table (user shared register free list) as a storage area. Although not shown in FIG. 15, each node has a common resource management table moving unit, a common resource management table restructuring unit, and a common resource management table access unit.

図15では、ノード20aが、使用中のユーザ用共有レジスタフリーリスト25を保有しており、テーブルポインタ53には、共通資源管理テーブル所在ノードに、ノード20aのノード番号「20」が記録されている。第1実施形態では、テーブルポインタを複数のノードに配置し、プライマリとして用いるテーブルポインタを保有するノードと、セカンダリとして用いるテーブルポインタを保有するノードとを、管理テーブル情報を用いて管理した。本実施形態では、テーブルポインタ53は、クロスバースイッチ50に固定的に配置されるので、管理テーブル情報は不要である。   In FIG. 15, the node 20 a holds the user shared register free list 25 in use, and the node number “20” of the node 20 a is recorded in the table pointer 53 in the common resource management table location node. Yes. In the first embodiment, table pointers are arranged in a plurality of nodes, and a node holding a table pointer used as a primary and a node holding a table pointer used as a secondary are managed using management table information. In the present embodiment, since the table pointer 53 is fixedly arranged on the crossbar switch 50, management table information is not necessary.

テーブルポインタ53を、クロスバースイッチ50のシステム用共有レジスタ51に1つだけ配置するのは次のような理由からである。すなわち、クロスバースイッチ50が何らかの原因で故障すると、接続されたノード間のアクセスができなくなることに加えて、各ノードは、システム用共有レジスタ51及びユーザ用共有レジスタ52にアクセスできなくなる。つまり、テーブルポインタ53へのアクセスができなくなると共に、共通資源の利用ができなくなる。仮にどこかのノードがセカンダリとして用いるテーブルポインタを保有していたとしても、クロスバースイッチ50がダウンすると、共通資源を利用することはできない。従って、テーブルポインタに冗長性を持たせる必要はなく、テーブルポインタは、クロスバースイッチ50に1つあれば十分である。   Only one table pointer 53 is arranged in the system shared register 51 of the crossbar switch 50 for the following reason. That is, if the crossbar switch 50 fails for some reason, in addition to being unable to access the connected nodes, each node cannot access the system shared register 51 and the user shared register 52. That is, the table pointer 53 cannot be accessed and the common resource cannot be used. Even if some node has a table pointer used as a secondary, if the crossbar switch 50 goes down, the common resource cannot be used. Therefore, it is not necessary to provide redundancy for the table pointer, and only one table pointer is sufficient for the crossbar switch 50.

本実施形態においても、共通資源管理テーブルであるユーザ用共有レジスタフリーリストの移動は、第1実施形態と同じである。つまり、各ノードは、ユーザ用共有レジスタフリーリストへのアクセス時に、自ノードに、ユーザ共有レジスタフリーリストを移動する。従って、本実施形態では、第1実施形態と同様な効果を得ることができる。すなわち、特定のノードに対するアクセスが集中することを防いで負荷分散を図ることができる。また、ユーザ用共有レジスタフリーリストの移動後に同じノードがアクセスする際のアクセスをローカルアクセスとすることができ、処理の高速化が可能である。   Also in the present embodiment, the movement of the user shared register free list, which is a common resource management table, is the same as in the first embodiment. That is, each node moves the user shared register free list to its own node when accessing the user shared register free list. Therefore, in this embodiment, the same effect as that of the first embodiment can be obtained. That is, it is possible to achieve load distribution by preventing concentration of accesses to specific nodes. Further, the access when the same node accesses after moving the user shared register free list can be a local access, and the processing speed can be increased.

本実施形態では、テーブルポインタ53は、クロスバースイッチ50内のシステム用共有レジスタ51に配置している。従って、各ノードが、テーブルポインタの参照時にアクセスするのは、クロスバースイッチ50までとなる。何れかのノードがテーブルポインタを保有する構成の場合、アクセス元のノードは、クロスバースイッチ50を通って、アクセス先のノードまでアクセスすることになる。本実施形態では、クロスバースイッチ50までのアクセスで、テーブルポインタ53にアクセスできるので、ノードがテーブルポインタを保有する構成に比して、ネットワーク負荷を低減する効果が期待できる。   In the present embodiment, the table pointer 53 is arranged in the system shared register 51 in the crossbar switch 50. Accordingly, each node accesses only the crossbar switch 50 when referring to the table pointer. When any node has a table pointer, the access source node accesses the access destination node through the crossbar switch 50. In this embodiment, since the table pointer 53 can be accessed by accessing up to the crossbar switch 50, an effect of reducing the network load can be expected as compared with the configuration in which the node has the table pointer.

本実施形態では、テーブルポインタ53は、クロスバースイッチ50内に固定的に配置されるので、管理テーブル情報は不要である。管理テーブル情報を用いる場合、ユーザ用共有レジスタフリーリストにアクセスするためには、まず、管理テーブル情報を参照し、テーブルポインタを保有するノードを特定する必要がある。本実施形態では、管理テーブル情報を参照してテーブルポインタを保有するノードを特定する手順を省けるので、ユーザ用共有レジスタフリーリストへのアクセスの高速化が期待できる。   In the present embodiment, the table pointer 53 is fixedly arranged in the crossbar switch 50, so that management table information is not necessary. When using the management table information, in order to access the user shared register free list, it is necessary to first refer to the management table information and specify the node that holds the table pointer. In this embodiment, the procedure for identifying the node that holds the table pointer by referring to the management table information can be omitted, so that the access to the user shared register free list can be speeded up.

本実施形態では、テーブルポインタ53をクロスバースイッチ50に配置している。テーブルポインタを、ノードからクロスバースイッチ50に移すことで、システムとしての耐障害性のノード依存割合を低下させることができる。これは、クロスバースイッチ50の耐障害性を上げることで、システムの運用としての耐障害性を上げることができることを意味している。特に、ノード数が多くなる大規模システムでは、テーブルポインタをクロスバースイッチ50に配置する構成は、有利な構成になる。   In the present embodiment, the table pointer 53 is disposed on the crossbar switch 50. By moving the table pointer from the node to the crossbar switch 50, the node dependency ratio of the fault tolerance as the system can be reduced. This means that the fault tolerance of the system operation can be improved by increasing the fault tolerance of the crossbar switch 50. In particular, in a large-scale system with a large number of nodes, the configuration in which the table pointer is arranged in the crossbar switch 50 is an advantageous configuration.

また、本実施形態でも、ノードダウン等によりユーザ用共有レジスタフリーリストが失われたときは、共通資源管理テーブル再構築手段が、各ノードにユーザ用共有レジスタ52の使用状況を問い合わせ、ユーザ用共有レジスタフリーリストの再構築を行う。ユーザ用共有レジスタフリーリストの再構築を行うことで、ダウンしたノードを除くシステムの継続運用が可能である。   Also in the present embodiment, when the user shared register free list is lost due to a node down or the like, the common resource management table rebuilding means inquires the usage status of the user shared register 52 to each node, and shares the user shared list. Rebuild the register free list. By reconstructing the shared register free list for users, it is possible to continue the operation of the system except for the down node.

なお、上記各実施形態では、各ノードが共通資源管理テーブル移動手段、テーブルポインタ更新手段、及び、共通資源管理テーブル再構築を有しているが、全てのノードがこれら3つの手段を有している必要はなく、最低限、システム内に各手段が1つあればよい。また、共通資源管理テーブル移動手段は、共通資源管理テーブルにアクセスしたノードに共通資源管理テーブルを移動することとしたが、これには限定されない。負荷分散の観点からは、移動先の決定は任意であり、移動先がアクセスしたノードでなくとも、負荷分散の効果は得られる。   In each of the above embodiments, each node has a common resource management table moving unit, a table pointer updating unit, and a common resource management table reconstruction. However, all the nodes have these three units. It is not necessary to have one means in the system. The common resource management table moving means moves the common resource management table to the node that has accessed the common resource management table, but the present invention is not limited to this. From the viewpoint of load distribution, the determination of the destination is arbitrary, and the effect of load distribution can be obtained even if the destination is not the accessed node.

以上、本発明をその好適な実施形態に基づいて説明したが、本発明の共通資源管理システム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。   As mentioned above, although this invention was demonstrated based on the suitable embodiment, the common resource management system of this invention, a method, and a program are not limited only to the said embodiment, From the structure of the said embodiment. Various modifications and changes are also included in the scope of the present invention.

本発明は、HPC(High Performance Computing)の分野に適用することができる。   The present invention can be applied to the field of HPC (High Performance Computing).

10、20、30、40:ノード
11、21:共通資源管理テーブル移動手段
12、22:テーブルポインタ更新手段
13、23:共通資源管理テーブル再構築手段
14、24、34:テーブルポインタ
15、25、35:共通資源管理テーブル
16、26、36、46:管理テーブル情報
17、27:共通資源管理テーブルアクセス手段
19、29:プロセス
50:クロスバースイッチ
51:システム用共有レジスタ
52:ユーザ用共有レジスタ
53:テーブルポインタ
10, 20, 30, 40: nodes 11, 21: common resource management table moving means 12, 22: table pointer updating means 13, 23: common resource management table restructuring means 14, 24, 34: table pointers 15, 25, 35: Common resource management tables 16, 26, 36, 46: Management table information 17, 27: Common resource management table access means 19, 29: Process 50: Crossbar switch 51: System shared register 52: User shared register 53 : Table pointer

Claims (19)

ネットワークを介して互いに接続された複数のノードを備える共通資源管理システムであって、
前記複数のノードのうちの少なくとも1つのノードは、
前記複数のノードが共通に使用可能な共通資源の使用状況を管理する共通資源管理テーブルを保有するノードの識別情報を記憶する識別情報記憶手段を備え、
前記複数のノードのうちの少なくとも一部のノードはそれぞれ、
前記識別情報記憶手段を備えるノードの識別情報を示す管理テーブル情報を記憶する管理テーブル情報記憶手段と、
前記管理テーブル情報が示す識別情報により特定されるノードから前記共通資源管理テーブルを保有するノードの識別情報を取得する識別情報取得手段と、
前記識別情報取得手段により取得された識別情報により特定されるノードから前記共通資源管理テーブルを取得する共通資源管理テーブル取得手段と、
前記共通資源管理テーブル取得手段により取得された前記共通資源管理テーブルを記憶する共通資源管理テーブル記憶手段と、
前記共通資源管理テーブルが取得されたことに応答して、前記識別情報記憶手段が記憶する識別情報を前記共通資源管理テーブルを取得したノードの識別情報に更新する識別情報更新手段とを備える共通資源管理システム。
A common resource management system comprising a plurality of nodes connected to each other via a network,
At least one of the plurality of nodes is
An identification information storage means for storing identification information of a node having a common resource management table for managing a use status of a common resource that can be commonly used by the plurality of nodes;
At least some of the plurality of nodes are respectively
Management table information storage means for storing management table information indicating identification information of a node comprising the identification information storage means;
Identification information acquisition means for acquiring identification information of a node holding the common resource management table from a node specified by the identification information indicated by the management table information;
Common resource management table acquisition means for acquiring the common resource management table from a node specified by the identification information acquired by the identification information acquisition means;
Common resource management table storage means for storing the common resource management table acquired by the common resource management table acquisition means;
In response to said common resource management table is acquired, and an identification information updating means for updating the identification information the identification information storage means stores the identification information of the node that acquired the common resource management table, the common Resource management system.
前記複数のノードのそれぞれは、前記管理テーブル情報記憶手段と、前記識別情報取得手段と、前記共通資源管理テーブル取得手段備え、
前記共通資源管理テーブル取得手段は、前記共通資源管理テーブルを保有するノードにアクセスし、前記共通資源管理テーブルを取得する、請求項に記載の共通資源管理システム。
Wherein each of the plurality of nodes, comprising said management table information storage means, the identification information acquiring means, and said common resource management table obtaining means,
Each said common resource management table obtaining means accesses the node that has the pre-Symbol Common resource management table, and acquires the common resource management table, the common resource management system according to claim 1.
前記共通資源管理テーブル取得手段は、前記共通資源管理テーブルを保有するノードにアクセスし、当該共通資源管理テーブルが記憶する時刻と現在時刻の差が所定の時間以上のとき、当該ノードから前記共通資源管理テーブルを取得し、当該共通資源管理テーブルが記憶する時刻を現在時刻に更新する、請求項1又は2に記載の共通資源管理システム。 The common resource management table obtaining unit, the access to the common resource nodes with the management table, when the time and the difference between the current time of the common resource management table is stored in the above predetermined time, the common from the node Gets the resource management table, the common resource management table to update the time to store the current time, the common resource management system according to claim 1 or 2. 前記複数のノードのうちの少なくとも2つのノードは、前記識別情報記憶手段を備え、
前記管理テーブル情報は、前記識別情報記憶手段を備えるノードのうち、プライマリとして用いる識別情報記憶手段を備えるノードの識別情報と、セカンダリとして用いる識別情報記憶手段を備えるノードの識別情報とを含み
前記識別情報取得手段は、前記プライマリとして用いる識別情報記憶手段が使用可能なときは当該識別情報記憶手段を参照し、前記プライマリとして用いる識別情報記憶手段が使用できないときは、前記セカンダリとして用いる識別情報記憶手段を参照する、請求項1乃至3の何れか一に記載の共通資源管理システム。
At least two of the plurality of nodes include the identification information storage unit,
The management table information includes identification information of a node provided with an identification information storage means used as a primary among nodes provided with the identification information storage means, and identification information of a node provided with an identification information storage means used as a secondary ,
The identification information obtaining means, when said identification information storage means used as the primary is available by referring to the identification information storage means, when the identification information storage means for use as the primary is not available, identifying information used as the secondary The common resource management system according to any one of claims 1 to 3 , wherein the storage unit is referred to.
前記複数のノードのうちの少なくとも一部のノードのそれぞれは、前記共通資源管理テーブル取得手段が前記共通資源管理テーブルを保有するノードにアクセスできないとき、少なくとも1つの通信可能なノードから前記共通資源の使用状況を取得し、前記共通資源管理テーブルを再構築すると共に、前記識別情報記憶手段が記憶する識別情報を前記再構築した共通資源管理テーブルを保有するノードの識別情報に更新する共通資源管理テーブル再構築手段を更に備える、請求項1乃至4の何れか一に記載の共通資源管理システム。 Each of at least some of the plurality of nodes is configured so that, when the common resource management table acquisition unit cannot access the node having the common resource management table, the at least one communicable node transmits the common resource. get the usage, as well as reconstructing the common resource management table, the common resource management for updating identification information the identification information storage unit stores the identification information of the node that has a common resource management table reconstructed the The common resource management system according to any one of claims 1 to 4 , further comprising a table restructuring unit. 前記複数のノードのそれぞれは、前記共通資源管理テーブル再構築手段を備え、
前記共通資源管理テーブル再構築手段は、当該共通資源管理テーブル再構築手段を備えるノード内に共通資源管理テーブルを再構築する、請求項に記載の共通資源管理システム。
Each of the plurality of nodes includes the common resource management table restructuring unit ,
6. The common resource management system according to claim 5 , wherein each of the common resource management table rebuilding means rebuilds a common resource management table in a node including the common resource management table rebuilding means .
前記共通資源管理テーブル再構築手段は、前記共通資源管理テーブル取得手段が前記共通資源管理テーブルを保有するノードにアクセスしたときに当該ノードから応答がないとき、又は、前記識別情報取得手段が前記識別情報記憶手段を参照することができないとき、前記共通資源管理テーブルの再構築を行う、請求項5又は6に記載の共通資源管理システム。 The common resource management table restructuring unit is configured such that when the common resource management table acquisition unit accesses the node having the common resource management table and there is no response from the node, or the identification information acquisition unit performs the identification 7. The common resource management system according to claim 5 or 6 , wherein when the information storage means cannot be referred to, the common resource management table is reconstructed. ネットワークを介して互いに接続された複数のノードのそれぞれが備えるコンピュータにより前記複数ノードが共通に使用可能な共通資源を管理する共通資源管理方法であって、
前記複数のノードのうちの少なくとも1つのノードが備えるコンピュータが、前記共通資源の使用状況を管理する共通資源管理テーブルを保有するノードの識別情報を記憶する識別情報記憶ステップと、
前記複数のノードのうちの少なくとも一部のノードのそれぞれが備えるコンピュータが、前記少なくとも1つのノードの識別情報を示す管理テーブル情報を記憶する管理テーブル情報記憶ステップと、
前記少なくとも一部のノードのそれぞれが備えるコンピュータのうち、前記共通資源管理テーブルを取得しようとしているコンピュータが、前記管理テーブル情報が示す識別情報により特定されるノードから前記共通資源管理テーブルを保有するノードの識別情報を取得し、当該識別情報により特定されるノードから前記共通資源管理テーブルを取得し、当該共通資源管理テーブルを取得したコンピュータを備えるノードが備える共通資源管理テーブル記憶手段に当該共通資源管理テーブルを記憶し、前記少なくとも1つのノードが備えるコンピュータが記憶する識別情報を前記共通資源管理テーブルを取得したコンピュータを備えるノードの識別情報に更新する共通資源管理テーブル取得ステップと、を有する共通資源管理方法。
A common resource management method for managing a common resource that can be commonly used by a plurality of nodes by a computer provided in each of a plurality of nodes connected to each other via a network,
An identification information storage step in which a computer provided in at least one of the plurality of nodes stores identification information of a node having a common resource management table for managing a usage status of the common resource;
A management table information storage step in which a computer provided in each of at least some of the plurality of nodes stores management table information indicating identification information of the at least one node;
Among the computers provided in each of the at least some nodes, the computer that is to acquire the common resource management table holds the common resource management table from the node specified by the identification information indicated by the management table information The common resource management table is acquired from the node specified by the identification information , the common resource management table is stored in the common resource management table storage means included in the node having the computer that has acquired the common resource management table. A common resource management table storing step for storing a table and updating identification information stored in a computer included in the at least one node to identification information of a node including the computer that acquired the common resource management table. Method.
前記管理テーブル情報記憶ステップでは、前記複数のノードのそれぞれが備えるコンピュータが、前記管理テーブル情報を記憶し、
前記共通資源管理テーブル取得ステップでは、前記複数のノードのそれぞれが備えるコンピュータのうち、前記共通資源管理テーブルを取得しようとしているコンピュータが、前記管理テーブル情報が示す識別情報により特定されるノードから前記共通資源管理テーブルを保有するノードの識別情報を取得し、当該識別情報により特定されるノードにアクセスして前記共通資源管理テーブルを取得する、請求項に記載の共通資源管理方法。
In the management table information storage step, a computer provided in each of the plurality of nodes stores the management table information,
In the common resource management table acquisition step, among the computers included in each of the plurality of nodes, a computer that intends to acquire the common resource management table starts from the node specified by the identification information indicated by the management table information. The common resource management method according to claim 8 , wherein identification information of a node having a resource management table is acquired , the node specified by the identification information is accessed, and the common resource management table is acquired .
前記共通資源管理テーブル取得ステップでは、前記共通資源管理テーブルを取得しようとしているコンピュータ前記共通資源管理テーブルを保有するノードにアクセスし、当該共通資源管理テーブルが記憶する時刻と現在時刻との差が所定の時間以上のとき、当該ノードから前記共通資源管理テーブルを取得し、当該共通資源管理テーブルが記憶する時刻を現在時刻に更新する、請求項8又は9に記載の共通資源管理方法。 Wherein in the common resource management table acquisition step, the computer trying to acquire the common resource management table, accesses the node that has the common resource management table, the difference between the time and the current time at which the common resource management table stores 10. The common resource management method according to claim 8 , wherein the common resource management table is acquired from the node and the time stored in the common resource management table is updated to the current time when the time is equal to or longer than a predetermined time. 前記識別情報記憶ステップでは、前記複数のノードのうちの少なくとも2つのノードが備えるコンピュータが、前記共通資源管理テーブルを保有するノードの識別情報を記憶し、
前記管理テーブル情報は、当該識別情報を記憶するコンピュータを備えるノードのうち、プライマリとして用いるノードの識別情報と、セカンダリとして用いるノードの識別情報とを含み
記共通資源管理テーブル取得ステップでは、前記共通資源管理テーブルを取得しようとしているコンピュータ、前記プライマリとして用いるノードが使用可能なときは当該ノードが備えるコンピュータが記憶する識別情報を参照し、前記プライマリとして用いるノードが使用できないときは、前記セカンダリとして用いるノードが備えるコンピュータが記憶する識別情報を参照する、請求項8乃至10の何れか一に記載の共通資源管理方法。
In the identification information storing step, a computer provided in at least two of the plurality of nodes stores identification information of a node that holds the common resource management table;
The management table information among the nodes comprising a computer which stores the identification information includes identification information of nodes that Ru is used as the primary, and the identification information of the node that Ru is used as a secondary,
Prior Symbol Common Resource Management table acquisition step, the computer trying to acquire the common resource management table, when the node is used as the primary is available by referring to the identification information computer to which the node is provided to store, The common resource management method according to claim 8 , wherein when a node used as the primary cannot be used, identification information stored in a computer included in the node used as the secondary is referred to.
前記共通資源管理テーブルを取得しようとしているコンピュータが、前記共通資源管理テーブルを保有するノードにアクセスできないときに、少なくとも1つの通信可能なノードから前記共通資源の使用状況を取得し、前記共通資源管理テーブルを再構築すると共に、前記識別情報記憶ステップで識別情報を記憶したコンピュータが記憶する当該識別情報を前記再構築した共通資源管理テーブルを保有するノードの識別情報に更新する共通資源管理テーブル再構築ステップを更に有する、請求項8乃至11の何れか一に記載の共通資源管理方法。 When the computer which is going to acquire the common resource management table cannot access the node having the common resource management table , it acquires the usage status of the common resource from at least one communicable node, and the common resource management Reconstructing the common resource management table for reconstructing the table and updating the identification information stored in the computer storing the identification information in the identification information storage step to the identification information of the node having the reconstructed common resource management table The common resource management method according to claim 8 , further comprising a step. 前記共通資源管理テーブル再構築ステップでは、前記共通資源管理テーブルを取得しようとしているコンピュータ、前記共通資源管理テーブルを保有するノードにアクセスしたときに当該ノードから応答がないとき、又は、前記共通資源管理テーブルを保有するノードの識別情報を参照することができないとき、前記共通資源管理テーブルの再構築を行う、請求項12に記載の共通資源管理方法。 Wherein in the common resource management table rebuild step, the common resource management trying to get a table computer, wherein when there is no response from the common resources the node when accessing nodes with the management table, or the 13. The common resource management method according to claim 12 , wherein when the identification information of a node that holds the common resource management table cannot be referred to, the common resource management table is reconstructed. ネットワークを介して互いに接続された複数のノードのそれぞれが備えるコンピュータに前記複数ノードが共通に使用可能な共通資源を管理する処理を実行させるプログラムであって、
前記複数のノードのうちの少なくとも1つのノードが備えるコンピュータに、前記共通資源の使用状況を管理する共通資源管理テーブルを保有するノードの識別情報を記憶する識別情報記憶処理を実行させ、
前記複数のノードのうちの少なくとも一部のノードのそれぞれが備えるコンピュータに、前記少なくとも1つのノードの識別情報を示す管理テーブル情報を記憶する管理テーブル情報記憶処理を実行させ、
前記少なくとも一部のノードのそれぞれが備えるコンピュータのうち、前記共通資源管理テーブルを取得しようとしているコンピュータに、前記管理テーブル情報が示す識別情報により特定されるノードから前記共通資源管理テーブルを保有するノードの識別情報を取得し、当該識別情報により特定されるノードから前記共通資源管理テーブルを取得し、当該共通資源管理テーブルを取得したコンピュータを備えるノードが備える共通資源管理テーブル記憶手段に当該共通資源管理テーブルを記憶し、前記少なくとも1つのノードが備えるコンピュータが記憶する識別情報を前記共通資源管理テーブルを取得したコンピュータを備えるノードの識別情報に更新する共通資源管理テーブル取得処理を実行させるプログラム。
A program for causing a computer included in each of a plurality of nodes connected to each other via a network to execute processing for managing common resources that can be commonly used by the plurality of nodes,
Causing a computer included in at least one of the plurality of nodes to execute an identification information storage process for storing identification information of a node having a common resource management table for managing a usage state of the common resource;
Causing a computer included in each of at least some of the plurality of nodes to execute management table information storage processing for storing management table information indicating identification information of the at least one node;
Among the computers included in each of the at least some nodes, a node that holds the common resource management table from a node specified by the identification information indicated by the management table information in a computer that is to acquire the common resource management table The common resource management table is acquired from the node specified by the identification information , the common resource management table is stored in the common resource management table storage means included in the node having the computer that has acquired the common resource management table. A program for storing a table and executing a common resource management table acquisition process for updating identification information stored in a computer included in the at least one node to identification information of a node including the computer that acquired the common resource management table .
前記管理テーブル情報記憶処理では、前記複数のノードのそれぞれが備えるコンピュータに、前記管理テーブル情報を記憶させ、
前記共通資源管理テーブル取得処理では、前記複数のノードのそれぞれが備えるコンピュータのうち、前記共通資源管理テーブルを取得しようとしているコンピュータに、前記管理テーブル情報が示す識別情報により特定されるノードから前記共通資源管理テーブルを保有するノードの識別情報を取得させ、当該識別情報により特定されるノードにアクセスして前記共通資源管理テーブルを取得させる、請求項14に記載のプログラム。
In the management table information storage process, the management table information is stored in a computer provided in each of the plurality of nodes,
In the common resource management table acquisition process, among the computers included in each of the plurality of nodes, the computer that is trying to acquire the common resource management table receives the common from the node specified by the identification information indicated by the management table information. The program according to claim 14 , wherein identification information of a node having a resource management table is acquired, the node specified by the identification information is accessed, and the common resource management table is acquired .
前記共通資源管理テーブル取得処理では、前記共通資源管理テーブルを取得しようとしているコンピュータに、前記共通資源管理テーブルを保有するノードにアクセスさせ、当該共通資源管理テーブルが記憶する時刻と現在時刻との差が所定の時間以上のとき、当該ノードから前記共通資源管理テーブルを取得させ、当該共通資源管理テーブルが記憶する時刻を現在時刻に更新させる、請求項14又は15に記載のプログラム。 In the common resource management table acquisition process, the computer that is acquiring the common resource management table is made to access the node that holds the common resource management table, and the difference between the time stored in the common resource management table and the current time is stored. The program according to claim 14 or 15 , wherein when the value is equal to or longer than a predetermined time, the common resource management table is acquired from the node, and the time stored in the common resource management table is updated to the current time . 前記識別情報記憶処理では、前記複数のノードのうちの少なくとも2つのノードが備えるコンピュータに、前記共通資源管理テーブルを保有するノードの識別情報を記憶させ、
前記管理テーブル情報は、当該識別情報を記憶するコンピュータを備えるノードのうち、プライマリとして用いるノードの識別情報と、セカンダリとして用いるノードの識別情報とを含み
記共通資源管理テーブル取得処理では、前記共通資源管理テーブルを取得しようとしているコンピュータに、前記プライマリとして用いるノードが使用可能なときは当該ノードが備えるコンピュータが記憶する識別情報を参照させ、前記プライマリとして用いるノードが使用できないときは、前記セカンダリとして用いるノードが備えるコンピュータが記憶する識別情報を参照させる、請求項14乃至16の何れか一に記載のプログラム。
In the identification information storing process, the identification information of the node holding the common resource management table is stored in a computer provided in at least two of the plurality of nodes,
The management table information among the nodes comprising a computer which stores the identification information includes identification information of nodes that Ru is used as the primary, and the identification information of the node that Ru is used as a secondary,
In the previous SL common resource management table obtaining process, to a computer trying to acquire the common resource management table, when the node is used as the primary is available to see the identification information computer to which the node is provided to store the The program according to any one of claims 14 to 16 , wherein when a node used as a primary cannot be used, identification information stored in a computer included in the node used as a secondary is referred to .
前記共通資源管理テーブルを取得しようとしているコンピュータに、前記共通資源管理テーブルを保有するノードにアクセスできないときに、少なくとも1つの通信可能なノードから前記共通資源の使用状況を取得し、前記共通資源管理テーブルを再構築すると共に、前記識別情報記憶処理で識別情報を記憶したコンピュータが記憶する当該識別情報を前記再構築した共通資源管理テーブルを保有するノードの識別情報に更新する共通資源管理テーブル再構築処理を更に実行させる、請求項14乃至17の何れか一に記載のプログラム。 When the computer that is trying to acquire the common resource management table cannot access the node that holds the common resource management table , the usage status of the common resource is acquired from at least one communicable node, and the common resource management Reconstructing the table and reconstructing the common resource management table for updating the identification information stored in the computer storing the identification information in the identification information storage process to the identification information of the node having the reconstructed common resource management table The program according to any one of claims 14 to 17 , further executing a process . 前記共通資源管理テーブル再構築処理では、前記共通資源管理テーブルを取得しようとしているコンピュータに、前記共通資源管理テーブルを保有するノードにアクセスしたときに当該ノードから応答がないとき、又は、前記共通資源管理テーブルを保有するノードの識別情報を参照することができないとき、前記共通資源管理テーブルの再構築をさせる、請求項18に記載のプログラム。 Wherein a common resource management table rebuild process, the computer trying to acquire the common resource management table, when there is no response from the node when accessing node that has the common resource management table, or the common when it is not possible to refer to the identification information of the node that has the resource management table, makes the reconstruction of the common resource management table, the program of claim 18.
JP2009050362A 2009-03-04 2009-03-04 Common resource management system, method, and program Expired - Fee Related JP5375205B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009050362A JP5375205B2 (en) 2009-03-04 2009-03-04 Common resource management system, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009050362A JP5375205B2 (en) 2009-03-04 2009-03-04 Common resource management system, method, and program

Publications (2)

Publication Number Publication Date
JP2010205005A JP2010205005A (en) 2010-09-16
JP5375205B2 true JP5375205B2 (en) 2013-12-25

Family

ID=42966415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009050362A Expired - Fee Related JP5375205B2 (en) 2009-03-04 2009-03-04 Common resource management system, method, and program

Country Status (1)

Country Link
JP (1) JP5375205B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0279152A (en) * 1988-09-16 1990-03-19 Hokkaido Nippon Denki Software Kk System for making high-speed access to shared data for plural processor system
JP2552759B2 (en) * 1990-08-31 1996-11-13 富士通株式会社 Database processor by multiprocessor
JPH0696031A (en) * 1992-09-10 1994-04-08 Fujitsu Ltd Shared resource control system
JP2001022599A (en) * 1999-07-06 2001-01-26 Fujitsu Ltd Fault tolerant system, fault tolerant processing method, and fault tolerant control program recording medium
JP2006113828A (en) * 2004-10-15 2006-04-27 Hitachi Ltd Cluster system capable of workload management

Also Published As

Publication number Publication date
JP2010205005A (en) 2010-09-16

Similar Documents

Publication Publication Date Title
US8954391B2 (en) System and method for supporting transient partition consistency in a distributed data grid
JP6047564B2 (en) System and method for providing improved session affinity and connectivity in a clustered database environment
US8126843B2 (en) Cluster-wide read-copy update system and method
US8543781B2 (en) Hybrid locking using network and on-disk based schemes
Wang et al. Hadoop high availability through metadata replication
US10817478B2 (en) System and method for supporting persistent store versioning and integrity in a distributed data grid
JP4771378B2 (en) File system serialization reinitialization apparatus, system, and method
JP5714571B2 (en) Cache data processing using cache clusters in configurable mode
US11449241B2 (en) Customizable lock management for distributed resources
KR101296778B1 (en) Method of eventual transaction processing on nosql database
JP6225262B2 (en) System and method for supporting partition level journaling to synchronize data in a distributed data grid
US20110296069A1 (en) Fabric Based Lock Manager Service
US9553951B1 (en) Semaphores in distributed computing environments
CN100517303C (en) Dividing database ownership among different database servers to control access to a database
CN104793988A (en) Cross-database distributed transaction implementation method and device
US11550820B2 (en) System and method for partition-scoped snapshot creation in a distributed data computing environment
CN103514298A (en) Method for achieving file lock and metadata server
WO2018120810A1 (en) Method and system for solving data collision
CN107786527B (en) Method and device for realizing service discovery
CN103067418A (en) Method, device and system for reconstructing metadata
US20240028611A1 (en) Granular Replica Healing for Distributed Databases
JP5375205B2 (en) Common resource management system, method, and program
JP4664931B2 (en) Partitioning database ownership between different database servers to control access to the database
CN118193296A (en) Data snapshot method, device, equipment and storage medium
Meiklejohn Riak PG: Distributed process groups on dynamo-style distributed storage

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130805

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: 20130827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130909

R150 Certificate of patent or registration of utility model

Ref document number: 5375205

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees