Patent Description:
There has been proposed a concept of the internet of ability (IoA) in which people and robots bring their "ability" through a network and exchange the ability to open up areas of unprecedented use. Examples of a document disclosing the IoA include the non-patent document <NUM> set out below.

<CIT> discloses a block diagram of a machine-learning (ML) based complex event processing (CEP) engine. The ML-based CEP engine includes a cache component, a distributed filesystem, a messaging platform, and a distributed computation system, wherein the distributed computation system is a real-time data processing engine. The cache component can be a distributed cache, such as a cluster-based cache or a peer-to-peer cache. The distributed filesystem stores data on a cluster of computing machines to provide high aggregate bandwidth across the cluster. The distributed filesystem includes at least a name node and a plurality of data nodes. The messaging platform provides a computer application service to facilitate communication amongst the various system components of the ML-based CEP engine and between external systems.

Non-Patent Document <NUM> discloses that, by exchanging abilities through a network, for example, it becomes possible to expand experiences, communicate collaborative work/ability, and expand existence. However, Non-Patent Document <NUM> fails to disclose how to exchange abilities through a network. <CIT> discloses a security platform employing a variety techniques and mechanisms to detect security related anomalies and threats in a computer network environment. The security platform is "big data" driven and employs machine learning to perform security analytics. The article <NPL>, discloses "Smart Things" provisioned with Artificial intelligence features to implement self-monitoring and self-inferencing, wherein "Smart Things" communicate via Blockchain.

The present disclosure proposes a novel and improved system processing device, method for processing information, and program capable of implementing ability sharing through a network.

According to a first aspect, the invention provides a system in accordance with claim <NUM>. According to a second aspect, the invention provides a processing device in accordance with claim <NUM>. According to a third aspect, the invention provides a method in accordance with claim <NUM>. According to a fourth aspect, the invention provides a computer program in accordance with claim <NUM>. Further aspects are set forth in the dependent claims, the description, and the drawings.

According to the present disclosure, there is provided a system for sharing an artificial intelligence computer program through a P2P network according to claim <NUM>.

Furthermore, according to the present disclosure, there is provided a processing device according to claim <NUM>.

Furthermore, according to the present disclosure, there is provided a method for sharing an artificial intelligence computer program through a P2P network.

Furthermore, according to the present disclosure, there is provided a program for causing a computer to carry out the method of claim <NUM>.

According to the present disclosure, it becomes possible to implement ability sharing through a network.

Note that the effects described above are not necessarily limited, and any of the effects described in the present specification or another effect that can be understood from the present specification may be exerted in addition to the effects described above or instead of the effects described above.

Hereinafter, a preferred embodiment of the present disclosure will be described in detail with reference to the accompanying drawings. Note that, in the present specification and the drawings, constituent elements having substantially the same functional configuration will be denoted by the same reference signs, and duplicate descriptions thereof will be omitted.

Furthermore, descriptions will be given in the following order.

A shared system according to the present embodiment is a system capable of sharing ability of artificial intelligence through a network.

The artificial intelligence according to the present embodiment indicates, for example, a computer program for causing a machine to perform what humans do with intelligence (computational part of ability to achieve actual goals). Since the artificial intelligence is a computer program as mentioned above, at least a part of some abilities involving physical work or intellectual work can be shared by a plurality of devices by data being exchanged through a network.

In the shared system according to the present embodiment, one device included in the shared system is enabled to obtain, through a network, at least one or both of control information for causing the artificial intelligence to function and information for specifying the control information, thereby enabling sharing of the ability of the artificial intelligence through the network.

Examples of the information for specifying the control information according to the present embodiment include a part of or all of information indicating a network structure, a hyperparameter, and a training data set. The information indicating a network structure, the hyperparameter, and the training data set correspond to data for learning the control information for causing the artificial intelligence to function. Two or more of the information indicating a network structure, the hyperparameter, and the training data set may be packaged.

The information indicating a network structure according to the present embodiment is, for example, information indicating a structure of any network such as a neural network. Examples of the information indicating a network structure include data in an optional format that can express a relationship between data in a graph structure.

The hyperparameter according to the present embodiment is a parameter for learning. Taking a case where the information indicating a network structure is information indicating a structure of a neural network as an example, examples of the hyperparameter include the number of neurons, the number of network layers, and a learning rate. Note that the hyperparameter according to the present embodiment is not limited to the example mentioned above, and may be, for example, an optional parameter that can give a range to the network indicated by the information indicating a network structure by performing learning.

The training data set according to the present embodiment is a data group including training data to be used for a plurality of kinds of learning. Examples of the training data include data in an optional format corresponding to learning content, such as image data and text data.

The control information according to the present embodiment corresponds to, for example, learned data for causing the artificial intelligence to function. The learned data is obtained by, for example, learning being performed in an optional learning method, such as deep learning, and deep reinforcement learning combining deep learning and reinforcement learning. Examples of the learned data include optional data (or data group) that can serve as an artificial intelligence module, such as a learned neural network module.

The information for specifying the control information according to the present embodiment is data in an optional format that can specify the control information and obtain the specified information from an external device. Furthermore, the information for specifying the control information according to the present embodiment may be data in an optional format necessary for generating learned data on the basis of the obtained information. Examples of the information for specifying the control information include information for specifying the control information as described below, and data directly indicating an acquisition source of the information for specifying the control information.

For example, in a case where the information for specifying the control information is data representing a URL indicating a download destination of the control information as described in the example above, a device that has obtained the information for specifying the control information accesses the URL to obtain the control information. Furthermore, in a case where the information for specifying the control information is data necessary for generating learned data as described in the example above, for example, a device that has obtained the information for specifying the control information generates, using the device or another device, learned data for causing the artificial intelligence to function on the basis of the information, thereby obtaining the control information.

Note that the information for specifying the control information is not limited to data directly indicating an acquisition source of the control information, such as a URL. For example, the information for specifying the control information may be data that can indirectly specify the acquisition source of the control information.

Examples of the data indirectly specifying the acquisition source of the control information include text data indicating a "keyword for specifying the control information". Examples of the "keyword for specifying the control information" include a character string including a "name of a provider that provides the control information, such as a corporate name, a natural person name, and a name of an organization other than a corporation" and a "file name of the control information".

Furthermore, in a case where there is a training data set whose contents are guaranteed in some form for example, the data indirectly indicating the acquisition source of the control information may be data that can specify a database (e.g., data indicating a name of the database), or may be data that can specify a data repository (e.g., data indicating a name of the data repository). Moreover, in order to ensure validity of the training data set, information such as a hash value and a checksum of the training data set may be added to the information for specifying the control information.

For example, taking a case where the information for specifying the control information is the text data indicating the "keyword for specifying the control information" as an example, a device that has obtained the information for specifying the control information conducts a web search for the keyword indicated by the text data, thereby specifying the URL indicating the download destination of the control information. Then, the device that has obtained the information for specifying the control information accesses the specified URL to obtain the control information.

In the shared system according to the present embodiment, for example, as described above, a device included in the shared system obtains one or both of the control information and the information for specifying the configuration through the network, thereby obtaining the control information through the network. That is, one or both of the control information and the information for specifying the control information that can be obtained through the network in the shared system can be regarded as information for the device to obtain the control information.

Furthermore, the device that has obtained the control information causes the artificial intelligence to function on the basis of the control information. With the artificial intelligence functioning on the basis of the control information, a predetermined process is executed in the device by the artificial intelligence functioning on the basis of the control information.

Accordingly, in the shared system according to the present embodiment, ability of the artificial intelligence is shared on the basis of information (e.g., one or both of the control information and the information for specifying the control information) distributed through the network. Therefore, it becomes possible to share abilities through the network using the shared system according to the present embodiment.

Furthermore, since the artificial intelligence is a computer program for causing a machine to perform what humans do with intelligence, at least a part of some abilities involving physical work or intellectual work can be commoditized. For example, in the shared system according to the present embodiment, at least a part of some abilities involving physical work or intellectual work can be commoditized on the basis of information distributed through the network (e.g., one or both of the control information and the information for specifying the control information). That is, it becomes possible to provide commoditized ability using the shared system according to the present embodiment.

Hereinafter, a process performed in a device included in the shared system (process associated with a method for processing information according to the present embodiment) will be described as well as an exemplary configuration of the shared system according to the present embodiment.

<FIG> is an explanatory diagram illustrating an exemplary configuration of a shared system <NUM> according to the present embodiment. The shared system <NUM> includes, for example, a providing device <NUM> and a processing device <NUM>.

The providing device <NUM> and the processing device <NUM> are connected wirelessly or by wire, for example, and are included in a network <NUM>. Examples of the network <NUM> include a distributed network, such as a peer-to-peer (P2P) network. Hereinafter, an exemplary case where the network <NUM> is a P2P network in which various devices included in the shared system <NUM> are connected in an autonomous distributed manner will be mainly described. The providing device <NUM> and the processing device <NUM>, which are illustrated to be connected through the network <NUM> in <FIG>, correspond to devices included in the P2P network. Note that, it is needless to say that the network <NUM> is not limited to the P2P network.

Note that the shared system according to the present embodiment is not limited to the example illustrated in <FIG>.

For example, the number of the providing devices <NUM> included in the network <NUM> in <FIG>, and the number of the processing devices <NUM> included in the network <NUM> in <FIG> are examples, and the number of various devices included in the network <NUM> is not limited to the example illustrated in <FIG>.

Furthermore, although the providing device <NUM> and the processing device <NUM> are illustrated as separate devices in <FIG>, for example, a part of or all of the providing devices <NUM> included in the network <NUM> and a part of or all of the processing devices <NUM> included in the network <NUM> may function as the providing device <NUM> and the processing device <NUM>.

Hereinafter, devices included in the shared system according to the present embodiment will be described with the shared system <NUM> illustrated in <FIG> being taken as an example.

The providing device <NUM> makes it possible to obtain, for example, one or both of the control information and the information for specifying the control information from the network <NUM>.

More specifically, the providing device <NUM> registers one or both of the control information and the information for specifying the control information in a P2P database, for example, thereby making it possible to obtain one or both of the control information and the information for specifying the control information from the network <NUM>. Not only the control information but also the information for specifying the control information is registered in the P2P database, whereby, for example, an effect such as "a history of the control information becomes clear" can be exerted.

The P2P database is an exemplary distributed file system utilizing the P2P network. Examples of the P2P database include blockchain data distributed in the P2P network. Examples of the blockchain data according to the present embodiment include blockchain data used for exchanging virtual currency data, such as Bitcoin and Ethereum. Note that, it is needless to say that the blockchain data according to the present embodiment is not limited to the blockchain data used to exchange virtual currency data. Furthermore, the P2P database according to the present embodiment is not limited to blockchain data, and may be any distributed file system capable of implementing a distributed file system utilizing the P2P network.

Before describing a configuration of the providing device <NUM> and a process in the providing device <NUM>, the P2P database will be described using blockchain data as an example.

<FIG> is an explanatory diagram illustrating an exemplary P2P database, which illustrates exemplary blockchain data.

As illustrated in <FIG>, blockchain data is data including a plurality of blocks connected in chains. Each of the blocks includes data of one or more transactions. Furthermore, examples of transaction data include various kinds of data, such as data indicating contents of a transaction such as a value of a traded virtual currency, data indicating an address corresponding to a public key of a P2P network participant (device included in the P2P network; the same applies hereinafter) that generates a transaction, the control information, and the information for specifying the control information.

The blockchain data includes, for example, a hash of the immediately preceding block, and a value called nonce. The hash of the immediately preceding block is used to determine whether or not it is a "correct block" correctly linked from the immediately preceding block, for example. The nonce is used to prevent impersonation in authentication using a hash, for example, and tampering is prevented by the nonce being used. Examples of the nonce include a character string, a number string, and data indicating a combination thereof.

Furthermore, in blockchain data, an electronic signature using an encryption key may be given to transaction data, and transaction data may be encrypted using an encryption key.

Each transaction data is public, and is shared across the P2P network. Note that the same record may not necessarily be retained across the P2P network depending on a type of the P2P database.

Addition of a new block (generation of a new block) to the blockchain data in the P2P network is performed using, for example, a method called the proof of work (PoW), or a method called the proof of stake (PoS). The PoW is a method in which, among participants in a P2P network, a person who has solved a mathematical problem first (e.g., person who has found a hash satisfying a specific condition first) generates a new block. Furthermore, the PoS is a method in which a person who has first solved a mathematical problem whose difficulty level changes depending on assets owned by a participant determined by, for example, an amount of virtual currency, a period of owning the virtual currency, and the like (e.g., person who has first found a hash satisfying a specific condition corresponding to the difficulty level) generates a new block. Note that the method of adding a new block to the blockchain data in the P2P network according to the present embodiment is not particularly limited.

<FIG> is an explanatory diagram illustrating exemplary data registration to the P2P database in the P2P network, which illustrates exemplary data registration to the blockchain data (exemplary P2P database).

For example, a participant A of the P2P network electronically signs data to be registered in the blockchain data using a secret key of the participant A. With the data to be registered in the blockchain data being electronically signed by the participant A using the secret key, for example, it is ensured that the data belongs to the participant A, the owner of the data is the participant A, or the like. Furthermore, the participant A of the P2P network may encrypt the data to be registered in the blockchain data using a public key of the participant A or the like. Note that, it is needless to say that the data may not be electronically signed using the secret key or may not be encrypted using the public key or the like at the time of being registered in the P2P database.

When the electronic signature is applied, the participant A broadcasts transaction data including the electronically signed data on the P2P network. The transaction data broadcasted on the P2P network is included in a block generated by any P2P network participant, thereby being registered in the blockchain data.

Note that the method of registering data in the P2P database in the P2P network is not limited to the example described above. For example, in the P2P network, side chain technology can be used to register data in the P2P database.

<FIG> is an explanatory diagram illustrating exemplary data acquisition from the P2P database in the P2P network, which illustrates exemplary data acquisition from the blockchain data (exemplary P2P database).

The data to be registered in the blockchain data by a participant of the P2P network is registered in the blockchain data as described with reference to <FIG>, for example, and as a result, the registered data is shared among all participants of the P2P network, for example. Therefore, each of the participants of the P2P network can obtain data registered in the blockchain data by a participant of the P2P network, the data being stored in the blockchain data, by referring to blockchain data stored in a recording medium corresponding to each of the participants, for example.

Note that, as described above, the same record may not necessarily be retained across the P2P network depending on a type of the P2P database. In the above case, data registered in the blockchain data by a participant of the P2P network is shared by some of the participants of the P2P network, and some of the participants can obtain the registered data by referring to the blockchain data stored in the corresponding recording medium.

Furthermore, in a case where data registered in the blockchain data is electronically signed using a secret key, for example, a participant who has obtained the registered data can verify validity of the registered data having been obtained using a public key corresponding to the secret key. Furthermore, in a case where data registered in the blockchain data is encrypted using a public key, for example, a participant who has obtained the registered data uses a secret key corresponding to the public key to decrypt the registered data having been obtained.

In the shared system <NUM>, the providing device <NUM> registers data in the P2P database as described with reference to <FIG>, for example, whereby one or both of the control information and the information for specifying the control information can be obtained from the network <NUM>.

Furthermore, in the shared system <NUM>, the processing device <NUM> obtains data registered in the P2P database as described with reference to <FIG>, for example, whereby one or both of the control information and the information for specifying the control information can be obtained from the P2P database.

Therefore, in the shared system <NUM>, ability of the artificial intelligence is shared via the blockchain data (exemplary P2P database).

Furthermore, in the shared system <NUM>, data is shared on the basis of the blockchain data (exemplary P2P database), whereby the following effects can be exerted, for example.

Next, a process in the providing device <NUM> will be described as well as an exemplary configuration of the providing device <NUM>.

<FIG> is a block diagram illustrating an exemplary configuration of the providing device <NUM> according to the present embodiment. The providing device <NUM> includes, for example, a communication unit <NUM>, and a control unit <NUM>.

Furthermore, the providing device <NUM> may include, for example, a read-only memory (ROM) (not illustrated), a random access memory (RAM) (not illustrated), a storage (not illustrated), an operation unit (not illustrated) capable of being operated by a user of the providing device <NUM>, a display (not illustrated) that displays various screens on a display screen, and the like. The providing device <NUM> connects the respective components mentioned above using, for example, a bus serving as a data transmission path.

The ROM (not illustrated) stores control data such as operation parameters and programs to be used by the control unit <NUM>. The RAM (not illustrated) temporarily stores, for example, programs to be executed by the control unit <NUM>.

The storage (not illustrated) is a storage means included in the providing device <NUM>, and stores, for example, various kinds of data including data associated with the method for processing information according to the present embodiment, such as the P2P database, various applications, and the like. Here, examples of the storage (not illustrated) include a magnetic recording medium, such as a hard disk, and a non-volatile memory, such as a flash memory. Furthermore, the storage (not illustrated) may be detachable from the providing device <NUM>. Note that the providing device <NUM> may not include the storage (not illustrated), and various kinds of data of the P2P database or the like may be stored in a recording medium outside the providing device <NUM>.

Examples of the operation unit (not illustrated) include an operation input device to be described later. Furthermore, examples of the display (not illustrated) include a display device to be described later. Note that the providing device <NUM> may not include one or both of the operation unit (not illustrated) and the display (not illustrated).

<FIG> is an explanatory diagram illustrating an exemplary hardware configuration of the providing device <NUM> according to the present embodiment. The providing device <NUM> includes, for example, an MPU <NUM>, a ROM <NUM>, a RAM <NUM>, a recording medium <NUM>, an input/output interface <NUM>, an operation input device <NUM>, a display device <NUM>, and a communication interface <NUM>. Furthermore, the providing device <NUM> connects the respective components by, for example, a bus <NUM> serving as a data transmission path. Furthermore, the providing device <NUM> is driven by, for example, power supplied from an internal power supply included in the providing device <NUM>, such as a battery, or power supplied from a connected external power supply.

The MPU <NUM> includes, for example, one or more processors including an arithmetic circuit such as a micro processing unit (MPU), various processing circuits, and the like, and functions as the control unit <NUM> that controls the entire providing device <NUM>. Furthermore, the MPU <NUM> functions as, for example, a processing unit <NUM> to be described later in the providing device <NUM>. Note that the processing unit <NUM> may include dedicated (or general-purpose) circuitry (e.g., a processor separated from the MPU <NUM>).

The ROM <NUM> stores programs to be used by the MPU <NUM>, control data such as operation parameters, and the like. The RAM <NUM> temporarily stores, for example, programs to be executed by the MPU <NUM>.

The recording medium <NUM> functions as the storage (not illustrated), and stores, for example, various kinds of data including data associated with the method for processing information according to the present embodiment, such as the P2P database, various applications, and the like. Here, examples of the recording medium <NUM> include a magnetic recording medium, such as a hard disk, and a non-volatile memory, such as a flash memory. Furthermore, the recording medium <NUM> may be detachable from the providing device <NUM>.

The input/output interface <NUM> connects, for example, the operation input device <NUM> and the display device <NUM>. The operation input device <NUM> functions as the operation unit (not illustrated), and the display device <NUM> functions as the display (not illustrated). Here, examples of the input/output interface <NUM> include a universal serial bus (USB) terminal, a digital visual interface (DVI) terminal, a high-definition multimedia interface (HDMI) (registered trademark) terminal, and various processing circuits.

Furthermore, the operation input device <NUM> is provided on the providing device <NUM>, for example, and is connected to the input/output interface <NUM> inside the providing device <NUM>. Examples of the operation input device <NUM> include buttons, direction keys, a rotary selector such as a jog dial, and a combination thereof.

Furthermore, the display device <NUM> is provided on the providing device <NUM>, for example, and is connected to the input/output interface <NUM> inside the providing device <NUM>. Examples of the display device <NUM> include a liquid crystal display, and an organic EL display.

Note that it is needless to say that the input/output interface <NUM> can be connected to an external device, such as an operation input device outside the providing device <NUM> (e.g., keyboard, mouse, etc.) and an external display device. Furthermore, the display device <NUM> may be a device capable of performing display and user operation, such as a touch panel.

The communication interface <NUM> is a communication means included in the providing device <NUM>, and functions as the communication unit <NUM> for performing wireless or wired communication with other devices included in the shared system <NUM>, such as the providing device <NUM> and the processing device <NUM>. Furthermore, the communication interface <NUM> is also capable of performing wireless or wired communication with a device other than the devices included in the shared system <NUM>. Here, examples of the communication interface <NUM> include a communication antenna and a radio frequency (RF) circuit (wireless communication), an IEEE <NUM>. <NUM> port and a transmission/reception circuit (wireless communication), an IEEE <NUM> port and a transmission/reception circuit (wireless communication), and a local area network (LAN) terminal and a transmission/reception circuit (wired communication). Furthermore, the communication interface <NUM> may have any configuration capable of communicating with devices included in the network <NUM>.

The providing device <NUM> makes it possible to obtain one or both of the control information and the information for specifying the control information from the network <NUM> on the basis of, for example, the configuration illustrated in <FIG>. Note that the hardware configuration of the providing device <NUM> according to the present embodiment is not limited to the configuration illustrated in <FIG>.

For example, in a case where the providing device <NUM> communicates with an external device or the like via an external communication device connected thereto, it may not include the communication interface <NUM>. Furthermore, the communication interface <NUM> may have a configuration capable of communicating with one or more external devices using a plurality of communication schemes.

Furthermore, the providing device <NUM> can take a configuration not including some or all of the recording medium <NUM>, the operation input device <NUM>, and the display device <NUM>, for example.

Furthermore, the providing device <NUM> can take a configuration corresponding to exemplary application of the providing device <NUM> to be described later, for example.

Furthermore, a part of or all of the configuration (or the configuration according to variations) illustrated in <FIG> may be implemented by one or more integrated circuits (ICs), for example.

An exemplary configuration of the providing device <NUM> will be described with reference to <FIG> again. The communication unit <NUM> is a communication means included in the providing device <NUM>, and performs wireless or wired communication with other devices included in the shared system <NUM>, such as the providing device <NUM> and the processing device <NUM>. Furthermore, the communication unit <NUM> is also capable of performing wireless or wired communication with a device other than the devices included in the shared system <NUM>. Communication in the communication unit <NUM> is controlled by, for example, the control unit <NUM>.

Here, while examples of the communication unit <NUM> include a communication antenna, an RF circuit, a LAN terminal, and a transmission/reception circuit, the configuration of the communication unit <NUM> is not limited to the above. For example, the communication unit <NUM> may have a configuration supporting any standard capable of performing communication, such as a USB terminal and a transmission/reception circuit, or any configuration capable of communicating with devices included in the network <NUM>. Furthermore, the communication unit <NUM> may have a configuration capable of communicating with one or more external devices using a plurality of communication schemes.

The control unit <NUM> includes, for example, an MPU or the like, and functions to control the entire providing device <NUM>. Furthermore, the control unit <NUM> includes, for example, the processing unit <NUM>, and functions to lead a process associated with a method for processing information in the providing device <NUM>.

The processing unit <NUM> makes it possible to obtain one or both of the control information and the information for specifying the control information from the network <NUM> that is a distributed network. As described with reference to <FIG>, for example, the processing unit <NUM> registers one or both of the control information and the information for specifying the control information in the P2P database, thereby making it possible to obtain one or both of the control information and the information for specifying the control information from the network <NUM>.

Note that the information that can be obtained by the processing unit <NUM> from the network <NUM> is not limited to the example described above.

For example, the processing unit <NUM> may further make it possible to obtain, from the network <NUM>, a "program (computer program) for causing a set process to be automatically executed in a case where a set condition is satisfied" in addition to one or both of the control information and the information for specifying the control information. As described with reference to <FIG>, for example, the processing unit <NUM> registers the "program for causing a set process to be automatically executed in a case where a set condition is satisfied" in the P2P database, thereby making it possible to obtain the program from the network <NUM>.

With the "program for causing a set process to be automatically executed in a case where a set condition is satisfied" being registered in the P2P database, in the shared system <NUM>, a predetermined process is automatically executed in a case where a condition is satisfied on the basis of the program.

Therefore, with the processing unit <NUM> registering the "program for causing a set process to be automatically executed in a case where a set condition is satisfied" in the P2P database, an automatic contract mechanism called a smart contract is implemented in the shared system <NUM>. Furthermore, the "program for causing a set process to be automatically executed in a case where a set condition is satisfied" corresponds to an agent program for implementing a smart contract.

Furthermore, the processing unit <NUM> may further make it possible to obtain, from the network <NUM>, metadata of the control information, for example, in addition to one or both of the control information and the information for specifying the control information.

Examples of the metadata of the control information include data with any contents related to the control information, such as data indicating the following contents.

Note that, it is needless to say that the contents indicated by the metadata of the control information are not limited to the examples mentioned above. Furthermore, the usage indicated by the metadata of the control information may be classified in a more detailed manner than the examples mentioned above, such as for autonomous driving on a snowy road, for autonomous driving in XX area, and for autonomous driving from a point YY to a point ZZ.

As described with reference to <FIG>, for example, the processing unit <NUM> registers the metadata of the control information in the P2P database, thereby making it possible to obtain the metadata of the control information from the network <NUM>. The P2P database in which the metadata is registered may be the same as or different from the P2P database in which one or both of the control information and the information for specifying the control information are registered.

With the metadata of the control information being registered in the P2P database, for example, an effect such as "it becomes easier for the processing device <NUM> to obtain desired control information" is exerted in the shared system <NUM>.

The control unit <NUM> makes it possible to obtain one or both of the control information and the information for specifying the control information from the network <NUM> by including the processing unit <NUM>, for example. Furthermore, the control unit <NUM> can further make it possible to obtain, from the network <NUM>, one or both of the "program for causing a set process to be automatically executed in a case where a set condition is satisfied" and the metadata of the control information by including the processing unit <NUM>, for example.

Note that the configuration of the control unit <NUM> is not limited to the example illustrated in <FIG>.

For example, the control unit <NUM> can have a configuration corresponding to how the process (process associated with the method for processing information in the providing device <NUM>) to be performed in the providing device <NUM> is split.

The providing device <NUM> makes it possible to obtain at least one or both of the control information and the information for specifying the control information from the network <NUM> on the basis of, for example, the configuration illustrated in <FIG>.

As described above, a device included in the shared system <NUM> can obtain the control information through the network <NUM> by obtaining one or both of the control information and the information for specifying the configuration through the network <NUM>. Furthermore, as described above, in the device that has obtained the control information in the shared system <NUM>, the artificial intelligence functions on the basis of the control information, and a predetermined process is executed on the basis of the artificial intelligence.

Therefore, in the shared system <NUM> including the providing device <NUM>, ability of the artificial intelligence is shared on the basis of information (e.g., one or both of the control information and the information for specifying the control information) distributed through the network <NUM>, thereby implementing sharing of the ability through the network <NUM>.

Furthermore, with the configuration illustrated in <FIG>, for example, the providing device <NUM> can exert the effect to be exerted by the process (process associated with the method for processing information in the providing device <NUM>) performed in the providing device <NUM> as described above.

Note that the configuration of the providing device according to the present embodiment is not limited to the configuration illustrated in <FIG>.

For example, the providing device according to the present embodiment can include the processing unit <NUM> illustrated in <FIG> separately from the control unit <NUM> (e.g., the processing unit <NUM> can be implemented by another processing circuit).

Furthermore, in the case of communicating with an external device via an external communication device having a function and a configuration similar to those of the communication unit <NUM>, for example, the providing device according to the present embodiment may not include the communication unit <NUM>.

Although the providing device has been described above as a component of the shared system according to the present embodiment, the present embodiment is not limited to such a form. The providing device according to the present embodiment can be applied to any device capable of performing the process (process associated with the method for processing information in the providing device <NUM>) performed in the providing device <NUM> described above, such as a "computer such as a personal computer (PC) and a server", a "tablet device", and a "game machine". Furthermore, the providing device according to the present embodiment can be applied to a device that functions as a processing device <NUM> to be described later. Moreover, the providing device according to the present embodiment can be applied to an IC that can be incorporated into a device as described above, for example.

Furthermore, the providing device according to the present embodiment may be applied to a processing system assumed to be subject to network connection (or communication between devices), such as cloud computing. Examples of the processing system mentioned above include a "system in which one device included in the processing system processes a part of the process (process associated with the method for processing information in the providing device <NUM>) performed in the providing device <NUM>, and another device included in the processing system processes the process other than the part of the process performed in the providing device <NUM>".

The processing device <NUM> is a device capable of performing processing using artificial intelligence. In the processing device <NUM>, for example, the artificial intelligence functions on the basis of the control information obtained through the network <NUM>. That is, ability of the artificial intelligence in the processing device <NUM> can vary depending on the obtained control information.

Hereinafter, a process in the processing device <NUM> will be described as well as an exemplary configuration of the processing device <NUM>.

<FIG> is a block diagram illustrating an exemplary configuration of the processing device <NUM> according to the present embodiment. The processing device <NUM> includes, for example, a communication unit <NUM>, and a control unit <NUM>.

Furthermore, the processing device <NUM> may include, for example, a ROM (not illustrated), a RAM (not illustrated), a storage (not illustrated), an operation unit (not illustrated) capable of being operated by a user of the processing device <NUM>, a display (not illustrated) that displays various screens on a display screen, and the like. The processing device <NUM> connects the respective components mentioned above using, for example, a bus serving as a data transmission path. Furthermore, the processing device <NUM> is driven by, for example, power supplied from an internal power supply included in the processing device <NUM>, such as a battery, or power supplied from a connected external power supply.

The storage (not illustrated) is a storage means included in the processing device <NUM>, and stores, for example, various kinds of data including data associated with the method for processing information according to the present embodiment, such as the P2P database, various applications, and the like. Here, examples of the storage (not illustrated) include a magnetic recording medium, such as a hard disk, and a non-volatile memory, such as a flash memory. Furthermore, the storage (not illustrated) may be detachable from the processing device <NUM>. Note that the processing device <NUM> may not include the storage (not illustrated), and various kinds of data of the P2P database or the like may be stored in a recording medium outside the processing device <NUM>.

Examples of the operation unit (not illustrated) include the operation input device <NUM> described with reference to <FIG>. Furthermore, examples of the display (not illustrated) include the display device <NUM> described with reference to <FIG>. Note that the processing device <NUM> may not include one or both of the operation unit (not illustrated) and the display (not illustrated).

The processing device <NUM> has a hardware configuration (including variations) similar to that of the providing device <NUM> illustrated in <FIG>, for example.

Note that the hardware configuration of the processing device <NUM> according to the present embodiment is not limited to the hardware configuration similar to that of the providing device <NUM> illustrated in <FIG>. For example, the processing device <NUM> can take a configuration corresponding to exemplary application of the processing device <NUM> to be described later.

An exemplary configuration of the processing device <NUM> will be described with reference to <FIG> again. The communication unit <NUM> is a communication means included in the processing device <NUM>, and performs wireless or wired communication with devices included in the shared system <NUM>, such as the providing device <NUM> and other processing devices <NUM>. Furthermore, the communication unit <NUM> is also capable of performing wireless or wired communication with a device other than the devices included in the shared system <NUM>. Communication in the communication unit <NUM> is controlled by, for example, the control unit <NUM>.

The control unit <NUM> includes, for example, an MPU or the like, and functions to control the entire processing device <NUM>. Furthermore, the control unit <NUM> includes, for example, an acquisition unit <NUM> and a processing unit <NUM>, and functions to lead a process associated with a method for processing information in the processing device <NUM>.

The acquisition unit <NUM> obtains one or both of the control information and the information for specifying the control information from the network <NUM> that is a distributed network, thereby obtaining the control information.

As described with reference to <FIG>, for example, the acquisition unit <NUM> obtains one or both of the control information and the information for specifying the control information from the P2P database.

For example, in a case where the information for specifying the control information is obtained from the P2P database, the acquisition unit <NUM> obtains, from an external device, the control information specified by the information for specifying the control information. As described above, for example, the acquisition unit <NUM> accesses the URL specified on the basis of the information for specifying the control information to obtain the control information specified by the information for specifying the control information from the external device. For example, the acquisition unit <NUM> refers to the information for specifying the control information (an exemplary case where the information for specifying the control information is data directly indicating the acquisition source of the control information) or conducts a web search for the keyword indicated by the information for specifying the control information (an exemplary case where the information for specifying the control information is data indirectly indicating the acquisition source of the control information), thereby specifying the URL.

Furthermore, in a case where the control information is obtained from an external device on the basis of the information for specifying the control information, the acquisition unit <NUM> may verify the validity of the control information obtained from the external device. For example, the acquisition unit <NUM> performs an optional process capable of verifying the validity of the control information obtained from the external device, such as comparison of checksums and hash values, thereby verifying the validity of the control information obtained from the external device. In a case where the validity of the control information obtained from the external device is verified, information necessary for verifying the validity of the control information is registered in the P2P database, for example, as described above.

Here, for example, the acquisition unit <NUM> may obtain, from the P2P database, one or both of the control information satisfying an acquisition condition and information for specifying the control information satisfying the acquisition condition. Examples of the acquisition condition include, as listed below, a condition corresponding to the metadata of the control information described above. Note that it is needless to say that the example of the acquisition condition is not limited to the examples listed below.

The acquisition unit <NUM> searches the P2P database with a set acquisition condition, thereby obtaining one or both of the information for specifying the control information satisfying the acquisition condition from the P2P database. The acquisition condition is set by, for example, operation performed on a display screen of the display (not illustrated) included in the processing device <NUM>, or operation performed on a user interface (UI) screen displayed on a display screen of a display device outside the processing device <NUM>. A part or all of the setting of the acquisition condition may be automatically performed by the artificial intelligence on the basis of a predetermined trigger, such as an operation to start acquisition of the control information.

The processing unit <NUM> executes a predetermined process using artificial intelligence. Contents of the process performed by the artificial intelligence and processing ability of the artificial intelligence can change on the basis of the control information obtained by the acquisition unit <NUM>. Accordingly, in a case where the acquisition unit <NUM> obtains the control information satisfying the acquisition condition, a process corresponding to the set acquisition condition is performed in the processing device <NUM>, whereby the processing device <NUM> can demonstrate ability corresponding to the set acquisition condition.

Note that the process performed in the processing unit <NUM> is not limited to the example described above.

For example, the processing unit <NUM> may register, in the P2P database, information indicating a state after the artificial intelligence executes the predetermined process. As described with reference to <FIG>, for example, the processing unit <NUM> registers, in the P2P database, the information indicating a state after execution of the predetermined process.

For example, the processing unit <NUM> executes the "program for causing a set process to be automatically executed in a case where a set condition is satisfied" registered in the P2P database, thereby registering the information indicating a state after execution of the predetermined process in the P2P database. Registration of the information indicating a state after execution of the predetermined process in the P2P database, which is implemented by execution of the "program for causing a set process to be automatically executed in a case where a set condition is satisfied" registered in the P2P database, corresponds to automatic implementation of a contract based on a smart contract.

Furthermore, in a case where the "program for causing a set process to be automatically executed in a case where a set condition is satisfied" is executed, the processing unit <NUM> may register the history of the execution of the program in the P2P database. With the history of the execution of the "program for causing a set process to be automatically executed in a case where a set condition is satisfied" being registered in the P2P database, the implementation history of the smart contract is recorded in the P2P database, thereby ensuring the validity of the automatic contract.

Examples of the information indicating a state after the artificial intelligence executes the predetermined process include "data associated with an accident indicating a type of an error caused by the execution of the predetermined process, time of occurrence of the error, and the like", and "data associated with an incident". For example, the data associated with an accident or the data associated with an incident is registered in the P2P database as the information indicating a state after execution of the predetermined process, whereby quality of the information (e.g., one or both of the control information and the information for specifying the control information) distributed through the network <NUM> is improved in the shared system <NUM>. Note that the information indicating a state after the artificial intelligence executes the predetermined process may be registered in a P2P database different from that of the control information of the artificial intelligence. In that case, the P2P database in which the control information is registered retains information indicating the P2P database in which the information indicating a state after the artificial intelligence executes the predetermined process is registered.

Note that the contents of the information indicating a state after execution of the predetermined process, a condition for registering the information indicating a state after execution of the predetermined process in the P2P database, and the like can vary depending on the "program for causing a set process to be automatically executed in a case where a set condition is satisfied" registered in the P2P database.

Furthermore, the process executed by the "program for causing a set process to be automatically executed in a case where a set condition is satisfied" registered in the P2P database is not limited to the process of registering the information indicating a state after execution of the predetermined process in the P2P database. For example, the processing device <NUM> can perform an optional process set in the "program for causing a set process to be automatically executed in a case where a set condition is satisfied" after the condition set in the processing device is satisfied.

The control unit <NUM> causes the artificial intelligence to function on the basis of the control information obtained through the network <NUM> to execute a predetermined process by including the acquisition unit <NUM> and the processing unit <NUM>, for example.

For example, the control unit <NUM> can have a configuration corresponding to how the process (process associated with the method for processing information in the processing device <NUM>) to be performed in the processing device <NUM> is split.

With the configuration illustrated in <FIG>, for example, the processing device <NUM> causes the artificial intelligence to function on the basis of the control information obtained through the network <NUM> to execute the predetermined process.

Here, the ability of the artificial intelligence in the processing device <NUM> can vary depending on the control information obtained through the network <NUM>.

Therefore, in the shared system <NUM> including the processing device <NUM>, sharing of ability through the network <NUM> can be implemented.

Furthermore, with the configuration illustrated in <FIG>, for example, the processing device <NUM> can exert the effect to be exerted by the process (process associated with the method for processing information in the processing device <NUM>) performed in the processing device <NUM> as described above.

Note that the configuration of the processing device according to the present embodiment is not limited to the configuration illustrated in <FIG>.

For example, the processing device according to the present embodiment can include one or both of the acquisition unit <NUM> and the processing unit <NUM> illustrated in <FIG> separately from the control unit <NUM> (e.g., one or both of the acquisition unit <NUM> and the processing unit <NUM> can be implemented by a separate processing circuit).

Furthermore, in the case of communicating with an external device via an external communication device having a function and a configuration similar to those of the communication unit <NUM>, for example, the processing device according to the present embodiment may not include the communication unit <NUM>.

Although the processing device has been described above as a component of the shared system according to the present embodiment, the present embodiment is not limited to such a form. The processing device according to the present embodiment can be applied to any device capable of performing a process based on artificial intelligence, such as a "computer such as a PC and a server", a "tablet device", a "game machine", "any mobile object such as an automobile", "any robot such as a manipulator and an autonomous mobile robot", and a "drone (machine capable of performing operation based on remote control or autonomous operation)". Furthermore, the processing device according to the present embodiment can be applied to a device that functions as the providing device <NUM> described above. Moreover, the processing device according to the present embodiment can be applied to an IC that can be incorporated into a device as described above, for example.

A program for causing a computer system to function as a providing device according to the present embodiment (e.g., program capable of implementing the function of the processing unit <NUM>) is executed by a processor or the like in the computer system, whereby sharing of ability through the network can be implemented. Here, examples of the computer system according to the present embodiment include a single computer and multiple computers. A series of processing is performed by the computer system according to the present embodiment.

Furthermore, the program for causing a computer system to function as a providing device according to the present embodiment is executed by a processor or the like in the computer system, whereby the effect exerted by the process associated with the method for processing information in the providing device according to the present embodiment described above can be exerted.

The program for causing a computer system to function as a processing device according to the present embodiment (e.g., program capable of implementing the function of the acquisition unit <NUM> and the function of the processing unit <NUM>) is executed by a processor or the like in the computer system, whereby sharing of ability through the network can be implemented.

Furthermore, the program for causing a computer system to function as a processing device according to the present embodiment is executed by a processor or the like in the computer system, whereby the effect exerted by the process associated with the method for processing information in the processing device according to the present embodiment described above can be exerted.

Although the preferred embodiment of the present disclosure has been described in detail with reference to the accompanying drawings, the technical scope of the present disclosure is not limited to such examples. It is obvious that those skilled in the art in the technical field of the present disclosure may find various alterations and modifications within the technical ideas of the appended claims.

For example, although the "shared system <NUM> in which ability is shared through the network on the basis of information registered in the P2P database" has been described above, the shared system according to the present embodiment is not limited to the example described above. For example, the shared system according to the present embodiment may be a centralized system, such as a server-client system. Examples of a case where the shared system according to the present embodiment is a centralized system include a system in which a device that functions as a server manages various kinds of information including at least one or both of the control information and the information for specifying the control information, and a device that functions as a client obtains the various kinds of information from the device that functions as a server. Even in the case of the centralized system as described above, sharing of ability through the network can be implemented by the device functioning as a client causing the artificial intelligence to function on the basis of the obtained control information and executing a predetermined process.

Furthermore, while the foregoing has described that the program (computer program) for causing the computer system to function as a providing device according to the present embodiment and the program (computer program) for causing the computer system to function as a processing device according to the present embodiment are provided, the present embodiment can also provide a recording medium storing each of the programs described above, or a recording medium storing both of the programs described above.

Claim 1:
A system for sharing an artificial intelligence computer program through a P2P network (<NUM>), the system comprising one or more providing devices (<NUM>) and one or more processing devices (<NUM>) included in the P2P network,
a providing device (<NUM>) comprising a processing unit (<NUM>) configured to
register control information and information for specifying the control information in blockchain data of a P2P database of the P2P network (<NUM>); to thereby provide for acquisition by a processing device (<NUM>) of the control information and the information for specifying the control information from the blockchain data,
wherein the artificial intelligence computer program is configured to function on the basis of the control information, and
the processing device (<NUM>) is configured to perform processing using the artificial intelligence computer program on the basis of the control information, wherein the control information is learned data of the artificial intelligence computer program.