WO1997035262A1 - Method for automatically generating program and method for controlling execution - Google Patents

Method for automatically generating program and method for controlling execution Download PDF

Info

Publication number
WO1997035262A1
WO1997035262A1 PCT/JP1996/000677 JP9600677W WO9735262A1 WO 1997035262 A1 WO1997035262 A1 WO 1997035262A1 JP 9600677 W JP9600677 W JP 9600677W WO 9735262 A1 WO9735262 A1 WO 9735262A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
computer
network
child
processing
Prior art date
Application number
PCT/JP1996/000677
Other languages
French (fr)
Japanese (ja)
Inventor
Chisato Konno
Katsuro Kikuchi
Original Assignee
Hitachi, Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi, Ltd. filed Critical Hitachi, Ltd.
Priority to PCT/JP1996/000677 priority Critical patent/WO1997035262A1/en
Publication of WO1997035262A1 publication Critical patent/WO1997035262A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/388Payment protocols; Details thereof using mutual authentication without cards, e.g. challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/127Shopping or accessing services according to a time-limitation
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/0014Coin-freed apparatus for hiring articles; Coin-freed facilities or services for vending, access and use of specific services not covered anywhere else in G07F17/00
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • the present invention relates to an automatic generation method and an execution management method of a program of an information system in which a plurality of computers are connected and used by a network.
  • An object of the present invention is to solve these problems and provide an information system in which different types of computers are connected in a large-scale complex network.
  • An object of the present invention is to propose an automatic generation method and an execution management method of a program prepared to be used as a resource of a program. Disclosure of the invention
  • the bibliographic information necessary for moving the program such as the destination, the purpose of the visit, the date and time of the visit, and the date and time of departure, is included in the program.
  • Information table hereinafter, the contents of this information table will be referred to as passport information
  • the visited server a computer for performing a certain service
  • the program has electronic money, and each visiting server has a means to lend resources (memory, CPU) on the server to the program at a predetermined price, and to have the program perform the processing.
  • the program satisfies the specified conditions.
  • the parent program and the child program are provided with a means to unite on the specified server to be visited, and the program that has become one again continues the visit and processing to the remaining server to be visited.
  • FIG. 1 is a conceptual explanatory view of the present invention.
  • FIG. 2 is a diagram showing the structure of an agent program that travels over a network.
  • Fig. 3 is a structural diagram of the passport of the agent program.
  • FIG. 4 is a diagram showing the structure of a passport possessed by the agent program.
  • Fig. 5 shows the flow of the process of synthesizing the agent program in the server.
  • FIG. 6 is a processing flow of the agent program in the server.
  • FIG. 7 is a processing flow of the agent program in the server.
  • FIG. 8 is a schematic diagram of processing of an agent program in a server.
  • FIG. 9 is a schematic diagram of the processing after the program synthesis in the server.
  • FIG. 10 is a flowchart for determining the number of child programs.
  • Fig. 10 is a flowchart for determining the number of child programs.
  • FIG. 11 shows a method for generating a child program.
  • FIG. 12 is a schematic diagram of a child program generation process.
  • FIG. 13 is a schematic diagram of a child program generation process and is a diagram for explaining a passport generation procedure of the child program.
  • Figure 14 shows the composition of the program.
  • FIG. 15 is a schematic diagram of a program synthesizing process.
  • FIG. 16 is a schematic diagram of a program synthesizing process, and is a diagram for explaining a passport synthesizing procedure of the synthesized program.
  • a program 103 for visiting and processing a plurality of computers via a network (hereinafter, the program itself is referred to as an agent program in the present invention) is a starting point. Calculator from 0 to 2 star And perform the set processing on multiple server computers, and return to the computer that started. It is also conceivable that the order of visit is dynamically added at the start from the preset processing result at the place of visit.
  • the embodiment disclosed in the present embodiment is based on the information and structure that the agent program must have at least to visit any server connected to the network, and to make the visit as quickly as possible. It is a realization method. For example, it is assumed that the agent program visits a server 1 to a server 5 to perform processing as shown in 104 of FIG.
  • server 1 to server 3 are tasks that can be processed simultaneously and in parallel, and it is assumed that server 4 and server 5 need to visit in this order to perform the tasks.
  • the agent program A (105) generates child programs A1 (106) and A2 (107), which are their own alternations, and the server program A (105) respectively.
  • the self (parent program) goes to the server 3 for processing, and each of the agent programs Al and A2, after processing, meet on the server 4, and each processing result And combine them into one program A again, visit server 4, then server 5, and perform the processing.
  • the present embodiment describes the program structure and information provided in the agent program to realize this mechanism, and the functions that each server to be visited should have and the method of realizing the functions.
  • the structure of the agent program 103 is shown at 200 in FIG.
  • the agent program is the first program part (201) that performs processing while interacting with the program on the visited server, and the second program part (200) that performs processing closed in this program at the visited site. 202) and a third part (203) for holding the collected data.
  • the first program part has Includes an ID number that proves the identity of the agent program, an electronic cash (or electronic money) that is the money owned by the agent program, and a passport (300) that contains information such as the route to visit.
  • Fig. 3 shows the contents of the passport.
  • the passport contains an ID number for the agent's program to be recognized by the visited server, and a fee for paying when the visitor borrows and processes the server's resources.
  • the electronic cache contains information (301).
  • the table 302 that describes the visiting route and purpose includes the visiting server name 3005, and whether the processing on that server can be performed in parallel with the processing on the subsequent visiting server. 306) or an attribute 306 indicating whether to process sequentially (shown as S in the table in the figure), and the number of child programs to be encountered on the visited server 307 (about child programs) Will be described later), the purpose of visiting the server 308, the date of arrival at the server and the date of departure 309. Further, it includes a relay address 310 indicating a merge with another program on the visiting server, and a home address 311 corresponding to a computer from which the agent program is transmitted. The details of the setting and use of this table will be explained sequentially, but the server visited will verify this passport, decide how to handle the visiting agent program, and if necessary, add data to this table. And update the information.
  • this passport is sent over the network with the name of the visiting server, the attributes, the number of child programs (0 initially), and the purpose of the visiting.
  • the number of child programs, arrival date / time, departure date / time, and relay address are entered and used as information on the passport.
  • a server to be visited is added based on the information collected at the place of visit. As shown in FIG. 4, the addition is performed by pointing an additional destination table having the same format as that of this table with a pointer from the server name column 401 of the destination.
  • the agent program This shows the situation where a visit was added in the processing when the ram visited the server with the address // www / ad5.
  • the home address of the table to be added is the name of the visited server to which this table has been added.
  • This table can be nested recursively to any number of levels.
  • the passport table is dynamically added using a pointer, but the passport table is directly inserted into the table without using a pointer, and the insertion depth is managed by a field flag provided on the table. It is also possible.
  • FIGS. 8 and 9 are schematic diagrams of the processing.
  • An agent program 81 delivered to a server system via a network is processed by a master program 80 in the server.
  • Another component of the server system is the relay file 82.
  • This file is set on a storage device in the server as a storage location of an agent program that is processed waiting for the arrival of another agent program among the agent programs delivered to the server.
  • the relay file has a directory 83 for easily searching for an agent program stored in this file.
  • the master program extracts another agent program waiting for the arriving agent X program if it is in the relay file (84), and combines it with the arriving agent program.
  • a new agent program 85 is generated, and the contents of the program are executed and processed by the master program.
  • Temporarily distributed age If another agent program waiting for the agent program has not arrived, the agent program itself is stored in a relay file and the arrival of another agent program is waited for.
  • FIG. 5 An agent program that visits a server is answered by the master program on the server.
  • the master program 501 copies the first program part of the agent program from the agent program to another memory area, extracts it, and verifies the contents first (502).
  • the certification of the Age X program if you do not pass the examination, you will be able to return to the home address at the end of the visit table in your passport (Fig. 3), or The agent program itself is erased according to the agreement (503).
  • the program is a parent program
  • a check is made to see if there is a child program meeting with the visiting server (505).
  • the parent program can be checked by checking the number of children on the passport (307 in Fig. 3), and by checking whether the number of child programs meeting each other or the number of children in the corresponding visitor server column is 1 or more. If there is a child program that falls, it is checked whether the child program has arrived (506). This can be done by checking the directory 83 of the relay file 82 on the server and verifying whether a program having the same ID is stored in the relay file. If the child program has not arrived yet, register the arrival of the parent program itself in the relay file 501 and send it to the master program.
  • Fig. 14 shows the flow
  • Fig. 15 shows a schematic diagram of the process.
  • the first and second program parts Inherits the parent program 151, except for the passport.
  • the passport transfers the information of the child program 152 to the parent program's passport.
  • the third part is the data of the parent program 1. Merge the information of both 5 1 and child program 1 5 2 to create a new agent program (parent)
  • the processing flow for compositing is shown in Fig. 14, but the following procedure is repeated as many times as the number of child programs.
  • the data of the parent program is added to the data of the child program in the evening (14 1).
  • the passport described in FIG. 3 of the parent program is updated (144).
  • the visitor server line of the child program passport is inserted into the branch point of the child program in the passport line consisting of the visitor server indicating the route of the parent program (144).
  • the branch point can be determined from the name of the visiting server of the passport of the child program. In this case, as described in Fig. 4, if the route is expanded at the visited site, the developed route is inserted through the pointer.
  • Fig. 16 shows a specific example.
  • the child program 16 2 branched from the server ⁇ www.ad2 is connected to the parent program's visit route 16 1 ⁇ www.ad2 on the relay server ⁇ www.ad3. ⁇ www., including the visited 1 6 4 that has been deployed in a d2,
  • the agent program arriving at the server is a child program, the location of the parent program in the relay file 510 is confirmed, and if the parent program is in the relay file 510, the parent program is taken out. What is necessary is just to perform the processing exactly the same as the processing of 507 to 509 described above.
  • the master program 91 copies the first program part 93 of the agent program 92 to another memory area, cuts it out, gives control to it, and interacts with the agent program 92 to make a request to the server. Is performed.
  • the master program generates a child program 94 which is a pseudo duplicate of the agent program (parent). Then, control is performed so that the parent program and the child program are transferred to the respective destinations via the network.
  • the master program copies the first program part of the agent program to another memory area (6 0 1). Stamp the date and time of arrival (ie, record the date and time of arrival) on the passport included in the first program part, and send it to the agent program's home address and / or relay server address. A copy of the routing table 302 in the passport is sent to the server (600).
  • the agent program is a source program, it is compiled to be an executable program (602), and the master program gives a process to the agent program and executes it. For this execution, a method that is executed on an operating system different from the operating system where the master program is located can be considered. In such a case, the protocol to be exchanged between the two operating systems should be decided in advance, and the agent program and the master program should be made to interact according to the protocol.
  • the age program sets execution conditions and presents it to the master program (605).
  • the setting of the execution conditions determines the number of child programs to be generated, taking into account the future processing and the elapsed time at the visiting server. The purpose of this is to make it possible for a program released in the network to return to the user with a desired result in a realistic time.
  • the agent program By using the information stored in the passports that make up the agent program, the elapsed time from when the agent computer that sent the agent program is output to the network is output, and the agent program is used as a child program. If it is a program, the elapsed time since the child program was created L (1001), the number of servers that can be processed in parallel in the future visits of the agent program N (1002), the amount of money Electronic money information indicating K (1003) can be extracted. This is the arrival of the information table that constitutes each passport Date and time Z Departure date and time, attributes and electronic cash should be checked (Fig. 3). Next, the number of divisions (the number of child programs) is determined using these parameters (100).
  • the meaning is the ratio of the minimum cost to maintain the child program to the money you have, and C is a constant to control the growth of the child program.
  • the main purpose is, for example, to end processing as soon as possible. Therefore, if the elapsed time L since generation has exceeded a predetermined constant T, the child program Let S be the ratio of the number of unprocessed servers to the number of processed servers among the servers to be processed (1005).
  • the meaning is a first-order approximation of the number of child programs that can be completed after L hours.
  • One method is to use MIN ((N-1), S) as the number of child programs, based on the fact that the parent program itself also processes servers, using the number of servers N that can be processed in parallel with S. is there.
  • the master program which has confirmed the execution condition of the age program, requests a resource usage fee from the agent program (604). This is the sum of the portion for the work of the agent program and the portion for the generation of the child program.
  • the agent program pays the electronic money according to the requested amount (606). This is an electronic check
  • the data with the personal identification number may be passed in a hand-like format, or the actual payment may be performed later, and only the encrypted signature may be returned to the server. If the transfer of electronic money by the master program has not been completed due to, for example, exceeding the solvency of the agent program, the agent program is notified to that effect, and the agent program is notified of the number of child programs, etc.
  • FIGS. 11 to 13 According to the flow shown in FIG. 11, a description will be given with reference to specific examples shown in FIGS. 12 and 13.
  • the visit server of each child program is determined according to the number of child programs to be generated (111). This is done by initially setting the quotient obtained by dividing the number of servers that can be visited in parallel by ((number of child programs) + 1) as the number of servers visited by the parent and child programs, and allocating the remainder to each server.
  • the following processing is performed for the number of child programs.
  • the ability to generate passports This involves copying the ID number, distributing the money (e-cash) by the number of programs including the parent, and assigning the visiting server of the corresponding child program to the parent program. Copy the passport information from the table that records the information, and finally set the relay address and home address (1102).
  • This specific processing example will be described with reference to FIG. In this case, it is assumed that the visitor can perform parallel processing at www.adl, and can perform three tasks, ⁇ www.adl, ⁇ www.ad2, and ⁇ www.ad3. It is assumed that there is one child program and two servers, www.ad2 and www.ad3, are assigned to the child program.
  • the passport 1301 of the parent program is used to create the passport 2 of the child program.
  • the ID is copied, and the electronic cash is allocated (1303).
  • the home address is set to the same address as that of the parent program (1306).
  • the necessary parts of the first program part are copied from the parent program according to the visiting purpose of the visiting server. At this time, if there are a plurality of visiting servers, the necessary subprogram group is selected by performing a logical sum for the purpose of visiting (1103).
  • Case 1 (1221) in the figure is the result of generating one child program.
  • the first program part has two partial functions (subprograms), and the second program part has two functions. Has one partial function (subprogram) registered and no data is added.
  • Case 2 (1 202) in the figure is the result of generating two child programs, but the second child program 1203 has the second program
  • the part is an example having no function.
  • the passport is modified (1106). This includes reducing the distribution of e-cache to children, masking (disabling) the visits that were to be visited by the child program, and determining the number of relay server children that meet the child program. Count up for a few minutes. This makes it possible to wait for the child program described in Fig. 5 '.
  • the first program part of the agent program basically achieves the desired purpose by interacting with the master program and utilizing the programs and information and processes owned by the server.
  • the agent program issues a request for processing or information provision to the server (701), and the master program executes the requested processing (702).
  • the processing itself varies widely, but for example, submission of data and certificates, reservations for information managed by the server, and the like can be considered.
  • This dialogue is performed by presenting data from the agent program side or conversely by presenting it from the master program side.
  • a report (703) and a request to add the information collected by the agent in this interactive processing to the data part (203) of the main body of the agent program are sent.
  • Ma The information is added to the stub program (704), and the master program adds the information to the data portion of the agent program before clipping (705).
  • the agent program returns the process (706).
  • the master program extracts the passpoint of the agent program (707), returns the resource usage balance and stamps the departure date and time, and reads the address of the next visited server (770). ). If there is no next server, the home address will be the next destination.
  • the passport is returned to the agent program body (specifically, the updated data is copied) (709). Finally, transfer the agent program to the next destination via the network.
  • control is given only to the first program part of the agent program, and the data collected by the agent program is carried by the agent itself.
  • the following modified examples can be considered.
  • the second program part can be given a process after cutting out that part and verifying the processing content as shown in the above example, but this part requires interaction with the master program Since it is not a program, it can be run on another operating system. This makes it possible to prevent the server from being damaged by unexpected runaway of the program.
  • the collected data is not always carried by the agent program, but it is cut out in advance depending on the amount of collected data and transferred to the relay server. W 97/35262 P
  • the first program part can be realized only as a passport as a child program of the agent program by performing the same division processing as in the above-described embodiment.
  • the method of realizing the authentication of the agent program and the generation of the child program on the server visited by the agent program has been described, but the computer that performs each processing is a separate computer.
  • the server to be visited performs the processing described in Fig. 5 on the entrance server connected to the external network
  • the processing of immigration control in human society will be performed.
  • Servers can be set up on the network.
  • a specific server may be provided in the network, and the agent program may visit the server and perform the processing described in FIG.
  • a server for processing maternity hospitals in human society can be set up in the network.
  • the automatic program generation method and the execution management method according to the present invention are determined while moving a plurality of computers connected via a network. It is suitable for a system that handles programs that process the tasks specified. In particular, the larger the network, the more users can use it without feeling the size or inconvenience.

Abstract

In an information system in which a plurality of computers are connected to each other through a composite large-scale network, an information table in which information called 'Passport' including bibliographic items, such as the destinations, purposes, and times and dates of visits, departure times and dates, etc., required to move a program which is moved from one computer to another to perform given processing is written, is incorporated in the program, and the handling of the program itself while the program visits a server is determined based on the passport information. The program has electronic money and uses the money as the change for the use of a resource on the server. Depending upon the processing, a child program which is a copy of the program is generated so as to shorten the processing time.

Description

明細書 プログラムの自動生成方法および実行管理方法 技術分野  Description Automatic program generation method and execution management method
複数の計算機がネッ 卜ワークで接続されて利用される情報システムのプ ログラムの自動生成方法および実行管理方法に関する。 背景技術  The present invention relates to an automatic generation method and an execution management method of a program of an information system in which a plurality of computers are connected and used by a network. Background art
従来の情報システムはネッ 卜ワークを介して他の計算機との間でデータ のみのやりとりを行なうことを前提としていた。 これに対して、 データと プログラムの双方を他の計算機に送る方法がジェネラル ·マジック社、 サ ンマイク口システムズ社から発表されている。 この方法ではある定められ た特定の言語を用いて、 該言語の処理環境を有する計算機上で実行される ことが想定されている。 従来方法においては、 計算機間でやりとりされる プログラムは原理的に単一である。 また相手の計算機リソースを対価なし に使用できることが前提となってている。  Conventional information systems have been premised on exchanging only data with other computers via a network. In contrast, General Magic and Sun Microphone Systems have announced ways to send both data and programs to other computers. In this method, it is assumed that the program is executed on a computer having a processing environment of a specific language using a specific language. In the conventional method, a single program is exchanged between computers in principle. It is also assumed that the computer resources of the other party can be used without charge.
上記の従来技術では、 複合化した膨大なネッ トワークで異機種の計算機 が接続されている情報システムには対応することが困難である。 まず第一 に特定の言語が動く環境が前提となっているため限られた計算機システム による情報システムのみが対象となる。 第二に、 原理的に単一のプログラ ムがネッ トワークに接続された多数の計算機を訪問して処理をするために は処理時間が膨大となる。 第三にネッ 卜ワークを移動して他の計算機リ ソ ースを借り受けて使用する仕掛けが規約されていないため、 移動できる計 算機群には制限が生じてくる。 本発明の目的は、 これらの課題を解決し、 複合化した大規模なネッ トヮ ークで異機種の計算機が接続されている情報システムにおいて、 このよう なネッ 卜ワーク情報システム全体を各ユーザのリソースとして使用するた めに備えられるプログラムの自動生成方法および実行管理方法を提案する ことにある。 発明の開示 With the above conventional technology, it is difficult to cope with an information system in which different types of computers are connected in a huge complex network. First of all, it is assumed that the environment in which a specific language operates, so only information systems with limited computer systems are targeted. Second, processing time is enormous if a single program visits many computers connected to the network to perform processing in principle. Third, there is no regulation on how to move the network to borrow and use other computer resources, which limits the number of computers that can be moved. An object of the present invention is to solve these problems and provide an information system in which different types of computers are connected in a large-scale complex network. An object of the present invention is to propose an automatic generation method and an execution management method of a program prepared to be used as a resource of a program. Disclosure of the invention
ネツートワークを経由して他の計算機を訪問して該計算機上で処理をする プログラムにおいて、 プログラム内に訪問先、 訪問目的、 訪問日時、 出立 日時等のいわゆるプログラムの移動に必要な書誌的な事項からなる情報テ 一ブル (以下、 この情報テーブルの内容をパスポー卜情報と称する) を有 し、 訪問されたサーバ (あるサービスをすることを目的とした計算機) は 該パスポート情報にもとづいてそのプログラム自体の取り扱いを決める手 段を持つ。 更にプログラムは電子化されたマネーを所持し、 各訪問サーバ では予め決められた対価でサーバ上のリソース (メモリ、 CPU) をプログ ラムに貸与してそのプログラムに処理を行なわせる手段を持つ。 更に、 そ のプログラムは出発してからの経過時間や未訪問サーバの数やその訪問目 的更に所持金の残高によって、 サーバに自分の子プログラムの生成を要求 し、 決められた条件を満たす場合には複数の子プログラムを生成する手段 を設け、 生成された子プログラムは元の親プログラムの訪問ルー卜から分 岐して独自に未訪問サーバでの処理を行なう。 更に訪問予定のある定めら れたサーバ上で親プログラムと子プログラムは合体する手段を設け、 再び 一つになったプログラムは、 残された訪問予定サーバへの訪問 ·処理を継 図面の簡単な説明 In a program that visits another computer via a network and performs processing on the computer, the bibliographic information necessary for moving the program, such as the destination, the purpose of the visit, the date and time of the visit, and the date and time of departure, is included in the program. Information table (hereinafter, the contents of this information table will be referred to as passport information), and the visited server (a computer for performing a certain service) will use the information table based on the passport information. Have a means of deciding how to handle the program itself. In addition, the program has electronic money, and each visiting server has a means to lend resources (memory, CPU) on the server to the program at a predetermined price, and to have the program perform the processing. In addition, if the program requests the server to generate its own child program according to the elapsed time since departure, the number of unvisited servers, the purpose of the visit, and the balance of the money held, the program satisfies the specified conditions. Provides a means for generating multiple child programs, and the generated child programs branch off from the original parent program's visiting route and independently process on the unvisited server. In addition, the parent program and the child program are provided with a means to unite on the specified server to be visited, and the program that has become one again continues the visit and processing to the remaining server to be visited. BRIEF DESCRIPTION OF THE FIGURES
第 1図は、 本発明の概念説明図である。 第 2図は、 ネッ トワークを行き 来するエージェン トプログラムの構造を示す図である。 第 3図は、 エージ ェントプログラムのもつパスポー トの構造図である。 第 4図は、 エージェ ントプログラムのもつパスポー トの構造を示す図である。 第 5図は、 サ一 バにおけるエージェン 卜プログラムの合成処理フローである。 第 6図は、 サーバにおけるエージヱントプログラムの処理フローである。 第 7図は、 サーバにおけるエージェントプログラムの処理フローである。 第 8図は、 サーバにおけるエージェントプログラムの処理の模式図である。 第 9図は、 サーバにおけるプログラム合成後の処理の模式図である。 第 1 0図は、 子 プログラムの数の決定フローである。 第 1 1図は、 子プログラムの生成フ 口一である。 第 1 2図は、 子プログラムの生成処理の模式図である。 第 1 3図は、 子プログラムの生成処理の模式図であり子プログラムのパスポー ト生成手順を説明するための図である。 第 1 4図は、 プログラムの合成フ 口一である。 第 1 5図は、 プログラムの合成処理の模式図である。 第 1 6 図は、 プログラムの合成処理の模式図で有り、 合成されたプログラムのパ スポー ト合成手順を説明するための図である。 発明を実施するための最良の形態  FIG. 1 is a conceptual explanatory view of the present invention. FIG. 2 is a diagram showing the structure of an agent program that travels over a network. Fig. 3 is a structural diagram of the passport of the agent program. FIG. 4 is a diagram showing the structure of a passport possessed by the agent program. Fig. 5 shows the flow of the process of synthesizing the agent program in the server. FIG. 6 is a processing flow of the agent program in the server. FIG. 7 is a processing flow of the agent program in the server. FIG. 8 is a schematic diagram of processing of an agent program in a server. FIG. 9 is a schematic diagram of the processing after the program synthesis in the server. FIG. 10 is a flowchart for determining the number of child programs. Fig. 11 shows a method for generating a child program. FIG. 12 is a schematic diagram of a child program generation process. FIG. 13 is a schematic diagram of a child program generation process and is a diagram for explaining a passport generation procedure of the child program. Figure 14 shows the composition of the program. FIG. 15 is a schematic diagram of a program synthesizing process. FIG. 16 is a schematic diagram of a program synthesizing process, and is a diagram for explaining a passport synthesizing procedure of the synthesized program. BEST MODE FOR CARRYING OUT THE INVENTION
本発明の一実施例を第 1図から第 1 6図を用いて説明する。  One embodiment of the present invention will be described with reference to FIGS.
最初に本発明の達成しょう とする概念を第 1図を用いて説明し、 ついで 各処理部の詳細フローを説明する。  First, the concept to be achieved by the present invention will be described with reference to FIG. 1, and then the detailed flow of each processing unit will be described.
第 1図の 1 0 1に示すように、 ネッ トワークを経由して複数の計算機を 訪問して処理するプログラム 1 0 3 (以下本発明ではそのプログラム自体 をエージヱン 卜プログラムと呼ぶ) は、 出発点の計算機 1 0 2からスター 卜して、 複数のサーバ計算機上で設定された処理を行なって、 スタートし た計算機に戻ってくる。 訪問順序はスタート時点では予め設定されている カ^ 訪問先での処理結果から動的に追加設定されることも考えられる。 本 実施例で開示する形態は、 ネッ トワークに接続されている任意のサーバを 訪れるためにエージヱントプログラムが最低備えていなくてはならない情 報および構造と、訪問をできるだけ迅速に終了するための実現方法である。 例えば、 エージヱン卜プログラムは、 第 1図の 1 0 4に示すように、 サー 1からサーバ 5までを訪問して処理を行なうとする。 この内、 サーバ 1 からサーバ 3までは同時並列に処理ができる作業で、 サーバ 4とサーバ 5 はこの順序で訪問して作業が行なう必要があると仮定する。 この時、 この 処理を最も早く終わらせるとしたら、 エージェントプログラム A ( 1 0 5 ) は、 自分の分身である子プログラム A1 ( 1 0 6 ) と A2 ( 1 0 7 ) を生成 してそれぞれサーバ 1とサーバ 2に転送して作業を行なわせ、自分自身(親 プログラム) はサーバ 3へ行って処理を行ない、 各エージヱントプログラ Al、 A2は処理後、 サーバ 4で落ち合って、 それぞれの処理結果を合 わせて、 再び一つのプログラム Aに合体して、 サーバ 4、 続いてサーバ 5 を訪問して、 処理を行なえばよい。 As shown in FIG. 1 at 101, a program 103 for visiting and processing a plurality of computers via a network (hereinafter, the program itself is referred to as an agent program in the present invention) is a starting point. Calculator from 0 to 2 star And perform the set processing on multiple server computers, and return to the computer that started. It is also conceivable that the order of visit is dynamically added at the start from the preset processing result at the place of visit. The embodiment disclosed in the present embodiment is based on the information and structure that the agent program must have at least to visit any server connected to the network, and to make the visit as quickly as possible. It is a realization method. For example, it is assumed that the agent program visits a server 1 to a server 5 to perform processing as shown in 104 of FIG. Of these, server 1 to server 3 are tasks that can be processed simultaneously and in parallel, and it is assumed that server 4 and server 5 need to visit in this order to perform the tasks. At this time, assuming that this processing is to be completed at the earliest, the agent program A (105) generates child programs A1 (106) and A2 (107), which are their own alternations, and the server program A (105) respectively. To the server 2 to perform the work, and the self (parent program) goes to the server 3 for processing, and each of the agent programs Al and A2, after processing, meet on the server 4, and each processing result And combine them into one program A again, visit server 4, then server 5, and perform the processing.
以下、 本実施例は、 このメカニズムを実現するために、 エージヱントプ ログラムが備えておくプログラム構造と情報を、 また訪問される各サーバ が有するべき機能とその実現方法について説明する。  In the following, the present embodiment describes the program structure and information provided in the agent program to realize this mechanism, and the functions that each server to be visited should have and the method of realizing the functions.
エージェントプログラム 1 0 3の構造を第 2図の 2 0 0に示す。 エージ ェン卜プログラムは訪問したサーバ上のプログラムと対話しながら処理を 行なう第 1のプログラム部分 ( 2 0 1 ) と、 訪問先で本プログラム内で閉 じた処理を行なう第 2のプログラム部分 ( 2 0 2 ) と、 収集したデータを 保持する第 3の部分 ( 2 0 3 ) からなる。 第 1のプログラム部分にはその エージヱントプログラムの身元を証明する ID番号や、エージヱントプログ ラムの所持金である電子キャッシュ (又は電子マネー) 、 訪問経路等の情 報が記されたパスポー 卜 ( 3 0 0 ) を含んでいる。 第 3図にパスポー卜の 内容を示す。 パスポー卜には、 そのエージヱントプログラムを訪問先のサ —バでプログラム自身を認知してもらうための ID番号、訪問先でそのサー バのリソースを借り受けて処理をする際に対価として支払うための電子キ ャッシュの情報を含んでいる ( 3 0 1 ) 。 また、 訪問経路や目的を記した テーブル 3 0 2には、 訪問サーバ名 3 0 5、 該サーバでの処理が後続の訪 問サーバでの処理と並列に処理できるか (図中のテーブル上は Pと記載) 、 逐次的に処理するか (図中のテーブル上は Sと記載) を示す属性 3 0 6、 訪問したサーバ上で遭遇する予定の子プログラムの数 3 0 7 (子プログラ ムについては後述) 、 該サーバへの訪問目的 3 0 8、 該サーバへの到着日 時と出立日時 3 0 9を含んでいる。 更に、 訪問サーバ上で他のプログラム との合流を示す中継ァドレス 3 1 0、 該エージ ントプログラムの発信元 の計算機に相当するホームアドレス 3 1 1を含んでいる。 本テーブルの設 定、 利用の詳細は順次説明するが、 訪問先のサーバは本パスポートを検証 して、 訪問してきたェ一ジェントプログラムに対する取り扱いを決定し、 必要に応じて本テーブル上へのデータの記載や更新を行なう。 The structure of the agent program 103 is shown at 200 in FIG. The agent program is the first program part (201) that performs processing while interacting with the program on the visited server, and the second program part (200) that performs processing closed in this program at the visited site. 202) and a third part (203) for holding the collected data. The first program part has Includes an ID number that proves the identity of the agent program, an electronic cash (or electronic money) that is the money owned by the agent program, and a passport (300) that contains information such as the route to visit. In. Fig. 3 shows the contents of the passport. The passport contains an ID number for the agent's program to be recognized by the visited server, and a fee for paying when the visitor borrows and processes the server's resources. The electronic cache contains information (301). In addition, the table 302 that describes the visiting route and purpose includes the visiting server name 3005, and whether the processing on that server can be performed in parallel with the processing on the subsequent visiting server. 306) or an attribute 306 indicating whether to process sequentially (shown as S in the table in the figure), and the number of child programs to be encountered on the visited server 307 (about child programs) Will be described later), the purpose of visiting the server 308, the date of arrival at the server and the date of departure 309. Further, it includes a relay address 310 indicating a merge with another program on the visiting server, and a home address 311 corresponding to a computer from which the agent program is transmitted. The details of the setting and use of this table will be explained sequentially, but the server visited will verify this passport, decide how to handle the visiting agent program, and if necessary, add data to this table. And update the information.
本パスポートは最初の出発時点では訪問サーバ名、 属性、 子プログラム 数 (最初は 0 ) 、 訪問目的を設定されてネッ 卜ワーク上へ送信される。 訪 問先では子プログラム数や到着日時ノ出立日時および中継ァドレスがパス ポー ト上の情報として記入されて用いられる。 更に、 訪問先での収集情報 に基づいて訪問先サーバの追加も行なわれる。追加は第 4図に示すように、 訪問先のサーバ名欄 4 0 1から本テ一ブルと同一形式の追加訪問先テ一ブ ルをポインタでさすことにより追加される。 本例は、 エージヱントプログ ラムがアドレスが //www/ad5 のサーバを訪問した際の処理で訪問先が追 加された状況を示している。 ここで、 追加されるテーブルのホームァドレ スは本テーブルが追加された訪問サーバ名である。 このテーブルのネスト は再帰的に何階層にも可能である。 本例では、 ポインタを用いてパスポー トテーブルの動的追加を実現しているが、 ポインタを用いずに該テーブル に直接挿入して、 挿入の深さをテーブル上に設けるフィールドのフラグで 管理することも可能である。 At the time of the first departure, this passport is sent over the network with the name of the visiting server, the attributes, the number of child programs (0 initially), and the purpose of the visiting. At the visit destination, the number of child programs, arrival date / time, departure date / time, and relay address are entered and used as information on the passport. In addition, a server to be visited is added based on the information collected at the place of visit. As shown in FIG. 4, the addition is performed by pointing an additional destination table having the same format as that of this table with a pointer from the server name column 401 of the destination. In this example, the agent program This shows the situation where a visit was added in the processing when the ram visited the server with the address // www / ad5. Here, the home address of the table to be added is the name of the visited server to which this table has been added. This table can be nested recursively to any number of levels. In this example, the passport table is dynamically added using a pointer, but the passport table is directly inserted into the table without using a pointer, and the insertion depth is managed by a field flag provided on the table. It is also possible.
さて: 以上の構造をしたエージヱン卜プログラムが訪問したサーバ上で どのように処理されるかについて、 第 5図から第 7図のフローを用いて説 明する。 また、 処理の模式図である第 8図、 9図を引用しながら説明を行 なう。  Now, how the agent program with the above structure is processed on the visited server will be described with reference to the flowcharts of FIGS. The explanation is given with reference to FIGS. 8 and 9 which are schematic diagrams of the processing.
初めに、 第 8図を用いてサーバ内の構成と処理の考え方を説明する。 ネ ッ トワークを経由してあるサーバシステムに配信されてきたエージヱント プログラム 8 1は、サーバ内のマスタプログラム 8 0によって処理される。 サーバシステムのもう一つの構成要素として、 中継ファイル 8 2がある。 本ファイルは、 該サーバに配信されてきたエージヱントプログラムの内、 他のエージェントプログラムの到着を待って処理されるエージ ントプロ グラムの格納場所としてサーバ内の記憶装置上に設定されている。 中継フ アイルは本ファイル内に格納されているエージヱン卜プログラムを容易に 検索するためのディ レク トリ 8 3を有する。 マスタプログラムはエージェ ントプログラム自体の処理に先立って、 到着したエージ Xン卜プログラム と待ち合わせている他のエージェントプログラムが中継ファイル内にいれ ばそれを取り出して ( 8 4 )、到着したエージェントプログラムと合成(合 体) して新たなエージヱン卜プログラム 8 5を生成し、 そのプログラム内 容をマスタプログラムによって実行処理する。 仮に配信されてきたエージ ントプログラムの待ち合わせる他のエージヱン 卜プログラムが未到着で あれば、 該エージュントプログラム自体を中継ファイルに格納して他のェ ージユン 卜プログラムの到着を待つことにする。 First, the configuration of the server and the concept of processing will be described with reference to FIG. An agent program 81 delivered to a server system via a network is processed by a master program 80 in the server. Another component of the server system is the relay file 82. This file is set on a storage device in the server as a storage location of an agent program that is processed waiting for the arrival of another agent program among the agent programs delivered to the server. The relay file has a directory 83 for easily searching for an agent program stored in this file. Before the processing of the agent program itself, the master program extracts another agent program waiting for the arriving agent X program if it is in the relay file (84), and combines it with the arriving agent program. Then, a new agent program 85 is generated, and the contents of the program are executed and processed by the master program. Temporarily distributed age If another agent program waiting for the agent program has not arrived, the agent program itself is stored in a relay file and the arrival of another agent program is waited for.
では、 処理フロー自体の説明を第 5図から始める。 あるサーバを訪問し てきたエージヱン 卜プログラムはサーバ上のマスタプログラムが応対する。 マスタプログラム 5 0 1は、 エージヱン卜プログラムの第 1のプログラム 部分をエージェントプログラムから別のメモリ領域にコピーして取り出し て、 初めに内容の検証を行なう ( 5 0 2 ) 。 まず、 ID番号を調べ、 正規の 手順によって生成されたプログラムかを検証する。 ついで、 該プログラム が不当なシステムコール等の命令列を含んでいないか、 更にコンパイラに よりプログラムの内容の解析を行なう。 以上のエージ Xントプログラムの 認証が終わった後、 審査に通らなければ、 パスポー ト (第 3図) の訪問先 テーブルの最後にあるホームアドレスへの返送を行なう力、、 またはネッ ト ワーク全体の取り決めに従ってエージェントプログラム自体の消去を行な う ( 5 0 3 ) 。  Now, the description of the processing flow itself will begin with FIG. An agent program that visits a server is answered by the master program on the server. The master program 501 copies the first program part of the agent program from the agent program to another memory area, extracts it, and verifies the contents first (502). First, check the ID number and verify that it is a program generated by a legitimate procedure. Next, whether or not the program includes an instruction sequence such as an illegal system call or the like is further analyzed by a compiler. After the certification of the Age X program, if you do not pass the examination, you will be able to return to the home address at the end of the visit table in your passport (Fig. 3), or The agent program itself is erased according to the agreement (503).
認証が許可された場合、 以下の 2種類の処理を行なう ( 5 0 4 ) 。  If authentication is permitted, the following two types of processing are performed (504).
まず、 該プログラムが親プログラムである場合、 訪問サーバで落ち合う 子プログラムの有無を調べる ( 5 0 5 ) 。 親プログラムか否かはパスポー 卜上の子供数 (第 3図 3 0 7 ) を、 また落ち合う子プログラムの数もしく は該当訪問サーバ欄の子供数が 1以上であるかをチェックすればよい。 落 ち合う子プログラムがいる場合は子プログラムが到着済みであるかをチェ ックする ( 5 0 6 ) 。 これは該サーバ上の中継ファイル 8 2のディ レク 卜 リ 8 3をチヱックして、同じ IDを持つプログラムが中継ファイルに蓄積さ れているかを検証すればよい。 まだ子プログラムが到着していない場合は、 中継ファイル 5 1 0へ親プログラム自身の到着を登録して、 マスタプログ ラムによる該エージェントプログラム (親) の処理を終了し、 子プログラ ムの到着を待つことになる ( 5 0 9 ) 。 中継ファイルに子プログラムがい る場合には、 それを取り出して、親プログラムとの合成を行なう ( 5 0 7 ) ( この合成の処理の詳細フローを第 1 4〜1 6図を用いて説明する。 第 1 4図がそのフローで、 第 1 5図がその模式図である。 初めに、 第 1 5図で 処理概要を説明する。 合体後の親プログラムでは、 第 1および第 2のプロ グラム部分はパスポー卜を除いて親プログラム 1 5 1のものを継承する。 パスポートは子プログラム 1 5 2の情報を親プログラムのパスポ一卜に転 記される。 第 3の部分であるデータは親プログラム 1 5 1 と子プログラム 1 5 2の双方の情報をマージして、 新たなエージヱントプログラム (親)First, if the program is a parent program, a check is made to see if there is a child program meeting with the visiting server (505). The parent program can be checked by checking the number of children on the passport (307 in Fig. 3), and by checking whether the number of child programs meeting each other or the number of children in the corresponding visitor server column is 1 or more. If there is a child program that falls, it is checked whether the child program has arrived (506). This can be done by checking the directory 83 of the relay file 82 on the server and verifying whether a program having the same ID is stored in the relay file. If the child program has not arrived yet, register the arrival of the parent program itself in the relay file 501 and send it to the master program. The processing of the agent program (parent) by the program ends, and the program waits for the arrival of the child program (509). If there is a child program in the relay file, it is extracted and synthesized with the parent program (507). ( The detailed flow of the synthesis processing will be described with reference to FIGS. 14 to 16. Fig. 14 shows the flow, and Fig. 15 shows a schematic diagram of the process.First, an outline of the processing is explained in Fig. 15. In the parent program after merging, the first and second program parts Inherits the parent program 151, except for the passport.The passport transfers the information of the child program 152 to the parent program's passport.The third part is the data of the parent program 1. Merge the information of both 5 1 and child program 1 5 2 to create a new agent program (parent)
1 5 3に合成する。 合成のための処理フローは第 1 4図に示すが、 で以下 の手続きを子プログラムの個数分繰り返す。 まず、 親プログラムの収集デ —夕に子プログラムのデータを付け加える ( 1 4 1 ) 。 次に親プログラム の第 3図で説明したパスポー卜の更新を行なう ( 1 4 2 ) 。 親プログラム の経路を示す訪問サーバからなるパスポートの行の子プログラムの分岐箇 所へ、 子プログラムのパスポー卜の訪問サーバ行を挿入する ( 1 4 3 ) 。 分岐箇所は子プログラムのパスポー卜の訪問サーバ名から判定できる。 こ の場合、 第 4図で説明したように、 経路が訪問先で展開されている場合は ボインタを迪つて展開経路を挿入する。 第 1 6図はその具体例を示してい る。 サーバ〃 www.ad2で分岐した子プログラム 1 6 2は、 中継サーバであ る〃 www.ad3上で、 親プログラムの訪問経路 1 6 1の〃 www.ad2の行へ、 子プログラムの訪問先の 〃www.ad2 で展開された訪問先 1 6 4を含めて、Combine to 1 53. The processing flow for compositing is shown in Fig. 14, but the following procedure is repeated as many times as the number of child programs. First, the data of the parent program is added to the data of the child program in the evening (14 1). Next, the passport described in FIG. 3 of the parent program is updated (144). The visitor server line of the child program passport is inserted into the branch point of the child program in the passport line consisting of the visitor server indicating the route of the parent program (144). The branch point can be determined from the name of the visiting server of the passport of the child program. In this case, as described in Fig. 4, if the route is expanded at the visited site, the developed route is inserted through the pointer. Fig. 16 shows a specific example. The child program 16 2 branched from the server 〃 www.ad2 is connected to the parent program's visit route 16 1 〃 www.ad2 on the relay server 〃 www.ad3. 〃 www., including the visited 1 6 4 that has been deployed in a d2,
1 6 3に示すように挿入する。 第 1 4図にもどって、 続いて親プログラム のパスポー卜の中継点の子供数を一 1する ( 1 4 4 ) 。 第 1 6図 1 6 5が その処理結果である。 最後に親プログラムの所持金に子プログラムの所持 金の残高 (つまり、 親プログラムに記録されている電子マネーの数字) を 加え合わせることのより合成を完了する。 Insert as shown in 163. Returning to Fig. 14, the number of children at the relay point of the passport of the parent program is reduced by 1 (144). Fig. 16 shows the processing result. Finally, the amount of money in the parent program is transferred to the money The synthesis is completed by adding the gold balance (that is, the electronic money figures recorded in the parent program).
再び第 5図に戻って、子プログラムが全て到着しているかを検証する( 5 0 8 ) 。 これは、 合成によって生成された親プログラムのパスポー 卜の本 サーバ上での子供数が 0であるかを判定すればよい。 まだ、 子供数が 0で ない場合には未到着の子プログラムがいるので、 生成した親プログラム自 体を中継ファイル 5 1 0へ登録して、 マス夕プログラムによる該エージェ ントプログラムの処理を終了し、子プログラムの到着を待つことになる( 5 0 9 ) o  Referring back to FIG. 5, it is verified that all the child programs have arrived (508). This can be done by determining whether the number of children on the server of the passport of the parent program generated by synthesis is zero. If the number of children is not 0, there is a child program that has not arrived yet, so the generated parent program itself is registered in the relay file 501, and the processing of the agent program by the master program ends. I will wait for the arrival of the child program (509) o
サーバに到着したエージヱントプログラムが子プログラムの場合は、 中 継ファイル 5 1 0への親プログラムの所在を確認し、 親プログラムが中継 ファイル 5 1 0内にあればその親プログラムを取り出して、 上述した 5 0 7〜 5 0 9の処理と全く同様の処理を行なえば良い。  If the agent program arriving at the server is a child program, the location of the parent program in the relay file 510 is confirmed, and if the parent program is in the relay file 510, the parent program is taken out. What is necessary is just to perform the processing exactly the same as the processing of 507 to 509 described above.
親プログラムとその全ての子プログラムとの合成が終わった場合には第 6図に示す処理フローを行なう。 その模式図は第 9図に示す。 マスタプロ グラム 9 1はエージヱントプログラム 9 2の第 1のプログラム部分 9 3を 別のメモリ領域にコピーして切り出して、 それに制御を与えてそれと対話 しながらエージヱントプログラム 9 2がサーバへ要求する処理を行なう。 その際、 エージヱン トプログラム 9 2のその後の処理が今後の訪問先で並 列に処理できる内容であれば、 マスタプログラムはエージヱン トプログラ 厶 (親) の擬似的な複製である子プログラム 9 4を生成し、 親プログラム 及び子プログラムをそれぞれの訪問先にネッ 卜ワークを介して転送するよ う制御する。  When the composition of the parent program and all the child programs is completed, the processing flow shown in FIG. 6 is performed. The schematic diagram is shown in FIG. The master program 91 copies the first program part 93 of the agent program 92 to another memory area, cuts it out, gives control to it, and interacts with the agent program 92 to make a request to the server. Is performed. At this time, if the subsequent processing of the agent program 92 can be processed in parallel in the future visit, the master program generates a child program 94 which is a pseudo duplicate of the agent program (parent). Then, control is performed so that the parent program and the child program are transferred to the respective destinations via the network.
再び第 6図のフローに戻って説明する。 マスタプログラムはエージェン トプログラムの第 1のプログラム部分を別のメモリ領域にコピーする ( 6 0 1 ) 。 第 1のプログラム部分の中に含まれるパスポー 卜に対して、 到着 日時のスタンプを押し (つまり、 到着日時の情報を記録すること) 、 ェ一 ジェン トプログラムのホームァ ドレスもしくは (および) 中継サーバァド レスへパスポー ト内の経路テーブル 3 0 2のコピーを送付する ( 6 0 0 ) 。 ついで、 エージェントプログラムがソースプログラムの場合にはコンパィ ルをして実行可能なプログラムとし ( 6 0 2 ) 、 マスタプログラムはエー ジェントプログラムにプロセスを与えて実行する。 この実行に際しては、 マスタプログラムの所在するオペレーティ ングシステムとは別のオペレー ティ ングシステム上で実行する方法も考えられる。 その場合には両ォペレ 一ティ ングシステム間のやりとりするプロ トコルを予め取り決めておき、 それに従って、 エージヱン卜プログラムとマスタプログラムを対話させれ ばよい。 Returning to the flow of FIG. 6, the description will be continued. The master program copies the first program part of the agent program to another memory area (6 0 1). Stamp the date and time of arrival (ie, record the date and time of arrival) on the passport included in the first program part, and send it to the agent program's home address and / or relay server address. A copy of the routing table 302 in the passport is sent to the server (600). Next, when the agent program is a source program, it is compiled to be an executable program (602), and the master program gives a process to the agent program and executes it. For this execution, a method that is executed on an operating system different from the operating system where the master program is located can be considered. In such a case, the protocol to be exchanged between the two operating systems should be decided in advance, and the agent program and the master program should be made to interact according to the protocol.
エージニン卜プログラムは、 実行条件の設定およびマスタプログラムへ の提示を行なう ( 6 0 5 ) 。 実行条件の設定は、 今後の訪問サーバでの処 理ゃ経過時間等を鑑み、 生成する子プログラムの数を措定する。 これは、 ネッ トワーク内に放たれたプログラムが現実的な時間でユーザの元に所望 の結果を持参して帰ってこれるようにすることを目的としている。  The age program sets execution conditions and presents it to the master program (605). The setting of the execution conditions determines the number of child programs to be generated, taking into account the future processing and the elapsed time at the visiting server. The purpose of this is to make it possible for a program released in the network to return to the user with a desired result in a realistic time.
この実行条件の具体的な設定例を第 1 0図を用いて説明する。 エージェ ン 卜プログラムを構成するパスポー 卜に記憶されている情報を利用すれば、 そのエージヱン トプログラムを発信した始点の計算機からネッ 卜ワークへ 出力されてからの経過時間し、 そのエージェントプログラムが子プログラ ムであれば子プログラムとしてが生成されてからの経過時間 L ( 1 0 0 1 ) 、 エージェン トプログラムの今後の訪問先の並列処理可能なサーバ数 N ( 1 0 0 2 ) 、 所持金の額 K ( 1 0 0 3 ) を示す電子マネ一情報などを 抽出できる。 これはそれぞれパスポートにを構成する情報テーブルの到着 日時 Z出立日時、 属性および電子キャッシュを調べれば良い (第 3図) 。 ついで、 分割数 (子プログラムの数) の決定はこれらのパラメータを用い て決定する ( 1 0 0 0 ) 。 エージヱン卜プログラムが子プログラムを生成 した場合、 ネッ 卜ワークの通過は単独のプログラムに加えて生成された子 プログラムの数分増える。 またネッ トワーク全体でのリソースの使用率は 子プログラムの分相対的に増加する。 従って、 平均的なネッ 卜ワーク通過 料 t、 ネッ 卜ワークで定めた子プログラムの維持費 b (子プログラムの存 在を許容するために必要な額、 いわゆる住民税に相当する) を用いて、 そ れとプログラムの所持金を比較して子プログラムの数を決める。 親プログ ラムであれば、 例えば、 Cを予め設定された定数として、 K Z ( C * ( b + t ) ) を越えない最大数を Sとする ( 1 0 0 4 ) 。 意味は、 子プログラ 厶を維持する最低経費と所持金の比で、 Cは子プログラムの増えるのを抑 制するための定数である。 また、 子プログラムであれば、 例えば処理を早 急に終えることが主目的であるので、 生成されてからの経過時間 Lがある 定められた定数 Tを超過している場合には、 その子プログラムが処理すベ きサーバの内、未処理のサーバ数と処理済みのサーバ数の比を Sとする( 1 0 0 5 ) 。 意味は、 あと L時間後に処理を終えられるための子プログラム 数の第一次近似である。 この Sと並列処理可能なサーバ数 Nを用いて、 親 プログラム自身もサーバを処理することを踏まえて MIN((N-1),S)を子プロ グラムの数とするのが一つの方法である。 A specific setting example of the execution condition will be described with reference to FIG. By using the information stored in the passports that make up the agent program, the elapsed time from when the agent computer that sent the agent program is output to the network is output, and the agent program is used as a child program. If it is a program, the elapsed time since the child program was created L (1001), the number of servers that can be processed in parallel in the future visits of the agent program N (1002), the amount of money Electronic money information indicating K (1003) can be extracted. This is the arrival of the information table that constitutes each passport Date and time Z Departure date and time, attributes and electronic cash should be checked (Fig. 3). Next, the number of divisions (the number of child programs) is determined using these parameters (100). If an agent program generates a child program, the number of passages through the network will increase by the number of child programs generated in addition to a single program. In addition, the resource usage rate in the entire network increases relatively for the child program. Therefore, using the average network transit fee t and the maintenance cost b of the child program defined by the network b (the amount necessary to allow the existence of the child program, which is equivalent to the so-called resident tax), Compare that to your program's money to determine the number of child programs. In the case of the parent program, for example, let C be a preset constant, and let S be the maximum number not exceeding KZ (C * (b + t)) (1004). The meaning is the ratio of the minimum cost to maintain the child program to the money you have, and C is a constant to control the growth of the child program. In the case of a child program, the main purpose is, for example, to end processing as soon as possible. Therefore, if the elapsed time L since generation has exceeded a predetermined constant T, the child program Let S be the ratio of the number of unprocessed servers to the number of processed servers among the servers to be processed (1005). The meaning is a first-order approximation of the number of child programs that can be completed after L hours. One method is to use MIN ((N-1), S) as the number of child programs, based on the fact that the parent program itself also processes servers, using the number of servers N that can be processed in parallel with S. is there.
再び第 6図にもどって、 エージユン卜プログラムの実行条件を確認した マスタプログラムはリソース使用料をエージヱントプログラムに要求する ( 6 0 4 ) 。 これは、 該ェ一ジヱン卜プログラムの作業に対する分と、 子 プログラム生成に対する分を合わせた額となる。 エージェントプログラム は要求額に従って電子マネーの支払を行なう ( 6 0 6 ) 。 これは電子小切 手のような形式で暗証番号付きのデータを渡してもよいし、 あるいは実際 の金銭の授受はあとで行なうこととして暗号化した署名だけをもどして当 該サーバに渡してもよい。 エージヱン卜プログラムの支払能力を越えてい るか等の理由でマスタプログラムによる電子マネーの授受が完了しなかつ た場合には、 その旨をエージヱン卜プログラムに通知し、 エージヱントプ 口グラムは子プログラムの数等を再設定して上記の処理を電子マネーの授 受か完了するまで繰り返すことになる ( 6 0 8 ) 。 実行条件の変更は上述 の定数 Cや Tの操作などで達成される。 授受が完了した場合、 子プロダラ ムの生成の要求に従って、 後述の分裂処理 (子プログラムの生成処理) を 行ない ( 6 0 9 ) 、 生成された子プログラムは別のサーバへ転送され、 親 プログラムは現在のサーバ上でエージヱントプログラム本体、 つまり、 親 プログラム自身の処理を継続する (6 1 0 ) 。 Referring back to FIG. 6, the master program, which has confirmed the execution condition of the age program, requests a resource usage fee from the agent program (604). This is the sum of the portion for the work of the agent program and the portion for the generation of the child program. The agent program pays the electronic money according to the requested amount (606). This is an electronic check The data with the personal identification number may be passed in a hand-like format, or the actual payment may be performed later, and only the encrypted signature may be returned to the server. If the transfer of electronic money by the master program has not been completed due to, for example, exceeding the solvency of the agent program, the agent program is notified to that effect, and the agent program is notified of the number of child programs, etc. Is set again, and the above process is repeated until the transfer of the electronic money is completed (608). The change of the execution condition is achieved by the operation of the constants C and T described above. When the transfer is completed, the division processing (child program generation processing) described below is performed according to the request for the generation of the child program (609), and the generated child program is transferred to another server, and the parent program is transmitted to another server. On the current server, the processing of the agent program itself, that is, the parent program itself is continued (610).
では、 子プログラムの生成をするために行われるエージュン卜プログラ 厶の分裂処理の詳細について、 第 1 1図から第 1 3図を用いて説明する。 第 1 1図のフローに従い、 第 1 2図、 第 1 3図の具体例を引用して説明す る。  Now, the details of the division process of the agent program performed to generate the child program will be described with reference to FIGS. 11 to 13. According to the flow shown in FIG. 11, a description will be given with reference to specific examples shown in FIGS. 12 and 13.
まず、 生成する子プログラムの数に従って、 各子プログラムの訪問サ一 バを決定する ( 1 1 1 ) 。 これは、 並列訪問可能なサーバ数を ( (子プロ グラムの数) + 1 ) で割った商を親および各子プログラムの訪問サーバ数 として初期設定し、 余りを 1サーバづっ配分すれば良い。  First, the visit server of each child program is determined according to the number of child programs to be generated (111). This is done by initially setting the quotient obtained by dividing the number of servers that can be visited in parallel by ((number of child programs) + 1) as the number of servers visited by the parent and child programs, and allocating the remainder to each server.
ついで、 子プログラムの数だけ以下の処理を行なう。 初めに、 パスポ一 トの生成を行なう力 これは ID番号をコピーし、所持金(電子キヤッシュ) を親も含めたプログラム数での配分し、 該当する子プログラムの訪問サ一 バを親プログラムのパスポ一 卜の情報を記録するテーブルからコピーし、 最後に中継ア ドレス、 ホームア ドレスの設定を行なう ( 1 1 0 2 ) 。 この具体的処理例を第 1 3図を使って説明する。 このケースは訪問サー ノ 〃 www.adlで、 〃www.adl と〃 www.ad2 と〃 www.ad3の 3つのサ一ノ、'力 並列処理できることを想定している。 子プログラムを 1つとし〃 www.ad2 と〃 www.ad3の 2つのサーバを該子プログラムに割り当てるものとする。 親プログラムのパスポート 1 3 0 1を利用して、 子プログラムのパスポー ト 2を作成するが、 まず IDをコピーし、 電子キヤッシュを配分する ( 1 3 0 3 ) 。 次に子プログラムの訪問先として親プログラムのテーブルから //www.ad2 と〃 www. ad3の行をコピーし、 中継ァ ドレスとして並列対象サ —バ群の次の訪問先 (本ケースでは// www.ad4) を設定する ( 1 3 0 5 ) 。 ホームァ ドレスは親プログラムと同じァドレスを設定する ( 1 3 0 6 ) 。 再び第 1 1図に戻って、 訪問サーバの訪問目的に従って第 1のプログラ ム部分の必要な箇所を親プログラムからコピーする。 この際、 複数の訪問 サーバが有る場合は、 訪問目的の論理和をとつて必要となるサブプログラ ム群を選択する ( 1 1 0 3 ) 。 これはパスポー 卜の訪問目的欄に第 1のプ ログラム部分に含まれるサブプログラムの名称を入れておけば実現するこ とができる。 次に同様に、 訪問サーバの訪問目的に従って第 2のプロダラ ム部分および既に収集したデータ群の必要な箇所を親プログラムからコピ 一する。 この際、 複数の訪問サーバが有る場合は、 訪問目的の論理和をと つて必要となるサブプログラム群を選択する ( 1 1 0 4 ) 。 Then, the following processing is performed for the number of child programs. First, the ability to generate passports. This involves copying the ID number, distributing the money (e-cash) by the number of programs including the parent, and assigning the visiting server of the corresponding child program to the parent program. Copy the passport information from the table that records the information, and finally set the relay address and home address (1102). This specific processing example will be described with reference to FIG. In this case, it is assumed that the visitor can perform parallel processing at www.adl, and can perform three tasks, 〃www.adl, 〃www.ad2, and 〃www.ad3. It is assumed that there is one child program and two servers, www.ad2 and www.ad3, are assigned to the child program. The passport 1301 of the parent program is used to create the passport 2 of the child program. First, the ID is copied, and the electronic cash is allocated (1303). Next, copy the rows of //www.ad2 and 〃 www.ad3 from the table of the parent program as the destination of the child program, and use the next destination of the parallel target server group as the relay address (in this case /// Set up www.ad4) (1305). The home address is set to the same address as that of the parent program (1306). Returning again to FIG. 11, the necessary parts of the first program part are copied from the parent program according to the visiting purpose of the visiting server. At this time, if there are a plurality of visiting servers, the necessary subprogram group is selected by performing a logical sum for the purpose of visiting (1103). This can be achieved by putting the name of the subprogram included in the first program part in the visit purpose column of the passport. Next, in the same manner, the second program part and necessary parts of the data group already collected are copied from the parent program according to the visit purpose of the visit server. At this time, if there are a plurality of visiting servers, the necessary subprogram group is selected by ORing the visiting purposes (1104).
この具体的な結果のイメージを第 1 2図を用いて説明する。 同図のケ一 ス 1 ( 1 2 0 1 ) は一つの子プログラムを生成した結果であり、 第 1のプ ログラム部分には 2つの部分機能 (サブプログラム) 力 、 第 2のプログラ ム部分には 1つの部分機能 (サブプログラム) が登録され、 データは付加 されていない。 同図のケース 2 ( 1 2 0 2 ) は二つの子プログラムを生成 した結果であるが、 2番目の子プログラム 1 2 0 3には第 2のプログラム 部分は機能を有していない例である。 The concrete image of the result will be described with reference to FIG. Case 1 (1221) in the figure is the result of generating one child program. The first program part has two partial functions (subprograms), and the second program part has two functions. Has one partial function (subprogram) registered and no data is added. Case 2 (1 202) in the figure is the result of generating two child programs, but the second child program 1203 has the second program The part is an example having no function.
再び第 1 1図に戻って、 次に生成された子プログラムは、 一番目の訪問 先のァドレスへネッ 卜ワークを介して転送される。 最後に親プログラムへ の処理として、 パスポー卜の修正を行なう ( 1 1 0 6 ) 。 これは、 電子キ ャッシュの子への配分分の削減と、 子プログラムによって訪問されること になった訪問先のマスク (無効化) と、 子プログラムと落ち合う中継サー バの子の数を子プログラム数分だけカウントアツプしておく。 これにより、 第 5図 '説明した子プログラムとの待ち合わせが可能となる。  Returning again to Fig. 11, the next generated child program is transferred to the address of the first destination via the network. Finally, as a process to the parent program, the passport is modified (1106). This includes reducing the distribution of e-cache to children, masking (disabling) the visits that were to be visited by the child program, and determining the number of relay server children that meet the child program. Count up for a few minutes. This makes it possible to wait for the child program described in Fig. 5 '.
本処理の第 1 3図での具体例では、 電子キヤッシュの削減 ( 1 3 0 7 ) 、 子プログラムの訪問による訪問不要サーバのマスク ( 1 3 0 8 ) 、 中継サ —バでの子供数のカウントアップ ( 1 3 0 9 ) を行なっている。  In the specific example shown in Fig. 13 of this process, the reduction of electronic cash (1307), masking of unnecessary servers by visiting child programs (1308), and the number of children at the relay server Counting up (1309) is in progress.
以上が子プログラム生成の機構である。  The above is the mechanism of child program generation.
再び第 6図に戻って、 これ以降本サーバ上でのエージヱントプログラム の本来の処理を行なう ( 6 1 0 ) 。 処理フローの続きを第 7図を用いて説 明する。 エージヱントプログラムの第 1のプログラム部分は基本的にマス 夕プログラムと対話して、 サーバ上のプログラムとサーバの所有する情報 や処理を利用することにより所望の目的を達成する。 まず、 エージェント プログラムよりサーバへの処理依頼や情報提供依頼を行ない (7 0 1 ) 、 マスタプログラムは依頼された処理の実行を行なう ( 7 0 2 ) 。 処理内容 自体は千差万別だが、 例えばデータや証明書の提出とか、 サーバの管理し ている情報への予約とかが考えられる。 本対話は、 エージヱントプログラ ム側からデータを提示したり、 逆にマスタプログラム側から提示したりす ることにより行なわれる。 エージヱントプログラムの処理の終了に際して は、 その報告 ( 7 0 3 ) と、 エージヱン卜が本対話処理で収集した情報の エージヱントプログラムの本体のデータ部分 ( 2 0 3 ) への付加要求をマ スタブログラムに行ない ( 7 0 4 ) 、 マスタプログラムは、 切り出し前の エージェン卜プログラム本体のデータ部分に該情報の付加を行なう ( 7 0 5 ) 。 その後エージヱントプログラムはプロセスを返却する ( 7 0 6 ) 。 マスタプログラムはエージヱン トプログラムのパスポ一 トを抽出し ( 7 0 7 ) 、 リソースの使用料残金の返却と出立日時のスタンプを押印し、 次の 訪問先サーバのア ドレスを読み取る ( 7 0 8 ) 。 次のサーバがない場合は ホームァドレスを次の訪問先とする。 ついでエージヱン卜プログラム本体 にパスポー トを返却 (具体的には更新データをコピー) する ( 7 0 9 ) 。 最後にエージェン 卜プログラムを次の訪問先にネッ 卜ワークを介して転送 する。 Returning to FIG. 6, the original processing of the agent program on this server is performed thereafter (610). The continuation of the processing flow will be described with reference to FIG. The first program part of the agent program basically achieves the desired purpose by interacting with the master program and utilizing the programs and information and processes owned by the server. First, the agent program issues a request for processing or information provision to the server (701), and the master program executes the requested processing (702). The processing itself varies widely, but for example, submission of data and certificates, reservations for information managed by the server, and the like can be considered. This dialogue is performed by presenting data from the agent program side or conversely by presenting it from the master program side. At the end of the processing of the agent program, a report (703) and a request to add the information collected by the agent in this interactive processing to the data part (203) of the main body of the agent program are sent. Ma The information is added to the stub program (704), and the master program adds the information to the data portion of the agent program before clipping (705). After that, the agent program returns the process (706). The master program extracts the passpoint of the agent program (707), returns the resource usage balance and stamps the departure date and time, and reads the address of the next visited server (770). ). If there is no next server, the home address will be the next destination. Next, the passport is returned to the agent program body (specifically, the updated data is copied) (709). Finally, transfer the agent program to the next destination via the network.
以上本発明の一実施例を示した。  The embodiment of the present invention has been described above.
本実施例ではエージヱントプログラムの第 1のプログラム部分のみに制 御を与え、 エージェントプログラムの収集したデータはエージェン ト自体 が携帯する例を示したが以下の変形例が考えられる。  In the present embodiment, control is given only to the first program part of the agent program, and the data collected by the agent program is carried by the agent itself. However, the following modified examples can be considered.
第 7図の第 1のプログラム部分の処理終了後、 第 2のプログラム部分に 制御を与え、 収集したデータのその場での処理を許容させることも同様に 実現可能である。 これにより収集データ量の圧縮や解釈などが可能となる。 この場合は、 第 2のプログラム部分は、 その部分を切り出して上記例で示 したように処理内容の検証を行なった後にプロセスを与えることも可能だ が、 本部分はマスタプログラムとの対話を必要としないプログラムである ので、別のオペレーティ ングシステムの上で稼働させることも可能である。 これにより、 該プログラムの予期できない暴走等の被害を本サーバに及ぼ させないことが可能である。  It is also feasible to give control to the second program part after the processing of the first program part in FIG. 7 to allow the collected data to be processed on the spot. This makes it possible to compress and interpret the amount of collected data. In this case, the second program part can be given a process after cutting out that part and verifying the processing content as shown in the above example, but this part requires interaction with the master program Since it is not a program, it can be run on another operating system. This makes it possible to prevent the server from being damaged by unexpected runaway of the program.
また、 収集データはエージェントプログラムが常には携帯せず、 収集デ —夕の量によっては予めそれを切り出して、 中継サーバへ転送してしまう W 97/35262 P Also, the collected data is not always carried by the agent program, but it is cut out in advance depending on the amount of collected data and transferred to the relay server. W 97/35262 P
1 6  1 6
ことも可能である。 この場合は該エージェントプログラムの子プログラム として第 1のプログラム部分はパスポー卜のみとして上述の実施例と同様 の分裂処理を行なえば実現することが可能である。 It is also possible. In this case, the first program part can be realized only as a passport as a child program of the agent program by performing the same division processing as in the above-described embodiment.
更に、 本実施例では、 エージヱントプログラムの訪問先のサーバ上で、 エージェントプログラムの認証、 および子プログラムの生成を実現する方 法を示したが、 それぞれの処理を実施する計算機は別計算機にする方法も 考えられる。 例えば、 エージヱントプログラムの認証にあたっては、 訪問 するサーバが外界のネッ トワークへ接続している入り口のサーバ上で、 第 5図で説明した処理を行なえば、 人間社会における入国管理の処理をする サーバをネッ トワークの上に設定できる。 また例えば、 子プログラムの生 成にあたっては、 ある特定のサーバをネッ トワーク内に設け、 エージェン トプログラムの希望に応じて、 該サーバを訪問して上記実施例の第 6図で 説明した処理を行なえば、 人間社会における産院の処理をするサーバをネ ッ トワークの中に設定できる。  Furthermore, in the present embodiment, the method of realizing the authentication of the agent program and the generation of the child program on the server visited by the agent program has been described, but the computer that performs each processing is a separate computer. There is also a way to do this. For example, in the authentication of an agent program, if the server to be visited performs the processing described in Fig. 5 on the entrance server connected to the external network, the processing of immigration control in human society will be performed. Servers can be set up on the network. Also, for example, in generating a child program, a specific server may be provided in the network, and the agent program may visit the server and perform the processing described in FIG. For example, a server for processing maternity hospitals in human society can be set up in the network.
本発明によれば、 ネッ トワーク全体のリソースを全てのユーザが安全裡 に共用することが可能である。 しかも膨大なネッ 卜ワークを介した処理を ある限られた時間で処理を完遂することが可能となる。 しかも、 ネッ トヮ 一ク上を流れるプログラムやデータの量が爆発的に増大してネッ 卜ワーク のトラフィ ックネックになることも避けることができる。 また、 パスポー トをベースとした処理によって、 各サーバの機能構成は統一した形式で実 現することが可能である。 産業上の利用可能性  According to the present invention, all users can safely share resources of the entire network. In addition, processing via a huge network can be completed in a limited time. Moreover, it is possible to prevent the amount of programs and data flowing on the network from explosively increasing and causing a traffic bottleneck in the network. In addition, by using passport-based processing, the functional configuration of each server can be realized in a unified format. Industrial applicability
以上のように、 本発明にかかるプログラムの自動生成方法および実行管 理方法は、 ネッ トワークにより接続された複数の計算機を移動しながら決 められたタスクの処理を行うプログラムを扱う システムに適しており、 特 に、 ネッ トワークの規模が大きい程、 ユーザはその大きさや不便さを感じ ずに利用することができる。 As described above, the automatic program generation method and the execution management method according to the present invention are determined while moving a plurality of computers connected via a network. It is suitable for a system that handles programs that process the tasks specified. In particular, the larger the network, the more users can use it without feeling the size or inconvenience.

Claims

請求の範囲 The scope of the claims
1 . 複数の計算機をネッ トワークで接続された情報システムを準備し、 任 意の計算機を始点にしてネッ 卜ワークにつながる複数の計算機のそれぞれ に対して特定の処理をするように機能設定されたプログラムを送信し、 上 記特定の処理を行つた結果とともに上記始点の計算機に戻るようなプログ ラムを取り扱うシステム環境において、 上記プログラムは電子化された金 銭に該当する金銭データを有し、 上記ネッ トワークに接続された計算機に 対して""上記金銭データを渡して該計算機のリソース (メモリ、 CPUなどの 資源) の使用が許諾されることを特徴とするプログラムの実行管理方法。  1. An information system in which a plurality of computers are connected via a network was prepared, and a function was set to perform a specific process on each of a plurality of computers connected to the network, starting from an arbitrary computer. In a system environment that handles a program that sends a program and returns to the computer at the start point together with the result of performing the above-described specific processing, the program has monetary data corresponding to electronic money, and A program execution management method characterized in that use of resources (resources such as a memory and a CPU) of a computer is given by passing said money data to a computer connected to a network.
2 . 複数の計算機をネッ トワークで接続された情報システムを準備し、 任 意の計算機を始点にしてネッ 卜ワークにつながる複数の計算機のそれぞれ に対して特定の処理をするように機能設定されたプログラムを送信し、 上 記特定の処理を行つた結果とともに上記始点の計算機に戻るようなプログ ラムを取り扱うシステム環境において、 ある一つの計算機から発せられた プログラムであって、 該ネッ トワークにつながる計算機の複数に対してあ る処理をするように機能設定されたプログラムが、 該プログラム内に訪問 先、 訪問目的、 訪問日時、 出立日時等を含むパスポートと称する情報テ一 ブルを有し、 上記ネッ トワークを経由した訪問先の計算機上で該パスポー 卜の記載内容に応じた処理を行ない、 該処理の終了後次の計算機に転送さ れる際には、 上記パスポートに当該計算機の訪問 Z出立日時が記憶される ことを特徴とするプログラムの実行管理方法。 2. An information system in which a plurality of computers are connected by a network was prepared, and a function was set to perform a specific process on each of a plurality of computers connected to the network starting from an arbitrary computer. In a system environment that handles a program that sends a program and returns to the computer at the start point together with the result of performing the above-described specific processing, the program originates from one computer and is connected to the network. A program that is set to perform a certain process for a plurality of programs has an information table called a passport including the destination, the purpose of the visit, the date and time of the visit, the date and time of departure, and the like. Perform the processing according to the contents of the passport on the computer of the visiting destination via the network, and after the processing is completed, When it is transferred to a process execution management program, characterized in that visit Z departure date and time of the computer on the passport it is stored.
3 . 複数の計算機をネッ トワークで接続された情報システムを準備し、 任 意の計算機を始点にしてネッ トワークにつながる複数の計算機のそれぞれ に対して特定の処理をするように機能設定されたプログラムを送信し、 上 記特定の処理を行った結果とともに上記始点の計算機に戻るようなプログ ラムを取り扱うシステム環境において、 ある一つの計算機から発せられた プログラムであって、 ネッ トワークにつながる各計算機に対してある処理 をするように機能設定されたプログラムが、 プログラム内に訪問先、 訪問 目的、 訪問日時、 出立日時等を含むパスポートと称する情報テーブルを有 し、 ネッ トワークを経由した訪問先の計算機上でそのテーブル記載内容に 応じた訪問目的処理を行ない、 その処理の結果に応じて新たに訪問する計 算機を該情報テーブルへ追加することにより、 プログラムを送信した始点 となる計算機において設定されていた中間の訪問先が動的に変わることを 特徴とする特許請求の範囲第 2項記載のプログラムの実行管理方法。 3. A program in which an information system in which multiple computers are connected via a network is prepared, and functions are set to perform specific processing on each of the multiple computers connected to the network, starting from any computer. A program that returns to the starting computer with the result of performing the above specific processing In a system environment that handles programs, a program issued from one computer and set to perform a certain process for each computer connected to the network is included in the program as a destination or destination It has an information table called a passport that includes the date and time of visit, the date and time of departure, etc., and performs the visit purpose processing according to the contents of the table on the computer of the visit destination via the network, and according to the result of the processing. The second visiting computer, which is set as a starting point of the computer which transmitted the program, is dynamically changed by adding a newly visited computer to the information table. Execution management method of the program described in the section.
4 . 複数の計算機をネッ 卜ワークで接続された情報システムを準備し、 任 意の計算機を始点にしてネッ トワークにつながる複数の計算機のそれぞれ に対して特定の処理をするように機能設定されたプログラムを送信し、 上 記特定の処理を行った結果とともに上記始点の計算機に戻るようなプログ ラムを取り扱うシステム環境において、 ある一つの計算機から発せられた プログラムであって、 ネッ トワークにつながる各計算機に対してある処理 をするように機能設定されたプログラムが、 プログラム内に訪問先、 訪問 目的、 訪問日時、 出立日時等を含むパスポートと称する情報テーブルを有 し、 ネッ トワークを経由した訪問先の計算機上で上記情報テーブルの記録 内容に応じた処理を行ない、 該訪問先の計算機での処理がおわると上記情 報テーブル条の該計算機の訪問 Z出立日時の情報を追加してて、 次に訪問 すべき計算機に転送されると同時に、 処理が終わった該計算機には上記情 報テーブルのコピー (控え) を格納する残すことを特徴とする特許請求の 範囲第 2項記載のプログラムの実行管理方法。 4. An information system in which a plurality of computers are connected by a network was prepared, and a function was set to perform a specific process for each of a plurality of computers connected to the network starting from an arbitrary computer. In a system environment that handles a program that sends a program and returns to the above-mentioned computer with the result of performing the above-mentioned specific processing, it is a program issued from one computer and connected to the network. A program that has been set to perform a certain process for a certain destination has an information table called a passport that includes the destination, the purpose of the visit, the date and time of departure, the date and time of departure, etc. On the computer of the visit, the processing corresponding to the recorded contents of the above information table is performed, and the processing on the computer of the visited place is ended. The information on the visit of the computer Z in the information table section is added to the information on the departure date and time, and the information is transferred to the next computer to be visited. 3. The program execution management method according to claim 2, wherein the program execution management method is stored.
5 . 複数の計算機をネッ トワークで接続された情報システムを準備し、 任 意の計算機を始点にしてネッ トワークにつながる複数の計算機のそれぞれ に対して特定の処理をするように機能設定されたプログラムを送信し、 上 記特定の処理を行った結果とともに上記始点の計算機に戻るようなプログ ラムを取り扱うシステム環境において、 ある一つの計算機から発せられた プログラムであって、 上記ネッ トワークにつながる各計算機に対してある 処理をするように機能設定されたプログラムが、 プログラム内に訪問先、 訪問目的、 訪問日時、 出立日時等を含むパスポートと称する情報テーブル を有し、 上記ネッ トワークを経由した訪問先の計算機上で該情報テーブル の記録内容に応じた処理を行ない、 当該計算機における処理が終了すると、 当該計算機の訪問/出立日時の情報を上記情報テーブルに記録し、 該プロ グラムは次の訪問先に転送されると同時に、 上記情報テーブルの情報を該 プログラムの発信された始点となる計算機に送付することを特徴とする特 許請求の範囲第 2項記載のプログラムの実行管理方法。 5. Prepare an information system in which a plurality of computers are connected via a network. Each of the plurality of computers connected to the network, starting from any computer. In a system environment that handles a program that sends a program that is set to perform a specific process to a specific computer and returns to the computer at the start point together with the result of performing the specific process above, A passport that includes the destination, purpose of visit, date and time of visit, date and time of departure, etc., in the program that has been issued and that has been set to perform certain processing for each computer connected to the above network And performs a process in accordance with the recorded contents of the information table on the computer at the destination visited via the network, and when the process in the computer is completed, the date / time of the visit / departure of the computer. The information is recorded in the information table, and the program is transferred to the next visit, and at the same time, 3. The method according to claim 2, wherein the information is sent to a computer that is a starting point of the program.
6 . 複数の計算機をネッ 卜ワークで接続された情報システムを準備し、 任 意の計算機を始点にしてネッ 卜ワークにつながる複数の計算機のそれぞれ に対して特定の処理をするように機能設定されたプログラムを送信し、 上 記特定の処理を行った結果とともに上記始点の計算機に戻るようなプログ ラムを取り扱うシステム環境において、 上記プログラムはネッ トワーク内 のある計算機上で、 まだ経由してない計算機群を自分 (以下、 親プログラ ム) と自分の一部のコピー (以下、 子プログラム) 群が排他的に訪問する ような子プログラムを生成することを特徴とするプログラムの自動生成方 法。  6. An information system in which a plurality of computers are connected via a network is prepared, and functions are set to perform specific processing for each of the plurality of computers connected to the network, starting from any computer. In a system environment that handles a program that sends a program that has been sent and returns to the starting computer with the result of performing the above-mentioned specific processing, the program is executed on a computer in the network that has not yet passed through. A method of automatically generating a program that creates a child program that allows a group to exclusively visit a group (hereafter, a parent program) and a copy of itself (hereafter, a child program).
7 . 上記自分の子プログラムを作ってネッ トワーク内を排他的に訪問させ る際、 各プログラムが分担した訪問先を終了した場合には、 予め設定され た中継サーバで待ち合わせる様に設定し、 上記子プログラム群および t記 親プログラムが該中継サーバに集結した時点で、 子プログラムの収集デー タを親プログラムのデータに合体し、 その後子プログラムを消滅させ、 デ —夕を含む親プログラムのみがネッ トワーク上の残された次の訪問経路を 迪つていくことを特徴とする特許請求の範囲第 6項記載のプログラムの自 動生成方法。 7. When you create your own child program and make it visit the network exclusively, if each program finishes the participant's participant, set it so that it waits on a preset relay server. When the child program group and the parent program converge on the relay server, the child program collection data Claims characterized in that the data is merged with the data of the parent program, the child program is then deleted, and only the parent program including the data is transmitted to the next remaining visit route on the network. The method for automatically generating a program according to item 6.
8 . 上記自分の子プログラムを作ってネッ トワーク内を排他的に訪問させ る際に、 上記子プログラム群は各訪問サーバから中継サーバもしくは上記 親プログラムが発信された始点となる計算機 (ホームサーバ) へ、 自分の 現在訪問しているサーバ位置を報告して、 各上記子プログラムの所在記録 を保持することを特徴とする特許請求の範囲第 6項記載のプログラムの自 動生成方法。 8. When you create your own child program and make it visit the network exclusively, the child program group is the computer (home server) from which the relay server or the parent program is transmitted from each visiting server. 7. The method for automatically generating a program according to claim 6, further comprising: reporting a location of a server currently visited by the user, and maintaining a location record of each of the child programs.
9 . 上記自分の子プログラムを作ってネッ トワーク内を排他的に訪問させ る際に、 各上記子プログラムは、 再帰的に更にその子プログラムを生成す ることを特徴とする特許請求の範囲第 6項記載のプログラムの自動生成方 法。  9. The method according to claim 6, wherein each child program recursively generates the child program when the child program is created and the network is exclusively visited. How to automatically generate the program described in the section.
1 0 . 上記プログラムが、 ネッ 卜ワーク内のある計算機上で、 自分もしく はその一部のコピー (以下、 子プログラム) を複数生成する際に、 そのプ ログラムの経過時間、 残っている訪問先の数、 残っている訪問先の訪問順 序 (並列訪問の可否) などを条件パラメータとして、 子プログラム生成の 許可および生成する子プログラムの個数を決定することを特徴とする特許 請求の範囲第 6項記載のプログラムの自動生成方法。  10. When the above program generates multiple copies of itself or a part of it (hereinafter referred to as “child program”) on a computer in the network, the elapsed time of the program and the remaining visits The permission of child program generation and the number of child programs to be generated are determined by using the number of destinations, the order of visits of the remaining destinations (possibility of parallel visits), and the like as condition parameters. Automatic generation method of the program described in 6.
1 1 . 上記子プログラム生成の是非および生成する子プログラムの個数を 決定するパラメータとして該プログラムの所持金の額を含むことを特徴と する特許請求の範囲第 1 0項記載のプログラムの自動生成方法。  11. The method for automatically generating a program according to claim 10, wherein the parameter for determining whether to generate the child program and the number of child programs to be generated includes an amount of money of the program. .
1 2 . 上記子プログラムの生成において、 該子プログラムに与えられた訪 問先の訪問目的に必要最小限の親プログラム内のプログラム部分をコピー することを特徴とする請求項 6記載のプログラムの自動生成方法。 1 2. In generating the above child program, copy the minimum necessary program part in the parent program for the purpose of visiting the visit given to the child program. 7. The method for automatically generating a program according to claim 6, wherein:
1 3 . 複数の計算機をネッ トワークで接続された情報システムを準備し、 任意の計算機を始点にしてネッ 卜ワークにつながる複数の計算機のそれぞ れに対して特定の処理をするように機能設定されたプログラムを送信し、 上記特定の処理を行った結果とともに上記始点の計算機に戻るようなプロ グラムを取り扱うシステム環境において、 排他的にネッ 卜ワークを経由し て計算機群の上で処理する複数のプログラムが、 ネッ 卜ワーク内のある計 算機上 '待ち合わせ、 両プログラムのプログラム部分とデータ部分を合成 して一つのプログラムを生成することを特徴とするプログラムの自動生成 方法。  1 3. Prepare an information system in which a plurality of computers are connected via a network, and set a function to perform a specific process on each of a plurality of computers connected to the network starting from an arbitrary computer. In a system environment that handles a program that sends back a program and returns to the computer at the start point together with the result of performing the above-described specific processing, a plurality of programs that exclusively process on a group of computers via a network An automatic program generation method, characterized in that two programs wait for a computer on a network, combine the program part and the data part of both programs to generate one program.
1 4 . 複数の計算機をネッ トワークで接続された情報システムを準備し、 任意の計算機を始点にしてネッ トワークにつながる複数の計算機のそれぞ れに対して特定の処理をするように機能設定されたプログラムを送信し、 上記特定の処理を行った結果とともに上記始点の計算機に戻るようなプロ グラムを取り扱うシステム環境において、 訪問先の計算機内の他のプログ ラムと対話する第 1のプログラム部分と、 訪問先で自分のプログラム内で 閉じた処理を行なう第 2のプログラム部分と、 訪問先で得たデータを保有 する第 3のプログラム部分からなるプログラム構造を有し、 訪問先のサー バ上では第 1のプログラム部分にのみ制御を与えることを特徴とするプロ グラムの実行管理方法。  1. Prepare an information system in which a plurality of computers are connected via a network, and set up a function to perform a specific process on each of a plurality of computers connected to the network starting from an arbitrary computer. In a system environment that handles a program that sends a program that returns to the starting point computer with the result of performing the specific processing, the first program part that interacts with another program in the visited computer It has a program structure consisting of a second program part that performs closed processing in its own program at the visit destination, and a third program part that holds data obtained at the visit destination. A program execution management method characterized by giving control only to a first program part.
1 5 . 特許請求の範囲第 1 4項において、 上記第 1のプログラム部分を、 別のメモリ領域にコピーすることにより、 他のプログラム部分との連絡を 断ち切り、 そのコピーされたプログラムをコンパイラにより不許可命令の 使用や目的の解析を行ない、 その検査に合格した際にのみ、 コピーされた プログラム部分に制御を与え、 訪問先の計算機内のプログラムと対話させ て所望の要求を達成することを特徴とするプログラムの実行管理方法。 15. In claim 14, by copying the first program part to another memory area, the communication with the other program part is cut off, and the copied program is not executed by the compiler. The use of the permission instruction and the analysis of the purpose are performed, and only when the inspection is passed, control is given to the copied program part and the program is allowed to interact with the program in the computer to be visited. And a program execution management method for achieving a desired request.
1 6 . 特許請求の範囲第 1 5項において、 訪問先の計算機内のプログラム と対話する第 1のプログラム部分を、 サーバシステムのプログラムが稼働 しているオペレーティングシステムとは異なった別のオペレ一ティングシ ステ厶上で実行することを特徴とするプログラムの実行管理方法。  16. In claim 15, the first program part interacting with the program in the visited computer is replaced by another operating system different from the operating system on which the server system program is running. An execution management method of a program characterized by being executed on a stage.
1 7 . 特許請求の範囲第 1 1項において、 訪問先の計算機内のプログラム と対話する第 1のプログラム部分はソースプログラムからなり、 訪問先の コンパイラでコンパイルしてロードモジュールを作成し、 訪問先の計算機 内のプログラムと対話させて所望の要求を達成する手段により、 訪問先の 計算機上のオペレーティングシステムの種別やバ一ジョンに関わりなく訪 問先で実行が可能とすることを特徴とするプログラムの実行管理方法。  17. In claim 11, the first program part that interacts with the program in the visited computer is a source program, compiled by the visited compiler to create a load module, and A program characterized in that it can be executed at a destination regardless of the type and version of the operating system on the destination computer by means of achieving a desired request by interacting with a program in the computer. Execution management method.
1 8 . ネッ トワークで接続され、 ネッ トワークを介してプログラムが計算 機間で行き来する情報システムにおいて、 訪問先の計算機内の他のプログ ラムと対話する第 1のプログラム部分と、 訪問先で自分のプログラム内で 閉じた処理を行なう第 2のプログラム部分と、 訪問先で得たデータを保有 する第 3のプログラム部分からなるプログラム構造を有し、 訪問先のサー バ上ではそれぞれ第 1のプログラム部分にのみ制御を与える手段と第 2の プログラム部分にのみ制御を与える手段を有することを特徴とするプログ ラムの実行管理方法。  18. In an information system that is connected via a network and in which programs pass between computers via the network, the first program part that interacts with other programs in the visited computer, and It has a program structure consisting of a second program part that performs closed processing in the other program and a third program part that holds data obtained at the visited site. A program execution management method comprising: means for giving control only to a portion; and means for giving control only to a second program portion.
1 9 . 複数の計算機をネッ トワークで接続された情報システムを準備し、 任意の計算機を始点にしてネッ 卜ワークにつながる複数の計算機のそれぞ れに対して特定の処理をするように機能設定されたプログラムを送信し、 上記特定の処理を行った結果とともに上記始点の計算機に戻るようなプロ グラムを取り扱うシステム環境において、 該プログラムは、 送信された先 の計算機と更新するための第 1のプログラム部分と該プログラムを特定す る情報と履歴情報とを記憶する第 2のプログラム部分と該プログラムの処 理結果を記憶するための第 3のプログラム部分からなり、 次に送信される 先以降の処理がその前の処理結果を参照せずに行うことができる場合には、 該当する処理の数に基づいて該当する処理を行うための複製プログラムを 作成して上記第 2のプログラム部分を書き換えてそれぞれ異なる計算機に 送信し、 上記プログラムと上記複製プログラムとの送信先に共通の計算機 がある場合には、 それらのプログラムを合成して 1のプログラムとするこ とを特徴とするプログラムの自動生成方法。 1 9. Prepare an information system in which multiple computers are connected via a network, and set up a function to perform specific processing on each of the multiple computers connected to the network, starting from any computer. In a system environment that handles a program that transmits the transmitted program and returns to the computer at the starting point together with the result of performing the specific processing, the program includes a first computer for updating with the computer that was transmitted. Identify the program part and the program And a third program part for storing the processing result of the program, and the subsequent processing to be transmitted next and the subsequent processing result If it can be performed without reference, create a duplicate program for performing the relevant processing based on the number of relevant processing, rewrite the second program part and send it to different computers, If there is a common computer at the transmission destination of the program and the above-mentioned duplicate program, these programs are combined into one program to automatically generate a program.
PCT/JP1996/000677 1996-03-15 1996-03-15 Method for automatically generating program and method for controlling execution WO1997035262A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP1996/000677 WO1997035262A1 (en) 1996-03-15 1996-03-15 Method for automatically generating program and method for controlling execution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1996/000677 WO1997035262A1 (en) 1996-03-15 1996-03-15 Method for automatically generating program and method for controlling execution

Publications (1)

Publication Number Publication Date
WO1997035262A1 true WO1997035262A1 (en) 1997-09-25

Family

ID=14153053

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1996/000677 WO1997035262A1 (en) 1996-03-15 1996-03-15 Method for automatically generating program and method for controlling execution

Country Status (1)

Country Link
WO (1) WO1997035262A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000029709A (en) * 1998-06-03 2000-01-28 Internatl Business Mach Corp <Ibm> System method and computer program product for discovery in decentralized computer environment
JP2000029847A (en) * 1998-07-10 2000-01-28 Toshiba Corp Agent system, information processing method and recording medium recorded with information processing software
WO2000036506A1 (en) * 1998-12-16 2000-06-22 Kent Ridge Digital Labs Process oriented computing environment
JP2001209621A (en) * 1999-11-17 2001-08-03 Internatl Business Mach Corp <Ibm> System and method for communicating with mobile data processor through mobile software agent
US6988073B2 (en) 2001-05-10 2006-01-17 International Business Machines Corporation Method, system, and product for facilitating international travel with respect to immigration
US7426514B2 (en) 2001-07-26 2008-09-16 International Business Machines Corporation Method, system, and computer program product for facilitating international customs planning
US11004067B2 (en) 2019-03-01 2021-05-11 Advanced New Technologies Co., Ltd. Methods and devices for protecting sensitive data of transaction activity based on smart contract in blockchain

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0410113A (en) * 1990-04-27 1992-01-14 Hitachi Ltd Expense processing system for composite system
JPH04263354A (en) * 1991-02-18 1992-09-18 Toshiba Corp Decentralized processing computer
JPH05282230A (en) * 1991-08-29 1993-10-29 Hewlett Packard Co <Hp> Computer network and computer network management method
JPH07182174A (en) * 1993-07-08 1995-07-21 General Magic Inc Execution method of remote programming

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0410113A (en) * 1990-04-27 1992-01-14 Hitachi Ltd Expense processing system for composite system
JPH04263354A (en) * 1991-02-18 1992-09-18 Toshiba Corp Decentralized processing computer
JPH05282230A (en) * 1991-08-29 1993-10-29 Hewlett Packard Co <Hp> Computer network and computer network management method
JPH07182174A (en) * 1993-07-08 1995-07-21 General Magic Inc Execution method of remote programming

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000029709A (en) * 1998-06-03 2000-01-28 Internatl Business Mach Corp <Ibm> System method and computer program product for discovery in decentralized computer environment
JP2000029847A (en) * 1998-07-10 2000-01-28 Toshiba Corp Agent system, information processing method and recording medium recorded with information processing software
WO2000036506A1 (en) * 1998-12-16 2000-06-22 Kent Ridge Digital Labs Process oriented computing environment
WO2000036507A1 (en) * 1998-12-16 2000-06-22 Kent Ridge Digital Labs Method for adapting migrating processes to host machines
WO2000036508A1 (en) * 1998-12-16 2000-06-22 Kent Ridge Digital Labs A method for detaching and re-attaching components of a computing process
US7003770B1 (en) 1998-12-16 2006-02-21 Kent Ridge Digital Labs Method of detaching and re-attaching components of a computing process
JP2001209621A (en) * 1999-11-17 2001-08-03 Internatl Business Mach Corp <Ibm> System and method for communicating with mobile data processor through mobile software agent
US6988073B2 (en) 2001-05-10 2006-01-17 International Business Machines Corporation Method, system, and product for facilitating international travel with respect to immigration
US7426514B2 (en) 2001-07-26 2008-09-16 International Business Machines Corporation Method, system, and computer program product for facilitating international customs planning
US11004067B2 (en) 2019-03-01 2021-05-11 Advanced New Technologies Co., Ltd. Methods and devices for protecting sensitive data of transaction activity based on smart contract in blockchain

Similar Documents

Publication Publication Date Title
US11562357B2 (en) Resource transfer system
JP7385706B2 (en) Method of distributing digital assets registered on blockchain and autonomous computing agent
JP7128111B2 (en) Systems and methods for controlling asset-related activities via blockchain
Johansen et al. Operating system support for mobile agents
CN111444020B (en) Super-fusion computing system architecture and fusion service platform
JP2023065536A (en) Block chain-implemented method and system
CN102640162B (en) Dynamic access control to the document in electronic communication in cloud computing environment
US20060200444A1 (en) Enterprise computer system
PL176975B1 (en) System for and method of efficiently buffering files in a scattered file system
JPH10228402A (en) Document sharing management method
WO2021132454A1 (en) Transaction delegation method, transaction delegation system, and computer program
WO1997035262A1 (en) Method for automatically generating program and method for controlling execution
CN113196327A (en) Data transaction system
US8712786B2 (en) Method and apparatus for controlling a multi-node process
JP7311745B2 (en) Administrator Terminal, Participant Terminal, Right Holder Terminal, User Terminal, Contents Usage System, Administrator Program, Participant Program, Right Holder Program and User Program
CN116997895A (en) Reducing transaction aborts in an execution ordering validation blockchain model
JP2007299328A (en) Calculation processing method and calculation processing system
Kopylash An Ethereum-based Real Estate Application with Tampering-resilient Document Storage
JP7366981B2 (en) Contract management system and contract management method
KR20220084401A (en) Escrow transaction method and system using smart contract in blockchain
JP4288021B2 (en) Method for coordinating independent devices as a single token interface and method for graphical user interface
Goscinski et al. Message passing and RPC-based interprocess communication mechanisms in the RHODOS microkernel
Hulaas et al. Enhancing Java grid computing security with resource control
CN113282597A (en) File updating method and system based on resource guarantee investment and electronic equipment
JP2000029672A (en) Distribution management device for software

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase