WO2019193820A1 - 情報処理装置、情報処理方法、およびプログラム - Google Patents
情報処理装置、情報処理方法、およびプログラム Download PDFInfo
- Publication number
- WO2019193820A1 WO2019193820A1 PCT/JP2019/002741 JP2019002741W WO2019193820A1 WO 2019193820 A1 WO2019193820 A1 WO 2019193820A1 JP 2019002741 W JP2019002741 W JP 2019002741W WO 2019193820 A1 WO2019193820 A1 WO 2019193820A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- database
- access
- data
- information processing
- history information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Definitions
- the present disclosure relates to an information processing apparatus, an information processing method, and a program.
- the present disclosure has been made in view of the above circumstances, and provides a new and improved information processing apparatus, information processing method, and program capable of appropriately controlling access to a peer-to-peer database. To do.
- an information processing apparatus including an access control unit that controls new access to the P2P database by the subject based on history information regarding access to the P2P database by an arbitrary subject.
- a computer-executed information processing method comprising controlling new access to the P2P database by the subject based on history information regarding access to the P2P database by an arbitrary subject Is provided.
- a distributed peer-to-peer database distributed in a peer-to-peer network is used.
- the peer-to-peer network may be called a peer-to-peer distributed file system.
- the peer-to-peer network may be referred to as “P2P network” and the peer-to-peer database may be referred to as “P2P database”.
- An example of the P2P database is block chain data distributed in the P2P network. Therefore, first, an outline of the block chain system will be described as an example.
- block chain data is data in which a plurality of blocks are included in a chain.
- one or more target data can be stored as a transaction.
- Block block data includes, for example, block chain data used for exchanging virtual currency data such as Bitcoin.
- the block chain data used for exchanging virtual currency data includes, for example, a hash of the immediately preceding block and a value called nonce.
- the hash of the immediately preceding block is information used to determine whether or not the block is a “correct block” that is correctly connected to the immediately preceding block.
- the nonce is information used for preventing spoofing in authentication using a hash, and tampering is prevented by using the nonce.
- the nonce includes, for example, a character string, a numeric string, or data indicating a combination thereof.
- FIG. 2 is a diagram illustrating a state in which target data is registered by the user A in the block chain system.
- User A attaches an electronic signature generated using the private key of user A to the target data registered in the block chain data. Then, user A broadcasts a transaction including target data to which an electronic signature is attached on the P2P network. This ensures that the owner of the target data is the user A.
- FIG. 3 is a diagram illustrating a state in which target data is transferred from the user A to the user B in the block chain system.
- User A attaches an electronic signature generated using User A's private key to the transaction, and includes User B's public key in the transaction. This indicates that the target data has been transferred from the user A to the user B.
- the user B may acquire the public key of the user A from the user A at the time of transaction of the target data, and may acquire the target data with an electronic signature attached or encrypted.
- the P2P database can prevent the registration data from being falsified and the like, and can store the registration data with high reliability by the mutual monitoring effect of the nodes by a plurality of operators.
- access to the P2P database may not be appropriately controlled.
- the number of times of access to the P2P database including registration of data in the P2P database and acquisition of data from the P2P database cannot be appropriately limited.
- the registration data cannot be deleted basically in the P2P database, if a certain user registers a large amount of data, the resources of the P2P database may be compressed and other users may not be able to register the data.
- the registration method in which data registration in the P2P database is performed after consensus (agreement) is formed between a plurality of node devices it takes a longer time to register data than in a general relational database. Therefore, when a certain user requests registration of a large amount of data, there is a possibility that other users cannot register data.
- the present disclosure person has created the technology according to the present disclosure in view of the above circumstances.
- the present disclosure can control new access to a P2P database by the subject based on history information regarding access to the P2P database by an arbitrary subject.
- the present disclosure will be described in detail.
- the information processing system includes a plurality of node devices 100 (node devices 100a to 100d in the drawing) and a client device 200.
- the plurality of node devices 100 are connected to the P2P network 300, respectively.
- one of the plurality of node devices 100 (the node device 100a in the figure) and the client device 200 are connected by a network 400.
- the node device 100 is an information processing device that is connected to the P2P network 300 and holds a P2P database.
- the node device 100 can control new access to the P2P database by the subject based on the history information regarding the access to the P2P database by any subject. For example, the node device 100 can determine whether or not a new access to the P2P database is possible based on the history information.
- arbitrary subject is used for a user (for example, a user who uses the information processing system), a group (for example, an organization or an organization) composed of a plurality of users, a user, and the like. It is assumed that the client device 200, an external device other than the client device 200, a system constituted by a plurality of external devices (or client devices 200), or software used by the external device (or client device 200) is used. However, it is not limited to these.
- the “arbitrary subject” may include a tangible or intangible object that can perform some processing on the P2P database.
- a case where the “arbitrary subject” is a user who uses the client device 200 will be mainly described as an example.
- access to the P2P database is assumed to be either registration of data in the P2P database or acquisition of data from the P2P database, but is not limited thereto. More specifically, “access to the P2P database” may include some processing performed on the P2P database.
- “History information regarding access to the P2P database” refers to the total number of accesses to the P2P database that have been performed in the past, and the total number of accesses to the P2P database in a period of a predetermined length (for example, one day). Frequency of access), the total size of data registered in the P2P database in the past (or data acquired from the P2P database in the past), or registered in the P2P database in a predetermined length period (for example, one day) Although it is assumed that it is one of the total size of data (or the total size of data acquired from the P2P database in a period of a predetermined length), it is not limited to these.
- “history information regarding access to the P2P database” is also referred to as “access history information”.
- the node device 100 accesses the P2P database (that is, when acquiring or registering data)
- the node device 100 is basically provided in the P2P database and executed on the P2P database.
- a predetermined program hereinafter referred to as “P2P database program” for convenience
- P2P database program for convenience
- various processes including virtual currency transactions such as Bitcoin are realized according to predetermined rules.
- the risk of unauthorized modification of the program is reduced.
- the P2P database program is a chain code in Hyperledger, but is not limited to this.
- a P2P database program may refer to a smart contract.
- the node device 100 may implement access to the P2P database using a program other than the P2P database program as appropriate.
- each node device 100 may have different functions.
- a node device 100 that approves registration of data in the P2P database for example, Endorsing Peer
- a node device 100 that instructs registration to each node device 100 after approval for example, Ordering Peer
- a node device 100 for registering data for example, Committing Peer
- the processing content of the node device 100 described above can be changed as appropriate. Further, the content of data registered in the P2P database included in the node device 100 is not particularly limited. Further, the type of the node device 100 is not particularly limited. For example, the node device 100 is a general-purpose computer, PC (Personal Computer), or any device including a tablet PC or the like.
- PC Personal Computer
- the client device 200 is an information processing device used by a user who requests the node device 100 to access the P2P database. For example, the user performs an input operation for requesting registration of data in the P2P database or acquisition of data from the P2P database to the client device 200. Then, the client device 200 generates a request signal based on the input operation, and transmits the signal to the node device 100, thereby realizing registration of data in the P2P database or acquisition of data from the P2P database. .
- the client apparatus 200 when the client apparatus 200 receives information related to the processing result based on the request (hereinafter also referred to as “request result information” for convenience) from the node apparatus 100, the client apparatus 200 can provide the information to the user. More specifically, the client device 200 includes an output unit that functions as a user interface (for example, a display device such as a display, a sound output device such as a speaker, a light source device such as a lamp, or a tactile sense presentation device such as an actuator). The request result information can be provided to the user.
- a user interface for example, a display device such as a display, a sound output device such as a speaker, a light source device such as a lamp, or a tactile sense presentation device such as an actuator.
- the processing content of the client device 200 described above can be changed as appropriate.
- the type of the client device 200 is not particularly limited.
- the client device 200 may be replaced with an arbitrary external device (for example, a server device) that can communicate with the node device 100.
- the P2P network 300 is a network in which a P2P database is distributed. As described above, each node device 100 can update the P2P database while maintaining consistency with the P2P database held by other node devices 100 by connecting to the P2P network 300.
- the type of the P2P network 300 is not particularly limited.
- the P2P network 300 may be any of a consortium type operated by a plurality of organizations, a private type operated by a single organization, or a public type that does not specifically limit participants.
- the communication method used for the P2P network 300, the type of line, and the like are not particularly limited.
- the P2P network 300 may be realized by a dedicated line network such as an IP-VPN (Internet Protocol-Virtual Private Network).
- the P2P network 300 may be realized by a public line network such as the Internet, a telephone line network, and a satellite communication network.
- the P2P network 300 may be realized by various types of LAN (Local Area Network) including Ethernet (registered trademark), WAN (Wide Area Network), and the like.
- the P2P network 300 may be realized by a wireless communication network such as Wi-Fi (registered trademark) or Bluetooth (registered trademark).
- the network 400 is a network that connects the node device 100 and the client device 200.
- the communication method used for the network 400, the type of line, and the like are not particularly limited.
- the configuration example of the information processing system according to the present embodiment has been described above.
- the above configuration described with reference to FIG. 4 is merely an example, and the configuration of the information processing system according to the present embodiment is not limited to the example.
- all or part of the functions of the node device 100 may be provided in the client device 200. More specifically, software that provides all or part of the functions of the node device 100 may be executed on the client device 200. Conversely, all or part of the functions of the client device 200 may be provided in the node device 100.
- the number of each apparatus which comprises an information processing system may be changed suitably. Further, the contents of services that can be provided by the information processing system according to the present embodiment are not particularly limited.
- the configuration of the information processing system according to the present embodiment can be flexibly modified according to specifications and operations.
- the node device 100 includes a control unit 110, a P2P database 120, and a communication unit 130.
- the control unit 110 has a functional configuration that comprehensively controls the overall processing performed by the node device 100.
- the control unit 110 can control activation and stop of the output unit (not shown), the communication unit 130, and the like using the control signal.
- the control unit 110 obtains a response signal including request result information on access to the P2P database 120 (in the case where the content of the request from the client device 200 is acquisition of data from the P2P database 120) The received data is also included in the response signal), and the signal is transmitted to the client device 200 via the communication unit 130.
- the control content of the control part 110 is not limited to these.
- the control unit 110 may control processing generally performed in various servers, general-purpose computers, PCs, tablet PCs, and the like.
- the P2P database 120 is a database held in the node device 100, and is, for example, block chain data. As described above, higher-priority data that requires guarantee of authenticity is registered in the P2P database 120. Various data registered in the P2P database 120 may be given an electronic signature generated using an encryption key, or may be encrypted using an encryption key. As described above, the content of data registered in the P2P database 120 is not particularly limited. For example, when charging is performed when registering data in the P2P database 120 or acquiring data from the P2P database 120, the P2P database 120 includes assets owned by each user (for example, coins in Bitcoin). The data regarding may be registered. As shown in FIG. 5, the P2P database 120 includes a P2P database program 121.
- the P2P database program 121 is a predetermined program provided in the P2P database 120 and executed on the P2P database 120. As described above, by using the P2P database program 121, for example, various processes including virtual currency transactions such as Bitcoin are realized while maintaining consistency according to a predetermined rule. Further, the provision of the P2P database program 121 in the P2P database 120 reduces the risk of unauthorized modification of the program. Further, as described above, the P2P database program 121 may be a chain code in a hyperledger, but may be a smart contract.
- the P2P database program 121 can realize all processes performed on the P2P database 120.
- the P2P database program 121 includes a history acquisition unit 121a and an access control unit 121b. By controlling these, the overall processing related to access to the P2P database 120 can be realized. it can.
- the processing realized by the P2P database program 121 is not limited to this.
- the development language of the P2P database program 121 or the number of P2P database programs 121 provided on the P2P database 120 is not particularly limited.
- the history acquisition unit 121a has a functional configuration for acquiring access history information used for controlling access to the P2P database 120. More specifically, each time when a request signal for requesting access to the P2P database 120 from the client device 200 is received, the history acquisition unit 121a accesses the P2P database 120 performed by the user in the past. Aggregate access history information about access. For example, the history acquisition unit 121a may store data registered by the user in the past from data registered in the P2P database 120 based on the identification information (for example, user ID or public key information) of the user. Is extracted, and the total number of registrations is output by counting the number of registrations.
- identification information for example, user ID or public key information
- history information (access history information) relating to each of a plurality of accesses to the P2P database 120 performed in the past is also referred to as “first history information”, and is obtained by aggregating the first history information.
- the access history information is also referred to as “second history information”. That is, the history acquisition unit 121a according to the present embodiment extracts first history information based on data registered in the P2P database 120 each time a request signal from the client device 200 is received, The second history information is output using the history information.
- the second history information includes the total number of accesses to the P2P database 120 performed in the past, and the total number of accesses to the P2P database 120 in a predetermined length period (for example, one day) (or Frequency of access), the total size of data registered in the P2P database 120 in the past (or data acquired from the P2P database 120 in the past), or the P2P database 120 in a predetermined length period (for example, one day). Although it is assumed that it is one of the total sizes of registered data (or the total size of data acquired from the P2P database 120 in a period of a predetermined length), it is not limited to these.
- the history acquisition unit 121a extracts the first history information based on the data registered in the P2P database 120.
- the method of extracting the first history information is not limited to this.
- the history acquisition unit 121a acquires the first history information from the storage unit, the external device, or the like. Also good.
- the history acquisition unit 121a provides the output second history information to the access control unit 121b, so that the access control unit 121b uses the second history information to make a new access to the P2P database 120 by the user. Allows you to control.
- the history acquisition unit 121a may provide the first history information to the access control unit 121b.
- the access control unit 121b is a functional configuration that controls new access to the P2P database 120 based on the access history information. For example, the access control unit 121b determines whether or not a new access to the P2P database 120 is possible based on the access history information.
- the access control unit 121b receives the second history information provided from the history acquisition unit 121a and the predetermined history information. It is determined whether or not a new access to the P2P database 120 is possible, for example, by comparing with a threshold value of. For example, the access control unit 121b compares the total number of accesses to the P2P database 120 in a predetermined length period (for example, one day), which is the second history information, with a predetermined threshold value. Access exceeding the threshold can be prohibited.
- the access control unit 121b determines whether the P2P database 120 has a P2P database 120 according to the type of data to be accessed (data registration, data acquisition, etc.) or the type of the user (or subject) performing the access. New access to the database 120 may be controlled (in other words, the access control unit 121b may change the control logic for new access to the P2P database 120 according to the type of data or the type of user). Good).
- the “data type” is assumed to be the category, contents, usage, or data acquisition device of the data to be accessed to the P2P database 120, but is not necessarily limited thereto.
- the “data type” includes some meta information related to data.
- the access control unit 121b may set different registration counts for data whose category is “temperature data” and data whose data is “pulse data”.
- the access control unit 121b may set different values for the number of registrations for the data acquired by the device A and the data acquired by the device B, for example.
- the “type of user (subject)” refers to the authority (for example, administrator authority, premium user authority, general user authority, etc.) that the user (subject) requesting access to the P2P database 120 has, role (E.g., contributors, readers, teachers, students, etc.), attributes (e.g., age, gender, or occupation), or evaluations of users (e.g., grades, etc.) It is not limited to these.
- “type of user (subject)” includes some meta information related to the user (subject). Accordingly, for example, the access control unit 121b may set different values for the number of registrations between data from a user having “premium user authority” and data from a user having “general user authority”. As described above, the access control unit 121b can more precisely control access to the P2P database 120.
- the method of access control by the access control unit 121b is not limited to the above, and the access control unit 121b can perform access control to the P2P database 120 using various control logics.
- the access control unit 121b may change the control logic for access control based on the access status to the P2P database 120. More specifically, the access control unit 121b recognizes the congestion status of the access to the P2P database 120 by a predetermined method, and changes the control logic so that the access is more restricted as the number of accesses increases. Good (for example, changing the predetermined threshold described above).
- the access control unit 121b may perform access control to the P2P database 120 using the first history information (that is, the access history information before aggregation) instead of the second history information.
- the access control unit 121b may realize all or part of the processing related to access control to the P2P database 120 using a known machine learning technique or artificial intelligence.
- the communication unit 130 has a functional configuration that performs various types of communication with the client device 200. For example, the communication unit 130 receives a request signal for requesting registration of data in the P2P database 120 from the client device 200 and transmits a response signal including request result information and the like to the client device 200. Further, the communication unit 130 receives a request signal for requesting acquisition of data from the P2P database 120 from the client apparatus 200, and transmits a response signal including data acquired from the P2P database 120, request result information, and the like to the client apparatus 200. Send to.
- the communication unit 130 performs various communications with the node device 100.
- the communication unit 130 appropriately transmits / receives information used for updating the P2P database 120 (for example, information used for consensus building) in communication with other node devices 100.
- the data which the communication part 130 communicates, and the case where it communicates are not limited to these.
- the functional configuration example of the node device 100 has been described above. Note that the functional configuration described above with reference to FIG. 5 is merely an example, and the functional configuration of the node device 100 is not limited to the example. For example, the node device 100 does not necessarily have all the configurations illustrated in FIG. Further, the plurality of node devices 100 connected to the P2P network 300 may have different functional configurations. Further, the history acquisition unit 121 a or the access control unit 121 b described above may be provided in addition to the P2P database program 121. For example, the history acquisition unit 121a or the access control unit 121b may be provided in the control unit 110. Although not shown in FIG. 5, the node device 100 may separately include a storage unit other than the P2P database 120.
- the storage unit may be able to store a program used by each functional configuration of the node device 100, a parameter, or the like. Note that the content of the information stored in the storage unit is not limited to these.
- the functional configuration of the node device 100 can be flexibly modified according to specifications and operations.
- the client device 200 includes a control unit 210, an input unit 220, an output unit 230, a storage unit 240, and a communication unit 250.
- the control unit 210 has a functional configuration that comprehensively controls the overall processing performed by the client device 200.
- the control unit 210 can control activation and stop of the input unit 220, the output unit 230, the communication unit 250, and the like using the control signal.
- the control unit 210 generates a request signal for requesting access to the P2P database 120.
- the control unit 210 controls output of the information.
- the control content of the control part 210 is not limited to these.
- the control unit 210 may control processing generally performed in various servers, general-purpose computers, PCs, tablet PCs, and the like.
- the input unit 220 has a functional configuration that receives input from the user.
- the input unit 220 includes an input device such as a mouse, a keyboard, a touch panel, a button, a switch, or a microphone.
- the user uses these input devices to request access to the P2P database 120 or the like. Input operation can be performed.
- the user can create data for registration in the P2P database 120 by using these input devices.
- the input device with which the input part 220 is provided is not specifically limited.
- the output unit 230 is a functional configuration that outputs various information under the control of the control unit 210.
- the output unit 230 includes a display device such as a display, an audio output device such as a speaker, a light source device such as a lamp, or a tactile sense presentation device such as an actuator. Based on control by the control unit 210, the node device Request result information provided from 100 is output to the user. That is, the output unit 230 functions as a user interface.
- the output device with which the output part 230 is provided is not limited to these.
- the storage unit 240 has a functional configuration that stores various types of information.
- the storage unit 240 stores data to be registered in the P2P database 120, data acquired from the P2P database 120, request result information, and the like, and a program used by each functional configuration of the client device 200.
- parameters are stored. Note that the information stored in the storage unit 240 is not limited to these.
- the communication unit 250 has a functional configuration that performs various communications with the node device 100. For example, the communication unit 250 transmits a request signal for requesting registration of data in the P2P database 120 to the node device 100 and receives a response signal including request result information from the node device 100. Further, the communication unit 250 transmits a request signal for requesting acquisition of data from the P2P database 120 to the node device 100, and transmits a response signal including data acquired from the P2P database 120, request result information, and the like to the node device 100. Receive from. In addition, the data which the communication part 250 communicates, and the case where it communicates are not limited to these.
- the functional configuration example of the client device 200 has been described above. Note that the functional configuration described above with reference to FIG. 6 is merely an example, and the functional configuration of the client device 200 is not limited to the example. For example, the client device 200 may not necessarily include all of the configurations illustrated in FIG. In addition, the functional configuration of the client device 200 can be flexibly modified according to specifications and operations.
- FIG. 7 is a flowchart showing an example of processing related to access control performed when data is registered in the P2P database 120.
- step S1000 the communication unit 130 of the node device 100 receives a request signal for requesting registration of data in the P2P database 120 from the client device 200.
- the history acquisition unit 121a acquires access history information (second history information).
- step S1008 the access control unit 121b determines whether data registration in the P2P database 120 is possible based on the access history information. For example, the access control unit 121b compares the total number of data registrations in the P2P database 120 in a predetermined length period (for example, one day), which is access history information, with a predetermined threshold value, thereby creating new data. Judge whether registration is possible.
- step S1012 / Yes If it is determined that the data registration condition in the P2P database 120 is satisfied based on the access history information (step S1012 / Yes), the access control unit 121b registers the data in the P2P database 120 in step S1016. To do. In step S ⁇ b> 1020, the control unit 110 generates a response signal including request result information indicating that data registration has been successful, and transmits the signal to the client device 200 via the communication unit 130, thereby completing a series of processes. . If it is determined in step S1012 that the conditions for data registration in the P2P database 120 are not satisfied based on the access history information (step S1012 / No), the process proceeds to step S1020 without performing data registration. Then, the control unit 110 generates a response signal including request result information indicating that data registration has failed, and transmits the signal to the client device 200 via the communication unit 130.
- the node device 100 When a request signal from the client device 200 is received, the node device 100 according to the first embodiment of the present disclosure counts the accesses to the P2P database 120 that have been performed in the past each time the second request signal is received. History information was output. On the other hand, the node device 100 according to the second embodiment of the present disclosure outputs the second history information by counting the accesses to the P2P database 120 performed in the past in advance, and the second history information Is registered in the P2P database 120. When the node device 100 receives a request signal from the client device 200, the node device 100 controls new access to the P2P database 120 using the second history information output in advance and registered in the P2P database 120. To do. As a result, the node device 100 can reduce the time required from when the request signal from the client device 200 is received until access control to the P2P database 120 is performed (determination of whether access is possible).
- the P2P database program 121 of the node device 100 according to the present embodiment is newly provided with a history registration unit 121c as compared with the functional configuration according to the first embodiment.
- the history acquisition unit 121a tabulates history information (first history information) about access to the P2P database 120 performed in the past every time a request signal from the client device 200 is received. As a result, the second history information was output. On the other hand, the history acquisition unit 121a according to the present embodiment outputs the second history information in advance before receiving the request signal from the client device 200.
- the timing or trigger at which the history acquisition unit 121a outputs the second history information is not particularly limited.
- the history acquisition unit 121a may output the second history information when a previous access occurs by the same user (subject). More specifically, when an access to the P2P database 120 occurs, the history acquisition unit 121a may update the second history information output in the past in preparation for the next access. Moreover, the history acquisition unit 121a may output the second history information periodically. In addition, the history acquisition unit 121a may output the second history information with an input operation (instruction) from the administrator of the node device 100 as a trigger.
- the history acquisition unit 121a provides the output second history information to the history registration unit 121c.
- the history registration unit 121c has a functional configuration for registering the second history information in the P2P database 120. More specifically, when the second history information is provided from the history acquisition unit 121a, the history registration unit 121c registers the second history information in the P2P database 120. This ensures the authenticity of the second history information.
- the history registration unit 121c may not necessarily register the second history information in the P2P database 120 when the second history information is provided from the history acquisition unit 121a.
- the history registration unit 121c analyzes the second history information provided from the history acquisition unit 121a, thereby satisfying a condition that restricts new access to the P2P database 120 by the target user (subject). Only when it is determined, the second history information may be registered in the P2P database 120. As a result, the history registration unit 121c can prevent history information that does not affect the determination of whether to access the P2P database 120 from being registered in the P2P database 120.
- FIG. 9 is a flowchart illustrating an example of processing related to access control performed when data is registered in the P2P database 120.
- step S1100 the history acquisition unit 121a outputs access history information (second history information) by counting in advance access to the P2P database 120 performed in the past.
- step S1104 the history registration unit 121c registers the access history information in the P2P database 120.
- the history acquisition unit 121a obtains access history information in the P2P database 120 in step S1112. Get from.
- the access control unit 121b determines whether data registration in the P2P database 120 is possible based on the access history information.
- step S1120 If it is determined that the data registration condition in the P2P database 120 is satisfied based on the access history information (step S1120 / Yes), the access control unit 121b registers the data in the P2P database 120 in step S1124. To do.
- step S1128 the control unit 110 generates a response signal including request result information indicating that data registration has been successful, and transmits the signal to the client device 200 via the communication unit 130, whereby a series of processing ends. . If it is determined in step S1120 that the conditions for data registration in the P2P database 120 are not satisfied based on the access history information (step S1120 / No), the data registration is not performed and the process proceeds to step S1128. Then, the control unit 110 generates a response signal including request result information indicating that data registration has failed, and transmits the signal to the client device 200 via the communication unit 130.
- steps in the flowchart of FIG. 9 do not necessarily have to be processed in time series in the order described. That is, each step in the flowchart may be processed in an order different from the order described or may be processed in parallel.
- FIG. 10 is a block diagram illustrating an example of a hardware configuration of the node device 100 or the client device 200 according to the first embodiment or the second embodiment. These apparatuses can be implemented by the information processing apparatus 900 illustrated in FIG.
- the MPU 901 includes, for example, one or more processors configured by an arithmetic circuit such as an MPU, various processing circuits, and the like, and functions as the control unit 110 of the node device 100 or the control unit 210 of the client device 200. .
- these functional configurations may be configured by a dedicated (or general-purpose) circuit (for example, a processor separate from the MPU 901) capable of realizing the various processes described above.
- ROM 902 stores programs used by MPU 901, control data such as calculation parameters, and the like.
- the RAM 903 temporarily stores a program executed by the MPU 901, for example.
- the recording medium 904 functions as the P2P database 120 of the node device 100 or the storage unit 240 of the client device 200, and stores various data such as data related to information processing and various programs according to each embodiment.
- examples of the recording medium 904 include a magnetic recording medium such as a hard disk and a non-volatile memory such as a flash memory. Further, the recording medium 904 may be detachable from the information processing apparatus 900.
- the input / output interface 905 connects, for example, an operation input device 906 and a display device 907.
- examples of the input / output interface 905 include a USB (Universal Serial Bus) terminal, a DVI (Digital Visual Interface) terminal, an HDMI (High-Definition Multimedia Interface) (registered trademark) terminal, and various processing circuits. .
- the operation input device 906 is provided on the information processing apparatus 900, for example, and is connected to the input / output interface 905 inside the information processing apparatus 900.
- Examples of the operation input device 906 include a keyboard, a mouse, a keypad, a touch panel, a microphone, an operation button, a rotary selector such as a direction key or a jog dial, or a combination thereof.
- the operation input device 906 functions as the input unit 220 of the client device 200.
- the display device 907 is provided on the information processing apparatus 900, for example, and is connected to the input / output interface 905 inside the information processing apparatus 900.
- Examples of the display device 907 include a liquid crystal display (Liquid Crystal Display) and an organic EL display (Organic Electro-Luminescence Display).
- the display device 907 functions as the output unit 230 of the client device 200.
- the input / output interface 905 can be connected to an external device such as an external operation input device or an external display device of the information processing apparatus 900.
- the display device 907 may be a device capable of display and user operation, such as a touch panel.
- the communication interface 908 is a communication unit included in the information processing apparatus 900, and functions as the communication unit 130 of the node device 100 or the communication unit 250 of the client device 200. Further, the communication interface 908 may have a function of performing wireless or wired communication with an arbitrary external device such as a server via an arbitrary network (or directly).
- examples of the communication interface 908 include a communication antenna and an RF (Radio Frequency) circuit (wireless communication), an IEEE 802.15.1 port and a transmission / reception circuit (wireless communication), an IEEE 802.11 port and a transmission / reception circuit (wireless communication). ), Or a LAN (Local Area Network) terminal and a transmission / reception circuit (wired communication).
- the hardware configuration of the information processing apparatus 900 is not limited to the configuration shown in FIG.
- the information processing apparatus 900 may not include the communication interface 908 when performing communication via a connected external communication device.
- the communication interface 908 may be configured to be able to perform communication using a plurality of communication methods.
- the information processing apparatus 900 may not include the operation input device 906 or the display device 907, for example.
- a part or all of the configuration shown in FIG. 10 may be realized by one or two or more ICs (Integrated Circuits).
- the node device 100 controls access to the P2P database 120 by the user (that is, the subject) based on the access history information.
- the user that is, the subject
- the access history information that is, the access history information
- a user who is not permitted to access the P2P database 120 obtains approval from the administrator of the node device 100 (or information processing system) by a predetermined method. Access to the P2P database 120 may be permitted.
- the client device 200 includes permission information provided by the administrator in the request signal, so that the node device 100 permits access to the P2P database 120 based on the permission information.
- a user who is not permitted to access the P2P database 120 may be permitted to access the P2P database 120 by paying a predetermined fee.
- the payment of the predetermined fee may be realized by data relating to the user's assets (for example, coins in Bitcoin) managed by the P2P database 120.
- flag information indicating that access to the P2P database 120 is important and urgent may be provided. More specifically, a user who is not permitted to access the P2P database 120 may be permitted to access the P2P database 120 exceptionally by including the flag information in the request signal. For example, this method is considered to be useful in the event of a life-threatening event or disaster.
- the node device 100 determines the accessible conditions (for example, accessible data type, user (subject) type, data size, or next You may notify a user of the timing etc. which can be accessed. Even if the user is permitted to access the P2P database 120, the node device 100 determines the conditions for subsequent access (for example, the remaining value of the permitted number of accesses (in other words, what Or the like) may be notified to the user. Note that the node device 100 may send these notifications to a predetermined external device (for example, a predetermined server device) other than the client device 200, rather than to the client device 200. Thus, these notifications can be made via a predetermined service provided by the external device.
- a predetermined external device for example, a predetermined server device
- the node device 100 requests the user by autonomously accessing the P2P database 120 when the user becomes accessible. Processing related to (for example, data registration or data acquisition) may be performed. This eliminates the need for the user to retransmit the request signal to the node device 100 using the client device 200.
- the various processes performed by the node device 100 described above can be realized by the control unit 110 of the node device 100, the P2P database program 121, or the like, but are not necessarily limited thereto.
- the various processes described above may be realized by cooperation between a predetermined server device other than the node device 100 and the node device 100.
- the node device 100 totals history information (access history information) regarding access to the P2P database 120 by an arbitrary subject, and the access history information after the aggregation (second history) New access to the P2P database 120 by the subject can be controlled based on the information.
- the node device 100 according to the present disclosure registers data in the P2P database 120 by a certain subject in a predetermined length period (for example, one day), which is access history information (second history information) after aggregation. By comparing the total number of times and a predetermined threshold value, it is possible to determine whether or not new data registration by the subject in the P2P database 120 is possible.
- the node device 100 according to the second embodiment outputs the second history information by totaling the access to the P2P database 120 performed in the past, and outputs the second history information to the P2P database. 120 is registered.
- the node device 100 according to the second embodiment shortens the time required from when the request signal from the client device 200 is received until access control to the P2P database 120 is performed (determining whether access is possible). can do.
- An access control unit configured to control new access to the P2P database by the subject based on history information regarding access to the P2P database by an arbitrary subject; Information processing device.
- the access control unit determines whether or not the new access is possible based on the history information.
- the access includes at least one of registration of data in the P2P database or acquisition of data from the P2P database.
- the access control unit includes, as the history information, a total number of accesses performed in the past, a total number of accesses performed in a period of a predetermined length, and a total of the data in the accesses performed in the past.
- the information processing apparatus Controlling the new access based on at least one of a size or a total size of the data in the access performed in the period of the predetermined length;
- the information processing apparatus according to (3).
- the access control unit changes the control logic of the new access according to the type of the data or the type of the subject.
- the history information includes second history information obtained by aggregating first history information related to each of the plurality of accesses made in the past by the subject.
- the information processing apparatus according to any one of (1) to (5).
- a history registration unit for registering the second history information in the P2P database;
- the access control unit controls the new access based on the second history information registered in the P2P database.
- the subject is at least one of a user, a group constituted by a plurality of users, a predetermined external device, a system constituted by a plurality of external devices, and software used by the external device. including, The information processing apparatus according to any one of (1) to (7).
- the access control unit is provided in the P2P database and embodied by a predetermined program executed on the P2P database.
- the P2P database is blockchain data.
- (11) Controlling new access to the P2P database by the subject based on historical information regarding access to the P2P database by any subject, An information processing method executed by a computer.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】P2Pデータベースへのアクセスをより適切に制御することを可能にする。 【解決手段】任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、前記主体による前記P2Pデータベースへの新たなアクセスを制御するアクセス制御部を備える、情報処理装置が提供される。
Description
本開示は、情報処理装置、情報処理方法、およびプログラムに関する。
近年、ブロックチェーンデータをはじめとしたピアツーピアデータベースを使用するサービスが盛んに開発されている。例えば、仮想通貨のやり取りにブロックチェーンデータを使用するBitcoin等が挙げられる。ブロックチェーンデータをはじめとしたピアツーピアデータベースは、登録データの改ざん等を防ぎ、複数事業者によるノードの相互監視効果によって登録データを高い信頼度で保存することができる。
特許文献1には、資格情報(アクセス資格認定資料)に基づいてピアツーピアデータベースへのアクセス制御を行う技術が開示されている。
ここで、特許文献1に記載の技術等によっては、ピアツーピアデータベースへのアクセスを適切に制御できない場合があった。より具体的には、ピアツーピアデータベースは基本的に登録データを削除できないため、あるユーザが大量のデータを登録すると、ピアツーピアデータベースのリソースが圧迫されてしまい、他のユーザがデータを登録できなくなる恐れがある。また、複数のノード装置間でコンセンサス(合意)が形成された後にピアツーピアデータベースへのデータ登録を行うという登録方式においては、一般的なリレーショナルデータベース等と比較してデータの登録により長い時間を要する。そのため、あるユーザが大量のデータの登録を要求した場合に、他のユーザがデータを登録できなくなる恐れがある。ここで、特許文献1に記載の技術等が用いられることで、資格情報(アクセス資格認定資料)に基づいてピアツーピアデータベースへアクセス可能なユーザが限定されたとしても、ピアツーピアデータベースへアクセス可能なユーザが大量のデータを登録した場合には、他のユーザがデータを登録できなくなる恐れがある。
そこで、本開示は、上記事情に鑑みてなされたものであり、ピアツーピアデータベースへのアクセスをより適切に制御することが可能な、新規かつ改良された情報処理装置、情報処理方法、およびプログラムを提供する。
本開示によれば、任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、前記主体による前記P2Pデータベースへの新たなアクセスを制御するアクセス制御部を備える、情報処理装置が提供される。
また、本開示によれば、任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、前記主体による前記P2Pデータベースへの新たなアクセスを制御することを有する、コンピュータにより実行される情報処理方法が提供される。
また、本開示によれば、任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、前記主体による前記P2Pデータベースへの新たなアクセスを制御することを、コンピュータに実現させるためのプログラムが提供される。
以上説明したように本開示によれば、ピアツーピアデータベースへのアクセスをより適切に制御することが可能になる。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.ピアツーピアデータベースの概要
2.第1の実施形態
2.1.概要
2.2.システム構成例
2.3.ノード装置100の機能構成例
2.4.クライアント装置200の機能構成例
2.5.処理の流れ
3.第2の実施形態
3.1.ノード装置100の機能構成例
3.2.処理の流れ
4.ハードウェア構成例
5.備考
6.まとめ
1.ピアツーピアデータベースの概要
2.第1の実施形態
2.1.概要
2.2.システム構成例
2.3.ノード装置100の機能構成例
2.4.クライアント装置200の機能構成例
2.5.処理の流れ
3.第2の実施形態
3.1.ノード装置100の機能構成例
3.2.処理の流れ
4.ハードウェア構成例
5.備考
6.まとめ
<1.ピアツーピアデータベースの概要>
本開示の実施形態について説明する前に、まず、ピアツーピアデータベースの概要について説明する。
本開示の実施形態について説明する前に、まず、ピアツーピアデータベースの概要について説明する。
本実施形態に係る情報処理システムでは、ピアツーピアネットワークに流通している分散型のピアツーピアデータベースが利用される。なお、ピアツーピアネットワークは、ピアツーピア型分散ファイルシステムと呼ばれる場合もある。以下では、ピアツーピアネットワークを「P2Pネットワーク」、ピアツーピアデータベースを「P2Pデータベース」と示す場合がある。P2Pデータベースの例として、P2Pネットワークに流通しているブロックチェーンデータが挙げられる。よって最初に、一例として、ブロックチェーンシステムの概要について説明する。
図1に示すように、ブロックチェーンデータは、複数のブロックがあたかも鎖のように連なって含まれるデータである。それぞれのブロックには、1または2以上の対象データが、トランザクション(取引)として格納されうる。
ブロックチェーンデータとしては、例えば、Bitcoin等の仮想通貨のデータのやり取りに用いられるブロックチェーンデータが挙げられる。仮想通貨のデータのやり取りに用いられるブロックチェーンデータには、例えば、直前のブロックのハッシュと、ナンスと呼ばれる値が含まれる。直前のブロックのハッシュは、直前のブロックから正しく連なる、「正しいブロック」であるか否かを判定するために用いられる情報である。ナンスは、ハッシュを用いた認証においてなりすましを防ぐために用いられる情報であり、ナンスを用いることによって改ざんが防止される。ナンスとしては、例えば、文字列、数字列、あるいは、これらの組み合わせを示すデータ等が挙げられる。
また、ブロックチェーンデータでは、各トランザクションのデータに暗号鍵を用いた電子署名が付与されることによって、なりすましが防止される。また、各トランザクションのデータは公開され、P2Pネットワーク全体で共有される。なお、各トランザクションのデータは暗号鍵を用いて暗号化されてもよい。
図2は、ブロックチェーンシステムにおいて、対象データがユーザAによって登録される様子を示す図である。ユーザAは、ブロックチェーンデータに登録する対象データに対して、ユーザAの秘密鍵を用いて生成された電子署名を付する。そしてユーザAは、電子署名が付された対象データを含むトランザクションをP2Pネットワーク上にブロードキャストする。これによって、対象データの保有者がユーザAであることが担保される。
図3は、ブロックチェーンシステムにおいて、対象データがユーザAからユーザBに移行される様子を示す図である。ユーザAは、ユーザAの秘密鍵を用いて生成した電子署名をトランザクションに付し、当該トランザクションにユーザBの公開鍵を含める。これにより、対象データがユーザAからユーザBに移行されたことが示される。また、ユーザBは、対象データの取引に際して、ユーザAの公開鍵をユーザAから取得し、電子署名が付された、または暗号化された対象データを取得してもよい。
また、ブロックチェーンシステムでは、例えばサイドチェイン技術を利用することによって、Bitcoinのブロックチェーンデータ等の、既存の仮想通貨のデータのやり取りに用いられるブロックチェーンデータに、仮想通貨とは異なる他の対象データを含めることも可能である。
<2.第1の実施形態>
上記では、P2Pデータベースの概要について説明した。続いて、本開示の第1の実施形態について説明する。
上記では、P2Pデータベースの概要について説明した。続いて、本開示の第1の実施形態について説明する。
(2.1.概要)
まず、本開示の第1の実施形態の概要について説明する。
まず、本開示の第1の実施形態の概要について説明する。
上記のとおり、近年、ブロックチェーンデータをはじめとしたP2Pデータベースを使用するサービスが盛んに開発されている。そして、P2Pデータベースは、登録データの改ざん等を防ぎ、複数事業者によるノードの相互監視効果によって登録データを高い信頼度で保存することができる。
しかし、特許文献1に記載の技術等によっては、P2Pデータベースへのアクセスを適切に制御できない場合があった。例えば、特許文献1に記載の技術等によっては、P2Pデータベースへのデータの登録、およびP2Pデータベースからのデータの取得を含むP2Pデータベースへのアクセスの回数等を適切に制限することはできなかった。
ここで、P2Pデータベースは基本的に登録データを削除できないため、あるユーザが大量のデータを登録すると、P2Pデータベースのリソースが圧迫されてしまい、他のユーザがデータを登録できなくなる恐れがある。また、複数のノード装置間でコンセンサス(合意)が形成された後にP2Pデータベースへのデータ登録を行うという登録方式においては、一般的なリレーショナルデータベース等と比較してデータの登録により長い時間を要する。そのため、あるユーザが大量のデータの登録を要求した場合に、他のユーザがデータを登録できなくなる恐れがある。
そこで、本件の開示者は、上記事情に鑑みて本開示に係る技術を創作するに至った。本開示は、任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、当該主体によるP2Pデータベースへの新たなアクセスを制御することができる。以降では、本開示について詳細に説明していく。
(2.2.システム構成例)
上記では、本実施形態の概要について説明した。続いて、図4を参照して、本実施形態に係る情報処理システムの構成例について説明する。
上記では、本実施形態の概要について説明した。続いて、図4を参照して、本実施形態に係る情報処理システムの構成例について説明する。
図4に示すように、本実施形態に係る情報処理システムは、複数のノード装置100(図中では、ノード装置100a~ノード装置100d)と、クライアント装置200と、を備える。また、複数のノード装置100は、それぞれP2Pネットワーク300に接続している。さらに、複数のノード装置100のうちの一台(図中では、ノード装置100a)とクライアント装置200がネットワーク400によって接続されている。
(ノード装置100)
ノード装置100は、P2Pネットワーク300に接続しており、P2Pデータベースを保持している情報処理装置である。そして、ノード装置100は、任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、当該主体によるP2Pデータベースへの新たなアクセスを制御することができる。例えば、ノード装置100は、当該履歴情報に基づいて、P2Pデータベースへの新たなアクセスの可否を判断することができる。
ノード装置100は、P2Pネットワーク300に接続しており、P2Pデータベースを保持している情報処理装置である。そして、ノード装置100は、任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、当該主体によるP2Pデータベースへの新たなアクセスを制御することができる。例えば、ノード装置100は、当該履歴情報に基づいて、P2Pデータベースへの新たなアクセスの可否を判断することができる。
ここで、「任意の主体」とは、ユーザ(例えば、本情報処理システムを利用するユーザ)、複数人のユーザによって構成されるグループ(例えば、組織、または団体等)、ユーザ等に使用されるクライアント装置200、クライアント装置200以外の外部装置、複数台の外部装置(またはクライアント装置200)によって構成されるシステム、または外部装置(またはクライアント装置200)によって用いられるソフトウェアのいずれかであることを想定しているが、これらに限定されない。例えば、「任意の主体」には、P2Pデータベースに対して何らかの処理を行うことができる有体物、または無体物が含まれ得る。以降では、主に、「任意の主体」がクライアント装置200を使用するユーザである場合を一例として説明する。
また、「P2Pデータベースへのアクセス」とは、P2Pデータベースへのデータの登録、またはP2Pデータベースからのデータの取得のいずれかであることを想定しているが、これらに限定されない。より具体的には、「P2Pデータベースへのアクセス」には、P2Pデータベースに対して行われる何らかの処理が含まれ得る。
また、「P2Pデータベースへのアクセスに関する履歴情報」とは、過去に行われたP2Pデータベースへのアクセスの合計回数、所定の長さの期間(例えば1日間)におけるP2Pデータベースへのアクセスの合計回数(アクセスの頻度)、過去にP2Pデータベースへ登録されたデータ(または、過去にP2Pデータベースから取得されたデータ)の合計サイズ、または所定の長さの期間(例えば1日間)においてP2Pデータベースへ登録されたデータの合計サイズ(または、所定の長さの期間においてP2Pデータベースから取得されたデータの合計サイズ)のいずれかであることを想定しているが、これらに限定されない。なお、以降では便宜的に、「P2Pデータベースへのアクセスに関する履歴情報」を「アクセス履歴情報」とも呼称する。
ノード装置100によるP2Pデータベースへのアクセス制御に関する処理については、後段でより詳細に説明する。
ここで、ノード装置100がP2Pデータベースへアクセスする場合(すなわち、データの取得、または登録等を行う場合)には、ノード装置100は、基本的に、P2Pデータベースに設けられ、P2Pデータベース上で実行される所定のプログラム(以降、便宜的に「P2Pデータベースプログラム」と呼称する)を用いる。P2Pデータベースプログラムが用いられることによって、例えば、Bitcoin等のような仮想通貨の取引を含む様々な処理が所定のルールに従って実現される。また、P2PデータベースプログラムがP2Pデータベースに設けられることによって、当該プログラムが不正に改変されるリスクが低減される。
P2Pデータベースプログラムは、ハイパーレッジャー(Hyperledger)におけるチェーンコードであるが、これに限定されない。例えば、P2Pデータベースプログラムは、スマートコントラクトを指してもよい。なお、ノード装置100は、適宜、P2Pデータベースプログラム以外のプログラムを用いて、P2Pデータベースへのアクセスを実現してもよい。
また、本実施形態では、複数のノード装置100が同一の機能を有している場合を想定して説明するが、各ノード装置100は、互いに異なる機能を有していてもよい。例えば、P2Pデータベースへのデータの登録を承認するノード装置100(例えば、Endorsing Peer等)、承認後に各ノード装置100に対して登録を指示するノード装置100(例えば、Ordering Peer等)、P2Pデータベースにデータを登録するノード装置100(例えば、Committing Peer等)が設けられてもよい。
なお、上記で説明したノード装置100の処理内容は適宜変更され得る。また、ノード装置100が備えるP2Pデータベースに登録されているデータの内容は特に限定されない。さらに、ノード装置100の種類は特に限定されない。例えば、ノード装置100は、汎用コンピュータ、PC(Personal
Computer)、またはタブレットPC等を含む任意の装置であってよい。
Computer)、またはタブレットPC等を含む任意の装置であってよい。
(クライアント装置200)
クライアント装置200は、ノード装置100に対してP2Pデータベースへのアクセスを要求するユーザが使用する情報処理装置である。例えば、ユーザは、P2Pデータベースへのデータの登録、またはP2Pデータベースからのデータの取得等を要求する旨の入力操作をクライアント装置200に対して行う。すると、クライアント装置200は、当該入力操作に基づいて要求信号を生成し、当該信号をノード装置100へ送信することで、P2Pデータベースへのデータの登録、またはP2Pデータベースからのデータの取得を実現する。
クライアント装置200は、ノード装置100に対してP2Pデータベースへのアクセスを要求するユーザが使用する情報処理装置である。例えば、ユーザは、P2Pデータベースへのデータの登録、またはP2Pデータベースからのデータの取得等を要求する旨の入力操作をクライアント装置200に対して行う。すると、クライアント装置200は、当該入力操作に基づいて要求信号を生成し、当該信号をノード装置100へ送信することで、P2Pデータベースへのデータの登録、またはP2Pデータベースからのデータの取得を実現する。
また、クライアント装置200は、要求に基づく処理の結果に関する情報(以降、便宜的に「要求結果情報」とも呼称する)をノード装置100から受信した場合、当該情報をユーザに提供することができる。より具体的には、クライアント装置200は、ユーザインタフェースとして機能する出力部(例えば、ディスプレイ等の表示装置、スピーカ等の音声出力装置、ランプ等の光源装置、またはアクチュエータ等の触覚提示装置等)を介して、要求結果情報をユーザへ提供することができる。
なお、上記で説明したクライアント装置200の処理内容は適宜変更され得る。また、ノード装置100と同様に、クライアント装置200の種類は特に限定されない。また、クライアント装置200は、ノード装置100と通信可能な任意の外部装置(例えば、サーバ装置等)に置き換えられてもよい。
(P2Pネットワーク300)
P2Pネットワーク300は、P2Pデータベースが流通しているネットワークである。上記のとおり、各ノード装置100は、P2Pネットワーク300に接続することで、他のノード装置100が保持するP2Pデータベースと整合性を保ちながら、P2Pデータベースを更新することができる。
P2Pネットワーク300は、P2Pデータベースが流通しているネットワークである。上記のとおり、各ノード装置100は、P2Pネットワーク300に接続することで、他のノード装置100が保持するP2Pデータベースと整合性を保ちながら、P2Pデータベースを更新することができる。
なお、P2Pネットワーク300の種類は特に限定されない。例えば、P2Pネットワーク300は、複数組織によって運営されるコンソーシアム型、単一組織によって運営されるプライベート型、または、参加者を特に限定しないパブリック型のうちのいずれの種類であってもよい。
なお、P2Pネットワーク300に用いられる通信方式、または回線の種類等は特に限定されない。例えば、P2Pネットワーク300は、IP-VPN(Internet Protocol-Virtual Private Network)等の専用回線網で実現されてもよい。また、P2Pネットワーク300は、インターネット、電話回線網、衛星通信網などの公衆回線網で実現されてもよい。また、P2Pネットワーク300は、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)等で実現されてもよい。さらに、P2Pネットワーク300は、Wi-Fi(登録商標)、Bluetooth(登録商標)等の無線通信網で実現されてもよい。
(ネットワーク400)
ネットワーク400は、ノード装置100、およびクライアント装置200間を接続するネットワークである。なお、P2Pネットワーク300と同様に、ネットワーク400に用いられる通信方式、または回線の種類等は特に限定されない。
ネットワーク400は、ノード装置100、およびクライアント装置200間を接続するネットワークである。なお、P2Pネットワーク300と同様に、ネットワーク400に用いられる通信方式、または回線の種類等は特に限定されない。
以上、本実施形態に係る情報処理システムの構成例について説明した。なお、図4を参照して説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理システムの構成は係る例に限定されない。例えば、ノード装置100の機能の全部または一部が、クライアント装置200に備えられてもよい。より具体的には、ノード装置100の機能の全部または一部を提供するソフトウェアがクライアント装置200上で実行されてもよい。また、逆に、クライアント装置200の機能の全部または一部が、ノード装置100に備えられてもよい。また、情報処理システムを構成する各装置の台数は適宜変更されてもよい。また、本実施形態に係る情報処理システムが提供可能なサービスの内容は特に限定されない。本実施形態に係る情報処理システムの構成は、仕様や運用に応じて柔軟に変形可能である。
(2.3.ノード装置100の機能構成例)
上記では、本実施形態に係る情報処理システムの構成例について説明した。続いて、図5を参照して、ノード装置100の機能構成例について説明する。
上記では、本実施形態に係る情報処理システムの構成例について説明した。続いて、図5を参照して、ノード装置100の機能構成例について説明する。
図5に示すように、ノード装置100は、制御部110と、P2Pデータベース120と、通信部130と、を備える。
(制御部110)
制御部110は、ノード装置100が行う処理全般を統括的に制御する機能構成である。例えば、制御部110は、制御信号を用いて出力部(図示なし)、または通信部130等の起動や停止を制御することができる。また、制御部110は、P2Pデータベース120へのアクセスについての要求結果情報を含む応答信号(なお、クライアント装置200からの要求の内容が、P2Pデータベース120からのデータの取得である場合には、取得されたデータも応答信号に含まれる)を生成し、通信部130を介して当該信号をクライアント装置200へ送信する。なお、制御部110の制御内容はこれらに限定されない。例えば、制御部110は、各種サーバ、汎用コンピュータ、PC、またはタブレットPC等において一般的に行われる処理を制御してもよい。
制御部110は、ノード装置100が行う処理全般を統括的に制御する機能構成である。例えば、制御部110は、制御信号を用いて出力部(図示なし)、または通信部130等の起動や停止を制御することができる。また、制御部110は、P2Pデータベース120へのアクセスについての要求結果情報を含む応答信号(なお、クライアント装置200からの要求の内容が、P2Pデータベース120からのデータの取得である場合には、取得されたデータも応答信号に含まれる)を生成し、通信部130を介して当該信号をクライアント装置200へ送信する。なお、制御部110の制御内容はこれらに限定されない。例えば、制御部110は、各種サーバ、汎用コンピュータ、PC、またはタブレットPC等において一般的に行われる処理を制御してもよい。
(P2Pデータベース120)
P2Pデータベース120は、ノード装置100に保持されるデータベースであり、例えば、ブロックチェーンデータである。上記のとおり、P2Pデータベース120には、真正性の担保が求められるようなより重要度の高いデータが登録される。P2Pデータベース120に登録される各種データは、暗号鍵を用いて生成された電子署名を付されたり、または暗号鍵を用いて暗号化されたりしてもよい。なお、上記のとおり、P2Pデータベース120に登録されるデータの内容は特に限定されない。例えば、P2Pデータベース120へのデータの登録、またはP2Pデータベース120からのデータの取得の際に課金が行われる場合には、P2Pデータベース120には、各ユーザが有する資産(例えば、Bitcoinにおけるコイン等)に関するデータが登録されていてもよい。また、図5に示すように、P2Pデータベース120は、P2Pデータベースプログラム121を備える。
P2Pデータベース120は、ノード装置100に保持されるデータベースであり、例えば、ブロックチェーンデータである。上記のとおり、P2Pデータベース120には、真正性の担保が求められるようなより重要度の高いデータが登録される。P2Pデータベース120に登録される各種データは、暗号鍵を用いて生成された電子署名を付されたり、または暗号鍵を用いて暗号化されたりしてもよい。なお、上記のとおり、P2Pデータベース120に登録されるデータの内容は特に限定されない。例えば、P2Pデータベース120へのデータの登録、またはP2Pデータベース120からのデータの取得の際に課金が行われる場合には、P2Pデータベース120には、各ユーザが有する資産(例えば、Bitcoinにおけるコイン等)に関するデータが登録されていてもよい。また、図5に示すように、P2Pデータベース120は、P2Pデータベースプログラム121を備える。
(P2Pデータベースプログラム121)
P2Pデータベースプログラム121は、P2Pデータベース120に備えられ、P2Pデータベース120上で実行される所定のプログラムである。上記のとおり、P2Pデータベースプログラム121が用いられることによって、例えば、Bitcoin等のような仮想通貨の取引を含む様々な処理が所定のルールに従って一貫性を保ちつつ実現される。また、P2Pデータベースプログラム121がP2Pデータベース120に設けられることによって当該プログラムが不正に改変されるリスクが低減される。また、上記のとおり、P2Pデータベースプログラム121は、ハイパーレッジャー(Hyperledger)におけるチェーンコードであってもよいが、スマートコントラクトであってもよい。
P2Pデータベースプログラム121は、P2Pデータベース120に備えられ、P2Pデータベース120上で実行される所定のプログラムである。上記のとおり、P2Pデータベースプログラム121が用いられることによって、例えば、Bitcoin等のような仮想通貨の取引を含む様々な処理が所定のルールに従って一貫性を保ちつつ実現される。また、P2Pデータベースプログラム121がP2Pデータベース120に設けられることによって当該プログラムが不正に改変されるリスクが低減される。また、上記のとおり、P2Pデータベースプログラム121は、ハイパーレッジャー(Hyperledger)におけるチェーンコードであってもよいが、スマートコントラクトであってもよい。
P2Pデータベースプログラム121は、P2Pデータベース120に対して行われる処理全般を実現することができる。例えば、図5に示すように、P2Pデータベースプログラム121は、履歴取得部121aと、アクセス制御部121bと、を備え、これらを制御することでP2Pデータベース120へのアクセスに関する処理全般を実現することができる。なお、P2Pデータベースプログラム121によって実現される処理はこれに限定されない。また、P2Pデータベースプログラム121の開発言語、またはP2Pデータベース120上に設けられるP2Pデータベースプログラム121の個数等は特に限定されない。
(履歴取得部121a)
履歴取得部121aは、P2Pデータベース120へのアクセス制御に用いられるアクセス履歴情報を取得する機能構成である。より具体的には、クライアント装置200からのP2Pデータベース120へのアクセスを要求する要求信号が受信された場合、その都度、履歴取得部121aは、過去に当該ユーザによって行われたP2Pデータベース120へのアクセスについてのアクセス履歴情報を集計する。例えば、履歴取得部121aは、当該ユーザの識別情報(例えば、ユーザID、または公開鍵情報等)に基づいてP2Pデータベース120に登録されているデータの中から、過去に当該ユーザによって登録されたデータを抽出し、登録回数を集計することで登録回数の合計値を出力する。ここで、過去に行われたP2Pデータベース120への複数回のアクセスそれぞれに関する履歴情報(アクセス履歴情報)を「第1の履歴情報」とも呼称し、第1の履歴情報を集計することで得られたアクセス履歴情報を「第2の履歴情報」とも呼称する。すなわち、本実施形態に係る履歴取得部121aは、クライアント装置200からの要求信号が受信される都度、P2Pデータベース120に登録されているデータに基づいて第1の履歴情報を抽出し、第1の履歴情報を用いて第2の履歴情報を出力する。
履歴取得部121aは、P2Pデータベース120へのアクセス制御に用いられるアクセス履歴情報を取得する機能構成である。より具体的には、クライアント装置200からのP2Pデータベース120へのアクセスを要求する要求信号が受信された場合、その都度、履歴取得部121aは、過去に当該ユーザによって行われたP2Pデータベース120へのアクセスについてのアクセス履歴情報を集計する。例えば、履歴取得部121aは、当該ユーザの識別情報(例えば、ユーザID、または公開鍵情報等)に基づいてP2Pデータベース120に登録されているデータの中から、過去に当該ユーザによって登録されたデータを抽出し、登録回数を集計することで登録回数の合計値を出力する。ここで、過去に行われたP2Pデータベース120への複数回のアクセスそれぞれに関する履歴情報(アクセス履歴情報)を「第1の履歴情報」とも呼称し、第1の履歴情報を集計することで得られたアクセス履歴情報を「第2の履歴情報」とも呼称する。すなわち、本実施形態に係る履歴取得部121aは、クライアント装置200からの要求信号が受信される都度、P2Pデータベース120に登録されているデータに基づいて第1の履歴情報を抽出し、第1の履歴情報を用いて第2の履歴情報を出力する。
なお、第2の履歴情報は、上記とおり、過去に行われたP2Pデータベース120へのアクセスの合計回数、所定の長さの期間(例えば1日間)におけるP2Pデータベース120へのアクセスの合計回数(またはアクセスの頻度)、過去にP2Pデータベース120へ登録されたデータ(または、過去にP2Pデータベース120から取得されたデータ)の合計サイズ、または所定の長さの期間(例えば1日間)においてP2Pデータベース120へ登録されたデータの合計サイズ(または、所定の長さの期間においてP2Pデータベース120から取得されたデータの合計サイズ)のいずれかであることを想定しているが、これらに限定されない。
なお、上記では、履歴取得部121aが、P2Pデータベース120に登録されているデータに基づいて第1の履歴情報を抽出する旨を説明したが、第1の履歴情報の抽出方法はこれに限定されない。例えば、第1の履歴情報を管理している記憶部、または外部装置等が存在する場合には、履歴取得部121aは、当該記憶部、または外部装置等から第1の履歴情報を取得してもよい。
履歴取得部121aは、出力した第2の履歴情報をアクセス制御部121bへ提供することで、アクセス制御部121bが第2の履歴情報を用いて、当該ユーザによるP2Pデータベース120への新たなアクセスを制御することを可能にする。なお、履歴取得部121aは、第1の履歴情報をアクセス制御部121bへ提供してもよい。
(アクセス制御部121b)
アクセス制御部121bは、アクセス履歴情報に基づいて、P2Pデータベース120への新たなアクセスを制御する機能構成である。例えば、アクセス制御部121bは、アクセス履歴情報に基づいてP2Pデータベース120への新たなアクセスの可否を判断する。
アクセス制御部121bは、アクセス履歴情報に基づいて、P2Pデータベース120への新たなアクセスを制御する機能構成である。例えば、アクセス制御部121bは、アクセス履歴情報に基づいてP2Pデータベース120への新たなアクセスの可否を判断する。
より具体的に説明すると、クライアント装置200からのP2Pデータベース120へのアクセスを要求する要求信号が受信された場合、アクセス制御部121bは、履歴取得部121aから提供された第2の履歴情報と所定の閾値とを比較すること等によってP2Pデータベース120への新たなアクセスの可否を判断する。例えば、アクセス制御部121bは、第2の履歴情報である、所定の長さの期間(例えば1日間)におけるP2Pデータベース120へのアクセスの合計回数と、所定の閾値とを比較することで、当該閾値を超えるアクセスを禁止することができる。
また、アクセス制御部121bは、P2Pデータベース120へのアクセス(データの登録、またはデータの取得等)の対象となるデータの種別、またはアクセスを行うユーザ(または主体)の種別等に応じて、P2Pデータベース120への新たなアクセスを制御してもよい(換言すると、アクセス制御部121bは、データの種別、またはユーザの種別に応じてP2Pデータベース120への新たなアクセスの制御ロジックを変更してもよい)。
ここで、「データの種別」とは、P2Pデータベース120へのアクセスの対象となるデータのカテゴリ、内容、用途、または当該データの取得装置等であることを想定しているが、必ずしもこれらに限定されない。例えば、「データの種別」とは、データに関する何らかのメタ情報等を含む。これによって、アクセス制御部121bは、例えば、カテゴリが「温度データ」であるデータと「脈拍データ」であるデータとで、登録可能な回数を異なる値にしてもよい。また、アクセス制御部121bは、例えば、装置Aにより取得されたデータと装置Bにより取得されたデータとで、登録可能な回数を異なる値にしてもよい。
また、「ユーザ(主体)の種別」とは、P2Pデータベース120へのアクセスを要求しているユーザ(主体)が有する権限(例えば、管理者権限、プレミアムユーザ権限、または一般ユーザ権限等)、役割(例えば、投稿者、読者、先生、または生徒等)、属性(例えば、年齢、性別、または職業等)、またはユーザに対する評価等(例えば、成績等)であることを想定しているが、必ずしもこれらに限定されない。例えば、「ユーザ(主体)の種別」とは、ユーザ(主体)に関する何らかのメタ情報等を含む。これによって、アクセス制御部121bは、例えば、「プレミアムユーザ権限」を有するユーザからのデータと「一般ユーザ権限」を有するユーザからのデータとで、登録可能な回数を異なる値にしてもよい。上記によって、アクセス制御部121bは、P2Pデータベース120へのアクセスをより細かく制御することができる。
なお、アクセス制御部121bによるアクセス制御の方法は上記に限定されず、アクセス制御部121bは、様々な制御ロジックを用いてP2Pデータベース120へのアクセス制御を行うことができる。例えば、アクセス制御部121bは、P2Pデータベース120へのアクセス状況に基づいてアクセス制御のための制御ロジックを変更してもよい。より具体的には、アクセス制御部121bは、所定の方法でP2Pデータベース120へのアクセスの混雑状況等を認識し、アクセスが多い場合ほど、アクセスをより制限するように制御ロジックを変更してもよい(例えば上記で説明した所定の閾値を変更する等)。
また、アクセス制御部121bは、第2の履歴情報ではなく、第1の履歴情報(すなわち集計前のアクセス履歴情報)を用いてP2Pデータベース120へのアクセス制御を行ってもよい。また、アクセス制御部121bは、P2Pデータベース120へのアクセス制御に関する処理の全部または一部を、公知の機械学習技術または人工知能を用いて実現してもよい。
(通信部130)
通信部130は、クライアント装置200との各種通信を行う機能構成である。例えば、通信部130は、P2Pデータベース120へのデータの登録を要求する要求信号をクライアント装置200から受信し、要求結果情報等を含む応答信号をクライアント装置200へ送信する。また、通信部130は、P2Pデータベース120からのデータの取得を要求する要求信号をクライアント装置200から受信し、P2Pデータベース120から取得されたデータ、および要求結果情報等を含む応答信号をクライアント装置200へ送信する。
通信部130は、クライアント装置200との各種通信を行う機能構成である。例えば、通信部130は、P2Pデータベース120へのデータの登録を要求する要求信号をクライアント装置200から受信し、要求結果情報等を含む応答信号をクライアント装置200へ送信する。また、通信部130は、P2Pデータベース120からのデータの取得を要求する要求信号をクライアント装置200から受信し、P2Pデータベース120から取得されたデータ、および要求結果情報等を含む応答信号をクライアント装置200へ送信する。
また、通信部130は、ノード装置100との各種通信も行う。例えば、通信部130は、他のノード装置100との通信において、P2Pデータベース120の更新に用いられる情報等(例えば、合意形成に用いられる情報等)を適宜送受信する。なお、通信部130が通信するデータ、および通信するケースはこれらに限定されない。
以上、ノード装置100の機能構成例について説明した。なお、図5を用いて説明した上記の機能構成はあくまで一例であり、ノード装置100の機能構成は係る例に限定されない。例えば、ノード装置100は、図5に示す構成の全てを必ずしも備えなくてもよい。また、P2Pネットワーク300に接続している複数のノード装置100は、互いに異なる機能構成を備えていてもよい。また、上記で説明した履歴取得部121a、またはアクセス制御部121bは、P2Pデータベースプログラム121以外に備えられてもよい。例えば、履歴取得部121a、またはアクセス制御部121bは、制御部110に備えられてもよい。また、図5には示していないが、ノード装置100は、P2Pデータベース120以外の記憶部を別途備えていてもよい。そして、当該記憶部は、ノード装置100の各機能構成によって使用されるプログラム、またはパラメータ等を記憶できてもよい。なお、当該記憶部が記憶する情報の内容はこれらに限定されない。ノード装置100の機能構成は、仕様や運用に応じて柔軟に変形可能である。
(2.4.クライアント装置200の機能構成例)
上記では、ノード装置100の機能構成例について説明した。続いて、図6を参照して、クライアント装置200の機能構成例について説明する。
上記では、ノード装置100の機能構成例について説明した。続いて、図6を参照して、クライアント装置200の機能構成例について説明する。
図6に示すように、クライアント装置200は、制御部210と、入力部220と、出力部230と、記憶部240と、通信部250と、を備える。
(制御部210)
制御部210は、クライアント装置200が行う処理全般を統括的に制御する機能構成である。例えば、制御部210は、制御信号を用いて入力部220、出力部230、または通信部250等の起動や停止を制御することができる。また、制御部210は、P2Pデータベース120へのアクセスを要求する要求信号を生成する。また、要求結果情報等を含む応答信号がノード装置100から提供された場合には、制御部210は当該情報の出力を制御する。なお、制御部210の制御内容はこれらに限定されない。例えば、制御部210は、各種サーバ、汎用コンピュータ、PC、またはタブレットPC等において一般的に行われる処理を制御してもよい。
制御部210は、クライアント装置200が行う処理全般を統括的に制御する機能構成である。例えば、制御部210は、制御信号を用いて入力部220、出力部230、または通信部250等の起動や停止を制御することができる。また、制御部210は、P2Pデータベース120へのアクセスを要求する要求信号を生成する。また、要求結果情報等を含む応答信号がノード装置100から提供された場合には、制御部210は当該情報の出力を制御する。なお、制御部210の制御内容はこれらに限定されない。例えば、制御部210は、各種サーバ、汎用コンピュータ、PC、またはタブレットPC等において一般的に行われる処理を制御してもよい。
(入力部220)
入力部220は、ユーザによる入力を受ける機能構成である。例えば、入力部220はマウス、キーボード、タッチパネル、ボタン、スイッチ、またはマイクロフォン等の入力装置を備えており、ユーザがこれらの入力装置を用いることによって、P2Pデータベース120へのアクセスの要求等のための入力操作を行うことができる。例えば、ユーザは、これらの入力装置を用いることで、P2Pデータベース120へ登録するためのデータを作成することができる。なお、入力部220が備える入力装置は特に限定されない。
入力部220は、ユーザによる入力を受ける機能構成である。例えば、入力部220はマウス、キーボード、タッチパネル、ボタン、スイッチ、またはマイクロフォン等の入力装置を備えており、ユーザがこれらの入力装置を用いることによって、P2Pデータベース120へのアクセスの要求等のための入力操作を行うことができる。例えば、ユーザは、これらの入力装置を用いることで、P2Pデータベース120へ登録するためのデータを作成することができる。なお、入力部220が備える入力装置は特に限定されない。
(出力部230)
出力部230は、制御部210によって制御されることで各種情報の出力を行う機能構成である。例えば、出力部230は、ディスプレイ等の表示装置、スピーカ等の音声出力装置、ランプ等の光源装置、またはアクチュエータ等の触覚提示装置等を備えており、制御部210による制御に基づいて、ノード装置100から提供された要求結果情報等をユーザへ出力する。すなわち、出力部230はユーザインタフェースとして機能する。なお、出力部230が備える出力装置はこれらに限定されない。
出力部230は、制御部210によって制御されることで各種情報の出力を行う機能構成である。例えば、出力部230は、ディスプレイ等の表示装置、スピーカ等の音声出力装置、ランプ等の光源装置、またはアクチュエータ等の触覚提示装置等を備えており、制御部210による制御に基づいて、ノード装置100から提供された要求結果情報等をユーザへ出力する。すなわち、出力部230はユーザインタフェースとして機能する。なお、出力部230が備える出力装置はこれらに限定されない。
(記憶部240)
記憶部240は、各種情報を記憶する機能構成である。例えば、記憶部240は、P2Pデータベース120へ登録される対象のデータ、P2Pデータベース120から取得されたデータ、または要求結果情報等を記憶したり、クライアント装置200の各機能構成によって使用されるプログラム、またはパラメータ等を記憶したりする。なお、記憶部240が記憶する情報はこれらに限定されない。
記憶部240は、各種情報を記憶する機能構成である。例えば、記憶部240は、P2Pデータベース120へ登録される対象のデータ、P2Pデータベース120から取得されたデータ、または要求結果情報等を記憶したり、クライアント装置200の各機能構成によって使用されるプログラム、またはパラメータ等を記憶したりする。なお、記憶部240が記憶する情報はこれらに限定されない。
(通信部250)
通信部250は、ノード装置100との各種通信を行う機能構成である。例えば、通信部250は、P2Pデータベース120へのデータの登録を要求する要求信号をノード装置100へ送信し、要求結果情報等を含む応答信号をノード装置100から受信する。また、通信部250は、P2Pデータベース120からのデータの取得を要求する要求信号をノード装置100へ送信し、P2Pデータベース120から取得されたデータ、および要求結果情報等を含む応答信号をノード装置100から受信する。なお、通信部250が通信するデータ、および通信するケースはこれらに限定されない。
通信部250は、ノード装置100との各種通信を行う機能構成である。例えば、通信部250は、P2Pデータベース120へのデータの登録を要求する要求信号をノード装置100へ送信し、要求結果情報等を含む応答信号をノード装置100から受信する。また、通信部250は、P2Pデータベース120からのデータの取得を要求する要求信号をノード装置100へ送信し、P2Pデータベース120から取得されたデータ、および要求結果情報等を含む応答信号をノード装置100から受信する。なお、通信部250が通信するデータ、および通信するケースはこれらに限定されない。
以上、クライアント装置200の機能構成例について説明した。なお、図6を用いて説明した上記の機能構成はあくまで一例であり、クライアント装置200の機能構成は係る例に限定されない。例えば、クライアント装置200は、図6に示す構成の全てを必ずしも備えなくてもよい。また、クライアント装置200の機能構成は、仕様や運用に応じて柔軟に変形可能である。
(2.5.処理の流れ)
上記では、クライアント装置200の機能構成例について説明した。続いて、図7を参照して、P2Pデータベース120へのアクセス制御に関する処理の流れについて説明する。図7は、P2Pデータベース120へのデータ登録の際に行われるアクセス制御に関する処理の一例を示すフローチャートである。
上記では、クライアント装置200の機能構成例について説明した。続いて、図7を参照して、P2Pデータベース120へのアクセス制御に関する処理の流れについて説明する。図7は、P2Pデータベース120へのデータ登録の際に行われるアクセス制御に関する処理の一例を示すフローチャートである。
ステップS1000では、ノード装置100の通信部130が、P2Pデータベース120へのデータの登録を要求する要求信号をクライアント装置200から受信する。ステップS1004では、履歴取得部121aがアクセス履歴情報(第2の履歴情報)を取得する。ステップS1008では、アクセス制御部121bが、アクセス履歴情報に基づいてP2Pデータベース120へのデータ登録の可否を判断する。例えば、アクセス制御部121bは、アクセス履歴情報である、所定の長さの期間(例えば1日間)におけるP2Pデータベース120へのデータ登録の合計回数と所定の閾値とを比較することで、新たなデータ登録の可否を判断する。
アクセス履歴情報に基づいてP2Pデータベース120へのデータ登録の条件が満たされていると判断された場合(ステップS1012/Yes)、ステップS1016にて、アクセス制御部121bが、P2Pデータベース120へデータを登録する。ステップS1020では、制御部110が、データ登録に成功した旨の要求結果情報を含む応答信号を生成し、通信部130を介して当該信号をクライアント装置200へ送信することで一連の処理が終了する。なお、ステップS1012にて、アクセス履歴情報に基づいてP2Pデータベース120へのデータ登録の条件が満たされていないと判断された場合(ステップS1012/No)、データ登録が行われることなく、ステップS1020にて、制御部110が、データ登録に失敗した旨の要求結果情報を含む応答信号を生成し、通信部130を介して当該信号をクライアント装置200へ送信する。
なお、図7のフローチャートにおける各ステップは、必ずしも記載された順序に沿って時系列に処理される必要はない。すなわち、フローチャートにおける各ステップは、記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
<3.第2の実施形態>
上記では、本開示の第1の実施形態について説明した。続いて、本開示の第2の実施形態について説明する。
上記では、本開示の第1の実施形態について説明した。続いて、本開示の第2の実施形態について説明する。
本開示の第1の実施形態に係るノード装置100は、クライアント装置200からの要求信号が受信された場合、その都度、過去に行われたP2Pデータベース120へのアクセスを集計することで第2の履歴情報を出力していた。一方、本開示の第2の実施形態に係るノード装置100は、過去に行われたP2Pデータベース120へのアクセスを事前に集計することで第2の履歴情報を出力し、当該第2の履歴情報をP2Pデータベース120に登録しておく。そして、ノード装置100は、クライアント装置200からの要求信号を受信した場合、事前に出力されP2Pデータベース120に登録されている第2の履歴情報を用いて、P2Pデータベース120への新たなアクセスを制御する。これによって、ノード装置100は、クライアント装置200からの要求信号が受信されてからP2Pデータベース120へのアクセス制御を行う(アクセスの可否を判断する)までに要する時間を短縮することができる。
(3.1.ノード装置100の機能構成例)
続いて、図8を参照して、本実施形態に係るノード装置100の機能構成例について説明する。なお、以降では、第1の実施形態に係る機能構成と同様の内容についての説明を省略する。また、クライアント装置200の機能構成は、上記で説明した第1の実施形態に係る機能構成と同様であり得るため説明を省略する。
続いて、図8を参照して、本実施形態に係るノード装置100の機能構成例について説明する。なお、以降では、第1の実施形態に係る機能構成と同様の内容についての説明を省略する。また、クライアント装置200の機能構成は、上記で説明した第1の実施形態に係る機能構成と同様であり得るため説明を省略する。
図8に示すように、本実施形態に係るノード装置100のP2Pデータベースプログラム121は、第1の実施形態に係る機能構成と比較して、新たに履歴登録部121cを備える。
(履歴取得部121a)
第1の実施形態に係る履歴取得部121aは、クライアント装置200からの要求信号が受信される都度、過去に行われたP2Pデータベース120へのアクセスについての履歴情報(第1の履歴情報)を集計することで第2の履歴情報を出力していた。一方、本実施形態に係る履歴取得部121aは、クライアント装置200からの要求信号の受信に先立って事前に第2の履歴情報を出力しておく。
第1の実施形態に係る履歴取得部121aは、クライアント装置200からの要求信号が受信される都度、過去に行われたP2Pデータベース120へのアクセスについての履歴情報(第1の履歴情報)を集計することで第2の履歴情報を出力していた。一方、本実施形態に係る履歴取得部121aは、クライアント装置200からの要求信号の受信に先立って事前に第2の履歴情報を出力しておく。
履歴取得部121aが第2の履歴情報を出力するタイミング、またはトリガは特に限定されない。例えば、履歴取得部121aは、同一のユーザ(主体)による直前のアクセス発生時に第2の履歴情報を出力してもよい。より具体的には、履歴取得部121aは、P2Pデータベース120へのアクセスが発生した場合に、過去に出力した第2の履歴情報を次のアクセスの発生に備えて更新してもよい。また、履歴取得部121aは、定期的に第2の履歴情報を出力してもよい。また、履歴取得部121aは、ノード装置100の管理者からの入力操作(指示)をトリガに第2の履歴情報を出力してもよい。
履歴取得部121aは、出力した第2の履歴情報を履歴登録部121cへ提供する。
(履歴登録部121c)
履歴登録部121cは、第2の履歴情報をP2Pデータベース120へ登録する機能構成である。より具体的には、履歴登録部121cは、履歴取得部121aから第2の履歴情報を提供された場合に、当該第2の履歴情報をP2Pデータベース120へ登録する。これによって、第2の履歴情報の真正性が担保される。
履歴登録部121cは、第2の履歴情報をP2Pデータベース120へ登録する機能構成である。より具体的には、履歴登録部121cは、履歴取得部121aから第2の履歴情報を提供された場合に、当該第2の履歴情報をP2Pデータベース120へ登録する。これによって、第2の履歴情報の真正性が担保される。
なお、履歴登録部121cは、履歴取得部121aから第2の履歴情報を提供された場合に、必ずしも、当該第2の履歴情報をP2Pデータベース120へ登録しなくてもよい。例えば、履歴登録部121cは、履歴取得部121aから提供された第2の履歴情報を分析することで、対象のユーザ(主体)によるP2Pデータベース120への新たなアクセスが制限される条件を満たしたと判断した場合にのみ、当該第2の履歴情報をP2Pデータベース120へ登録してもよい。これによって、履歴登録部121cは、P2Pデータベース120へのアクセス可否の判断に影響を及ぼさない履歴情報がP2Pデータベース120へ登録されることを防ぐことができる。
(3.2.処理の流れ)
上記では、本実施形態に係るノード装置100の機能構成例について説明した。続いて、図9を参照して、本実施形態における、P2Pデータベース120へのアクセス制御に関する処理の流れについて説明する。図9は、P2Pデータベース120へのデータ登録の際に行われるアクセス制御に関する処理の一例を示すフローチャートである。
上記では、本実施形態に係るノード装置100の機能構成例について説明した。続いて、図9を参照して、本実施形態における、P2Pデータベース120へのアクセス制御に関する処理の流れについて説明する。図9は、P2Pデータベース120へのデータ登録の際に行われるアクセス制御に関する処理の一例を示すフローチャートである。
ステップS1100では、履歴取得部121aが、過去に行われたP2Pデータベース120へのアクセスを事前に集計することでアクセス履歴情報(第2の履歴情報)を出力する。ステップS1104では、履歴登録部121cが当該アクセス履歴情報をP2Pデータベース120に登録しておく。
その後、ステップS1108にて、通信部130が、P2Pデータベース120へのデータの登録を要求する要求信号をクライアント装置200から受信すると、ステップS1112にて、履歴取得部121aがアクセス履歴情報をP2Pデータベース120から取得する。ステップS1116では、アクセス制御部121bが、アクセス履歴情報に基づいてP2Pデータベース120へのデータ登録の可否を判断する。
アクセス履歴情報に基づいてP2Pデータベース120へのデータ登録の条件が満たされていると判断された場合(ステップS1120/Yes)、ステップS1124にて、アクセス制御部121bが、P2Pデータベース120へデータを登録する。ステップS1128では、制御部110が、データ登録に成功した旨の要求結果情報を含む応答信号を生成し、通信部130を介して当該信号をクライアント装置200へ送信することで一連の処理が終了する。なお、ステップS1120にて、アクセス履歴情報に基づいてP2Pデータベース120へのデータ登録の条件が満たされていないと判断された場合(ステップS1120/No)、データ登録が行われることなく、ステップS1128にて、制御部110が、データ登録に失敗した旨の要求結果情報を含む応答信号を生成し、通信部130を介して当該信号をクライアント装置200へ送信する。
なお、図9のフローチャートにおける各ステップは、必ずしも記載された順序に沿って時系列に処理される必要はない。すなわち、フローチャートにおける各ステップは、記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
<4.ハードウェア構成例>
上記では、本開示の第2の実施形態について説明した。続いて、図10を参照して、各装置のハードウェア構成について説明する。
上記では、本開示の第2の実施形態について説明した。続いて、図10を参照して、各装置のハードウェア構成について説明する。
図10は、第1の実施形態、または第2の実施形態に係るノード装置100、またはクライアント装置200のハードウェア構成の一例を示すブロック図である。これらの装置は、図10に示す情報処理装置900によって具現され得る。
情報処理装置900は、例えば、MPU901と、ROM902と、RAM903と、記録媒体904と、入出力インタフェース905と、操作入力デバイス906と、表示デバイス907と、通信インタフェース908とを備える。また、情報処理装置900は、例えば、データの伝送路としてのバス909で各構成要素間を接続する。
MPU901は、例えば、MPUなどの演算回路で構成される、1または2以上のプロセッサや、各種処理回路などで構成され、ノード装置100の制御部110、またはクライアント装置200の制御部210として機能する。なお、これらの機能構成は、上記で説明した各種処理を実現可能な専用の(または汎用の)回路(例えば、MPU901とは別体のプロセッサなど)で構成されていてもよい。
ROM902は、MPU901が使用するプログラムや演算パラメータなどの制御用データなどを記憶する。RAM903は、例えば、MPU901により実行されるプログラムなどを一時的に記憶する。
記録媒体904は、ノード装置100のP2Pデータベース120、またはクライアント装置200の記憶部240として機能し、各実施形態に係る情報処理に関するデータや各種プログラムなど様々なデータを記憶する。ここで、記録媒体904としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリが挙げられる。また、記録媒体904は、情報処理装置900から着脱可能であってもよい。
入出力インタフェース905は、例えば、操作入力デバイス906や、表示デバイス907を接続する。ここで、入出力インタフェース905としては、例えば、USB(Universal Serial Bus)端子や、DVI(Digital Visual Interface)端子、HDMI(High-Definition Multimedia Interface)(登録商標)端子、各種処理回路などが挙げられる。
また、操作入力デバイス906は、例えば、情報処理装置900上に備えられ、情報処理装置900の内部で入出力インタフェース905と接続される。操作入力デバイス906としては、例えば、キーボード、マウス、キーパッド、タッチパネル、マイクロホン、操作ボタン、方向キーまたはジョグダイヤルなどの回転型セレクタ、あるいは、これらの組み合わせなどが挙げられる。操作入力デバイス906は、クライアント装置200の入力部220として機能する。
また、表示デバイス907は、例えば、情報処理装置900上に備えられ、情報処理装置900の内部で入出力インタフェース905と接続される。表示デバイス907としては、例えば、液晶ディスプレイ(Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescence Display)などが挙げられる。表示デバイス907は、クライアント装置200の出力部230として機能する。
なお、入出力インタフェース905が、情報処理装置900の外部の操作入力デバイスや外部の表示デバイスなどの外部デバイスと接続することも可能であることは、言うまでもない。また、表示デバイス907は、例えばタッチパネルなど、表示とユーザ操作とが可能なデバイスであってもよい。
通信インタフェース908は、情報処理装置900が備える通信手段であり、ノード装置100の通信部130、またはクライアント装置200の通信部250として機能する。また、通信インタフェース908は、任意のネットワークを介して(あるいは、直接的に)、例えば、サーバなどの任意の外部装置と、無線または有線で通信を行う機能を有していてもよい。ここで、通信インタフェース908としては、例えば、通信アンテナおよびRF(Radio Frequency)回路(無線通信)や、IEEE802.15.1ポートおよび送受信回路(無線通信)、IEEE802.11ポートおよび送受信回路(無線通信)、あるいはLAN(Local Area Network)端子および送受信回路(有線通信)などが挙げられる。
なお、情報処理装置900のハードウェア構成は、図10に示す構成に限られない。例えば、情報処理装置900は、接続されている外部の通信デバイスを介して通信を行う場合には、通信インタフェース908を備えていなくてもよい。また、通信インタフェース908は、複数の通信方式によって通信を行うことが可能な構成であってもよい。また、情報処理装置900は、例えば、操作入力デバイス906または表示デバイス907等を備えなくてもよい。また、例えば、図10に示す構成の一部または全部は、1または2以上のIC(Integrated Circuit)で実現されてもよい。
<5.備考>
上記では、ノード装置100が、アクセス履歴情報に基づいてユーザ(すなわち主体)によるP2Pデータベース120へのアクセスを制御する旨について説明してきた。ここで、仮に、ユーザがP2Pデータベース120へのアクセスを許可されなかった場合の対応について説明する。
上記では、ノード装置100が、アクセス履歴情報に基づいてユーザ(すなわち主体)によるP2Pデータベース120へのアクセスを制御する旨について説明してきた。ここで、仮に、ユーザがP2Pデータベース120へのアクセスを許可されなかった場合の対応について説明する。
当該対応については様々な態様が考えられるところ、例えば、P2Pデータベース120へのアクセスを許可されなかったユーザは、所定の方法でノード装置100(または情報処理システム)の管理者から承認を得ることによってP2Pデータベース120へのアクセスを許可されてもよい。この場合、クライアント装置200は、管理者から提供された許可情報を要求信号に含めることで、ノード装置100は、当該許可情報に基づいてP2Pデータベース120へのアクセスを許可する。
また、P2Pデータベース120へのアクセスを許可されなかったユーザは、所定の料金を支払うことによってP2Pデータベース120へのアクセスを許可されてもよい。この場合、所定の料金の支払いは、P2Pデータベース120によって管理されているユーザの資産(例えば、Bitcoinにおけるコイン等)に関するデータによって実現されてもよい。
また、P2Pデータベース120へのアクセスが重要であり、かつ、急を要することを示すフラグ情報が設けられてもよい。より具体的には、P2Pデータベース120へのアクセスを許可されなかったユーザが、当該フラグ情報を要求信号に含めることによって、例外的にP2Pデータベース120へのアクセスが許可されてもよい。例えば、この方式は、人命に関わる事件、または災害の発生時に有用であると考えられる。
また、ユーザによるP2Pデータベース120へのアクセスが許可されなかった場合、ノード装置100は、アクセス可能な条件(例えば、アクセス可能なデータの種別、ユーザ(主体)の種別、データのサイズ、または次にアクセス可能なタイミング等)をユーザに対して通知してもよい。なお、仮に、ユーザによるP2Pデータベース120へのアクセスが許可された場合であっても、ノード装置100は、その後のアクセスについての条件(例えば、許容されるアクセス回数の残存値(換言すると、あと何回アクセス可能か、という情報)等)をユーザに対して通知してもよい。なお、ノード装置100は、これらの通知をクライアント装置200に対して行うのではなく、クライアント装置200以外の所定の外部装置(例えば所定のサーバ装置)に対して行ってもよい。これによって、当該外部装置によって提供される所定のサービスを介してこれらの通知が行われ得る。
また、ユーザによるP2Pデータベース120へのアクセスが許可されなかった場合、ノード装置100は、当該ユーザがアクセス可能な状態になったときに自律的にP2Pデータベース120へのアクセスを行うことでユーザによる要求に関する処理(例えばデータの登録、またはデータの取得等)を行ってもよい。これによって、ユーザがクライアント装置200を用いて要求信号をノード装置100へ再度送信する必要がなくなる。
なお、上記で説明したノード装置100による各種処理は、ノード装置100の制御部110、またはP2Pデータベースプログラム121等によって実現され得るが、必ずしもこれに限定されない。例えば、上記で説明した各種処理は、ノード装置100以外の所定のサーバ装置とノード装置100が連携することによって実現されてもよい。
<6.まとめ>
以上で説明してきたように、本開示に係るノード装置100は、任意の主体によるP2Pデータベース120へのアクセスに関する履歴情報(アクセス履歴情報)を集計し、集計後のアクセス履歴情報(第2の履歴情報)に基づいて当該主体によるP2Pデータベース120への新たなアクセスを制御することができる。例えば、本開示に係るノード装置100は、集計後のアクセス履歴情報(第2の履歴情報)である、所定の長さの期間(例えば1日間)における、ある主体によるP2Pデータベース120へのデータ登録の合計回数と所定の閾値とを比較することで、当該主体によるP2Pデータベース120への新たなデータ登録の可否を判断することができる。
以上で説明してきたように、本開示に係るノード装置100は、任意の主体によるP2Pデータベース120へのアクセスに関する履歴情報(アクセス履歴情報)を集計し、集計後のアクセス履歴情報(第2の履歴情報)に基づいて当該主体によるP2Pデータベース120への新たなアクセスを制御することができる。例えば、本開示に係るノード装置100は、集計後のアクセス履歴情報(第2の履歴情報)である、所定の長さの期間(例えば1日間)における、ある主体によるP2Pデータベース120へのデータ登録の合計回数と所定の閾値とを比較することで、当該主体によるP2Pデータベース120への新たなデータ登録の可否を判断することができる。
また、第2の実施形態に係るノード装置100は、過去に行われたP2Pデータベース120へのアクセスを事前に集計することで第2の履歴情報を出力し、当該第2の履歴情報をP2Pデータベース120に登録しておく。これによって、第2の実施形態に係るノード装置100は、クライアント装置200からの要求信号が受信されてからP2Pデータベース120へのアクセス制御を行う(アクセスの可否を判断する)までに要する時間を短縮することができる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、前記主体による前記P2Pデータベースへの新たなアクセスを制御するアクセス制御部を備える、
情報処理装置。
(2)
前記アクセス制御部は、前記履歴情報に基づいて前記新たなアクセスの可否を判断する、
前記(1)に記載の情報処理装置。
(3)
前記アクセスは、前記P2Pデータベースへのデータの登録、または前記P2Pデータベースからのデータの取得のうちの少なくともいずれか一つを含む、
前記(1)または(2)に記載の情報処理装置。
(4)
前記アクセス制御部は、前記履歴情報として、過去に行われた前記アクセスの合計回数、所定の長さの期間において行われた前記アクセスの合計回数、過去に行われた前記アクセスにおける前記データの合計サイズ、または前記所定の長さの期間において行われた前記アクセスにおける前記データの合計サイズのうちの少なくともいずれか一つに基づいて前記新たなアクセスを制御する、
前記(3)に記載の情報処理装置。
(5)
前記アクセス制御部は、前記データの種別、または前記主体の種別に応じて前記新たなアクセスの制御ロジックを変更する、
前記(3)または(4)に記載の情報処理装置。
(6)
前記履歴情報は、前記主体によって過去に行われた複数回の前記アクセスそれぞれに関する第1の履歴情報を集計することで得られた第2の履歴情報を含む、
前記(1)から(5)のいずれか1項に記載の情報処理装置。
(7)
前記第2の履歴情報を前記P2Pデータベースに登録する履歴登録部をさらに備え、
前記アクセス制御部は、前記P2Pデータベースに登録された前記第2の履歴情報に基づいて前記新たなアクセスを制御する、
前記(6)に記載の情報処理装置。
(8)
前記主体は、ユーザ、複数人の前記ユーザによって構成されるグループ、所定の外部装置、複数台の前記外部装置によって構成されるシステム、または前記外部装置によって用いられるソフトウェアのうちの少なくともいずれか一つを含む、
前記(1)から(7)のいずれか1項に記載の情報処理装置。
(9)
前記アクセス制御部は、前記P2Pデータベースに設けられ、前記P2Pデータベース上で実行される所定のプログラムによって具現される、
前記(1)から(8)のいずれか1項に記載の情報処理装置。
(10)
前記P2Pデータベースはブロックチェーンデータである、
前記(1)から(9)のいずれか1項に記載の情報処理装置。
(11)
任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、前記主体による前記P2Pデータベースへの新たなアクセスを制御することを有する、
コンピュータにより実行される情報処理方法。
(12)
任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、前記主体による前記P2Pデータベースへの新たなアクセスを制御することを、
コンピュータに実現させるためのプログラム。
(1)
任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、前記主体による前記P2Pデータベースへの新たなアクセスを制御するアクセス制御部を備える、
情報処理装置。
(2)
前記アクセス制御部は、前記履歴情報に基づいて前記新たなアクセスの可否を判断する、
前記(1)に記載の情報処理装置。
(3)
前記アクセスは、前記P2Pデータベースへのデータの登録、または前記P2Pデータベースからのデータの取得のうちの少なくともいずれか一つを含む、
前記(1)または(2)に記載の情報処理装置。
(4)
前記アクセス制御部は、前記履歴情報として、過去に行われた前記アクセスの合計回数、所定の長さの期間において行われた前記アクセスの合計回数、過去に行われた前記アクセスにおける前記データの合計サイズ、または前記所定の長さの期間において行われた前記アクセスにおける前記データの合計サイズのうちの少なくともいずれか一つに基づいて前記新たなアクセスを制御する、
前記(3)に記載の情報処理装置。
(5)
前記アクセス制御部は、前記データの種別、または前記主体の種別に応じて前記新たなアクセスの制御ロジックを変更する、
前記(3)または(4)に記載の情報処理装置。
(6)
前記履歴情報は、前記主体によって過去に行われた複数回の前記アクセスそれぞれに関する第1の履歴情報を集計することで得られた第2の履歴情報を含む、
前記(1)から(5)のいずれか1項に記載の情報処理装置。
(7)
前記第2の履歴情報を前記P2Pデータベースに登録する履歴登録部をさらに備え、
前記アクセス制御部は、前記P2Pデータベースに登録された前記第2の履歴情報に基づいて前記新たなアクセスを制御する、
前記(6)に記載の情報処理装置。
(8)
前記主体は、ユーザ、複数人の前記ユーザによって構成されるグループ、所定の外部装置、複数台の前記外部装置によって構成されるシステム、または前記外部装置によって用いられるソフトウェアのうちの少なくともいずれか一つを含む、
前記(1)から(7)のいずれか1項に記載の情報処理装置。
(9)
前記アクセス制御部は、前記P2Pデータベースに設けられ、前記P2Pデータベース上で実行される所定のプログラムによって具現される、
前記(1)から(8)のいずれか1項に記載の情報処理装置。
(10)
前記P2Pデータベースはブロックチェーンデータである、
前記(1)から(9)のいずれか1項に記載の情報処理装置。
(11)
任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、前記主体による前記P2Pデータベースへの新たなアクセスを制御することを有する、
コンピュータにより実行される情報処理方法。
(12)
任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、前記主体による前記P2Pデータベースへの新たなアクセスを制御することを、
コンピュータに実現させるためのプログラム。
100 ノード装置
110 制御部
120 P2Pデータベース
121 P2Pデータベースプログラム
121a 履歴取得部
121b アクセス制御部
121c 履歴登録部
130 通信部
200 クライアント装置
210 制御部
220 入力部
230 出力部
240 記憶部
250 通信部
300 P2Pネットワーク
400 ネットワーク
110 制御部
120 P2Pデータベース
121 P2Pデータベースプログラム
121a 履歴取得部
121b アクセス制御部
121c 履歴登録部
130 通信部
200 クライアント装置
210 制御部
220 入力部
230 出力部
240 記憶部
250 通信部
300 P2Pネットワーク
400 ネットワーク
Claims (12)
- 任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、前記主体による前記P2Pデータベースへの新たなアクセスを制御するアクセス制御部を備える、
情報処理装置。 - 前記アクセス制御部は、前記履歴情報に基づいて前記新たなアクセスの可否を判断する、
請求項1に記載の情報処理装置。 - 前記アクセスは、前記P2Pデータベースへのデータの登録、または前記P2Pデータベースからのデータの取得のうちの少なくともいずれか一つを含む、
請求項1に記載の情報処理装置。 - 前記アクセス制御部は、前記履歴情報として、過去に行われた前記アクセスの合計回数、所定の長さの期間において行われた前記アクセスの合計回数、過去に行われた前記アクセスにおける前記データの合計サイズ、または前記所定の長さの期間において行われた前記アクセスにおける前記データの合計サイズのうちの少なくともいずれか一つに基づいて前記新たなアクセスを制御する、
請求項3に記載の情報処理装置。 - 前記アクセス制御部は、前記データの種別、または前記主体の種別に応じて前記新たなアクセスの制御ロジックを変更する、
請求項3に記載の情報処理装置。 - 前記履歴情報は、前記主体によって過去に行われた複数回の前記アクセスそれぞれに関する第1の履歴情報を集計することで得られた第2の履歴情報を含む、
請求項1に記載の情報処理装置。 - 前記第2の履歴情報を前記P2Pデータベースに登録する履歴登録部をさらに備え、
前記アクセス制御部は、前記P2Pデータベースに登録された前記第2の履歴情報に基づいて前記新たなアクセスを制御する、
請求項6に記載の情報処理装置。 - 前記主体は、ユーザ、複数人の前記ユーザによって構成されるグループ、所定の外部装置、複数台の前記外部装置によって構成されるシステム、または前記外部装置によって用いられるソフトウェアのうちの少なくともいずれか一つを含む、
請求項1に記載の情報処理装置。 - 前記アクセス制御部は、前記P2Pデータベースに設けられ、前記P2Pデータベース上で実行される所定のプログラムによって具現される、
請求項1に記載の情報処理装置。 - 前記P2Pデータベースはブロックチェーンデータである、
請求項1に記載の情報処理装置。 - 任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、前記主体による前記P2Pデータベースへの新たなアクセスを制御することを有する、
コンピュータにより実行される情報処理方法。 - 任意の主体によるP2Pデータベースへのアクセスに関する履歴情報に基づいて、前記主体による前記P2Pデータベースへの新たなアクセスを制御することを、
コンピュータに実現させるためのプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP19781564.0A EP3779756A4 (en) | 2018-04-02 | 2019-01-28 | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM |
| US16/963,412 US20210089673A1 (en) | 2018-04-02 | 2019-01-28 | Information processing apparatus, information processing method, and program |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018070788A JP2021103342A (ja) | 2018-04-02 | 2018-04-02 | 情報処理装置、情報処理方法、およびプログラム |
| JP2018-070788 | 2018-04-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019193820A1 true WO2019193820A1 (ja) | 2019-10-10 |
Family
ID=68100431
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2019/002741 Ceased WO2019193820A1 (ja) | 2018-04-02 | 2019-01-28 | 情報処理装置、情報処理方法、およびプログラム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20210089673A1 (ja) |
| EP (1) | EP3779756A4 (ja) |
| JP (1) | JP2021103342A (ja) |
| WO (1) | WO2019193820A1 (ja) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11394761B1 (en) | 2019-09-27 | 2022-07-19 | Amazon Technologies, Inc. | Execution of user-submitted code on a stream of data |
| US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
| US11416628B2 (en) * | 2019-09-27 | 2022-08-16 | Amazon Technologies, Inc. | User-specific data manipulation system for object storage service based on user-submitted code |
| US11250007B1 (en) | 2019-09-27 | 2022-02-15 | Amazon Technologies, Inc. | On-demand execution of object combination code in output path of object storage service |
| US11656892B1 (en) | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
| US11360948B2 (en) | 2019-09-27 | 2022-06-14 | Amazon Technologies, Inc. | Inserting owner-specified data processing pipelines into input/output path of object storage service |
| US11263220B2 (en) | 2019-09-27 | 2022-03-01 | Amazon Technologies, Inc. | On-demand execution of object transformation code in output path of object storage service |
| US12355771B2 (en) * | 2021-07-29 | 2025-07-08 | Raytheon Company | Auditable and tamper-resistant remote zero trust access |
| US20250148349A1 (en) * | 2023-11-06 | 2025-05-08 | Nvidia Corporation | Distributed computing model execution system |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008072710A (ja) | 2001-01-25 | 2008-03-27 | David Sidman | ピア環境において情報アクセスを実行するための装置、方法及びシステム |
| JP2008299553A (ja) * | 2007-05-31 | 2008-12-11 | National Institute Of Information & Communication Technology | 情報処理システム、コアサーバ装置、およびプログラム |
| US20170034197A1 (en) * | 2015-07-31 | 2017-02-02 | British Telecommunications Public Limited Company | Mitigating blockchain attack |
| WO2017170679A1 (ja) * | 2016-03-31 | 2017-10-05 | 株式会社bitFlyer | プライベートノード、プライベートノードにおける処理方法、及びそのためのプログラム |
| JP2018005818A (ja) * | 2016-07-08 | 2018-01-11 | 日本電信電話株式会社 | 異常検知システム及び異常検知方法 |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7478157B2 (en) * | 2001-11-07 | 2009-01-13 | International Business Machines Corporation | System, method, and business methods for enforcing privacy preferences on personal-data exchanges across a network |
| US8590013B2 (en) * | 2002-02-25 | 2013-11-19 | C. S. Lee Crawford | Method of managing and communicating data pertaining to software applications for processor-based devices comprising wireless communication circuitry |
| JP3988995B2 (ja) * | 2003-03-14 | 2007-10-10 | ソニー・エリクソン・モバイルコミュニケーションズ株式会社 | 情報処理装置および方法、記録媒体、並びにプログラム |
| WO2005008524A1 (en) * | 2003-07-16 | 2005-01-27 | Joltid Ltd. | Distributed database system |
| US20080091883A1 (en) * | 2006-10-12 | 2008-04-17 | International Business Machines Corporation | Load starvation detector and buster |
| DE102008019103A1 (de) * | 2008-04-16 | 2009-10-22 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zum Umschlüsseln bei einer verschlüsselungsbasierten Zugriffskontrolle auf eine Datenbank |
| WO2016097757A1 (en) * | 2014-12-18 | 2016-06-23 | Sophos Limited | A method and system for network access control based on traffic monitoring and vulnerability detection using process related information |
| US10193696B2 (en) * | 2015-06-02 | 2019-01-29 | ALTR Solutions, Inc. | Using a tree structure to segment and distribute records across one or more decentralized, acylic graphs of cryptographic hash pointers |
| US10044729B1 (en) * | 2015-12-01 | 2018-08-07 | Microsoft Technology Licensing, Llc | Analyzing requests to an online service |
| US10693658B2 (en) * | 2016-02-12 | 2020-06-23 | Visa International Service Association | Methods and systems for using digital signatures to create trusted digital asset transfers |
| US10628597B2 (en) * | 2016-04-14 | 2020-04-21 | Sophos Limited | Just-in-time encryption |
| WO2017152150A1 (en) * | 2016-03-04 | 2017-09-08 | ShoCard, Inc. | Method and system for authenticated login using static or dynamic codes |
| US10657014B2 (en) * | 2017-02-27 | 2020-05-19 | Everspin Technologies, Inc. | Methods for monitoring and managing memory devices |
| CN108694189B (zh) * | 2017-04-07 | 2022-01-21 | 微软技术许可有限责任公司 | 共同所有权的数据库系统的管理 |
| EP3683707A4 (en) * | 2017-09-14 | 2020-10-14 | Sony Corporation | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROCESS AND PROGRAM |
| US11310275B2 (en) * | 2018-01-31 | 2022-04-19 | Sophos Limited | Managing admission of unrecognized devices onto an enterprise network |
| US10742674B1 (en) * | 2018-03-29 | 2020-08-11 | Architecture Technology Corporation | Systems and methods for segmented attack prevention in internet of things (IoT) networks |
-
2018
- 2018-04-02 JP JP2018070788A patent/JP2021103342A/ja active Pending
-
2019
- 2019-01-28 EP EP19781564.0A patent/EP3779756A4/en not_active Withdrawn
- 2019-01-28 US US16/963,412 patent/US20210089673A1/en not_active Abandoned
- 2019-01-28 WO PCT/JP2019/002741 patent/WO2019193820A1/ja not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008072710A (ja) | 2001-01-25 | 2008-03-27 | David Sidman | ピア環境において情報アクセスを実行するための装置、方法及びシステム |
| JP2008299553A (ja) * | 2007-05-31 | 2008-12-11 | National Institute Of Information & Communication Technology | 情報処理システム、コアサーバ装置、およびプログラム |
| US20170034197A1 (en) * | 2015-07-31 | 2017-02-02 | British Telecommunications Public Limited Company | Mitigating blockchain attack |
| WO2017170679A1 (ja) * | 2016-03-31 | 2017-10-05 | 株式会社bitFlyer | プライベートノード、プライベートノードにおける処理方法、及びそのためのプログラム |
| JP2018005818A (ja) * | 2016-07-08 | 2018-01-11 | 日本電信電話株式会社 | 異常検知システム及び異常検知方法 |
Non-Patent Citations (2)
| Title |
|---|
| MURAKAMI, YOHEI ET AL.: "Service grid architecture for service-oriented collective intelligence", IEICE TECHNICAL REPORT, vol. 110, no. 428, 2011, pages 7 - 12, XP009521808, ISSN: 0913-5685 * |
| See also references of EP3779756A4 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3779756A4 (en) | 2021-06-02 |
| EP3779756A1 (en) | 2021-02-17 |
| JP2021103342A (ja) | 2021-07-15 |
| US20210089673A1 (en) | 2021-03-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2019193820A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
| JP2022529967A (ja) | ブロックチェーン・ネットワークからのデータの抽出 | |
| WO2021217863A1 (zh) | 订单标识生成方法、装置、服务器及存储介质 | |
| US9769203B2 (en) | Methods, systems, and apparatus for mitigating network-based attacks | |
| JP7188391B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
| JPWO2019111508A1 (ja) | 情報処理装置、情報処理方法およびプログラム | |
| US11403424B2 (en) | Information processing apparatus and information processing method | |
| WO2020066399A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
| WO2018211834A1 (ja) | 情報処理装置および情報処理方法 | |
| JP7327384B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
| US20200279056A1 (en) | Information processing device, information processing method, and program | |
| US11354309B2 (en) | Information processing apparatus and information processing method | |
| US20240020299A1 (en) | Api management for batch processing | |
| US20260019288A1 (en) | Blockchain and artificial intelligence for secure data management | |
| US12045256B2 (en) | Tracing data in complex replication system | |
| WO2019193833A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
| CN120218926A (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
| JP2022002351A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
| HK40038196A (en) | Artificial intelligence-based business processing method and apparatus, and electronic device |
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: 19781564 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: 2019781564 Country of ref document: EP Effective date: 20201102 |
|
| NENP | Non-entry into the national phase |
Ref country code: JP |