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

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

Info

Publication number
WO2019193823A1
WO2019193823A1 PCT/JP2019/003210 JP2019003210W WO2019193823A1 WO 2019193823 A1 WO2019193823 A1 WO 2019193823A1 JP 2019003210 W JP2019003210 W JP 2019003210W WO 2019193823 A1 WO2019193823 A1 WO 2019193823A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
database
request
user
control unit
Prior art date
Application number
PCT/JP2019/003210
Other languages
English (en)
French (fr)
Inventor
恒樹 高橋
一弘 渡邊
政明 礒津
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US16/962,650 priority Critical patent/US20210144195A1/en
Priority to JP2020511613A priority patent/JP7327384B2/ja
Priority to EP19781128.4A priority patent/EP3779703B1/en
Priority to CN201980010016.1A priority patent/CN111656328A/zh
Publication of WO2019193823A1 publication Critical patent/WO2019193823A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Definitions

  • the present disclosure relates to an information processing apparatus, an information processing method, and a program.
  • Patent Document 1 discloses a file sharing system that can enjoy the advantages of both a peer-to-peer type and a C / S type (client server type). By using the system, the user can easily determine whether each data is stored in a peer-to-peer type folder or a C / S type folder (storage unit).
  • the present disclosure has been made in view of the above, and the present disclosure can more appropriately confirm whether a data registration destination is a peer-to-peer database or a storage unit other than the peer-to-peer database.
  • a new and improved information processing apparatus, information processing method, and program are provided.
  • requesting information regarding whether a data registration destination is a P2P database or a storage unit other than the P2P database to a plurality of different objects and a result of the request
  • An information processing method executed by a computer the method including: controlling output of information obtained as a user to a user.
  • requesting information regarding whether a data registration destination is a P2P database or a storage unit other than the P2P database to a plurality of different objects, and a result of the request And a program for causing a computer to control output of information obtained as described above to a user.
  • a data registration destination is a peer-to-peer database or a storage unit other than a peer-to-peer database.
  • FIG. 3 is a block diagram illustrating an example of a functional configuration of a storage apparatus 400 according to the present embodiment. It is a sequence diagram which shows an example of the flow of a process by each apparatus regarding provision of the data and registration destination information with respect to a user. It is a figure which shows UI example which shows the registration destination information of data. It is a figure which shows UI example which shows the registration destination information of data. It is a figure which shows UI example which shows the registration destination information of data. It is a figure which shows UI example which shows the registration destination information of data. It is a figure which shows UI example which shows the registration destination information of data. It is a figure which shows UI example which shows UI example which shows the registration destination information of data. It is a figure which shows UI example which shows the registration destination information of data.
  • UI example which shows the registration destination information of data. It is a figure which shows UI example which shows the registration destination information of data. It is a figure which shows UI example which shows the registration destination information of data. It is a figure which shows UI example which shows the registration destination information of data. It is a figure which shows UI example which shows the registration destination information of data. It is a figure which shows UI example which shows the registration destination information of data. It is a figure which shows UI example which shows the registration destination information of data. It is a figure which shows the example of UI used for the confirmation to the 2nd object about the registration destination information of data. It is a figure which shows UI example which shows the historical information regarding the appending to data. It is a figure which shows the example of UI used for registration to the P2P database 321 of data.
  • FIG. 4 is a diagram illustrating an example of a UI indicating that data is registered in a storage apparatus 400.
  • FIG. 4 is a diagram illustrating an example of a UI indicating that data is registered in a storage apparatus 400.
  • FIG. It is a block diagram which shows the hardware structural example of the information processing apparatus 900 which implement
  • 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.
  • other target data different from virtual currency can be used for blockchain data used for exchanging existing virtual currency data, such as Bitcoin blockchain data. Can also be included.
  • Embodiment> The overview of the P2P database has been described above. Subsequently, an embodiment of the present disclosure will be described.
  • the P2P database can ensure the authenticity of the data being managed.
  • the reliability (or authenticity) of the registered data is different between the P2P database and the other storage unit. It may be necessary to recognize whether the registration destination is a P2P database or another storage unit.
  • the user can easily determine in which folder (storage unit) each of the data is stored in the peer-to-peer type or the C / S type.
  • the user cannot confirm the authenticity of the data registration destination information provided from the system. Therefore, the user is forced to trust the registration destination information provided from the system, but the registration destination information provided from the system may be falsified.
  • the present disclosure person has created the technology according to the present disclosure in view of the above circumstances.
  • the present disclosure requests information regarding whether a data registration destination is a P2P database or another storage unit from a plurality of different targets, and outputs information obtained as a result of the request to a user be able to.
  • the user can confirm the authenticity of the data registration destination information provided from the system. That is, the present disclosure makes it possible to more appropriately confirm whether the registration destination of data is a P2P database or another storage unit.
  • the present disclosure will be described in detail.
  • the information processing system includes a client device 100, a server device 200, a plurality of node devices 300 (in the figure, node devices 300a to 300d), and a storage device 400. And comprising.
  • a plurality of node devices 300 are connected to the P2P network 500, respectively.
  • the client device 100 and the server device 200 are connected by a network 600a
  • the server device 200 and the node device 300a are connected by a network 600b
  • the server device 200 and the storage device 400 are connected by a network 600c.
  • the information processing system is related to a student's learning achievement record (for example, examination results, acquisition units, acquisition qualifications, etc.) Records) and student activity records (for example, records relating to club activities, student council activities, attendance, etc.) (hereinafter referred to as “learning arrival / activity record service” for convenience)
  • a student's learning achievement record for example, examination results, acquisition units, acquisition qualifications, etc. Records
  • student activity records for example, records relating to club activities, student council activities, attendance, etc.
  • an institution for example, a nursery school, a kindergarten, an elementary school, a junior high school, a high school, a university, a graduate school, a cram school, a prep school, or a qualified school.
  • the user who uses the information processing system includes, but is not limited to, a lecturer who belongs to each educational institution.
  • the user who uses the information processing system may include the student himself / herself, the guardian of the student, or any company that intends to use the student's learning record.
  • data with higher importance that guarantees authenticity is managed in the P2P database provided in the node device 300, and other data is managed in the storage device 400. Let's say.
  • the client device 100 is an information processing device used by a user who receives a learning achievement / activity recording service. For example, the user obtains data related to the learning arrival record or activity record of the student registered in the P2P database or the storage device 400 via the server device 200 by performing an input operation on the client device 100. At the same time, it is possible to recognize whether the registration destination of the data is the P2P database or the storage apparatus 400.
  • the client device 100 transmits a request signal for requesting the data to the server device 200.
  • the request signal is also a signal for requesting registration destination information regarding whether the registration destination of the data is the P2P database or the storage apparatus 400.
  • the server apparatus 200 that has received the request signal acquires the target data from the P2P database provided in the node apparatus 300 or the storage apparatus 400, and provides the data to the client apparatus 100 together with the registration destination information.
  • the client device 100 includes an output unit (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, an actuator, or the like that functions as a user interface (hereinafter also referred to as “UI” for convenience).
  • UI user interface
  • the data and the registration destination information are provided to the user via the tactile sense presentation device. Thereby, the user can not only obtain desired data but also recognize registration destination information of the data.
  • the “target” for which the client apparatus 100 requests registration destination information refers to the node apparatus 300 connected to the P2P network 500 and a predetermined apparatus that can access the node apparatus 300 (for example, a predetermined server apparatus).
  • predetermined software or the like for example, predetermined API (Application Programming Interface)
  • the client device 100 requests registration destination information from the node device 300a via the server device 200 (the request target of the registration destination information may be interpreted as the server device 200).
  • the client apparatus 100 requests registration destination information from a node apparatus 300 different from the preceding stage (or a server apparatus 200 different from the preceding stage). Accordingly, even when the registration destination information provided to the client device 100 in the previous stage has been falsified, the user can recognize the occurrence of falsification based on the registration destination information provided from a different target. .
  • a target for which the client device 100 requests registration destination information via the server device 200 is defined as a “first target”, and a target different from the previous stage in which the client device 100 requests registration destination information thereafter. It is defined as “second object”.
  • the target for which the client apparatus 100 requests registration destination information is not limited to the above example.
  • the “registration destination information” is “information regarding whether the registration destination of the target data is the P2P database or the storage apparatus 400”.
  • the “registration destination information” (that is, “information regarding whether the registration destination of the target data is the P2P database or the storage apparatus 400”) is “information regarding whether the registration destination of the target data is the P2P database”.
  • it may be interpreted as a concept including “information on whether or not the registration destination of the target data is the storage apparatus 400”.
  • the “registration destination information” is “P2P database (or P2P It may be interpreted as a concept including “information regarding whether the network 500) is”.
  • the registration destination information required for the first target and the registration destination information required for the second target may have the same contents or different contents.
  • the registration destination information requested for the first target is “information regarding whether the registration destination of the target data is the P2P database or the storage device 400”, and is requested for the second target.
  • the registration destination information may be “information regarding whether or not the registration destination of the target data is the P2P database (whether or not it is definitely registered in the P2P database)”.
  • the request signal transmitted from the client device 100 may not include information indicating that the registration destination information is requested. For example, if the client device 100 transmits some signal to the server device 200 and the client device 100 can acquire the registration destination information from the server device 200 as a result, the “request for registration destination information” is performed. May be interpreted as broken.
  • the user who uses the client device 100 is basically an individual, but the present invention is not limited to this.
  • the user includes any organization or any organization (eg, company, association, circle, etc.).
  • the processing content of the server apparatus 200 is not limited to the above.
  • the server device 200 may acquire data by transmitting a request signal to both the node device 300 and the storage device 400 without analyzing the request signal received from the client device 100. Further, even when the server apparatus 200 has not received a request signal from the client apparatus 100, the server apparatus 200 may acquire data from the node apparatus 300 or the storage apparatus 400 and provide the data to the client apparatus 100. Further, as with the client device 100, the type of the server device 200 is not particularly limited.
  • the node device 300 acquires data from the P2P database and registers data in the P2P database.
  • the data acquisition will be described.
  • the node device 300 acquires data specified by the request signal from the P2P database and provides the data to the server device 200. Further, the data registration will be described.
  • the node device 300 receives a request signal for data registration from the server device 200, the node device 300 registers the data included in the request signal in the P2P database.
  • the case where the node device 300 acquires data from the P2P database and the case where data is registered in the P2P database are not limited to the above. For example, even when the node device 300 has not received a request signal from the server device 200, the node device 300 may acquire data from the P2P database and provide the data to the server device 200.
  • the node device 300 is basically provided in the P2P database and registered in the P2P database when data is registered in the P2P database and when data is acquired from the P2P database. For convenience, this is referred to as “P2P database program”).
  • P2P database program By using the P2P database program, for example, various processes including virtual currency transactions such as Bitcoin are realized according to predetermined rules. Further, by providing the P2P database program in the P2P database, 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 300 may appropriately acquire data from the P2P database and register data in the P2P database using a program other than the P2P database program.
  • the type of the node device 300 is not particularly limited.
  • the storage device 400 is a predetermined storage device that is used together with the P2P database in the information processing system according to the present embodiment. More specifically, the storage device 400 can store various data provided to the client device 100 via the server device 200.
  • the data stored in the storage device 400 is, for example, data relating to student learning achievement records, activity records, and the like. The contents of data stored in the storage device 400 are not limited to these.
  • the storage apparatus 400 receives a request signal from the server apparatus 200
  • the storage apparatus 400 acquires data specified by the request signal and provides the data to the server apparatus 200.
  • the processing content of the storage apparatus 400 is not limited to the above.
  • the storage apparatus 400 may provide arbitrary data to the server apparatus 200 even when the request signal is not received from the server apparatus 200.
  • the type of the storage device 400 is not particularly limited.
  • the P2P network 500 is a network in which a P2P database is distributed. As described above, each node device 300 can update the P2P database while maintaining consistency with the P2P database held by the other node devices 300 by connecting to the P2P network 500.
  • the type of the P2P network 500 is not particularly limited.
  • the P2P network 500 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 and line type used in the P2P network 500 are not particularly limited.
  • the P2P network 500 may be realized by a dedicated line network such as an IP-VPN (Internet Protocol-Virtual Private Network).
  • the P2P network 500 is realized by a public line network such as the Internet, a telephone line network, a satellite communication network, various local area networks (LANs) including Ethernet (registered trademark), a wide area network (WAN), and the like. Also good.
  • the P2P network 500 may be realized by a wireless communication network such as Wi-Fi (registered trademark) or Bluetooth (registered trademark).
  • the network 600 is a network that connects the client device 100 and the server device 200, the server device 200 and the node device 300, and the server device 200 and the storage device 400. Similar to the P2P network 500, the communication method and line type used for the network 600 are not particularly limited.
  • the client device 100 includes a control unit 110, an input unit 120, an output unit 130, a storage unit 140, and a communication unit 150.
  • the control unit 110 has a functional configuration that comprehensively controls the overall processing performed by the client device 100.
  • the control unit 110 can control activation and stop of the output unit 130 or the communication unit 150 using the control signal.
  • 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 request unit 111 has a functional configuration for making various requests including acquisition of data, registration, confirmation of data registration, and the like with respect to an external device. As illustrated in FIG. 5, the request unit 111 includes a first request unit 111a and a second request unit 111b.
  • the first request unit 111a has a functional configuration for making various requests including acquisition of data, registration, confirmation of the presence / absence of data registration, and the like with respect to the first target. More specifically, when the user performs an input operation requesting acquisition of desired data using the input unit 120, the first request unit 111a requests acquisition of data based on the input operation. The request signal is generated, and the signal is transmitted to the server apparatus 200 via the communication unit 150. Thus, the first request unit 111a can achieve acquisition of desired data from the node device 300 or the storage device 400 and acquisition of registration destination information of the data.
  • the second request unit 111b has a functional configuration that makes various requests including acquisition of data, registration, confirmation of the presence / absence of data registration, and the like with respect to the second target. More specifically, in the second request unit 111b, the user who has confirmed the registration destination information obtained as a result of the request for the first target requests registration destination information of desired data using the input unit 120. When the input operation is performed, the second request unit 111b generates a request signal for requesting the registration destination information, and transmits the signal to the second target via the communication unit 150. Thus, the user can confirm the authenticity of the data registration destination information provided from the server device 200 by himself / herself.
  • the output control unit 112 has a functional configuration for controlling the output of data obtained as a result of the request by the first request unit 111a or the second request unit 111b to the user (in other words, the output control unit 112 is Control the provision of UI). More specifically, the output control unit 112 controls the output of user-desired data obtained as a result of the request by the first request unit 111a and the registration destination information of the data, or the second request unit The output of registration destination information obtained as a result of the request by 111b is controlled. At this time, if acquisition of registration destination information has failed (or if the data registration destination is unknown), the output control unit 112 may control the output to that effect.
  • the output control unit 112 outputs registration destination information and the like by controlling 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 provided in the output unit 130. To control. A specific example of the UI realized by the output control unit 112 will be described later. As described above, the server apparatus 200 may control the provision of the UI by providing the output control unit 112 in the server apparatus 200.
  • the input unit 120 has a functional configuration that receives input from the user.
  • the input unit 120 includes an input device such as a mouse, a keyboard, a touch panel, a button, a switch, or a microphone, and the user requests acquisition or registration of desired data by using these input devices. The input operation can be performed.
  • the input device with which the input part 120 is provided is not limited to these.
  • the storage unit 140 has a functional configuration that stores various data.
  • the storage unit 140 stores data obtained as a result of a request by the first request unit 111a or the second request unit 111b, registration destination information of the data, and the like, and each function of the client device 100 Stores programs or parameters used by the configuration. Note that the data stored in the storage unit 140 is not limited to these.
  • the communication unit 150 has a functional configuration that controls various types of communication with external devices. For example, the communication unit 150 transmits a request signal generated by the first request unit 111a to the server device 200, and receives a response signal including data specified by the request signal or registration destination information of the data. Receive. In addition, the communication unit 150 transmits the request signal generated by the second request unit 111b to the second target (or an external device that can communicate with the second target), and data specified by the request signal. The response signal including the registration destination information is received. In addition, the data which the communication part 150 communicates, and the case where it communicates are not limited to these.
  • the functional configuration example of the client device 100 has been described above. Note that the above-described functional configuration described with reference to FIG. 5 is merely an example, and the functional configuration of the client apparatus 100 is not limited to such an example. For example, the client device 100 does not necessarily have all of the configurations shown in FIG. Further, the functional configuration of the client apparatus 100 can be flexibly modified according to specifications and operations.
  • the server device 200 includes a control unit 210, a storage unit 220, and a communication unit 230.
  • the access control unit 211 has a functional configuration that controls access to the node device 300 or the storage device 400, and includes a P2P database access control unit 211a and a storage access control unit 211b.
  • the access control unit 211 recognizes the request content by analyzing the request signal.
  • the access control unit 211 realizes access to the P2P database using the P2P database access control unit 211a.
  • the access control unit 211 realizes access to the storage apparatus 400 using the storage access control unit 211b.
  • the P2P database access control unit 211a and the storage access control unit 211b included in the access control unit 211 may be implemented as one functional configuration by being integrated.
  • the P2P database access control unit 211a has a functional configuration that realizes access to the P2P database based on a request signal from the client device 100. More specifically, when it is determined by the analysis of the request signal from the client device 100 that data acquisition from the P2P database is necessary, the P2P database access control unit 211a acquires the data based on the request content. A new request signal for requesting the request is generated, and the request signal is transmitted to the node device 300. As a result, the P2P database access control unit 211a realizes acquisition of data from the P2P database and registration of data in the P2P database. Note that the above processing by the P2P database access control unit 211a can be changed as appropriate.
  • the P2P database access control unit 211a may transmit the request signal transmitted from the client device 100 to the node device 300 as it is. Even when the server apparatus 200 has not received the request signal from the client apparatus 100, the P2P database access control unit 211a may access the P2P database.
  • the storage access control unit 211 b has a functional configuration that realizes access to the storage apparatus 400 based on a request signal from the client apparatus 100. More specifically, when it is determined that it is necessary to acquire data from the storage apparatus 400 by analyzing a request signal from the client apparatus 100, the storage access control unit 211b acquires the data based on the request contents. A new request signal for requesting the request is generated, and the request signal is transmitted to the storage apparatus 400. Accordingly, the storage access control unit 211b realizes acquisition of data from the storage apparatus 400 and registration of data in the storage apparatus 400. The above processing by the storage access control unit 211b can be changed as appropriate.
  • the communication unit 230 has a functional configuration that controls various types of communication with external devices. For example, the communication unit 230 receives a request signal for requesting acquisition of user-desired data from the client device 100. And the communication part 230 transmits the request signal produced
  • the communication unit 230 transmits a response signal including data acquired from the node device 300 or the storage device 400 and registration destination information to the client device 100.
  • the data which the communication part 230 communicates, and the case where it communicates are not limited to these.
  • the functional configuration example of the server 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 server apparatus 200 is not limited to such an example. For example, the server device 200 does not necessarily have all of the configurations shown in FIG. Further, the functional configuration of the server device 200 can be flexibly modified according to specifications and operations.
  • the node device 300 includes a control unit 310, a storage unit 320, and a communication unit 330.
  • the control unit 310 has a functional configuration that comprehensively controls the overall processing performed by the node device 300.
  • the control unit 310 can control activation and stop of the output unit (not shown), the communication unit 330, or the like using the control signal.
  • the control unit 310 controls data acquisition processing from the P2P database 321 or data registration processing in the P2P database 321 based on a request signal provided from the server device 200.
  • the control unit 310 may control these processes (data acquisition process or data registration process) based on the access authority and the like that the user has.
  • the control content of the control part 310 is not limited to these.
  • the control unit 310 may control processes generally performed in various servers, general-purpose computers, PCs, tablet PCs, and the like.
  • the P2P database 321 is a database that is commonly held by the node devices 300, and is, for example, block chain data. As described above, in the P2P database 321, data of higher importance that is required to ensure authenticity among the learning achievement records and activity records of the students is registered. Various data registered in the P2P database 321 may be attached with an electronic signature generated using an encryption key, or may be encrypted using an encryption key. The data registered in the P2P database 321 is not limited to these. For example, when charging is performed when acquiring data from the P2P database 321 or registering data in the P2P database 321, the assets (for example, coins in Bitcoin) possessed by each user are stored in the P2P database 321. The data regarding may be registered. As shown in FIG. 7, the P2P database 321 includes a P2P database program 322.
  • the P2P database program 322 is a predetermined program provided in the P2P database 321 and executed on the P2P database 321. By using the P2P database program 322, for example, various processes including virtual currency transactions such as Bitcoin are realized in a consistent manner according to a predetermined rule.
  • the predetermined rule will be described.
  • the P2P database program 322 may perform an approval process or a charging process based on the predetermined rule by cooperating with another node device 300 at the time of data registration or data acquisition. . Further, the provision of the P2P database program 322 in the P2P database 321 reduces the risk of unauthorized modification of the program.
  • the P2P database program 322 is a chain code in a hyperledger, but is not limited to this.
  • the P2P database program 322 may refer to a smart contract.
  • the P2P database program 322 can realize all processes performed on the P2P database 321.
  • the P2P database program 322 can realize various data acquisition processing, various data registration processing, and the like performed by accessing the P2P database 321.
  • the processing realized by the P2P database program 322 is not limited to the above.
  • the development language of the P2P database program 322 or the number of P2P database programs 322 provided on the P2P database 321 is not particularly limited.
  • the functional configuration example of the node device 300 has been described above. Note that the functional configuration described above with reference to FIG. 7 is merely an example, and the functional configuration of the node device 300 is not limited to this example. For example, the node device 300 may not necessarily include all of the configurations illustrated in FIG. Further, the functional configuration of the node device 300 can be flexibly modified according to specifications and operations.
  • the storage apparatus 400 includes a control unit 410, a storage unit 420, and a communication unit 430.
  • the control unit 410 has a functional configuration that comprehensively controls the overall processing performed by the storage apparatus 400.
  • the control unit 410 can control activation and stop of the output unit (not shown), the communication unit 430, or the like using the control signal.
  • the control unit 410 controls data acquisition processing from the storage unit 420 or data registration processing to the storage unit 420 based on a request signal provided from the server device 200.
  • the control content of the control part 410 is not limited to these.
  • the control unit 410 may control processing generally performed in various servers, general-purpose computers, PCs, tablet PCs, and the like.
  • the storage unit 420 has a functional configuration for storing various data. For example, as described above, the storage unit 420 stores data that does not require authenticity (or does not require high authenticity) among students' learning achievement records, activity records, and the like. In addition, the storage unit 420 stores programs or parameters used by each functional configuration of the storage apparatus 400. Note that the content of data stored in the storage unit 420 is not limited to these.
  • the functional configuration example of the storage apparatus 400 has been described above. Note that the functional configuration described above with reference to FIG. 8 is merely an example, and the functional configuration of the storage apparatus 400 is not limited to this example. For example, the storage apparatus 400 does not necessarily have all the configurations shown in FIG. Further, the functional configuration of the storage apparatus 400 can be flexibly modified according to specifications and operations.
  • FIG. 9 is a sequence diagram illustrating an example of a flow of processing by each device regarding provision of data and registration destination information to a user.
  • step S1000 of FIG. 9 data requested by the user is determined, and a predetermined input operation is performed on the input unit 120 of the client device 100.
  • step S ⁇ b> 1004 the first request unit 111 a generates a request signal for requesting data acquisition based on the input operation, and transmits the signal to the server device 200 via the communication unit 150.
  • step S1008 the access control unit 211 of the server device 200 recognizes the request content by analyzing the request signal.
  • step S1012 the P2P database access control unit 211a or the storage access control unit 211b generates a new request signal based on the request content, and the P2P database access control unit 211a sends the signal to the node device 300a for storage access control.
  • the unit 211b transmits the signal to the storage apparatus 400.
  • step S1016 the control unit 310 of the node device 300a acquires the data specified by the request signal from the P2P database 321 or the control unit 410 of the storage device 400 from the storage unit 420.
  • step S1020 the communication unit 330 of the node device 300a or the communication unit 430 of the storage device 400 transmits a response signal including the acquired data to the server device 200.
  • step S1024 the communication unit 230 of the server device 200 transmits a response signal including data from the node device 300a or the storage device 400 and registration destination information of the data to the client device 100.
  • step S ⁇ b> 1028 the output control unit 112 of the client device 100 controls the output by the output unit 130 based on the response signal from the server device 200.
  • step S1032 the user who has received the output from the output unit 130 determines data that requires confirmation of the authenticity of the registration destination information, and performs a predetermined input operation on the input unit 120.
  • step S1036 the second request unit 111b generates a request signal for requesting acquisition of data registration destination information based on the input operation, and transmits the signal to the second target via the communication unit 150.
  • the second target is the node device 300b.
  • step S1040 the control unit 310 of the node device 300b confirms whether or not the designated data is registered in the P2P database 321 by a request signal.
  • step S1044 the communication unit 330 of the node device 300b transmits to the client device 100 a response signal including data registration destination information (information regarding whether data is registered in the P2P database 321).
  • step S1048 the output control unit 112 of the client device 100 controls the output by the output unit 130 based on the response signal from the node device 300b, and the series of processes ends.
  • steps in the sequence diagram of FIG. 9 do not necessarily have to be processed in chronological order in the order described. That is, each step in the sequence diagram may be processed in an order different from the order described or may be processed in parallel.
  • the output control unit 112 of the client device 100 can control the output of data included in the response signal based on the registration destination information included in the response signal from the server device 200.
  • FIG. 10 to FIG. As a UI example whose output is controlled by the output control unit 112, a display example on the display (output unit 130) is shown.
  • the output control unit 112 may control the output of 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, in addition to a display device such as a display. .
  • the output control unit 112 embeds a file (file 10 in the figure) registered in the P2P database 321 among files (data) displayed in a list on the display. It may be controlled so that it is displayed in a recessed state.
  • the output control unit 112 includes a file (file 11 in the figure) registered in the P2P database 321 among files (data) displayed as a list on the display, and other files. Control may be performed so that files (files registered in the storage apparatus 400) are displayed with different textures.
  • the output control unit 112 displays a file registered in the P2P database 321 among files (data) displayed in a list on the display as a predetermined icon (in the figure, a check mark is entered). It may be controlled so that the displayed check box icon 12) is displayed.
  • the output control unit 112 includes a character string (character string 13 in the figure) registered in the P2P database 321 among character strings (data) displayed as a list on the display. You may control so that it may be displayed in the state where it was dented so that it might be embedded on a screen.
  • the output control unit 112 displays a character string registered in the P2P database 321 among character strings (data) displayed in a list on the display as a predetermined icon (in the figure, a check mark). Control may be performed so that the check box icon 14) with a mark is displayed.
  • the user can intuitively recognize the data registered in the P2P database 321.
  • the output control unit 112 displays a file (data 15 in the figure) registered in the storage apparatus 400 among files (data) displayed in a list on the display as a predetermined mark (in the figure). Then, it may be controlled to be displayed in a state where a mark indicating a crack) is attached.
  • the output control unit 112 indicates that files registered in the storage apparatus 400 among files (data) displayed in a list on the display are given icons (question marks in the figure). It may be controlled so that the displayed icon 16) is displayed.
  • the output control unit 112 displays a character string registered in the storage apparatus 400 among character strings (data) displayed in a list on the display as a predetermined icon (in the figure, a question mark). It may be controlled so that the icon 17) with is attached and displayed.
  • the user can intuitively recognize the data registered in the storage apparatus 400.
  • the output control unit 112 provides the data area 18 registered in the P2P database 321 and the data area 19 registered in the storage apparatus 400 in the display, The output may be controlled so that data is displayed in each area.
  • the output control unit 112 includes a tab 20 for data registered in the P2P database 321 and a tab 21 for data registered in the storage apparatus 400 on the display, The output may be controlled so that data is displayed in each tab.
  • the output control unit 112 is registered in the storage apparatus 400 as shown in FIG. 20A and the data window registered in the P2P database 321 on the display and as shown in FIG. 20B. Data windows may be provided, and output may be controlled so that data is displayed in each window.
  • the output control unit 112 displays data for data registered in the P2P database 321 and B in FIG.
  • a display for data registered in the storage apparatus 400 may be provided, and the output may be controlled so that the data is displayed on each display.
  • the output control unit 112 displays the pop-up 22 shown in A of FIG. 22 on the display.
  • the second request unit 111 b confirms the data registration destination information as the second target, and the confirmation result character string 24 is displayed in the popup 22.
  • the fact that the data is registered in the P2P database 321 is displayed together with the confirmation time).
  • the user selects a file for which history information is to be confirmed from a plurality of files (data) displayed in a list as shown in A of FIG.
  • the user selects a file for which history information is to be confirmed by pressing (clicking) the file or continuing to press the button for a predetermined time or longer (long pressing).
  • the output control unit 112 controls the output so that the history information about the file is displayed.
  • a file is displayed for each version, and a newer version of the file is displayed in front. That is, in FIG. 23B, the file 25a is the newest version file, and the file 25d is the oldest version file.
  • each version of the file may be displayed in a horizontal row or a vertical row.
  • the location where the data is added may be indicated by a predetermined method (for example, highlighting or a different typeface).
  • an area 26 for data registered in the P2P database 321 and an area 27 for data registered in the storage apparatus 400 are provided on the display. Assume that a file (data) is displayed. Then, the user may be able to register the file in the P2P database 321 by dragging and dropping the file displayed in the region 27 to the region 26.
  • the user selects the character string 28 registered in the storage apparatus 400 (the selected portion is highlighted in the drawing), and presses the selected portion for a predetermined time or more. It may be possible to register the file in the P2P database 321 by continuing (long pressing).
  • the user can register data in the P2P database 321 more easily.
  • the UI used to register data in the P2P database 321 is not limited to the above example.
  • a deletion area 32 used to specify a file to be deleted is displayed.
  • the user tries to delete the file 29 by dragging and dropping the file 29 registered in the P2P database 321 to the deletion area 32.
  • a prohibition mark 33 indicating that the file cannot be deleted is attached to the file 29.
  • the file 29 may be displayed such that 29 is forcibly returned to the original position in the region 31. Note that when the user drags and drops the file 30 registered in the storage apparatus 400 to the deletion area 32, the file 30 is appropriately deleted.
  • the user selects a character string 34 registered in the P2P database 321 (the selected portion is highlighted in the drawing), and the selected portion is deleted (or rewritten).
  • a warning message 35 may be displayed when trying to do. In this example, a warning message 35 “This line cannot be rewritten because it is written in the P2P database” is displayed.
  • the user can more easily recognize that the data to be deleted cannot be deleted because the data to be deleted is registered in the P2P database 321. Thereby, this indication can make a user aware of performing registration to P2P database 321 more carefully.
  • the UI indicating that data cannot be deleted is not limited to the above example.
  • a data editing area 36, a save button 37, and a draft save button 38 are displayed on the display.
  • the save button 37 is a button that is pressed when data edited by the user in the edit area 36 is registered in the P2P database 321, and the draft save button 38 stores data being edited by the user in the storage device 400. It is a button that is pressed when registering.
  • a message 39 indicating that the data is about to be saved in the P2P database 321 (in this example, “saving to P2P database.
  • a loading icon 40 that reminds the user of the P2P database 321 (in this example, a loading that reminds the user of a block chain by connecting a plurality of blocks). Icon 40 is displayed). Instead of the loading icon 40, an animation 41 shown in FIG. 30 may be displayed (in this example, an animation 41 that reminds the user of a block chain is displayed by connecting a plurality of blocks).
  • a message 42 indicating that data is being saved in the storage device 400 (in this example, A message 42 “Saving in database” is displayed), and a loading icon 43 (general loading icon) that does not remind the user of the P2P database 321 is displayed.
  • a loading icon 43 (general loading icon) that does not remind the user of the P2P database 321 is displayed.
  • an animation 44 (general animation) that does not associate the P2P database 321 with the user as shown in FIG. 32 may be displayed.
  • the user can more easily recognize that data registration to the P2P database 321 or the storage apparatus 400 is performed.
  • the UI indicating that data registration is performed is not limited to the above example.
  • the information processing apparatus 900 includes, for example, an MPU 901, a ROM 902, a RAM 903, a recording medium 904, an input / output interface 905, an operation input device 906, a display device 907, and a communication interface 908.
  • the information processing apparatus 900 connects each component with a bus 909 as a data transmission path, for example.
  • the MPU 901 includes, for example, one or more processors configured with an arithmetic circuit such as an MPU, various processing circuits, and the like, and includes a control unit 110 of the client device 100, a control unit 210 of the server device 200, and a node device 300. Functions as the control unit 310 of the storage device 400 or the control unit 410 of the storage apparatus 400. Note that the control unit 110 of the client device 100, the control unit 210 of the server device 200, the control unit 310 of the node device 300, or the control unit 410 of the storage device 400 is dedicated (or capable of realizing the various processes described above (or A general-purpose circuit (for example, a processor separate from the MPU 901) may be used.
  • an arithmetic circuit such as an MPU, various processing circuits, and the like
  • 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 storage unit 140 of the client device 100, the storage unit 220 of the server device 200, the storage unit 320 of the node device 300, or the storage unit 420 of the storage device 400, and data related to information processing according to the present embodiment. And various data such as various programs.
  • 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 120 of the client device 100.
  • 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 130 of the client device 100.
  • 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 150 of the client device 100, the communication unit 230 of the server device 200, the communication unit 330 of the node device 300, or the communication unit 430 of the storage device 400. To do. 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. 33 may be realized by one or two or more ICs (Integrated Circuits).
  • information relating to whether the registration destination of data is the P2P database 321 or another storage unit (storage device 400) is stored in a plurality of different objects ( The first object and the second object), and the information obtained as a result of the request can be provided to the user.
  • the user can confirm the authenticity of the data registration destination information provided from the system.
  • a request unit that requests information on whether a data registration destination is a P2P database or a storage unit other than the P2P database to a plurality of different objects; An output control unit that controls output to the user of information obtained as a result of the request, Information processing device.
  • the request unit is a second object that is another one of the plurality of objects, based on information obtained as a result of a request for the first object that is one of the plurality of objects.
  • the output control unit outputs information obtained as a result of a request for the first object to the user, Thereafter, the request unit makes a request to the second target based on an operation by the user.
  • the information processing apparatus according to (2).
  • the request unit requests history information related to appending to the data from at least one of the plurality of targets.
  • the information processing apparatus according to any one of (1) to (3).
  • the output control unit outputs information indicating that the data cannot be deleted to the user.
  • the information processing apparatus according to any one of (1) to (4).
  • the request unit also requests at least one of the plurality of objects to register data in the P2P database based on an operation by the user.
  • the information processing apparatus according to any one of (1) to (5).
  • the output control unit outputs information indicating that registration of the data to the P2P database is performed to the user during the registration.
  • the information processing apparatus according to (6).
  • the output control unit outputs information obtained as a result of the request to the user in file units or data units included in the file;
  • the information processing apparatus according to any one of (1) to (7).
  • the P2P database is blockchain data.
  • the information processing apparatus according to any one of (1) to (8).

Abstract

【課題】データの登録先がピアツーピア型データベースであるか、ピアツーピア型データベース以外の記憶部であるかをより適切に確認することを可能にする。 【解決手段】データの登録先がP2Pデータベースであるか、前記P2Pデータベース以外の記憶部であるかに関する情報を、互いに異なる複数の対象に対して要求する要求部と、前記要求の結果として得られた情報のユーザへの出力を制御する出力制御部と、を備える、情報処理装置が提供される。

Description

情報処理装置、情報処理方法、およびプログラム
 本開示は、情報処理装置、情報処理方法、およびプログラムに関する。
 近年、ブロックチェーンデータをはじめとしたピアツーピアデータベースを使用するサービスが盛んに開発されている。例えば、仮想通貨のやり取りにブロックチェーンデータを使用するBitcoin等が挙げられる。ブロックチェーンデータをはじめとしたピアツーピアデータベースを使用するサービスは、ピアツーピアデータベースにて管理されているデータの改ざん等を防ぎ、データの真正性を担保することができる。
 特許文献1には、ピアツーピア型とC/S型(クライアントサーバ型)の両方の利点を享受できるファイル共有システムが開示されている。ユーザは、当該システムを使用することによって、各データがピアツーピア型とC/S型のいずれのフォルダ(記憶部)に格納されているかを容易に判別することができる。
特開2006-11693号公報
 しかし、特許文献1に開示の技術等によっては、ユーザは、システムから提供される、データの登録先に関する情報(以降、便宜的に「登録先情報」とも呼称する)の真正性を自ら確認することができなかった。そのため、ユーザは、システムから提供される登録先情報を信頼せざるを得ないが、システムから提供される登録先情報が改ざんされる可能性もある。
 そこで、本開示は上記に鑑みてなされたものであり、本開示は、データの登録先がピアツーピア型データベースであるか、ピアツーピア型データベース以外の記憶部であるかをより適切に確認することが可能な、新規かつ改良された情報処理装置、情報処理方法、およびプログラムを提供する。
 本開示によれば、データの登録先がP2Pデータベースであるか、前記P2Pデータベース以外の記憶部であるかに関する情報を、互いに異なる複数の対象に対して要求する要求部と、前記要求の結果として得られた情報のユーザへの出力を制御する出力制御部と、を備える、情報処理装置が提供される。
 また、本開示によれば、データの登録先がP2Pデータベースであるか、前記P2Pデータベース以外の記憶部であるかに関する情報を、互いに異なる複数の対象に対して要求することと、前記要求の結果として得られた情報のユーザへの出力を制御することと、を有する、コンピュータにより実行される情報処理方法が提供される。
 また、本開示によれば、データの登録先がP2Pデータベースであるか、前記P2Pデータベース以外の記憶部であるかに関する情報を、互いに異なる複数の対象に対して要求することと、前記要求の結果として得られた情報のユーザへの出力を制御することと、をコンピュータに実現させるためのプログラムが提供される。
 以上説明したように本開示によれば、データの登録先がピアツーピア型データベースであるか、ピアツーピア型データベース以外の記憶部であるかをより適切に確認することが可能になる。
 なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
ピアツーピアデータベースの一種であるブロックチェーンデータの概要について説明する図である。 ピアツーピアデータベースの一種であるブロックチェーンデータの概要について説明する図である。 ピアツーピアデータベースの一種であるブロックチェーンデータの概要について説明する図である。 本実施形態に係る情報処理システムの構成例について説明する図である。 本実施形態に係るクライアント装置100の機能構成例を示すブロック図である。 本実施形態に係るサーバ装置200の機能構成例を示すブロック図である。 本実施形態に係るノード装置300の機能構成例を示すブロック図である。 本実施形態に係るストレージ装置400の機能構成例を示すブロック図である。 ユーザに対するデータおよび登録先情報の提供に関する、各装置による処理の流れの一例を示すシーケンス図である。 データの登録先情報を示すUI例を示す図である。 データの登録先情報を示すUI例を示す図である。 データの登録先情報を示すUI例を示す図である。 データの登録先情報を示すUI例を示す図である。 データの登録先情報を示すUI例を示す図である。 データの登録先情報を示すUI例を示す図である。 データの登録先情報を示すUI例を示す図である。 データの登録先情報を示すUI例を示す図である。 データの登録先情報を示すUI例を示す図である。 データの登録先情報を示すUI例を示す図である。 データの登録先情報を示すUI例を示す図である。 データの登録先情報を示すUI例を示す図である。 データの登録先情報についての、第2の対象への確認に使用されるUI例を示す図である。 データへの追記に関する履歴情報を示すUI例を示す図である。 データのP2Pデータベース321への登録に使用されるUI例を示す図である。 データのP2Pデータベース321への登録に使用されるUI例を示す図である。 データを削除できないことを示すUI例を示す図である。 データを削除できないことを示すUI例を示す図である。 データのP2Pデータベース321への登録が行われていることを示すUI例を示す図である。 データのP2Pデータベース321への登録が行われていることを示すUI例を示す図である。 データのP2Pデータベース321への登録が行われていることを示すUI例を示す図である。 データのストレージ装置400への登録が行われていることを示すUI例を示す図である。 データのストレージ装置400への登録が行われていることを示すUI例を示す図である。 本実施形態に係るクライアント装置100、サーバ装置200、ノード装置300、またはストレージ装置400を実現する情報処理装置900のハードウェア構成例を示すブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.ピアツーピアデータベースの概要
 2.実施形態
  2.1.概要
  2.2.システム構成例
  2.3.クライアント装置100の機能構成例
  2.4.サーバ装置200の機能構成例
  2.5.ノード装置300の機能構成例
  2.6.ストレージ装置400の機能構成例
  2.7.処理の流れ
 3.ユーザインタフェース例
  3.1.データの登録先情報を示すUI例
  3.2.第2の対象への確認結果を示すUI例
  3.3.データへの追記に関する履歴情報を示すUI例
  3.4.データのP2Pデータベース321への登録に使用されるUI例
  3.5.データを削除できないことを示すUI例
  3.6.データのP2Pデータベース321への登録が行われていることを示すUI例
 4.ハードウェア構成例
 5.まとめ
  <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.実施形態>
 上記では、P2Pデータベースの概要について説明した。続いて、本開示の一実施形態について説明する。
 (2.1.概要)
 まず、本開示の一実施形態の概要について説明する。
 上記のとおり、近年、ブロックチェーンデータをはじめとしたP2Pデータベースを使用するサービスが盛んに開発されている。そして、P2Pデータベースは管理しているデータの真正性を担保することができる。
 しかし、処理性能(例えば、処理速度等)、記憶容量、または運用上の制約等の理由によって、P2PデータベースだけでなくP2Pデータベース以外の記憶部(例えば、リレーショナルデータベース等を含むデータベース等。以降、便宜的に「他の記憶部」とも呼称する)も併用されることで情報処理システムが構築されることが考えられる。
 情報処理システムにおいて、P2Pデータベースと他の記憶部が併用される場合、P2Pデータベースと他の記憶部とで、登録されているデータの信頼度(または、真正性)が異なるため、ユーザは、データの登録先がP2Pデータベースであるか他の記憶部であるかを認識することが必要になる場合がある。
 ここで、特許文献1に開示の技術等によって、ユーザは、各データがピアツーピア型とC/S型のいずれのフォルダ(記憶部)に格納されているかを容易に判別することができる。しかし、特許文献1に開示の技術等によっては、ユーザは、システムから提供される、データの登録先情報の真正性を自ら確認することができなかった。そのため、ユーザは、システムから提供される登録先情報を信頼せざるを得ないが、システムから提供される登録先情報が改ざんされる可能性もある。
 そこで、本件の開示者は、上記事情に鑑みて本開示に係る技術を創作するに至った。本開示は、データの登録先がP2Pデータベースであるか他の記憶部であるかに関する情報を、互いに異なる複数の対象に対して要求し、当該要求の結果として得られた情報をユーザへ出力することができる。これによって、ユーザは、システムから提供される、データの登録先情報の真正性を自ら確認することができる。すなわち、本開示は、データの登録先がP2Pデータベースであるか、他の記憶部であるかをより適切に確認することを可能にする。以降では、本開示について詳細に説明していく。
 (2.2.システム構成例)
 上記では、本実施形態の概要について説明した。続いて、図4を参照して、本実施形態に係る情報処理システムの構成例について説明する。
 図4に示すように、本実施形態に係る情報処理システムは、クライアント装置100と、サーバ装置200と、複数のノード装置300(図中では、ノード装置300a~ノード装置300d)と、ストレージ装置400と、を備える。また、複数のノード装置300は、それぞれP2Pネットワーク500に接続している。さらに、クライアント装置100とサーバ装置200がネットワーク600aによって接続されており、サーバ装置200とノード装置300aがネットワーク600bによって接続されており、サーバ装置200とストレージ装置400がネットワーク600cによって接続されている。
 なお、本実施形態に係る情報処理システムの構成は、図4の構成に限定されない。例えば、情報処理システムを構成する各装置の台数は適宜変更されてもよい。また、サーバ装置200は、ノード装置300a以外のノード装置300に接続されていてもよい。
 当該情報処理システムが提供可能なサービスの内容は特に限定されないが、本明細書では、一例として、当該情報処理システムが、生徒の学習到達記録(例えば、試験結果、取得単位、または取得資格等に関する記録)および生徒の活動記録(例えば、クラブ活動、生徒会活動、または出席状況等に関する記録)等の管理サービス(以降、便宜的に「学習到達・活動記録サービス」と呼称する)を、各教育機関(例えば、保育園、幼稚園、小学校、中学校、高等学校、大学、大学院、学習塾、予備校、または資格学校等)に対して提供する場合について考える。すなわち、当該情報処理システムを利用するユーザは、各教育機関に所属する講師等を含み、これらに限定されない。例えば、当該情報処理システムを利用するユーザは、生徒本人、生徒の保護者、または生徒の学習到達記録等を利用しようとする任意の企業等を含んでもよい。
 本実施形態に係る情報処理システムにおいて、真正性の担保が求められるようなより重要度の高いデータはノード装置300に備えられるP2Pデータベースにて管理され、その他のデータはストレージ装置400にて管理されるとする。
 (クライアント装置100)
 クライアント装置100は、学習到達・活動記録サービスの提供を受けるユーザが使用する情報処理装置である。例えば、ユーザは、クライアント装置100に対して入力操作を行うことで、サーバ装置200を介してP2Pデータベース、またはストレージ装置400に登録された生徒の学習到達記録、または活動記録に関するデータを取得することができ、併せて、当該データの登録先がP2Pデータベースであるかストレージ装置400であるかを認識することができる。
 より具体的に説明すると、ユーザがクライアント装置100を用いて所望のデータを要求する旨の入力操作を行った場合、クライアント装置100は、当該データを要求する要求信号をサーバ装置200に送信する。当該要求信号は、当該データの登録先がP2Pデータベースであるかストレージ装置400であるかに関する登録先情報を要求する信号でもある。当該要求信号を受信したサーバ装置200は、ノード装置300に備えられるP2Pデータベース、またはストレージ装置400から対象のデータを取得し、登録先情報と共に当該データをクライアント装置100に提供する。クライアント装置100は、ユーザインタフェース(以降、便宜的に「UI」とも呼称する)として機能する出力部(例えば、ディスプレイ等の表示装置、スピーカ等の音声出力装置、ランプ等の光源装置、またはアクチュエータ等の触覚提示装置等)を介して当該データと登録先情報をユーザへ提供する。これによって、ユーザは、所望のデータを取得できるだけでなく、当該データの登録先情報を認識することができる。
 そして、本実施形態において、ユーザは、サーバ装置200から提供された、データの登録先情報の真正性を自ら確認することができる。例えば、ユーザが所定の入力操作を行うことで、クライアント装置100は、上記とは異なる対象に対して登録先情報を要求する。
 ここで、クライアント装置100が登録先情報を要求する「対象」とは、P2Pネットワーク500に接続しているノード装置300、ノード装置300にアクセス可能な所定の装置(例えば、所定のサーバ装置等)もしくは所定のソフトウェア等(例えば、所定のAPI(Application
Programming Interface)等)を指す。すなわち、上記では、クライアント装置100は、サーバ装置200を介してノード装置300aに対して登録先情報を要求したが(登録先情報の要求対象がサーバ装置200と解されてもよい)、その後のユーザによる入力操作によって、クライアント装置100は、前段とは異なるノード装置300(または、前段とは異なるサーバ装置200)に対して登録先情報を要求する。これによって、前段でクライアント装置100へ提供された登録先情報が改ざんされていた場合であっても、ユーザは、異なる対象から提供される登録先情報に基づいて改ざんの発生を認識することができる。
 以降では、クライアント装置100がサーバ装置200を介して登録先情報を要求する対象を「第1の対象」と定義し、その後にクライアント装置100が登録先情報を要求する、前段とは異なる対象を「第2の対象」と定義する。なお、クライアント装置100が登録先情報を要求する対象は、上記の例に限定されない。
 ここで、本実施形態に係る「登録先情報」とは、「対象データの登録先がP2Pデータベースであるかストレージ装置400であるかに関する情報」である。そして、「登録先情報」(すなわち「対象データの登録先がP2Pデータベースであるかストレージ装置400であるかに関する情報」)は、「対象データの登録先がP2Pデータベースであるか否かに関する情報」、または「対象データの登録先がストレージ装置400であるか否かに関する情報」を含む概念として解釈されてもよい。また、情報処理システムにおいて複数のP2Pデータベースが存在する場合(例えば、複数のP2Pネットワーク500が存在する場合)において、「登録先情報」は、「対象データの登録先がどのP2Pデータベース(または、P2Pネットワーク500)であるかに関する情報」を含む概念として解釈されてもよい。
 ここで、第1の対象に対して要求される登録先情報と、第2の対象に対して要求される登録先情報とは、互いに同一の内容でもよいし異なる内容でもよい。例えば、第1の対象に対して要求される登録先情報が、「対象データの登録先がP2Pデータベースであるかストレージ装置400であるかに関する情報」であり、第2の対象に対して要求される登録先情報が、「対象データの登録先がP2Pデータベースであるか否か(確かにP2Pデータベースに登録されているか否か)に関する情報」であってもよい。
 また、上記では、第1の対象、または第2の対象への登録先情報の要求はユーザによる入力操作に基づいて行われる旨を説明したが、必ずしもこれに限定されない。より具体的には、第1の対象、または第2の対象への登録先情報の要求は、ユーザによる入力操作以外のトリガに基づいて行われたり、自動的(または、自律的)に行われたりしてもよい。例えば、クライアント装置100上で動作するソフトウェアの処理をトリガとして第1の対象への登録先情報の要求が行われてもよい。また、第1の対象からの登録先情報が提供された場合に、クライアント装置100は自動的(または、自律的)に第2の対象に対して登録先情報の要求を行ってもよい。
 また、「登録先情報の要求」について、クライアント装置100から送信される要求信号中に登録先情報を要求する旨の情報が含まれていなくてもよい。例えば、クライアント装置100がサーバ装置200に対して何らかの信号を送信することで、結果的にクライアント装置100がサーバ装置200から登録先情報を取得することができれば、「登録先情報の要求」が行われたと解釈されてもよい。
 ここで、クライアント装置100を使用するユーザは、基本的に、個人であることを想定しているが、これに限定されない。例えば、ユーザは、任意の組織または任意の団体(例えば、企業、協会、またはサークル等)を含む。
 なお、クライアント装置100の種類は特に限定されない。例えば、クライアント装置100は、汎用コンピュータ、PC(Personal Computer)、タブレットPC等、任意の装置であってよい。また、上記で説明したクライアント装置100の処理内容は適宜変更され得る。
 (サーバ装置200)
 サーバ装置200は、学習到達・活動記録サービスにおける各種機能をクライアント装置100に対して提供する情報処理装置である。例えば、サーバ装置200は、クライアント装置100から要求信号を受信した場合、当該要求信号を解析することで要求内容を認識し、その要求内容に基づいてノード装置300、またはストレージ装置400に対して対象データを要求する要求信号を送信することで、生徒の学習到達記録または活動記録に関するデータを取得する。そして、サーバ装置200は、当該データと共に当該データの登録先情報をクライアント装置100へ送信する。
 なお、サーバ装置200の処理内容は上記に限定されない。例えば、サーバ装置200は、クライアント装置100から受信した要求信号を解析することなく、ノード装置300およびストレージ装置400の両方に要求信号を送信することでデータを取得してもよい。また、サーバ装置200は、クライアント装置100から要求信号を受信していない場合においても、ノード装置300、またはストレージ装置400からデータを取得し、当該データをクライアント装置100へ提供してもよい。また、クライアント装置100と同様に、サーバ装置200の種類は特に限定されない。
 (ノード装置300)
 ノード装置300は、P2Pネットワーク500に接続しており、P2Pデータベースを保持している情報処理装置である。ノード装置300が備えるP2Pデータベースには、生徒の学習到達記録、および活動記録等に関するデータが登録されている。なお、P2Pデータベースに登録されているデータの内容はこれらに限定されない。
 そして、ノード装置300は、P2Pデータベースからのデータの取得およびP2Pデータベースへのデータの登録を行う。データの取得について説明すると、ノード装置300は、サーバ装置200から要求信号を受信した場合、当該要求信号が指定するデータをP2Pデータベースから取得し、サーバ装置200へ提供する。また、データの登録について説明すると、ノード装置300は、サーバ装置200からデータの登録についての要求信号を受信した場合、当該要求信号に含まれるデータをP2Pデータベースに登録する。なお、ノード装置300がP2Pデータベースからデータを取得するケース、およびP2Pデータベースにデータを登録するケースは上記に限定されない。例えば、ノード装置300は、サーバ装置200から要求信号を受信していない場合においても、P2Pデータベースからデータを取得し、当該データをサーバ装置200へ提供してもよい。
 なお、ノード装置300は、P2Pデータベースへデータを登録する場合およびP2Pデータベースからデータを取得する場合等には、基本的に、P2Pデータベースに設けられ、P2Pデータベース上で実行される所定のプログラム(以降、便宜的に「P2Pデータベースプログラム」と呼称する)を用いる。P2Pデータベースプログラムが用いられることによって、例えば、Bitcoin等のような仮想通貨の取引を含む様々な処理が所定のルールに従って実現される。また、P2PデータベースプログラムがP2Pデータベースに設けられることによって、当該プログラムが不正に改変されるリスクが低減される。
 P2Pデータベースプログラムは、ハイパーレッジャー(Hyperledger)におけるチェーンコードであるが、これに限定されない。例えば、P2Pデータベースプログラムは、スマートコントラクトを指してもよい。なお、ノード装置300は、適宜、P2Pデータベースプログラム以外のプログラムも用いて、P2Pデータベースからのデータの取得およびP2Pデータベースへのデータの登録を実現してもよい。また、クライアント装置100と同様に、ノード装置300の種類は特に限定されない。
 また、本実施形態では、複数のノード装置300が同一の機能を有している場合を想定して説明するが、各ノード装置300は、互いに異なる機能を有していてもよい。例えば、P2Pデータベースへのデータの登録を承認するノード装置300(例えば、Endorsing Peer等)、承認後に各ノード装置300に対して登録を指示するノード装置300(例えば、Ordering Peer等)、P2Pデータベースにデータを登録するノード装置300(例えば、Committing Peer等)が設けられてもよい。
 (ストレージ装置400)
 ストレージ装置400は、本実施形態に係る情報処理システムにおいて、P2Pデータベースと併用される所定の記憶装置である。より具体的には、ストレージ装置400は、サーバ装置200を介してクライアント装置100に提供される各種データを記憶することができる。ストレージ装置400に記憶されるデータは、例えば、生徒の学習到達記録、および活動記録等に関するデータである。なお、ストレージ装置400に記憶されるデータの内容はこれらに限定されない。ストレージ装置400は、サーバ装置200から要求信号を受信した場合、当該要求信号が指定するデータを取得し、サーバ装置200へ提供する。なお、ストレージ装置400の処理内容は上記に限定されない。例えば、ストレージ装置400は、サーバ装置200から要求信号を受信していない場合においても任意のデータをサーバ装置200へ提供してもよい。また、クライアント装置100と同様に、ストレージ装置400の種類は特に限定されない。
 (P2Pネットワーク500)
 P2Pネットワーク500は、P2Pデータベースが流通しているネットワークである。上記のとおり、各ノード装置300は、P2Pネットワーク500に接続することで、他のノード装置300が保持するP2Pデータベースと整合性を保ちながら、P2Pデータベースを更新することができる。
 なお、P2Pネットワーク500の種類は特に限定されない。例えば、P2Pネットワーク500は、複数組織によって運営されるコンソーシアム型、単一組織によって運営されるプライベート型、または、参加者を特に限定しないパブリック型のうちのいずれの種類であってもよい。
 なお、P2Pネットワーク500に用いられる通信方式および回線の種類等は特に限定されない。例えば、P2Pネットワーク500は、IP-VPN(Internet Protocol-Virtual Private Network)等の専用回線網で実現されてもよい。また、P2Pネットワーク500は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)等で実現されてもよい。さらに、P2Pネットワーク500は、Wi-Fi(登録商標)、Bluetooth(登録商標)等の無線通信網で実現されてもよい。
 (ネットワーク600)
 ネットワーク600は、クライアント装置100およびサーバ装置200間、サーバ装置200およびノード装置300間、サーバ装置200およびストレージ装置400間を接続するネットワークである。なお、P2Pネットワーク500と同様に、ネットワーク600に用いられる通信方式および回線の種類等は特に限定されない。
 以上、本実施形態に係る情報処理システムの構成例について説明した。なお、図4を参照して説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理システムの構成は係る例に限定されない。例えば、クライアント装置100の機能の全部または一部が、サーバ装置200に備えられてもよい。例えば、クライアント装置100の機能の全部または一部を提供するソフトウェアがサーバ装置200上で実行されてもよい。また、逆に、サーバ装置200の機能の全部または一部が、クライアント装置100に備えられてもよい。本実施形態に係る情報処理システムの構成は、仕様や運用に応じて柔軟に変形可能である。
 (2.3.クライアント装置100の機能構成例)
 上記では、本実施形態に係る情報処理システムの構成例について説明した。続いて、図5を参照して、クライアント装置100の機能構成例について説明する。
 図5に示すように、クライアント装置100は、制御部110と、入力部120と、出力部130と、記憶部140と、通信部150と、を備える。
 (制御部110)
 制御部110は、クライアント装置100が行う処理全般を統括的に制御する機能構成である。例えば、制御部110は、制御信号を用いて出力部130、または通信部150等の起動や停止を制御することができる。なお、制御部110の制御内容はこれらに限定されない。例えば、制御部110は、各種サーバ、汎用コンピュータ、PC、タブレットPC等において一般的に行われる処理を制御してもよい。
 また、図5に示すように、制御部110は、要求部111と、出力制御部112と、を備えている。
 (要求部111)
 要求部111は、外部装置に対してデータの取得、登録、またはデータの登録有無の確認等を含む各種要求を行う機能構成である。図5に示すように、要求部111は、第1の要求部111aと、第2の要求部111bと、を備える。
 (第1の要求部111a)
 第1の要求部111aは、第1の対象に対してデータの取得、登録、またはデータの登録有無の確認等を含む各種要求を行う機能構成である。より具体的には、第1の要求部111aは、ユーザが入力部120を用いて所望のデータの取得を要求する旨の入力操作を行った場合、当該入力操作に基づいてデータの取得を要求する要求信号を生成し、通信部150を介して当該信号をサーバ装置200へ送信する。これによって、第1の要求部111aは、ノード装置300、またはストレージ装置400からの所望のデータの取得、および当該データの登録先情報の取得を実現することができる。
 また、ユーザが入力部120を用いて所望のデータの登録を要求する旨の入力操作を行った場合、第1の要求部111aは、当該データの登録を要求する要求信号を生成し、通信部150を介して当該信号をサーバ装置200へ送信する。これによって、第1の要求部111aは、ノード装置300、またはストレージ装置400に対する所望のデータの登録を実現することができる。ここで、ユーザは、基本的にP2Pデータベースに登録されているデータの削除、および修正等を行うことはできないが、P2Pデータベースに登録されているデータに対して追記を行うことはできる(例えば、データの削除、または修正を行う旨を追記することが可能である)。第1の要求部111aは、P2Pデータベースに登録されているデータへの追記を要求する要求信号を生成し、通信部150を介して当該信号をサーバ装置200へ送信することで、当該追記を実現することができる。
 (第2の要求部111b)
 第2の要求部111bは、第2の対象に対してデータの取得、登録、またはデータの登録有無の確認等を含む各種要求を行う機能構成である。より具体的には、第2の要求部111bは、第1の対象に対する要求の結果として得られた登録先情報を確認したユーザが入力部120を用いて所望のデータの登録先情報を要求する旨の入力操作を行った場合、第2の要求部111bは、登録先情報を要求する要求信号を生成し、通信部150を介して当該信号を第2の対象へ送信する。これによって、ユーザは、サーバ装置200から提供された、データの登録先情報の真正性を自ら確認することができる。
 (出力制御部112)
 出力制御部112は、第1の要求部111a、または第2の要求部111bによる要求の結果として得られたデータのユーザへの出力を制御する機能構成である(換言すると、出力制御部112はUIの提供を制御する)。より具体的には、出力制御部112は、第1の要求部111aによる要求の結果として得られたユーザ所望のデータ、および当該データの登録先情報の出力を制御したり、第2の要求部111bによる要求の結果として得られた登録先情報の出力を制御したりする。このとき、登録先情報の取得に失敗した場合(または、データの登録先が不明である場合)には、出力制御部112は、その旨の出力を制御してもよい。
 出力制御部112は、出力部130に備えられるディスプレイ等の表示装置、スピーカ等の音声出力装置、ランプ等の光源装置、またはアクチュエータ等の触覚提示装置等を制御することで登録先情報等の出力を制御する。出力制御部112によって実現されるUIの具体例については後述する。なお、上記のとおり、出力制御部112がサーバ装置200に備えられることで、サーバ装置200がUIの提供を制御してもよい。
 (入力部120)
 入力部120は、ユーザによる入力を受ける機能構成である。例えば、入力部120はマウス、キーボード、タッチパネル、ボタン、スイッチ、またはマイクロフォン等の入力装置を備えており、ユーザは、これらの入力装置を用いることによって所望のデータの取得、または登録を要求する旨の入力操作を行うことができる。なお、入力部120が備える入力装置はこれらに限定されない。
 (出力部130)
 出力部130は、出力制御部112によって制御されることで、第1の要求部111a、または第2の要求部111bによる要求の結果として得られたデータのユーザへの出力を行う機能構成である(換言すると、出力部130はUIを提供する)。例えば、出力部130は、ディスプレイ等の表示装置、スピーカ等の音声出力装置、ランプ等の光源装置、またはアクチュエータ等の触覚提示装置等を備えており、出力制御部112の制御に基づいて、ユーザによって要求されたデータ、または当該データの登録先情報等を出力する。なお、出力部130が備える出力手段はこれらに限定されない。
 (記憶部140)
 記憶部140は、各種データを記憶する機能構成である。例えば、記憶部140は、第1の要求部111a、または第2の要求部111bによる要求の結果として得られたデータ、または当該データの登録先情報等を記憶したり、クライアント装置100の各機能構成によって使用されるプログラム、またはパラメータ等を記憶したりする。なお、記憶部140が記憶するデータはこれらに限定されない。
 (通信部150)
 通信部150は、外部装置との各種通信を制御する機能構成である。例えば、通信部150は、第1の要求部111aによって生成された要求信号をサーバ装置200へ送信し、要求信号によって指定されたデータ、または当該データの登録先情報等が含まれた応答信号を受信する。また、通信部150は、第2の要求部111bによって生成された要求信号を第2の対象(または、第2の対象と通信可能な外部装置等)へ送信し、要求信号によって指定されたデータの登録先情報等を含む応答信号を受信する。なお、通信部150が通信するデータ、および通信するケースはこれらに限定されない。
 以上、クライアント装置100の機能構成例について説明した。なお、図5を用いて説明した上記の機能構成はあくまで一例であり、クライアント装置100の機能構成は係る例に限定されない。例えば、クライアント装置100は、図5に示す構成の全てを必ずしも備えなくてもよい。また、クライアント装置100の機能構成は、仕様や運用に応じて柔軟に変形可能である。
 (2.4.サーバ装置200の機能構成例)
 上記では、クライアント装置100の機能構成例について説明した。続いて、図6を参照して、サーバ装置200の機能構成例について説明する。
 図6に示すように、サーバ装置200は、制御部210と、記憶部220と、通信部230と、を備える。
 (制御部210)
 制御部210は、サーバ装置200が行う処理全般を統括的に制御する機能構成である。例えば、制御部210は、制御信号を用いて出力部(図示なし)、または通信部230等の起動や停止を制御することができる。また、本実施形態において、制御部210は、アクセス制御部211を備えることで、ノード装置300、またはストレージ装置400からのデータの取得等を実現する。そして、制御部210は、ノード装置300、またはストレージ装置400から取得したデータと、当該データの登録先情報を含む応答信号を、通信部230を介してクライアント装置100へ提供する。なお、制御部210の制御内容はこれらに限定されない。例えば、制御部210は、各種サーバ、汎用コンピュータ、PC、タブレットPC等において一般的に行われる処理を制御してもよい。
 (アクセス制御部211)
 アクセス制御部211は、ノード装置300、またはストレージ装置400へのアクセスを制御する機能構成であり、P2Pデータベースアクセス制御部211aと、ストレージアクセス制御部211bと、を備える。サーバ装置200がクライアント装置100から要求信号を受信した場合、アクセス制御部211は、当該要求信号を解析することで要求内容を認識する。そして、P2Pデータベースからのデータの取得等が必要な場合には、アクセス制御部211は、P2Pデータベースアクセス制御部211aを用いてP2Pデータベースへのアクセスを実現する。また、ストレージ装置400からのデータの取得等が必要な場合には、アクセス制御部211は、ストレージアクセス制御部211bを用いてストレージ装置400へのアクセスを実現する。なお、アクセス制御部211が備えるP2Pデータベースアクセス制御部211aおよびストレージアクセス制御部211bは、統合されることで一の機能構成として具現されてもよい。
 (P2Pデータベースアクセス制御部211a)
 P2Pデータベースアクセス制御部211aは、クライアント装置100からの要求信号に基づいてP2Pデータベースへのアクセスを実現する機能構成である。より具体的には、クライアント装置100からの要求信号の解析によってP2Pデータベースからのデータの取得等が必要であると判断された場合、P2Pデータベースアクセス制御部211aは、要求内容に基づいてデータの取得等を要求する新たな要求信号を生成し、当該要求信号をノード装置300へ送信する。これによって、P2Pデータベースアクセス制御部211aは、P2Pデータベースからのデータの取得や、P2Pデータベースへのデータの登録を実現する。なお、P2Pデータベースアクセス制御部211aによる上記の処理は適宜変更され得る。例えば、P2Pデータベースアクセス制御部211aは、新たな要求信号を生成するのではなく、クライアント装置100から送信された要求信号をそのままノード装置300へ送信してもよい。また、サーバ装置200がクライアント装置100からの要求信号を受信していない場合でも、P2Pデータベースアクセス制御部211aはP2Pデータベースへアクセスしてもよい。
 (ストレージアクセス制御部211b)
 ストレージアクセス制御部211bは、クライアント装置100からの要求信号に基づいてストレージ装置400へのアクセスを実現する機能構成である。より具体的には、クライアント装置100からの要求信号の解析によってストレージ装置400からのデータの取得等が必要であると判断された場合、ストレージアクセス制御部211bは、要求内容に基づいてデータの取得等を要求する新たな要求信号を生成し、当該要求信号をストレージ装置400へ送信する。これによって、ストレージアクセス制御部211bは、ストレージ装置400からのデータの取得や、ストレージ装置400へのデータの登録を実現する。なお、ストレージアクセス制御部211bによる上記の処理は適宜変更され得る。例えば、ストレージアクセス制御部211bは、P2Pデータベースアクセス制御部211aと同様に、新たな要求信号を生成するのではなく、クライアント装置100から送信された要求信号をそのままストレージ装置400へ送信してもよい。また、サーバ装置200がクライアント装置100からの要求信号を受信していない場合でも、ストレージアクセス制御部211bはストレージ装置400へアクセスしてもよい。
 (記憶部220)
 記憶部220は、各種データを記憶する機能構成である。例えば、記憶部220は、クライアント装置100からの要求信号、P2Pデータベースもしくはストレージ装置400から取得されたデータ、または当該データの登録先情報等を記憶したり、サーバ装置200の各機能構成によって使用されるプログラムまたはパラメータ等を記憶したりする。なお、記憶部220が記憶するデータはこれらに限定されない。
 (通信部230)
 通信部230は、外部装置との各種通信を制御する機能構成である。例えば、通信部230は、ユーザ所望のデータの取得を要求する要求信号をクライアント装置100から受信する。そして、通信部230は、P2Pデータベースアクセス制御部211aによって生成された要求信号をノード装置300へ送信し、要求信号によって指定されたデータ等を含む応答信号を受信する。また、通信部230は、ストレージアクセス制御部211bによって生成された要求信号をストレージ装置400へ送信し、要求信号によって指定されたデータ等を含む応答信号を受信する。その後、通信部230は、ノード装置300、またはストレージ装置400から取得されたデータ、および登録先情報が含まれる応答信号をクライアント装置100へ送信する。なお、通信部230が通信するデータ、および通信するケースはこれらに限定されない。
 以上、サーバ装置200の機能構成例について説明した。なお、図6を用いて説明した上記の機能構成はあくまで一例であり、サーバ装置200の機能構成は係る例に限定されない。例えば、サーバ装置200は、図6に示す構成の全てを必ずしも備えなくてもよい。また、サーバ装置200の機能構成は、仕様や運用に応じて柔軟に変形可能である。
 (2.5.ノード装置300の機能構成例)
 上記では、サーバ装置200の機能構成例について説明した。続いて、図7を参照して、ノード装置300の機能構成例について説明する。
 図7に示すように、ノード装置300は、制御部310と、記憶部320と、通信部330と、を備える。
 (制御部310)
 制御部310は、ノード装置300が行う処理全般を統括的に制御する機能構成である。例えば、制御部310は、制御信号を用いて出力部(図示なし)、または通信部330等の起動や停止を制御することができる。また、制御部310は、サーバ装置200から提供される要求信号に基づいてP2Pデータベース321からのデータの取得処理、またはP2Pデータベース321へのデータの登録処理を制御する。このとき、制御部310は、ユーザが有するアクセス権限等に基づいてこれらの処理(データの取得処理、またはデータの登録処理)を制御してもよい。なお、制御部310の制御内容はこれらに限定されない。例えば、制御部310は、各種サーバ、汎用コンピュータ、PC、タブレットPC等において一般的に行われる処理を制御してもよい。
 (記憶部320)
 記憶部320は、各種データを記憶する機能構成である。例えば、記憶部320は、ノード装置300の各機能構成によって使用されるプログラム、またはパラメータ等を記憶する。なお、記憶部320が記憶するデータの内容はこれらに限定されない。図7に示すように、記憶部320は、P2Pデータベース321を備える。
 (P2Pデータベース321)
 P2Pデータベース321は、各ノード装置300によって共通に保持されるデータベースであり、例えば、ブロックチェーンデータである。上記のとおり、P2Pデータベース321には、生徒の学習到達記録、および活動記録等のうち、真正性の担保が求められるようなより重要度の高いデータが登録される。P2Pデータベース321に登録される各種データは、暗号鍵を用いて生成された電子署名を付されたり、または暗号鍵を用いて暗号化されたりしてもよい。なお、P2Pデータベース321に登録されるデータはこれらに限定されない。例えば、P2Pデータベース321からのデータの取得、またはP2Pデータベース321へのデータの登録の際に課金が行われる場合には、P2Pデータベース321には、各ユーザが有する資産(例えば、Bitcoinにおけるコイン等)に関するデータが登録されていてもよい。図7に示すように、P2Pデータベース321は、P2Pデータベースプログラム322を備える。
 (P2Pデータベースプログラム322)
 P2Pデータベースプログラム322は、P2Pデータベース321に備えられ、P2Pデータベース321上で実行される所定のプログラムである。P2Pデータベースプログラム322が用いられることによって、例えば、Bitcoin等のような仮想通貨の取引を含む様々な処理が所定のルールに従って一貫性を保ちつつ実現される。所定のルールについて説明すると、例えば、P2Pデータベースプログラム322は、データの登録時またはデータの取得時において他のノード装置300と連携することで所定のルールに基づく承認処理または課金処理を行ってもよい。また、P2Pデータベースプログラム322がP2Pデータベース321に設けられることによって当該プログラムが不正に改変されるリスクが低減される。P2Pデータベースプログラム322は、ハイパーレッジャー(Hyperledger)におけるチェーンコードであるが、これに限定されない。例えば、P2Pデータベースプログラム322は、スマートコントラクトを指してもよい。
 P2Pデータベースプログラム322は、P2Pデータベース321に対して行われる処理全般を実現することができる。例えば、P2Pデータベースプログラム322は、P2Pデータベース321にアクセスして行われる、各種データの取得処理および各種データの登録処理等を実現することができる。なお、P2Pデータベースプログラム322によって実現される処理は上記に限定されない。P2Pデータベースプログラム322の開発言語またはP2Pデータベース321上に設けられるP2Pデータベースプログラム322の個数等は特に限定されない。
 (通信部330)
 通信部330は、外部装置との各種通信を制御する機能構成である。例えば、通信部330は、サーバ装置200から要求信号を受信し、当該要求信号に基づいて取得されたデータをサーバ装置200へ送信する。また、通信部330は、他のノード装置300との通信において、P2Pデータベース321の更新に用いられるデータ等(例えば、合意形成に用いられるデータ等)を送受信する。なお、通信部330が通信するデータ、および通信するケースはこれらに限定されない。
 以上、ノード装置300の機能構成例について説明した。なお、図7を用いて説明した上記の機能構成はあくまで一例であり、ノード装置300の機能構成は係る例に限定されない。例えば、ノード装置300は、図7に示す構成の全てを必ずしも備えなくてもよい。また、ノード装置300の機能構成は、仕様や運用に応じて柔軟に変形可能である。
 (2.6.ストレージ装置400の機能構成例)
 上記では、ノード装置300の機能構成例について説明した。続いて、図8を参照して、ストレージ装置400の機能構成例について説明する。
 図8に示すように、ストレージ装置400は、制御部410と、記憶部420と、通信部430と、を備える。
 (制御部410)
 制御部410は、ストレージ装置400が行う処理全般を統括的に制御する機能構成である。例えば、制御部410は、制御信号を用いて出力部(図示なし)、または通信部430等の起動や停止を制御することができる。また、制御部410は、サーバ装置200から提供される要求信号に基づいて記憶部420からのデータの取得処理、または記憶部420へのデータの登録処理を制御する。なお、制御部410の制御内容はこれらに限定されない。例えば、制御部410は、各種サーバ、汎用コンピュータ、PC、タブレットPC等において一般的に行われる処理を制御してもよい。
 (記憶部420)
 記憶部420は、各種データを記憶する機能構成である。例えば、記憶部420は、上記のとおり、生徒の学習到達記録、および活動記録等のうち、真正性の担保が求められない(または、高い真正性が求められない)データ等を記憶する。また、記憶部420は、ストレージ装置400の各機能構成によって使用されるプログラム、またはパラメータ等を記憶する。なお、記憶部420が記憶するデータの内容はこれらに限定されない。
 (通信部430)
 通信部430は、外部装置との各種通信を制御する機能構成である。例えば、通信部430は、サーバ装置200から要求信号を受信し、当該要求信号に基づいて取得されたデータをサーバ装置200へ送信する。なお、通信部430が通信するデータ、および通信するケースはこれらに限定されない。
 以上、ストレージ装置400の機能構成例について説明した。なお、図8を用いて説明した上記の機能構成はあくまで一例であり、ストレージ装置400の機能構成は係る例に限定されない。例えば、ストレージ装置400は、図8に示す構成の全てを必ずしも備えなくてもよい。また、ストレージ装置400の機能構成は、仕様や運用に応じて柔軟に変形可能である。
 (2.7.処理の流れ)
 上記では、ストレージ装置400の機能構成例について説明した。続いて、図9を参照して、各装置による処理の流れについて説明する。図9は、ユーザに対するデータおよび登録先情報の提供に関する、各装置による処理の流れの一例を示すシーケンス図である。
 図9のステップS1000では、ユーザが要求するデータを決定し、クライアント装置100の入力部120に対して所定の入力操作を行う。ステップS1004では、第1の要求部111aが、当該入力操作に基づいてデータの取得を要求する要求信号を生成し、通信部150を介して当該信号をサーバ装置200へ送信する。
 ステップS1008では、サーバ装置200のアクセス制御部211は、当該要求信号を解析することで要求内容を認識する。ステップS1012では、要求内容に基づいて、P2Pデータベースアクセス制御部211a、またはストレージアクセス制御部211bが新たな要求信号を生成し、P2Pデータベースアクセス制御部211aは当該信号をノード装置300aへ、ストレージアクセス制御部211bは当該信号をストレージ装置400へそれぞれ送信する。
 ステップS1016では、ノード装置300aの制御部310がP2Pデータベース321から、またはストレージ装置400の制御部410が記憶部420から、要求信号によって指定されるデータを取得する。そして、ステップS1020では、ノード装置300aの通信部330、またはストレージ装置400の通信部430が、取得されたデータを含む応答信号をサーバ装置200へ送信する。
 ステップS1024では、サーバ装置200の通信部230が、ノード装置300a、またはストレージ装置400からのデータ、および当該データの登録先情報を含む応答信号をクライアント装置100へ送信する。ステップS1028では、クライアント装置100の出力制御部112が、サーバ装置200からの応答信号に基づいて出力部130による出力を制御する。
 ステップS1032では、出力部130による出力を受けたユーザが、登録先情報の真正性の確認を要するデータを決定し、入力部120に対して所定の入力操作を行う。ステップS1036では、第2の要求部111bが、当該入力操作に基づいてデータの登録先情報の取得を要求する要求信号を生成し、通信部150を介して当該信号を第2の対象へ送信する(この例では、第2の対象はノード装置300bである)。
 ステップS1040では、ノード装置300bの制御部310が、要求信号によって、指定されたデータがP2Pデータベース321に登録されているか否かを確認する。ステップS1044では、ノード装置300bの通信部330が、データの登録先情報(P2Pデータベース321におけるデータの登録有無に関する情報)を含む応答信号をクライアント装置100へ送信する。
 ステップS1048では、クライアント装置100の出力制御部112が、ノード装置300bからの応答信号に基づいて出力部130による出力を制御することで一連の処理が終了する。
 なお、図9のシーケンス図における各ステップは、必ずしも記載された順序に沿って時系列に処理する必要はない。すなわち、シーケンス図における各ステップは、記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
  <3.ユーザインタフェース例>
 上記では、各装置による処理の流れについて説明した。続いて、本開示に係るUI例について説明する。
 (3.1.データの登録先情報を示すUI例)
 まず、図10~図21を参照して、データの登録先がP2Pデータベース321であるかストレージ装置400であるかを示すUI例について説明する。上記のとおり、クライアント装置100の出力制御部112は、サーバ装置200からの応答信号に含まれる登録先情報に基づいて応答信号に含まれるデータの出力を制御できるところ、図10~図21には、出力制御部112によって出力制御されたUI例として、ディスプレイ(出力部130)への表示例が示されている。なお、上記のとおり、出力制御部112は、ディスプレイ等の表示装置以外にも、スピーカ等の音声出力装置、ランプ等の光源装置、またはアクチュエータ等の触覚提示装置等の出力を制御してもよい。
 まず、図10に示すように、出力制御部112は、ディスプレイに一覧表示されているファイル(データ)のうちP2Pデータベース321に登録されているファイル(図中では、ファイル10)が、画面に埋め込まれるように凹んだ状態で表示されるように制御してもよい。
 また、図11に示すように、出力制御部112は、ディスプレイに一覧表示されているファイル(データ)のうちP2Pデータベース321に登録されているファイル(図中では、ファイル11)と、それ以外のファイル(ストレージ装置400に登録されているファイル)がそれぞれ異なる質感で表示されるように制御してもよい。
 また、図12に示すように、出力制御部112は、ディスプレイに一覧表示されているファイル(データ)のうちP2Pデータベース321に登録されているファイルが所定のアイコン(図中では、チェックマークが入れられたチェックボックスアイコン12)を付された状態で表示されるように制御してもよい。
 また、図13に示すように、出力制御部112は、ディスプレイに一覧表示されている文字列(データ)のうちP2Pデータベース321に登録されている文字列(図中では、文字列13)が、画面に埋め込まれるように凹んだ状態で表示されるように制御してもよい。
 また、図14に示すように、出力制御部112は、ディスプレイに一覧表示されている文字列(データ)のうちP2Pデータベース321に登録されている文字列が所定のアイコン(図中では、チェックマークが入れられたチェックボックスアイコン14)を付された状態で表示されるように制御してもよい。
 以上のUIによって、ユーザは、P2Pデータベース321に登録されているデータを直感的に認識することができる。
 続いて、ストレージ装置400(他の記憶部)に登録されているデータを示すUI例について説明する。図15に示すように、出力制御部112は、ディスプレイに一覧表示されているファイル(データ)のうちストレージ装置400に登録されているファイル(図中では、ファイル15)が所定のマーク(図中では、亀裂を示すマーク)を付された状態で表示されるように制御してもよい。
 また、図16に示すように、出力制御部112は、ディスプレイに一覧表示されているファイル(データ)のうちストレージ装置400に登録されているファイルが所定のアイコン(図中では、クエスチョンマークが付されたアイコン16)を付された状態で表示されるように制御してもよい。
 また、図17に示すように、出力制御部112は、ディスプレイに一覧表示されている文字列(データ)のうちストレージ装置400に登録されている文字列が所定のアイコン(図中では、クエスチョンマークが付されたアイコン17)を付された状態で表示されるように制御してもよい。
 以上のUIによって、ユーザは、ストレージ装置400に登録されているデータを直感的に認識することができる。
 また、図18に示すように、出力制御部112は、ディスプレイにおいてP2Pデータベース321に登録されているデータ用の領域18と、ストレージ装置400に登録されているデータ用の領域19と、を設け、それぞれの領域中にデータが表示されるように出力を制御してもよい。
 また、図19に示すように、出力制御部112は、ディスプレイにおいてP2Pデータベース321に登録されているデータ用のタブ20と、ストレージ装置400に登録されているデータ用のタブ21と、を設け、それぞれのタブの中にデータが表示されるように出力を制御してもよい。
 また、出力制御部112は、図20のAに示すように、ディスプレイにおいてP2Pデータベース321に登録されているデータ用のウィンドウと、図20のBに示すように、ストレージ装置400に登録されているデータ用のウィンドウと、を設け、それぞれのウィンドウの中にデータが表示されるように出力を制御してもよい。
 また、クライアント装置100が複数のディスプレイを備えている場合には、出力制御部112は、図21のAに示すように、P2Pデータベース321に登録されているデータ用のディスプレイと、図21のBに示すように、ストレージ装置400に登録されているデータ用のディスプレイと、を設け、それぞれのディスプレイ中にデータが表示されるように出力を制御してもよい。
 (3.2.第2の対象への確認結果を示すUI例)
 上記のとおり、サーバ装置200からデータの登録先情報が提供された後に、ユーザは、当該データの登録先情報の真正性を第2の対象に対して確認することができる。そこで、続いて、第2の対象から提供された登録先情報の確認結果を示すUI例について説明する。
 例えば、ユーザが、上記の図12に示したチェックボックスアイコン12を押下した場合、出力制御部112は、図22のAに示すポップアップ22をディスプレイに表示させる。そして、ユーザがポップアップ22に含まれる確認ボタン23を押下(クリック)すると、第2の要求部111bがデータの登録先情報を第2の対象に確認し、確認結果の文字列24がポップアップ22内に表示されるように出力制御部112が出力を制御する(この例では、当該データがP2Pデータベース321に登録されている旨が確認時刻と共に表示されている)。このUIによって、ユーザは、データの登録先情報の真正性を容易に確認することができる。
 (3.3.データへの追記に関する履歴情報を示すUI例)
 上記のとおり、ユーザは、基本的にP2Pデータベース321に登録されているデータの削除、および修正等を行うことはできないが、P2Pデータベース321に登録されているデータに対して追記を行うことはできる(例えば、データの削除、または修正を行う旨を追記することが可能である)。そこで、続いて、データへの追記に関する履歴情報(以降、単に「履歴情報」とも呼称する)を示すUI例について説明する。
 例えば、図23のAに示すように一覧表示されている複数のファイル(データ)の中から履歴情報を確認したいファイルをユーザが選択する。例えば、ユーザが、ファイルを押下(クリック)したり、所定時間以上にわたって押下し続けたり(長押し)することによって履歴情報を確認したいファイルを選択する。これによって、図23のBに示すように、出力制御部112が、当該ファイルに関する履歴情報が表示されるように出力を制御する。図23のBの例では、バージョン毎にファイルが表示されており、より新しいバージョンのファイルが手前に表示されている。すなわち、図23のBにおいて、ファイル25aが最も新しいバージョンのファイルであり、ファイル25dが最も古いバージョンのファイルである。
 これによって、ユーザは、各ファイルのバージョンの新旧を直感的に認識することができるため、ファイルの履歴情報をより容易に確認することができる。なお、履歴情報を示すUIは図23の例に限定されない。例えば、各バージョンのファイルが横一列または縦一列に表示されてもよい。また、データが追記された箇所が所定の方法(例えば、ハイライト、または異なる書体等)によって示されてもよい。
 (3.4.データのP2Pデータベース321への登録に使用されるUI例)
 上記のとおり、ユーザは、入力部120を用いて所望のデータの登録を要求する旨の入力操作を行うことで、当該データをP2Pデータベース321に登録させることができる。そこで、続いて、データのP2Pデータベース321への登録に使用されるUI例について説明する。
 例えば、図24に示すように、ディスプレイにおいてP2Pデータベース321に登録されているデータ用の領域26と、ストレージ装置400に登録されているデータ用の領域27と、が設けられ、それぞれの領域中にファイル(データ)が表示されているとする。そして、ユーザは、領域27に表示されているファイルを領域26へドラッグアンドドロップすることで、当該ファイルをP2Pデータベース321に登録させることができてもよい。
 また、図25に示すように、ユーザが、ストレージ装置400に登録されている文字列28を選択し(図中では、選択部分がハイライトされている)、選択部分を所定時間以上にわたって押下し続ける(長押しする)ことによって、当該ファイルをP2Pデータベース321に登録させることができてもよい。
 以上のUIによって、ユーザは、より容易にデータをP2Pデータベース321に登録させることができる。なお、データのP2Pデータベース321への登録に使用されるUIは上記の例に限定されない。
 (3.5.データを削除できないことを示すUI例)
 続いて、データがP2Pデータベース321に登録されているため、当該データを削除することができない旨を示すUI例について説明する。
 例えば、図26に示すように、ディスプレイにて、P2Pデータベース321に登録されているファイル29(データ)と、ストレージ装置400に登録されているファイル30(データ)が表示されている領域31と、削除対象のファイルの指定に使用される削除領域32と、が表示されている。
 そして、ユーザが、P2Pデータベース321に登録されているファイル29を削除領域32へドラッグアンドドロップすることでファイル29を削除しようとしたとする。この場合、ファイル29が削除領域32上にドラッグされた時点で、ファイルを削除できないことを示す禁止マーク33がファイル29に付され、さらに、ファイル29が削除領域32にてドロップされた場合、ファイル29が強制的に領域31における元の位置へ戻されるように表示されてもよい。なお、ユーザが、ストレージ装置400に登録されているファイル30を削除領域32へドラッグアンドドロップすると、ファイル30は適切に削除される。
 また、図27に示すように、ユーザが、P2Pデータベース321に登録されている文字列34を選択し(図中では、選択部分がハイライトされている)、選択部分の削除(または、書き換え)を行おうとすると、警告メッセージ35が表示されてもよい。この例では、「この行はP2Pデータベースに書き込まれているため書き換えできません」という警告メッセージ35が表示されている。
 以上のUIによって、ユーザは、削除しようとしたデータがP2Pデータベース321に登録されているため削除できない旨をより容易に認識することができる。これによって、本開示は、P2Pデータベース321への登録をより慎重に行うことをユーザに対して意識づけることができる。なお、データを削除できないことを示すUIは上記の例に限定されない。
 (3.6.P2Pデータベース321へのデータ登録が行われていることを示すUI例)
 続いて、P2Pデータベース321へのデータ登録が行われていることを示すUI例について説明する。
 例えば、図28に示すように、ディスプレイにて、データの編集領域36と、保存ボタン37と、下書き保存ボタン38と、が表示されている。ここで、保存ボタン37は、ユーザが編集領域36にて編集したデータをP2Pデータベース321に登録する際に押下されるボタンであり、下書き保存ボタン38は、ユーザが編集中のデータをストレージ装置400に登録する際に押下されるボタンである。
 仮に、ユーザが保存ボタン37を押下した場合、図29に示すように、データがP2Pデータベース321に保存されようとしている途中であることを示すメッセージ39(この例では、「P2Pデータベースに保存中...」というメッセージ39が表示されている)、およびP2Pデータベース321をユーザに連想させるローディングアイコン40が表示される(この例では、複数のブロックが連なることで、ユーザにブロックチェーンを連想させるローディングアイコン40が表示されている)。なお、ローディングアイコン40の代りに、図30に示すアニメーション41が表示されてもよい(この例では、複数のブロックが連なることで、ユーザにブロックチェーンを連想させるアニメーション41が表示されている)。
 また、仮に、図28において、ユーザが下書き保存ボタン38を押下した場合、図31に示すように、データがストレージ装置400に保存されようとしている途中であることを示すメッセージ42(この例では、「データベースに保存中...」というメッセージ42が表示されている)、およびP2Pデータベース321をユーザに連想させないローディングアイコン43(一般的なローディングアイコン)が表示される。なお、ローディングアイコン43の代りに、図32に示すような、P2Pデータベース321をユーザに連想させないアニメーション44(一般的なアニメーション)が表示されてもよい。
 以上のUIによって、ユーザは、P2Pデータベース321、またはストレージ装置400へのデータ登録が行われていることをより容易に認識することができる。なお、データ登録が行われていることを示すUIは上記の例に限定されない。
  <4.ハードウェア構成例>
 上記では、本開示に係るUI例について説明した。続いて、図33を参照して、各装置のハードウェア構成例について説明する。
 図33は、クライアント装置100、サーバ装置200、ノード装置300、またはストレージ装置400のハードウェア構成例を示すブロック図である。これらの装置は、図33に示す情報処理装置900によって具現され得る。
 情報処理装置900は、例えば、MPU901と、ROM902と、RAM903と、記録媒体904と、入出力インタフェース905と、操作入力デバイス906と、表示デバイス907と、通信インタフェース908とを備える。また、情報処理装置900は、例えば、データの伝送路としてのバス909で各構成要素間を接続する。
 MPU901は、例えば、MPUなどの演算回路で構成される、1または2以上のプロセッサや、各種処理回路などで構成され、クライアント装置100の制御部110、サーバ装置200の制御部210、ノード装置300の制御部310、またはストレージ装置400の制御部410として機能する。なお、クライアント装置100の制御部110、サーバ装置200の制御部210、ノード装置300の制御部310、またはストレージ装置400の制御部410は、上記で説明した各種処理を実現可能な専用の(または汎用の)回路(例えば、MPU901とは別体のプロセッサなど)で構成されていてもよい。
 ROM902は、MPU901が使用するプログラムや演算パラメータなどの制御用データなどを記憶する。RAM903は、例えば、MPU901により実行されるプログラムなどを一時的に記憶する。
 記録媒体904は、クライアント装置100の記憶部140、サーバ装置200の記憶部220、ノード装置300の記憶部320、またはストレージ装置400の記憶部420として機能し、本実施形態に係る情報処理に関するデータや各種プログラムなど様々なデータを記憶する。ここで、記録媒体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は、クライアント装置100の入力部120として機能する。
 また、表示デバイス907は、例えば、情報処理装置900上に備えられ、情報処理装置900の内部で入出力インタフェース905と接続される。表示デバイス907としては、例えば、液晶ディスプレイ(Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescence Display)などが挙げられる。表示デバイス907は、クライアント装置100の出力部130として機能する。
 なお、入出力インタフェース905が、情報処理装置900の外部の操作入力デバイスや外部の表示デバイスなどの外部デバイスと接続することも可能であることは、言うまでもない。また、表示デバイス907は、例えばタッチパネルなど、表示とユーザ操作とが可能なデバイスであってもよい。
 通信インタフェース908は、情報処理装置900が備える通信手段であり、クライアント装置100の通信部150、サーバ装置200の通信部230、ノード装置300の通信部330、またはストレージ装置400の通信部430として機能する。また、通信インタフェース908は、任意のネットワークを介して(あるいは、直接的に)、例えば、サーバなどの任意の外部装置と、無線または有線で通信を行う機能を有していてもよい。ここで、通信インタフェース908としては、例えば、通信アンテナおよびRF(Radio Frequency)回路(無線通信)や、IEEE802.15.1ポートおよび送受信回路(無線通信)、IEEE802.11ポートおよび送受信回路(無線通信)、あるいはLAN(Local Area Network)端子および送受信回路(有線通信)などが挙げられる。
 なお、情報処理装置900のハードウェア構成は、図33に示す構成に限られない。例えば、情報処理装置900は、接続されている外部の通信デバイスを介して通信を行う場合には、通信インタフェース908を備えていなくてもよい。また、通信インタフェース908は、複数の通信方式によって通信を行うことが可能な構成であってもよい。また、情報処理装置900は、例えば、操作入力デバイス906または表示デバイス907等を備えなくてもよい。また、例えば、図33に示す構成の一部または全部は、1または2以上のIC(Integrated Circuit)で実現されてもよい。
  <5.まとめ>
 以上で説明してきたように、本開示は、データの登録先がP2Pデータベース321であるか他の記憶部(ストレージ装置400)であるかに関する情報(登録先情報)を、互いに異なる複数の対象(第1の対象、および第2の対象)に対して要求し、当該要求の結果として得られた情報をユーザへ提供することができる。これによって、ユーザは、システムから提供される、データの登録先情報の真正性を自ら確認することができる。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 データの登録先がP2Pデータベースであるか、前記P2Pデータベース以外の記憶部であるかに関する情報を、互いに異なる複数の対象に対して要求する要求部と、
 前記要求の結果として得られた情報のユーザへの出力を制御する出力制御部と、を備える、
 情報処理装置。
(2)
 前記要求部は、前記複数の対象のうちの1つである第1の対象に対する要求の結果として得られた情報に基づいて、前記複数の対象のうちの他の1つである第2の対象に対して要求を行う、
 前記(1)に記載の情報処理装置。
(3)
 前記出力制御部は、前記第1の対象に対する要求の結果として得られた情報を前記ユーザに出力し、
 その後、前記要求部は、前記ユーザによる操作に基づいて前記第2の対象に対して要求を行う、
 前記(2)に記載の情報処理装置。
(4)
 前記データの登録先が前記P2Pデータベースである場合、前記要求部は、前記データへの追記に関する履歴情報を、前記複数の対象のうちの少なくとも1つに対して要求する、
 前記(1)から(3)のいずれか1項に記載の情報処理装置。
(5)
 前記データの登録先が前記P2Pデータベースである場合、前記出力制御部は、前記データを削除できないことを示す情報を前記ユーザに出力する、
 前記(1)から(4)のいずれか1項に記載の情報処理装置。
(6)
 前記要求部は、前記ユーザによる操作に基づいて前記P2Pデータベースへのデータの登録も、前記複数の対象のうちの少なくとも1つに対して要求する、
 前記(1)から(5)のいずれか1項に記載の情報処理装置。
(7)
 前記出力制御部は、前記データの前記P2Pデータベースへの登録が行われていることを示す情報を前記登録中に前記ユーザに出力する、
 前記(6)に記載の情報処理装置。
(8)
 前記出力制御部は、ファイル単位、または前記ファイルに含まれるデータ単位で前記要求の結果として得られた情報を前記ユーザに出力する、
 前記(1)から(7)のいずれか1項に記載の情報処理装置。
(9)
 前記P2Pデータベースはブロックチェーンデータである、
 前記(1)から(8)のいずれか1項に記載の情報処理装置。
(10)
 データの登録先がP2Pデータベースであるか、前記P2Pデータベース以外の記憶部であるかに関する情報を、互いに異なる複数の対象に対して要求することと、
 前記要求の結果として得られた情報のユーザへの出力を制御することと、を有する、
 コンピュータにより実行される情報処理方法。
(11)
 データの登録先がP2Pデータベースであるか、前記P2Pデータベース以外の記憶部であるかに関する情報を、互いに異なる複数の対象に対して要求することと、
 前記要求の結果として得られた情報のユーザへの出力を制御することと、
 をコンピュータに実現させるためのプログラム。
 100  クライアント装置
 110  制御部
 111  要求部
 111a  第1の要求部
 111b  第2の要求部
 112  出力制御部
 120  入力部
 130  出力部
 140  記憶部
 150  通信部
 200  サーバ装置
 210  制御部
 211  アクセス制御部
 211a  P2Pデータベースアクセス制御部
 211b  ストレージアクセス制御部
 220  記憶部
 230  通信部
 300  ノード装置
 310  制御部
 320  記憶部
 321  P2Pデータベース
 322  P2Pデータベースプログラム
 330  通信部
 400  ストレージ装置
 410  制御部
 420  記憶部
 430  通信部
 500  P2Pネットワーク
 600  ネットワーク

Claims (11)

  1.  データの登録先がP2Pデータベースであるか、前記P2Pデータベース以外の記憶部であるかに関する情報を、互いに異なる複数の対象に対して要求する要求部と、
     前記要求の結果として得られた情報のユーザへの出力を制御する出力制御部と、を備える、
     情報処理装置。
  2.  前記要求部は、前記複数の対象のうちの1つである第1の対象に対する要求の結果として得られた情報に基づいて、前記複数の対象のうちの他の1つである第2の対象に対して要求を行う、
     請求項1に記載の情報処理装置。
  3.  前記出力制御部は、前記第1の対象に対する要求の結果として得られた情報を前記ユーザに出力し、
     その後、前記要求部は、前記ユーザによる操作に基づいて前記第2の対象に対して要求を行う、
     請求項2に記載の情報処理装置。
  4.  前記データの登録先が前記P2Pデータベースである場合、前記要求部は、前記データへの追記に関する履歴情報を、前記複数の対象のうちの少なくとも1つに対して要求する、
     請求項1に記載の情報処理装置。
  5.  前記データの登録先が前記P2Pデータベースである場合、前記出力制御部は、前記データを削除できないことを示す情報を前記ユーザに出力する、
     請求項1に記載の情報処理装置。
  6.  前記要求部は、前記ユーザによる操作に基づいて前記P2Pデータベースへのデータの登録も、前記複数の対象のうちの少なくとも1つに対して要求する、
     請求項1に記載の情報処理装置。
  7.  前記出力制御部は、前記データの前記P2Pデータベースへの登録が行われていることを示す情報を前記登録中に前記ユーザに出力する、
     請求項6に記載の情報処理装置。
  8.  前記出力制御部は、ファイル単位、または前記ファイルに含まれるデータ単位で前記要求の結果として得られた情報を前記ユーザに出力する、
     請求項1に記載の情報処理装置。
  9.  前記P2Pデータベースはブロックチェーンデータである、
     請求項1に記載の情報処理装置。
  10.  データの登録先がP2Pデータベースであるか、前記P2Pデータベース以外の記憶部であるかに関する情報を、互いに異なる複数の対象に対して要求することと、
     前記要求の結果として得られた情報のユーザへの出力を制御することと、を有する、
     コンピュータにより実行される情報処理方法。
  11.  データの登録先がP2Pデータベースであるか、前記P2Pデータベース以外の記憶部であるかに関する情報を、互いに異なる複数の対象に対して要求することと、
     前記要求の結果として得られた情報のユーザへの出力を制御することと、
     をコンピュータに実現させるためのプログラム。
PCT/JP2019/003210 2018-04-02 2019-01-30 情報処理装置、情報処理方法、およびプログラム WO2019193823A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US16/962,650 US20210144195A1 (en) 2018-04-02 2019-01-30 Information processing apparatus, information processing method, and program
JP2020511613A JP7327384B2 (ja) 2018-04-02 2019-01-30 情報処理装置、情報処理方法、およびプログラム
EP19781128.4A EP3779703B1 (en) 2018-04-02 2019-01-30 Information processing device, information processing method, and program
CN201980010016.1A CN111656328A (zh) 2018-04-02 2019-01-30 信息处理装置、信息处理方法以及程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018070786 2018-04-02
JP2018-070786 2018-04-02

Publications (1)

Publication Number Publication Date
WO2019193823A1 true WO2019193823A1 (ja) 2019-10-10

Family

ID=68100406

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/003210 WO2019193823A1 (ja) 2018-04-02 2019-01-30 情報処理装置、情報処理方法、およびプログラム

Country Status (5)

Country Link
US (1) US20210144195A1 (ja)
EP (1) EP3779703B1 (ja)
JP (1) JP7327384B2 (ja)
CN (1) CN111656328A (ja)
WO (1) WO2019193823A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021136598A (ja) * 2020-02-27 2021-09-13 横河電機株式会社 データ記録装置、データ記録方法、データ記録プログラム、システム、方法、および、プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3983922A1 (en) * 2019-06-14 2022-04-20 Ailia SA Method for the execution of an instance of a smart contract by means of a blockchain

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002117145A (ja) * 2000-10-05 2002-04-19 Nippon Telegr & Teleph Corp <Ntt> 医療情報の管理方法およびこの方法のプログラムを記録した記録媒体
JP2006011693A (ja) 2004-06-24 2006-01-12 Hitachi Ltd ファイル共有システムおよびクライアント装置
JP2007193382A (ja) * 2006-01-16 2007-08-02 Sony Computer Entertainment Inc 情報提供システム、提供情報更新方法、情報端末、情報端末の制御方法、情報更新サーバ、情報更新サーバの制御方法及びプログラム
JP2009134665A (ja) * 2007-12-03 2009-06-18 Nippon Telegr & Teleph Corp <Ntt> データベースシステム,データ管理方法,データベースプログラム及びそのプログラムを記録する記録媒体
WO2015056102A1 (en) * 2013-10-17 2015-04-23 Spotify Ab System and method for switching between media items in a plurality of sequences of media items

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5219418B2 (ja) * 2007-07-13 2013-06-26 キヤノン株式会社 ファイル送信装置、方法、プログラム
JP2013109631A (ja) * 2011-11-22 2013-06-06 Canon Inc データ通信装置及びその制御方法、並びにプログラム
JP2014052830A (ja) * 2012-09-06 2014-03-20 Canon Marketing Japan Inc 情報処理装置、情報処理方法、及びコンピュータプログラム
JP2014191455A (ja) * 2013-03-26 2014-10-06 Fuji Xerox Co Ltd 情報処理装置、情報処理システム及び情報処理プログラム
JP2016021145A (ja) * 2014-07-14 2016-02-04 キヤノン株式会社 送信先管理装置、送信先管理方法及びプログラム
DE102015222347B4 (de) * 2015-11-12 2017-07-06 Bundesdruckerei Gmbh Elektronisches Bezahlverfahren und Servercomputer
KR101723405B1 (ko) * 2016-07-04 2017-04-06 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
US10581615B2 (en) * 2016-09-18 2020-03-03 Cloudminds (Shenxhen) Robotics) Systems Co., Ltd. Blockchain-based identity authentication method, device, node and system
CN107103098A (zh) * 2017-05-12 2017-08-29 曾建伟 一种包含智能合约的区块链网式数据库及工作方法
CN107392600B (zh) * 2017-06-26 2020-12-29 中国人民银行数字货币研究所 数字货币交易付款登记方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002117145A (ja) * 2000-10-05 2002-04-19 Nippon Telegr & Teleph Corp <Ntt> 医療情報の管理方法およびこの方法のプログラムを記録した記録媒体
JP2006011693A (ja) 2004-06-24 2006-01-12 Hitachi Ltd ファイル共有システムおよびクライアント装置
JP2007193382A (ja) * 2006-01-16 2007-08-02 Sony Computer Entertainment Inc 情報提供システム、提供情報更新方法、情報端末、情報端末の制御方法、情報更新サーバ、情報更新サーバの制御方法及びプログラム
JP2009134665A (ja) * 2007-12-03 2009-06-18 Nippon Telegr & Teleph Corp <Ntt> データベースシステム,データ管理方法,データベースプログラム及びそのプログラムを記録する記録媒体
WO2015056102A1 (en) * 2013-10-17 2015-04-23 Spotify Ab System and method for switching between media items in a plurality of sequences of media items

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021136598A (ja) * 2020-02-27 2021-09-13 横河電機株式会社 データ記録装置、データ記録方法、データ記録プログラム、システム、方法、および、プログラム
JP7327208B2 (ja) 2020-02-27 2023-08-16 横河電機株式会社 データ記録装置、データ記録方法、データ記録プログラム、システム、方法、および、プログラム

Also Published As

Publication number Publication date
EP3779703A1 (en) 2021-02-17
EP3779703B1 (en) 2022-09-21
EP3779703A4 (en) 2021-06-02
US20210144195A1 (en) 2021-05-13
CN111656328A (zh) 2020-09-11
JP7327384B2 (ja) 2023-08-16
JPWO2019193823A1 (ja) 2021-05-13

Similar Documents

Publication Publication Date Title
WO2019193820A1 (ja) 情報処理装置、情報処理方法、およびプログラム
CN110378593B (zh) 关于合规策略更新的应用的通信状态
US20180213079A1 (en) User interface for classroom management
JP2022529967A (ja) ブロックチェーン・ネットワークからのデータの抽出
JP7188391B2 (ja) 情報処理装置、情報処理方法およびプログラム
DE102013004214A1 (de) Alternative Entsperrungsmuster
JP2011502303A (ja) リアルタイムコラボレーションの間のデータ及びローカル計算のプライベートビュー
JPWO2019111508A1 (ja) 情報処理装置、情報処理方法およびプログラム
US20130239014A1 (en) File transfer methodology for a desktop sharing system
CN102591700A (zh) 提供基于角色的应用体验
US20170149686A1 (en) Resource watermarking and management
WO2019193823A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US20200279056A1 (en) Information processing device, information processing method, and program
JP6711235B2 (ja) 情報処理システム、情報処理装置、プログラム及びアンケート運用方法
WO2019054043A1 (ja) 情報処理装置、情報処理方法およびプログラム
EP3859547A1 (en) Information processing device, information processing method, and program
US11354309B2 (en) Information processing apparatus and information processing method
JP2022518157A (ja) ドキュメントマーキング方法及び装置
CN115374760A (zh) 文档编辑方法、装置、设备、计算机可读介质和程序产品
WO2019193833A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JPWO2019111509A1 (ja) 情報処理装置、情報処理方法およびプログラム
JP7239237B1 (ja) チャットシステム、チャット方法、チャットプログラム
JP2022002351A (ja) 情報処理装置、情報処理方法、およびプログラム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020511613

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019781128

Country of ref document: EP

Effective date: 20201102