JP6201478B2 - Processing order control device, processing order control method, and processing order control program - Google Patents

Processing order control device, processing order control method, and processing order control program Download PDF

Info

Publication number
JP6201478B2
JP6201478B2 JP2013151711A JP2013151711A JP6201478B2 JP 6201478 B2 JP6201478 B2 JP 6201478B2 JP 2013151711 A JP2013151711 A JP 2013151711A JP 2013151711 A JP2013151711 A JP 2013151711A JP 6201478 B2 JP6201478 B2 JP 6201478B2
Authority
JP
Japan
Prior art keywords
lock
control
execution order
control process
processes
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
JP2013151711A
Other languages
Japanese (ja)
Other versions
JP2015022626A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013151711A priority Critical patent/JP6201478B2/en
Publication of JP2015022626A publication Critical patent/JP2015022626A/en
Application granted granted Critical
Publication of JP6201478B2 publication Critical patent/JP6201478B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Description

本発明は、コンピュータにおいて、一連の複数処理を順次実行する技術に関する。   The present invention relates to a technique for sequentially executing a series of a plurality of processes in a computer.

コンピュータにおいて複数処理を実行する技術がある。その一例として、プログラムの1つのメインスレッドに、そのスレッドが現在その資源の使用を必要とするか否かに関わらず、その資源に関連するロックの所有権を与えることにより、他のスレッドにまさる優先権を与える技術が提案されている。当該技術では、メインスレッドは、資源を使用し終え、別のスレッドが資源を使用するために待っていることを検知すると、その資源についての資源ロックを解放する。   There is a technique for executing a plurality of processes in a computer. As an example, giving one main thread of a program superior to other threads by giving ownership of locks associated with that resource, regardless of whether that thread currently requires use of that resource. Technologies that give priority have been proposed. In this technique, when the main thread has finished using a resource and detects that another thread is waiting to use the resource, it releases the resource lock for that resource.

ここで、コンピュータにおいて複数処理を順次実行する方法の一例として、処理を実行するプロセス同士で連携し、ある処理が終了すると、当該処理を実行するプロセスが次の実行順序の処理を実行するプロセスに対し処理の開始指示を行う方法がある。また、他の一例として、複数の処理の実行順序を制御する制御プロセスが、各処理を実行するプロセスに対して順次処理の開始指示を行う方法がある。   Here, as an example of a method of sequentially executing a plurality of processes in a computer, the processes that execute the processes cooperate with each other, and when a certain process ends, the process that executes the process becomes a process that executes the process in the next execution order. There is a method for instructing the start of processing. As another example, there is a method in which a control process that controls the execution order of a plurality of processes sequentially instructs the processes that execute the processes to start the processes.

特開平9−198265号公報JP-A-9-198265

しかし、上記のような方法では、例えばシステムの更新等に伴って処理の実行順序を変更する際に、少なくとも、各処理を実行するプロセスや制御プロセスが行う開始指示の相手先(次に実行する処理)を変更する作業が発生する。また、例えば、各処理を実行するプロセス構成やコンピュータを変更する際等にも、必要に応じて各処理を実行するプロセスや制御プロセスの開始指示の相手先の詳細設定等を変更する作業が発生する。このため、システムの更新を柔軟に行うことが難しい。   However, in the above-described method, for example, when the processing execution order is changed in accordance with a system update or the like, at least a process of executing each process or a destination of a start instruction performed by a control process (next execution) Work to change the processing. In addition, for example, when changing the process configuration or computer for executing each process, an operation for changing the detailed setting of the process execution instruction or the destination of the control process start instruction occurs as necessary. To do. For this reason, it is difficult to flexibly update the system.

そこで、本技術は、1つの側面において、複数の処理を順次実行するシステムにおけるシステムの更新を容易にすることを目的とする。   Therefore, an object of one embodiment of the present technology is to facilitate system update in a system that sequentially executes a plurality of processes.

本技術における1つの側面では、1又は複数のコンピュータで動作する複数のプロセスが夫々実行する処理の実行順序を制御する制御プロセスが、当該制御プロセス及び前記プロセスによりアクセス可能な記憶手段に含まれる所定の記憶領域の複数の箇所に対してロックを実行する。そして、プロセスが、制御プロセスによりロックが実行された記憶領域のうち、各プロセスの自処理の実行順序に対応する箇所に対してロックを要求する。さらに、制御プロセスが、プロセスからのロックの要求を実行順序に対応する箇所毎にロックが解放されるまで待機状態とする。制御プロセスが、プロセスによりロックが要求された箇所のロックを、上記処理の実行順序と対応させて順次解放する。 In one aspect of the present technology, one or more control processes multiple process that runs on the computer to control the execution order of processing to run each is accessible storage means by the control process and the process for a plurality of locations in a predetermined storage area included in, and executes the lock. Then, the process requests the lock to the location corresponding to the execution order of the process of each process in the storage area where the lock is executed by the control process. Further, the control process waits for a lock request from the process until the lock is released at each location corresponding to the execution order. Control process, a lock portion that locks the process has been requested, sequentially released in correspondence with the order of execution of the processing.

本技術における1つの側面によれば、複数の処理を順次実行するシステムにおけるシステムの更新を容易にすることができる。   According to one aspect of the present technology, system updating in a system that sequentially executes a plurality of processes can be facilitated.

コンピュータにおいて複数の処理を実行するシステム構成の一例を示す図である。1 is a diagram illustrating an example of a system configuration that executes a plurality of processes in a computer. 処理の実行順序の制御の概要の説明図である。It is explanatory drawing of the outline | summary of control of the execution order of a process. 処理の実行順序の制御の一例の説明図である。It is explanatory drawing of an example of control of the execution order of a process. 処理の実行順序の制御の一例の説明図である。It is explanatory drawing of an example of control of the execution order of a process. 制御プロセス及び各処理が実行する、処理の実行順序の制御処理の一例のフローチャートである。It is a flowchart of an example of the control process of the execution order of a process which a control process and each process perform. ファイルの領域における各処理に対応する箇所の配置の一例の説明図である。It is explanatory drawing of an example of arrangement | positioning of the location corresponding to each process in the area | region of a file. コンピュータにおいて複数の処理を実行するシステム構成の一例を示す図である。1 is a diagram illustrating an example of a system configuration that executes a plurality of processes in a computer. コンピュータにおいて複数の処理を実行するシステム構成の一例を示す図である。1 is a diagram illustrating an example of a system configuration that executes a plurality of processes in a computer. 処理の実行順序の制御の一例の説明図である。It is explanatory drawing of an example of control of the execution order of a process. 処理の実行順序の制御の一例の説明図である。It is explanatory drawing of an example of control of the execution order of a process. 処理の実行順序の制御の一例の説明図である。It is explanatory drawing of an example of control of the execution order of a process. 処理の実行順序の制御の一例の説明図である。It is explanatory drawing of an example of control of the execution order of a process. 処理の実行順序の制御の一例の説明図である。It is explanatory drawing of an example of control of the execution order of a process. 制御プロセス及び各処理が実行する、処理の実行順序の制御処理の一例のフローチャートである。It is a flowchart of an example of the control process of the execution order of a process which a control process and each process perform. ハードウェア構成の一例の説明図である。It is explanatory drawing of an example of a hardware configuration. 複数処理の実行順序の制御を行う技術の一例の説明図である。It is explanatory drawing of an example of the technique which controls the execution order of multiple processes. 複数処理の実行順序の制御を行う技術の一例の説明図である。It is explanatory drawing of an example of the technique which controls the execution order of multiple processes.

本明細書で説明する技術は、複数処理を順次実行するシステムにおける処理の実行順序の制御を、記憶手段の任意の領域に対してロックをかけて排他制御を行うことができるファイルロックの技術を用いて行うことで、処理の実行順序の変更等を容易にする。なお、本明細書において「システム」とは、コンピュータを用いて処理を実行する構成全般を示し、処理を実行するコンピュータは1台であっても複数であってもよい。また、本明細書で説明するプロセスと処理との関係は全て一例に過ぎず、各処理を実行するプロセス構成は任意である。   The technology described in this specification is a file lock technology that can perform exclusive control by controlling the execution order of processes in a system that sequentially executes a plurality of processes by locking an arbitrary area of a storage unit. This makes it easy to change the execution order of processes. In the present specification, “system” refers to a general configuration for executing processing using a computer, and the number of computers that execute processing may be one or more. Moreover, all the relationships between processes and processes described in this specification are merely examples, and the process configuration for executing each process is arbitrary.

[各種処理方法の問題点等]
まず、コンピュータによって複数処理を順次実行する複数の方法の例についていくつか列挙し、その問題点について説明する。ここでは、プロセスAの処理A、プロセスBの処理B、プロセスCの処理Cの順で処理を実行する場合における種々の方法について説明する。
[Problems of various processing methods]
First, some examples of a plurality of methods for sequentially executing a plurality of processes by a computer will be listed and the problems will be described. Here, various methods in the case of executing processes in the order of process A of process A, process B of process B, and process C of process C will be described.

例えば、図16に示すように、処理を実行するプロセス同士が連携する方法1がある。方法1では、プロセスA901は、処理Aの実行が完了すると、処理Bを実行するプロセスB902に対して通信を行い、処理Bの開始指示を通知する(911)。プロセスB902は、当該開始指示を受けて処理Bを実行し、処理Bの実行が完了すると、処理Cを実行するプロセスC903に対して通信を行い、処理Cの開始指示を通知する(912)。   For example, as shown in FIG. 16, there is a method 1 in which processes that execute processes cooperate with each other. In the method 1, when the execution of the process A is completed, the process A 901 communicates with the process B 902 that executes the process B, and notifies the start instruction of the process B (911). The process B 902 receives the start instruction and executes the process B. When the execution of the process B is completed, the process B 902 communicates with the process C 903 that executes the process C and notifies the start instruction of the process C (912).

しかし、この方法では、処理の実行順序を変更したい場合に、順序の変更を柔軟に行うことが難しい。例えば、処理Aと処理Bの間に、新たにプロセスDが実行する処理Dを追加するような場合、原則としてプロセスA901の通信論理の変更が必要となる。なお、「通信論理の変更」には、例えば、次に開始指示をする処理の変更をはじめ、変更後において次に実行される処理が変更前と異なるコンピュータで実行される場合には、通信先のコンピュータの変更を含め、必要に応じた通信プロトコル等の変更が含まれる。   However, in this method, it is difficult to change the order flexibly when it is desired to change the processing execution order. For example, when a process D newly executed by the process D is newly added between the process A and the process B, in principle, the communication logic of the process A 901 needs to be changed. Note that “change in communication logic” includes, for example, a change in the next start instruction, and when the next process executed after the change is executed by a computer different from that before the change, the communication destination Change of the communication protocol or the like as required, including the change of the computer.

さらに他の方法として、同じく図16に示すように、制御プロセス904が、夫々の処理の実行順序や処理を実行するプロセスの情報を把握し、各プロセスと通信を行う方法2がある。方法2では、制御プロセス904は、プロセスA901に対して通信を行い、処理Aの開始指示を通知する(921)。プロセスA901は、処理Aが完了すると、制御プロセス904に対して処理Aの完了を通知する(922)。すると、制御プロセス904は、プロセスB902に対して処理Bの開始指示を通知する(923)。以下同様にして、図16に示す924〜926を経て、処理Bの次に処理Cが実行される。   As another method, as shown in FIG. 16, there is a method 2 in which the control process 904 grasps the execution order of each process and information on the process executing the process and communicates with each process. In the method 2, the control process 904 communicates with the process A 901 and notifies the process A start instruction (921). When the process A is completed, the process A 901 notifies the control process 904 of the completion of the process A (922). Then, the control process 904 notifies the process B 902 of an instruction to start process B (923). In the same manner, the process C is executed after the process B through 924 to 926 shown in FIG.

しかし、この方法2でも、処理の実行順序を変更したい場合に、順序の変更を柔軟に行うことが難しい。処理の実行順序を変更するには、原則として少なくとも制御プロセスの通信論理の変更が必要となるからである。   However, even in this method 2, it is difficult to flexibly change the order when it is desired to change the execution order of the processes. This is because, in principle, at least the communication logic of the control process must be changed in order to change the processing execution order.

また、プロセス間における通信を不要とする方法として、図17に示すように、管理テーブル906において各処理の実行順序を一元管理し、各プロセスが、夫々管理テーブル906を参照しながら順次処理の実行を開始する方法3がある。方法3では、プロセスA901〜プロセスC903の夫々が管理テーブルにアクセスし、自プロセスが実行する処理の実行可否フラグが「true」であることを検出すると、実行を開始する。例えば、処理Aの実行可否フラグが「true」の場合、プロセスA901が、処理Aの実行を開始する(931)。そして、プロセスA901は、処理Aの完了後に管理テーブルにおける処理Aに対応する実行可否フラグを「false」にし、次の実行順序の処理Bに対応する実行可否フラグを「true」にする(932)。するとプロセスB902が、処理Bの実行可否フラグが「true」になったことを検出して実行を開始する(933)。以下同様にして、図17に示す934〜936を経て、処理Bの次に処理Cが実行される。   Further, as a method for eliminating communication between processes, as shown in FIG. 17, the execution order of each process is centrally managed in the management table 906, and each process executes the process sequentially with reference to the management table 906. There is method 3 to start. In the method 3, each of the process A 901 to the process C 903 accesses the management table and starts executing when it is detected that the execution feasibility flag of the process executed by the own process is “true”. For example, if the execution flag of the process A is “true”, the process A 901 starts executing the process A (931). Then, after the process A is completed, the process A 901 sets the execution flag corresponding to the process A in the management table to “false”, and sets the execution flag corresponding to the process B in the next execution order to “true” (932). . Then, the process B 902 detects that the execution flag of the process B becomes “true” and starts the execution (933). In the same manner, the process C is executed after the process B through 934 to 936 shown in FIG.

この方法Cでは、プロセス同士が直接通信を行わないため、処理の実行順序を変更する場合に、プロセスの通信論理の変更が原則として不要である。しかし、方法Cでは、管理テーブル904に情報が集中するため、ファイル破壊等により管理テーブル904のデータに不具合が生じると、各処理の実行順序の制御が困難になる。また、複数のプロセスが管理テーブル904に同時にアクセスするため、データの不整合が発生し易い。さらには、処理実行中に管理テーブル904のデータを変更して処理の実行順序を変更する場合、実行中の処理と管理テーブル904のデータとの不整合も発生し易く、処理に誤動作が生じることもある。
以下に説明する技術は、上記のような問題点を解決するものである。以下、実施例を示して説明する。
In this method C, the processes do not communicate directly with each other. Therefore, when the processing execution order is changed, it is not necessary to change the communication logic of the process in principle. However, in Method C, since information is concentrated on the management table 904, if the data in the management table 904 becomes defective due to file destruction or the like, it becomes difficult to control the execution order of each process. In addition, since a plurality of processes access the management table 904 simultaneously, data inconsistency is likely to occur. Furthermore, when the data in the management table 904 is changed during process execution to change the process execution order, inconsistencies between the process being executed and the data in the management table 904 are likely to occur, resulting in malfunction of the process. There is also.
The technology described below solves the above problems. Examples will be described below.

[第1実施例]
<システム構成>
図1は、第1実施例におけるシステム構成を示す。本実施例では、システムが、サーバ1を備える。サーバ1では、プログラムがロードされて実行されることによって実現される、制御プロセス実行部10が実行する制御プロセス11が動作するとともに、処理実行部20が実行するプロセスA21、プロセスB22及びプロセスC23が動作している。プロセスA21は処理Aを、プロセスB22は処理Bを、プロセスC23は処理Cを夫々実行する。
[First embodiment]
<System configuration>
FIG. 1 shows a system configuration in the first embodiment. In this embodiment, the system includes a server 1. In the server 1, a control process 11 executed by the control process execution unit 10 realized by loading and executing a program operates, and processes A21, B22, and C23 executed by the process execution unit 20 are performed. It is working. Process A21 executes process A, process B22 executes process B, and process C23 executes process C.

また、サーバ1が備える記憶手段30が、ファイル31を備える。記憶手段30には、制御プロセス11及びプロセスA21〜プロセスC23がアクセスすることができ、ファイル31には、制御プロセス11及びプロセスA21〜プロセスC23が、ファイル31に含まれる所定の領域に対してロックを実行することができる。当該所定の領域は、ユーザ等が任意に設定することができる。   The storage unit 30 included in the server 1 includes a file 31. The storage process 30 can be accessed by the control process 11 and the processes A21 to C23, and the control process 11 and the processes A21 to C23 are locked to a predetermined area included in the file 31. Can be executed. The predetermined area can be arbitrarily set by a user or the like.

<処理の実行順序の制御の概要>
ここで、第1実施例で実現する処理の実行順序の制御の概要について、図2〜図4を参照して説明する。本説明では、プロセスAの処理A、プロセスBの処理B、プロセスCの処理Cの順に実行する例を示して説明する。また、当該制御において、処理A、処理B、処理Cは、夫々、ファイル31の1バイト目、2バイト目、3バイト目を、実行順序の制御の対象領域として使用するものとする。換言すれば、ファイル31のうち、処理A、処理B、処理Cに対応する箇所が夫々1バイト目、2バイト目、3バイト目であり、これらの箇所は処理A、処理B、処理Cの実行順序に対応させて配置されている。図2〜図4に示す101〜109では、ファイル31に対してロックをする処理及びロックをしている状態を実線矢印、ロック要求がWait(待機)状態となる処理及びWait状態を破線矢印、アンロックをする処理をブロック矢印(白色矢印)で示す。また、以下、本明細書において、「処理」が行うこととして記載している内容は、「処理を実行するプロセス」が行うことと同義とする。
<Overview of process execution order control>
Here, an outline of the control of the execution order of the processes realized in the first embodiment will be described with reference to FIGS. In this description, an example of executing process A process A, process B process B, and process C process C in this order will be described. In this control, process A, process B, and process C use the first byte, the second byte, and the third byte of the file 31, respectively, as target areas for execution order control. In other words, in the file 31, the portions corresponding to the processing A, the processing B, and the processing C are the first byte, the second byte, and the third byte, respectively, and these portions are the processing A, processing B, and processing C. Arranged according to the execution order. 2 to 4, the process for locking the file 31 and the locked state are indicated by solid arrows, the process in which the lock request is in a wait (standby) state, and the wait state are indicated by broken arrows. The unlocking process is indicated by a block arrow (white arrow). Further, hereinafter, in this specification, the contents described as being performed by “processing” are synonymous with those performed by “process for executing processing”.

(101)制御プロセス11は、ファイル31の1バイト目〜3バイト目をロックする。
(102)処理A〜処理Cが、夫々ファイル31の1バイト目〜3バイト目に対してロックを要求する。しかし、すでに(101)で制御プロセス11によりロックされているため、処理A〜処理Cによるロック要求はWait状態となる。
(101) The control process 11 locks the first to third bytes of the file 31.
(102) Process A to process C request a lock on the first to third bytes of the file 31, respectively. However, since it is already locked by the control process 11 at (101), the lock request by the process A to the process C is in the Wait state.

(103)制御プロセス11が、ファイル31の1バイト目をアンロックする。すると、処理Aによる1バイト目のロック要求のWait状態が解除される。
(104)処理Aは、(103)でファイル31の1バイト目のロック要求のWait状態が解除されると即時に1バイト目をロックする。そして、処理Aは、処理A本体の実行を開始する。
(103) The control process 11 unlocks the first byte of the file 31. Then, the Wait state of the lock request of the first byte by process A is canceled.
(104) The process A immediately locks the first byte when the wait state of the lock request for the first byte of the file 31 is canceled in (103). And the process A starts execution of the process A main body.

(105)制御プロセス11は、ファイル31の1バイト目に対して再度ロックを要求する。しかし、1バイト目は(104)ですでに処理Aによりロックされているため、制御プロセス11によるロック要求はWait状態となる。
(106)処理Aは、処理A本体の実行が終了すると、1バイト目をアンロックする。すると、制御プロセス11による1バイト目のロック要求のWait状態が解除される。
(105) The control process 11 requests the first byte of the file 31 to lock again. However, since the first byte is already locked by the process A at (104), the lock request by the control process 11 is in the Wait state.
(106) Process A unlocks the first byte when the execution of the process A main body ends. Then, the wait state of the lock request of the first byte by the control process 11 is released.

(107)制御プロセス11は、(106)でファイル31の1バイト目のロック要求のWait状態が解除されると、即時に1バイト目をロックする。
(108)制御プロセス11は、次に2バイト目をアンロックする。すると、処理Bによる2バイト目のロック要求のWait状態が解除される。
(109)処理Bは、(108)で2バイト目のロック要求のWait状態が解除されると、即時に2バイト目をロックする。そして、処理Bは、処理B本体の実行を開始する。
以降、同様にして、処理Bに続いて処理Cが実行される。
(107) When the Wait state of the lock request for the first byte of the file 31 is canceled in (106), the control process 11 immediately locks the first byte.
(108) Next, the control process 11 unlocks the second byte. Then, the Wait state of the lock request of the second byte by process B is cancelled.
(109) When the Wait state of the lock request for the second byte is canceled in (108), the process B immediately locks the second byte. And the process B starts execution of the process B main body.
Thereafter, the process C is executed after the process B in the same manner.

<処理フローチャートの説明>
図5は、制御プロセス11及び各処理のうちの1つの処理である処理nが実行する、処理の実行順序の制御処理の一例につき、フローチャート及びファイル31の領域例を用いて説明した図である。ステップS1〜ステップS7が制御プロセス11による処理を示し、ステップS11〜ステップS14が処理nによる処理を示す。当該説明では、処理nは、ファイル31のうちnバイト目に対してロックをかけるものとして説明する。なお、図5では、処理nを実行するプロセスの図示は省略する。
<Description of processing flowchart>
FIG. 5 is a diagram illustrating an example of control processing in the execution order of processing executed by the control process 11 and processing n, which is one of the processes, using a flowchart and an example area of the file 31. . Steps S1 to S7 indicate processing by the control process 11, and Steps S11 to S14 indicate processing by the processing n. In the description, the process n is described as a process for locking the nth byte of the file 31. In FIG. 5, the illustration of the process for executing the process n is omitted.

ステップS1で、制御プロセス11が、処理の実行順序の制御に用いるファイル31の対象領域の全バイトをロックする。
一方、ステップS11で、処理nが、自処理の実行順序に対応するnバイト目に対してロックを要求する。しかし、制御プロセス11がすでにnバイト目を含めた対象領域の全バイトをロックしているため、処理nのロック要求はWait状態となる。
In step S1, the control process 11 locks all bytes of the target area of the file 31 used for controlling the execution order of the processes.
On the other hand, in step S11, the process n requests a lock on the nth byte corresponding to the execution order of the process itself. However, since the control process 11 has already locked all the bytes in the target area including the nth byte, the lock request for the process n is in the Wait state.

ステップS2で、制御プロセス11が、変数iに1をセットする。なお、ステップS2とステップS11とはどちらが先でもよい。
ステップS3で、制御プロセス11が、iバイト目をアンロックする。
In step S2, the control process 11 sets 1 to the variable i. Note that either step S2 or step S11 may be performed first.
In step S3, the control process 11 unlocks the i-th byte.

ここで、iがnに等しいとき、処理nは、nバイト目に対するロック要求のWait状態が解除され、ステップS12で、nバイト目のロックに成功する。そして、処理nは、ステップS13で、処理n本体の処理を実行する。   Here, when i is equal to n, the wait state of the lock request for the nth byte is released in process n, and the nth byte is successfully locked in step S12. And the process n performs the process of the process n main body at step S13.

一方、ステップS4で、制御プロセス11が、iバイト目(=nバイト目)に対してロックを要求する。しかし、処理nがすでにnバイト目をロックしているため、制御プロセス11によるiバイト目に対するロック要求はWait状態となる。なお、ステップS13とステップS4とはどちらが先でもよい。   On the other hand, in step S4, the control process 11 requests a lock for the i-th byte (= n-th byte). However, since the process n has already locked the n-th byte, the lock request for the i-th byte by the control process 11 is in the Wait state. Note that either step S13 or step S4 may be performed first.

処理nは、処理n本体の処理の実行が終了すると、ステップS14で、領域のnバイト目をアンロックする。
すると、制御プロセス11は、iバイト目に対するロックのWait状態が解除され、ステップS5で、iバイト目のロックに成功する。
When the process n has been executed, the process n unlocks the nth byte of the area in step S14.
Then, the control process 11 releases the lock Wait state for the i-th byte, and succeeds in locking the i-th byte in step S5.

ステップS6で、制御プロセス11は、変数iが最大値(max)であるか否かを判定する。この最大値は、実行順序の制御対象となる処理の数の最大数として見込まれる値であり、例えばユーザが予め指定しておくことができる。変数iが最大値であれば(Yes)、処理を終了し、変数iが最大値でなければ(No)、ステップS7に進む。   In step S6, the control process 11 determines whether or not the variable i is the maximum value (max). This maximum value is a value expected as the maximum number of processes to be controlled in the execution order, and can be specified in advance by the user, for example. If the variable i is the maximum value (Yes), the process ends. If the variable i is not the maximum value (No), the process proceeds to step S7.

ステップS7で、制御プロセス11は、変数iに1を加算してステップS3に戻り、ファイル31の次の箇所の処理を開始する。
なお、処理nがiバイト目に対してロックをかけない場合、制御プロセス11はステップS4でiバイト目にロック要求をかけ、すぐにステップS5でロックに成功することができる。この場合、制御プロセスは、ステップS6〜ステップS7を経て、ファイルの次の箇所の処理を開始する。
In step S7, the control process 11 adds 1 to the variable i, returns to step S3, and starts processing the next location of the file 31.
If the process n does not lock the i-th byte, the control process 11 can issue a lock request to the i-th byte in step S4 and immediately succeed in locking in step S5. In this case, the control process starts processing of the next part of the file through steps S6 to S7.

<本実施例による効果、変形例等>
本技術では、このように複数の処理を順次実行するときに、ファイルロックの機能を用いて処理の実行順序を制御することにより、次のような効果を奏する。すなわち、本技術では、各処理を実行するプロセスは、記憶手段30のファイル31の対象領域のうち、自プロセスが実行する処理の実行順序に対応する箇所に対してロック又はアンロックを行うだけであり、他の処理やプロセスとの通信を行わない。一方、制御プロセス11も同様であり、ファイル31の対象領域に各処理の実行順序に対応させて配置された箇所に対して、実行順序と対応させて順次ロック又はアンロックを行うだけである。このように、各プロセスが疎に連携しているため、システムの更新によりプロセスの構成や処理の実行順序等を変更する場合に、変更作業が容易となる。具体的には、例えば、プロセスの構成を変更する場合であっても、実行順序の制御に伴うプロセスの通信論理を変更する必要がない。また、例えば、処理の実行順序を変更する場合には、各処理がロックをする領域を必要に応じて変更するだけでよい。
<Effects of this embodiment, modified examples, etc.>
In the present technology, when a plurality of processes are sequentially executed as described above, the following effects can be obtained by controlling the execution order of the processes using the file lock function. In other words, in the present technology, the process that executes each process only locks or unlocks a portion of the target area of the file 31 in the storage unit 30 that corresponds to the execution order of the process executed by the own process. Yes, do not communicate with other processes or processes. On the other hand, the control process 11 is the same, and only the lock or unlock is sequentially performed in correspondence with the execution order for the portions arranged in the target area of the file 31 corresponding to the execution order of the processes. As described above, since the processes are loosely linked, the change work is facilitated when the process configuration or the execution order of the processes is changed by updating the system. Specifically, for example, even when the process configuration is changed, there is no need to change the communication logic of the process accompanying the control of the execution order. Further, for example, when changing the execution order of processes, it is only necessary to change the area where each process is locked as necessary.

ここで、各処理に対応する箇所は、予め少なくとも1つの処理の実行順序に対応する箇所分の間隔を空けておいてもよい。そして、新たな処理を途中に追加する場合に、新たな処理がその空いている領域のうちの1箇所に対応するようにすれば(すなわち、新たな処理を実行するプロセスがその空いている領域のうちの1箇所にロックをかけるようにすれば)、他のプロセスや処理に対する変更が一切必要ない。その具体例を図6に示す。この例では、処理の実行順序の制御に用いる対象領域として、ファイル31の1バイト目〜10バイト目を確保しておき、処理Aが1バイト目、処理Bが5バイト目、処理Cが10バイト目にロックをかけるように、各処理に対応する箇所を配置する。この状態において、処理Bと処理Cとの間に新たにプロセスD24の処理Dを追加する場合、例えば、処理Dが7バイト目をロックするようにする。このようにすれば、制御プロセス11やプロセスA21〜プロセスC23の処理A〜処理Cに一切変更を加えることなく、処理A、処理B、処理D、処理Cの順に処理が実行されることとなる。   Here, the portions corresponding to the respective processes may be spaced in advance by a portion corresponding to the execution order of at least one process. When a new process is added in the middle, if the new process corresponds to one of the vacant areas (that is, the vacant area is a process for executing the new process). If one of them is locked), no changes to other processes or processes are required. A specific example is shown in FIG. In this example, the first byte to the tenth byte of the file 31 are reserved as the target area used for controlling the execution order of the processing, the processing A is the first byte, the processing B is the fifth byte, and the processing C is the tenth. The location corresponding to each process is arranged so that the byte is locked. In this state, when the process D of the process D24 is newly added between the process B and the process C, for example, the process D locks the seventh byte. If it does in this way, a process will be performed in order of the process A, the process B, the process D, and the process C, without adding any change to the process A to the process C of the control process 11 or the processes A21 to C23. .

また、各処理がロックをする箇所を必要に応じて変更するだけで処理の実行順序を変更できるため、処理の実行中に他の処理の実行順序を変更しても、不整合が発生しづらい。
さらに、当該処理の実行順序の制御において使用する記憶領域は、単にロック又はアンロックされるだけであって、処理の実行順序を制御するための情報を持つ必要がないため、データの内容が破壊されることによる不整合も発生しづらい。
In addition, since the execution order of processes can be changed simply by changing the location where each process locks as necessary, inconsistencies are less likely to occur even if the execution order of other processes is changed during the execution of a process. .
Furthermore, the storage area used in the control of the execution order of the processing is simply locked or unlocked, and it is not necessary to have information for controlling the execution order of the processing, so the data contents are destroyed. It is difficult for inconsistencies to occur.

このため、本技術によれば、処理の実行順序の変更が容易になり、システムの更新にかかる工数を大幅に削減することができる。
なお、各処理の実行順序の制御に用いる記憶手段の対象領域は、ファイル形式に限らず、いかなる態様であってもよい。
Therefore, according to the present technology, it is easy to change the execution order of the processes, and the number of man-hours required for system update can be greatly reduced.
The target area of the storage means used for controlling the execution order of each process is not limited to the file format, and may be in any form.

ここで、上記説明では、1つのサーバ1内で制御プロセス11並びにプロセスA21の処理A、プロセスB22の処理B及びプロセスC23の処理Cが動作し、かつ、ファイル31も同一サーバにある例を用いて説明した。しかし、システム構成の変形例として、複数のサーバから参照可能な共有ファイルを設けることにより、各プロセスや処理が複数の異なるサーバで動作していても、同様の処理を実現することができる。そのようなシステムの一例を、図7に示す。図7に示すシステムでは、制御プロセス11が動作するサーバ1−1と、プロセスA21の処理A、プロセスB22の処理Bが動作するサーバ1−2と、プロセスC23の処理Cが動作するサーバ1−3とを備える。そして、サーバ1−1〜サーバ1−3と夫々ネットワーク接続され、制御プロセス11及び各プロセスが夫々アクセス可能な記憶手段32が、制御プロセス11及び各プロセスによる共有ファイル33を備える。このようなシステムにおいても、共有ファイル33を上記説明のファイル31と同様に用いることにより、上記と同様の処理を実現することができる。また、図示を省略するが、共有ファイルが、制御プロセス11又はいずれかの処理が実行されるサーバ内に存在しても、上記と同様の処理を実現することができる。   Here, in the above description, an example in which the control process 11 and the process A of the process A21, the process B of the process B22, and the process C of the process C23 operate in one server 1 and the file 31 is also in the same server is used. Explained. However, as a modification of the system configuration, by providing a shared file that can be referred to from a plurality of servers, the same processing can be realized even if each process or processing is operating on a plurality of different servers. An example of such a system is shown in FIG. In the system shown in FIG. 7, the server 1-1 on which the control process 11 operates, the server 1-2 on which the process A of the process A21 and the process B of the process B22 operate, and the server 1 on which the process C of the process C23 operates. 3. The storage unit 32 connected to the server 1-1 to the server 1-3 and accessible by the control process 11 and each process includes a shared file 33 by the control process 11 and each process. Even in such a system, the same process as described above can be realized by using the shared file 33 in the same manner as the file 31 described above. Although not shown, even if the shared file exists in the control process 11 or a server on which any of the processes is executed, the same process as described above can be realized.

[第2実施例]
第2実施例は、第1実施例と異なり、実行順序の制御対象となる処理を実行する全てのプロセスが共通してアクセスする記憶手段を設けることができない場合であっても、処理の実行順序の制御を実現するものである。
[Second Embodiment]
The second embodiment is different from the first embodiment in that the execution order of the processing is possible even when it is not possible to provide a storage unit that is commonly accessed by all the processes that execute the processing to be controlled in the execution order. This is to realize the control.

図8は、第2実施例におけるシステム構成を示す。本実施例では、システムが、マスターサーバ2、サーバ3−1及びサーバ3−2を備える。
マスターサーバ2では、サーバ3−1及びサーバ3−2で夫々動作する制御プロセス15と通信可能であり制御プロセス15の夫々に対して動作指示を行う、総合制御プロセス実行部12が実行する総合制御プロセス13が動作する。
FIG. 8 shows a system configuration in the second embodiment. In this embodiment, the system includes a master server 2, a server 3-1, and a server 3-2.
The master server 2 is capable of communicating with the control processes 15 that operate on the server 3-1 and the server 3-2, respectively, and performs comprehensive control that is executed by the comprehensive control process execution unit 12 that instructs the control processes 15 to operate. Process 13 operates.

サーバ3−1では、制御プロセス実行部14−1が実行する制御プロセス15−1が動作するとともに、処理実行部20−1が実行するプロセスA21及びプロセスC23が動作している。プロセスAは処理Aを、プロセスCは処理Cを夫々実行する。さらに、サーバ3−1が備える記憶手段30−1が、ファイル31−1を備える。制御プロセス15−1、プロセスA21で動作する処理A及びプロセスC23で動作する処理Cが、夫々ファイル31−1にアクセスすることができ、ファイル31−1に含まれる特定の箇所に対してロックをすることができる。   In the server 3-1, a control process 15-1 executed by the control process execution unit 14-1 operates, and a process A21 and a process C23 executed by the processing execution unit 20-1 operate. Process A executes process A, and process C executes process C. Furthermore, the storage unit 30-1 included in the server 3-1 includes a file 31-1. The control process 15-1, the process A operating in the process A21, and the process C operating in the process C23 can access the file 31-1, respectively, and lock a specific part included in the file 31-1. can do.

サーバ3−2では、同様に、制御プロセス実行部14−2が実行する制御プロセス15−2が動作するとともに、処理実行部20−2が実行するプロセスB22が動作している。プロセスB22は処理Bを実行する。さらに、サーバ3−2が備える記憶手段30−2が、ファイル31−2を備える。制御プロセス15−2、プロセスB22で動作する処理Bが、ファイル31−2にアクセスすることができ、ファイル31−2に含まれる特定の箇所に対してロックをすることができる。   Similarly, in the server 3-2, the control process 15-2 executed by the control process execution unit 14-2 operates, and the process B22 executed by the processing execution unit 20-2 operates. Process B22 executes process B. Furthermore, the storage unit 30-2 included in the server 3-2 includes a file 31-2. The process B operating in the control process 15-2 and the process B22 can access the file 31-2 and can lock a specific part included in the file 31-2.

ここで、第2実施例で実現する処理の概要について、図9〜図13を参照して説明する。本説明では、処理A、処理B、処理Cの順に実行する例を示して説明する。また、当該制御において、処理A及び処理Cは夫々ファイル31−1の1バイト目及び3バイト目を、処理Bは、ファイル31−2の2バイト目を、実行順序の制御に使用するものとする。換言すれば、処理A及び処理Cに対応する箇所が、ファイル31−1のうち、夫々1バイト目及び3バイト目であり、処理Bに対応する箇所が、ファイル31−2のうち、2バイト目である。これらの箇所は処理A、処理B、処理Cの実行順序に対応させて配置されている。図9〜図13に示す111〜123では、ファイル31−1又はファイル31−2に対してロックをする処理及びロックをしている状態を実線矢印、ロックがWait(待機)状態となる処理及びWait状態を破線矢印、アンロックをする処理をブロック矢印(白色矢印)で示す。さらに、マスターサーバ2の総合制御プロセス13から各サーバ3の制御プロセス15への指示を、一点鎖線矢印で示す。   Here, an outline of processing realized in the second embodiment will be described with reference to FIGS. 9 to 13. In this description, an example in which processing A, processing B, and processing C are executed in this order will be described. In the control, process A and process C are used to control the first byte and the third byte of the file 31-1, respectively, and process B is used to control the second byte of the file 31-2. To do. In other words, the part corresponding to the process A and the process C is the first byte and the third byte in the file 31-1, respectively, and the part corresponding to the process B is 2 bytes in the file 31-2. Eyes. These locations are arranged in correspondence with the execution order of process A, process B, and process C. 111 to 123 shown in FIGS. 9 to 13, a process for locking the file 31-1 or the file 31-2, a process in which the lock is performed, a solid line arrow, a process in which the lock is in a wait state, and The Wait state is indicated by a broken line arrow, and the unlocking process is indicated by a block arrow (white arrow). Furthermore, an instruction from the integrated control process 13 of the master server 2 to the control process 15 of each server 3 is indicated by a one-dot chain arrow.

(111)サーバ3−1の制御プロセス15−1は、ファイル31−1の1バイト目〜3バイト目をロックする。また、サーバ3−2の制御プロセス15−2も同様に、ファイル31−2の1バイト目〜3バイト目をロックする。
(112)サーバ3−1で動作する処理A及び処理Cが、夫々ファイル31−1の1バイト目及び3バイト目に対してロックを要求する。しかし、すでに(111)で制御プロセス15−1によりロックされているため、処理A及び処理Cによるロック要求はWait状態となる。一方、サーバ3−2で動作する処理Bも、ファイル31−2の2バイト目に対してロックを要求する。しかし、同様に、すでに(111)で制御プロセス15−2によりロックされているため、処理Bによるロック要求はWait状態となる。
(111) The control process 15-1 of the server 3-1 locks the first to third bytes of the file 31-1. Similarly, the control process 15-2 of the server 3-2 locks the first to third bytes of the file 31-2.
(112) Process A and process C operating on the server 3-1 request a lock on the first byte and the third byte of the file 31-1, respectively. However, since it is already locked by the control process 15-1 at (111), the lock request by the process A and the process C is in the Wait state. On the other hand, the process B operating on the server 3-2 also requests a lock on the second byte of the file 31-2. However, similarly, since it is already locked by the control process 15-2 at (111), the lock request by the process B is in the Wait state.

(113)ここで、マスターサーバ2の総合制御プロセス13が、全サーバの制御プロセス15に対し、各サーバのファイル31の1バイト目をアンロックするように指示を送信する。その後、総合制御プロセス13は、全サーバからファイル31の1バイト目の再ロックが成功した旨の通知を受信するまで待機する。
(114)サーバ3−1の制御プロセス15−1が、ファイル31−1の1バイト目をアンロックする。すると、処理Aによる1バイト目のロック要求のWait状態が解除される。一方、サーバ3−2の制御プロセス15−2も、ファイル31−2の1バイト目をアンロックする。
(113) Here, the general control process 13 of the master server 2 sends an instruction to the control process 15 of all servers to unlock the first byte of the file 31 of each server. Thereafter, the integrated control process 13 waits until receiving notification from all servers that the re-lock of the first byte of the file 31 has been successful.
(114) The control process 15-1 of the server 3-1 unlocks the first byte of the file 31-1. Then, the Wait state of the lock request of the first byte by process A is canceled. On the other hand, the control process 15-2 of the server 3-2 also unlocks the first byte of the file 31-2.

(115)サーバ3−1の処理Aは、(114)で1バイト目のロック要求のWait状態が解除されると即時にファイル31−1の1バイト目をロックする。そして、処理Aは、処理A本体の実行を開始する。
(116)サーバ3−1の制御プロセス15−1が、ファイル31−1の1バイト目に対して再度ロックを要求する。しかし、1バイト目は(115)ですでに処理Aによりロックされているため、制御プロセス15−1によるロック要求はWait状態となる。一方、サーバ3−2の制御プロセス15−2が、ファイル31−2の1バイト目に対して再度ロックを要求する。ファイル31−2の1バイト目は他の処理によってロックされていないため、制御プロセス15−2は、再ロックに成功する。
(115) The process A of the server 3-1 immediately locks the first byte of the file 31-1 when the wait state of the lock request of the first byte is canceled in (114). And the process A starts execution of the process A main body.
(116) The control process 15-1 of the server 3-1 requests the lock on the first byte of the file 31-1 again. However, since the first byte is already locked by the process A at (115), the lock request by the control process 15-1 is in the Wait state. On the other hand, the control process 15-2 of the server 3-2 requests the lock on the first byte of the file 31-2 again. Since the first byte of the file 31-2 is not locked by another process, the control process 15-2 succeeds in relocking.

(117)サーバ3−2の制御プロセス15−2は、ファイル31−2の1バイト目の再ロックに成功したことを、マスターサーバ2の総合制御プロセス13に通知する。
(118)サーバ3−1の処理Aは、処理A本体の実行が終了すると、ファイル31−1の1バイト目をアンロックする。すると、制御プロセス15−1によるファイル31−1の1バイト目のロック要求のWait状態が解除される。
(117) The control process 15-2 of the server 3-2 notifies the general control process 13 of the master server 2 that the relocking of the first byte of the file 31-2 has been successful.
(118) The process A of the server 3-1 unlocks the first byte of the file 31-1 when the execution of the process A main body is completed. Then, the Wait state of the lock request for the first byte of the file 31-1 by the control process 15-1 is released.

(119)サーバ3−1の制御プロセス15−1は、(118)でファイル31−1の1バイト目のロック要求のWait状態が解除されると、即時にファイル31−1の1バイト目をロックする。
(120)サーバ3−1の制御プロセス15−1は、ファイル31−1の1バイト目の再ロックに成功したことを、マスターサーバ2の総合制御プロセス13に通知する。
(119) The control process 15-1 of the server 3-1 immediately releases the first byte of the file 31-1 when the wait state of the lock request of the first byte of the file 31-1 is canceled in (118). Lock it.
(120) The control process 15-1 of the server 3-1 notifies the general control process 13 of the master server 2 that the re-lock of the first byte of the file 31-1 has been successful.

(121)マスターサーバ2の総合制御プロセス13が、全サーバの制御プロセスに対し、各サーバのファイル31の2バイト目をアンロックするように指示を送信する。その後、総合制御プロセス13は、全サーバからファイル31の2バイト目の再ロックが成功したことの通知を受信するまで待機する。
(122)サーバ3−1の制御プロセス15−1が、ファイル31−1の2バイト目をアンロックする。一方、サーバ3−2の制御プロセス15−2も、ファイル31−2の2バイト目をアンロックする。すると、処理Bによるファイル31−2の2バイト目のロック要求のWait状態が解除される。
(121) The master control process 13 of the master server 2 sends an instruction to the control processes of all servers to unlock the second byte of the file 31 of each server. Thereafter, the integrated control process 13 waits until it receives notification from all servers that the second byte of the file 31 has been successfully relocked.
(122) The control process 15-1 of the server 3-1 unlocks the second byte of the file 31-1. On the other hand, the control process 15-2 of the server 3-2 also unlocks the second byte of the file 31-2. Then, the Wait state of the lock request of the second byte of the file 31-2 by the process B is cancelled.

(123)サーバ3−2の処理Bは、(122)でファイル31−2の2バイト目のロック要求のWait状態が解除されると即時にファイル31−2の2バイト目をロックする。そして、処理Bは、処理B本体の実行を開始する。 (123) The process B of the server 3-2 immediately locks the second byte of the file 31-2 when the wait state of the lock request of the second byte of the file 31-2 is canceled in (122). And the process B starts execution of the process B main body.

以降、同様にして、サーバ3−2の処理Bに続いて、サーバ3−1の処理Cが実行される。
なお、制御プロセスは、上記(111)の処理も、総合制御プロセス13の指示によって行ってもよい。
Thereafter, similarly, the process C of the server 3-1 is executed following the process B of the server 3-2.
In the control process, the process (111) may be performed according to an instruction from the comprehensive control process 13.

<処理フローチャートの説明>
図14は、マスターサーバ2の総合制御プロセス13、各サーバ3の制御プロセス15及び各処理のうちの1つの処理である処理nが実行する処理の一例につき、フローチャート及びファイルの領域例を用いて説明した図である。ステップS31〜ステップS35が総合制御プロセス13による処理を示す。また、ステップS41〜ステップS46が制御プロセス15による処理を示し、ステップS51〜ステップS54が処理nによる処理を示す。当該説明では、処理nは、ファイルのうちnバイト目に対してロックをかけるものとして説明する。なお、図13及び図13を参照した説明では、処理nが含まれるプロセスについての記載は省略する。
<Description of processing flowchart>
FIG. 14 is a flowchart and an example of a file area for an example of a process executed by the process n, which is one of the overall control process 13 of each master server 2, the control process 15 of each server 3, and each process. FIG. Steps S <b> 31 to S <b> 35 indicate processing by the comprehensive control process 13. Steps S41 to S46 indicate processing by the control process 15, and Steps S51 to S54 indicate processing by the processing n. In this description, the process n is described as a process for locking the nth byte of the file. In the description with reference to FIG. 13 and FIG. 13, the description of the process including the process n is omitted.

ステップS41で、制御プロセス15が、処理の実行順序の制御に用いるファイル31の対象領域の全バイトをロックする。
一方、ステップS51で、処理nが、処理nの実行順序に対応するnバイト目に対してロックを要求する。しかし、制御プロセス15がすでにnバイト目を含めた対象領域の全バイトをロックしているため、処理nのロック要求はWait状態となる。
In step S41, the control process 15 locks all bytes in the target area of the file 31 used for controlling the execution order of the processes.
On the other hand, in step S51, the process n requests a lock on the nth byte corresponding to the execution order of the process n. However, since the control process 15 has already locked all the bytes in the target area including the nth byte, the lock request for the process n is in the Wait state.

ステップS31で、総合制御プロセス13が、変数iに1をセットする。なお、ステップS41及びステップ51と、ステップS31とはどちらが先になってもよい。
ステップS32で、マスターサーバ2の総合制御プロセス13が、全サーバの制御プロセス15に対し、各サーバのファイル31のiバイト目をアンロックするように指示を送信する。その後、総合制御プロセス13は、全サーバからファイル31のiバイト目の再ロックが成功したことの通知を受信するまで待機する。
In step S31, the comprehensive control process 13 sets 1 to the variable i. Note that either step S41, step 51, or step S31 may be first.
In step S32, the master control process 13 of the master server 2 sends an instruction to the control processes 15 of all servers to unlock the i-th byte of the file 31 of each server. Thereafter, the integrated control process 13 waits until it receives notification from all servers that the relocking of the i-th byte of the file 31 has been successful.

一方、ステップS42で、制御プロセス15が、マスターサーバ2の総合制御プロセス13からのステップS32の指示を受信する。当該指示を受け、ステップS43で、制御プロセス15が、iバイト目をアンロックする。   On the other hand, in step S42, the control process 15 receives the instruction in step S32 from the comprehensive control process 13 of the master server 2. In response to this instruction, in step S43, the control process 15 unlocks the i-th byte.

ここで、iがnに等しいとき、処理nは、nバイト目に対するロック要求のWait状態が解除され、ステップS52で、nバイト目のロックに成功する。そして、処理nは、ステップS53で、処理n本体の処理を実行する。   Here, when i is equal to n, the wait state of the lock request for the nth byte is released in process n, and the nth byte is successfully locked in step S52. And the process n performs the process of the process n main body at step S53.

一方、ステップS44で、制御プロセス15が、iバイト目(=nバイト目)に対してロックを要求する。しかし、処理nがすでにnバイト目をロックしているため、制御プロセス15によるiバイト目に対するロック要求はWait状態となる。なお、ステップS53とステップS44とはどちらが先になってもよい。   On the other hand, in step S44, the control process 15 requests a lock on the i-th byte (= n-th byte). However, since the process n has already locked the n-th byte, the lock request for the i-th byte by the control process 15 is in the Wait state. Note that either step S53 or step S44 may be first.

処理nは、処理n本体の処理の実行が終了すると、ステップS54で、領域のnバイト目をアンロックする。
すると、制御プロセス15は、iバイト目に対するロック要求のWait状態が解除され、ステップS45で、iバイト目のロックに成功する。そして、ステップS46で、総合制御プロセス13に対し、iバイト目のロックが成功したことを通知する。
When the process n has been executed, the process n unlocks the nth byte of the area in step S54.
Then, the control process 15 cancels the wait state of the lock request for the i-th byte, and succeeds in locking the i-th byte in step S45. In step S46, the general control process 13 is notified that the i-th byte has been successfully locked.

ステップS34で、総合制御プロセス13は、変数iが最大値(max)であるか否かを判定する。変数iが最大値であれば(Yes)、処理を終了し、変数iが最大値でなければ(No)、ステップS35に進む。
ステップS35で、総合制御プロセス13は、変数iに1を加算してステップS32に戻り、ファイル31の次の箇所の処理を開始する。
In step S34, the overall control process 13 determines whether or not the variable i is the maximum value (max). If the variable i is the maximum value (Yes), the process ends. If the variable i is not the maximum value (No), the process proceeds to step S35.
In step S35, the overall control process 13 adds 1 to the variable i, returns to step S32, and starts processing the next location of the file 31.

<本実施例による効果等>
第2実施例によれば、第1実施例で説明した効果に加えて、次のような効果を奏する。すなわち、複数の異なるサーバで処理が実行されている場合において、各処理からアクセス可能な記憶手段や共有ファイルが存在しないシステム構成であっても、ファイルロックの機能を用いた処理の実行順序の制御が可能となる。
<Effects of this embodiment>
According to the second embodiment, in addition to the effects described in the first embodiment, the following effects can be obtained. In other words, when processing is performed on a plurality of different servers, even if the system configuration has no storage means or shared files accessible from each processing, control of the processing execution order using the file lock function Is possible.

<本実施例による効果、変形例等>
なお、上記説明では、総合制御プロセス13が、各処理を実行するサーバ3とは別のマスターサーバ2で動作していたが、各処理を実行する全てのサーバ3と通信可能であれば、総合制御プロセス13は、例えばサーバ3のうちのいずれかで動作していてもよい。
その他の変形例等については、第1実施例と同様である。
<Effects of this embodiment, modified examples, etc.>
In the above description, the comprehensive control process 13 is operating on the master server 2 different from the server 3 that executes each process. However, if communication is possible with all the servers 3 that execute each process, The control process 13 may be operating on any of the servers 3, for example.
Other modifications are the same as in the first embodiment.

[ハードウェア構成]
図15は、前述の各実施例のサーバやマスターサーバとして機能する情報処理装置のハードウェア構成の一例を示す。本情報処理装置は、プロセッサ101、メモリ102、ストレージ103、可搬記憶媒体駆動装置104、入出力装置105及び通信インタフェース106を備える。
[Hardware configuration]
FIG. 15 illustrates an example of a hardware configuration of an information processing apparatus that functions as a server or a master server in each of the above-described embodiments. The information processing apparatus includes a processor 101, a memory 102, a storage 103, a portable storage medium driving device 104, an input / output device 105, and a communication interface 106.

プロセッサ101は、制御ユニット、演算ユニット及び命令デコーダ等を含み、実行ユニットが、命令デコーダで解読されたプログラムの命令に従い、制御ユニットより出力される制御信号に応じ、演算ユニットを用いて算術・論理演算を実行する。かかるプロセッサ101は、制御に用いる各種情報が格納される制御レジスタ、既にアクセスしたメモリ2等の内容を一時的に格納可能なキャッシュ、及び、仮想記憶のページテーブルのキャッシュとしての機能を果たすTLBを備える。なお、プロセッサ101は、CPU(Central Processing Unit)コアが複数設けられている構成でもよい。   The processor 101 includes a control unit, an arithmetic unit, an instruction decoder, and the like. The execution unit follows the instructions of the program decoded by the instruction decoder, and performs arithmetic / logic using the arithmetic unit according to a control signal output from the control unit. Perform the operation. The processor 101 has a TLB that functions as a control register in which various information used for control is stored, a cache that can temporarily store the contents of the already accessed memory 2 and the like, and a page table cache of virtual memory. Prepare. The processor 101 may have a configuration in which a plurality of CPU (Central Processing Unit) cores are provided.

メモリ102は、例えばRAM(Random Access Memory)等の記憶装置であり、プロセッサ101で実行されるプログラムがロードされるとともに、プロセッサ101の処理に用いるデータが格納されるメインメモリである。また、ストレージ103は、例えばHDD(Hard Disk Drive)やフラッシュメモリ等の記憶装置であり、プログラムや各種データが格納される。可搬記憶媒体駆動装置104は、可搬記憶媒体107に記憶されたデータやプログラムを読み出す装置である。可搬記憶媒体107は、例えば磁気ディスク、光ディスク、光磁気ディスク又はフラッシュメモリ等である。プロセッサ101は、メモリ102やストレージ103と協働しつつ、ストレージ103や可搬記憶媒体107に格納されたプログラムを実行する。なお、プロセッサ101が実行するプログラムや、アクセス対象となるデータは、当該情報処理装置と通信可能な他の装置に格納されていてもよい。なお、上記各実施例で記載した記憶手段30とは、メモリ102、ストレージ103及び可搬記憶媒体107若しくは当該情報処理装置と通信可能な他の装置の少なくともいずれかを示す。   The memory 102 is a storage device such as a RAM (Random Access Memory), for example, and is a main memory in which a program to be executed by the processor 101 is loaded and data used for processing of the processor 101 is stored. The storage 103 is a storage device such as an HDD (Hard Disk Drive) or a flash memory, and stores programs and various data. The portable storage medium driving device 104 is a device that reads data and programs stored in the portable storage medium 107. The portable storage medium 107 is, for example, a magnetic disk, an optical disk, a magneto-optical disk, or a flash memory. The processor 101 executes a program stored in the storage 103 or the portable storage medium 107 while cooperating with the memory 102 or the storage 103. Note that the program executed by the processor 101 and data to be accessed may be stored in another device that can communicate with the information processing device. Note that the storage means 30 described in each of the above embodiments indicates at least one of the memory 102, the storage 103, the portable storage medium 107, or another device that can communicate with the information processing apparatus.

入出力装置105は例えばキーボード等やディスプレイ等であり、ユーザ操作等による動作命令を受け付ける一方、情報処理装置による処理結果を出力する。通信インタフェース106は例えばLAN(Local Area Network)カード等であり、外部とのデータ通信を可能にする。前述した情報処理装置の各構成要素は、バス108で接続されている。   The input / output device 105 is, for example, a keyboard or a display, and receives an operation command by a user operation or the like, and outputs a processing result by the information processing device. The communication interface 106 is a LAN (Local Area Network) card, for example, and enables data communication with the outside. Each component of the information processing apparatus described above is connected by a bus 108.

[その他]
本明細書で説明した情報処理装置の機能的構成及び物理的構成は、上述の態様に限るものではなく、例えば、各機能や物理資源を統合して実装したり、逆に、さらに分散して実装したりすることも可能である。
[Others]
The functional configuration and physical configuration of the information processing apparatus described in this specification are not limited to the above-described aspects. For example, the functions and physical resources are integrated and implemented, or conversely, further distributed. It is also possible to implement.

以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
1又は複数のコンピュータで動作する1又は複数のプロセスが実行する複数の処理の実行順序を制御する制御プロセスが、当該制御プロセス及び前記プロセスがアクセス可能な記憶手段に含まれる所定の記憶領域に対してロックを実行し、
前記プロセスが、前記制御プロセスによりロックが実行された前記記憶領域のうち、前記複数の処理の実行順序に対応した箇所に対してロックを要求し、
前記制御プロセスが、前記プロセスによりロックが要求された箇所のロックを、前記複数の処理の実行順序と対応させて順次解放し、
前記プロセスが、要求していたロックが実行できると、当該箇所に対応する処理を実行する
処理を含んだ処理順序制御方法。
Regarding the above embodiment, the following additional notes are disclosed.
(Appendix 1)
A control process for controlling the execution order of a plurality of processes executed by one or a plurality of processes operating on one or a plurality of computers is provided for the control process and a predetermined storage area included in a storage means accessible by the process. Lock
The process requests a lock to a location corresponding to the execution order of the plurality of processes in the storage area where the lock is executed by the control process,
The control process sequentially releases the lock at the location where the lock is requested by the process in correspondence with the execution order of the plurality of processes,
A process order control method including a process of executing a process corresponding to the location when the requested lock can be executed by the process.

(付記2)
前記プロセスが、処理の実行を終了したときに、当該処理に対応する箇所に対するロックを解放し、
前記ロックを順次解放する処理は、前記制御プロセスが、前記プロセスにより実行を終了した処理に対応する箇所に対するロックが解放されると、当該箇所に対するロックを再実行し、当該箇所に対応する実行順序の次の実行順序に対応する箇所のロックを解放する、付記1記載の処理順序制御方法。
(Appendix 2)
When the process finishes executing the process, it releases the lock corresponding to the process,
The process of sequentially releasing the lock is performed when the control process releases the lock corresponding to the process that has been executed by the process and re-executes the lock on the corresponding part and executes the execution order corresponding to the corresponding part. The processing sequence control method according to appendix 1, wherein the lock at a location corresponding to the next execution sequence is released.

(付記3)
前記複数の処理が複数のコンピュータで実行され、前記制御プロセスが前記複数のコンピュータの夫々で動作し、
前記制御プロセスの夫々と通信可能な総合制御プロセスが、前記制御プロセスの夫々に対し、前記記憶領域のうち前記制御プロセスの夫々が実行順序を制御する処理の実行順序に対応する箇所のロックを順次解放する指示を行い、
前記ロックを順次解放する処理は、前記制御プロセスの夫々が、前記総合制御プロセスによる指示に応じて、少なくとも前記記憶領域のうち自制御プロセスが実行順序を制御する処理の実行順序に対応する箇所のロックを順次解放する、付記1又は2に記載の処理順序制御方法。
(Appendix 3)
The plurality of processes are executed by a plurality of computers, and the control process operates on each of the plurality of computers;
The comprehensive control process capable of communicating with each of the control processes sequentially locks the portions of the storage area corresponding to the execution order of the processes in which the control processes control the execution order, for each of the control processes. Give instructions to release,
The process of sequentially releasing the lock is performed at a location corresponding to the execution order of the process in which each of the control processes controls the execution order of the own control process in at least the storage area in accordance with an instruction from the integrated control process. The processing order control method according to appendix 1 or 2, wherein locks are released sequentially.

(付記4)
前記ロックを順次解放する指示を行う処理は、総合制御プロセスが、前記制御プロセスの夫々に対し、同時に同一の実行順序に対応する箇所のロックを解放する指示を行い、
前記ロックを順次解放する処理は、前記制御プロセスの夫々が、前記総合制御プロセスによる指示に応じて、他の制御プロセスと同一の実行順序に対応する箇所のロックを順次解放する、付記3記載の処理順序制御方法。
(Appendix 4)
The process of instructing to sequentially release the lock is performed by the general control process instructing each of the control processes to simultaneously release the locks corresponding to the same execution order,
The processing for sequentially releasing the lock is performed according to the third aspect, wherein each of the control processes sequentially releases locks at locations corresponding to the same execution order as the other control processes in accordance with an instruction from the integrated control process. Processing order control method.

(付記5)
前記記憶領域のうち前記複数の処理の実行順序の夫々に対応する箇所には、少なくとも1つの処理の実行順序に対応する箇所分の間隔を空けて前記複数の処理が夫々対応付けられている、付記1又は2に記載の処理順序制御方法。
(Appendix 5)
In the storage area, each of the plurality of processes is associated with a portion corresponding to each of the execution order of the plurality of processes with an interval corresponding to the execution order of at least one process. The processing order control method according to appendix 1 or 2.

(付記6)
1又は複数のコンピュータで動作する1又は複数のプロセスが実行する複数の処理の実行順序を制御する制御プロセスが、当該制御プロセス及び前記プロセスがアクセス可能な記憶手段に含まれる所定の記憶領域に対してロックを実行し、
前記プロセスが、前記制御プロセスによりロックが実行された前記記憶領域のうち、前記複数の処理の実行順序に対応した箇所に対してロックを要求し、
前記制御プロセスが、前記プロセスによりロックが要求された箇所のロックを、前記複数の処理の実行順序と対応させて順次解放し、
前記プロセスが、要求していたロックが実行できると、当該箇所に対応する処理を実行する
処理をコンピュータに実行させる処理順序制御プログラム。
(Appendix 6)
A control process for controlling the execution order of a plurality of processes executed by one or a plurality of processes operating on one or a plurality of computers is provided for the control process and a predetermined storage area included in a storage means accessible by the process. Lock
The process requests a lock to a location corresponding to the execution order of the plurality of processes in the storage area where the lock is executed by the control process,
The control process sequentially releases the lock at the location where the lock is requested by the process in correspondence with the execution order of the plurality of processes,
A processing order control program for causing a computer to execute processing for executing processing corresponding to a location when the requested lock can be executed by the process.

(付記7)
複数の処理を実行する1又は複数のプロセスを実行する処理実行部と、
前記複数の処理の実行順序を制御する制御プロセスを実行する制御プロセス実行部と
を含み、
前記制御プロセスが、当該制御プロセス及び前記プロセスがアクセス可能な記憶手段に含まれる所定の記憶領域に対してロックを実行し、
前記プロセスが、前記制御プロセスによりロックが実行された前記記憶領域のうち、前記複数の処理の実行順序に対応した箇所に対してロックを要求し、
前記制御プロセスが、前記プロセスによりロックが要求された箇所のロックを、前記複数の処理の実行順序と対応させて順次解放し、
前記プロセスが、要求していたロックが実行できると、当該箇所に対応する処理を実行する
処理順序制御装置。
(Appendix 7)
A process execution unit for executing one or more processes for executing a plurality of processes;
A control process execution unit that executes a control process for controlling the execution order of the plurality of processes,
The control process performs a lock on the control process and a predetermined storage area included in a storage means accessible by the process;
The process requests a lock to a location corresponding to the execution order of the plurality of processes in the storage area where the lock is executed by the control process,
The control process sequentially releases the lock at the location where the lock is requested by the process in correspondence with the execution order of the plurality of processes,
A processing sequence control device that executes processing corresponding to the location when the requested lock can be executed by the process.

1、3…サーバ、2…マスターサーバ、10…制御プロセス実行部、11…制御プロセス、20…処理実行部、21…プロセス、30、32…記憶手段、31、33…ファイル DESCRIPTION OF SYMBOLS 1, 3 ... Server, 2 ... Master server, 10 ... Control process execution part, 11 ... Control process, 20 ... Process execution part, 21 ... Process, 30, 32 ... Storage means, 31, 33 ... File

Claims (7)

1又は複数のコンピュータで動作する複数のプロセスが夫々実行する処理の実行順序を制御する制御プロセスが、当該制御プロセス及び前記プロセスによりアクセス可能な記憶手段に含まれる所定の記憶領域の複数の箇所に対してロックを実行し、
前記プロセスが、前記制御プロセスによりロックが実行された前記記憶領域のうち、各プロセスの自処理の実行順序に対応する箇所に対してロックを要求し、
前記制御プロセスが、前記プロセスからの前記ロックの要求を前記実行順序に対応する前記箇所毎に前記ロックが解放されるまで待機状態とし、
前記制御プロセスが、前記プロセスによりロックが要求された箇所のロックを、前記処理の前記実行順序と対応させて順次解放する
処理を含んだ処理順序制御方法。
One or more control processes multiple process that runs on the computer to control the execution order of processing to run each is a predetermined storage area included in the accessible memory means by the control process and the process for a plurality of points, run the lock,
The process requests a lock to a location corresponding to the execution order of the process of each process in the storage area where the lock is executed by the control process,
The control process waits for the lock request from the process until the lock is released for each location corresponding to the execution order;
It said control process, a lock portion that locks the said process is requested, the execution order and containing <br/> process of sequentially released in association process order control method of the preceding Kisho sense.
記ロックを順次解放する処理は、前記制御プロセスが、前記プロセスにより実行を終了した処理に対応する箇所に対するロックが解放されると、当該箇所に対するロックを再実行し、当該箇所に対応する実行順序の次の実行順序に対応する箇所のロックを解放する、請求項1記載の処理順序制御方法。 Executing processing for sequentially releasing the previous SL lock, the control process, the lock for the portion corresponding to the processing terminates execution by said process is released, which then re-execute the lock on the location, corresponding to the position The processing sequence control method according to claim 1, wherein a lock at a location corresponding to an execution sequence next to the sequence is released. 記処理が複数の異なるコンピュータで実行され、前記制御プロセスが前記複数の異なるコンピュータの夫々で動作し、
前記制御プロセスの夫々と通信可能な総合制御プロセスが、前記制御プロセスの夫々に対し、前記複数の異なるコンピュータの夫々に設けられた前記記憶領域のうち前記制御プロセスの夫々が実行順序を制御する処理の実行順序に対応する箇所のロックを順次解放する指示を行い、
前記ロックを順次解放する処理は、前記制御プロセスの夫々が、前記総合制御プロセスによる指示に応じて、少なくとも前記記憶領域のうち自制御プロセスが実行順序を制御する処理の実行順序に対応する箇所のロックを順次解放する、請求項1又は2に記載の処理順序制御方法。
Before Kisho management is performed in a number of different computers, the control process operates at each of said plurality of different computers,
A process in which an integrated control process capable of communicating with each of the control processes controls the execution order of each of the control processes out of the storage areas provided in each of the plurality of different computers. To release the locks at the locations corresponding to the execution order of
The process of sequentially releasing the lock is performed at a location corresponding to the execution order of the process in which each of the control processes controls the execution order of the own control process in at least the storage area in accordance with an instruction from the integrated control process. The processing order control method according to claim 1, wherein locks are released sequentially.
前記ロックを順次解放する指示を行う処理は、総合制御プロセスが、前記制御プロセスの夫々に対し、同時に同一の実行順序に対応する箇所のロックを解放する指示を行い、
前記ロックを順次解放する処理は、前記制御プロセスの夫々が、前記総合制御プロセスによる指示に応じて、他の制御プロセスと同一の実行順序に対応する箇所のロックを順次解放する、請求項3記載の処理順序制御方法。
The process of instructing to sequentially release the lock is performed by the general control process instructing each of the control processes to simultaneously release the locks corresponding to the same execution order,
4. The process of sequentially releasing the lock is such that each of the control processes sequentially releases a lock at a location corresponding to the same execution order as that of another control process in accordance with an instruction from the integrated control process. Process order control method.
前記制御プロセスは、前記実行順序の夫々に対応する箇所と当該実行順序を規定する通し番号のいずれかの値とを対応付け、当該通し番号のうちでより小さい前記値が対応付けられている処理から前記ロックを解放するようにし、
記実行順序の夫々に対応する箇所には、新たな処理を実行するプロセスが空いている領域の箇所にロックをかけられるように、少なくとも1つの処理の実行順序に対応する箇所分の間隔を空けて前記値が夫々対応付けられている、請求項1又は2に記載の処理順序制御方法。
The control process associates a location corresponding to each of the execution orders with any value of a serial number that defines the execution order, and from the process in which the smaller value is associated with the serial number To release the lock,
The portion corresponding to each of the front you line order, to be a lock in the position of a free area the process of performing a new process, the spacing portion component corresponding to the execution order of at least one processing before Symbol value at a is attached respectively corresponding processing order control method according to claim 1 or 2.
ンピュータで動作する複数のプロセスが夫々実行する処理の実行順序を制御する制御プロセスが、当該制御プロセス及び前記プロセスによりアクセス可能な記憶手段に含まれる所定の記憶領域の複数の箇所に対してロックを実行し、
前記プロセスが、前記制御プロセスによりロックが実行された前記記憶領域のうち、各プロセスの自処理の実行順序に対応する箇所に対してロックを要求し、
前記制御プロセスが、前記プロセスからの前記ロックの要求を前記実行順序に対応する前記箇所毎に前記ロックが解放されるまで待機状態とし、
前記制御プロセスが、前記プロセスによりロックが要求された箇所のロックを、前記処理の前記実行順序と対応させて順次解放する
処理をコンピュータに実行させる処理順序制御プログラム。
Control process multiple process that operates in the computer to control the execution order of processing to run each have a plurality of portions of predetermined storage area included in the accessible memory means by the control process and the process Perform a lock on
The process requests a lock to a location corresponding to the execution order of the process of each process in the storage area where the lock is executed by the control process,
The control process waits for the lock request from the process until the lock is released for each location corresponding to the execution order;
Said control process, said lock portion a lock is requested by the process, the process sequence control program for executing <br/> processing on a computer that is associated with the execution order of the processes are sequentially released.
複数のプロセスが夫々処理を実行する処理実行部と、
前記処理の実行順序を制御する制御プロセスを実行する制御プロセス実行部と
を含み、
前記制御プロセスが、当該制御プロセス及び前記プロセスによりアクセス可能な記憶手段に含まれる所定の記憶領域の複数の箇所に対してロックを実行し、
前記プロセスが、前記制御プロセスによりロックが実行された前記記憶領域のうち、各プロセスの自処理の実行順序に対応する箇所に対してロックを要求し、
前記制御プロセスが、前記プロセスからの前記ロックの要求を前記実行順序に対応する前記箇所毎に前記ロックが解放されるまで待機状態とし、
前記制御プロセスが、前記プロセスによりロックが要求された箇所のロックを、前記処理の前記実行順序と対応させて順次解放する
処理順序制御装置。
A process execution unit in which a plurality of processes execute processes;
And a control process execution unit for executing a control process for controlling the execution order of the process,
It said control process, for a plurality of locations in a predetermined storage area included in the accessible memory means by the control process and the process executes a lock,
The process requests a lock to a location corresponding to the execution order of the process of each process in the storage area where the lock is executed by the control process,
The control process waits for the lock request from the process until the lock is released for each location corresponding to the execution order;
It said control process, a lock portion that locks requested by the process, in correspondence with the execution order of the processes are sequentially released <br/> process order control unit.
JP2013151711A 2013-07-22 2013-07-22 Processing order control device, processing order control method, and processing order control program Expired - Fee Related JP6201478B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013151711A JP6201478B2 (en) 2013-07-22 2013-07-22 Processing order control device, processing order control method, and processing order control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013151711A JP6201478B2 (en) 2013-07-22 2013-07-22 Processing order control device, processing order control method, and processing order control program

Publications (2)

Publication Number Publication Date
JP2015022626A JP2015022626A (en) 2015-02-02
JP6201478B2 true JP6201478B2 (en) 2017-09-27

Family

ID=52486988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013151711A Expired - Fee Related JP6201478B2 (en) 2013-07-22 2013-07-22 Processing order control device, processing order control method, and processing order control program

Country Status (1)

Country Link
JP (1) JP6201478B2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04127322A (en) * 1990-09-19 1992-04-28 Fujitsu Ltd Job execution controller
US6598068B1 (en) * 1996-01-04 2003-07-22 Sun Microsystems, Inc. Method and apparatus for automatically managing concurrent access to a shared resource in a multi-threaded programming environment
JPH1165863A (en) * 1997-08-26 1999-03-09 Hitachi Ltd Common resource managing method
US6779090B2 (en) * 2002-05-21 2004-08-17 International Business Machines Corporation Spinlock for shared memory
JP2011118587A (en) * 2009-12-02 2011-06-16 Hitachi Ltd System for executing cooperative service by plurality of servers
JP2011129024A (en) * 2009-12-21 2011-06-30 Renesas Electronics Corp Data processing system and data processing method
US9058205B2 (en) * 2011-10-24 2015-06-16 Symantec Corporation Automatically performing operations on applications based on dependencies on other applications

Also Published As

Publication number Publication date
JP2015022626A (en) 2015-02-02

Similar Documents

Publication Publication Date Title
TW498281B (en) Interface system and method for asynchronously updating a shared resource
EP3701377B1 (en) Method and apparatus for updating shared data in a multi-core processor environment
EP3138013B1 (en) System and method for providing distributed transaction lock in transactional middleware machine environment
US10579413B2 (en) Efficient task scheduling using a locking mechanism
US9378069B2 (en) Lock spin wait operation for multi-threaded applications in a multi-core computing environment
CN108369507A (en) For using the method and apparatus for handling process instruction in memory
EP3230860B1 (en) Technologies for efficient synchronization barriers with work stealing support
US11294737B2 (en) Self-managed lock access
JPH1115793A (en) Protection method for resource maintainability
CN113806031A (en) Method and apparatus for securing resources through object locks
US10372352B2 (en) Concurrent virtual storage management
KR102450133B1 (en) Distributed sysetm for managing distributed lock and operating method thereof
US20090307442A1 (en) Memory Access Control
JP6201478B2 (en) Processing order control device, processing order control method, and processing order control program
US20170091218A1 (en) Method and apparatus for locking file in memory
JP6036692B2 (en) Information processing apparatus, information processing system, information processing method, and control program recording medium
KR101789933B1 (en) Computing system and method for data consistency
JP5890194B2 (en) Information processing apparatus and information processing method
CN112947677B (en) Timer reading method, computing device and readable storage medium
JP7183384B2 (en) Management of shared resources in distributed computing systems
US11775337B2 (en) Prioritization of threads in a simultaneous multithreading processor core
JP3063658B2 (en) Exclusive control processing unit
JP2926873B2 (en) Computer system
JP6617551B2 (en) SETTING VALUE MANAGEMENT DEVICE, COMPUTER DEVICE, METHOD, AND PROGRAM
JP2009026292A (en) Data distribution method, data distribution program, and parallel database system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170417

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170814

R150 Certificate of patent or registration of utility model

Ref document number: 6201478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees