WO2019142767A1 - 情報処理装置、情報処理方法、プログラムおよび情報処理システム - Google Patents

情報処理装置、情報処理方法、プログラムおよび情報処理システム Download PDF

Info

Publication number
WO2019142767A1
WO2019142767A1 PCT/JP2019/000872 JP2019000872W WO2019142767A1 WO 2019142767 A1 WO2019142767 A1 WO 2019142767A1 JP 2019000872 W JP2019000872 W JP 2019000872W WO 2019142767 A1 WO2019142767 A1 WO 2019142767A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
data
algorithm
processing apparatus
result
Prior art date
Application number
PCT/JP2019/000872
Other languages
English (en)
French (fr)
Inventor
研太郎 今津
章弘 宮本
侑亮 野村
Original Assignee
株式会社Triart
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 株式会社Triart filed Critical 株式会社Triart
Priority to EP19741155.6A priority Critical patent/EP3745274A4/en
Priority to US16/963,520 priority patent/US11875134B2/en
Priority to CN201980021190.6A priority patent/CN111902808A/zh
Publication of WO2019142767A1 publication Critical patent/WO2019142767A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Definitions

  • the present invention relates to an information processing apparatus, an information processing method, a program, and an information processing system.
  • Priority is claimed on Japanese Patent Application No. 2018-008069, filed January 22, 2018, the content of which is incorporated herein by reference.
  • an information processing device having a server function collects data stored in each of the other information processing devices, and performs a predetermined operation on the collected data. Had to do. In other words, the server and many clients were distributing and collecting data in a one-to-many relationship.
  • the information processing apparatus when a large amount of data is stored by a large number of information processing devices, one server device collects data stored in all the information processing devices. In order to execute a predetermined operation, a large load is required, and a large amount of time and resources may be consumed.
  • the information processing apparatus other than the information processing apparatus having the function of the server can not perform the above-described calculation.
  • Non-Patent Document 1 As an example of the prior art, there is a technique called Ethereum as described in Non-Patent Document 1 (see Non-Patent Document 1). This technology is a technology relating to a platform for executing distributed applications using block chains. However, even in the technique described in Non-Patent Document 1, the conventional problems as described above have not been solved.
  • the embodiment of the present invention is an information processing apparatus, an information processing method, a program, and an information processing apparatus capable of efficiently performing a predetermined operation using data of a plurality of information processing apparatuses. Provide an information processing system.
  • An information processing apparatus includes: a data receiving unit having a function of receiving, from a first information processing apparatus, first algorithm data which is data in which a first algorithm is described; Performing an operation based on the first algorithm described in the first algorithm data, based on the first algorithm data received by the control unit and the data stored in the first storage unit; An operation execution unit having a function of using data stored in the first storage unit; and second algorithm data, which is data in which a second algorithm according to the first algorithm is described, A data transmission unit having a function of transmitting data to the information processing apparatus, wherein the second algorithm data is smaller than that of the second information processing apparatus.
  • the second calculation result determination unit receives the second algorithm data from the two or more information processing devices which are branched and transmitted from the information processing device other than the own device.
  • the data transmission unit has a function of transmitting third algorithm data, which is data in which an initial third algorithm is described, to a next information processing apparatus. It may be configured.
  • the operation execution unit has a function of executing an operation based on a fourth algorithm, and the data transmission unit has an algorithm according to the fourth algorithm.
  • the third algorithm may be configured to have a function of transmitting the third algorithm data to the next information processing apparatus.
  • a first path determination unit having a function of determining all information processing apparatuses included in a path transmitting an algorithm according to the third algorithm and the order of transmission It may be configured.
  • the first path determination unit is configured to have a function of determining the information processing apparatus and the order based on an attribute of the information processing apparatus. Good.
  • the first path determination unit may count the number of times the algorithm has been added in the past, the number of answers to questions in the past, or
  • the information processing apparatus may be configured to have a function of determining the information processing apparatus and the order based on any of the frequency of answers to questions in the past.
  • one or more information processing apparatuses including the second information processing apparatus included in a path for transmitting an algorithm according to the second algorithm and the order of transmission are determined
  • a second route determination unit having a function may be configured.
  • the second path determination unit is configured to have a function of determining the information processing apparatus and the order based on an attribute of the information processing apparatus. Good.
  • the second path determination unit may count the number of times the algorithm has been added in the past, the number of answers to questions in the past, or
  • the information processing apparatus may be configured to have a function of determining the information processing apparatus and the order based on any of the frequency of answers to questions in the past.
  • the second algorithm may be configured to be the same as the first algorithm.
  • the second algorithm may be configured to be different from the first algorithm.
  • the data receiving unit has a function of receiving data relating to the result of the calculation in the first information processing apparatus from the first information processing apparatus. It is also good.
  • the data receiving unit simultaneously performs data relating to the result of the calculation in the first information processing apparatus and the first algorithm data from the first information processing apparatus. It may be configured to have a function of receiving.
  • the data transmission unit may be configured to have a function of transmitting data related to the result of the calculation by the calculation execution unit to the second information processing apparatus.
  • the data transmission unit has a function of simultaneously transmitting, to the second information processing apparatus, data relating to the result of the operation by the operation execution unit and the second algorithm data And may be configured.
  • the information processing apparatus according to an aspect of the present invention includes the first storage unit storing data, and the operation execution unit performs the operation using the data stored in the first storage unit. It may be configured to have a function to be performed.
  • the data transmission unit has a function of transmitting data related to the result of the calculation by the calculation execution unit to one or more predetermined information processing apparatuses to be notified. It may be done.
  • the predetermined information processing apparatus may be configured to include at least an information processing apparatus as a transmission source of algorithm data.
  • the information processing apparatus includes a first calculation result determination unit having a function of determining whether data relating to the result of the calculation by the calculation execution unit is to be final data. It may be taken.
  • the first calculation result determination unit performs the calculation when the number of the information processing apparatuses that have already performed the calculation according to the algorithm is equal to or more than a predetermined threshold.
  • the criterion for making the data concerning the result of the final data, or the data concerning the result of the operation when the amount of information included in the result of the operation obtained is equal to or greater than a predetermined threshold value may be configured to have a function of determining whether data relating to the result of the operation by the operation execution unit is to be final data, using a determination criterion of:
  • the data receiving unit receives data transmitted from another device
  • the operation execution unit receives the data received from the other device by the data receiving unit.
  • the operation may be performed based on data.
  • the other device may be a device other than an object to which an algorithm is transmitted.
  • the information processing apparatus may be configured to include a second storage unit that stores part or all of the data received by the data receiving unit.
  • the information processing apparatus according to an aspect of the present invention may be configured to include a third storage unit that stores part or all of the data transmitted by the data transmission unit.
  • the operation execution unit is configured to receive the first algorithm data from the data reception unit, the first algorithm data described in the first algorithm data. Performing an operation based on the algorithm of (4), and the data transmission unit transmits the second algorithm data to the second information processing apparatus in response to the execution of the operation by the operation execution unit. It may be taken.
  • the data receiving unit receives a first parameter together with the first algorithm data from the first information processing apparatus
  • the operation execution unit is configured to Using the first parameter received by the data receiver in the operation based on the first algorithm described in the algorithm data of the second data, and the data transmitter transmits the second parameter together with the second algorithm data. May be transmitted to the second information processing apparatus.
  • An information processing method receives first algorithm data, which is data in which a first algorithm is described, from a first information processing apparatus, and receives the first algorithm data and the received first algorithm data.
  • An operation based on the first algorithm described in the first algorithm data is executed based on the data stored in the first storage unit, and the data stored in the first storage unit in the operation is calculated.
  • Second algorithm data which is data used and describing a second algorithm according to the first algorithm
  • the second algorithm data is transmitted from the information processing apparatus other than the own apparatus for the two or more information processing apparatuses to which the algorithm data of
  • the number of the information processing devices passed after the branch is determined and the number is greater than the predetermined number
  • a process for realizing adoption of data concerning the result of the calculation of the above, a decision to be made of the time when the data concerning the result of the calculation was received, and it is realized that the data concerning the result of the calculation earlier than the time concerned is preferentially adopted.
  • a program has a function of receiving, from a first information processing apparatus, first algorithm data, which is data in which a first algorithm is described, in a computer constituting the information processing apparatus.
  • An operation based on the first algorithm described in the first algorithm data is executed based on the first algorithm data and the data stored in the first storage unit, and the first operation is performed in the operation Function of using the data stored in the storage unit of the second algorithm data, which is data describing a second algorithm according to the first algorithm, and a second information processing apparatus and at least one other
  • the information processing apparatus via which the data about the result of the operation received from the two or more information processing apparatuses are sent after the second algorithm data is branched and transmitted from the information processing apparatus different from Processing for realizing the determination of the number of data and adopting adoption of the data relating to the result of the predetermined number from the larger number, the determination of
  • An information processing system is an information processing system including an information processing apparatus, wherein the information processing apparatus performs first information processing of first algorithm data, which is data in which a first algorithm is described. Described in the first algorithm data based on the data receiving unit having a function of receiving from the device, and the first algorithm data received by the data receiving unit and the data stored in the first storage unit An operation execution unit having a function of executing an operation based on the first algorithm and using data stored in the first storage unit in the operation, and a second algorithm according to the first algorithm A data transmission unit having a function of transmitting, to the second information processing apparatus, second algorithm data, which is data in which The second arithmetic data is transmitted to the second information processing apparatus and the at least one other information processing apparatus, and the calculation is performed on the two or more information processing apparatuses to which the second algorithm data is transmitted.
  • a second calculation result determination unit having a function of performing a predetermined determination on data related to the second result is configured to calculate the second algorithm data from the information processing apparatus other than the own apparatus
  • the data on the result of the operation received from the two or more information processing apparatuses that are branched and transmitted is subjected to the determination of the number of the information processing apparatuses passed through after the branch, and the predetermined number is determined from the larger number A process for realizing adoption of data relating to the result of the calculation of the number, determination of a time when data relating to the result of the calculation is received, and the time concerned A process for realizing preferential adoption of data relating to the result of the early operation, determination of the time when the data relating to the result of the operation is received, and data relating to the result of the later operation is preferentially adopted Performing processing to realize the situation or determining whether or not the information processing apparatus has passed through a specific information processing apparatus after branching to preferentially adopt data concerning the result of the calculation via the information processing apparatus of the specific information
  • the information processing apparatus According to the information processing apparatus, the information processing method, the program, and the information processing system described above, it is possible to efficiently execute the predetermined operation using data included in the plurality of information processing apparatuses.
  • movement in the information processing system which concerns on one Embodiment (2nd Embodiment) of this invention. It is a figure showing an example of rough composition of a z (z 2-N) information processor concerning one embodiment (3rd embodiment) of the present invention.
  • FIG. 1 is a view showing a schematic configuration example of an information processing system 1 according to an embodiment (first embodiment) of the present invention.
  • the information processing system 1 according to the present embodiment includes N (in the present embodiment, N is an integer of 3 or more) information processing devices A (1) to A (N).
  • N is an integer of 3 or more
  • Each of the information processing devices A (1) to A (N) has a function of communicating with other information processing devices A (1) to A (N) as communication partners.
  • the communication may be, for example, wired communication, wireless communication, or both wired and wireless communication.
  • the communication performed by each of the information processing devices A (1) to A (N) may be, for example, one-to-one (P2P) communication, or communication of a server client.
  • P2P one-to-one
  • the communication performed by each of the information processing devices A (1) to A (N) may be, for example, communication using a VPN (Virtual Private Network) connection.
  • Each of the information processing devices A (1) to A (N) may be various devices. Each of the information processing devices A (1) to A (N) may be, for example, a device not having a server function, or may be a device having a server function. Each of the information processing devices A (1) to A (N) may be, for example, a notebook computer, a desktop computer, a tablet computer, or a smartphone It may be such a computer, or may be another computer. The other computer may be, for example, a computer provided in a vehicle such as a car. Each of the information processing devices A (1) to A (N) may be configured as, for example, a physical terminal or may be configured as a virtual terminal.
  • Each of the information processing devices A (1) to A (N) may be, for example, on an in-house network or on the Internet. Regarding the types of such devices, each of the information processing devices A (1) to A (N) may be, for example, the same type of device or different types of devices. Each of the information processing devices A (1) to A (N) may be, for example, a device of so-called IoT (Internet of Things) or ICT (Information and Communication Technology).
  • IoT Internet of Things
  • ICT Information and Communication Technology
  • each information processing apparatus A (1) to A (N) may be managed by any person.
  • Each of the information processing devices A (1) to A (N) may be managed by, for example, an individual (for example, an owner), or may be managed by an organization (for example, an owning organization).
  • an organization for example, an owning organization.
  • each information processing apparatus A (1) to A (N) may be managed by, for example, the same type of person, or may be managed by different types of person. .
  • one information processing apparatus A (1) (referred to as “first information processing apparatus A (1)” for convenience of explanation) is the leader, and other information from the second to the Nth The processing devices A (2) to A (N) are set.
  • the information processing system 1 may include an information processing apparatus other than the N information processing apparatuses A (1) to A (N).
  • the first information processing apparatus A (1) selects the second to N-th other information processing apparatuses A (2) to A (N) among the information processing apparatuses more than N. Set.
  • the first information processing apparatus A (1) may be determined in advance, for example, or may be determined at an arbitrary timing.
  • the first information processing apparatus A (1) may be determined according to the operation performed by the user (person) at an arbitrary timing.
  • the first information processing apparatus A (1) may be determined according to the fact that the predetermined condition is satisfied at an arbitrary timing and is automatically determined by an arbitrary apparatus.
  • the second to N-th information processing devices A (2) to A (N) may be determined in advance, for example, or may be determined at an arbitrary timing.
  • the second to N-th information processing devices A (2) to A (N) may be determined according to an operation performed by a user (person) at an arbitrary timing.
  • the second to N-th information processing devices A (2) to A (N) have predetermined conditions at any timing before transmission from the first information processing device A (1) is performed. May be determined by the first information processing apparatus A (1).
  • the second to N-th information processing devices A (2) to A (N) are transmitted from another information processing device whose order is earlier than the own device (in the example of FIG.
  • the other information processing apparatus may be determined by the other information processing apparatus based on a predetermined condition at an arbitrary timing before the transmission of the algorithm data a (1) is performed.
  • the first information processing apparatus A (1) transmits predetermined algorithm data a (1) to the second information processing apparatus A (2).
  • the algorithm data a (1) is data in which a predetermined algorithm is described, and is data including information indicating the algorithm. Such data may be called, for example, a program (or data of a program) or the like.
  • the algorithm may be called, for example, logic.
  • the predetermined algorithm may be predetermined, for example, or may be defined at any timing.
  • the predetermined algorithm may be determined according to the operation performed by the user (person) at any timing.
  • the predetermined algorithm is performed at an arbitrary timing before transmission from the first information processing apparatus A (1) (in the example of FIG. 1, transmission of the algorithm data a (1)) is performed. May be determined by the first information processing apparatus A (1) based on the condition of
  • the second information processing apparatus A (2) receives the algorithm data a (1) transmitted from the first information processing apparatus A (1). Also, the second information processing apparatus A (2) executes an operation according to the algorithm indicated by the information contained in the received algorithm data a (1) using the data stored in the own apparatus Do. The second information processing apparatus A (2) acquires data (calculation result data b (1)) as a result of execution of the calculation. Then, the second information processing apparatus A (2) transmits predetermined algorithm data a (2) and operation result data b (1) to the third information processing apparatus A (3).
  • the algorithm data a (2) is data in which a predetermined algorithm is described, and is data including information indicating the algorithm.
  • the third information processing device A (3) receives the algorithm data a (2) and the operation result data b (1) transmitted from the second information processing device A (2).
  • the third information processing apparatus A (3) executes an operation according to the algorithm indicated by the information contained in the received algorithm data a (2) using the data stored in the own apparatus. Do.
  • the third information processing apparatus A (3) acquires data (calculation result data b (2)) as a result of execution of the calculation.
  • the calculation result data b (1) before the calculation result data b (2) is reflected.
  • the operation result data b (2) may include the operation result data b (1) before that.
  • the calculation result data b (1) before that may be used for the calculation.
  • the third information processing device A (3) transmits predetermined algorithm data a (3) and operation result data b (2) to the fourth information processing device A (4).
  • the algorithm data a (3) is data in which a predetermined algorithm is described, and is data including information indicating the algorithm.
  • the ith information processing apparatus A (i) acquires data (calculation result data b (i-1)) as a result of execution of the calculation.
  • the operation result data b (i-1) before the operation result data b (i-1) is reflected.
  • the operation result data b (i-1) may include the operation result data b (i-2) before that.
  • the calculation result data b (i-2) before that may be used for the calculation.
  • the i-th information processing apparatus A (i) transmits predetermined algorithm data a (i) and operation result data b (i-1) to the (i + 1) -th information processing apparatus A (i + 1).
  • the algorithm data a (i) is data in which a predetermined algorithm is described, and is data including information indicating the algorithm.
  • the N-th information processing apparatus receives algorithm data a (N-1) transmitted from the (N-1) -th information processing apparatus A (N-1). Also, the N-th information processing apparatus A (N) uses the data stored in its own apparatus to perform an operation according to the algorithm indicated by the information contained in the received algorithm data a (N-1). ,Run.
  • the Nth information processing apparatus A (N) acquires data (calculation result data b (N ⁇ 1)) as a result of execution of the calculation.
  • the operation result data b (N ⁇ 1) before the operation result data b (N ⁇ 1) is reflected.
  • the operation result data b (N-1) may include the operation result data b (N-2) before that.
  • the N-th information processing device A (N) transmits the calculation result data b (N-1) to the first information processing device A (1).
  • FIG. 2 is a view showing a schematic configuration example of a first information processing apparatus A (1) according to an embodiment of the present invention.
  • FIG. 4 is a view showing a schematic configuration example of an N-th information processing apparatus A (N) according to an embodiment of the present invention.
  • the first information processing apparatus A (1), the j (j 2 to N-1) -th information processing apparatus A (j), the N-th information processing apparatus A
  • the information processing apparatus which can function as each of any two of these may be used, or it functions as each of any three of these.
  • An information processing apparatus that can be used may be used.
  • each of the information processing devices A (1) to A (N) shown in FIG. 1 has a function that can be an information processing device in any order (that is, shown in FIG. 2, FIG. 3, FIG. It may have a function that includes all functions.
  • the first information processing apparatus A (1) includes an input unit 111, an output unit 112, a storage unit 113, a communication unit 114, and a control unit 115.
  • the input unit 111 inputs information from the outside.
  • the input unit 111 includes an operation unit operated by a user (person), and inputs information according to an operation performed on the operation unit by the user.
  • the operation unit may be, for example, a keyboard or a mouse.
  • the input unit 111 may input information output from an external device.
  • the external device may be, for example, a portable storage medium such as a USB (Universal Serial Bus) memory.
  • the output unit 112 outputs information to the outside.
  • the output unit 112 may include a display unit that displays and outputs information to the user.
  • the display unit may be, for example, a liquid crystal panel.
  • the output unit 112 may include a sound output unit that outputs information to the user.
  • the sound output unit may be, for example, a speaker.
  • the output unit 112 may output information to an external device.
  • the external device may be, for example, a portable storage medium.
  • the operation unit included in the input unit 111 and the display unit included in the output unit 112 may be shared as a touch panel.
  • the function of the operation unit is configured by the function of inputting information according to the operation according to the state touched by the user on the touch panel, and the function of the display unit by the function of displaying information to the user by the touch panel Is configured.
  • the storage unit 113 stores various data.
  • the storage unit 113 stores data 151.
  • the storage unit 113 may store, for example, one or more of the algorithm data a (1) transmitted from the own device or the operation result data b (N ⁇ 1) received.
  • the data stored in the storage unit 113 may be reused, for example.
  • the communication unit 114 communicates with the other information processing devices A (2) to A (N). In the present embodiment, information for identifying each of the information processing apparatuses A (1) to A (N) is set. The communication unit 114 communicates with the other information processing apparatuses A (2) to A (N), using, for example, information identifying the respective devices as transmission source information or transmission destination information. In the present embodiment, the communication unit 114 has a function of a data reception unit that receives data from another device, and a function of a data transmission unit that transmits data to another device. Although the reception function of the communication unit 114 may be integrated with the function of the input unit 111, for example, in the present embodiment, for convenience of description, they are distinguished. Similarly, the transmission function of the communication unit 114 may be integrated with the function of the output unit 112, for example, but in the present embodiment, for convenience of description, they are distinguished.
  • the control unit 115 includes an algorithm generation unit 131, an information processing device search unit 132, a path determination unit 133, an algorithm transmission control unit 134, and an operation result acquisition unit 135.
  • the algorithm generation unit 131 generates a predetermined algorithm.
  • the algorithm may be an algorithm having an arbitrary content, and the algorithm to be executed by the information processing apparatus from the second information processing apparatus A (2) to the N-th information processing apparatus A (N) is set Be done.
  • the information processing device search unit 132 searches for at least the second information processing device A (2) among the other information processing devices A (2) to A (N).
  • any method may be used as a method of searching for the other information processing devices A (2) to A (N).
  • the route determination unit 133 determines a route including the other information processing devices A (2) to A (N) (at least the second information processing device A (2)) searched by the information processing device search unit 132. .
  • the information processing device search unit 132 may search all of the other information processing devices A (2) to A (N).
  • the path determination unit 133 determines a path including all of the other information processing devices A (2) to A (N) searched by the information processing device search unit 132.
  • the first information processing device A (1) information processing devices in all the order from the second information processing device A (2) to the N-th information processing device A (N) are determined. .
  • certain information is provided as the information processing apparatuses in all the order from the second information processing apparatus A (2) to the N-th information processing apparatus A (N).
  • the processing device may be set in advance, and in this case, the function of the information processing device search unit 132 and the function of the path determination unit 133 may not be included in the first information processing device A (1).
  • the information processing device search unit 132 may search only the second information processing device A (2) among the other information processing devices A (2) to A (N).
  • the path determination unit 133 determines the path including the second information processing device A (2) searched by the information processing device search unit 132.
  • the third and subsequent information processing devices are undecided.
  • the third and subsequent information processing apparatuses are determined.
  • the information processing device search unit 132 may select the second information processing device A (2) among the other information processing devices A (2) to A (N) and any other number Here, only (N ⁇ 3) or less information processors may be searched.
  • the path determination unit 133 determines a path including the second information processing device A (2) searched by the information processing device search unit 132 and some other information processing devices. In this case, in the path determined in the first information processing device A (1), the information processing devices in the order not searched are not determined. In this case, in the second and subsequent information processing apparatuses, an information processing apparatus that is undecided is determined.
  • the algorithm transmission control unit 134 causes the communication unit 114 to transmit data (algorithm data a (1)) in which the algorithm generated by the algorithm generation unit 131 is described to the second information processing apparatus A (2). Control.
  • information indicating the route determined by the route determination unit 133 (also referred to as “route information” for convenience of explanation) is added to the algorithm data a (1).
  • the path information may be added, for example, to be included inside algorithm data a (1), or may be added outside algorithm data a (1). Note that the path information may be considered to be part of an algorithm, in which case, for example, the algorithm is considered to include path information.
  • the calculation result acquisition unit 135 acquires the calculation result data b (N ⁇ 1) transmitted from the N-th information processing apparatus A (N) and received by the communication unit 114.
  • the first information processing apparatus A (1) first transmits algorithm data a (1). Then, data relating to the algorithm data a (1) is sequentially transmitted from the second information processing apparatus A (2) to the N-th information processing apparatus A (N), and a predetermined calculation is executed, and the N-th information processing is performed.
  • the operation result data b (N-1) acquired by the device A (N) is returned to the original first information processing device A (1).
  • the first information processing apparatus A (1) may transmit the algorithm data a (1) and receive the operation result data b (N-1) according to the algorithm data a (1). it can.
  • the j-th information processing apparatus A (j) includes an input unit 211, an output unit 212, a storage unit 213, a communication unit 214, and a control unit 215.
  • the functions of the input unit 211, the output unit 212, the storage unit 213, and the communication unit 214 are, roughly, the input unit 111, the output unit 112, and the storage unit in the first information processing apparatus A (1)
  • the functions are the same as the functions of the communication unit 113 and the communication unit 114, and the detailed description is omitted here.
  • the storage unit 213 stores data 251.
  • the storage unit 213 receives the received algorithm data a (j-1), the operation result data b (j-2) received when j is 3 or more, the algorithm data a transmitted from the own device (a (j j) or one or more of the operation result data b (j-1) transmitted from the own device may be stored.
  • the data stored in the storage unit 213 may be reused, for example.
  • the control unit 215 includes an algorithm acquisition unit 231, an operation execution unit 232, an algorithm generation unit 233, a path determination unit 234, and an algorithm transmission control unit 235.
  • the algorithm acquisition unit 231 transmits the algorithm data a (j ⁇ ) transmitted from the (j ⁇ 1) th information processing apparatus A (j ⁇ 1) that is the information processing apparatus in the previous order and received by the communication unit 214. Get 1). Further, when the operation result data b (j-2) is also transmitted from the (j-1) th information processing apparatus A (j-1), the operation result data b (j-2) is also transmitted to the communication unit. Received by 214.
  • the operation execution unit 232 uses the data 251 stored in the storage unit 213 to execute an operation according to the algorithm acquired by the algorithm acquisition unit 231.
  • the operation execution unit 232 also outputs the operation result data b (j-2) received from the (j-1) th information processing device A (j-1), if necessary. Use to perform the operation.
  • the operation execution unit 232 acquires the operation result data b (j-1).
  • the operation execution unit 232 includes, in the operation result data b (j-1), for example, part or all of the operation result data acquired by the information processing apparatus in the order before it. It is also good.
  • the algorithm generation unit 233 is an information processing device in the order after the one based on the algorithm data a (j-1) received from the (j-1) th information processing device A (j-1). An algorithm of algorithm data a (j) to be transmitted to the (j + 1) th information processing apparatus A (j + 1) is generated.
  • the algorithm generation unit 233 is the same as the algorithm described in the algorithm data a (j-1) received from the (j-1) th information processing device A (j-1). An algorithm is adopted to generate algorithm data a (j) in which the adopted algorithm is described.
  • the path determination unit 234 determines a path including the (j + 1) th information processing apparatus A (j + 1), which is the information processing apparatus in at least one subsequent order.
  • the path determination unit 234 determines a path according to the path.
  • the route determination unit 234 can determine the routes (part or all of the routes in the entire route) already determined in the information processing devices A (1) to A (j-1) in the order prior to the own device. For example, the route according to the route is decided by adopting the route as it is.
  • the path determination unit 234 is configured to select one of the paths (part of the entire path) that are undetermined in the information processing devices A (1) to A (j-1) in the order before the own device. Part or all may be determined.
  • the route determination unit 234 may have the same function as the information processing device search unit 132, and may determine the route based on the result of searching for the information processing device by the function. .
  • a configuration in which each of the information processing devices A (1) to A (N-1) determines the information processing devices A (2) to A (N) (the next communication counterpart) in the order one after the other May be used.
  • the algorithm transmission control unit 235 transmits the data (algorithm data a (j)) in which the algorithm generated by the algorithm generation unit 233 is described to the (j + 1) th information processing apparatus A (j + 1) by the communication unit 214 Control to do so.
  • information (route information) indicating the route determined by the route determination unit 234 is added to the algorithm data a (j).
  • the N-th information processing apparatus A (N) includes an input unit 311, an output unit 312, a storage unit 313, a communication unit 314, and a control unit 315.
  • the functions of the input unit 311, the output unit 312, the storage unit 313, and the communication unit 314 are, roughly, the input unit 111, the output unit 112, and the storage unit in the first information processing apparatus A (1)
  • the functions are the same as the functions of the communication unit 113 and the communication unit 114, and the detailed description is omitted here.
  • the storage unit 313 stores data 351.
  • the storage unit 313 may receive the received algorithm data a (N-1), the received operation result data b (N-2), or the operation result data b (N-1) transmitted from the own device. One or more of them may be stored. The data stored in the storage unit 313 may be reused, for example.
  • the control unit 315 includes an algorithm acquisition unit 331, an operation execution unit 332, a notification destination determination unit 333, and an operation result notification control unit 334.
  • the algorithm acquisition unit 331 is the algorithm data a (N ⁇ ) transmitted from the (N ⁇ 1) th information processing apparatus A (N ⁇ 1) that is the information processing apparatus in the previous order and received by the communication unit 314. Get 1). Further, when the operation result data b (N-2) is also transmitted from the (N-1) th information processing apparatus A (N-1), the operation result data b (N-2) is also transmitted to the communication unit. Received by 314.
  • the operation execution unit 332 uses the data 351 stored in the storage unit 313 to execute an operation according to the algorithm acquired by the algorithm acquisition unit 331.
  • the operation execution unit 332 also outputs the operation result data b (N-2) received from the (N-1) th information processing device A (N-1), if necessary. Use to perform the operation.
  • the operation execution unit 332 acquires the operation result data b (N ⁇ 1).
  • the operation execution unit 332 includes, in the operation result data b (N ⁇ 1), for example, part or all of the operation result data acquired by the information processing apparatus in the order before it. It is also good.
  • the notification destination determination unit 333 determines another information processing apparatus to be a notification destination of the calculation result data b (N ⁇ 1). In the present embodiment, the notification destination determination unit 333 determines the first information processing apparatus A (1) as a notification destination. In this embodiment, the information processing apparatus A (N) acquires information from the first information processing apparatus A (1) via the second and subsequent information processing apparatuses A (2) to A (N-1). It is assumed that the route information to be included includes information for identifying the first information processing apparatus A (1).
  • the notification destination determination unit 333 may determine an apparatus other than the first information processing apparatus A (1) as a notification destination.
  • the device to be the notification destination may be set in advance, for example, or may be determined in real time by the notification destination determination unit 333.
  • information for identifying a device to be a notification destination set in advance is from the first information processing device A (1) to the second and subsequent information processing devices A (2) to A (N-1). It may be acquired by the Nth information processing apparatus A (N).
  • information for identifying a device to be a notification destination may be set in advance to the N-th information processing device A (N).
  • the notification destination determination unit 333 may have the same function as the information processing device search unit 132, and determines the notification destination based on the result of searching for the information processing device by the function. It is also good.
  • the calculation result notification control unit 334 transmits the calculation result data b (N-1) to the notification destination determined by the notification destination determination unit 333 (in the present embodiment, the first information processing apparatus A (1)). Control is performed by the communication unit 314 to transmit.
  • FIG. 5 is a view showing an example of the information processing apparatus table 3011 according to the embodiment of the present invention.
  • the information processing device search unit 132 (or the corresponding function of another device having a similar function) in the first information processing device A (1) uses the table (information processing device table) 3011 related to the information processing device. It is also good.
  • the information processing device table 3011 is stored in, for example, the storage unit 113.
  • the information processing device table 3011 stores identification information, the power on / off state, and other attributes (the attribute ⁇ , the attribute ⁇ , etc. in the example of FIG. 5) in association with each information processing device. Do.
  • any attribute may be used.
  • a group to which the information processing apparatus belongs, a region where the information processing apparatus exists, age or sex of a user who uses the information processing apparatus, cooperation in the past of the information processing apparatus A degree (eg, the number of times added to the transmission of the algorithm as shown in FIG. 1, etc.), or the like may be used.
  • the degree of cooperation may be, as a specific example, a value based on the number or frequency of answers to a question or the like.
  • the information processing device search unit 132 generates and updates the information processing device table 3011 based on the result of the search of the information processing device. Note that part of the information in the information processing device table 3011 may be set in advance. Further, part of the information in the information processing apparatus table 3011 may be written by the user. Further, in the information processing apparatus storing the information processing apparatus table 3011, information on the own apparatus (the information processing apparatus) may or may not be stored in the information processing apparatus table 3011.
  • the path determination unit 133 (or the corresponding function of another apparatus having the same function) in the first information processing apparatus A (1) is a path for the information processing apparatus whose power is on.
  • the information processing apparatus whose power is off is not included in the path. That is, in the present embodiment, a method of determining (selecting) an information processing apparatus to be included in the path from among the information processing apparatuses in which the power is on may be used.
  • the path determination unit 133 (or the corresponding function of another device having the same function) in the first information processing apparatus A (1) is an information process belonging to a predetermined group (for example, the same group) An apparatus may be included in the path, but an information processing apparatus not belonging to the group may not be included in the path. That is, in the present embodiment, a method of determining (selecting) an information processing apparatus to be included in the route from among the information processing apparatuses belonging to the predetermined group may be used. Similarly, as for other attributes, a method of determining (selecting) an information processing apparatus to be included in the route from among the information processing apparatuses whose predetermined attribute is in a predetermined state may be used.
  • one (or a predetermined number) of information which is a part to be prioritized most among two or more different information processing apparatus candidates A method of determining (selecting) a processing device may be used.
  • FIG. 6 is a view showing a schematic example of data (transmission data 4011) transmitted from the first information processing apparatus A (1) according to the embodiment of the present invention.
  • the transmission data 4011 includes an algorithm 4031 (here, it represents the data for which the algorithm is described), and a parameter 4032.
  • parameters 4032 which are used when executing the algorithm 4031, are added to the algorithm 4031.
  • the parameter 4032 may be considered to be included in the algorithm 4031.
  • the transmission data 4011 includes path information.
  • Transmission data 4111 includes an algorithm 4131 (in this case, it represents data for which the algorithm is described), a parameter 4132, and an operation result 4133. Further, in the present embodiment, the transmission data 4111 includes path information.
  • the calculation result 4133 is added to the transmission data 4011 shown in FIG.
  • the calculation result 4133 corresponds to the calculation result data b (j-1).
  • FIG. 8 is a diagram showing a schematic example of data (transmission data 4211) transmitted from the N-th information processing apparatus A (N) according to an embodiment of the present invention.
  • the transmission data 4211 includes the calculation result 4231.
  • the calculation result 4231 corresponds to the calculation result data b (N ⁇ 1).
  • FIG. 9 is a diagram showing an outline of the overall operation of the information processing system 1 according to an embodiment (first embodiment) of the present invention.
  • the same algorithm C is described as algorithm data a (1) to a (N-1) from the first information processing apparatus A (1) to the N-th information processing apparatus A (N). Data will be transmitted.
  • the parameters in the respective algorithm data a (1) to a (N-1) may be, for example, the same or different.
  • the calculation results d (1) to d (N-1) are transmitted from the second information processing apparatus A (2) to the N-th information processing apparatus A (N). Go.
  • the operation according to the same algorithm C stores the data stored in each of the second information processing apparatus A (2) to the N-th information processing apparatus A (N).
  • These execution results (calculation results d (1) to d (N-1)) are finally notified to the first information processing apparatus A (1).
  • the calculation results d (1) to d (N-1) may be arranged independently, for example, or the second information processing device A (2) to the Nth information processing device A (N As the information processing devices A (3) to A (N) use the past calculation results for calculation as they are transmitted up to), even if they are substantially included in the next calculation results. Good.
  • the first information processing apparatus A (1) distributes the contents of the algorithm C for copying the contents of the test to the other information processing apparatuses A (2) to A (N), and the contents of the test
  • the list information of the information processing apparatuses A (2) to A (N) that have received the information can be acquired.
  • the algorithm C defines a process of copying and storing information of the contents of a predetermined test.
  • the information of the content of the test may be included in the data that the first information processing device A (1) transmits to the second information processing device A (2), or the second information processing device It may be included in the data stored in A (2) and extracted from the data.
  • the algorithm C may notify its own device (information processing devices A (2) to A (N)) to notify that each of the information processing devices A (2) to A (N) has replicated the contents of the test.
  • the process of including the identification information of the above in the respective calculation result data d (1) to d (N-1) is defined. Thereby, the contents of the test are replicated in each of the second information processing apparatus A (2) to the N-th information processing apparatus A (N), and the contents of the test are replicated (that is, the contents of the test A list (operation result data d (N-1)) of identification information of all received information processing devices A (2) to A (N) is acquired by the first information processing device A (1).
  • identification information of the respective information processing devices A (2) to A (N) is included in data stored in the respective information processing devices A (2) to A (N).
  • identification information of the respective information processing devices A (2) to A (N) for example, users who operate the respective information processing devices A (2) to A (N) (e.g. Identification information such as) may be used.
  • the first information processing apparatus A (1) distributes the content of algorithm C for determining the success or failure of the test to the other information processing apparatuses A (2) to A (N), and It is possible to obtain list information of the determination results of the pass / fail of the test for the information processing devices A (2) to A (N).
  • the algorithm C defines a process of determining pass / fail with reference to information on a predetermined test answer. The information on the answer of the test in each of the information processing devices A (2) to A (N) is included in the data stored in each of the information processing devices A (2) to A (N).
  • the algorithm C determines whether the information processing devices A (2) to A (N) A process is defined which includes information indicating the determination result in each of the calculation result data d (1) to d (N-1).
  • a process is defined which includes information indicating the determination result in each of the calculation result data d (1) to d (N-1).
  • the acceptance or rejection is judged based on the answer of the test, and all the information processing apparatuses A (2) to A list of information (calculation result data d (N-1)) indicating the determination result of each pass / fail for A (N) is acquired by the first information processing apparatus A (1).
  • the information processing devices A (2) to A (N) have the information processing device A (2 ) To A (N) or corresponding user identification information.
  • the data of the answer (answer) in each information processing apparatus A (2) to A (N) may not be collected, and the data of the determination result of pass / fail may be acquired. it can.
  • data of the determination result of the pass / fail for example, data concerning only those that passed may be used, data regarding only those that did not pass may be used, or data regarding both of these may be used. It is also good.
  • FIG. 10 is a diagram showing an example of the procedure of processing performed in the first information processing apparatus A (1) according to the embodiment of the present invention.
  • Step S1 The algorithm generation unit 131 generates an algorithm (algorithm C in the example of FIG. 9), and proceeds to the process of step S2.
  • Step S2 The information processing device search unit 132 searches for the information processing device A (2) that is at least the next communication partner, and proceeds to the process of step S3.
  • the information processing device search unit 132 selects all the information processing devices A (2). Search for ⁇ A (N).
  • Step S3 The path determination unit 133 determines the path including at least the next communication counterpart based on the search result by the information processing device search unit 132, and proceeds to the process of step S4.
  • the route determination unit 133 determines all routes.
  • the algorithm transmission control unit 134 transmits the data (algorithm data a (1)) in which the algorithm generated by the algorithm generation unit 131 is described according to the route determined by the route determination unit 133 to the next communication partner (second Is transmitted to the information processing apparatus A (2)), and the process proceeds to step S5.
  • Step S5 The calculation result acquisition unit 135 acquires (collects) information (calculation result data b (N-1)) of the final calculation result from the N-th information processing apparatus A (N), and ends the processing of this flow. Do.
  • Step S21 The algorithm acquisition unit 231 describes the algorithm data a (j-1) on the basis of the algorithm data a (j-1) transmitted from the information processing device A (j-1) in the immediately preceding order.
  • the obtained algorithm is acquired, and the process proceeds to step S22.
  • Step S22 The operation execution unit 232 executes the operation according to the algorithm based on the algorithm acquired by the algorithm acquisition unit 231 using the data 251 stored in the storage unit 213, and shifts to the process of step S23.
  • Step S23 The algorithm generation unit 233 generates (in this example, for example, duplicates) an algorithm (in the example of FIG. 9, the same algorithm C) to be transmitted to the information processing apparatus A (j + 1) in the next sequential order, It shifts to the processing of S24.
  • Step S24 The route determination unit 234 determines a route including at least the next communication counterpart, and proceeds to the process of step S25. When the first information processing apparatus A (1) determines all the paths, the path determination unit 234 determines the path so as to be the same as the already determined path (for example, copying) May do.
  • the algorithm transmission control unit 235 transmits data (algorithm data a (j)) in which the algorithm generated by the algorithm generation unit 233 is described to the next communication partner ((j + 1) according to the route determined by the route determination unit 234. ) To the information processing apparatus A (j + 1)), and the processing of this flow ends. At this time, the algorithm transmission control unit 235 also calculates the operation result data b (j-1) based on the result of the execution of the operation by the operation execution unit 232, the next communication partner ((j + 1) th information processor A (j + 1). Send to)).
  • FIG. 12 is a diagram showing an example of a procedure of processing performed in the N-th information processing apparatus A (N) according to an embodiment of the present invention.
  • Step S41 The algorithm acquisition unit 331 describes the algorithm data a (N-1) based on the algorithm data a (N-1) transmitted from the information processing device A (N-1) in the previous order. The obtained algorithm is acquired, and the process proceeds to step S42.
  • Step S42 The operation execution unit 332 executes an operation according to the algorithm using the data 351 stored in the storage unit 313 based on the algorithm acquired by the algorithm acquisition unit 331, and proceeds to the process of step S43.
  • Step S43 The notification destination determination unit 333 determines a notification destination of the calculation result, and proceeds to the process of step S44.
  • the notification destination determination unit 333 determines the designated notification destination. Decide where to notify. In this case, the information specifying the notification destination is transmitted from the first information processing device A (1) to the Nth information processing device A (N).
  • the calculation result notification control unit 334 notifies the notification destination by transmitting calculation result data b (N-1) based on the result of the calculation performed by the calculation execution unit 332 to the notification destination, End processing of the flow.
  • the calculation result data b (N-1) obtained by the N-th information processing apparatus A (N) in the last order is transmitted to the first information processing apparatus A (1)
  • a configuration is used in which the operation result data b (N-1) obtained by the N-th information processing device A (N) in the final order is transmitted to another device.
  • the other device is, for example, any one or more information processing devices of the second information processing device A (2) to the (N-1) th information processing device A (N-1). It may be another information processing apparatus (not shown).
  • the other information processing apparatus may be determined in advance, for example, and information designating the other information processing apparatus may be added to the algorithm data a (1) to a (N-1).
  • the case is shown where the calculation result data b (N-1) obtained by the N-th information processing apparatus A (N) in the final order is transmitted to an arbitrary apparatus as a notification destination.
  • a configuration for transmitting to any device to be notified may be used.
  • any device may be used as a notification destination of each of the calculation result data b (1) to b (N-1).
  • notification destinations of the respective calculation result data b (1) to b (N-1) for example, the same device may be used or different devices may be used.
  • the N-th information processing apparatus A (N) processes the N-th operation result data b (N-1) and the first information processing apparatus A (1) to the (N-1) -th information processing apparatus Each of A (N-1) may be notified.
  • final calculation result data b (N-1) is shared by all the information processing devices A (1) to A (N).
  • each of the information processing devices A (2) to A (N) may delete the received data (for example, algorithm data, operation result data) after using the received data. Alternatively, part or all of the data may be stored and stored. In the present embodiment, each of the information processing devices A (1) to A (N) may delete transmitted data (for example, algorithm data, operation result data) after transmission, or A part or all of the data may be stored and saved.
  • each of the information processing devices A (1) to A (N) included in one path is included in the path only once, but as another example, in one path
  • the same information processing apparatus may be included twice or more.
  • the plurality of information processing devices A (1) to A (N) may communicate in order by using, for example, a block chain technology.
  • the information processing system 1 according to the present embodiment it is possible to efficiently execute predetermined operations using data possessed by the plurality of information processing devices A (1) to A (N). It is.
  • the information processing system 1 according to the present embodiment is particularly effective for processing of big data.
  • data (algorithm data a) in which an algorithm is described rather than transmitting (transferring) data stored in each of the information processing devices A (2) to A (N)
  • This is particularly efficient when the data stored in the information processing devices A (2) to A (N) is enormous.
  • high-speed response, high-speed data sharing, and high-speed large-scale arithmetic processing can be performed by improving the efficiency of overall processing.
  • the cost required for the installation and maintenance of the server can be omitted.
  • it is also possible to reduce the communication cost for example, by adopting communication between the information processing devices A (1) to A (N).
  • data (algorithm data a (2) to a (N-1) in which an algorithm is described in each of the information processing devices A (2) to A (N)
  • data operation result data b (1) to b (N-2)
  • operation result data b (1) to b The configuration is not communicated for (N-2), or the computation result data b (1) to b (N-2) are communicated, but together with the algorithm data a (2) to a (N-1) Configurations that are not communicated may be used.
  • each information processing apparatus A (2) to A (N) it is assumed that data in which the algorithm is described (algorithm data a (2) to a (N-1)) is communicated in order. Capturing is also possible, and other additional configurations may be provided as needed.
  • FIG. 13 is a diagram showing an outline of the overall operation of the information processing system 1 according to an embodiment (the second embodiment) of the present invention.
  • the contents of each of the first information processing apparatus A (1) to the N-th information processing apparatus A (N) may be different as algorithm data e (1) to e (N-1).
  • Data describing the algorithm is transmitted.
  • the parameters in each of the algorithm data e (1) to e (N-1) may be, for example, the same or different.
  • the calculation results d (1) to d (N-1) are transmitted from the second information processing apparatus A (2) to the N-th information processing apparatus A (N). Go.
  • the algorithm generation unit 233 is identical to the algorithm acquired by the algorithm acquisition unit 231.
  • An algorithm or a different algorithm is generated as the next algorithm.
  • all the algorithms from the first information processing apparatus A (1) to the N-th information processing apparatus A (N) may be determined in advance by the first information processing apparatus A (1).
  • information for specifying (specifying) each of all the algorithms may be included, for example, in the algorithm data e (1) transmitted from the first information processing apparatus A (1).
  • a part or all of the second information processing apparatus A (2) to the (N-1) th information processing apparatus A (N-1) is an algorithm acquired by the algorithm acquiring unit 231
  • the storage unit 213 may store rules for generating the next algorithm on the basis of.
  • the rule may be stored in advance in the storage unit 213, for example, or may be input from the outside at an arbitrary timing and stored in the storage unit 213.
  • the rule may be, for example, a rule that generates the next algorithm based on the algorithm acquired by the algorithm acquisition unit 231 and the received calculation result data.
  • a method of generating the next algorithm for example, a method of newly generating an algorithm may be used, or by changing a part of a previous algorithm (for example, an immediately preceding algorithm) A technique that generates the following algorithm may be used.
  • the algorithm generation unit 233 when j is 2 or more, in the j-th information processing apparatus A (j), the algorithm generation unit 233 stores data stored in the j-th information processing apparatus A (j). The following algorithm may be generated based on part or all of (or, if necessary, other data). Further, in the present embodiment, when j is 3 or more, in the j-th information processing apparatus A (j), the algorithm generation unit 233 generates the (j-1) -th information processing apparatus A (j-1). The following algorithm may be generated based on part or all of the operation result data received from (or, if necessary, other data).
  • the operation according to the algorithms e (1) to e (N-1) which may differ from the second information processing device A (2) to the Nth information processing device A (N)
  • Each execution is performed using data stored in each, and the execution results (calculation results f (1) to f (N-1)) of these are finally output to the first information processing apparatus A (1).
  • the calculation results f (1) to f (N-1) may be arranged independently, for example, or the second information processing apparatus A (2) to the Nth information processing apparatus A (N) As the information processing devices A (3) to A (N) use the past calculation results for calculation as they are transmitted up to), even if they are substantially included in the next calculation results. Good.
  • a plurality of different algorithm data a (1) to a (N-1) are represented by predetermined functions F ⁇ 1> (x) to F ⁇ N-1> (x) using a predetermined variable x.
  • the algorithm data a (1), the algorithm data a (2), the algorithm data a (3)... are, for example, F ⁇ 1> (x), F ⁇ 2> (F ⁇ 1> (x) ), F ⁇ 3> (F ⁇ 2> (F ⁇ 1> (x))).
  • the first information processing apparatus A (1) distributes the contents of algorithm e (1) for copying the contents of the test to the other information processing apparatuses A (2) to A (N), It is possible to acquire list information of the information processing devices A (2) to A (N) that have received the contents of the above.
  • each of the algorithms e (1) to e (N-1) defines a process for generating and storing information on the content of a predetermined test.
  • each of the algorithms e (1) to e (N-1) is at least partially different.
  • each of the algorithms e (1) to e (N-1) may differ in part of the procedure for determining the order of the plurality of options in the selection problem.
  • each of the algorithms e (1) to e (N-1) is an apparatus (information) to notify that the information processing devices A (2) to A (N) have generated the contents of the test.
  • a process is defined to include identification information of the processing devices A (2) to A (N) in respective calculation result data f (1) to f (N-1).
  • FIG. 13 is different from the example of FIG. 9 in that each of the algorithms e (1) to e (N-1) may be different, and may be the same in other points. .
  • the first information processing apparatus A (1) distributes the contents of algorithm e (1) for determining the success or failure of the test to the other information processing apparatuses A (2) to A (N)
  • the list information of the determination results of the pass / fail of the test can be acquired for each of the information processing devices A (2) to A (N).
  • each of the algorithms e (1) to e (N-1) defines a process of determining pass / fail with reference to information on the answer of a predetermined test.
  • each of the algorithms e (1) to e (N-1) is at least partially different.
  • each of the algorithms e (1) to e (N-1) is an apparatus (information processing apparatus A) in order to notify the determination result of acceptance or rejection for each information processing apparatus A (2) to A (N).
  • a process is included which includes information indicating the determination result of pass / fail in the respective calculation result data f (1) to f (N-1). Note that the example of FIG. 13 is different from the example of FIG. 9 in that each of the algorithms e (1) to e (N-1) may be different, and may be the same in other points. .
  • each information processing apparatus determines whether or not the execution result of the operation according to the algorithm is a sufficient result, as compared with the above-described embodiments (first to second embodiments). It differs in points and is otherwise similar. Therefore, in the present embodiment, for convenience of explanation, except for the reference numerals shown in FIG. 14 and FIG. 15, the same reference numerals (shown in the drawings) as those in the above embodiments (first embodiment to second embodiment) are shown. Description will be made with reference to FIG.
  • FIG. 16 is a diagram showing a schematic configuration example of an information processing device B (z) of In the present embodiment, the total number (N) of information processing apparatuses included in the route may vary, but for convenience of explanation, it is assumed that N (N may vary in the present embodiment) for convenience of explanation. Do.
  • the z-th information processing apparatus B (z) includes an input unit 411, an output unit 412, a storage unit 413, a communication unit 414, and a control unit 415.
  • the respective functions of the input unit 411, the output unit 412, the storage unit 413, and the communication unit 414 are roughly the input unit 111 in the first information processing apparatus A (1) according to the first embodiment,
  • the function is the same as the function of each of the output unit 112, the storage unit 113, and the communication unit 114, and the detailed description is omitted here.
  • the storage unit 413 stores data 451.
  • the control unit 415 includes an algorithm acquisition unit 431, an operation execution unit 432, an operation result determination unit 433, an algorithm generation unit 434, a path determination unit 435, an algorithm transmission control unit 436, and a notification destination determination unit 437.
  • the calculation result notification control unit 438 is provided.
  • the algorithm acquisition unit 431 is the algorithm data a (z ⁇ ) transmitted from the (z ⁇ 1) th information processing apparatus B (z ⁇ 1) that is the information processing apparatus in the previous order and received by the communication unit 414. Get 1). Further, when the operation result data b (z-2) is also transmitted from the (z-1) th information processing apparatus B (z-1), the operation result data b (z-2) is also transmitted to the communication unit. Received by 414.
  • the operation execution unit 432 uses the data 451 stored in the storage unit 413 to execute an operation according to the algorithm acquired by the algorithm acquisition unit 431.
  • the operation execution unit 432 also receives the operation result data b (z ⁇ 2) received from the (z ⁇ 1) th information processing device B (z ⁇ 1), if necessary. Use to perform the operation.
  • the operation execution unit 432 obtains the operation result data b (z ⁇ 1).
  • the operation execution unit 432 includes, in the operation result data b (z ⁇ 1), for example, part or all of the operation result data acquired by the information processing apparatus in the order before it. It is also good.
  • the calculation result determination unit 433 determines whether or not the calculation result data b (z ⁇ 1) obtained as a result of the calculation performed by the calculation execution unit 432 is to be a final calculation result.
  • whether or not the calculation result of the determination target is to be the final calculation result is determined using, for example, a predetermined determination standard. Any standard may be used as the predetermined judgment standard. As an example, if the number ((z-1)) of information processing apparatuses that have already executed the calculation according to the algorithm is a predetermined threshold or more, the final calculation result is obtained, otherwise A criterion that is not a final calculation result may be used.
  • a criterion that is set as a final calculation result when the amount of information included in the obtained calculation result is equal to or more than a predetermined threshold, and is not set as a final calculation result in other cases May be used.
  • the final when the time elapsed from the time when the first algorithm data a (1) is transmitted from the first information processing device B (1) is equal to or more than a predetermined threshold
  • a standard calculation result may be used, and in other cases a final calculation result may not be used. In this case, information on the time or the time is sequentially transmitted from the first information processing apparatus B (1) to the subsequent information processing apparatuses B (j).
  • determination criteria for example, the same determination criteria may be used in all the information processing apparatuses B (z), or may be different for each information processing apparatus B (z). May be used. Also, such a determination criterion may be specified by, for example, the first information processing apparatus B (1), or may be generated by each information processing apparatus B (z). .
  • all the determination criteria of the second information processing apparatus B (2) and the subsequent information processing apparatuses are the first It may be determined in advance by the information processing apparatus B (1).
  • information for specifying (specifying) each of all the determination criteria may be included, for example, in the algorithm data a (1) transmitted from the first information processing apparatus B (1).
  • part or all of the second information processing apparatus B (2) and the subsequent information processing apparatuses in this example, the information processing apparatuses up to the N-th information processing apparatus B (N)) May generate the criterion independently. Any method may be used as a method of generating the determination criteria.
  • the algorithm generation unit 434 is an information processing apparatus in the order after the one based on the algorithm data a (z ⁇ 1) received from the (z ⁇ 1) th information processing apparatus B (z ⁇ 1) An algorithm of algorithm data a (z) to be transmitted to the (z + 1) th information processor B (z + 1) is generated.
  • the path determination unit 435 determines a path including the (z + 1) th information processing apparatus B (z + 1), which is an information processing apparatus in at least one subsequent order.
  • a configuration in which each of the information processing devices B (1) to B (N-1) determines the information processing devices B (2) to B (N) (the next communication counterpart) in the order one after the other May be used.
  • the algorithm transmission control unit 436 transmits the data (algorithm data a (z)) in which the algorithm generated by the algorithm generation unit 434 is described to the (z + 1) th information processing apparatus B (z + 1) by the communication unit 414. Control to do so.
  • information (route information) indicating the route determined by the route determination unit 435 is added to the algorithm data a (z).
  • the notification destination determination unit 437 determines another information processing apparatus to be a notification destination of the calculation result data b (z ⁇ 1). In the present embodiment, the notification destination determination unit 437 determines the first information processing apparatus B (1) as a notification destination. In this embodiment, the information processing apparatus B (N) acquires information from the first information processing apparatus B (1) via the second and subsequent information processing apparatuses B (2) to B (N-1). It is assumed that the route information to be included includes information for identifying the first information processing apparatus B (1).
  • the notification destination determining unit 437 may determine an apparatus other than the first information processing apparatus B (1) as a notification destination.
  • the device to be the notification destination may be set in advance, for example, or may be determined in real time by the notification destination determination unit 437.
  • information for identifying a device to be a notification destination set in advance is from the first information processing device B (1) to the second and subsequent information processing devices B (2) to B (N-1). It may be acquired by the Nth information processing apparatus B (N).
  • information for identifying a device to be a notification destination is set in advance to an arbitrary information processing apparatus (in the present example, an information processing apparatus that can be at least the N-th information processing apparatus B (N)) It is also good.
  • the notification destination determination unit 437 may have the same function as the information processing device search unit 132, and determines the notification destination based on the result of searching for the information processing device by the function. It is also good.
  • the calculation result notification control unit 438 transmits the calculation result data b (z ⁇ 1) to the notification destination determined in the notification destination determination unit 437 (in this embodiment, the first information processing apparatus B (1)). Control is performed by the communication unit 414 to transmit.
  • Step S111 The algorithm acquisition unit 431 describes the algorithm data a (z-1) on the basis of the algorithm data a (z-1) transmitted from the information processing apparatus B (z-1) in the immediately preceding order.
  • the obtained algorithm is acquired, and the process proceeds to step S112.
  • Step S112 The operation execution unit 432 uses the data 451 stored in the storage unit 413 to execute an operation according to the algorithm based on the algorithm acquired by the algorithm acquisition unit 431, and proceeds to the process of step S113.
  • Step S113 The calculation result determination unit 433 determines whether or not the result (calculation result) of the calculation performed by the calculation execution unit 432 is to be the final calculation result. As a result of the determination, when the calculation result determination unit 433 determines that the final calculation result is obtained for the result (calculation result) on which the calculation is performed by the calculation execution unit 432, the process proceeds to step S114. On the other hand, if it is determined that the operation result determination unit 433 does not obtain the final operation result for the result (operation result) on which the operation execution unit 432 executes the operation, the process proceeds to step S116. Transition.
  • Step S114 When the calculation result determination unit 433 determines that the calculation result is to be the final calculation result, the notification destination determination unit 437 determines a notification destination of the calculation result, and proceeds to the process of step S115.
  • the notification destination determination unit 437 determines the designated notification destination. Decide where to notify. In this case, the information specifying the notification destination is transmitted from the first information processing device B (1) to the Nth information processing device B (N).
  • the calculation result notification control unit 438 transmits calculation result data b (z-1) based on the result of the calculation performed by the calculation execution unit 432 to the notification destination to notify the notification destination, End processing of the flow.
  • Step S116 When the calculation result determination unit 433 determines that the calculation result is not the final calculation result, The algorithm generation unit 434 generates an algorithm to be transmitted to the information processing apparatus B (z + 1) that is one order later, and proceeds to the process of step S117.
  • the path determination unit 435 determines a path including at least the next communication counterpart, and proceeds to the process of step S118.
  • the route determining unit 435 determines the routes so as to be the same as the routes already determined.
  • the algorithm transmission control unit 436 transmits data (algorithm data a (z)) in which the algorithm generated by the algorithm generation unit 434 is described according to the route determined by the route determination unit 435 to the next communication partner ((z + 1 ) To the information processing apparatus B (z + 1)), and the processing of this flow ends. At this time, the algorithm transmission control unit 436 also calculates the operation result data b (z ⁇ 1) based on the result of the execution of the operation by the operation execution unit 432 to the next communication counterpart ((z + 1) th information processor B (z + 1). Send to)).
  • the N-th information processing apparatus B (N) it is determined that the obtained calculation result is to be the final calculation result, and the obtained calculation result is the first information processing. The case is indicated that the device B (1) is notified.
  • the second information processing apparatus B (2) to the (N-1) th information processing apparatus B (N-1) can obtain the information processing apparatus When it is determined that the calculated result is the final calculated result, the calculated result obtained by the information processing apparatus is notified to the first information processing apparatus B (1).
  • a determination criterion for determining whether or not the calculation result obtained in the information processing apparatus is to be the final calculation result is, for example, updated for each information processing apparatus B (z). It is also good.
  • a determination criterion for determining whether or not the calculation result obtained in the information processing apparatus is to be the final calculation result for example, the calculation results obtained by the plurality of information processing apparatuses B (z) are compared It may be updated based on the result of the comparison. As an example, when a predetermined number or more of the calculation results have the same value or a value within a predetermined range, a determination criterion that makes the calculation results valid may be generated. As another example, a determination criterion may be generated that determines that the operation result that is not the same value or is not within the predetermined range is not valid.
  • the paths from the first information processing apparatus A (1) to the N-th information processing apparatus A (N) are in a series relationship, but as another example , Paths including parallel parts may be used.
  • Paths including parallel parts may be used.
  • a route including parallel parts also referred to as “hierarchized parts” for convenience of explanation
  • the present embodiment is different from the above-described embodiments (first to third embodiments) in that a route including a hierarchized portion is used, and the other points are the same. Therefore, in the present embodiment, for convenience of explanation, except for the reference numerals shown in FIG. 16 to FIG. 18, the same reference numerals (shown in the drawing) are used as in the case of the above-mentioned embodiments (first to third embodiments). Description will be made with reference to FIG.
  • FIG. 16 is a view showing a schematic configuration example of the hierarchized part 501 according to an embodiment (the fourth embodiment) of the present invention.
  • FIG. 16 shows only the hierarchized portion 501 of the overall path as shown in FIG.
  • seven information processing devices C (1) to C (7) are shown.
  • the numbers (1 to 7) of the plurality of information processing apparatuses C (1) to C (7) and the order (order in the path) do not necessarily match.
  • path portions branched into two exist in parallel.
  • a route portion in which the information processing device C (1), the information processing device C (2), the information processing device C (3), the information processing device C (4), and the information processing device C (5) are in series There is a path portion in which the processing device C (1), the information processing device C (6), the information processing device C (7), and the information processing device C (5) are in series.
  • one or more information processing devices exist in the order before the information processing device C (1), and the information processing device C (5) There are one or more information processors (not shown) in the later order.
  • the information processing apparatus C (1) may be the first information processing apparatus
  • the information processing apparatus C (5) may be the Nth information processing apparatus.
  • the information processing device C (5) may be the first information processing device that receives notification of the calculation result, and in the example of FIG. 16, two different information processing devices C (4 And C (7) receive notification of the operation result.
  • the path part branched in 2 shows the path which exists in parallel
  • the path which the path part branched in 3 or more may exist in parallel may be used.
  • a route having two or more locations where the route portions exist in parallel may be used.
  • FIG. 17 is a view showing a schematic configuration example of the control unit 511 in the information processing device C (5) according to one embodiment (fourth embodiment) of the present invention.
  • the information processing device C (5) generates algorithm data g (4), g (7) and operation result data h (4), g (7) from two different information processing devices C (4), C (7).
  • Receive The control unit 511 in the information processing device C (5) includes a processing unit group 531 and an operation result determination unit 532.
  • the processing unit group 531 includes various processing units shown in the above-described embodiments (first to third embodiments), and the detailed description will be omitted.
  • the calculation result determination unit 532 performs predetermined determination on a plurality of calculation result data, and performs predetermined processing according to the determination result as necessary.
  • various determinations may be performed as the predetermined determination, and, for example, a determination regarding consistency, a determination regarding the number of information processing apparatuses passed through, or the like may be used.
  • various processes may be used as the predetermined process, and for example, a process of selecting one or more or a process of combining two or more may be used.
  • the predetermined determination for example, the determination may be performed using a reference related to a predetermined process performed according to the result of the determination.
  • determination based on criteria for performing selection may be performed for processing of selecting one or more, or based on criteria for performing combination for processing of combining two or more.
  • a determination may be made.
  • a criterion for making a selection for example, a criterion for determining whether to make a selection may be used.
  • a criterion for performing the combination for example, a criterion for determining whether or not to be combined or a criterion for determining (determining) the proportion of the combination may be used.
  • the calculation result determination unit 532 determines the consistency of a plurality of calculation result data, and performs processing according to the determination result as needed. For example, the calculation result determination unit 532 performs a process of combining a plurality of calculation result data determined to be consistent. Note that the calculation result determination unit 532 may perform a process of selecting (adopting) a part of the plurality of calculation result data determined that there is no consistency (or making a part not adopted). . In the example of FIG. 16, the calculation result determination unit 532 is the calculation result data h (4) having passed through the three information processing devices C (2), C (3) and C (4), and calculation is performed.
  • the calculation result determination unit 532 performs a process of combining the calculation result data h (4) and h (7), and treats the combination result as one calculation result data.
  • the calculation result determination unit 532 may be configured to determine the consistency of a plurality of calculation result data, and to select or combine the calculation result data or the like based on the determination result.
  • the calculation result determination unit 532 may determine the proportion of coupling and perform coupling in accordance with the determined proportion of coupling.
  • the calculation result determination unit 532 determines the number of information processing apparatuses passed through for a plurality of calculation result data, and performs processing according to the determination result as necessary. For example, the calculation result determination unit 532 selects (adopts) calculation result data that has passed through more information processing apparatuses after branching, and performs processing to discard (do not adopt) other calculation result data. In the example of FIG. 16, the calculation result determination unit 532 is the calculation result data h (4) having passed through the three information processing devices C (2), C (3) and C (4), and calculation is performed.
  • the operation result data h that has passed through more information processing devices It is determined to select (4).
  • the calculation result determination unit 532 performs a process of selecting the calculation result data h (4).
  • the operation result determination unit 532 may select one operation result data, for example, or two or more predetermined number of operation results Data may be selected.
  • the calculation result determination unit 532 may select, for example, the predetermined number of calculation result data from the one having the largest number of information processing devices passed through.
  • the operation result determination unit 532 may combine two or more selected operation result data. In this manner, the calculation result determination unit 532 determines the number of information processing devices passed through for a plurality of calculation result data, and performs selection or combination of calculation result data based on the determination result. It may be taken.
  • the calculation result determination unit 532 may determine the proportion of coupling and perform coupling in accordance with the determined proportion of coupling.
  • any reference other than those exemplified may be used as a reference for performing selection of the operation result data, for example, priority is given to those having earlier (or later) time of receiving the operation result data.
  • a criterion to be selected or a criterion to preferentially select operation result data passed through a specific information processing apparatus may be used.
  • the calculation result determination unit 532 may select one calculation result data, or may select two or more predetermined number of calculation result data, or any number satisfying a predetermined standard. The calculation result data of may be selected.
  • the calculation result determination unit 532 may select all calculation result data that satisfy a predetermined criterion, and in this configuration, all calculation result data of the calculation result data that are candidates are selected, and There may be a case in which part of the calculation result data is selected from among the calculation result data in which the above calculation is performed and a case in which none of the calculation result data is selected.
  • a configuration may be used in which the calculation result determination unit 532 selects at least one calculation result data based on a predetermined reference.
  • the predetermined reference may be set using, for example, a threshold, and in this case, the predetermined reference when the predetermined value relating to the calculation result data is equal to or more than the predetermined threshold (or less than the predetermined threshold). Can be used.
  • the predetermined value for example, a value such as the number of information processing apparatuses passed through may be used.
  • FIG. 18 is a diagram showing an example of the procedure of processing performed in the information processing device C (5) according to one embodiment (fourth embodiment) of the present invention.
  • the calculation result determination unit 532 obtains a plurality of calculation results received for a plurality of parallel path parts.
  • the calculation result determination unit 532 determines the presence / absence of consistency or the number of information processing devices passed through for the plurality of acquired calculation results. The contents of the determination are not limited to these, and various other contents of the determination may be used.
  • the calculation result determination unit 532 executes processing on the plurality of acquired calculation results based on the determination results.
  • the calculation result determination unit 532 may execute processing of combining a plurality of calculation results when it is determined that there is consistency regarding the determination of the presence or absence of the consistency.
  • a process of combining a plurality of calculation results for example, a process of generating information including all the information of the plurality of calculation results as a combination result may be used.
  • the calculation result determination unit 532 selects and selects one or more which is a part of a plurality of calculation results when it is determined that there is no consistency regarding the determination of the presence or absence of consistency. Processing may be performed.
  • a rule for selecting one or more of the plurality of operation results for example, various rules may be used or may be set in advance.
  • the information processing device C (5) receives two algorithm data g (4) and g (7).
  • the algorithm acquisition unit (for example, the algorithm acquisition unit shown in FIG. 3) in the information processing device C (5)
  • the function of 231) may obtain an algorithm described by any one of algorithm data g (4) and g (7).
  • an algorithm acquiring unit (for example, an algorithm acquiring unit shown in FIG. 3) in information processing device C (5)
  • the function of 231) may obtain, for example, an algorithm described by any one algorithm data g (4), g (7), or both algorithm data g (4), g (7)
  • the algorithm described by each of may be obtained.
  • the function of the algorithm generation unit (for example, the algorithm generation unit 233 shown in FIG. 3) is, for example, combining algorithms described by each of a plurality of such algorithm data An algorithm may be generated.
  • the result of determining the consistency of a plurality of calculation result data or the number of information processing devices passed through may be used, for example, to determine a route in the future.
  • information such as a numerical value representing the consistency of a plurality of calculation result data or a numerical value representing the number of information processing devices passed through is calculated (for convenience of explanation, also referred to as “decision value information”).
  • the determination value (determination value information) of the calculation result data obtained for the processing device is equal to or more than a predetermined threshold (here, it is assumed that it is good)
  • a predetermined threshold here, it is assumed that it is good
  • the determination value (determination value information) of the calculation result data obtained for a plurality of information processing apparatuses is lower than a predetermined threshold (here, it is assumed that the information processing apparatus is bad)
  • the plurality of information processing apparatuses A method may be used to prevent the combination of in the future in the path.
  • the information processing apparatus C (5) according to the present embodiment determines the presence / absence of consistency or the number of information processing apparatuses passed through for a plurality of calculation results.
  • the determination results can be used for a plurality of calculation results, for example, for selection of each calculation result or combining two or more calculation results. It is possible to be useful.
  • a configuration capable of switching whether the process of performing the determination by the calculation result determination unit 532 is turned on or off may be used. Such switching may be performed, for example, in response to an operation performed by the user such as the information processing device C (5), or automatically performed by the information processing device C (5) according to a predetermined rule.
  • the calculation result determination unit 532 performs a predetermined determination, and performs a predetermined process as necessary.
  • the calculation result determination unit 532 does not perform the predetermined determination, for example, and discards the calculation result data in a predetermined manner.
  • predetermined processing such as coupling is performed.
  • FIGS. 19-23 The present embodiment is different from the above-described embodiments (the first to fourth embodiments) in that data aggregation is performed, and the other points are the same. Therefore, in the present embodiment, for convenience of explanation, except for the reference numerals shown in FIGS. 19 to 23, the same reference numerals (shown in the drawings) as those in the above-described embodiments (first to fourth embodiments) are shown. Description will be made with reference to FIG.
  • FIG. 19, FIG. 20, and FIG. 21 are diagrams showing an outline of data aggregation performed in the information processing devices D (1) to D (4) according to one embodiment (fifth embodiment) of the present invention. .
  • Four information processing apparatuses D (1) to D (4) are shown in FIG.
  • the numbers (1 to 4) of the plurality of information processing devices D (1) to D (4) and the order (order in the path) do not necessarily match.
  • the information processing device D (1) stores three pieces of data k1 to k3 in a storage unit (not shown) of the own device.
  • a storage unit not shown
  • FIG. 19 an example of a method of storing the data k1 to k3 in the other information processing devices D (2) to D (4) is shown.
  • the information processing device D (1) transmits one data k1 to the information processing device D (2), and transmits another one data k2 to the information processing device D (3). And the other data k3 are transmitted to the information processing device D (4).
  • the information processing devices D (2) to D (4) each store one of the three data k1 to k3.
  • the information processing apparatus D (1) and the three information processing apparatuses D (2) to D (3) may have, for example, a relationship between a server and a client.
  • the information processing device D (2) transmits one piece of data k1 to the information processing device D (3).
  • the information processing device D (3) transmits one piece of data k2 to the information processing device D (4).
  • the information processing device D (4) transmits one piece of data k3 to the information processing device D (2).
  • each of the information processing devices D (2) to D (4) stores two pieces of data of the three pieces of data k1 to k3.
  • the information processing device D (2) transmits one piece of data k3 to the information processing device D (3).
  • the information processing device D (3) transmits one piece of data k1 to the information processing device D (4).
  • the information processing device D (4) transmits one piece of data k2 to the information processing device D (2).
  • each of the information processing devices D (2) to D (4) stores all three pieces of data k1 to k3.
  • the plurality of information processing devices D (2) to D (3) are configured to transmit data received from the information processing device D (1) to other information processing devices D (2) to D Between (3), for example, automatically complement and share.
  • the data k1 to k3 can be distributed and distributed to a plurality of information processing devices D (2) to D (3).
  • distributed encryption of the data k1 to k3 may be performed, and as a specific example, a secret sharing method may be used.
  • the use authority which may be called “use condition” or the like
  • the use authority which may be called “use condition” or the like
  • FIG. 22 is a view showing a schematic configuration example of an information processing system 601 according to an embodiment (fifth embodiment) of the present invention.
  • An information processing system 601 according to the present embodiment includes M (in the present embodiment, M is an integer of 3 or more) information processing devices E (1) to E (M). Further, the information processing system 601 according to the present embodiment includes P (in the present embodiment, P is an integer of 1 or more) information processing devices F (1) to F (P). Further, the information processing system 601 according to the present embodiment includes Q (in the present embodiment, Q is an integer of 1 or more) information processing devices G (1) to G (Q).
  • algorithm data m (1) to m (M-1) transmitted from the respective information processing devices E (1) to E (M-1) and the respective information processing devices E (2) Operation result data n (1) to n (M-1) transmitted from to E (M) are shown.
  • Each of the information processing devices F (1) to F (P) stores data p (1) to p (P).
  • the respective information processing devices G (1) to G (Q) store data q (1) to q (Q).
  • the information processing apparatuses communicate with each other, whereby a specific information processing apparatus (in the example of FIG. 22, the information processing apparatuses E (2) and E (M)) Aggregate data
  • each of the information processing devices F (1) to F (P) transmits data p (1) to p (P) stored in the own device to the information processing device E (2).
  • the information processing device E (2) receives the data p (1) to p (P) and stores it in the storage unit of the own device. Also, in the example of FIG.
  • each of the information processing devices G (1) to G (Q) transmits the data q (1) to q (Q) stored in the own device to the information processing device E (M). Send.
  • the information processing device E (M) receives the data q (1) to q (Q) and stores the data q (1) to q (Q) in the storage unit of the own device.
  • the information processing device E (2) and the information processing device E (M) are included in the route to which the algorithm is transmitted.
  • the information processing device E (2) combines data p (1) to p (P) collected from other information processing devices F (1) to F (P), or
  • the data p (1) to p (P) include data (not shown) stored in the own apparatus, and the operation according to the algorithm is executed using a group.
  • the information processing device E (M) combines data q (1) to q (Q) collected from other information processing devices G (1) to G (Q), or Using a group including data (not shown) stored in the own device in these data q (1) to q (Q), an operation according to the algorithm is executed.
  • FIG. 23 is a diagram showing an example of the procedure of processing performed in the information processing system 601 according to an embodiment (fifth embodiment) of the present invention.
  • Step S311 In the information processing system 601, first, data are consolidated, and the process proceeds to step S312. Thereby, data used in the operation according to the algorithm is collected in the specific information processing apparatus (the information processing apparatuses E (2) and E (M) in the example of FIG. 22).
  • Step S312 In the information processing system 601, operations are performed according to the algorithm based on an algorithm in order from the first information processing device E (1) to the Mth information processing device E (M) according to the flow of the path Execution and the like (for example, the same processing as in the example of FIG. 1) are performed.
  • a plurality of different information processing apparatuses a plurality of different information processing apparatuses F (1) to F (P), E (2), Alternatively, transfer of data (here, data which is not algorithm data) stored in each information processing apparatus among a plurality of different information processing apparatuses G (1) to G (Q), E (M)) After that, according to the flow of the path, the execution of the operation according to the algorithm is performed.
  • the information processing system 601 it is possible to achieve efficiency as a whole of data aggregation and execution of operations according to an algorithm.
  • all the data stored in ten different information processing apparatuses are transmitted to one information processing apparatus (here, referred to as “information processing apparatus R1” for convenience of explanation) and then aggregated.
  • all the data stored in the other 10 different information processing apparatuses are transmitted to one of the information processing apparatuses (here, referred to as "information processing apparatus R2" for convenience of explanation) and aggregated.
  • forming (determining) a path including the two information processing devices R1 and R2 may be performed.
  • An information processing apparatus E which passes data p (1) to p (P) and q (1) to q (Q) to one or more information processing apparatuses E (2) and E (M) to be included, and is included in a route (2)
  • E (M) the operation is performed based on an algorithm using the data p (1) to p (P) and q (1) to q (Q).
  • various information processing apparatuses may be used as the information processing apparatus included in the route.
  • FIG. 24 is a diagram illustrating an example of the communication system 2001.
  • the communication system 2001 has a plurality of (two in the example of FIG. 24) networks 2011 and 2012.
  • the network 2011 includes a plurality of information processing apparatuses 2031 to 2035.
  • the network 2012 includes a plurality of information processing apparatuses 2051 to 2055.
  • the example of FIG. 24 shows the case where two information processing apparatuses 2035 and 2055 in a plurality of different networks 2011 and 2012 communicate with each other.
  • the information processing apparatuses included in one path are, for example, included in the same network (the network 2011 or the network 2012 in the example of FIG. 24).
  • the information processing apparatus may be an information processing apparatus, or may be an information processing apparatus included in a different network.
  • FIG. 25 is a diagram illustrating an example of the serverless communication system 2101.
  • the communication system 2101 includes a plurality of terminal devices 2111 to 2118.
  • the respective terminal devices 2111 to 2118 correspond to information processing devices.
  • there is no server and communication is performed between the terminal devices 2111 to 2118.
  • FIG. 25 a case is shown where each of the terminal devices 2111 to 2118 can communicate with other terminal devices 2111 to 2118 in a roundabout manner.
  • the terminal devices 2111 to 2118 by cooperation of the terminal devices 2111 to 2118, it is possible to construct an infrastructure that does not require a server.
  • P2P communication may be performed beyond a network configured by NAT (Network Address Translation).
  • part or all of the information processing apparatuses included in one path are, for example, terminal devices included in the serverless communication system 2101. It may be.
  • some or all of the information processing apparatuses that communicate with each other may be, for example, a terminal apparatus included in the serverless communication system 2101. Good.
  • FIG. 26 is a diagram showing an example of a hardware configuration of the information processing device 2211 according to an embodiment of the present invention.
  • An information processing apparatus 2211 having a hardware configuration as shown in FIG. 26 may be used as the information processing apparatus in the above embodiments (first to fifth embodiments).
  • the configuration such as the information processing device 2211 according to the example of FIG. 26 may be partially modified, for example, and applied to various devices.
  • the information processing device 2211 connects the processor 2231, the operation unit 2232, the display unit 2233, the storage device 2234, the memory 2235, the input / output interface 2236, and the network interface 2237.
  • a bus 2311 is provided.
  • the processor 2231 is configured by a CPU (Central Processing Unit) or the like, and executes a program to execute processing specified in the program.
  • the operation unit 2232 includes one or more input devices of a keyboard, a mouse, and the like, and receives an operation performed by a user (person).
  • the display unit 2233 has a screen, and displays and outputs information on the screen.
  • the storage device 2234 is a non-volatile storage unit, and includes, for example, a hard disk, and stores data.
  • the storage device 2234 (or the memory 2235) may store, for example, a program executed by the processor 2231.
  • the memory 2235 is a volatile storage unit, and is configured by a RAM (Random Access Memory) or the like, and temporarily stores data.
  • a dynamic random access memory (DRAM) may be used as the RAM.
  • the input / output interface 2236 is an interface connected to an external recording medium or the like.
  • the network interface 2237 is an interface connected to an external network.
  • the information processing device 2211 may include one processor as the processor 2231 or may include two or more processors.
  • the information processing apparatus 2211 may include a plurality of CPUs, each of which may execute respective processing, and may cooperate with the plurality of CPUs to realize the entire processing.
  • an information processing apparatus that can be used in various information processing systems including the information processing system (for example, the information processing system 1, 601) in the first to fifth embodiments will be described.
  • the information processing apparatus according to the present embodiment may be the same as any of the information processing apparatuses described in the first to fifth embodiments.
  • a plurality of information processing apparatuses transmit algorithm data in a predetermined order.
  • all the information processing apparatuses can be configured to have the same function by, for example, installing the same program in all the information processing apparatuses.
  • an information processing apparatus having such a configuration will be described.
  • FIG. 27 is a view showing a schematic configuration example of the information processing device H (1) according to one embodiment (sixth embodiment) of the present invention.
  • FIG. 27 is a view showing a schematic configuration example of the information processing device H (1) according to one embodiment (sixth embodiment) of the present invention.
  • an overview of the functions of the information processing device H (1) will be described.
  • the same function as the function described in the first to fifth embodiments may be used.
  • the information processing device H (1) includes a process execution function 711 and a storage 712.
  • the process execution function 711 includes a processor 731 and software 732.
  • the processor 731 is a CPU or the like.
  • the software 732 includes a program.
  • the program realizes a function of executing a process of transmitting algorithm data according to the present embodiment.
  • the process execution function 711 executes various processes by the processor 731 reading and executing the program.
  • the software 732 may be stored in any storage unit, for example, may be stored in the storage 712, or may be stored in a storage unit other than the storage 712.
  • the storage 712 stores data 751.
  • the storage 712 is an example of a storage unit, and any storage may be used as the storage 712.
  • the process execution function 711 executes a reception process ST1, an arithmetic process ST2, and a transmission process ST3.
  • the reception process ST1 is a process of receiving algorithm data 771 from another information processing apparatus.
  • the reception process ST1 may include a process of receiving data 772 (in the present embodiment, data other than the algorithm data 771) from the other information processing apparatus.
  • the data 772 may be received simultaneously with the algorithm data 771 from another information processing apparatus, or the data 772 may be received at a timing different from that of the algorithm data 771.
  • the process of simultaneously receiving different data may be, for example, a process of receiving different data at the same time (or partially overlapping time), but in the present embodiment, different data is temporally Processing may be included to be received back and forth consecutively.
  • the operation process ST2 is a process of executing an operation based on the algorithm described in the algorithm data 771 received by the reception process ST1 using the data 751 stored in the storage 712.
  • the operation processing ST2 applies the algorithm described in the algorithm data 771 received by the reception processing ST1 to the data 751 held in the information processing device H (1) to obtain the result of the operation. .
  • the transmission process ST3 is a process of transmitting the algorithm data 791 to another information processing apparatus.
  • the transmission process ST3 may include a process of transmitting data 792 (in the present embodiment, data other than the algorithm data 791) to the other information processing apparatus.
  • the data 792 may be transmitted simultaneously with the algorithm data 791 to another information processing apparatus, or the data 792 may be transmitted at a timing different from that of the algorithm data 791.
  • the process of simultaneously transmitting different data may be, for example, a process of transmitting different data at the same time (or partially overlapping time), but in this embodiment, different data is temporally Processing may be included to send continuously back and forth.
  • the data 772 in the reception process ST1 may be any data, and may include, for example, data on the result of an operation performed in another information processing apparatus.
  • the data 792 in the transmission process ST3 may be any data, and may include, for example, data on the result of the operation performed in the operation process ST2.
  • U in the present embodiment, U is an integer of 2 or more information processing devices H (1) to H (U) having the same function as the information processing device H (1).
  • An information processing system comprising The function is realized, for example, by installing common software 732 in each of the information processing devices H (1) to H (U).
  • the U information processing devices H (1) to H (U) have similar functions. Therefore, in the present embodiment, for convenience of description, the U information processing devices H (1) to H (U) are described with the same reference numerals as those shown in FIG.
  • Each of the information processing devices H (1) to H (U) has a function of executing the reception process ST1, a function of executing the operation process ST2, and a function of executing the transmission process ST3 using the common software 732.
  • U information processing devices H (1) to H (U) it is possible for U information processing devices H (1) to H (U) to transmit algorithms in serial order.
  • each of the information processing devices H (1) to H (U) is received as reception processing ST1 for receiving the algorithm data 771 from the information processing device of the previous (that is, the previous stage of the order).
  • the receiving process ST1 may include a process of receiving the data 772 from the information processing apparatus at the previous stage.
  • the transmission process ST3 may include a process of transmitting the data 792 to the information processing apparatus of the next stage.
  • the U information processing devices H (1) to H (U) transmit the algorithm in the order of serial in that order.
  • the U information processing devices H (1) to H (U) may be arranged in series in an arbitrary order.
  • the U information processing devices H (1) to H (U) transmit the algorithm in the order in the path by any path in which both serial and parallel are used. It is also good.
  • the respective information processing apparatuses H (1) to H (U) execute the arithmetic processing ST2 and the transmission processing ST3. It can be understood that the process is continuously performed in a predetermined order. In this case, in response to the transmission process ST3 by the information processing apparatus on the transmission side, the reception process ST1 by the information processing apparatus on the reception side is also performed.
  • the second information processing apparatuses H (1) to U-th information processing apparatus H (U) receive It can be understood that the execution of the process ST1 and the operation process ST2 is continuously performed in a predetermined order. In this case, transmission processing ST3 by the transmission-side information processing device corresponding to reception processing ST1 by the reception-side information processing device is also performed.
  • the algorithm data 791 is transmitted from the U-th information processing device H (U) to the first information processing device H (1), and the first information processing device H (1) is the algorithm data A reception process ST1 of receiving 791 as the algorithm data 771 to be received and an operation process ST2 of executing an operation based on the algorithm described in the received algorithm data 771 may be performed.
  • the first information processing apparatus H (1) may be used as a next-stage information processing apparatus for the final (final) information processing apparatus H (U).
  • the first (first) information processing apparatus H (1) receives the algorithm data 791 transmitted from the last information processing apparatus H (U) as algorithm data 771 to be received.
  • the U information processing devices H (1) to H (U) are annular, and the algorithm is transmitted to a looped route.
  • Each of the information processing devices H (1) to H (U) has a function of executing the reception process ST1, the operation process ST2, and the transmission process ST3, but the respective processes may not necessarily be performed. .
  • the first information processing device H (1) transmits the initial algorithm to the second information processing device H (2), the first information processing device H (1) may not execute the reception process ST1.
  • the first information processing device H (1) may generate, for example, an initial algorithm, or may receive the initial algorithm from another device.
  • each of the information processing devices H (1) to H (U) may not execute the arithmetic processing ST2.
  • the first information processing apparatus H (1) may not execute the operation processing ST2 based on the initial algorithm.
  • any of the information processing devices H (1) to H (U) execute the reception process ST1 for receiving the algorithm data 771 from the information processing device of the previous stage, and the operation based on the algorithm described in the algorithm data 771
  • the transmission process ST3 may be executed to transmit the algorithm data 791 in which an algorithm according to the algorithm is described to the next information processing apparatus.
  • each of the information processing devices H (1) to H (U) may not execute the transmission process ST3.
  • the final information processing apparatus H (U) uses algorithm data 791 in which an algorithm according to the algorithm described in the algorithm data 771 received from the information processing apparatus in the previous stage is described to another information processing apparatus It does not have to be sent.
  • the U information processing devices H (1) to H (U) in which the common software 732 is installed are in principle functionally equivalent even if they are the same.
  • some functions may not be executed, or some processes may be changed to perform some functions depending on the order in the path or other conditions.
  • As an aspect of changing the contents of processing for example, an aspect of omitting, adding or changing the contents of transmission object in transmission process ST3, an aspect of omitting, adding or changing the contents of reception object in reception process ST1, etc.
  • any of the information processing devices H (1) to H (U) receives algorithm data 771 from the information processing device of the previous stage, and executes an operation based on the algorithm described in the received algorithm data 771,
  • algorithm data 791 in which an algorithm according to the algorithm is described is described to the information processing apparatus at the next stage
  • data on the result of the operation is transmitted to the information processing apparatus at the next stage You do not have to.
  • an action (operation) by an algorithm is applied to data held in the information processing apparatus.
  • the information processing apparatus may be configured to transmit data regarding the result of the calculation to the information processing apparatus at the next stage.
  • data representing the success or failure of the process related to the operation may be used as the data related to the result of the operation.
  • the case where all the information processing devices H (1) to H (U) have the same function is described, but exceptionally, some information processing devices have different functions. It is also good.
  • the right to become the first information processing apparatus that is the source of the initial algorithm may be provided.
  • the right among the information processing apparatuses H (1) to H (U) Only one or more information processing apparatuses given can be the first information processing apparatus.
  • the right may be set by any method. For example, information indicating the right may be set by being stored in the corresponding information processing apparatus.
  • FIG. 28 shows two information processing apparatuses according to one embodiment (sixth embodiment) of the present invention (in this example, the first information processing apparatus H (1) and the second information processing apparatus H (2) ) Is a diagram showing an example of processing performed in step.
  • This example is an example of the minimum configuration, and is an example in the case where the first information processing apparatus H (1) executes an operation based on an algorithm.
  • the information processing device H (1) executes an operation based on an initial algorithm in the operation processing ST11.
  • the information processing device H (1) transmits, to the information processing device H (2), algorithm data in which an algorithm according to the initial algorithm is described.
  • the information processing device H (2) receives the algorithm data transmitted from the information processing device H (1) in a reception process (not shown).
  • data related to the result of the calculation in the arithmetic processing ST11 may be transmitted from the information processing device H (1) to the information processing device H (2) simultaneously with the algorithm data or at another timing.
  • the information processing device H (2) executes an operation based on the algorithm described in the algorithm data received from the information processing device H (1) in the operation processing ST13.
  • the information processing device H (2) transmits, to the information processing device H (1), algorithm data in which an algorithm corresponding to the algorithm is described.
  • the information processing device H (1) receives the algorithm data transmitted from the information processing device H (2) in a reception process (not shown).
  • data related to the result of the computation in the computation processing ST13 may be transmitted from the information processing device H (2) to the information processing device H (1) simultaneously with the algorithm data or at another timing.
  • the process of transmitting the algorithm data may not be performed from the information processing apparatus H (2) to the information processing apparatus H (1). For example, the process of transmitting data etc. regarding the result of the calculation in the calculation process ST13 It may be done.
  • the first information processing apparatus H (1) employs arithmetic processing, not reception processing, as the first processing for transmitting an algorithm. Also, in this example, the first information processing apparatus H (1) receives data (for example, algorithm data or other data) transmitted from the final second information processing apparatus H (2). . Further, in the example of FIG. 28, for example, the first information processing apparatus H (1) has a role of issuing a command related to transmission of an algorithm (here, a command instructing start of transmission of the algorithm). . Further, in the example of FIG. 28, for example, the first information processing apparatus H (1) may have a role of receiving notification of data relating to a result relating to transmission of an algorithm and totaling the data.
  • data for example, algorithm data or other data
  • FIG. 29 shows two information processing apparatuses according to an embodiment (sixth embodiment) of the present invention (in this example, the first information processing apparatus H (1), the second information processing apparatus H (2) ) Is a diagram showing an example of processing performed in step.
  • the present example is an example of the minimum configuration, and is another example of the case where the first information processing apparatus H (1) executes an operation based on an algorithm.
  • the information processing device H (1) transmits, to the information processing device H (2), algorithm data in which an algorithm according to the initial algorithm is described in the transmission processing ST21.
  • the information processing device H (2) receives the algorithm data transmitted from the information processing device H (1) in a reception process (not shown).
  • other data may be transmitted from the information processing device H (1) to the information processing device H (2) simultaneously with the algorithm data or at another timing.
  • the information processing device H (2) executes an operation based on the algorithm described in the algorithm data received from the information processing device H (1) in the operation processing ST22.
  • the information processing device H (2) transmits, to the information processing device H (1), algorithm data in which an algorithm according to the algorithm is described.
  • the information processing device H (1) receives the algorithm data transmitted from the information processing device H (2) in a reception process (not shown).
  • data related to the result of the calculation in the arithmetic processing ST22 may be transmitted from the information processing device H (2) to the information processing device H (1) simultaneously with the algorithm data or at another timing.
  • the information processing device H (1) executes an operation based on the algorithm described in the algorithm data received from the information processing device H (2) in the operation processing ST24.
  • the first information processing apparatus H (1) adopts transmission processing, not reception processing or arithmetic processing, as the first processing for transmitting an algorithm. Also, in this example, the first information processing apparatus H (1) receives data (for example, algorithm data or other data) transmitted from the final second information processing apparatus H (2). . Further, in the example of FIG. 29, for example, the first information processing apparatus H (1) has a role of issuing a command related to transmission of an algorithm (here, a command instructing start of transmission of the algorithm). . Further, in the example of FIG. 29, for example, the first information processing apparatus H (1) may have a role of receiving notification of data relating to a result relating to transmission of an algorithm and totaling the data.
  • data for example, algorithm data or other data
  • FIG. 30 shows two information processing apparatuses according to one embodiment (sixth embodiment) of the present invention (in this example, the first information processing apparatus H (1), the second information processing apparatus H (2) ) Is a diagram showing an example of processing performed in step.
  • the present example is an example of the minimum configuration, and is an example in which the first information processing apparatus H (1) does not execute the operation based on the algorithm.
  • the information processing device H (1) transmits, to the information processing device H (2), algorithm data in which an algorithm according to the initial algorithm is described in the transmission processing ST31.
  • the information processing device H (2) receives the algorithm data transmitted from the information processing device H (1) in a reception process (not shown). In this case, other data may be transmitted from the information processing device H (1) to the information processing device H (2) simultaneously with the algorithm data or at another timing.
  • the information processing device H (2) executes an operation based on the algorithm described in the algorithm data received from the information processing device H (1) in the operation processing ST32.
  • the information processing device H (2) transmits, to the information processing device H (1), algorithm data in which an algorithm corresponding to the algorithm is described.
  • the information processing device H (1) receives the algorithm data transmitted from the information processing device H (2) in a reception process (not shown).
  • data related to the result of the computation in the computation process ST32 may be transmitted from the information processing device H (2) to the information processing device H (1) simultaneously with the algorithm data or at another timing. Note that the process of transmitting the algorithm data may not be performed from the information processing device H (2) to the information processing device H (1). It may be done.
  • the first information processing apparatus H (1) adopts transmission processing, not reception processing or arithmetic processing, as the first processing for transmitting an algorithm. Also, in this example, the first information processing apparatus H (1) receives data (for example, algorithm data or other data) transmitted from the final second information processing apparatus H (2). . Further, in the example of FIG. 30, for example, the first information processing apparatus H (1) has a role of issuing a command related to transmission of an algorithm (here, a command instructing start of transmission of the algorithm). . Further, in the example of FIG. 30, for example, the first information processing apparatus H (1) may have a role of receiving notification of data relating to a result related to transmission of an algorithm and totaling the data.
  • the information processing devices H (1) to H (U) according to the present embodiment may be applied to the information processing device of any aspect shown in the first to fifth embodiments, and other aspects
  • the present invention may be applied to the information processing apparatus of
  • the common software 732 shown in FIG. 27 is a program or a parameter that implements the function that should be possessed by the information processing apparatus to which the information processing apparatuses H (1) to H (U) according to the present embodiment are applied. And so on.
  • each information processing device H (1) to H (U) is, for example, a path through which algorithm data is transmitted. It may have a function of changing the operation based on the order of the own device (the information processing devices H (1) to H (U)) in the above.
  • each of the information processing devices H (1) to H (U) may change the operation according to the order of the own device. For example, in the case where each of the information processing devices H (1) to H (U) transmits algorithm data, each of the information processing devices H (1) to H (U) performs its own device (the information processing device The information which can grasp the order of H (1) to H (U)) is transmitted.
  • the information may be, for example, information indicating the order of the information processing apparatus in the previous stage, or information indicating the order of the certain information processing apparatus (self).
  • Each of the information processing devices H (1) to H (U) is, for example, one of its own devices (the information processing devices H (1) to H (U)) based on the information received from the information processing device at the previous stage. Determine the order.
  • an aspect in which the operation differs depending on the order in the path for example, an aspect in which the first operation and the second to final operations are different may be used, or the first operation and An aspect may be used in which the second to last operations and the last operation are different, or other embodiments may be used.
  • each of the information processing devices H (1) to H (U) changes its operation according to elements other than the order of its own device (the information processing devices H (1) to H (U)) Good.
  • the element for example, date, time, attributes of own device (the information processing devices H (1) to H (U)), and rows of the own device (the information processing devices H (1) to H (U))
  • the predetermined determination at least a part of the data stored in the own device (the information processing devices H (1) to H (U)) may be used, or At least a portion of the data received from may be used.
  • each of the information processing devices H (1) to H (U) changes the operation according to both the order of the own device (the information processing devices H (1) to H (U)) and other elements.
  • the first information processing apparatus H (1) may start the first operation in response to, for example, the user performing a predetermined operation, or may predetermine in the common software 732 The first operation may be started in response to satisfaction of the predetermined condition.
  • the information processing apparatus (the information processing apparatus H (1) in the example of FIG. 27) is first algorithm data (in the example of FIG. 27) which is data in which the first algorithm is described.
  • a data receiving unit (a functional unit that receives data, for example, a communication unit) having a function of receiving algorithm data 771) from the first information processing apparatus (the information processing apparatus in the previous stage in the example of FIG. 27);
  • An operation is performed based on the first algorithm data received by the data receiving unit and the data (data 751 in the example of FIG. 27) stored in the first storage unit (the storage 712 in the example of FIG.
  • a second algorithm data (in the example of FIG. 27) which is data in which an operation execution unit having a function (function unit for executing an operation) and a second algorithm according to the first algorithm are described.
  • a data transmission unit (a functional unit that transmits data, for example, a communication unit) having a function of transmitting algorithm data 791) to a second information processing apparatus (in the example of FIG. Equipped with
  • the data transmission unit has a function of transmitting third algorithm data, which is data in which an initial third algorithm is described, to the next information processing apparatus.
  • the information processing apparatus for example, the first information processing apparatus
  • the operation execution unit has a function of executing an operation based on the fourth algorithm, and the data transmission unit uses the algorithm according to the fourth algorithm as the third algorithm.
  • the information processing apparatus according to (Configuration Example 1-2) has a function of transmitting the algorithm data of the above to the next information processing apparatus.
  • All information processing apparatuses (information processing apparatuses H (1) to H (U) in the example of FIG.
  • the information according to any one of (Configuration example 1-2) or (Configuration example 1-3), including a first route determination unit (functional unit that determines all of the routes) having a function of determining the order It is a processing device.
  • a first route determination unit functional unit that determines all of the routes
  • the first path determination unit has a function of determining the information processing apparatus and the order based on the attribute of the information processing apparatus. is there.
  • (Configuration Example 1-6) One or more information processing apparatuses including a second information processing apparatus included in a path for transmitting an algorithm according to the second algorithm, and a second path having a function of determining the order of transmission
  • the information processing apparatus according to any one of (Configuration Example 1-1) to (Configuration Example 1-5), including a determination unit (a functional unit that determines at least a part of a path).
  • (Configuration Example 1-7) The information processing apparatus according to (Configuration example 1-6), wherein the second path determination unit has a function of determining the information processing apparatus and the order based on the attribute of the information processing apparatus. is there.
  • (Configuration Example 1-8) The information processing apparatus according to any one of (Configuration Example 1-1) to (Configuration Example 1-7), in which the second algorithm is the same as the first algorithm.
  • Configuration Example 1-9 The second algorithm is the information processing device according to any one of (Configuration Example 1-1) to (Configuration Example 1-7), which is different from the first algorithm.
  • the data receiving unit has a function of receiving, from the first information processing apparatus, data regarding the result of the calculation in the first information processing apparatus. It is an information processor given in any 1 paragraph of -9).
  • the data receiving unit has a function of simultaneously receiving, from the first information processing device, data relating to the result of the calculation in the first information processing device and the first algorithm data. It is an information processor given in 1-10).
  • the data transmission unit has a function of transmitting data relating to the result of the calculation by the calculation execution unit to the second information processing apparatus.
  • the data transmission unit has a function of simultaneously transmitting, to the second information processing apparatus, data relating to the result of the computation by the computation execution unit and the second algorithm data (Configuration Example 1-12) It is an information processor given in a.
  • Configuration Example 1-14 A first storage unit for storing data is provided, and the operation execution unit has a function of performing an operation using the data stored in the first storage unit (Configuration Example 1)
  • the information processing apparatus according to any one of (1) to (Configuration example 1-13).
  • Configuration Example 1-15 From (Configuration Example 1-1) to (Data Configuration Example 1-1), the data transmission unit has a function of transmitting data relating to the result of the calculation by the calculation execution unit to one or more predetermined information processing devices to be notified The information processing apparatus according to any one of configuration examples 1-14).
  • the predetermined information processing apparatus includes at least an information processing apparatus at the source of the algorithm data (the first information processing apparatus in the example of FIG. 27) (Configuration Example 1-15) It is an information processor of a statement.
  • (Configuration Example 1-17) A first operation result determination unit (functional unit that performs such determination) having a function of determining whether data relating to the result of the operation by the operation execution unit is to be final data
  • the information processing apparatus according to any one of (Configuration Example 1-1) to (Configuration Example 1-16).
  • (Configuration Example 1-18) Any one of (Configuration Example 1-1) to (Configuration Example 1-17) of transmitting the second algorithm data to the second information processing apparatus and at least one other information processing apparatus It is an information processor given in paragraph 1.
  • a second calculation result determination unit having a function of performing predetermined determination on data related to calculation results for two or more information processing apparatuses to which the second algorithm data has been transmitted (such determination An information processing apparatus according to Configuration Example 1-18).
  • the data receiving unit receives data transmitted from another device, and the operation execution unit executes an operation based on data received from the other device by the data receiving unit ( The information processing apparatus according to any one of Configuration examples 1-1) to (Configuration example 1-19).
  • the other device is the information processing device described in (Configuration Example 1-20), which is a device (a device not included in the route) other than the target to which the algorithm is transmitted.
  • (Configuration Example 1-22) Any of (Configuration Example 1-1) to (Configuration Example 1-21) including a second storage unit that stores part or all of the data received by the data receiving unit. It is an information processor given in any 1 paragraph.
  • (Configuration Example 1-23) Any one of (Configuration Example 1-1) to (Configuration Example 1-22) including a third storage unit that stores a part or all of the data transmitted by the data transmission unit It is an information processor given in paragraph 1.
  • the first algorithm data which is data in which the first algorithm is described
  • the received first algorithm data and the first algorithm data are received.
  • An operation is performed based on the data stored in the storage unit, and second algorithm data, which is data in which a second algorithm according to the first algorithm is described, is transmitted to the second information processing apparatus.
  • a plurality of information processing apparatuses transmit algorithm data, which is data in which an algorithm is described, in a predetermined order, and at least one information processing apparatus transmits Perform an operation based on
  • a plurality of information processing apparatuses transmit algorithm data, which is data in which an algorithm is described, in a predetermined order, and at least one information processing apparatus transmits Perform an operation based on
  • a first ⁇ 1 information processing apparatus in the example of FIG. 1, the information processing apparatus A (1)
  • a first ⁇ 2 information processing apparatus which is one subsequent stage to the first ⁇ information processing apparatus
  • the information processing apparatus A (2) in the example of FIG. 1, the information processing apparatus A (2)
  • one or more third ⁇ information processing apparatuses in the example of FIG.
  • This is an information processing system (an information processing system 1 in the example of FIG. 1) including a plurality of information processing apparatuses including the apparatuses A (3) to A (N).
  • The? 1? Information processing apparatus transmits algorithm data (algorithm data a (1) in the example of Fig. 1), which is data in which a predetermined algorithm is described, to the ?? 2 information processing apparatus.
  • the ⁇ 2 information processing apparatus executes an operation based on the algorithm data received from the ⁇ 1 information processing apparatus and the data stored in the ⁇ 2 information processing apparatus (data 251 in the example of FIG. 3), Algorithm data (in the example of FIG. 1, algorithm data a (2) in the example of FIG. 1) and data relating to the result of the operation (in the example of FIG. 1, the operation result data b (1)) Is transmitted to the information processing apparatus at the first stage of the information processing apparatuses in the? 3 (in the example of FIG. 1, the information processing apparatus A (3)).
  • Each of the ⁇ 3 information processing devices executes an operation based on the algorithm data received from the information processing device of the immediately preceding stage and the data stored in the ⁇ 3 information processing device, and acquires data related to the result of the operation Do. It is an information processing system described in such (Configuration example 2-1).
  • Configuration Example 2-3 Each ⁇ 3 information processing apparatus other than the final stage is data in which an algorithm corresponding to the algorithm described in the algorithm data received from the information processing apparatus one preceding stage is described The information processing system according to (Configuration Example 2-2), which transmits algorithm data and data relating to a result of operation to a subsequent information processing apparatus.
  • the first ⁇ 1 information processing apparatus is all the information processing apparatuses included in the route including the ⁇ 2 information processing apparatus and the ⁇ 3 information processing apparatus (in the example of FIG.
  • Information processing apparatus A (1) and other information processing apparatuses A (2) to A (N) are determined according to any one of (Configuration example 2-1) to (Configuration example 2-3). It is an information processing system.
  • At least one information processing device of the first ⁇ 2 information processing device and the fourth ⁇ 3 information processing device is: The information processing system according to any one of (Configuration example 2-1) to (Configuration example 2-3) which determines an information processing apparatus of one subsequent stage (for example, the example of FIG. 1).
  • At least one information processing device (for example, the information processing device B (z) illustrated in FIG. 14) of the ⁇ 3th information processing devices has a predetermined calculation result.
  • Configuration Example 2-8 In the route, there is a route portion branched into two or more. At least one information processing apparatus (for example, the information processing apparatus C (5) shown in FIG. 16) of the ⁇ 3th information processing apparatus determines the predetermined result of the calculation obtained in the information processing apparatus in the different branch. Make a decision.
  • the information processing system according to any one of (Configuration Example 2-4) to (Configuration Example 2-7).
  • (Configuration Example 2-9) Data (FIG. 22) stored in devices (in the example of FIG.
  • information processing devices F (1) to F (P) and G (1) to G (Q)) In the twenty-second example, at least one of the ⁇ 2 information processing device and the ⁇ 3 information processing device whose data p (1) to p (P) and q (1) to q (Q)) are included in the route Information processor (in the example of FIG. 22, information processor E (2), E (M)), the data is stored in the at least one information processor, and the data is at least one An information processing system according to any one of (Configuration Example 2-4) to (Configuration Example 2-8), which is used in computation in the information processing apparatus of (1). (Configuration Example 2-10) An information processing apparatus (information processing apparatus A (N) in the example of FIG.
  • At least one information processing apparatus of the ⁇ 2 information processing apparatus and the ⁇ 3 information processing apparatus includes data received from the information processing apparatus at one preceding stage or information at one subsequent stage Information processing described in any one of (Structural example 2-2) to (Structural example 2-10) of storing part or all of the data transmitted to the processing device (for example, the example of FIG. 1) It is a system.
  • Configuration Example 2-12 The information processing devices of the? 2 and?
  • a first ⁇ information processing apparatus, a first ⁇ information processing apparatus subsequent to the first ⁇ information processing apparatus, and one or more subsequent stages of the ⁇ 2 information processing apparatus An information processing method performed by a plurality of information processing apparatuses including one or more .gamma..sup.3 information processing apparatuses, the .gamma.1 information processing apparatus comprising algorithm data which is data in which a predetermined algorithm is described;
  • the ⁇ 2 information processing apparatus transmits to the ⁇ 2 information processing apparatus, and executes an operation based on the algorithm data received from the ⁇ 1 information processing apparatus and the data stored in the ⁇ 2 information processing apparatus, Algorithm data which is data in which an algorithm according to the algorithm is described and data relating to the result of the operation are transmitted to the first information processor among the?
  • (Configuration Example 3-1) to (Configuration Example 3-14) are shown.
  • (Configuration Example 3-1) An information processing system comprising a plurality of information processing apparatuses including a first information processing apparatus, a second information processing apparatus, and a third information processing apparatus, the first information processing system comprising: The second information processing apparatus transmits, to the second information processing apparatus, first algorithm data which is data in which a first algorithm is described, and the second information processing apparatus is configured to A calculation is performed based on the first algorithm data received from the first information processing apparatus and the data stored in the second information processing apparatus, and a second according to the first algorithm An information processing system, which transmits, to the third information processing apparatus, second algorithm data which is data in which the second algorithm is described and data concerning a result of the operation.
  • Configuration Example 3-2 When W is an integer of 3 or more, w is an integer from 1 to W, and each of the W information processing apparatuses is represented as a w-th information processing apparatus, The information processing system according to (Configuration example 3-1), in which transmission of an algorithm is performed in a path including a second information processing apparatus to a W-th information processing apparatus. (Configuration Example 3-3) The first information processing apparatus is the information processing system according to (Configuration example 3-2) that determines all the information processing apparatuses included in the path.
  • At least one of the w-th information processing apparatuses is the next information processing apparatus to which transmission of the algorithm is performed (w + 1)
  • the W-th information processing apparatus determines whether or not the obtained result of the calculation satisfies a predetermined standard, and it is determined that the result of the calculation determines that the above-mentioned standard satisfies the reference. This is the information processing system according to (Configuration example 3-4), wherein the result of the operation is the final result of the operation.
  • the W-th information processing apparatus includes the (W-1) -th algorithm data and the W-th information processing apparatus received from the (W-1) -th information processing apparatus From (Configuration Example 3-2) to (Configuration Example 3-6), performing an operation based on the data stored in step (c), and transmitting data relating to the result of the operation to the first information processing apparatus or another apparatus.
  • the information processing system according to any one of the above.
  • the devices according to the embodiment for example, the information processing devices 2031 to 2035, 2051 to 2055, 2211, A (1) to A (N), B (z), C (1) to C (7) , D (1) to D (4), E (1) to E (m), F (1) to F (P), G (1) to G (Q), H (1) to H (U)
  • the program for realizing the functions of the terminal devices (2111 to 2118 etc.) is recorded (stored) in a computer readable recording medium (storage medium), and the computer system reads the program recorded in the recording medium and executes it. Processing can be performed.
  • the “computer system” mentioned here may include hardware such as an operating system or a peripheral device.
  • the “computer readable recording medium” is a flexible disk, a magneto-optical disk, a ROM (Read Only Memory), a writable nonvolatile memory such as a flash memory, a portable medium such as a DVD (Digital Versatile Disc), A storage device such as a hard disk built into a computer system.
  • “computer readable recording medium” refers to volatile memory (for example, DRAM) in a computer system serving as a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. Including the one that holds the program for a certain period of time.
  • the above program may be transmitted from a computer system in which the program is stored in a storage device or the like to another computer system via a transmission medium or by transmission waves in the transmission medium.
  • the "transmission medium” for transmitting the program is a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
  • the above program may be for realizing a part of the functions described above.
  • the above program may be a so-called difference file (difference program) that can realize the above-described functions in combination with a program already recorded in the computer system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

情報処理装置は、第1のアルゴリズムが記述されたデータである第1のアルゴリズムデータを第1の情報処理装置から受信する機能を有するデータ受信部と、データ受信部により受信された第1のアルゴリズムデータおよび第1の記憶部に記憶されたデータに基づいて、第1のアルゴリズムデータに記述された第1のアルゴリズムに基づく演算を実行し、当該演算において第1の記憶部に記憶されたデータを使用する機能を有する演算実行部と、第1のアルゴリズムに応じた第2のアルゴリズムが記述されたデータである第2のアルゴリズムデータを第2の情報処理装置に送信する機能を有するデータ送信部と、を備える。

Description

情報処理装置、情報処理方法、プログラムおよび情報処理システム
 本発明は、情報処理装置、情報処理方法、プログラムおよび情報処理システムに関する。
 本願は、2018年1月22日に日本に出願された特願2018-008069号に基づき優先権を主張し、その内容をここに援用する。
 ネットワークに多数の情報処理装置が備えられた情報処理システムにおいて、サーバの機能を有する情報処理装置が、他の情報処理装置のそれぞれに記憶されたデータを収集し、収集されたデータについて所定の演算を実行することがあった。つまり、サーバと多数のクライアントとが、1対多の関係でデータの配信および収集を行っていた。
 しかしながら、上記のような情報処理システムでは、例えば、多数の情報処理装置により膨大な量のデータが記憶される場合に、1個のサーバ装置がすべての情報処理装置に記憶されたデータを収集して所定の演算を実行するために、多大な負荷となり、膨大な時間および膨大なリソースを費やしてしまうことがあった。
 また、上記のような情報処理システムでは、サーバの機能を担った情報処理装置以外の情報処理装置では、前記した演算を行うことができなかった。
 なお、従来技術の一例として、非特許文献1に記載されるように、Ethereumと呼ばれている技術があった(非特許文献1参照。)。この技術は、ブロックチェーンを利用して分散アプリケーションを実行するためのプラットフォームに関する技術である。
 しかしながら、非特許文献1に記載された技術においても、上記のような従来の問題は解消されていなかった。
DR.GAVIN WOOD、FOUNDER、ETHEREUM & ETHCORE、"ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER" EIP-150 REVISION(759dccd-2017-08-07)、[online]、2017-08-07、[平成29年12月6日検索]、インターネット<URL:https://ethereum.github.io/yellowpaper/paper.pdf>
 上述のように、従来では、複数の情報処理装置が有するデータを用いた処理を効率化することが十分ではない場合があった。
 本発明の実施形態は、このような事情に鑑み、複数の情報処理装置が有するデータを用いて所定の演算を実行することを効率化することが可能な情報処理装置、情報処理方法、プログラムおよび情報処理システムを提供する。
 本発明の実施形態に係る情報処理装置は、第1のアルゴリズムが記述されたデータである第1のアルゴリズムデータを第1の情報処理装置から受信する機能を有するデータ受信部と、前記データ受信部により受信された前記第1のアルゴリズムデータおよび第1の記憶部に記憶されたデータに基づいて、前記第1のアルゴリズムデータに記述された前記第1のアルゴリズムに基づく演算を実行し、当該演算において前記第1の記憶部に記憶されたデータを使用する機能を有する演算実行部と、前記第1のアルゴリズムに応じた第2のアルゴリズムが記述されたデータである第2のアルゴリズムデータを第2の情報処理装置に送信する機能を有するデータ送信部と、を備え、前記第2のアルゴリズムデータを前記第2の情報処理装置と少なくとも一つの他の情報処理装置に送信し、前記第2のアルゴリズムデータが送信された2以上の前記情報処理装置について、前記演算の結果に関するデータについて所定の判定を行う機能を有する第2の演算結果判定部を備え、前記第2の演算結果判定部は、自装置とは別の前記情報処理装置から前記第2のアルゴリズムデータが分岐させられて送信された2以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能を有する。
 本発明の一態様に係る情報処理装置において、前記データ送信部は、初期的な第3のアルゴリズムが記述されたデータである第3のアルゴリズムデータを次の情報処理装置に送信する機能を有する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記演算実行部は、第4のアルゴリズムに基づいて演算を実行する機能を有し、前記データ送信部は、前記第4のアルゴリズムに応じたアルゴリズムを前記第3のアルゴリズムとして、前記第3のアルゴリズムデータを前記次の情報処理装置に送信する機能を有する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記第3のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれるすべての情報処理装置および伝送の順序を決定する機能を有する第1の経路決定部を備える、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記第1の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記第1の経路決定部は、前記情報処理装置の属性として、過去に前記アルゴリズムの伝送に加わった回数、過去における質問に対する回答の数、または、過去における質問に対する回答の頻度のうちのいずれかに基づいて、前記情報処理装置および前記順序を決定する機能を有する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記第2のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれる前記第2の情報処理装置を含む1以上の情報処理装置および伝送の順序を決定する機能を有する第2の経路決定部を備える、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記第2の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記第2の経路決定部は、前記情報処理装置の属性として、過去に前記アルゴリズムの伝送に加わった回数、過去における質問に対する回答の数、または、過去における質問に対する回答の頻度のうちのいずれかに基づいて、前記情報処理装置および前記順序を決定する機能を有する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記第2のアルゴリズムは、前記第1のアルゴリズムと同じである、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記第2のアルゴリズムは、前記第1のアルゴリズムとは異なる、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記データ受信部は、前記第1の情報処理装置における演算の結果に関するデータを前記第1の情報処理装置から受信する機能を有する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記データ受信部は、前記第1の情報処理装置における演算の結果に関するデータと、前記第1のアルゴリズムデータとを同時に前記第1の情報処理装置から受信する機能を有する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記データ送信部は、前記演算実行部による演算の結果に関するデータを前記第2の情報処理装置に送信する機能を有する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記データ送信部は、前記演算実行部による演算の結果に関するデータと、前記第2のアルゴリズムデータとを同時に前記第2の情報処理装置に送信する機能を有する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、データを記憶する前記第1の記憶部を備え、前記演算実行部は、前記第1の記憶部に記憶された前記データを用いて、前記演算を実行する機能を有する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記データ送信部は、前記演算実行部による演算の結果に関するデータを通知対象となる1以上の所定の情報処理装置に送信する機能を有する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記所定の情報処理装置は、少なくとも、アルゴリズムデータの発信元の情報処理装置を含む、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する第1の演算結果判定部を備える、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記第1の演算結果判定部は、既に前記アルゴリズムに応じた前記演算を実行した前記情報処理装置の数が所定の閾値以上である場合に前記演算の結果に関するデータを最終的なデータとするという判定基準、または、得られた前記演算の結果に含まれる情報の量が所定の閾値以上である場合に前記演算の結果に関するデータを最終的なデータとするという判定基準を用いて、前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記データ受信部は、他の装置から送信されるデータを受信し、前記演算実行部は、前記データ受信部により前記他の装置から受信された前記データに基づいて前記演算を実行する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記他の装置は、アルゴリズムが伝送される対象以外の装置である、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記データ受信部により受信された前記データのうちの一部または全部を記憶する第2の記憶部を備える、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記データ送信部により送信した前記データのうちの一部または全部を記憶する第3の記憶部を備える、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記演算実行部は、前記データ受信部により前記第1のアルゴリズムデータを受信したことに応じて、前記第1のアルゴリズムデータに記述された前記第1のアルゴリズムに基づく演算を実行し、前記データ送信部は、前記演算実行部により前記演算が実行されたことに応じて、前記第2のアルゴリズムデータを前記第2の情報処理装置に送信する、構成とされてもよい。
 本発明の一態様に係る情報処理装置において、前記データ受信部は、前記第1のアルゴリズムデータとともに第1のパラメーターを前記第1の情報処理装置から受信し、前記演算実行部は、前記第1のアルゴリズムデータに記述された前記第1のアルゴリズムに基づく演算において前記データ受信部により受信された前記第1のパラメーターを使用し、前記データ送信部は、前記第2のアルゴリズムデータとともに第2のパラメーターを前記第2の情報処理装置に送信する、構成とされてもよい。
 本発明の実施形態に係る情報処理方法は、第1のアルゴリズムが記述されたデータである第1のアルゴリズムデータを第1の情報処理装置から受信し、受信された前記第1のアルゴリズムデータおよび第1の記憶部に記憶されたデータに基づいて、前記第1のアルゴリズムデータに記述された前記第1のアルゴリズムに基づく演算を実行し、当該演算において前記第1の記憶部に記憶されたデータを使用し、前記第1のアルゴリズムに応じた第2のアルゴリズムが記述されたデータである第2のアルゴリズムデータを第2の情報処理装置と少なくとも一つの他の情報処理装置に送信し、前記第2のアルゴリズムデータが送信された2以上の前記情報処理装置について、自装置とは別の前記情報処理装置から前記第2のアルゴリズムデータが分岐させられて送信された2以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う。
 本発明の実施形態に係るプログラムは、情報処理装置を構成するコンピュータに、第1のアルゴリズムが記述されたデータである第1のアルゴリズムデータを第1の情報処理装置から受信する機能と、受信された前記第1のアルゴリズムデータおよび第1の記憶部に記憶されたデータに基づいて、前記第1のアルゴリズムデータに記述された前記第1のアルゴリズムに基づく演算を実行し、当該演算において前記第1の記憶部に記憶されたデータを使用する機能と、前記第1のアルゴリズムに応じた第2のアルゴリズムが記述されたデータである第2のアルゴリズムデータを第2の情報処理装置と少なくとも一つの他の情報処理装置に送信する機能と、前記第2のアルゴリズムデータが送信された2以上の前記情報処理装置について、自装置とは別の前記情報処理装置から前記第2のアルゴリズムデータが分岐させられて送信された2以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能と、を実現させるためのプログラムである。
 本発明の実施形態に係る情報処理システムは、情報処理装置を含む情報処理システムにおいて、前記情報処理装置は、第1のアルゴリズムが記述されたデータである第1のアルゴリズムデータを第1の情報処理装置から受信する機能を有するデータ受信部と、前記データ受信部により受信された前記第1のアルゴリズムデータおよび第1の記憶部に記憶されたデータに基づいて、前記第1のアルゴリズムデータに記述された前記第1のアルゴリズムに基づく演算を実行し、当該演算において前記第1の記憶部に記憶されたデータを使用する機能を有する演算実行部と、前記第1のアルゴリズムに応じた第2のアルゴリズムが記述されたデータである第2のアルゴリズムデータを第2の情報処理装置に送信する機能を有するデータ送信部と、を備え、前記第2のアルゴリズムデータを前記第2の情報処理装置と少なくとも一つの他の情報処理装置に送信し、前記第2のアルゴリズムデータが送信された2以上の前記情報処理装置について、前記演算の結果に関するデータについて所定の判定を行う機能を有する第2の演算結果判定部を備え、前記第2の演算結果判定部は、自装置とは別の前記情報処理装置から前記第2のアルゴリズムデータが分岐させられて送信された2以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能を有する。
 上記した情報処理装置、情報処理方法、プログラムおよび情報処理システムによれば、複数の情報処理装置が有するデータを用いて所定の演算を実行することを効率化することが可能である。
本発明の一実施形態(第1実施形態)に係る情報処理システムの概略的な構成例を示す図である。 本発明の一実施形態に係る1番目の情報処理装置の概略的な構成例を示す図である。 本発明の一実施形態に係るj(j=2~N-1)番目の情報処理装置の概略的な構成例を示す図である。 本発明の一実施形態に係るN番目の情報処理装置の概略的な構成例を示す図である。 本発明の一実施形態に係る情報処理装置テーブルの一例を示す図である。 本発明の一実施形態に係る1番目の情報処理装置から送信されるデータの概略的な一例を示す図である。 本発明の一実施形態に係るj(j=2~N-1)番目の情報処理装置から送信されるデータの概略的な一例を示す図である。 本発明の一実施形態に係るN番目の情報処理装置から送信されるデータの概略的な一例を示す図である。 本発明の一実施形態(第1実施形態)に係る情報処理システムにおける全体的な動作の概略を示す図である。 本発明の一実施形態に係る1番目の情報処理装置において行われる処理の手順の一例を示す図である。 本発明の一実施形態に係るj(j=2~N-1)番目の情報処理装置において行われる処理の手順の一例を示す図である。 本発明の一実施形態に係るN番目の情報処理装置において行われる処理の手順の一例を示す図である。 本発明の一実施形態(第2実施形態)に係る情報処理システムにおける全体的な動作の概略を示す図である。 本発明の一実施形態(第3実施形態)に係るz(z=2~N)番目の情報処理装置の概略的な構成例を示す図である。 本発明の一実施形態(第3実施形態)に係るz(z=2~N)番目の情報処理装置において行われる処理の手順の一例を示す図である。 本発明の一実施形態(第4実施形態)に係る階層化部分の概略的な構成例を示す図である。 本発明の一実施形態(第4実施形態)に係る情報処理装置における制御部の概略的な構成例を示す図である。 本発明の一実施形態(第4実施形態)に係る情報処理装置において行われる処理の手順の一例を示す図である。 本発明の一実施形態(第5実施形態)に係る情報処理装置において行われるデータ集約の概略を示す図である。 本発明の一実施形態(第5実施形態)に係る情報処理装置において行われるデータ集約の概略を示す図である。 本発明の一実施形態(第5実施形態)に係る情報処理装置において行われるデータ集約の概略を示す図である。 本発明の一実施形態(第5実施形態)に係る情報処理システムの概略的な構成例を示す図である。 本発明の一実施形態(第5実施形態)に係る情報処理システムにおいて行われる処理の手順の一例を示す図である。 通信システムの一例を示す図である。 サーバレスの通信システムの一例を示す図である。 本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。 本発明の一実施形態(第6実施形態)に係る情報処理装置の概略的な構成例を示す図である。 本発明の一実施形態(第6実施形態)に係る2個の情報処理装置において行われる処理の一例を示す図である。 本発明の一実施形態(第6実施形態)に係る2個の情報処理装置において行われる処理の一例を示す図である。 本発明の一実施形態(第6実施形態)に係る2個の情報処理装置において行われる処理の一例を示す図である。
 本発明の実施形態について図面を参照して詳細に説明する。
 (第1実施形態)
 [情報処理システムの概要]
 図1は、本発明の一実施形態(第1実施形態)に係る情報処理システム1の概略的な構成例を示す図である。
 本実施形態に係る情報処理システム1は、N(本実施形態において、Nは3以上の整数であるとする。)個の情報処理装置A(1)~A(N)を備える。
 なお、図1では、説明の便宜上、5個以上の情報処理装置A(1)~A(N)を例示してあるが、N=3あるいはN=4であってもよい。
 それぞれの情報処理装置A(1)~A(N)は、通信相手となる他の情報処理装置A(1)~A(N)との間で、通信を行う機能を有する。当該通信は、例えば、有線の通信であってもよく、無線の通信であってもよく、あるいは、有線と無線の両方の通信であってもよい。
 また、それぞれの情報処理装置A(1)~A(N)により行われる通信は、例えば、1対1(P2P)の通信であってもよく、また、サーバクライアントの通信であってもよく、また、他の方式の通信であってもよい。また、それぞれの情報処理装置A(1)~A(N)により行われる通信は、例えば、VPN(Virtual Private Network)接続を用いた通信であってもよい。
 それぞれの情報処理装置A(1)~A(N)は、様々な装置であってもよい。それぞれの情報処理装置A(1)~A(N)は、例えば、サーバの機能を有していない装置であってもよく、あるいは、サーバの機能を有する装置であってもよい。それぞれの情報処理装置A(1)~A(N)は、例えば、ノート型のコンピュータであってもよく、デスクトップ型のコンピュータであってもよく、タブレット型のコンピュータであってもよく、スマートフォンのようなコンピュータであってもよく、あるいは、他のコンピュータであってもよい。当該他のコンピュータとしては、例えば、自動車などの乗り物に備えられたコンピュータであってもよい。それぞれの情報処理装置A(1)~A(N)は、例えば、物理端末として構成されてもよく、あるいは、仮想端末として構成されてもよい。それぞれの情報処理装置A(1)~A(N)は、例えば、社内ネットワーク上にあってもよく、あるいは、インターネット上にあってもよい。
このような装置の種類に関し、それぞれの情報処理装置A(1)~A(N)は、例えば、同じ種類の装置であってもよく、あるいは、異なる種類の装置であってもよい。
 また、それぞれの情報処理装置A(1)~A(N)は、例えば、いわゆるIoT(Internet of Things)あるいはICT(Information and Communication Technology)の装置であってもよい。
 また、それぞれの情報処理装置A(1)~A(N)は、任意の者によって管理されてもよい。それぞれの情報処理装置A(1)~A(N)は、例えば、個人(例えば、所有者)によって管理されてもよく、あるいは、組織(例えば、所有などする組織)によって管理されてもよい。このような管理者の種類に関し、それぞれの情報処理装置A(1)~A(N)は、例えば、同じ種類の者によって管理されてもよく、あるいは、異なる種類の者によって管理されてもよい。
 [情報処理システムの動作の概要]
 図1を参照して、本実施形態に係る情報処理システム1において行われる動作の概要を示す。
 本実施形態では、1個の情報処理装置A(1)(説明の便宜上、「1番目の情報処理装置A(1)」という。)は、主導となり、2番目からN番目までの他の情報処理装置A(2)~A(N)を設定する。
 なお、図1では図示していないが、情報処理システム1には、N個の情報処理装置A(1)~A(N)以外の情報処理装置が備えられていてもよい。この場合、1番目の情報処理装置A(1)は、N個より多い情報処理装置のうちから、2番目からN番目までの他の情報処理装置A(2)~A(N)を選択して設定する。
 ここで、本実施形態では、1番目の情報処理装置A(1)は、例えば、あらかじめ定められていてもよく、あるいは、任意のタイミングで定められてもよい。具体例として、1番目の情報処理装置A(1)は、任意のタイミングで、ユーザ(人)により行われる操作に応じて定められてもよい。具体例として、1番目の情報処理装置A(1)は、任意のタイミングで、所定の条件が満たされたことが任意の装置によって自動的に判定されたことに応じて定められてもよい。
 また、本実施形態では、2番目~N番目の情報処理装置A(2)~A(N)は、例えば、あらかじめ定められてもよく、あるいは、任意のタイミングで定められてもよい。具体例として、2番目~N番目の情報処理装置A(2)~A(N)は、任意のタイミングで、ユーザ(人)により行われる操作に応じて定められてもよい。具体例として、2番目~N番目の情報処理装置A(2)~A(N)は、1番目の情報処理装置A(1)からの発信が行われる前における任意のタイミングで、所定の条件に基づいて、1番目の情報処理装置A(1)によって定められてもよい。
 また、具体例として、2番目~N番目の情報処理装置A(2)~A(N)は、自装置よりも順番が前である別の情報処理装置からの発信(図1の例では、アルゴリズムデータa(1)の送信)が行われる前における任意のタイミングで、所定の条件に基づいて、当該別の情報処理装置によって定められてもよい。このような一例として、i(ここでは、i=2~N)番目の情報処理装置A(i)は、自装置よりも順番が1つ前である情報処理装置A(i-1)によって定められてもよい。
 1番目の情報処理装置A(1)は、所定のアルゴリズムデータa(1)を2番目の情報処理装置A(2)に送信する。
 ここで、アルゴリズムデータa(1)は、所定のアルゴリズムが記述されたデータであり、当該アルゴリズムを示す情報を含むデータである。なお、このようなデータは、例えば、プログラム(あるいは、プログラムのデータ)などと呼ばれてもよい。また、アルゴリズムは、例えば、ロジックなどと呼ばれてもよい。
 当該所定のアルゴリズムは、例えば、あらかじめ定められてもよく、あるいは、任意のタイミングで定められてもよい。具体例として、当該所定のアルゴリズムは、任意のタイミングで、ユーザ(人)により行われる操作に応じて定められてもよい。具体例として、当該所定のアルゴリズムは、1番目の情報処理装置A(1)からの発信(図1の例では、アルゴリズムデータa(1)の送信)が行われる前における任意のタイミングで、所定の条件に基づいて、1番目の情報処理装置A(1)によって定められてもよい。
 2番目の情報処理装置A(2)は、1番目の情報処理装置A(1)から送信されたアルゴリズムデータa(1)を受信する。また、2番目の情報処理装置A(2)は、受信されたアルゴリズムデータa(1)に含まれる情報によって示されるアルゴリズムに応じた演算を、自装置において記憶されているデータを用いて、実行する。2番目の情報処理装置A(2)は、当該演算を実行した結果のデータ(演算結果データb(1))を取得する。
 そして、2番目の情報処理装置A(2)は、所定のアルゴリズムデータa(2)および演算結果データb(1)を3番目の情報処理装置A(3)に送信する。
 ここで、アルゴリズムデータa(2)は、所定のアルゴリズムが記述されたデータであり、当該アルゴリズムを示す情報を含むデータである。
 3番目の情報処理装置A(3)は、2番目の情報処理装置A(2)から送信されたアルゴリズムデータa(2)および演算結果データb(1)を受信する。また、3番目の情報処理装置A(3)は、受信されたアルゴリズムデータa(2)に含まれる情報によって示されるアルゴリズムに応じた演算を、自装置において記憶されているデータを用いて、実行する。3番目の情報処理装置A(3)は、当該演算を実行した結果のデータ(演算結果データb(2))を取得する。
 ここで、本実施形態では、演算結果データb(2)には、それよりも前における演算結果データb(1)が反映されている。一例として、演算結果データb(2)には、それよりも前における演算結果データb(1)が含まれてもよい。他の例として、演算結果データb(2)が演算されるときに、それよりも前における演算結果データb(1)がその演算に用いられてもよい。
 そして、3番目の情報処理装置A(3)は、所定のアルゴリズムデータa(3)および演算結果データb(2)を4番目の情報処理装置A(4)に送信する。
 ここで、アルゴリズムデータa(3)は、所定のアルゴリズムが記述されたデータであり、当該アルゴリズムを示す情報を含むデータである。
 4番目の情報処理装置A(4)~(N-1)番目の情報処理装置A(N-1)においても、3番目の情報処理装置A(3)と同様な動作を行う。
 すなわち、i(ここでは、i=4~N-1)番目の情報処理装置A(i)は、(i-1)番目の情報処理装置A(i-1)から送信されたアルゴリズムデータa(i-1)および演算結果データb(i-2)を受信する。また、i番目の情報処理装置A(i)は、受信されたアルゴリズムデータa(i-1)に含まれる情報によって示されるアルゴリズムに応じた演算を、自装置において記憶されているデータを用いて、実行する。i番目の情報処理装置A(i)は、当該演算を実行した結果のデータ(演算結果データb(i-1))を取得する。
 ここで、本実施形態では、演算結果データb(i-1)には、それよりも前における演算結果データb(i-2)が反映されている。一例として、演算結果データb(i-1)には、それよりも前における演算結果データb(i-2)が含まれてもよい。他の例として、演算結果データb(i-1)が演算されるときに、それよりも前における演算結果データb(i-2)がその演算に用いられてもよい。
 そして、i番目の情報処理装置A(i)は、所定のアルゴリズムデータa(i)および演算結果データb(i-1)を(i+1)番目の情報処理装置A(i+1)に送信する。
 ここで、アルゴリズムデータa(i)は、所定のアルゴリズムが記述されたデータであり、当該アルゴリズムを示す情報を含むデータである。
 N番目の情報処理装置は、(N-1)番目の情報処理装置A(N-1)から送信されたアルゴリズムデータa(N-1)を受信する。また、N番目の情報処理装置A(N)は、受信されたアルゴリズムデータa(N-1)に含まれる情報によって示されるアルゴリズムに応じた演算を、自装置において記憶されているデータを用いて、実行する。N番目の情報処理装置A(N)は、当該演算を実行した結果のデータ(演算結果データb(N-1))を取得する。
 ここで、本実施形態では、演算結果データb(N-1)には、それよりも前における演算結果データb(N-2)が反映されている。一例として、演算結果データb(N-1)には、それよりも前における演算結果データb(N-2)が含まれてもよい。他の例として、演算結果データb(N-1)が演算されるときに、それよりも前における演算結果データb(N-2)がその演算に用いられてもよい。
 そして、N番目の情報処理装置A(N)は、演算結果データb(N-1)を1番目の情報処理装置A(1)に送信する。
 [情報処理装置の概要]
 図2は、本発明の一実施形態に係る1番目の情報処理装置A(1)の概略的な構成例を示す図である。
 図3は、本発明の一実施形態に係るj(j=2~N-1)番目の情報処理装置A(j)の概略的な構成例を示す図である。
 図4は、本発明の一実施形態に係るN番目の情報処理装置A(N)の概略的な構成例を示す図である。
 ここで、本実施形態では、説明の便宜上、1番目の情報処理装置A(1)、j(j=2~N-1)番目の情報処理装置A(j)、N番目の情報処理装置A(N)に分けて説明するが、これらのうちの任意の2つの各々として機能することが可能な情報処理装置が用いられてもよく、あるいは、これらのうちの任意の3つの各々として機能することが可能な情報処理装置が用いられてもよい。
 一例として、図1に示されるそれぞれの情報処理装置A(1)~A(N)は、任意の順番にある情報処理装置になり得る機能(つまり、図2、図3、図4に示されるすべての機能を包含する機能)を有してもよい。
 <1番目の情報処理装置の概要>
 図2を参照して説明する。
 1番目の情報処理装置A(1)は、入力部111と、出力部112と、記憶部113と、通信部114と、制御部115を備える。
 入力部111は、外部から情報を入力する。
 一例として、入力部111は、ユーザ(人)により操作される操作部を備え、当該ユーザにより当該操作部に対して行われた操作に応じた情報を入力する。当該操作部は、例えば、キーボード、あるいは、マウスなどであってもよい。
 他の例として、入力部111は、外部の装置から出力される情報を入力してもよい。当該外部の装置は、例えば、USB(Universal Serial Bus)のメモリなどのような可搬型の記憶媒体であってもよい。
 出力部112は、外部に情報を出力する。
 一例として、出力部112は、ユーザに対して情報を表示出力する表示部を備えてもよい。当該表示部は、例えば、液晶パネルなどであってもよい。他の一例として、出力部112は、ユーザに対して情報を音出力する音出力部を備えてもよい。当該音出力部は、例えば、スピーカなどであってもよい。
 他の例として、出力部112は、外部の装置に対して情報を出力してもよい。当該外部の装置は、例えば、可搬型の記憶媒体であってもよい。
 なお、例えば、入力部111に備えられる操作部と、出力部112に備えられる表示部とが、タッチパネルとして、共通化されてもよい。この場合、タッチパネルにおいてユーザによりタッチされた状態に応じて操作に応じた情報を入力する機能により操作部の機能が構成され、また、タッチパネルにおいてユーザに対して情報を表示する機能により表示部の機能が構成される。
 記憶部113は、各種のデータを記憶する。図2の例では、記憶部113は、データ151を記憶している。
 記憶部113は、例えば、自装置から送信されたアルゴリズムデータa(1)、あるいは、受信された演算結果データb(N-1)のうちの1以上を記憶してもよい。なお、記憶部113に記憶されたデータは、例えば、再利用されてもよい。
 通信部114は、他の情報処理装置A(2)~A(N)との間で通信を行う。
 本実施形態では、それぞれの情報処理装置A(1)~A(N)には、それぞれの装置を識別する情報が設定されている。通信部114は、例えば、それぞれの装置を識別する情報を送信元情報あるいは送信先情報として用いて、他の情報処理装置A(2)~A(N)との間で通信を行う。
 本実施形態では、通信部114は、他の装置からデータを受信するデータ受信部の機能と、他の装置にデータを送信するデータ送信部の機能を有する。
 なお、通信部114の受信機能は、例えば、入力部111の機能と一体化されてもよいが、本実施形態では、説明の便宜上、区別している。
 同様に、通信部114の送信機能は、例えば、出力部112の機能と一体化されてもよいが、本実施形態では、説明の便宜上、区別している。
 制御部115は、アルゴリズム生成部131と、情報処理装置検索部132と、経路決定部133と、アルゴリズム送信制御部134と、演算結果取得部135を備える。
 アルゴリズム生成部131は、所定のアルゴリズムを生成する。
 ここで、本実施形態では、1番目の情報処理装置A(1)によって2番目の情報処理装置A(2)からN番目の情報処理装置A(N)まで同一のアルゴリズムが伝達される場合を示す。当該アルゴリズムは、任意の内容を有するアルゴリズムであってもよく、2番目の情報処理装置A(2)からN番目の情報処理装置A(N)までの情報処理装置によって実行されるべきアルゴリズムが設定される。
 情報処理装置検索部132は、他の情報処理装置A(2)~A(N)のうちの少なくとも2番目の情報処理装置A(2)を検索する。ここで、他の情報処理装置A(2)~A(N)を検索する手法としては、任意の手法が用いられてもよい。
 経路決定部133は、情報処理装置検索部132により検索された他の情報処理装置A(2)~A(N)(少なくとも2番目の情報処理装置A(2))が含まれる経路を決定する。
 一例として、情報処理装置検索部132は、他の情報処理装置A(2)~A(N)のすべてを検索してもよい。この場合、経路決定部133は、情報処理装置検索部132により検索された他の情報処理装置A(2)~A(N)のすべてが含まれる経路を決定する。
この場合、1番目の情報処理装置A(1)において、2番目の情報処理装置A(2)からN番目の情報処理装置A(N)までのすべての順番にある情報処理装置が決定される。
 なお、1番目の情報処理装置A(1)において、2番目の情報処理装置A(2)からN番目の情報処理装置A(N)までのすべての順番にある情報処理装置として、一定の情報処理装置があらかじめ設定されていてもよく、この場合には、情報処理装置検索部132の機能および経路決定部133の機能は1番目の情報処理装置A(1)に備えられなくてもよい。
 他の例として、情報処理装置検索部132は、他の情報処理装置A(2)~A(N)のうち2番目の情報処理装置A(2)だけを検索してもよい。この場合、経路決定部133は、情報処理装置検索部132により検索された2番目の情報処理装置A(2)が含まれる経路を決定する。この場合、1番目の情報処理装置A(1)において決定された経路では、3番目以降の情報処理装置は未定である。この場合、2番目以降の情報処理装置において、3番目以降の情報処理装置を決定する構成とする。
 他の例として、情報処理装置検索部132は、他の情報処理装置A(2)~A(N)のうち2番目の情報処理装置A(2)と、他の一部の任意の数(ここでは、(N-3)以下の数)の情報処理装置だけを検索してもよい。この場合、経路決定部133は、情報処理装置検索部132により検索された2番目の情報処理装置A(2)および他の一部の情報処理装置が含まれる経路を決定する。この場合、1番目の情報処理装置A(1)において決定された経路では、検索されていない順番にある情報処理装置は未定である。この場合、2番目以降の情報処理装置において、未定である情報処理装置を決定する構成とする。
 アルゴリズム送信制御部134は、アルゴリズム生成部131により生成されたアルゴリズムが記述されたデータ(アルゴリズムデータa(1))を2番目の情報処理装置A(2)に対して通信部114により送信するように制御する。
 ここで、本実施形態では、アルゴリズムデータa(1)には、経路決定部133により決定された経路を示す情報(説明の便宜上、「経路情報」ともいう。)が付加される。当該経路情報は、例えば、アルゴリズムデータa(1)の内部に含められるように付加されてもよく、あるいは、アルゴリズムデータa(1)の外部に付加されてもよい。なお、経路情報はアルゴリズムの一部であると捉えられてもよく、この場合、例えば、アルゴリズムは経路情報を含んでいると捉えられる。
 演算結果取得部135は、N番目の情報処理装置A(N)から送信されて通信部114により受信される演算結果データb(N-1)を取得する。
 ここで、本実施形態では、1番目の情報処理装置A(1)が、最初に、アルゴリズムデータa(1)を発信する。そして、当該アルゴリズムデータa(1)に関するデータが2番目の情報処理装置A(2)からN番目の情報処理装置A(N)に順次伝達されて所定の演算が実行され、N番目の情報処理装置A(N)により取得された演算結果データb(N-1)が元の1番目の情報処理装置A(1)に返されてくる。これにより、1番目の情報処理装置A(1)は、アルゴリズムデータa(1)の送信と、当該アルゴリズムデータa(1)に応じた演算結果データb(N-1)の受信を行うことができる。
 <j(j=2~N-1)番目の情報処理装置A(j)の概要>
 図3を参照して説明する。なお、説明の便宜上、j(j=2~N-1)番目の情報処理装置A(j)についてまとめて説明し、共通の符号(図に示される符号)を用いて説明する。
 j番目の情報処理装置A(j)は、入力部211と、出力部212と、記憶部213と、通信部214と、制御部215を備える。
 ここで、入力部211、出力部212、記憶部213、通信部214のそれぞれの機能は、概略的には、1番目の情報処理装置A(1)における入力部111、出力部112、記憶部113、通信部114のそれぞれの機能と同様であり、ここでは詳しい説明を省略する。
 図3の例では、記憶部213は、データ251を記憶している。
 記憶部213は、例えば、受信されたアルゴリズムデータa(j-1)、jが3以上である場合に受信された演算結果データb(j-2)、自装置から送信されたアルゴリズムデータa(j)、あるいは、自装置から送信された演算結果データb(j-1)のうちの1以上を記憶してもよい。なお、記憶部213に記憶されたデータは、例えば、再利用されてもよい。
 制御部215は、アルゴリズム取得部231と、演算実行部232と、アルゴリズム生成部233と、経路決定部234と、アルゴリズム送信制御部235を備える。
 アルゴリズム取得部231は、1つ前の順番の情報処理装置である(j-1)番目の情報処理装置A(j-1)から送信されて通信部214により受信されたアルゴリズムデータa(j-1)を取得する。また、(j-1)番目の情報処理装置A(j-1)から演算結果データb(j-2)も送信されてくる場合には、当該演算結果データb(j-2)も通信部214により受信される。
 演算実行部232は、記憶部213に記憶されたデータ251を用いて、アルゴリズム取得部231により取得されたアルゴリズムに応じた演算を実行する。この場合に、演算実行部232は、当該アルゴリズムにしたがって、必要であれば、(j-1)番目の情報処理装置A(j-1)から受信された演算結果データb(j-2)も用いて、当該演算を実行する。
 これにより、演算実行部232は、演算結果データb(j-1)を取得する。ここで、演算実行部232は、演算結果データb(j-1)に、例えば、それよりも前の順番にある情報処理装置において取得された演算結果データのうちの一部または全部を含めてもよい。
 アルゴリズム生成部233は、(j-1)番目の情報処理装置A(j-1)から受信されたアルゴリズムデータa(j-1)に基づいて、1つ後の順番の情報処理装置である(j+1)番目の情報処理装置A(j+1)に送信するアルゴリズムデータa(j)のアルゴリズムを生成する。
 ここで、本実施形態では、アルゴリズム生成部233は、(j-1)番目の情報処理装置A(j-1)から受信されたアルゴリズムデータa(j-1)に記述されるアルゴリズムと同一のアルゴリズムを採用し、採用されたアルゴリズムが記述されたアルゴリズムデータa(j)を生成する。
 経路決定部234は、少なくとも1つ後の順番の情報処理装置である(j+1)番目の情報処理装置A(j+1)が含まれる経路を決定する。
 ここで、1番目の情報処理装置A(1)において2番目の情報処理装置A(2)からN番目の情報処理装置A(N)までのすべての経路(すべての順番にある情報処理装置)が決定されている場合には、経路決定部234は、当該経路にしたがった経路を決定する。
 また、自装置よりも前の順番にある情報処理装置A(1)~A(j-1)において既に決定された経路(全体の経路のうちの一部または全部)については、経路決定部234は、例えば、そのままの経路を採用して、当該経路にしたがった経路を決定する。
 また、経路決定部234は、自装置よりも前の順番にある情報処理装置A(1)~A(j-1)において未定である経路(全体の経路のうちの一部)のうちの一部または全部を決定してもよい。この場合、経路決定部234は、例えば、情報処理装置検索部132と同様な機能を有してもよく、当該機能により情報処理装置が探索された結果に基づいて、経路を決定してもよい。
 一例として、それぞれの情報処理装置A(1)~A(N-1)が、1つ後の順番にある情報処理装置A(2)~A(N)(次の通信相手)を決定する構成が用いられてもよい。
 アルゴリズム送信制御部235は、アルゴリズム生成部233により生成されたアルゴリズムが記述されたデータ(アルゴリズムデータa(j))を(j+1)番目の情報処理装置A(j+1)に対して通信部214により送信するように制御する。
 ここで、本実施形態では、アルゴリズムデータa(j)には、経路決定部234により決定された経路を示す情報(経路情報)が付加される。
 <N番目の情報処理装置A(N)の概要>
 図4を参照して説明する。
 N番目の情報処理装置A(N)は、入力部311と、出力部312と、記憶部313と、通信部314と、制御部315を備える。
 ここで、入力部311、出力部312、記憶部313、通信部314のそれぞれの機能は、概略的には、1番目の情報処理装置A(1)における入力部111、出力部112、記憶部113、通信部114のそれぞれの機能と同様であり、ここでは詳しい説明を省略する。
 図4の例では、記憶部313は、データ351を記憶している。
 記憶部313は、例えば、受信されたアルゴリズムデータa(N-1)、受信された演算結果データb(N-2)、あるいは、自装置から送信された演算結果データb(N-1)のうちの1以上を記憶してもよい。なお、記憶部313に記憶されたデータは、例えば、再利用されてもよい。
 制御部315は、アルゴリズム取得部331と、演算実行部332と、通知先決定部333と、演算結果通知制御部334を備える。
 アルゴリズム取得部331は、1つ前の順番の情報処理装置である(N-1)番目の情報処理装置A(N-1)から送信されて通信部314により受信されたアルゴリズムデータa(N-1)を取得する。また、(N-1)番目の情報処理装置A(N-1)から演算結果データb(N-2)も送信されてくる場合には、当該演算結果データb(N-2)も通信部314により受信される。
 演算実行部332は、記憶部313に記憶されたデータ351を用いて、アルゴリズム取得部331により取得されたアルゴリズムに応じた演算を実行する。この場合に、演算実行部332は、当該アルゴリズムにしたがって、必要であれば、(N-1)番目の情報処理装置A(N-1)から受信された演算結果データb(N-2)も用いて、当該演算を実行する。
 これにより、演算実行部332は、演算結果データb(N-1)を取得する。ここで、演算実行部332は、演算結果データb(N-1)に、例えば、それよりも前の順番にある情報処理装置において取得された演算結果データのうちの一部または全部を含めてもよい。
 通知先決定部333は、演算結果データb(N-1)の通知先となる他の情報処理装置を決定する。
 本実施形態では、通知先決定部333は、1番目の情報処理装置A(1)を通知先として決定する。本実施形態では、1番目の情報処理装置A(1)から2番目以降の情報処理装置A(2)~A(N-1)を経由してN番目の情報処理装置A(N)により取得される経路情報に、1番目の情報処理装置A(1)を識別する情報が含まれているとする。
 他の例として、通知先決定部333は、1番目の情報処理装置A(1)以外の装置を通知先として決定してもよい。当該通知先となる装置は、例えば、あらかじめ設定されてもよく、あるいは、通知先決定部333によりリアルタイムに決定されてもよい。
 一例として、あらかじめ設定された通知先となる装置を識別する情報が、1番目の情報処理装置A(1)から2番目以降の情報処理装置A(2)~A(N-1)を経由してN番目の情報処理装置A(N)により取得されてもよい。他の例として、通知先となる装置を識別する情報が、あらかじめ、N番目の情報処理装置A(N)に設定されてもよい。
 他の例として、通知先決定部333は、情報処理装置検索部132と同様な機能を有してもよく、当該機能により情報処理装置が探索された結果に基づいて、通知先を決定してもよい。
 演算結果通知制御部334は、演算結果データb(N-1)を、通知先決定部333により決定された通知先(本実施形態では、1番目の情報処理装置A(1))に対して通信部314により送信するように制御する。
 [情報処理装置テーブルの概要]
 図5は、本発明の一実施形態に係る情報処理装置テーブル3011の一例を示す図である。
 1番目の情報処理装置A(1)における情報処理装置検索部132(あるいは、同様な機能を有する他の装置の当該機能)は、情報処理装置に関するテーブル(情報処理装置テーブル)3011を使用してもよい。
 情報処理装置テーブル3011は、例えば、記憶部113に記憶される。
 情報処理装置テーブル3011は、それぞれの情報処理装置について、識別情報と、電源のオン/オフの状態と、他の属性(図5の例では、属性α、属性βなど)とを対応付けて格納する。
 属性としては、任意の属性が用いられてもよく、例えば、情報処理装置が属するグループ、情報処理装置が存在する地域、情報処理装置を使用するユーザの年齢あるいは性別、情報処理装置の過去における協力度(例えば、図1に示されるようなアルゴリズムの伝達に加わった回数等)、などが用いられてもよい。当該協力度としては、具体例として、質問などに対する回答の数または頻度に基づく値であってもよい。
 図5の例では、識別情報として、「0001」あるいは「0002」などの数字の情報が用いられている。
 図5の例では、電源のオン/オフの状態として、「オン」は情報処理装置の電源がオンの状態であることを示しており、「オフ」は情報処理装置の電源がオフの状態であることを示している。
 本実施形態では、情報処理装置検索部132は、情報処理装置が検索された結果に基づいて、情報処理装置テーブル3011を生成して、更新する。
 なお、情報処理装置テーブル3011の情報のうちの一部があらかじめ設定されてもよい。
 また、情報処理装置テーブル3011の情報のうちの一部がユーザにより書き込まれてもよい。
 また、情報処理装置テーブル3011を記憶する情報処理装置では、自装置(当該情報処理装置)に関する情報については、当該情報処理装置テーブル3011に格納されてもよく、あるいは、格納されなくてもよい。
 本実施形態では、1番目の情報処理装置A(1)における経路決定部133(あるいは、同様な機能を有する他の装置の当該機能)は、電源がオンの状態である情報処理装置については経路に含ませ得るが、電源がオフの状態である情報処理装置については経路に含ませないようにする。つまり、本実施形態では、電源がオンの状態である情報処理装置のうちから、経路に含ませる情報処理装置を決定(選択)する手法が用いられてもよい。
 また、例えば、1番目の情報処理装置A(1)における経路決定部133(あるいは、同様な機能を有する他の装置の当該機能)は、所定のグループ(例えば、同一のグループ)に属する情報処理装置については経路に含ませ得るが、当該グループに属しない情報処理装置については経路に含ませないようにしてもよい。つまり、本実施形態では、所定のグループに属する情報処理装置のうちから、経路に含ませる情報処理装置を決定(選択)する手法が用いられてもよい。
 なお、同様に、他の属性についても、所定の属性が所定の状態である情報処理装置のうちから、経路に含ませる情報処理装置を決定(選択)する手法が用いられてもよい。
 また、例えば、1個以上の所定の属性の状態に基づいて、2個以上の異なる情報処理装置の候補のうちから、最も優先される一部である1個(または、所定数個)の情報処理装置を決定(選択)する手法が用いられてもよい。
 [送信データの概要]
 図6は、本発明の一実施形態に係る1番目の情報処理装置A(1)から送信されるデータ(送信データ4011)の概略的な一例を示す図である。
 送信データ4011は、アルゴリズム4031(ここでは、アルゴリズムが記述されたデータのことを表す。)と、パラメーター4032を含む。
 図6の例では、アルゴリズム4031の実行に際して利用されるパラメーター4032が、当該アルゴリズム4031に付加されている。なお、パラメーター4032はアルゴリズム4031に含まれると捉えられてもよい。
 また、本実施形態では、送信データ4011には、経路情報が含まれる。
 図7は、本発明の一実施形態に係るj(j=2~N-1)番目の情報処理装置A(j)から送信されるデータ(送信データ4111)の概略的な一例を示す図である。
 送信データ4111は、アルゴリズム4131(ここでは、アルゴリズムが記述されたデータのことを表す。)と、パラメーター4132と、演算結果4133を含む。
 また、本実施形態では、送信データ4111には、経路情報が含まれる。
 ここで、図7に示される送信データ4111は、概略的には、図6に示される送信データ4011に対して、演算結果4133が加えられている。
 本実施形態では、演算結果4133は、演算結果データb(j-1)に相当する。
 図8は、本発明の一実施形態に係るN番目の情報処理装置A(N)から送信されるデータ(送信データ4211)の概略的な一例を示す図である。
 送信データ4211は、演算結果4231を含む。
 本実施形態では、演算結果4231は、演算結果データb(N-1)に相当する。
 [情報処理システムにおける全体的な動作の概要]
 図9は、本発明の一実施形態(第1実施形態)に係る情報処理システム1における全体的な動作の概略を示す図である。
 図9の例では、1番目の情報処理装置A(1)からN番目の情報処理装置A(N)まで、アルゴリズムデータa(1)~a(N-1)として、同一のアルゴリズムCが記述されたデータが伝達されていく。なお、それぞれのアルゴリズムデータa(1)~a(N-1)におけるパラメーターは、例えば、同一であってもよく、あるいは、異なってもよい。
 また、図9の例では、2番目の情報処理装置A(2)からN番目の情報処理装置A(N)まで、それぞれの演算結果d(1)~d(N-1)が伝達されていく。
 これにより、本例では、同一のアルゴリズムCに応じた演算が、2番目の情報処理装置A(2)からN番目の情報処理装置A(N)までのそれぞれにおいて、それぞれに記憶されたデータを用いて実行され、これらの実行結果(演算結果d(1)~d(N-1))が最終的には1番目の情報処理装置A(1)に通知される。
 なお、演算結果d(1)~d(N-1)は、例えば、それぞれ独立に並べられてもよく、あるいは、2番目の情報処理装置A(2)からN番目の情報処理装置A(N)まで伝達されるにしたがって、それぞれの情報処理装置A(3)~A(N)において過去の演算結果が演算に使用されることで、次の演算結果のなかに実質的に含まれてもよい。
 ここで、同一のアルゴリズムCが所定の変数xを用いた所定の関数F(x)によって表されるとすると、アルゴリズムデータa(1)、アルゴリズムデータa(2)、アルゴリズムデータa(3)・・・は、例えば、F(x)、F(F(x))、F(F(F(x)))・・・となる。
 <具体的な適用の例>
 図9を参照して、具体的な適用の例を示す。
 一例として、1番目の情報処理装置A(1)は、他の情報処理装置A(2)~A(N)へ試験の内容を複製するためのアルゴリズムCの内容を配布し、当該試験の内容を受け取った情報処理装置A(2)~A(N)の一覧情報を取得することができる。この場合、アルゴリズムCは、所定の試験の内容の情報を複製して保存する処理を規定する。当該試験の内容の情報は、例えば、1番目の情報処理装置A(1)が2番目の情報処理装置A(2)に送信するデータに含まれてもよく、あるいは、2番目の情報処理装置A(2)に記憶されたデータに含まれていて当該データから抽出されてもよい。また、アルゴリズムCは、それぞれの情報処理装置A(2)~A(N)が試験の内容を複製したことを通知するために、自装置(情報処理装置A(2)~A(N))の識別情報をそれぞれの演算結果データd(1)~d(N-1)に含める処理を規定する。これにより、2番目の情報処理装置A(2)からN番目の情報処理装置A(N)のそれぞれにおいて試験の内容が複製され、また、試験の内容が複製された(つまり、試験の内容を受け取った)すべての情報処理装置A(2)~A(N)の識別情報の一覧(演算結果データd(N-1))が1番目の情報処理装置A(1)により取得される。
 ここで、それぞれの情報処理装置A(2)~A(N)の識別情報は、それぞれの情報処理装置A(2)~A(N)に記憶されたデータに含まれている。
 なお、それぞれの情報処理装置A(2)~A(N)の識別情報の代わりに、例えば、それぞれの情報処理装置A(2)~A(N)を操作するユーザ(例えば、試験を受ける者)などの識別情報が用いられてもよい。
 他の例として、1番目の情報処理装置A(1)は、他の情報処理装置A(2)~A(N)へ試験の合否を判定するためのアルゴリズムCの内容を配布し、それぞれの情報処理装置A(2)~A(N)について当該試験の合否の判定結果の一覧情報を取得することができる。この場合、アルゴリズムCは、所定の試験の解答の情報を参照して合否を判定する処理を規定する。それぞれの情報処理装置A(2)~A(N)における当該試験の解答の情報は、それぞれの情報処理装置A(2)~A(N)に記憶されたデータに含まれている。また、アルゴリズムCは、それぞれの情報処理装置A(2)~A(N)について合否の判定結果を通知するために、自装置(情報処理装置A(2)~A(N))における合否の判定結果を示す情報をそれぞれの演算結果データd(1)~d(N-1)に含める処理を規定する。これにより、2番目の情報処理装置A(2)からN番目の情報処理装置A(N)のそれぞれにおいて試験の解答に基づいて合否が判定され、また、すべての情報処理装置A(2)~A(N)についてそれぞれの合否の判定結果を示す情報の一覧(演算結果データd(N-1))が1番目の情報処理装置A(1)により取得される。
 なお、当該一覧(演算結果データd(N-1))では、それぞれの情報処理装置A(2)~A(N)について、合否の判定結果を示す情報に、それぞれの情報処理装置A(2)~A(N)あるいは対応するユーザなどの識別情報が対応付けられる。
 1番目の情報処理装置A(1)では、それぞれの情報処理装置A(2)~A(N)における解答(答案)のデータを回収せずに、合否の判定結果のデータを取得することができる。
 合否の判定結果のデータとしては、例えば、合格したものだけに関するデータが用いられてもよく、合格しなかったものだけに関するデータが用いられてもよく、あるいは、これらの両方に関するデータが用いられてもよい。
 [情報処理装置において行われる処理の概要]
 <1番目の情報処理装置において行われる処理>
 図10は、本発明の一実施形態に係る1番目の情報処理装置A(1)において行われる処理の手順の一例を示す図である。
 (ステップS1)
 アルゴリズム生成部131は、アルゴリズム(図9の例では、アルゴリズムC)を生成し、ステップS2の処理へ移行する。
 (ステップS2)
 情報処理装置検索部132は、少なくとも次の通信相手である情報処理装置A(2)を検索し、ステップS3の処理へ移行する。なお、1番目の情報処理装置A(1)がすべての情報処理装置A(2)~A(N)を決定する場合には、情報処理装置検索部132はすべての情報処理装置A(2)~A(N)を検索する。
 (ステップS3)
 経路決定部133は、情報処理装置検索部132による検索結果に基づいて、少なくとも次の通信相手を含む経路を決定し、ステップS4の処理へ移行する。なお、1番目の情報処理装置A(1)がすべての情報処理装置A(2)~A(N)を決定する場合には、経路決定部133はすべての経路を決定する。
 (ステップS4)
 アルゴリズム送信制御部134は、アルゴリズム生成部131により生成されたアルゴリズムが記述されたデータ(アルゴリズムデータa(1))を、経路決定部133により決定された経路にしたがって、次の通信相手(2番目の情報処理装置A(2))に送信し、ステップS5の処理へ移行する。
 (ステップS5)
 演算結果取得部135は、N番目の情報処理装置A(N)から、最終的な演算結果の情報(演算結果データb(N-1))を取得(回収)し、本フローの処理を終了する。
 <j(j=2~N-1)番目の情報処理装置において行われる処理>
 図11は、本発明の一実施形態に係るj(j=2~N-1)番目の情報処理装置A(j)において行われる処理の手順の一例を示す図である。
 (ステップS21)
 アルゴリズム取得部231は、1つ前の順番にある情報処理装置A(j-1)から送信されてきたアルゴリズムデータa(j-1)に基づいて、当該アルゴリズムデータa(j-1)に記述されたアルゴリズムを取得し、ステップS22の処理へ移行する。
 (ステップS22)
 演算実行部232は、記憶部213に記憶されたデータ251を用いて、アルゴリズム取得部231により取得されたアルゴリズムに基づいて、当該アルゴリズムに応じた演算を実行し、ステップS23の処理へ移行する。
 (ステップS23)
 アルゴリズム生成部233は、1つ次の順番にある情報処理装置A(j+1)に送信するアルゴリズム(図9の例では、同一のアルゴリズムC)を生成(本例では、例えば、複製)し、ステップS24の処理へ移行する。
 (ステップS24)
 経路決定部234は、少なくとも次の通信相手を含む経路を決定し、ステップS25の処理へ移行する。なお、1番目の情報処理装置A(1)がすべての経路を決定する場合には、経路決定部234は、既に決定されている経路と同一の経路となるように経路を決定(例えば、複製でもよい。)する。
 (ステップS25)
 アルゴリズム送信制御部235は、アルゴリズム生成部233により生成されたアルゴリズムが記述されたデータ(アルゴリズムデータa(j))を、経路決定部234により決定された経路にしたがって、次の通信相手((j+1)番目の情報処理装置A(j+1))に送信し、本フローの処理を終了する。このとき、アルゴリズム送信制御部235は、演算実行部232により演算が実行された結果に基づく演算結果データb(j-1)も、次の通信相手((j+1)番目の情報処理装置A(j+1))に送信する。
 <N番目の情報処理装置において行われる処理>
 図12は、本発明の一実施形態に係るN番目の情報処理装置A(N)において行われる処理の手順の一例を示す図である。
 (ステップS41)
 アルゴリズム取得部331は、1つ前の順番にある情報処理装置A(N-1)から送信されてきたアルゴリズムデータa(N-1)に基づいて、当該アルゴリズムデータa(N-1)に記述されたアルゴリズムを取得し、ステップS42の処理へ移行する。
 (ステップS42)
 演算実行部332は、記憶部313に記憶されたデータ351を用いて、アルゴリズム取得部331により取得されたアルゴリズムに基づいて、当該アルゴリズムに応じた演算を実行し、ステップS43の処理へ移行する。
 (ステップS43)
 通知先決定部333は、演算結果の通知先を決定し、ステップS44の処理へ移行する。なお、1番目の情報処理装置A(1)が通知先(例えば、1番目の情報処理装置A(1))を指定している場合には、通知先決定部333は、指定された通知先となるように通知先を決定する。この場合、通知先を指定する情報は、1番目の情報処理装置A(1)からN番目の情報処理装置A(N)まで伝達される。
 (ステップS44)
 演算結果通知制御部334は、演算実行部332により演算が実行された結果に基づく演算結果データb(N-1)を、通知先に対して送信することで、当該通知先に通知し、本フローの処理を終了する。
 ここで、図1の例では、最後の順番にあるN番目の情報処理装置A(N)により得られた演算結果データb(N-1)を1番目の情報処理装置A(1)に送信する構成としたが、他の例として、最後の順番にあるN番目の情報処理装置A(N)により得られた演算結果データb(N-1)を他の装置に送信する構成が用いられてもよい。当該他の装置としては、例えば、2番目の情報処理装置A(2)から(N-1)番目の情報処理装置A(N-1)のうちの任意の1個以上の情報処理装置であってもよく、あるいは、別の情報処理装置(図示せず)であってもよい。当該別の情報処理装置は、例えば、あらかじめ定められてもよく、当該別の情報処理装置を指定する情報がアルゴリズムデータa(1)~a(N-1)に付加されてもよい。
 また、本実施形態では、最後の順番にあるN番目の情報処理装置A(N)により得られた演算結果データb(N-1)を通知先となる任意の装置に送信する場合を示したが、途中の順番にある2番目の情報処理装置A(2)から(N-1)番目の情報処理装置A(N-1)のうちの一部または全部の演算結果データb(j)を通知先となる任意の装置に送信する構成が用いられてもよい。
 また、それぞれの演算結果データb(1)~b(N―1)の通知先としては、任意の装置が用いられてもよい。また、それぞれの演算結果データb(1)~b(N―1)の通知先としては、例えば、同一の装置であってもよく、あるいは、異なる装置であってもよい。
 一例として、N番目の情報処理装置A(N)が、N番目の演算結果データb(N-1)を、1番目の情報処理装置A(1)から(N-1)番目の情報処理装置A(N-1)のそれぞれに通知してもよい。この場合、最終的な演算結果データb(N-1)が、すべての情報処理装置A(1)~A(N)により共有される。
 また、本実施形態では、それぞれの情報処理装置A(2)~A(N)は、受信されたデータ(例えば、アルゴリズムデータ、演算結果データ)を使用した後に、当該データを消去してもよく、あるいは、当該データの一部または全部を記憶して保存してもよい。
 また、本実施形態では、それぞれの情報処理装置A(1)~A(N)は、送信したデータ(例えば、アルゴリズムデータ、演算結果データ)について、送信の後に、消去してもよく、あるいは、当該データの一部または全部を記憶して保存してもよい。
 また、本実施形態では、1個の経路に含まれるそれぞれの情報処理装置A(1)~A(N)は、1回だけ当該経路に含まれるが、他の例として、1個の経路に同一の情報処理装置が2回以上含まれる場合があってもよい。
 また、本実施形態では、複数の情報処理装置A(1)~A(N)が順番に通信を行っていくことを、例えば、ブロックチェーンの技術を用いて、実現してもよい。
 [第1実施形態について]
 以上のように、本実施形態に係る情報処理システム1では、複数の情報処理装置A(1)~A(N)が有するデータを用いて所定の演算を実行することを効率化することが可能である。本実施形態に係る情報処理システム1では、特に、ビッグデータの処理に有効である。
 本実施形態に係る情報処理システム1では、それぞれの情報処理装置A(2)~A(N)において記憶されたデータを送信(転送)するのではなく、アルゴリズムが記述されたデータ(アルゴリズムデータa(2)~a(N-1))を順番に通信していき、演算結果に関するデータ(演算結果データb(1)~b(N-2))を順番に渡していくため、例えば、それぞれの情報処理装置A(2)~A(N)において記憶されたデータが膨大であるような場合に、特に効率的である。
 本実施形態に係る情報処理システム1では、全体的な処理の効率化により、例えば、高速なレスポンス、高速なデータ共有、高速な大規模演算処理が可能である。
 また、本実施形態に係る情報処理システム1では、例えば、サーバの機能を備えない構成を採用した場合、サーバの設置および維持に要する費用を省略することができる。
 また、本実施形態に係る情報処理システム1では、例えば、情報処理装置A(1)~A(N)の間の通信を採用することで、通信費用を低減することも可能である。
 また、本実施形態に係る情報処理システム1では、例えば、暗号化あるいは所定の権限の設定などを行うことにより、セキュア性を確保することも可能である。
 ここで、本実施形態に係る情報処理システム1では、それぞれの情報処理装置A(2)~A(N)において、アルゴリズムが記述されたデータ(アルゴリズムデータa(2)~a(N-1))と演算結果に関するデータ(演算結果データb(1)~b(N-2))を順番に通信していく場合を示したが、他の構成例として、演算結果データb(1)~b(N-2)については通信されない構成、または、演算結果データb(1)~b(N-2)については通信されるがアルゴリズムデータa(2)~a(N-1)と一緒には通信されない構成が用いられてもよい。すなわち、それぞれの情報処理装置A(2)~A(N)において、アルゴリズムが記述されたデータ(アルゴリズムデータa(2)~a(N-1))を順番に通信していく構成であると捉えることも可能であり、それ以外の付加的な構成が必要に応じて備えられてもよい。
 (第2実施形態)
 図13を参照して説明する。
 本実施形態では、第1実施形態と比べて、1番目の情報処理装置A(1)からN番目の情報処理装置A(N)までアルゴリズムが伝達されるときに、当該アルゴリズムの内容が変化し得る点で異なっており、他の点で同様である。このため、本実施形態では、説明の便宜上、図13に示される符号を除いて、第1実施形態の場合と同じ符号(図に示される符号)を用いて説明する。
 [情報処理システムにおける全体的な動作の概要]
 図13は、本発明の一実施形態(第2実施形態)に係る情報処理システム1における全体的な動作の概略を示す図である。
 図13の例では、1番目の情報処理装置A(1)からN番目の情報処理装置A(N)まで、アルゴリズムデータe(1)~e(N-1)として、それぞれの内容が異なり得るアルゴリズムが記述されたデータが伝達されていく。なお、それぞれのアルゴリズムデータe(1)~e(N-1)におけるパラメーターは、例えば、同一であってもよく、あるいは、異なってもよい。
 また、図13の例では、2番目の情報処理装置A(2)からN番目の情報処理装置A(N)まで、それぞれの演算結果d(1)~d(N-1)が伝達されていく。
 ここで、本実施形態では、j(j=2~N-1)番目の情報処理装置A(j)において、アルゴリズム生成部233は、アルゴリズム取得部231により取得されたアルゴリズムに対して、同一のアルゴリズムまたは異なるアルゴリズムを、次のアルゴリズムとして生成する。
 一例として、1番目の情報処理装置A(1)からN番目の情報処理装置A(N)までのアルゴリズムのすべてが、1番目の情報処理装置A(1)によって、あらかじめ定められていてもよい。この場合、これらすべてのアルゴリズムのそれぞれを指定(特定)する情報は、例えば、1番目の情報処理装置A(1)から送信されるアルゴリズムデータe(1)に含められていてもよい。
 他の例として、2番目の情報処理装置A(2)から(N-1)番目の情報処理装置A(N-1)のうちの一部または全部は、アルゴリズム取得部231により取得されたアルゴリズムに基づいて次のアルゴリズムを生成する規則を記憶部213に記憶していてもよい。当該規則は、例えば、あらかじめ記憶部213に記憶されてもよく、あるいは、任意のタイミングで外部から入力されて記憶部213に記憶されてもよい。また、jが3以上である場合、当該規則は、例えば、アルゴリズム取得部231により取得されたアルゴリズムと、受信された演算結果データに基づいて次のアルゴリズムを生成する規則であってもよい。
 なお、次のアルゴリズムを生成する手法としては、例えば、新たにアルゴリズムを生成する手法が用いられてもよく、あるいは、前のアルゴリズム(例えば、1つ前のアルゴリズム)の一部を変更することで次のアルゴリズムを生成する手法が用いられてもよい。
 また、本実施形態では、jが2以上である場合に、j番目の情報処理装置A(j)において、アルゴリズム生成部233は、当該j番目の情報処理装置A(j)に記憶されたデータの一部または全部(さらに、必要に応じて、他のデータ)に基づいて、次のアルゴリズムを生成してもよい。
 また、本実施形態では、jが3以上である場合に、j番目の情報処理装置A(j)において、アルゴリズム生成部233は、(j-1)番目の情報処理装置A(j-1)から受信された演算結果データの一部または全部(さらに、必要に応じて、他のデータ)に基づいて、次のアルゴリズムを生成してもよい。
 これにより、本例では、異なり得るアルゴリズムe(1)~e(N-1)に応じた演算が、2番目の情報処理装置A(2)からN番目の情報処理装置A(N)までのそれぞれにおいて、それぞれに記憶されたデータを用いて実行され、これらの実行結果(演算結果f(1)~f(N-1))が最終的には1番目の情報処理装置A(1)に通知される。
 なお、演算結果f(1)~f(N-1)は、例えば、それぞれ独立に並べられてもよく、あるいは、2番目の情報処理装置A(2)からN番目の情報処理装置A(N)まで伝達されるにしたがって、それぞれの情報処理装置A(3)~A(N)において過去の演算結果が演算に使用されることで、次の演算結果のなかに実質的に含まれてもよい。
 ここで、複数の異なるアルゴリズムデータa(1)~a(N-1)が所定の変数xを用いた所定の関数F<1>(x)~F<N-1>(x)によって表されるとすると、アルゴリズムデータa(1)、アルゴリズムデータa(2)、アルゴリズムデータa(3)・・・は、例えば、F<1>(x)、F<2>(F<1>(x))、F<3>(F<2>(F<1>(x)))・・・となる。
 <具体的な適用の例>
 図13を参照して、具体的な適用の例を示す。
 一例として、1番目の情報処理装置A(1)は、他の情報処理装置A(2)~A(N)へ試験の内容を複製するためのアルゴリズムe(1)の内容を配布し、試験の内容を受け取った情報処理装置A(2)~A(N)の一覧情報を取得することができる。この場合、それぞれのアルゴリズムe(1)~e(N-1)は、所定の試験の内容の情報を生成して保存する処理を規定する。この場合に、本例では、それぞれのアルゴリズムe(1)~e(N-1)は、少なくとも一部が異なっている。例えば、それぞれのアルゴリズムe(1)~e(N-1)は、選択問題における複数の選択肢の並び順序を決める手順の部分が異なってもよい。また、それぞれのアルゴリズムe(1)~e(N-1)は、それぞれの情報処理装置A(2)~A(N)が試験の内容を生成したことを通知するために、自装置(情報処理装置A(2)~A(N))の識別情報をそれぞれの演算結果データf(1)~f(N-1)に含める処理を規定する。
 なお、図13の例では、図9の例と比べて、それぞれのアルゴリズムe(1)~e(N-1)が異なり得る点で相違しており、他の点では同様であってもよい。
 他の例として、1番目の情報処理装置A(1)は、他の情報処理装置A(2)~A(N)へ試験の合否を判定するためのアルゴリズムe(1)の内容を配布し、それぞれの情報処理装置A(2)~A(N)について当該試験の合否の判定結果の一覧情報を取得することができる。この場合、それぞれのアルゴリズムe(1)~e(N-1)は、所定の試験の解答の情報を参照して合否を判定する処理を規定する。この場合に、本例では、それぞれのアルゴリズムe(1)~e(N-1)は、少なくとも一部が異なっている。例えば、それぞれのアルゴリズムe(1)~e(N-1)は、多数の問題のなかで解答されるべき問題と解答不要な問題とが混合していて情報処理装置A(2)~A(N)ごとに異なり得るときに、採点すべき問題(つまり、解答すべき問題)を決める手順の部分が異なってもよい。また、それぞれのアルゴリズムe(1)~e(N-1)は、それぞれの情報処理装置A(2)~A(N)について合否の判定結果を通知するために、自装置(情報処理装置A(2)~A(N))における合否の判定結果を示す情報をそれぞれの演算結果データf(1)~f(N-1)に含める処理を規定する。
 なお、図13の例では、図9の例と比べて、それぞれのアルゴリズムe(1)~e(N-1)が異なり得る点で相違しており、他の点では同様であってもよい。
 [第2実施形態について]
 以上のように、本実施形態に係る情報処理システム1では、複数の情報処理装置A(1)~A(N)が有するデータを用いて所定の演算を実行することを効率化することが可能である。この場合に、本実施形態に係る情報処理システム1では、それぞれの情報処理装置A(2)~A(N)において、アルゴリズムが記述されたデータ(アルゴリズムデータ)を順番に通信していくに際して、アルゴリズムを変更することが可能である。これにより、本実施形態に係る情報処理システム1では、例えば、経路の全体における処理を適切にするように、アルゴリズムを変更することが可能である。
 (第3実施形態)
 図14および図15を参照して説明する。
 本実施形態では、上記の実施形態(第1実施形態~第2実施形態)と比べて、それぞれの情報処理装置がアルゴリズムに応じた演算の実行結果が十分な結果であるか否かを判定する点で異なっており、他の点で同様である。このため、本実施形態では、説明の便宜上、図14および図15に示される符号を除いて、上記の実施形態(第1実施形態~第2実施形態)の場合と同じ符号(図に示される符号)を用いて説明する。
 [情報処理装置の概要]
 図14は、本発明の一実施形態(第3実施形態)に係るz(一例としてz=3~Nであるが、本実施形態では、z=2である場合も含めて説明する。)番目の情報処理装置B(z)の概略的な構成例を示す図である。なお、本実施形態では、経路に含まれる情報処理装置の総数(N個)は、変動し得るが、説明の便宜上、N個(本実施形態において、Nは変動し得る。)であるとして説明する。
 z番目の情報処理装置B(z)は、入力部411と、出力部412と、記憶部413と、通信部414と、制御部415を備える。
 ここで、入力部411、出力部412、記憶部413、通信部414のそれぞれの機能は、概略的には、第1実施形態に係る1番目の情報処理装置A(1)における入力部111、出力部112、記憶部113、通信部114のそれぞれの機能と同様であり、ここでは詳しい説明を省略する。
 図14の例では、記憶部413は、データ451を記憶している。
 制御部415は、アルゴリズム取得部431と、演算実行部432と、演算結果判定部433と、アルゴリズム生成部434と、経路決定部435と、アルゴリズム送信制御部436と、通知先決定部437と、演算結果通知制御部438を備える。
 アルゴリズム取得部431は、1つ前の順番の情報処理装置である(z-1)番目の情報処理装置B(z-1)から送信されて通信部414により受信されたアルゴリズムデータa(z-1)を取得する。また、(z-1)番目の情報処理装置B(z-1)から演算結果データb(z-2)も送信されてくる場合には、当該演算結果データb(z-2)も通信部414により受信される。
 演算実行部432は、記憶部413に記憶されたデータ451を用いて、アルゴリズム取得部431により取得されたアルゴリズムに応じた演算を実行する。この場合に、演算実行部432は、当該アルゴリズムにしたがって、必要であれば、(z-1)番目の情報処理装置B(z-1)から受信された演算結果データb(z-2)も用いて、当該演算を実行する。
 これにより、演算実行部432は、演算結果データb(z-1)を取得する。ここで、演算実行部432は、演算結果データb(z-1)に、例えば、それよりも前の順番にある情報処理装置において取得された演算結果データのうちの一部または全部を含めてもよい。
 演算結果判定部433は、演算実行部432により演算が実行された結果として得られた演算結果データb(z-1)について、最終的な演算結果とするか否かを判定する。
 ここで、判定対象の演算結果を最終的な演算結果とするか否かは、例えば、所定の判定基準を用いて判定される。
 所定の判定基準としては、任意の基準が用いられてもよい。
 一例として、所定の判定基準として、既にアルゴリズムに応じた演算を実行した情報処理装置の数((z-1)個)が所定の閾値以上である場合に最終的な演算結果とし、他の場合に最終的な演算結果としない基準が用いられてもよい。
 他の例として、所定の判定基準として、得られた演算結果に含まれる情報の量が所定の閾値以上である場合に最終的な演算結果とし、他の場合に最終的な演算結果としない基準が用いられてもよい。
 他の例として、所定の判定基準として、1番目の情報処理装置B(1)から1番目のアルゴリズムデータa(1)が送信された時刻から経過した時間が所定の閾値以上である場合に最終的な演算結果とし、他の場合に最終的な演算結果としない基準が用いられてもよい。この場合、当該時刻あるいは当該時間の情報が、1番目の情報処理装置B(1)から以降の情報処理装置B(j)へ順次伝達されていく。
 なお、このような判定基準としては、例えば、すべての情報処理装置B(z)において同一の判定基準が用いられてもよく、あるいは、それぞれの情報処理装置B(z)ごとに異なり得る判定基準が用いられてもよい。
 また、このような判定基準は、例えば、1番目の情報処理装置B(1)により指定されてもよく、あるいは、それぞれの情報処理装置B(z)によって生成することが可能であってもよい。
 一例として、2番目の情報処理装置B(2)およびそれ以降の情報処理装置(本例では、N番目の情報処理装置B(N)までの情報処理装置)の判定基準のすべてが、1番目の情報処理装置B(1)によって、あらかじめ定められていてもよい。この場合、これらすべての判定基準のそれぞれを指定(特定)する情報は、例えば、1番目の情報処理装置B(1)から送信されるアルゴリズムデータa(1)に含められていてもよい。
 他の例として、2番目の情報処理装置B(2)およびそれ以降の情報処理装置(本例では、N番目の情報処理装置B(N)までの情報処理装置)のうちの一部または全部は、独自に判定基準を生成してもよい。当該判定基準を生成する手法としては、任意の手法が用いられてもよい。
 アルゴリズム生成部434は、(z-1)番目の情報処理装置B(z-1)から受信されたアルゴリズムデータa(z-1)に基づいて、1つ後の順番の情報処理装置である(z+1)番目の情報処理装置B(z+1)に送信するアルゴリズムデータa(z)のアルゴリズムを生成する。
 経路決定部435は、少なくとも1つ後の順番の情報処理装置である(z+1)番目の情報処理装置B(z+1)が含まれる経路を決定する。一例として、それぞれの情報処理装置B(1)~B(N-1)が、1つ後の順番にある情報処理装置B(2)~B(N)(次の通信相手)を決定する構成が用いられてもよい。
 アルゴリズム送信制御部436は、アルゴリズム生成部434により生成されたアルゴリズムが記述されたデータ(アルゴリズムデータa(z))を(z+1)番目の情報処理装置B(z+1)に対して通信部414により送信するように制御する。
 ここで、本実施形態では、アルゴリズムデータa(z)には、経路決定部435により決定された経路を示す情報(経路情報)が付加される。
 通知先決定部437は、演算結果データb(z-1)の通知先となる他の情報処理装置を決定する。
 本実施形態では、通知先決定部437は、1番目の情報処理装置B(1)を通知先として決定する。本実施形態では、1番目の情報処理装置B(1)から2番目以降の情報処理装置B(2)~B(N-1)を経由してN番目の情報処理装置B(N)により取得される経路情報に、1番目の情報処理装置B(1)を識別する情報が含まれているとする。
 他の例として、通知先決定部437は、1番目の情報処理装置B(1)以外の装置を通知先として決定してもよい。当該通知先となる装置は、例えば、あらかじめ設定されてもよく、あるいは、通知先決定部437によりリアルタイムに決定されてもよい。
 一例として、あらかじめ設定された通知先となる装置を識別する情報が、1番目の情報処理装置B(1)から2番目以降の情報処理装置B(2)~B(N-1)を経由してN番目の情報処理装置B(N)により取得されてもよい。他の例として、通知先となる装置を識別する情報が、あらかじめ、任意の情報処理装置(本例では、少なくとも、N番目の情報処理装置B(N)となり得る情報処理装置)に設定されてもよい。
 他の例として、通知先決定部437は、情報処理装置検索部132と同様な機能を有してもよく、当該機能により情報処理装置が探索された結果に基づいて、通知先を決定してもよい。
 演算結果通知制御部438は、演算結果データb(z-1)を、通知先決定部437により決定された通知先(本実施形態では、1番目の情報処理装置B(1))に対して通信部414により送信するように制御する。
 [情報処理装置において行われる処理の概要]
 図15は、本発明の一実施形態(第3実施形態)に係るz(z=2~N)番目の情報処理装置B(z)において行われる処理の手順の一例を示す図である。
 (ステップS111)
 アルゴリズム取得部431は、1つ前の順番にある情報処理装置B(z-1)から送信されてきたアルゴリズムデータa(z-1)に基づいて、当該アルゴリズムデータa(z-1)に記述されたアルゴリズムを取得し、ステップS112の処理へ移行する。
 (ステップS112)
 演算実行部432は、記憶部413に記憶されたデータ451を用いて、アルゴリズム取得部431により取得されたアルゴリズムに基づいて、当該アルゴリズムに応じた演算を実行し、ステップS113の処理へ移行する。
 (ステップS113)
 演算結果判定部433は、演算実行部432により演算が実行された結果(演算結果)について、最終的な演算結果とするか否かを判定する。
 この判定の結果、演算結果判定部433は、演算実行部432により演算が実行された結果(演算結果)について、最終的な演算結果とすることを判定した場合、ステップS114の処理へ移行する。
 一方、この判定の結果、演算結果判定部433は、演算実行部432により演算が実行された結果(演算結果)について、最終的な演算結果とはしないことを判定した場合、ステップS116の処理へ移行する。
 (ステップS114)
 演算結果判定部433が演算結果を最終的な演算結果とすることを判定した場合、通知先決定部437は、演算結果の通知先を決定し、ステップS115の処理へ移行する。なお、1番目の情報処理装置B(1)が通知先(例えば、1番目の情報処理装置B(1))を指定している場合には、通知先決定部437は、指定された通知先となるように通知先を決定する。この場合、通知先を指定する情報は、1番目の情報処理装置B(1)からN番目の情報処理装置B(N)まで伝達される。
 (ステップS115)
 演算結果通知制御部438は、演算実行部432により演算が実行された結果に基づく演算結果データb(z-1)を、通知先に対して送信することで、当該通知先に通知し、本フローの処理を終了する。
 (ステップS116)
 演算結果判定部433が演算結果を最終的な演算結果とはしないことを判定した場合、
 アルゴリズム生成部434は、1つ後の順番にある情報処理装置B(z+1)に送信するアルゴリズムを生成し、ステップS117の処理へ移行する。
 (ステップS117)
 経路決定部435は、少なくとも次の通信相手を含む経路を決定し、ステップS118の処理へ移行する。なお、1番目の情報処理装置B(1)がすべての経路を決定する場合には、経路決定部435は、既に決定されている経路と同一の経路となるように経路を決定する。
 (ステップS118)
 アルゴリズム送信制御部436は、アルゴリズム生成部434により生成されたアルゴリズムが記述されたデータ(アルゴリズムデータa(z))を、経路決定部435により決定された経路にしたがって、次の通信相手((z+1)番目の情報処理装置B(z+1))に送信し、本フローの処理を終了する。このとき、アルゴリズム送信制御部436は、演算実行部432により演算が実行された結果に基づく演算結果データb(z-1)も、次の通信相手((z+1)番目の情報処理装置B(z+1))に送信する。
 ここで、本実施形態では、N番目の情報処理装置B(N)において、得られた演算結果を最終的な演算結果とすることが判定されて、得られた演算結果が1番目の情報処理装置B(1)に通知される、場合を示してある。
 なお、本実施形態では、例えば、2番目の情報処理装置B(2)から(N-1)番目の情報処理装置B(N-1)までのうちのいずれかの情報処理装置において、得られた演算結果を最終的な演算結果とすることが判定された場合には、当該情報処理装置により得られた演算結果が1番目の情報処理装置B(1)に通知される。
 また、情報処理装置において得られた演算結果を最終的な演算結果とするか否かを判定するための判定基準は、例えば、それぞれの情報処理装置B(z)ごとに、更新されていってもよい。
 また、情報処理装置において得られた演算結果を最終的な演算結果とするか否かを判定するための判定基準は、例えば、複数の情報処理装置B(z)により得られた演算結果が比較されることで、その比較の結果に基づいて、更新されていってもよい。一例として、所定個以上の数の演算結果が同一の値であるまたは所定の範囲にある値である場合に、これらの演算結果を妥当とする判定基準が生成されてもよい。他の例として、同一の値でないまたは所定の範囲にない値である演算結果を、妥当でないとする判定基準が生成されてもよい。
 [第3実施形態について]
 以上のように、本実施形態に係る情報処理装置B(z)では、演算が実行された結果として得られた演算結果データb(z-1)について、最終的な演算結果とするか否かを判定する。これにより、本実施形態に係る情報処理装置B(z)では、例えば、最終的な演算結果として不十分な演算結果データである場合には経路を延長すること(つまり、次の情報処理装置B(z+1)にアルゴリズムを送信すること)ができ、一方、最終的な演算結果として十分な演算結果データである場合には経路を閉じる(つまり、他の情報処理装置にアルゴリズムを送信することを停止する)ことができる。
 (第4実施形態)
 第1実施形態に係る図1の例では、1番目の情報処理装置A(1)からN番目の情報処理装置A(N)までが直列の関係にある経路を示したが、他の例として、並列な部分を含む経路が用いられてもよい。
 本実施形態では、並列な部分(説明の便宜上、「階層化部分」ともいう。)を含む経路が用いられる場合について説明する。
 図16~図18を参照して説明する。
 本実施形態では、上記の実施形態(第1実施形態~第3実施形態)と比べて、階層化部分を含む経路が用いられる点で異なっており、他の点で同様である。このため、本実施形態では、説明の便宜上、図16~図18に示される符号を除いて、上記の実施形態(第1実施形態~第3実施形態)の場合と同じ符号(図に示される符号)を用いて説明する。
 [経路に含まれる階層化部分の概要]
 図16は、本発明の一実施形態(第4実施形態)に係る階層化部分501の概略的な構成例を示す図である。
 図16には、図1に示されるような全体的な経路のうち、階層化部分501だけを示してある。
 図16の例では、7個の情報処理装置C(1)~C(7)を示してある。なお、本実施形態では、複数の情報処理装置C(1)~C(7)の番号(1~7)と順番(経路における順番)とは、必ずしも一致していない。
 情報処理装置C(1)と情報処理装置C(5)との間に、2個に分岐された経路部分が並列に存在する。すなわち、情報処理装置C(1)、情報処理装置C(2)、情報処理装置C(3)、情報処理装置C(4)、情報処理装置C(5)が直列にある経路部分と、情報処理装置C(1)、情報処理装置C(6)、情報処理装置C(7)、情報処理装置C(5)が直列にある経路部分が存在する。
 ここで、全体的な経路の例では、情報処理装置C(1)よりも前の順番に1個以上の情報処理装置(図示せず)が存在し、また、情報処理装置C(5)よりも後の順番に1個以上の情報処理装置(図示せず)が存在する。
 なお、他の例として、情報処理装置C(1)が1番目の情報処理装置であってもよく、また、情報処理装置C(5)がN番目の情報処理装置であってもよい。また、他の例として、情報処理装置C(5)が、演算結果の通知を受ける1番目の情報処理装置であってもよく、図16の例では、2個の異なる情報処理装置C(4)、C(7)から演算結果の通知を受ける。
 また、本実施形態では、2個に分岐された経路部分が並列に存在する経路を示すが、3個以上に分岐された経路部分が並列に存在する経路が用いられてもよい。また、経路部分が並列に存在する箇所(分岐の箇所)が2箇所以上ある経路が用いられてもよい。
 図16の例では、情報処理装置C(1)よりも1つ前の順番の情報処理装置(図示せず)から情報処理装置C(1)に、アルゴリズムデータgおよび演算結果データhが送信される。
 また、y=1~7として、情報処理装置C(y)からアルゴリズムデータg(y)および演算結果データh(y)が送信される。
 情報処理装置C(1)は、アルゴリズムデータg(1)および演算結果データh(1)を、2個の異なる情報処理装置C(2)、C(6)に対して送信する。
 [情報処理装置の概要]
 図17は、本発明の一実施形態(第4実施形態)に係る情報処理装置C(5)における制御部511の概略的な構成例を示す図である。
 情報処理装置C(5)は、2個の異なる情報処理装置C(4)、C(7)からアルゴリズムデータg(4)、g(7)および演算結果データh(4)、g(7)を受信する。
 情報処理装置C(5)における制御部511は、処理部群531と、演算結果判定部532を備える。
 処理部群531は、上記の実施形態(第1実施形態~第3実施形態)に示される各種の処理部を含んでおり、詳しい説明を省略する。
 演算結果判定部532は、複数の演算結果データについて、所定の判定を行い、必要に応じて、判定の結果に応じた所定の処理を行う。
 ここで、所定の判定としては、様々な判定が行われてもよく、例えば、整合性に関する判定、あるいは、経由された情報処理装置の数などに関する判定などが用いられてもよい。
 また、所定の処理としては、様々な処理が用いられてもよく、例えば、1つ以上を選択する処理、あるいは、2つ以上を結合する処理などが用いられてもよい。
 また、所定の判定において、例えば、当該判定の結果に応じて行われる所定の処理に関する基準を用いた判定が行われてもよい。具体例として、1つ以上を選択する処理について、選択を行うための基準に基づいた判定が行われてもよく、あるいは、2つ以上を結合する処理について、結合を行うための基準に基づいた判定が行われてもよい。選択を行うための基準としては、例えば、選択するか否かを判定するための基準が用いられてもよい。結合を行うための基準としては、例えば、結合する対象とするか否かを判定する基準、あるいは、結合の割合を判定(決定)するための基準などが用いられてもよい。
 一例として、演算結果判定部532は、複数の演算結果データの整合性を判定し、必要に応じて、判定の結果に応じた処理を行う。例えば、演算結果判定部532は、整合性があることを判定した複数の演算結果データを組み合わせる処理を行う。なお、演算結果判定部532は、整合性がないことを判定した複数の演算結果データのうちの一部を選択(採用)する(または、一部を不採用とする)処理を行ってもよい。
 図16の例では、演算結果判定部532は、演算結果データh(4)が3個の情報処理装置C(2)、C(3)、C(4)を経由してきたものであり、演算結果データh(7)が2個の情報処理装置C(6)、C(7)を経由してきたものであることを確認したことにより、これらの演算結果データh(4)、h(7)に整合性があると判定する。この判定の結果、演算結果判定部532は、これらの演算結果データh(4)、h(7)を結合する処理を行い、その結合の結果を1個の演算結果データとして扱う。
 このように、演算結果判定部532は、複数の演算結果データの整合性を判定し、判定の結果に基づいて、演算結果データの取捨選択、あるいは、結合などを行う構成とされてもよい。また、演算結果判定部532は、結合の割合を決定して、決定された結合の割合にしたがった結合を行ってもよい。
 他の例として、演算結果判定部532は、複数の演算結果データについて、経由された情報処理装置の数を判定し、必要に応じて、判定の結果に応じた処理を行う。例えば、演算結果判定部532は、分岐後により多くの情報処理装置を経由してきた演算結果データを選択(採用)し、それ以外の演算結果データを破棄する(採用しない)処理を行う。
 図16の例では、演算結果判定部532は、演算結果データh(4)が3個の情報処理装置C(2)、C(3)、C(4)を経由してきたものであり、演算結果データh(7)が2個の情報処理装置C(6)、C(7)を経由してきたものであることを確認したことにより、より多くの情報処理装置を経由してきた演算結果データh(4)を選択することを判定する。この判定の結果、演算結果判定部532は、演算結果データh(4)を選択する処理を行う。
 ここで、演算結果判定部532は、分岐後の演算結果データが3つ以上ある場合には、例えば、1つの演算結果データを選択してもよく、あるいは、2つ以上の所定数の演算結果データを選択してもよい。
 演算結果判定部532は、2つ以上の所定数の演算結果データを選択する場合、例えば、経由された情報処理装置の数が多い方から所定数の演算結果データを選択してもよい。
この場合、演算結果判定部532は、選択された2つ以上の演算結果データを結合してもよい。
 このように、演算結果判定部532は、複数の演算結果データについて経由された情報処理装置の数を判定し、判定の結果に基づいて、演算結果データの取捨選択、あるいは、結合などを行う構成とされてもよい。また、演算結果判定部532は、結合の割合を決定して、決定された結合の割合にしたがった結合を行ってもよい。
 ここで、演算結果データの取捨選択を行うための基準としては、例示した以外の任意の基準が用いられてもよく、例えば、演算結果データを受信した時刻が早い(または、遅い)ものを優先的に選択する基準、あるいは、特定の情報処理装置を経由した演算結果データを優先的に選択する基準などが用いられてもよい。
 また、演算結果判定部532は、1つの演算結果データを選択してもよく、あるいは、2つ以上の所定数の演算結果データを選択してもよく、あるいは、所定の基準を満たす任意の数の演算結果データを選択してもよい。例えば、演算結果判定部532は、所定の基準を満たす演算結果データをすべて選択してもよく、この構成では、候補となる演算結果データのうちのすべての演算結果データを選択する場合と、候補となる演算結果データのうちの一部の演算結果データを選択する場合と、いずれの演算結果データも選択しない場合が考えられる。なお、例えば、演算結果判定部532は、所定の基準に基づいて、少なくとも1つの演算結果データを選択する構成が用いられてもよい。
 また、所定の基準は、例えば、閾値を用いて設定されてもよく、この場合、演算結果データに関する所定の値が所定の閾値以上(あるいは、所定の閾値未満など)であるときに所定の基準を満たすと判定する構成を用いることができる。当該所定の値としては、例えば、経由された情報処理装置の数などの値が用いられてもよい。
 [情報処理装置において行われる処理の概要]
 図18は、本発明の一実施形態(第4実施形態)に係る情報処理装置C(5)において行われる処理の手順の一例を示す図である。
 (ステップS211)
 演算結果判定部532は、複数の並列な経路部分について受信された複数の演算結果を取得する。
 (ステップS212)
 演算結果判定部532は、取得された複数の演算結果について整合性の有無、あるいは、経由された情報処理装置の数などを判定する。なお、判定の内容としては、これらに限られず、他の様々な判定の内容が用いられてもよい。
 (ステップS213)
 演算結果判定部532は、取得された複数の演算結果について、判定の結果に基づいて処理を実行する。
 ここで、一例として、演算結果判定部532は、整合性の有無の判定に関し、整合性があることが判定された場合に、複数の演算結果を結合する処理を実行してもよい。複数の演算結果を結合する処理としては、例えば、これら複数の演算結果のすべての情報を含む情報を、結合結果として、生成する処理が用いられてもよい。
 他の例として、演算結果判定部532は、整合性の有無の判定に関し、整合性がないことが判定された場合に、複数の演算結果のうちの一部である1以上を選択して採用する処理を実行してもよい。複数の演算結果のうちの1以上を選択する規則としては、例えば、様々な規則が用いられてもよく、あらかじめ設定されてもよい。
 ここで、図16の例では、情報処理装置C(5)は、2個のアルゴリズムデータg(4)、g(7)を受信する。
 2個のアルゴリズムデータg(4)、g(7)のそれぞれにより記述されるアルゴリズムが同一である場合、情報処理装置C(5)において、アルゴリズム取得部(例えば、図3に示されるアルゴリズム取得部231)の機能は、任意の一方のアルゴリズムデータg(4)、g(7)により記述されるアルゴリズムを取得すればよい。
 一方、2個のアルゴリズムデータg(4)、g(7)のそれぞれにより記述されるアルゴリズムが異なる場合、情報処理装置C(5)において、アルゴリズム取得部(例えば、図3に示されるアルゴリズム取得部231)の機能は、例えば、任意の一方のアルゴリズムデータg(4)、g(7)により記述されるアルゴリズムを取得してもよく、あるいは、両方のアルゴリズムデータg(4)、g(7)のそれぞれにより記述されるアルゴリズムを取得してもよい。また、情報処理装置C(5)において、アルゴリズム生成部(例えば、図3に示されるアルゴリズム生成部233)の機能は、例えば、このような複数のアルゴリズムデータのそれぞれにより記述されるアルゴリズムを結合したアルゴリズムを生成してもよい。
 なお、複数の演算結果データの整合性あるいは経由された情報処理装置の数などが判定された結果は、例えば、将来における経路の決定に利用されてもよい。例えば、複数の演算結果データの整合性を表す数値あるいは経由された情報処理装置の数を表す数値などの情報(説明の便宜上、「判定値情報」ともいう。)を計算して、複数の情報処理装置について得られた演算結果データの判定値(判定値情報)が所定の閾値以上であった(ここでは、良かったとする)場合に、これら複数の情報処理装置の組み合わせを将来における経路に含めるようにし、一方、複数の情報処理装置について得られた演算結果データの判定値(判定値情報)が所定の閾値よりも低かった(ここでは、悪かったとする)場合に、これら複数の情報処理装置の組み合わせを将来における経路に含めないようにする、手法が用いられてもよい。
 [第4実施形態について]
 以上のように、本実施形態に係る情報処理装置C(5)では、複数の演算結果について整合性の有無あるいは経由された情報処理装置の数などを判定する。これにより、本実施形態に係る情報処理装置C(5)では、複数の演算結果について判定結果を利用することができ、例えば、それぞれの演算結果の選択あるいは2つ以上の演算結果の結合などに役立てることが可能である。
 ここで、演算結果判定部532により判定を行う処理をオンとするかあるいはオフとするかを切り替えることが可能な構成が用いられてもよい。このような切り替えは、例えば、情報処理装置C(5)などのユーザにより行われる操作に応じて行われてもよく、あるいは、情報処理装置C(5)により所定の規則にしたがって自動的に行われてもよい。演算結果判定部532により判定を行う処理がオンとされた状態では、演算結果判定部532は所定の判定を行い、必要に応じて、所定の処理を行う。一方、演算結果判定部532により判定を行う処理がオフとされた状態では、演算結果判定部532は、例えば、所定の判定を行わずに、あらかじめ定められた態様で、演算結果データの取捨選択あるいは結合などの所定の処理を行う。
 (第5実施形態)
 本実施形態では、経路に含まれない1個以上の情報処理装置から、当該経路に含まれる1個以上の情報処理装置に、データを集約する場合について説明する。
 図19~図23を参照して説明する。
 本実施形態では、上記の実施形態(第1実施形態~第4実施形態)と比べて、データの集約が行われる点で異なっており、他の点で同様である。このため、本実施形態では、説明の便宜上、図19~図23に示される符号を除いて、上記の実施形態(第1実施形態~第4実施形態)の場合と同じ符号(図に示される符号)を用いて説明する。
 [データの集約]
 まず、データの集約について説明する。
 図19、図20、図21は、それぞれ、本発明の一実施形態(第5実施形態)に係る情報処理装置D(1)~D(4)において行われるデータ集約の概略を示す図である。
 図19には、4個の情報処理装置D(1)~D(4)を示してある。なお、本実施形態では、複数の情報処理装置D(1)~D(4)の番号(1~4)と順番(経路における順番)とは、必ずしも一致していない。
 情報処理装置D(1)は、自装置の記憶部(図示せず)に、3個のデータk1~k3を記憶している。本例では、これらのデータk1~k3を他の情報処理装置D(2)~D(4)に記憶させる手法の一例を示す。
 図19の例では、情報処理装置D(1)は、1個のデータk1を情報処理装置D(2)に送信し、他の1個のデータk2を情報処理装置D(3)に送信し、他の1個のデータk3を情報処理装置D(4)に送信する。これにより、情報処理装置D(2)~D(4)は、それぞれ、3個のデータk1~k3のうちで、1個ずつのデータを記憶する。
 なお、情報処理装置D(1)と3個の情報処理装置D(2)~D(3)とは、例えば、サーバとクライアントの関係を有してもよい。
 図20の例では、情報処理装置D(2)は、1個のデータk1を情報処理装置D(3)に送信する。情報処理装置D(3)は、1個のデータk2を情報処理装置D(4)に送信する。情報処理装置D(4)は、1個のデータk3を情報処理装置D(2)に送信する。
これにより、情報処理装置D(2)~D(4)は、それぞれ、3個のデータk1~k3のうちで、2個ずつのデータを記憶する。
 図21の例では、情報処理装置D(2)は、1個のデータk3を情報処理装置D(3)に送信する。情報処理装置D(3)は、1個のデータk1を情報処理装置D(4)に送信する。情報処理装置D(4)は、1個のデータk2を情報処理装置D(2)に送信する。
これにより、情報処理装置D(2)~D(4)は、それぞれ、3個のデータk1~k3のすべてを記憶する。
 図19~図21の例では、複数の情報処理装置D(2)~D(3)は、情報処理装置D(1)から受信されたデータを、他の情報処理装置D(2)~D(3)との間で、例えば自動的に、補完して共有する。
 図19~図21に示されるように、複数の情報処理装置D(2)~D(4)に共通のデータk1~k3を記憶させるとき、例えば、1個の情報処理装置D(1)がそれぞれの情報処理装置D(2)~D(4)にデータk1~k3を送信する処理よりも、情報処理装置D(2)~D(4)どうしでデータk1~k3をやり取りする処理の方が、効率的な場合が多い。
 本実施形態に係る情報処理システムでは、このようなデータの集約の処理を利用する。
 ここで、図19~図21に示される技術では、例えば、複数の情報処理装置D(2)~D(3)に、データk1~k3を分散して配信することが可能である。
 例えば、複数の情報処理装置D(2)~D(4)において、データk1~k3の分散暗号化が行われてもよく、具体例として、秘密分散法が用いられてもよい。
 また、データの配布元である情報処理装置D(1)あるいは他の所定の装置(図示せず)において、複数の情報処理装置D(2)~D(4)へのデータk1~k3の配信が完了した後に、当該データk1~k3の利用権限(「利用条件」などと呼ばれてもよい。)が管理されてもよい。この場合、複数の情報処理装置D(2)~D(4)でデータk1~k3が共有されても、権限がある装置だけが当該データk1~k3を利用することができる。
 [情報処理システムの概要]
 図22は、本発明の一実施形態(第5実施形態)に係る情報処理システム601の概略的な構成例を示す図である。
 本実施形態に係る情報処理システム601は、M(本実施形態において、Mは3以上の整数であるとする。)個の情報処理装置E(1)~E(M)を備える。
 また、本実施形態に係る情報処理システム601は、P(本実施形態において、Pは1以上の整数であるとする。)個の情報処理装置F(1)~F(P)を備える。
 また、本実施形態に係る情報処理システム601は、Q(本実施形態において、Qは1以上の整数であるとする。)個の情報処理装置G(1)~G(Q)を備える。
 図22の例では、それぞれの情報処理装置E(1)~E(M-1)から送信されるアルゴリズムデータm(1)~m(M-1)と、それぞれの情報処理装置E(2)~E(M)から送信される演算結果データn(1)~n(M-1)を示してある。
 また、それぞれの情報処理装置F(1)~F(P)は、データp(1)~p(P)を記憶する。
 また、それぞれの情報処理装置G(1)~G(Q)は、データq(1)~q(Q)を記憶する。
 [情報処理システムの動作の概要]
 本実施形態に係る情報処理システム601では、まず、情報処理装置どうしが通信を行うことで、特定の情報処理装置(図22の例では、情報処理装置E(2)、E(M))にデータを集約する。
 図22の例では、それぞれの情報処理装置F(1)~F(P)は、自装置において記憶されているデータp(1)~p(P)を情報処理装置E(2)に送信する。情報処理装置E(2)は、これらのデータp(1)~p(P)を受信して、自装置の記憶部に記憶する。
 また、図22の例では、それぞれの情報処理装置G(1)~G(Q)は、自装置において記憶されているデータq(1)~q(Q)を情報処理装置E(M)に送信する。情報処理装置E(M)は、これらのデータq(1)~q(Q)を受信して、自装置の記憶部に記憶する。
 ここで、情報処理装置E(2)および情報処理装置E(M)は、アルゴリズムが伝達されていく経路に含まれる。
 経路の流れにしたがって、情報処理装置E(2)は、他の情報処理装置F(1)~F(P)から収集されたデータp(1)~p(P)のまとまり、あるいは、これらのデータp(1)~p(P)に自装置に記憶されていたデータ(図示せず)を含めたまとまりを用いて、アルゴリズムに応じた演算を実行する。
 同様に、経路の流れにしたがって、情報処理装置E(M)は、他の情報処理装置G(1)~G(Q)から収集されたデータq(1)~q(Q)のまとまり、あるいは、これらのデータq(1)~q(Q)に自装置に記憶されていたデータ(図示せず)を含めたまとまりを用いて、アルゴリズムに応じた演算を実行する。
 [情報処理システムにおいて行われる処理の概要]
 図23は、本発明の一実施形態(第5実施形態)に係る情報処理システム601において行われる処理の手順の一例を示す図である。
 (ステップS311)
 情報処理システム601では、まず、データの集約を行い、ステップS312の処理へ移行する。これにより、特定の情報処理装置(図22の例では、情報処理装置E(2)、E(M))に、アルゴリズムに応じた演算で用いられるデータが集められる。
 (ステップS312)
 情報処理システム601では、経路の流れにしたがって、1番目の情報処理装置E(1)からM番目の情報処理装置E(M)への順番に、アルゴリズムに基づいて、当該アルゴリズムに応じた演算の実行など(例えば、図1の例の場合と同様な処理)を行っていく。
 [第5実施形態について]
 以上のように、本実施形態に係る情報処理システム601では、複数の異なる情報処理装置(図22の例では、複数の異なる情報処理装置F(1)~F(P)、E(2)、あるいは、複数の異なる情報処理装置G(1)~G(Q)、E(M))の間で、それぞれの情報処理装置が記憶しているデータ(ここでは、アルゴリズムデータではないデータ)の受け渡しが行われ、その後に、経路の流れにしたがって、アルゴリズムに応じた演算の実行が行われる。
 このような構成により、本実施形態に係る情報処理システム601では、データの集約およびアルゴリズムに応じた演算の実行の全体として、効率化を図ることが可能である。
 具体例として、10個の異なる情報処理装置に記憶されたデータのすべてをそのうちの1個の情報処理装置(ここでは、説明の便宜上、「情報処理装置R1」と呼ぶ。)に送信して集約し、他の10個の異なる情報処理装置に記憶されたデータのすべてをそのうちの1個の情報処理装置(ここでは、説明の便宜上、「情報処理装置R2」と呼ぶ。)に送信して集約し、これら2個の情報処理装置R1、R2を含む経路を形成(決定)することが行われてもよい。
 以上のように、本実施形態に係る情報処理システム601では、経路に含められない1個以上の情報処理装置F(1)~F(P)、G(1)~G(Q)から経路に含められる1個以上の情報処理装置E(2)、E(M)にデータp(1)~p(P)、q(1)~q(Q)を渡し、経路に含められる情報処理装置E(2)、E(M)において当該データp(1)~p(P)、q(1)~q(Q)を用いてアルゴリズムに基づいて演算を実行する。
これにより、本実施形態に係る情報処理システム601では、全体として効率的な処理を実現することができる。
 (情報処理装置について)
 上記の実施形態(第1実施形態~第5実施形態)において、経路に含まれる情報処理装置としては、様々な情報処理装置が用いられてもよい。
 [複数の異なるネットワークにおける情報処理装置]
 図24は、通信システム2001の一例を示す図である。
 通信システム2001は、複数(図24の例では、2個)のネットワーク2011、2012を有する。
 ネットワーク2011は、複数の情報処理装置2031~2035を含む。
 ネットワーク2012は、複数の情報処理装置2051~2055を含む。
 図24の例では、複数の異なるネットワーク2011、2012における2個の情報処理装置2035、2055どうしが互いに通信を行う場合を示してある。
 上記の実施形態(第1実施形態~第5実施形態)において、1個の経路に含められる情報処理装置は、例えば、同一のネットワーク(図24の例では、ネットワーク2011あるいはネットワーク2012)に含まれる情報処理装置であってもよく、あるいは、異なるネットワークに含まれる情報処理装置であってもよい。
 また、図19~図22に示されるようなデータの集約において、互いに通信を行う情報処理装置としては、例えば、同一のネットワーク(図24の例では、ネットワーク2011あるいはネットワーク2012)に含まれる情報処理装置であってもよく、あるいは、異なるネットワークに含まれる情報処理装置であってもよい。
 [サーバレスのネットワークにおける情報処理装置]
 図25は、サーバレスの通信システム2101の一例を示す図である。
 通信システム2101は、複数の端末装置2111~2118を備える。本例では、それぞれの端末装置2111~2118は、情報処理装置に相当する。
 通信システム2101では、サーバが存在せず、端末装置2111~2118どうしで通信を行う。図25の例では、それぞれの端末装置2111~2118が、総当たりで、他の端末装置2111~2118との間で通信を行うことが可能な場合を示してある。
 通信システム2101では、端末装置2111~2118が連携することにより、サーバを不要とするインフラを構築することが可能である。
 通信システム2101では、例えば、NAT(Network Address Translation)で構成されるネットワークを超えて、P2Pの通信が行われてもよい。
 上記の実施形態(第1実施形態~第5実施形態)において、1個の経路に含められる情報処理装置のうちの一部または全部は、例えば、サーバレスの通信システム2101に含まれる端末装置であってもよい。
 また、図19~図22に示されるようなデータの集約において、互いに通信を行う情報処理装置のうちの一部または全部は、例えば、サーバレスの通信システム2101に含まれる端末装置であってもよい。
 [情報処理装置のハードウェア構成の概要]
 図26は、本発明の一実施形態に係る情報処理装置2211のハードウェア構成の一例を示す図である。
 上記の実施形態(第1実施形態~第5実施形態)における情報処理装置として、図26に示されるようなハードウェア構成を有する情報処理装置2211が使用されてもよい。
 なお、図26の例に係る情報処理装置2211のような構成は、例えば、一部変更されて、様々な装置に適用されてもよい。
 図26の例では、情報処理装置2211は、プロセッサ2231と、操作部2232と、表示部2233と、記憶装置2234と、メモリ2235と、入出力インターフェイス2236と、ネットワークインターフェイス2237と、これらを接続するバス2311を備える。
 プロセッサ2231は、CPU(Central Processing Unit)などから構成されており、プログラムを実行することで、当該プログラムに規定された処理を実行する。
 操作部2232は、キーボード、マウスなどのうちの1以上の入力装置を備え、ユーザ(人)により行われる操作を受け付ける。
 表示部2233は、画面を有しており、情報を当該画面に表示出力する。
 記憶装置2234は、不揮発性の記憶部であり、例えば、ハードディスクなどから構成されており、データを記憶する。記憶装置2234(あるいは、メモリ2235)は、例えば、プロセッサ2231により実行されるプログラムを記憶してもよい。
 メモリ2235は、揮発性の記憶部であり、RAM(Random Access Memory)などから構成されており、データを一時的に記憶する。RAMとしては、例えば、DRAM(Dynamic Random Access Memory)が用いられてもよい。
 入出力インターフェイス2236は、外部の記録媒体などと接続するインターフェイスである。
 ネットワークインターフェイス2237は、外部のネットワークと接続するインターフェイスである。
 ここで、情報処理装置2211は、プロセッサ2231として、1個のプロセッサを備えてもよく、または、2個以上のプロセッサを備えてもよい。一例として、情報処理装置2211は、複数個のCPUを備えて、それぞれのCPUによりそれぞれの処理を実行するとともに、これら複数個のCPUにより連携して全体の処理を実現してもよい。
 (第6実施形態)
 本実施形態では、第1実施形態~第5実施形態における情報処理システム(例えば、情報処理システム1、601)を含む様々な情報処理システムにおいて使用されることが可能な情報処理装置について説明する。なお、本実施形態に係る情報処理装置は、第1実施形態~第5実施形態において説明された情報処理装置のうちのいずれかの態様と同じであってもよい。
 第1実施形態~第5実施形態に係る情報処理システムでは、複数の情報処理装置がアルゴリズムデータを所定の順序で伝送していく。この場合、一構成例として、すべての情報処理装置に同じプログラムをインストールするなどして、すべての情報処理装置が同じ機能を有する構成とすることが可能である。本実施形態では、このような構成における情報処理装置について説明する。
 図27は、本発明の一実施形態(第6実施形態)に係る情報処理装置H(1)の概略的な構成例を示す図である。
 ここでは、情報処理装置H(1)の機能の概要を説明する。なお、情報処理装置H(1)のそれぞれの機能について、例えば、第1実施形態~第5実施形態において説明された機能と同様な機能が使用されてもよい。
 情報処理装置H(1)は、処理実行機能711と、ストレージ712を備える。
 処理実行機能711は、プロセッサ731と、ソフトウェア732を備える。プロセッサ731は、CPUなどである。ソフトウェア732は、プログラムを含む。当該プログラムは、本実施形態に係るアルゴリズムデータを伝送していく処理を実行する機能を実現する。
 処理実行機能711は、プロセッサ731が当該プログラムを読み出して実行することで、各種の処理を実行する。
 なお、ソフトウェア732は、任意の記憶部に記憶されてもよく、例えば、ストレージ712に記憶されてもよく、あるいは、ストレージ712とは別の記憶部に記憶されてもよい。
 ストレージ712は、データ751を記憶する。
 なお、ストレージ712は、記憶部の一例であり、ストレージ712としては任意のものが用いられてもよい。
 情報処理装置H(1)において、処理実行機能711は、受信処理ST1、演算処理ST2、送信処理ST3を実行する。
 受信処理ST1は、他の情報処理装置から、アルゴリズムデータ771を受信する処理である。受信処理ST1は、当該他の情報処理装置から、データ772(本実施形態では、アルゴリズムデータ771以外のデータ)を受信する処理を含んでもよい。受信処理ST1において、他の情報処理装置から、アルゴリズムデータ771と同時にデータ772を受信してもよく、あるいは、アルゴリズムデータ771とは別のタイミングでデータ772を受信してもよい。ここで、異なるデータを同時に受信する処理は、例えば、異なるデータを同一の時刻(あるいは、一部重複する時刻)に受信する処理であってもよいが、本実施形態では、異なるデータを時間的に連続的に前後して受信する処理を含んでもよい。
 演算処理ST2は、受信処理ST1により受信されたアルゴリズムデータ771に記述されたアルゴリズムに基づく演算を、ストレージ712に記憶されたデータ751を用いて、実行する処理である。
 一例として、演算処理ST2は、受信処理ST1により受信されたアルゴリズムデータ771に記述されたアルゴリズムを、情報処理装置H(1)において保有されたデータ751に適用して、その演算の結果を取得する。
 送信処理ST3は、他の情報処理装置に、アルゴリズムデータ791を送信する処理である。送信処理ST3は、当該他の情報処理装置に、データ792(本実施形態では、アルゴリズムデータ791以外のデータ)を送信する処理を含んでもよい。送信処理ST3において、他の情報処理装置に、アルゴリズムデータ791と同時にデータ792を送信してもよく、あるいは、アルゴリズムデータ791とは別のタイミングでデータ792を送信してもよい。ここで、異なるデータを同時に送信する処理は、例えば、異なるデータを同一の時刻(あるいは、一部重複する時刻)に送信する処理であってもよいが、本実施形態では、異なるデータを時間的に連続的に前後して送信する処理を含んでもよい。
 ここで、受信処理ST1におけるデータ772は、任意のデータであってもよく、例えば、他の情報処理装置において実行された演算の結果に関するデータを含んでもよい。
 また、送信処理ST3におけるデータ792は、任意のデータであってもよく、例えば、演算処理ST2において実行された演算の結果に関するデータを含んでもよい。
 本実施形態では、情報処理装置H(1)と同じ機能を有するU(本実施形態において、Uは2以上の整数であるとする。)個の情報処理装置H(1)~H(U)を備える情報処理システムを構築する。当該機能は、例えば、それぞれの情報処理装置H(1)~H(U)に、共通のソフトウェア732がインストールされることで実現される。
 なお、本実施形態では、U個の情報処理装置H(1)~H(U)は、同様な機能を有している。このため、本実施形態では、説明の便宜上から、U個の情報処理装置H(1)~H(U)について、図27に示されるものと同じ符号を付して説明する。
 それぞれの情報処理装置H(1)~H(U)は、共通のソフトウェア732によって、受信処理ST1を実行する機能、演算処理ST2を実行する機能、送信処理ST3を実行する機能を有する。
 一例として、U個の情報処理装置H(1)~H(U)が直列の順序でアルゴリズムを伝送していくことが可能である。この場合、それぞれの情報処理装置H(1)~H(U)は、前(つまり、順序が1つ前である前段)の情報処理装置からアルゴリズムデータ771を受信する受信処理ST1と、受信されたアルゴリズムデータ771に記述されたアルゴリズムに基づく演算を実行する演算処理ST2と、次(つまり、順序が1つ後の後段)の情報処理装置にアルゴリズムデータ791を送信する送信処理ST3を実行する。なお、受信処理ST1は、前段の情報処理装置からデータ772を受信する処理を含んでもよい。また、送信処理ST3は、次段の情報処理装置にデータ792を送信する処理を含んでもよい。
 なお、本実施形態では、説明を簡易にするために、U個の情報処理装置H(1)~H(U)が、その順番で、直列の順序でアルゴリズムを伝送していく場合を例として説明するが、U個の情報処理装置H(1)~H(U)は任意の順番で直列に配置されてもよい。
 さらに、他の例として、U個の情報処理装置H(1)~H(U)は、直列と並列の両方が用いられた任意の経路によって、その経路における順序でアルゴリズムを伝送していってもよい。
 一例として、1番目の情報処理装置H(1)における演算処理ST2を最初の処理として考えると、それぞれの情報処理装置H(1)~H(U)が演算処理ST2および送信処理ST3を実行することが、所定の順序で連続的に行われていくと捉えることが可能である。なお、この場合、送信側の情報処理装置による送信処理ST3に対応して、受信側の情報処理装置による受信処理ST1も行われる。
 他の例として、1番目の情報処理装置H(1)における送信処理ST3を最初の処理として考えると、2番目の情報処理装置H(1)~U番目の情報処理装置H(U)が受信処理ST1および演算処理ST2を実行することが、所定の順序で連続的に行われていくと捉えることが可能である。なお、この場合、受信側の情報処理装置による受信処理ST1に対応する送信側の情報処理装置による送信処理ST3も行われる。また、この場合、例えば、U番目の情報処理装置H(U)から1番目の情報処理装置H(1)にアルゴリズムデータ791を送信し、1番目の情報処理装置H(1)が当該アルゴリズムデータ791を受信対象のアルゴリズムデータ771として受信する受信処理ST1と、受信されたアルゴリズムデータ771に記述されたアルゴリズムに基づく演算を実行する演算処理ST2を行ってもよい。
 ここで、例えば、最終番目(最終段)の情報処理装置H(U)に対する次段の情報処理装置として、1番目の情報処理装置H(1)が用いられてもよい。
 この場合、一例として、1番目(最初)の情報処理装置H(1)において、最終番目の情報処理装置H(U)から送信されたアルゴリズムデータ791を受信対象のアルゴリズムデータ771として受信する受信処理ST1が行われる構成では、U個の情報処理装置H(1)~H(U)が環状になり、ループした経路にアルゴリズムを伝送する構成となる。
 また、それぞれの情報処理装置H(1)~H(U)は、受信処理ST1と、演算処理ST2と、送信処理ST3を実行する機能を有するが、それぞれの処理を必ずしも実行しなくてもよい。
 一例として、1番目の情報処理装置H(1)は、初期的なアルゴリズムを2番目の情報処理装置H(2)に送信する場合、受信処理ST1を実行しなくてもよい。1番目の情報処理装置H(1)は、例えば、初期的なアルゴリズムを生成してもよく、あるいは、初期的なアルゴリズムを他の装置から受信してもよい。
 また、それぞれの情報処理装置H(1)~H(U)は、演算処理ST2を実行しなくてもよい。
 一例として、1番目の情報処理装置H(1)は、初期的なアルゴリズムに基づく演算処理ST2を実行しなくてもよい。
 一例として、任意の情報処理装置H(1)~H(U)は、前段の情報処理装置からアルゴリズムデータ771を受信する受信処理ST1を実行し、当該アルゴリズムデータ771に記述されたアルゴリズムに基づく演算処理ST2を実行せずに、当該アルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータ791を次段の情報処理装置に送信する送信処理ST3を実行してもよい。
 また、それぞれの情報処理装置H(1)~H(U)は、送信処理ST3を実行しなくてもよい。
 一例として、最終番目の情報処理装置H(U)は、前段の情報処理装置から受信されたアルゴリズムデータ771に記述されたアルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータ791を他の情報処理装置に送信しなくてもよい。
 このように、本実施形態では、共通のソフトウェア732がインストールされたU個の情報処理装置H(1)~H(U)は、それぞれ原則的には、機能的に対等の関係にあって同じ機能を保有するが、経路における順序あるいは他の条件によって、一部の機能を実行しない場合、あるいは、一部の機能を実行するにあたって処理の内容を変更する場合があり得る。処理の内容を変更する態様としては、例えば、送信処理ST3において送信対象の内容を省略、追加あるいは変更などする態様、受信処理ST1において受信対象の内容を省略、追加あるいは変更などする態様、演算処理ST2において演算対象を省略、追加あるいは変更などする態様などがある。
 一例として、任意の情報処理装置H(1)~H(U)は、前段の情報処理装置からアルゴリズムデータ771を受信し、受信されたアルゴリズムデータ771に記述されたアルゴリズムに基づく演算を実行し、当該アルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータ791を次段の情報処理装置に送信する場合に、当該演算の結果に関するデータを(同時あるいは他のタイミングにおいても)次段の情報処理装置に送信しなくてもよい。このような構成が採用される理由の一例としては、当該演算の結果に関するデータの送信を行わない情報処理装置においては、当該情報処理装置において保有されるデータにアルゴリズムによる作用(演算)を及ぼすことが必要であるが、その演算の結果を外部に通知する必要がない、という理由があり得る。
 なお、このような理由がある場合においても、当該情報処理装置は、当該演算の結果に関するデータを次段の情報処理装置に送信する構成が採用されてもよい。この構成において、当該演算の結果に関するデータとして、当該演算に係る処理の成否を表すデータが用いられてもよい。
 なお、本実施形態では、すべての情報処理装置H(1)~H(U)が同じ機能を備える場合を説明しているが、例外的に、一部の情報処理装置が異なる機能を備えてもよい。
 一例として、初期的なアルゴリズムの発信元となる1番目の情報処理装置になるための権限が設けられてもよく、この場合、情報処理装置H(1)~H(U)のうちで当該権限が与えられた1以上の情報処理装置だけが1番目の情報処理装置となり得る。当該権限は、任意の手法で設定されてもよく、例えば、当該権限を表す情報が、該当する情報処理装置に記憶されるなどして、設定されてもよい。
 [2個の情報処理装置を備える情報処理システムにおける処理の例]
 図28~図30を参照して、2個の情報処理装置H(1)、H(2)を備える情報処理システムにおける処理の例を示す。
 図28は、本発明の一実施形態(第6実施形態)に係る2個の情報処理装置(本例では、1番目の情報処理装置H(1)、2番目の情報処理装置H(2))において行われる処理の一例を示す図である。本例は、最小構成の例であり、1番目の情報処理装置H(1)においてアルゴリズムに基づく演算を実行する場合の一例である。
 図28の例では、情報処理装置H(1)は、演算処理ST11において、初期的なアルゴリズムに基づく演算を実行する。
 次に、情報処理装置H(1)は、送信処理ST12において、初期的なアルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータを情報処理装置H(2)に送信する。これに応じて、情報処理装置H(2)は、受信処理(図示せず)において、情報処理装置H(1)から送信されたアルゴリズムデータを受信する。この場合、情報処理装置H(1)から情報処理装置H(2)へ、アルゴリズムデータと同時にあるいは他のタイミングで、演算処理ST11における演算の結果に関するデータなどを伝送してもよい。
 情報処理装置H(2)は、演算処理ST13において、情報処理装置H(1)から受信されたアルゴリズムデータに記述されたアルゴリズムに基づく演算を実行する。
 次に、情報処理装置H(2)は、送信処理ST14において、当該アルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータを情報処理装置H(1)に送信する。これに応じて、情報処理装置H(1)は、受信処理(図示せず)において、情報処理装置H(2)から送信されたアルゴリズムデータを受信する。この場合、情報処理装置H(2)から情報処理装置H(1)へ、アルゴリズムデータと同時にあるいは他のタイミングで、演算処理ST13における演算の結果に関するデータなどを伝送してもよい。
 なお、情報処理装置H(2)から情報処理装置H(1)へ、アルゴリズムデータを送信する処理が行われなくてもよく、例えば、演算処理ST13における演算の結果に関するデータなどを送信する処理が行われてもよい。
 ここで、本例では、1番目の情報処理装置H(1)は、アルゴリズムを伝送するための最初の処理として、受信処理ではなく、演算処理を採用している。
 また、本例では、1番目の情報処理装置H(1)は、最終番目である2番目の情報処理装置H(2)から送信されるデータ(例えば、アルゴリズムデータあるいは他のデータ)を受信する。
 また、図28の例では、例えば、1番目の情報処理装置H(1)は、アルゴリズムの伝送に係る指令(ここでは、アルゴリズムの伝送の開始を指示する指令)を発する役割を有している。
 また、図28の例では、例えば、1番目の情報処理装置H(1)は、アルゴリズムの伝送に係る結果に関するデータの通知を受けて当該データに関する集計などを行う役割を有してもよい。
 図29は、本発明の一実施形態(第6実施形態)に係る2個の情報処理装置(本例では、1番目の情報処理装置H(1)、2番目の情報処理装置H(2))において行われる処理の一例を示す図である。本例は、最小構成の例であり、1番目の情報処理装置H(1)においてアルゴリズムに基づく演算を実行する場合の他の一例である。
 図29の例では、情報処理装置H(1)は、送信処理ST21において、初期的なアルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータを情報処理装置H(2)に送信する。これに応じて、情報処理装置H(2)は、受信処理(図示せず)において、情報処理装置H(1)から送信されたアルゴリズムデータを受信する。この場合、情報処理装置H(1)から情報処理装置H(2)へ、アルゴリズムデータと同時にあるいは他のタイミングで、他のデータを伝送してもよい。
 情報処理装置H(2)は、演算処理ST22において、情報処理装置H(1)から受信されたアルゴリズムデータに記述されたアルゴリズムに基づく演算を実行する。
 次に、情報処理装置H(2)は、送信処理ST23において、当該アルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータを情報処理装置H(1)に送信する。これに応じて、情報処理装置H(1)は、受信処理(図示せず)において、情報処理装置H(2)から送信されたアルゴリズムデータを受信する。この場合、情報処理装置H(2)から情報処理装置H(1)へ、アルゴリズムデータと同時にあるいは他のタイミングで、演算処理ST22における演算の結果に関するデータなどを伝送してもよい。
 情報処理装置H(1)は、演算処理ST24において、情報処理装置H(2)から受信されたアルゴリズムデータに記述されたアルゴリズムに基づく演算を実行する。
 ここで、本例では、1番目の情報処理装置H(1)は、アルゴリズムを伝送するための最初の処理として、受信処理あるいは演算処理ではなく、送信処理を採用している。
 また、本例では、1番目の情報処理装置H(1)は、最終番目である2番目の情報処理装置H(2)から送信されるデータ(例えば、アルゴリズムデータあるいは他のデータ)を受信する。
 また、図29の例では、例えば、1番目の情報処理装置H(1)は、アルゴリズムの伝送に係る指令(ここでは、アルゴリズムの伝送の開始を指示する指令)を発する役割を有している。
 また、図29の例では、例えば、1番目の情報処理装置H(1)は、アルゴリズムの伝送に係る結果に関するデータの通知を受けて当該データに関する集計などを行う役割を有してもよい。
 図30は、本発明の一実施形態(第6実施形態)に係る2個の情報処理装置(本例では、1番目の情報処理装置H(1)、2番目の情報処理装置H(2))において行われる処理の一例を示す図である。本例は、最小構成の例であり、1番目の情報処理装置H(1)においてアルゴリズムに基づく演算を実行しない場合の一例である。
 図30の例では、情報処理装置H(1)は、送信処理ST31において、初期的なアルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータを情報処理装置H(2)に送信する。これに応じて、情報処理装置H(2)は、受信処理(図示せず)において、情報処理装置H(1)から送信されたアルゴリズムデータを受信する。この場合、情報処理装置H(1)から情報処理装置H(2)へ、アルゴリズムデータと同時にあるいは他のタイミングで、他のデータを伝送してもよい。
 情報処理装置H(2)は、演算処理ST32において、情報処理装置H(1)から受信されたアルゴリズムデータに記述されたアルゴリズムに基づく演算を実行する。
 次に、情報処理装置H(2)は、送信処理ST33において、当該アルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータを情報処理装置H(1)に送信する。これに応じて、情報処理装置H(1)は、受信処理(図示せず)において、情報処理装置H(2)から送信されたアルゴリズムデータを受信する。この場合、情報処理装置H(2)から情報処理装置H(1)へ、アルゴリズムデータと同時にあるいは他のタイミングで、演算処理ST32における演算の結果に関するデータなどを伝送してもよい。
 なお、情報処理装置H(2)から情報処理装置H(1)へ、アルゴリズムデータを送信する処理が行われなくてもよく、例えば、演算処理ST32における演算の結果に関するデータなどを送信する処理が行われてもよい。
 ここで、本例では、1番目の情報処理装置H(1)は、アルゴリズムを伝送するための最初の処理として、受信処理あるいは演算処理ではなく、送信処理を採用している。
 また、本例では、1番目の情報処理装置H(1)は、最終番目である2番目の情報処理装置H(2)から送信されるデータ(例えば、アルゴリズムデータあるいは他のデータ)を受信する。
 また、図30の例では、例えば、1番目の情報処理装置H(1)は、アルゴリズムの伝送に係る指令(ここでは、アルゴリズムの伝送の開始を指示する指令)を発する役割を有している。
 また、図30の例では、例えば、1番目の情報処理装置H(1)は、アルゴリズムの伝送に係る結果に関するデータの通知を受けて当該データに関する集計などを行う役割を有してもよい。
 [本実施形態に係る情報処理装置の適用の例]
 本実施形態に係る情報処理装置H(1)~H(U)は、第1実施形態~第5実施形態に示される任意の態様の情報処理装置に適用されてもよく、また、他の態様の情報処理装置に適用されてもよい。このような場合、図27に示される共通のソフトウェア732は、本実施形態に係る情報処理装置H(1)~H(U)が適用される情報処理装置が持つべき機能を実現するプログラムあるいはパラメーターなどを含む。
 それぞれの情報処理装置H(1)~H(U)に共通のソフトウェア732がインストールされる場合、それぞれの情報処理装置H(1)~H(U)は、例えば、アルゴリズムデータが伝送される経路における自装置(当該情報処理装置H(1)~H(U))の順番などに基づいて動作を変更する機能を有してもよい。
 一例として、それぞれの情報処理装置H(1)~H(U)は、自装置の順番に応じて動作を変更してもよい。例えば、それぞれの情報処理装置H(1)~H(U)は、アルゴリズムデータを伝送していく場合に、それぞれの情報処理装置H(1)~H(U)によって自装置(当該情報処理装置H(1)~H(U))の順番を把握することが可能な情報を、伝送していく。ある情報処理装置にとって、当該情報は、例えば、前段の情報処理装置の順番を表す情報であってもよく、あるいは、当該ある情報処理装置(自体)の順番を表す情報であってもよい。それぞれの情報処理装置H(1)~H(U)は、例えば、前段の情報処理装置から受信された情報に基づいて、自装置(当該情報処理装置H(1)~H(U))の順番を判定(決定)する。
 ここで、経路における順番に応じて動作が異なる態様としては、例えば、1番目の動作と、2番目~最終番目の動作と、が異なる態様が用いられてもよく、あるいは、1番目の動作と、2番目~最終番目よりも1つ前段の動作と、最終番目の動作と、が異なる態様が用いられてもよく、あるいは、他の態様が用いられてもよい。
 一例として、それぞれの情報処理装置H(1)~H(U)は、自装置(当該情報処理装置H(1)~H(U))の順番以外の要素に応じて動作を変更してもよい。当該要素としては、例えば、日にち、時刻、自装置(当該情報処理装置H(1)~H(U))の属性、自装置(当該情報処理装置H(1)~H(U))において行われた所定の判定の結果、自装置(当該情報処理装置H(1)~H(U))に記憶されたデータのうちの少なくとも一部が用いられてもよく、あるいは、前段の情報処理装置から受信されたデータのうちの少なくとも一部が用いられてもよい。
 また、それぞれの情報処理装置H(1)~H(U)は、自装置(当該情報処理装置H(1)~H(U))の順番および他の要素の両方に応じて動作を変更してもよい。
 また、1番目の情報処理装置H(1)は、例えば、ユーザにより所定の操作が行われたことに応じて1番目としての動作を開始してもよく、あるいは、共通のソフトウェア732にあらかじめ定められた所定の条件が満たされたことに応じて1番目としての動作を開始してもよい。
 (以上の実施形態について)
 [一例に係る構成例]
 ここで、(構成例1-1)~(構成例1-27)を示す。
 (構成例1-1)情報処理装置(図27の例では、情報処理装置H(1))は、第1のアルゴリズムが記述されたデータである第1のアルゴリズムデータ(図27の例では、アルゴリズムデータ771)を第1の情報処理装置(図27の例では、前段の情報処理装置)から受信する機能を有するデータ受信部(データを受信する機能部であり、例えば、通信部)と、データ受信部により受信された第1のアルゴリズムデータおよび第1の記憶部(図27の例では、ストレージ712)に記憶されたデータ(図27の例では、データ751)に基づいて演算を実行する機能を有する演算実行部(演算を実行する機能部)と、第1のアルゴリズムに応じた第2のアルゴリズムが記述されたデータである第2のアルゴリズムデータ(図27の例では、アルゴリズムデータ791)を第2の情報処理装置(図27の例では、後段の情報処理装置)に送信する機能を有するデータ送信部(データを送信する機能部であり、例えば、通信部)と、を備える。
 (構成例1-2)データ送信部は、初期的な第3のアルゴリズムが記述されたデータである第3のアルゴリズムデータを次の情報処理装置に送信する機能を有する、(構成例1-1)に記載の情報処理装置(例えば、1番目の情報処理装置)である。
 (構成例1-3)演算実行部は、第4のアルゴリズムに基づいて演算を実行する機能を有し、データ送信部は、第4のアルゴリズムに応じたアルゴリズムを第3のアルゴリズムとして、第3のアルゴリズムデータを次の情報処理装置に送信する機能を有する、(構成例1-2)に記載の情報処理装置である。
 (構成例1-4)第3のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれるすべての情報処理装置(図27の例では、情報処理装置H(1)~H(U))および伝送の順序を決定する機能を有する第1の経路決定部(経路のすべてを決定する機能部)を備える、(構成例1-2)または(構成例1-3)のいずれか1項に記載の情報処理装置である。
 (構成例1-5)第1の経路決定部は、情報処理装置の属性に基づいて、情報処理装置および順序を決定する機能を有する、(構成例1-4)に記載の情報処理装置である。
 (構成例1-6)第2のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれる第2の情報処理装置を含む1以上の情報処理装置および伝送の順序を決定する機能を有する第2の経路決定部(経路の少なくとも一部を決定する機能部)を備える、(構成例1-1)から(構成例1-5)のいずれか1項に記載の情報処理装置である。
 (構成例1-7)第2の経路決定部は、情報処理装置の属性に基づいて、情報処理装置および順序を決定する機能を有する、(構成例1-6)に記載の情報処理装置である。
 (構成例1-8)第2のアルゴリズムは、第1のアルゴリズムと同じである、(構成例1-1)から(構成例1-7)のいずれか1項に記載の情報処理装置である。
 (構成例1-9)第2のアルゴリズムは、第1のアルゴリズムとは異なる、(構成例1-1)から(構成例1-7)のいずれか1項に記載の情報処理装置である。
 (構成例1-10)データ受信部は、第1の情報処理装置における演算の結果に関するデータを第1の情報処理装置から受信する機能を有する、(構成例1-1)から(構成例1-9)のいずれか1項に記載の情報処理装置である。
 (構成例1-11)データ受信部は、第1の情報処理装置における演算の結果に関するデータと、第1のアルゴリズムデータとを同時に第1の情報処理装置から受信する機能を有する、(請求項1-10)に記載の情報処理装置である。
 (請求項1-12)データ送信部は、演算実行部による演算の結果に関するデータを第2の情報処理装置に送信する機能を有する、(構成例1-1)から(構成例1-11)のいずれか1項に記載の情報処理装置である。
 (構成例1-13)データ送信部は、演算実行部による演算の結果に関するデータと、第2のアルゴリズムデータとを同時に第2の情報処理装置に送信する機能を有する、(構成例1-12)に記載の情報処理装置である。
 (構成例1-14)データを記憶する第1の記憶部を備え、演算実行部は、第1の記憶部に記憶されたデータを用いて、演算を実行する機能を有する、(構成例1-1)から(構成例1-13)のいずれか1項に記載の情報処理装置である。
 (構成例1-15)データ送信部は、演算実行部による演算の結果に関するデータを通知対象となる1以上の所定の情報処理装置に送信する機能を有する、(構成例1-1)から(構成例1-14)のいずれか1項に記載の情報処理装置である。
 (構成例1-16)所定の情報処理装置は、少なくとも、アルゴリズムデータの発信元の情報処理装置(図27の例では、1番目の情報処理装置)を含む、(構成例1-15)に記載の情報処理装置である。
 (構成例1-17)演算実行部による演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する第1の演算結果判定部(このような判定を行う機能部)を備える、(構成例1-1)から(構成例1-16)のいずれか1項に記載の情報処理装置である。
 (構成例1-18)第2のアルゴリズムデータを第2の情報処理装置と少なくとも一つの他の情報処理装置に送信する、(構成例1-1)から(構成例1-17)のいずれか1項に記載の情報処理装置である。
 (構成例1-19)第2のアルゴリズムデータが送信された2以上の情報処理装置について、演算の結果に関するデータについて所定の判定を行う機能を有する第2の演算結果判定部(このような判定を行う機能部)を備える、(構成例1-18)に記載の情報処理装置である。
 (構成例1-20)データ受信部は、他の装置から送信されるデータを受信し、演算実行部は、データ受信部により他の装置から受信されたデータに基づいて演算を実行する、(構成例1-1)から(構成例1-19)のいずれか1項に記載の情報処理装置である。
 (構成例1-21)他の装置は、アルゴリズムが伝送される対象以外の装置(経路に含まれない装置)である、(構成例1-20)に記載の情報処理装置である。
 (構成例1-22)データ受信部により受信されたデータのうちの一部または全部を記憶する第2の記憶部を備える、(構成例1-1)から(構成例1-21)のいずれか1項に記載の情報処理装置である。
 (構成例1-23)データ送信部により送信したデータのうちの一部または全部を記憶する第3の記憶部を備える、(構成例1-1)から(構成例1-22)のいずれか1項に記載の情報処理装置である。
 (構成例1-24)情報処理方法では、第1のアルゴリズムが記述されたデータである第1のアルゴリズムデータを第1の情報処理装置から受信し、受信された第1のアルゴリズムデータおよび第1の記憶部に記憶されたデータに基づいて演算を実行し、第1のアルゴリズムに応じた第2のアルゴリズムが記述されたデータである第2のアルゴリズムデータを第2の情報処理装置に送信する。
 (構成例1-25)情報処理装置を構成するコンピュータに、第1のアルゴリズムが記述されたデータである第1のアルゴリズムデータを第1の情報処理装置から受信する機能と、受信された第1のアルゴリズムデータおよび第1の記憶部に記憶されたデータに基づいて演算を実行する機能と、第1のアルゴリズムに応じた第2のアルゴリズムが記述されたデータである第2のアルゴリズムデータを第2の情報処理装置に送信する機能と、を実現させるためのプログラムである。
 (構成例1-26)情報処理システムでは、複数の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、少なくとも一つの情報処理装置が、アルゴリズムに基づく演算を実行する。
 (構成例1-27)情報処理方法では、複数の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、少なくとも一つの情報処理装置が、アルゴリズムに基づく演算を実行する。
 [他の例に係る構成例]
 ここで、(構成例2-1)~(構成例2-16)を示す。ここでは、説明の便宜上、第γ1の情報処理装置、第γ2の情報処理装置、第γ3の情報処理装置といった、3種類を区別して説明するが、例えば、これら3種類のうちの任意の1種類の機能を有する情報処理装置が実施されてもよく、あるいは、これら3種類のうちの任意の2種類の機能を有する情報処理装置が実施されてもよく、あるいは、これら3種類のすべての機能を有する情報処理装置が実施されてもよい。
 (構成例2-1)第γ1の情報処理装置(図1の例では、情報処理装置A(1))と、第γ1の情報処理装置に対して1つ後段となる第γ2の情報処理装置(図1の例では、情報処理装置A(2))と、第γ2の情報処理装置よりも1つ以上後段となる1個以上の第γ3の情報処理装置(図1の例では、情報処理装置A(3)~A(N))を含む複数の情報処理装置を備えた情報処理システム(図1の例では、情報処理システム1)である。第γ1の情報処理装置は、所定のアルゴリズムが記述されたデータであるアルゴリズムデータ(図1の例では、アルゴリズムデータa(1))を第γ2の情報処理装置に送信する。
第γ2の情報処理装置は、第γ1の情報処理装置から受信されたアルゴリズムデータおよび第γ2の情報処理装置において記憶されたデータ(図3の例では、データ251)に基づいて演算を実行し、前記アルゴリズムに応じたアルゴリズムが記述されたデータであるアルゴリズムデータ(図1の例では、アルゴリズムデータa(2))および演算の結果に関するデータ(図1の例では、演算結果データb(1))を第γ3の情報処理装置のうちの初段の情報処理装置(図1の例では、情報処理装置A(3))に送信する。
 (構成例2-2)第γ3の情報処理装置は、2個以上存在する。それぞれの第γ3の情報処理装置は、1つ前段の情報処理装置から受信されたアルゴリズムデータおよび第γ3の情報処理装置において記憶されたデータに基づいて演算を実行し、演算の結果に関するデータを取得する。このような(構成例2-1)に記載の情報処理システムである。
 (構成例2-3)最終段以外のそれぞれの第γ3の情報処理装置は、1つ前段の情報処理装置から受信されたアルゴリズムデータに記述されたアルゴリズムに応じたアルゴリズムが記述されたデータであるアルゴリズムデータおよび演算の結果に関するデータを1つ後段の情報処理装置に送信する、(構成例2-2)に記載の情報処理システムである。
 (構成例2-4)第γ1の情報処理装置は、第γ2の情報処理装置と第γ3の情報処理装置を含む経路に含まれるすべての情報処理装置(図1の例では、自装置である情報処理装置A(1)および他の情報処理装置A(2)~A(N))を決定する、(構成例2-1)から(構成例2-3)のいずれか1項に記載の情報処理システムである。
 (構成例2-5)第γ2の情報処理装置と第γ3の情報処理装置を含む経路に関し、第γ2の情報処理装置および第γ3の情報処理装置のうちの少なくとも1個の情報処理装置は、1つ後段の情報処理装置を決定する(例えば、図1の例)、(構成例2-1)から(構成例2-3)のいずれか1項に記載の情報処理システムである。
 (構成例2-6)第γ3の情報処理装置のうちの少なくとも1個の情報処理装置(例えば、図14に示される情報処理装置B(z))は、得られた演算の結果が所定の基準を満たすか否かを判定し、演算の結果が前記基準を満たすと判定したことに応じて、演算の結果を最終的な演算の結果とする、(構成例2-5)に記載の情報処理システムである。
 (構成例2-7)情報処理装置を決定する手法として、情報処理装置の属性の情報(例えば、図5に示される属性の情報)に基づいて情報処理装置を決定する手法が用いられる、(構成例2-4)から(構成例2-6)のいずれか1項に記載の情報処理システムである。
 (構成例2-8)経路において、2個以上に分岐された経路部分が存在する。第γ3の情報処理装置のうちの少なくとも1個の情報処理装置(例えば、図16に示される情報処理装置C(5))は、異なる分岐における情報処理装置において得られた演算の結果について所定の判定を行う。このような、(構成例2-4)から(構成例2-7)のいずれか1項に記載の情報処理システム。
 (構成例2-9)経路に含まれない装置(図22の例では、情報処理装置F(1)~F(P)、G(1)~G(Q))に記憶されたデータ(図22の例では、データp(1)~p(P)、q(1)~q(Q))が経路に含まれる第γ2の情報処理装置および第γ3の情報処理装置のうちの少なくとも1個の情報処理装置(図22の例では、情報処理装置E(2)、E(M))に送信され、前記データが前記少なくとも1個の情報処理装置に記憶され、前記データが前記少なくとも1個の情報処理装置における演算で用いられる、(構成例2-4)から(構成例2-8)のいずれか1項に記載の情報処理システムである。
 (構成例2-10)第γ3の情報処理装置のうちの最終段の情報処理装置(図1の例では、情報処理装置A(N))は、取得された演算の結果に関するデータを第γ1の情報処理装置または他の装置に送信する、(構成例2-2)から(構成例2-9)のいずれか1項に記載の情報処理システムである。
 (構成例2-11)第γ2の情報処理装置および第γ3の情報処理装置のうちの少なくとも1個の情報処理装置は、1つ前段の情報処理装置から受信されたデータあるいは1つ後段の情報処理装置に送信したデータのうちの一部または全部を記憶する(例えば、図1の例)、(構成例2-2)から(構成例2-10)のいずれか1項に記載の情報処理システムである。
 (構成例2-12)第γ2の情報処理装置および第γ3の情報処理装置のすべての情報処理装置は、同一のアルゴリズム(図9の例では、アルゴリズムc)が記述されたアルゴリズムデータに基づいて演算を実行する、(構成例2-2)から(構成例2-11)のいずれか1項に記載の情報処理システムである。
 (構成例2-13)第γ2の情報処理装置および第γ3の情報処理装置のうちの少なくとも1個の情報処理装置は、異なるアルゴリズム(図13の例では、アルゴリズムe(1)~e(N-1))が記述されたアルゴリズムデータに基づいて演算を実行する、(構成例2-2)から(構成例2-11)のいずれか1項に記載の情報処理システムである。
 (構成例2-14)前記少なくとも1個の情報処理装置より1つ前段の情報処理装置は、前記異なるアルゴリズムが記述されたアルゴリズムデータを生成する(例えば、図13の例)、(構成例2-13)に記載の情報処理システムである。
 (構成例2-15)第γ1の情報処理装置と、第γ1の情報処理装置に対して1つ後段となる第γ2の情報処理装置と、第γ2の情報処理装置よりも1つ以上後段となる1個以上の第γ3の情報処理装置を含む複数の情報処理装置により行われる情報処理方法であって、第γ1の情報処理装置は、所定のアルゴリズムが記述されたデータであるアルゴリズムデータを第γ2の情報処理装置に送信し、第γ2の情報処理装置は、第γ1の情報処理装置から受信されたアルゴリズムデータおよび第γ2の情報処理装置において記憶されたデータに基づいて演算を実行し、前記アルゴリズムに応じたアルゴリズムが記述されたデータであるアルゴリズムデータおよび演算の結果に関するデータを第γ3の情報処理装置のうちの初段の情報処理装置に送信する。
 (構成例2-16)情報処理装置を構成するコンピュータに、1つ前段の情報処理装置から受信された所定のアルゴリズムが記述されたアルゴリズムデータおよび記憶部(図26の例では、例えば、記憶装置2234またはメモリ2235)に記憶されたデータに基づいて演算を実行する機能と、前記アルゴリズムに応じたアルゴリズムが記述されたデータであるアルゴリズムデータおよび演算の結果に関するデータを1つ後段の情報処理装置に送信する機能と、を実現させるためのプログラムである。
 [他の例に係る構成例]
 ここで、(構成例3-1)~(構成例3-14)を示す。
 (構成例3-1)第1番目の情報処理装置と第2番目の情報処理装置と第3番目の情報処理装置を含む複数の情報処理装置を備えた情報処理システムであって、前記第1番目の情報処理装置は、第1番目のアルゴリズムが記述されたデータである第1番目のアルゴリズムデータを前記第2番目の情報処理装置に送信し、前記第2番目の情報処理装置は、前記第1番目の情報処理装置から受信された前記第1番目のアルゴリズムデータおよび前記第2番目の情報処理装置において記憶されたデータに基づいて演算を実行し、前記第1番目のアルゴリズムに応じた第2番目のアルゴリズムが記述されたデータである第2番目のアルゴリズムデータおよび前記演算の結果に関するデータを前記第3番目の情報処理装置に送信する、情報処理システムである。
 (構成例3-2)Wを3以上の整数とし、wを1からWまでの整数とし、W個の情報処理装置のそれぞれを第w番目の情報処理装置と表した場合に、前記第1番目の情報処理装置から第W番目の情報処理装置までを含む経路においてアルゴリズムの伝達が行われる、(構成例3-1)に記載の情報処理システムである。
 (構成例3-3)前記第1番目の情報処理装置は、前記経路に含まれるすべての前記情報処理装置を決定する、(構成例3-2)に記載の情報処理システムである。
 (構成例3-4)wが2から(W-1)までについて、少なくとも1つの前記第w番目の情報処理装置は、前記アルゴリズムの伝達が行われる次の前記情報処理装置である第(w+1)番目の情報処理装置を決定する、(構成例3-2)に記載の情報処理システムである。
 (構成例3-5)第W番目の情報処理装置は、得られた演算の結果が所定の基準を満たすか否かを判定し、前記演算の結果が前記基準を満たすと判定したことに応じて、前記演算の結果を最終的な演算の結果とした、(構成例3-4)に記載の情報処理システムである。
 (構成例3-6)前記情報処理装置を決定する手法として、前記情報処理装置の属性の情報に基づいて前記情報処理装置を決定する手法が用いられる、(構成例3-3)から(構成例3-5)のいずれか1項に記載の情報処理システムである。
 (構成例3-7)第W番目の情報処理装置は、第(W-1)番目の情報処理装置から受信された第(W-1)番目のアルゴリズムデータおよび前記第W番目の情報処理装置において記憶されたデータに基づいて演算を実行し、前記演算の結果に関するデータを前記第1番目の情報処理装置または他の装置に送信する、(構成例3-2)から(構成例3-6)のいずれか1項に記載の情報処理システムである。
 (構成例3-8)Wが4以上である場合、wが3から(W-1)までについて、第w番目の情報処理装置は、第(w-1)番目の情報処理装置から受信された第(w-1)番目のアルゴリズムデータおよび前記第w番目の情報処理装置において記憶されたデータに基づいて演算を実行し、前記第(w-1)番目のアルゴリズムデータに記述された第(w-1)番目のアルゴリズムに応じた第w番目のアルゴリズムが記述されたデータである第w番目のアルゴリズムデータおよび前記演算の結果に関するデータを第(w+1)番目の情報処理装置に送信する、(構成例3-2)から(構成例3-6)のいずれか1項に記載の情報処理システムである。
 (構成例3-9)wが2からWまでについて、少なくとも1つの第w番目の情報処理装置は、受信されたデータあるいは送信したデータのうちの一部または全部を記憶する、(構成例3-2)から(構成例3-8)のいずれか1項に記載の情報処理システムである。
 (構成例3-10)wが2からWまでについて、すべての第w番目の情報処理装置は、同一のアルゴリズムが記述されたアルゴリズムデータに基づいて演算を実行する、(構成例3-2)から(構成例3-9)のいずれか1項に記載の情報処理システムである。
 (構成例3-11)wが2からWまでについて、少なくとも1つの第w番目の情報処理装置は、異なるアルゴリズムが記述されたアルゴリズムデータに基づいて演算を実行する、(構成例3-2)から(構成例3-10)のいずれか1項に記載の情報処理システムである。
 (構成例3-12)wが3からWまでについて、前記少なくとも1つの第w番目の情報処理装置より1つ前の第(w-1)番目の情報処理装置は、次の第w番目の情報処理装置に送信する前記異なるアルゴリズムが記述されたアルゴリズムデータを生成する、(構成例3-11)に記載の情報処理システムである。
 (構成例3-13)前記経路において、2個以上に分岐された経路部分が存在し、異なる分岐における前記情報処理装置において得られた演算の結果について所定の判定が行われる、(構成例3-2)から(構成例3-12)のいずれか1項に記載の情報処理システムである。
 (構成例3-14)前記経路に含まれない装置に記憶されたデータが前記経路に含まれる前記情報処理装置に送信され、前記データが前記情報処理装置に記憶され、前記データが前記情報処理装置における演算で用いられる、(構成例3-2)から(構成例3-13)のいずれか1項に記載の情報処理システムである。
 なお、ここでは、wの値が前後する2個の情報処理装置が互いに前段と後段の関係にあるとして説明したが、これは説明の便宜上であり、必ずしも当該関係になくてもよい。特に、W個の情報処理装置を直列の順番とする場合にはw=1~Wの順番に並んでいる経路を説明することが簡易な説明の一例であるが、2個以上の情報処理装置に分岐された経路部分がある場合には、wの値が前後であっても2個の情報処理装置が前段と後段の関係にならない箇所が発生し得る。
 以上のように、実施形態に係る装置(例えば、情報処理装置2031~2035、2051~2055、2211、A(1)~A(N)、B(z)、C(1)~C(7)、D(1)~D(4)、E(1)~E(m)、F(1)~F(P)、G(1)~G(Q)、H(1)~H(U)端末装置2111~2118など)の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体(記憶媒体)に記録(記憶)して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、処理を行うことができる。
 なお、ここでいう「コンピュータシステム」とは、オペレーティングシステムあるいは周辺機器等のハードウェアを含むものであってもよい。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
 さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えば、DRAM)のように、一定時間プログラムを保持しているものも含む。
 また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)あるいは電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
 また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
 なお、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
1、601…情報処理システム
111、211、311、411…入力部
112、212、312、412…出力部
113、213、313、413…記憶部
114、214、314、414…通信部
115、215、315、415、511…制御部
131、233、434…アルゴリズム生成部
132…情報処理装置検索部
133、234、435…経路決定部
134、235、436…アルゴリズム送信制御部
135…演算結果取得部
151、251、351、451、k1~k3、p(1)~p(P)、q(1)~q(Q)…データ
231、331、431…アルゴリズム取得部
232、332、432…演算実行部
333、437…通知先決定部
334、438…演算結果通知制御部
433、532…演算結果判定部
501…階層化部分
531…処理部群
711…処理実行機能
712…ストレージ
731、2231…プロセッサ
732…ソフトウェア
751、772、792…データ
771、791、a(1)~a(N-1)、g、g(1)~g(7)、m(1)~m(M-1)…アルゴリズムデータ
2001、2101…通信システム
2011、2012…ネットワーク
2111~2118…端末装置
2031~2035、2051~2055、2211、A(1)~A
(N)、B(z)、C(1)~C(7)、D(1)~D(4)、E(1)~E(m)、F(1)~F(P)、G(1)~G(Q)、H(1)、H(2)…情報処理装置
2232…操作部
2233…表示部
2234…記憶装置
2235…メモリ
2236…入出力インターフェイス
2237…ネットワークインターフェイス
3011…情報処理装置テーブル
4011、4111、4211…送信データ
4031、4131、c、e(1)~e(N-1)…アルゴリズム
4032、4132…パラメーター
4133、4231、d(1)~d(N-1)、f(1)~f(N-1)…演算結果
b(1)~b(N-1)、h、h(1)~h(7)、n(1)~n(M-1)…演算結果データ

Claims (29)

  1.  第1のアルゴリズムが記述されたデータである第1のアルゴリズムデータを第1の情報処理装置から受信する機能を有するデータ受信部と、
     前記データ受信部により受信された前記第1のアルゴリズムデータおよび第1の記憶部に記憶されたデータに基づいて、前記第1のアルゴリズムデータに記述された前記第1のアルゴリズムに基づく演算を実行し、当該演算において前記第1の記憶部に記憶されたデータを使用する機能を有する演算実行部と、
     前記第1のアルゴリズムに応じた第2のアルゴリズムが記述されたデータである第2のアルゴリズムデータを第2の情報処理装置に送信する機能を有するデータ送信部と、
     を備え、
     前記第2のアルゴリズムデータを前記第2の情報処理装置と少なくとも一つの他の情報処理装置に送信し、
     前記第2のアルゴリズムデータが送信された2以上の前記情報処理装置について、前記演算の結果に関するデータについて所定の判定を行う機能を有する第2の演算結果判定部を備え、
     前記第2の演算結果判定部は、自装置とは別の前記情報処理装置から前記第2のアルゴリズムデータが分岐させられて送信された2以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能を有する、
     情報処理装置。
  2.  前記データ送信部は、初期的な第3のアルゴリズムが記述されたデータである第3のアルゴリズムデータを次の情報処理装置に送信する機能を有する、
     請求項1に記載の情報処理装置。
  3.  前記演算実行部は、第4のアルゴリズムに基づいて演算を実行する機能を有し、
     前記データ送信部は、前記第4のアルゴリズムに応じたアルゴリズムを前記第3のアルゴリズムとして、前記第3のアルゴリズムデータを前記次の情報処理装置に送信する機能を有する、
     請求項2に記載の情報処理装置。
  4.  前記第3のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれるすべての情報処理装置および伝送の順序を決定する機能を有する第1の経路決定部を備える、
     請求項2または請求項3のいずれか1項に記載の情報処理装置。
  5.  前記第1の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、
     請求項4に記載の情報処理装置。
  6.  前記第1の経路決定部は、前記情報処理装置の属性として、過去に前記アルゴリズムの伝送に加わった回数、過去における質問に対する回答の数、または、過去における質問に対する回答の頻度のうちのいずれかに基づいて、前記情報処理装置および前記順序を決定する機能を有する、
     請求項5に記載の情報処理装置。
  7.  前記第2のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれる前記第2の情報処理装置を含む1以上の情報処理装置および伝送の順序を決定する機能を有する第2の経路決定部を備える、
     請求項1から請求項6のいずれか1項に記載の情報処理装置。
  8.  前記第2の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、
     請求項7に記載の情報処理装置。
  9.  前記第2の経路決定部は、前記情報処理装置の属性として、過去に前記アルゴリズムの伝送に加わった回数、過去における質問に対する回答の数、または、過去における質問に対する回答の頻度のうちのいずれかに基づいて、前記情報処理装置および前記順序を決定する機能を有する、
     請求項8に記載の情報処理装置。
  10.  前記第2のアルゴリズムは、前記第1のアルゴリズムと同じである、
     請求項1から請求項9のいずれか1項に記載の情報処理装置。
  11.  前記第2のアルゴリズムは、前記第1のアルゴリズムとは異なる、
     請求項1から請求項9のいずれか1項に記載の情報処理装置。
  12.  前記データ受信部は、前記第1の情報処理装置における演算の結果に関するデータを前記第1の情報処理装置から受信する機能を有する、
     請求項1から請求項11のいずれか1項に記載の情報処理装置。
  13.  前記データ受信部は、前記第1の情報処理装置における演算の結果に関するデータと、前記第1のアルゴリズムデータとを同時に前記第1の情報処理装置から受信する機能を有する、
     請求項12に記載の情報処理装置。
  14.  前記データ送信部は、前記演算実行部による演算の結果に関するデータを前記第2の情報処理装置に送信する機能を有する、
     請求項1から請求項13のいずれか1項に記載の情報処理装置。
  15.  前記データ送信部は、前記演算実行部による演算の結果に関するデータと、前記第2のアルゴリズムデータとを同時に前記第2の情報処理装置に送信する機能を有する、
     請求項14に記載の情報処理装置。
  16.  データを記憶する前記第1の記憶部を備え、
     前記演算実行部は、前記第1の記憶部に記憶された前記データを用いて、前記演算を実行する機能を有する、
     請求項1から請求項15のいずれか1項に記載の情報処理装置。
  17.  前記データ送信部は、前記演算実行部による演算の結果に関するデータを通知対象となる1以上の所定の情報処理装置に送信する機能を有する、
     請求項1から請求項16のいずれか1項に記載の情報処理装置。
  18.  前記所定の情報処理装置は、少なくとも、アルゴリズムデータの発信元の情報処理装置を含む、
     請求項17に記載の情報処理装置。
  19.  前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する第1の演算結果判定部を備える、
     請求項1から請求項18のいずれか1項に記載の情報処理装置。
  20.  前記第1の演算結果判定部は、既に前記アルゴリズムに応じた前記演算を実行した前記情報処理装置の数が所定の閾値以上である場合に前記演算の結果に関するデータを最終的なデータとするという判定基準、または、得られた前記演算の結果に含まれる情報の量が所定の閾値以上である場合に前記演算の結果に関するデータを最終的なデータとするという判定基準を用いて、前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する、
     請求項19に記載の情報処理装置。
  21.  前記データ受信部は、他の装置から送信されるデータを受信し、
     前記演算実行部は、前記データ受信部により前記他の装置から受信された前記データに基づいて前記演算を実行する、
     請求項1から請求項20のいずれか1項に記載の情報処理装置。
  22.  前記他の装置は、アルゴリズムが伝送される対象以外の装置である、
     請求項21に記載の情報処理装置。
  23.  前記データ受信部により受信された前記データのうちの一部または全部を記憶する第2の記憶部を備える、
     請求項1から請求項22のいずれか1項に記載の情報処理装置。
  24.  前記データ送信部により送信した前記データのうちの一部または全部を記憶する第3の記憶部を備える、
     請求項1から請求項23のいずれか1項に記載の情報処理装置。
  25.  前記演算実行部は、前記データ受信部により前記第1のアルゴリズムデータを受信したことに応じて、前記第1のアルゴリズムデータに記述された前記第1のアルゴリズムに基づく演算を実行し、
     前記データ送信部は、前記演算実行部により前記演算が実行されたことに応じて、前記第2のアルゴリズムデータを前記第2の情報処理装置に送信する、
     請求項1から請求項24のいずれか1項に記載の情報処理装置。
  26.  前記データ受信部は、前記第1のアルゴリズムデータとともに第1のパラメーターを前記第1の情報処理装置から受信し、
     前記演算実行部は、前記第1のアルゴリズムデータに記述された前記第1のアルゴリズムに基づく演算において前記データ受信部により受信された前記第1のパラメーターを使用し、
     前記データ送信部は、前記第2のアルゴリズムデータとともに第2のパラメーターを前記第2の情報処理装置に送信する、
     請求項1から請求項25のいずれか1項に記載の情報処理装置。
  27.  第1のアルゴリズムが記述されたデータである第1のアルゴリズムデータを第1の情報処理装置から受信し、
     受信された前記第1のアルゴリズムデータおよび第1の記憶部に記憶されたデータに基づいて、前記第1のアルゴリズムデータに記述された前記第1のアルゴリズムに基づく演算を実行し、当該演算において前記第1の記憶部に記憶されたデータを使用し、
     前記第1のアルゴリズムに応じた第2のアルゴリズムが記述されたデータである第2のアルゴリズムデータを第2の情報処理装置と少なくとも一つの他の情報処理装置に送信し、
     前記第2のアルゴリズムデータが送信された2以上の前記情報処理装置について、自装置とは別の前記情報処理装置から前記第2のアルゴリズムデータが分岐させられて送信された2以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う、
     情報処理方法。
  28.  情報処理装置を構成するコンピュータに、
     第1のアルゴリズムが記述されたデータである第1のアルゴリズムデータを第1の情報処理装置から受信する機能と、
     受信された前記第1のアルゴリズムデータおよび第1の記憶部に記憶されたデータに基づいて、前記第1のアルゴリズムデータに記述された前記第1のアルゴリズムに基づく演算を実行し、当該演算において前記第1の記憶部に記憶されたデータを使用する機能と、
     前記第1のアルゴリズムに応じた第2のアルゴリズムが記述されたデータである第2のアルゴリズムデータを第2の情報処理装置と少なくとも一つの他の情報処理装置に送信する機能と、
     前記第2のアルゴリズムデータが送信された2以上の前記情報処理装置について、自装置とは別の前記情報処理装置から前記第2のアルゴリズムデータが分岐させられて送信された2以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能と、
     を実現させるためのプログラム。
  29.  情報処理装置を含む情報処理システムにおいて、
     前記情報処理装置は、
     第1のアルゴリズムが記述されたデータである第1のアルゴリズムデータを第1の情報処理装置から受信する機能を有するデータ受信部と、
     前記データ受信部により受信された前記第1のアルゴリズムデータおよび第1の記憶部に記憶されたデータに基づいて、前記第1のアルゴリズムデータに記述された前記第1のアルゴリズムに基づく演算を実行し、当該演算において前記第1の記憶部に記憶されたデータを使用する機能を有する演算実行部と、
     前記第1のアルゴリズムに応じた第2のアルゴリズムが記述されたデータである第2のアルゴリズムデータを第2の情報処理装置に送信する機能を有するデータ送信部と、
     を備え、
     前記第2のアルゴリズムデータを前記第2の情報処理装置と少なくとも一つの他の情報処理装置に送信し、
     前記第2のアルゴリズムデータが送信された2以上の前記情報処理装置について、前記演算の結果に関するデータについて所定の判定を行う機能を有する第2の演算結果判定部を備え、
     前記第2の演算結果判定部は、自装置とは別の前記情報処理装置から前記第2のアルゴリズムデータが分岐させられて送信された2以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能を有する、
     情報処理システム。
PCT/JP2019/000872 2018-01-22 2019-01-15 情報処理装置、情報処理方法、プログラムおよび情報処理システム WO2019142767A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP19741155.6A EP3745274A4 (en) 2018-01-22 2019-01-15 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROCESS, INFORMATION PROCESSING PROGRAM AND SYSTEM
US16/963,520 US11875134B2 (en) 2018-01-22 2019-01-15 Information processing device, information processing method, program and information processing system
CN201980021190.6A CN111902808A (zh) 2018-01-22 2019-01-15 信息处理装置、信息处理方法、程序和信息处理系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-008069 2018-01-22
JP2018008069A JP6427697B1 (ja) 2018-01-22 2018-01-22 情報処理装置、情報処理方法、プログラムおよび情報処理システム

Publications (1)

Publication Number Publication Date
WO2019142767A1 true WO2019142767A1 (ja) 2019-07-25

Family

ID=64379235

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/000872 WO2019142767A1 (ja) 2018-01-22 2019-01-15 情報処理装置、情報処理方法、プログラムおよび情報処理システム

Country Status (5)

Country Link
US (1) US11875134B2 (ja)
EP (1) EP3745274A4 (ja)
JP (1) JP6427697B1 (ja)
CN (1) CN111902808A (ja)
WO (1) WO2019142767A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7200746B2 (ja) * 2019-02-25 2023-01-10 富士通株式会社 制御装置、及び制御プログラム
CN112905525B (zh) * 2019-11-19 2024-04-05 中科寒武纪科技股份有限公司 控制运算装置进行计算的方法及设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10313337A (ja) * 1997-03-13 1998-11-24 Fujitsu Ltd ネットワークシステム,情報処理装置
JP2002092366A (ja) * 2000-09-11 2002-03-29 Nec Corp Cpu時間売買方法及びcpu時間売買システムにおける管理サーバ
JP2002108838A (ja) * 2000-10-02 2002-04-12 Ntt Comware Corp エージェント実行装置およびエージェント実行方法
JP2002281036A (ja) * 2001-03-16 2002-09-27 Oki Electric Ind Co Ltd 通信制御装置の制御方法およびネットワーク管理システムの制御プログラム
JP2002325100A (ja) * 2001-04-25 2002-11-08 Oki Electric Ind Co Ltd ネットワークsla管理システム
JP2004005230A (ja) * 2002-05-31 2004-01-08 Omron Corp エージェント利用メンテナンスシステム
JP2006309322A (ja) * 2005-04-26 2006-11-09 Toshiba Social Automation Systems Co Ltd データ集計方法及びデータ集計システム
JP2018008069A (ja) 2010-04-22 2018-01-18 リーフ ヘルスケア インコーポレイテッド 自動向き変更管理のシステム

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0392038A (ja) * 1989-09-04 1991-04-17 Nec Corp ネットワーク構成装置の時刻設定方式
JP3087638B2 (ja) * 1995-11-30 2000-09-11 ヤマハ株式会社 音楽情報処理システム
JP3302915B2 (ja) * 1996-12-03 2002-07-15 株式会社東芝 電力系統保護制御システムとこのシステムを実行するためのプログラムを記録した記録媒体
JPH11224212A (ja) * 1998-02-06 1999-08-17 Mitsubishi Electric Corp 遠隔保守システム
JP3789036B2 (ja) * 1998-02-26 2006-06-21 株式会社東芝 監視制御装置、電力系統保護制御装置、分散制御システムおよびプログラムを記憶した記憶媒体
JP3829020B2 (ja) * 1998-10-22 2006-10-04 株式会社東芝 電力系統保護制御システム、電力系統保護制御システムの制御方法およびプログラムモジュールを記憶した記憶媒体
JP2001209620A (ja) * 2000-01-25 2001-08-03 Matsushita Electric Works Ltd 遠隔監視制御システム及び記録媒体
JP4090663B2 (ja) * 2000-03-24 2008-05-28 株式会社東芝 電力系統保護制御システムおよびコンピュータが読取り可能な記憶媒体
JP3861559B2 (ja) * 2000-03-31 2006-12-20 株式会社日立製作所 移動エージェント制御方法
JP2001306511A (ja) * 2000-04-25 2001-11-02 Pfu Ltd マシン情報の収集方法およびマシン情報の収集装置ならびにその記録媒体
JP2001313670A (ja) * 2000-04-28 2001-11-09 Oki Electric Ind Co Ltd ネットワーク管理方法
JP4070389B2 (ja) * 2000-05-12 2008-04-02 株式会社東芝 電力系統監視制御装置
JP5021113B2 (ja) * 2000-08-23 2012-09-05 イー・カルチャー株式会社 検定試験方法
JP2002073640A (ja) * 2000-09-05 2002-03-12 Oki Electric Ind Co Ltd 情報検索システム
JP2002207709A (ja) * 2001-01-10 2002-07-26 Hitachi Ltd エージェントプログラムの巡回方法
JP2002230299A (ja) * 2001-01-31 2002-08-16 Hitachi Kokusai Electric Inc オンライン情報システム
EP1233573B1 (en) 2001-02-15 2008-03-26 Oki Electric Industry Company, Limited Network management system
JP2002281086A (ja) * 2001-03-19 2002-09-27 Kddi Corp トラヒック監視方法およびシステム
JP2002297557A (ja) * 2001-03-30 2002-10-11 Toshiba Corp エージェントシステムおよびこのエージェントシステム用プログラム
JP4733310B2 (ja) * 2001-07-30 2011-07-27 学校法人金沢工業大学 分散型著作権保護方法、およびその方法を利用可能なコンテンツ公開装置、監視サーバならびにシステム
JP2003345724A (ja) * 2002-05-22 2003-12-05 Omron Corp 情報管理方法、情報管理システム、サーバ、端末及び情報管理プログラム
JP2004013386A (ja) * 2002-06-05 2004-01-15 Toho Gas Co Ltd 通信システム
JP3953365B2 (ja) * 2002-06-12 2007-08-08 富士通株式会社 通信管理システム
JP4277709B2 (ja) * 2003-02-25 2009-06-10 セイコーエプソン株式会社 ネットワークデバイス検査システム、デバイス検査プログラム及びデバイス検査方法、並びにデバイス
JP2004363780A (ja) * 2003-06-03 2004-12-24 Oki Electric Ind Co Ltd 通信ネットワークにおける通信品質設定方法及び通信品質設定システム並びにプログラム
JP2010066931A (ja) * 2008-09-09 2010-03-25 Fujitsu Ltd 負荷分散機能を有した情報処理装置
WO2011099320A1 (ja) * 2010-02-12 2011-08-18 株式会社日立製作所 情報処理装置、及び情報処理装置における情報処理方法
EP2538343A4 (en) * 2010-02-18 2013-07-31 Hitachi Ltd INFORMATION AND COMMUNICATION PROCESSING SYSTEM, METHOD AND NETWORK NODES
JP2012009996A (ja) * 2010-06-23 2012-01-12 National Institute Of Information & Communication Technology 情報処理システム、中継装置、および情報処理方法
JP2012064091A (ja) * 2010-09-17 2012-03-29 Fuji Xerox Co Ltd 情報処理システム、情報処理装置、及びプログラム
JP2012248919A (ja) * 2011-05-25 2012-12-13 Hitachi Cable Ltd フレーム中継装置、ネットワークシステム及びフレーム中継方法
JP5822125B2 (ja) * 2011-11-09 2015-11-24 日本電気株式会社 サービス連携装置、サービス連携方法およびサービス連携プログラム
US20150207759A1 (en) * 2012-08-30 2015-07-23 Sony Computer Entertainment Inc. Distributed computing system, client computer for distributed computing, server computer for distributed computing, distributed computing method, and information storage medium
US10108521B2 (en) * 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
JP6323446B2 (ja) * 2013-03-29 2018-05-16 ソニー株式会社 情報処理装置、情報処理方法、及び情報処理システム
JP6079420B2 (ja) * 2013-05-10 2017-02-15 株式会社リコー 情報処理システム、情報処理方法、プログラム、及び記録媒体
CN105591888A (zh) * 2014-11-18 2016-05-18 中兴通讯股份有限公司 一种计算路径的方法和路径计算服务器
CN104363300B (zh) * 2014-11-26 2018-06-05 浙江宇视科技有限公司 一种服务器集群中计算任务分布式调度装置
JP2016152041A (ja) * 2015-02-19 2016-08-22 有限会社Triart データ処理プログラム及びデータ処理システム
JP2017005446A (ja) * 2015-06-09 2017-01-05 富士通株式会社 中継装置
US10705882B2 (en) * 2017-12-21 2020-07-07 Cisco Technology, Inc. System and method for resource placement across clouds for data intensive workloads

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10313337A (ja) * 1997-03-13 1998-11-24 Fujitsu Ltd ネットワークシステム,情報処理装置
JP2002092366A (ja) * 2000-09-11 2002-03-29 Nec Corp Cpu時間売買方法及びcpu時間売買システムにおける管理サーバ
JP2002108838A (ja) * 2000-10-02 2002-04-12 Ntt Comware Corp エージェント実行装置およびエージェント実行方法
JP2002281036A (ja) * 2001-03-16 2002-09-27 Oki Electric Ind Co Ltd 通信制御装置の制御方法およびネットワーク管理システムの制御プログラム
JP2002325100A (ja) * 2001-04-25 2002-11-08 Oki Electric Ind Co Ltd ネットワークsla管理システム
JP2004005230A (ja) * 2002-05-31 2004-01-08 Omron Corp エージェント利用メンテナンスシステム
JP2006309322A (ja) * 2005-04-26 2006-11-09 Toshiba Social Automation Systems Co Ltd データ集計方法及びデータ集計システム
JP2018008069A (ja) 2010-04-22 2018-01-18 リーフ ヘルスケア インコーポレイテッド 自動向き変更管理のシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DR. GAVIN WOODFOUNDERETHEREUMETHCORE: "ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER", EIP-150 REVISION (759DCCD-2017-08-07, 7 August 2017 (2017-08-07), Retrieved from the Internet <URL:https://ethereum.github.io/yellowpaper/paper.pdf>
See also references of EP3745274A4

Also Published As

Publication number Publication date
EP3745274A1 (en) 2020-12-02
US20210064337A1 (en) 2021-03-04
CN111902808A (zh) 2020-11-06
JP6427697B1 (ja) 2018-11-21
US11875134B2 (en) 2024-01-16
JP2019128645A (ja) 2019-08-01
EP3745274A4 (en) 2021-10-20

Similar Documents

Publication Publication Date Title
Tao et al. Multi-mode resource-constrained project scheduling problem with alternative project structures
CN110022230B (zh) 基于深度强化学习的服务链并行部署方法及装置
CN109949160A (zh) 一种区块链的分片方法及装置
JP2011204228A (ja) 学習メカニズムを用いたマッシュアップインフラストラクチャ
WO2019142767A1 (ja) 情報処理装置、情報処理方法、プログラムおよび情報処理システム
US11443112B2 (en) Outcome of a natural language interaction
CN114915630A (zh) 基于物联网设备的任务分配方法、网络训练方法及装置
US20210064591A1 (en) Database Tuning Using a Federated Machine Learning System of a Centerless Network
Mostafa Cooperative fog communications using a multi-level load balancing
Andres et al. A simulation approach to assess partners selected for a collaborative network
Tiwari et al. Observing the effect of interprocess communication in auto controlled ant colony optimization‐based scheduling on computational grid
Mika et al. A metaheuristic approach to scheduling workflow jobs on a grid
Tan et al. A mathematical model, heuristic, and simulation study for a basic data staging problem in a heterogeneous networking environment
WO2021250941A1 (ja) 連携装置および連携方法
Nguyen et al. Genetic programming approach to learning multi-pass heuristics for resource constrained job scheduling
JP2016071725A (ja) ワークフロー制御プログラム、ワークフロー制御方法及び情報処理装置
Li et al. Dynamical evolution behavior of scientific collaboration hypernetwork
CN110598931A (zh) 基于图卷积的节点电价预测方法及装置
Tian et al. Modeling and algorithms for multiagent communication through interactive dynamic influence diagrams
CN117687800B (zh) 一种跨域分布式计算方法、系统、存储介质和电子设备
Volgushev et al. Programming support for an integrated multi-party computation and MapReduce infrastructure
CN117687801B (zh) 一种跨域分布式计算系统、方法、存储介质和电子设备
Kumar et al. Development of a hybrid negotiation scheme for multi-agent manufacturing systems
WO2021111607A1 (ja) ネットワークトポロジーを生成する装置、方法及びプログラム
Wang et al. Visual Exploratory Analysis for Designing Large-Scale Network-on-Chip Architectures: A Domain Expert-Led Design Study

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19741155

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019741155

Country of ref document: EP

Effective date: 20200824