Data control device, data control method, and program

The data control device with a cache unit and determination unit addresses inefficient data retrieval by caching data based on validity periods, enabling fast and shared access while respecting data sovereignty.

WO2026083553A1PCT designated stage Publication Date: 2026-04-23NT T INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
NT T INC
Filing Date
2024-10-17
Publication Date
2026-04-23

AI Technical Summary

Technical Problem

Existing data retrieval systems in inter-company data exchange require repeated access to data provider storage due to the lack of efficient caching mechanisms, leading to suboptimal data retrieval speeds and limited data sharing among users.

Method used

A data control device with a cache unit and determination unit that stores data from providers in a cache unit based on consensus information validity periods, allowing users to access cached data within the validity period without re-accessing the provider's storage.

Benefits of technology

Enables high-speed data acquisition by users from a cache unit, facilitating data sharing among users and maintaining data provider control over access, thus enhancing data retrieval efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024037036_23042026_PF_FP_ABST
    Figure JP2024037036_23042026_PF_FP_ABST
Patent Text Reader

Abstract

This data control device comprises: a cache unit 62; and a determination unit 61 that receives a data acquisition request including first agreement formation information from a utilization device 1 and determines whether data designated in the data acquisition request is stored in the cache unit 62. When the data is stored in the cache unit 62, the determination unit 61 determines whether the data in the cache unit 62 is available on the basis of at least one of a validity period of the first agreement formation information and a validity period of second agreement formation information when the data stored in the cache unit is acquired from a provision device, and transmits the data in the cache unit 62 to the utilization device 1 when it is determined that the data is available.
Need to check novelty before this filing date? Find Prior Art

Description

Data Control Device, Data Control Method, and Program

[0001] The present disclosure relates to a data control device, a data control method, and a program.

[0002] Efforts for multiple companies to cooperate to solve social issues such as the realization of a resource recycling society are becoming active, and inter-company data circulation to support this is starting. For example, there are supply chain carbon footprints, battery passports, smart cities, etc.

[0003] In Japan, activities such as DATA-EX have started, and the development of enabling technologies to accelerate inter-company data circulation is underway. In Europe, the concept and idea of "data space", which emphasizes the maintenance of "data sovereignty" (the right of data owners to control and manage their own data), has emerged, and the establishment of an autonomous and decentralized inter-company data linkage mechanism that maintains data sovereignty, the standardization of specifications, and the legal system are being promoted. As a precedent for data space, there is "Catena-X" in the European automotive industry, etc., which is leading inter-company data circulation.

[0004] The International Data Spaces Association (IDSA) is standardizing the specifications of the data space as the IDSA Reference Architecture Model (IDS-RAM). IDS-RAM proposes the idea of using the data storage owned by data users while keeping it decentralized without providing a central data storage function. Therefore, the data is physically held in the data storage of each data provider until it is transferred to a reliable data user.

[0005] "Dataspace Protocol 2024-1", International Data Spaces Association, Internet <https: / / docs.internationaldataspaces.org / ids-knowledgebase / v / dataspace-protocol>

[0006] In IDS-RAM, data providers and data users use "connectors" (data distribution control software) as their respective entry points. A typical implementation of connectors is Eclipse Dataspace Components (EDC). EDC conforms to the Dataspace Protocol defined by IDSA as the protocol / API specification for when connectors communicate with each other (Non-Patent Literature 1).

[0007] In the Dataspace Protocol, after an agreement on data provision is reached between the data provider and the data user, an Endpoint Data Reference (EDR) is sent from the data provider to the data user to access the data provider's storage. The data user uses the EDR to retrieve data from the data provider's storage. If the data user wants to retrieve the same data again, they need to obtain the EDR again, access the data provider's storage, and retrieve the data again.

[0008] To accommodate various inter-company data exchange use cases, accelerating data retrieval is crucial. Tractus-X EDC includes a mechanism to cache previously retrieved EDRs within each data user's connector. This allows each data user to access the data provider's storage using the cached EDR within the EDR's expiration date and retrieve data again.

[0009] However, the EDR cache only stores EDRs obtained through consensus, and data retrieval requires accessing the data provider's storage again. Furthermore, the EDR cache is implemented on a connector-by-connector basis, and data users cannot share information from the EDR cache.

[0010] This disclosure is made in view of the circumstances described above, and its purpose is to provide a technology that enables high-speed acquisition of data provided by data providers.

[0011] To achieve the above objective, one aspect of the present disclosure is a data control device comprising: a cache unit; a determination unit that receives a data acquisition request including first consensus information from a user device and determines whether the data specified in the data acquisition request is stored in the cache unit, wherein if the data is stored in the cache unit, the determination unit determines whether the data in the cache unit is available based on at least one of the validity period of the first consensus information and the validity period of the second consensus information when the data stored in the cache unit was acquired from a providing device, and transmits the data in the cache unit to the user device if it determines that the data is available.

[0012] One aspect of the present disclosure is a data control method performed by a data control device, the data control device comprising a cache unit, receiving a data acquisition request including first consensus information from a user device, determining whether the data specified in the data acquisition request is stored in the cache unit, and if the data is stored in the cache unit, determining whether the data in the cache unit is available for use based on at least one of the validity period of the first consensus information and the validity period of second consensus information obtained when the data stored in the cache unit was acquired from a providing device, and transmitting the data in the cache unit to the user device if it is determined to be available for use.

[0013] One aspect of the present disclosure is a program which causes a computer to function as a determination unit that receives a data acquisition request including first consensus information from a cache unit and a user device, and determines whether the data specified in the data acquisition request is stored in the cache unit, and if the data is stored in the cache unit, the determination unit determines whether the data in the cache unit is available based on at least one of the validity period of the first consensus information and the validity period of the second consensus information obtained when the data stored in the cache unit was acquired from the providing device, and transmits the data in the cache unit to the user device if it determines that the data is available.

[0014] According to this disclosure, it is possible to provide technology that enables high-speed acquisition of data provided by data providers.

[0015] Figure 1 is an overall diagram of the data distribution system in this embodiment. Figure 2 is a configuration diagram showing the configuration of the data control device and connector. Figure 3 is a diagram showing the process of storing data from the providing device in the cache section. Figure 4 is a diagram showing the process of the user device acquiring data from the cache section. Figure 5 is a diagram showing an example of a method for determining whether the data in the cache section is available for use. Figure 6 is an example of a hardware configuration.

[0016] Embodiments of this disclosure will be described below with reference to the drawings. In the drawings, the same parts are denoted by the same reference numerals and their descriptions are omitted.

[0017] Figure 1 is an overall diagram of the data distribution system according to this embodiment. The illustrated data distribution system comprises at least one user device 1A, 1B, a providing device 5, and a data control device 6. User device 1 is a device used by data users. Data users utilize data provided by data providers. Hereafter, user devices 1A and 1B may also be referred to as user device 1. Providing device 5 is a device used by data providers. Data providers provide data stored in providing device 5 to data users.

[0018] The user devices 1A and 1B each comprise a connector 20, an application 30 (processing unit), and a data unit 40. The connector 20 is data distribution control software for acquiring data provided by the providing device 5. For example, the connector 20 can use Eclipse Dataspace Components (EDC) compliant with the Dataspace Protocol.

[0019] The application 30 receives instructions from the data user and sends instructions to the connector 20 and the data control device 6. Various types of data are stored in the data unit 40.

[0020] The data provider 5, like the user device 1, includes a connector 20, an application 30 (processing unit), and a data unit 40. The connector 20 is data distribution control software for providing data to the user device 1. An EDC (Electronic Data Delivery) can be used for the connector 20. The application 30 receives instructions from the data provider and configures the connector 20, etc. The data unit 40 stores various types of data, including the data to be provided to the user device 1.

[0021] The data control device 6 includes a cache unit (primary storage area) that holds data acquired by the user device 1 from the providing device 5, and determines whether the user device 1 can use the data held in the cache unit.

[0022] In a typical Dataspace Protocol, after an agreement is reached between the data provider and the data user regarding data provision, the providing device 5 sends an EDR (Endpoint Data Reference) to the user device 1 for accessing the data, and the user device 1 uses the EDR to retrieve the data from the data unit 40 of the providing device 5. If the data user wishes to retrieve the same data, they use the EDR to retrieve the data again from the data unit 40 via the connector 20 of the providing device 5.

[0023] In contrast, in this implementation, the data control device 6 stores the data acquired from the providing device 5 on behalf of the user device 1 in its cache unit. The user device 1 can then acquire the data from the cache unit of the data control device 6 within the validity period of the agreement. As a result, the user device 1 can acquire data from the providing device 5 at high speed.

[0024] In this embodiment, the data held by the providing device 5 is provided (distributed) to the user device 1 using the Dataspace Protocol, but this is not limited to this. Also, the connector 20 may be a connector that does not assume EDC.

[0025] Figure 2 is a configuration diagram showing the configuration of the data control device 6 and connector 20 shown in Figure 1. The data control device 6 comprises a determination unit 61, a cache unit 62, and a data management unit 63.

[0026] The determination unit 61 receives a data acquisition request from the user device 1 that includes consensus formation information (first consensus formation information), and determines whether the data specified in the data acquisition request is stored in the cache unit 62. If the data is stored in the cache unit 62, the determination unit 61 determines whether the data in the cache unit 62 is available for use based on at least one of the validity period of the consensus formation information (first consensus formation information) and the validity period of the consensus formation information (second consensus formation information) obtained when the data stored in the cache unit 62 was acquired from the providing device 5. If it determines that the data is available for use, it transmits the data from the cache unit 62 to the user device 1.

[0027] The determination unit 61 may, if the data is stored in the cache unit 62, transmit path information for accessing the data to the user device 1, receive a data request including the path information from the user device 1, and determine whether the data in the cache unit 62 is available. For example, the determination unit 61 receives a data acquisition request including consensus formation information, evaluates the expiration date of the consensus formation information, and if OK, transmits path information that allows access to the data in the cache unit 62 to the user device 1. The user device 1 uses the path information to access the data in the cache unit 62 and acquires the data.

[0028] If the data is not stored in the cache unit 62, the determination unit 61 may obtain an EDR (Access Record) for the data from the providing device 5 by having the user device 1 send the data acquisition request to the providing device 5, and then acquire the data from the providing device 5 using the said EDR.

[0029] The determination unit 61 may store the data acquired from the providing device 5 in the cache unit 62, generate path information for accessing the data stored in the cache unit 62, and transmit the path information as endpoint information to the user device 1.

[0030] The determination unit 61 may determine that the period during which the validity period of the consensus information (first consensus information) included in the data request and the validity period of the consensus information (second consensus information) obtained from the data provider 5 in the cache unit 62 overlap is the period during which the data in the cache unit 62 is available.

[0031] The cache unit 62 comprises a primary storage area 621 and a metadata management unit 622. The primary storage area 621 temporarily holds data (actual data) acquired from the providing device 5. The metadata management unit 622 stores metadata (technical metadata) of the data acquired from the providing device 5.

[0032] The data management unit 63 stores agreement information related to the agreement reached between the providing device 5 and each user device 1. The agreement information includes the agreement ID (identifier of the agreement) and the validity period (expiration date) of the agreement. The data management unit 63 may also store correspondence between the agreement information and data (data identifiers).

[0033] The data management unit 63 may store the expiration date of the EDR access token used when the cache unit 62 acquired data from the data provider 5. The determination unit 61 may determine whether the data stored in the cache unit 62 is available based on the expiration date of the access token.

[0034] The EDR is access information for accessing data in the data section 40 of the providing device 5, and includes a set of endpoint information and an access token. The access token has an expiration date set.

[0035] The connector 20 of the user devices 1A and 1B includes a cache setting unit 21, an access control unit 22, a catalog management unit 23, an agreement management unit 24, and a linkage unit 25. In the example shown in Figure 2, the cache setting unit 21 is located within the connector 20, but the cache setting unit 21 may be a functional unit provided by the user devices 1A and 1B independently of the connector 20.

[0036] The access control unit 22 and the linkage unit 25 are functions of the supply device 5, and will be described later in the explanation of the connector 20 of the supply device 5.

[0037] The cache setting unit 21 manages various setting information for the cache unit 62 on a connector-by-connector basis (data space-by-dataspace-based, user-based). The cache setting unit 21 configures the cache unit 62 according to the setting information. The data control device 6 acquires the setting information set in the cache setting unit 21 of each connector and distributes it to the determination unit 61 and the cache unit 62. Data users configure setting information in the cache setting unit 21 using the application 30. This setting information includes, for example, cache ON / OFF and retention policy.

[0038] The cache ON / OFF setting indicates whether or not to store the data acquired from the data provider 5 in the cache unit 62. When the cache setting unit 21 is set to cache ON, the data control device 6 stores the data acquired from the data provider 5 in the cache unit 62. As a result, the next data user (user device 1) who wants to acquire the same data can acquire the data stored in the cache unit 62.

[0039] If the cache setting unit 21 is set to cache OFF, the data control device 6 does not store the data acquired from the providing device 5 in the cache unit 62. In this case, when the user device 1 acquires the same data again, it will acquire the data from the providing device 5 again. For example, in the case of data that is updated periodically, if the data is acquired from the cache unit 62, it may not be the latest data (it may be old data), which may cause problems. In this embodiment, the data user can select cache ON / OFF.

[0040] The retention policy is a policy (algorithm) for replacing the data stored in the cache unit 62. Common retention policies include LRU (Least Recently Used) and the like. The cache unit 62 replaces the data stored in the cache unit 62 according to the retention policy. Also, a policy of preferentially deleting data that has not been accessed for a certain period may be used.

[0041] In addition, the cache setting unit 21 may be set with a default cache period (for example, 24 hours, 3 days, indefinite, etc.) as setting information. The cache unit 62 deletes the data for which the cache period has elapsed from the cache unit 62. When the validity period (expiration date) is not set for the agreement formation information or the access token, by setting the cache period, it is possible to avoid the data in the cache unit 62 being available for an unnecessarily long time.

[0042] Note that the data in the cache unit 62 is desirably held in the cache unit 62 only within the validity period of the agreement formation information (or the expiration date of the access token), and is deleted from the cache unit 62 after the expiration of the validity period.

[0043] The catalog management unit 23 stores the catalog information acquired from the providing device 5. The catalog information includes information (data ID, data content, etc.) regarding each data provided by the providing device 5. <​​​​​​​The access control unit 22 stores access control information set by the data provider using the application 30. The access control information includes an access policy, a contract policy, and the like. Also, after the access policy and the contract policy are registered in the access control unit 22, Contract Definition (Dataspace Protocol standard specification) may be registered in the access control unit 22 to associate these policies with data (actual data) and metadata. When the access control unit 22 receives a data request from the utilization device 1, it determines whether to provide the data in the data unit 40 based on the access control information.

[0047] The catalog management unit 23 stores catalog information of the data stored in the data unit 40. The catalog information includes information (such as a data ID and data content) regarding each data provided by the providing device 5.

[0048] The consent management unit 24 stores consent formation information (Contract Agreement information) regarding the consent formed with the utilization device 1. The consent formation information includes a consent formation ID (consent formation identifier) for identifying the consent, the validity period (expiration date) of the consent, and the like.

[0049] When the access control unit 22 determines that data can be provided, the cooperation unit 25 generates an EDR including endpoint information and an access token, and transmits the EDR to the connector 20 of the utilization device 1. After verifying the EDR, the cooperation unit 25 transmits the data stored in the data unit 40 to the connector 20 of the utilization device 1.

[0050] FIG. 3 is a diagram showing an example of a process of storing data acquired by the utilization device 1A from the providing device 5 in the cache unit 62.

[0051] As preprocessing, the following processes by the connectors 20 of the providing device 5 and the utilization device 1A are performed in advance.

[0052] (1) Each connector 20 has previously obtained the endpoint information of the trading partner's connector 20. The catalog management unit 23 of the connector 20 of the user device 1A stores catalog information obtained from the connector 20 of the providing device 5 in response to instructions from the application 30 (data user). Alternatively, the connector 20 on the user device 1 side may be set in advance to obtain catalogs from the connector 20 of the providing device 5, and the catalog information may be obtained periodically (automatically) and stored in the catalog management unit 23.

[0053] Furthermore, the connector 20 of the user device 1A receives instructions from the application 30, obtains consensus information for the data to be used from the connector 20 of the providing device 5, and stores it in the consensus management unit 24. Specifically, the connector 20 of the user device 1A conducts contract negotiations with the connector 20 of the providing device 5, and if it matches a policy pre-registered in the providing device 5, consensus information is issued, and both the connector 20 of the providing device 5 and the connector 20 of the user device 1A hold this consensus information. At that time, the data control device 6 obtains the consensus information stored in the consensus management unit 24 and stores it in the data management unit 63. The consensus information includes the consensus ID and the validity period of the consensus. The consensus information also includes information such as which data the agreement is for and who the agreement is between.

[0054] (2) The access control unit 22 of the connector 20 of the providing device 5 is already configured with access control information for the data and metadata to be provided, which has been registered by the data provider via the application 30.

[0055] (3) The cache setting unit 21 of the connector 20 of the user device 1A is already set with the setting information (cache ON, retention policy, etc.) that the data user has registered via the application 30.

[0056] After preprocessing, the data control device 6 stores the data acquired from the data provider 5 in the cache unit 62 using the following procedure.

[0057] In step S1, the application 30 of the user device 1A receives instructions from the data user and sends a data acquisition request to the data control device 6, which includes the data ID (data identifier) ​​of the data to be acquired and the consensus ID of the previously acquired consensus information. The application 30 refers to the catalog management unit 23 and the consensus management unit 24 of the connector 20 and acquires the data ID and the consensus ID.

[0058] In step S2, when the determination unit 61 of the data control device 6 receives a data acquisition request, it checks whether the data ID is stored in the metadata management unit 622 of the cache unit 62.

[0059] In step S3, if the determination unit 61 does not have the data ID stored in the metadata management unit 622, it forwards the data acquisition request received in S2 to the connector 20 of the user device 1A.

[0060] In step S4, the connector 20 (access control unit 22) of the user device 1A transmits the data acquisition request sent from the determination unit 61 to the connector 20 of the providing device 5. The connector 20 may transmit the data acquisition request in accordance with the Dataspace Protocol.

[0061] In step S5, when the connector 20 of the providing device 5 receives a data acquisition request, it verifies the consensus ID included in the data acquisition request and determines whether or not the data for the data ID included in the data acquisition request can be provided. Specifically, the access control unit 22 of the connector 20 determines that data can be provided if the consensus ID of the data acquisition request is registered in the consensus management unit 24, and determines that data cannot be provided if the consensus ID is not registered. The access control unit 22 then transmits the determination result (data can be provided, data cannot be provided) to the connector 20 of the user device 1A.

[0062] In step S6, if the connector 20 of the providing device 5 determines that data can be provided, the linking unit 25 generates an EDR and transmits the EDR to the connector 20 of the user device 1A. The EDR is access information for accessing the data stored in the data unit 40 of the providing device 5. The EDR includes a set of endpoint information for data acquisition and an access token.

[0063] In step S7, the determination unit 61 of the data control device 6 acquires the EDR sent from the providing device 5 to the connector 20 of the user device 1A and stores it in the data management unit 63.

[0064] In step S8, the determination unit 61 transmits a data request including the EDR to the connector 20 of the providing device 5. In this embodiment, the determination unit 61 transmits the data request to the providing device 5 on behalf of the connector 20 of the user device 1A.

[0065] In step S9, the connector 20 of the providing device 5 verifies the access token included in the EDR of the received data request. Specifically, the access control unit 22 of the connector 20 verifies whether the access token generated in step S6 matches the access token received in step S9. If the access tokens match (verification successful), the access control unit 22 uses the linking unit 25 to obtain the data specified in the EDR from the data unit 40 and transmits the data to the data control device 6. If the access tokens do not match (verification failed), the access control unit 22 sends a response rejecting the data request to the data control device 6.

[0066] In step S10, the determination unit 61 stores the data (actual data) received from the providing device 5 in the primary storage area 621 of the cache unit 62, and writes metadata related to the data to the metadata management unit 622. At this time, the determination unit 61 generates path information for accessing the data stored in the primary storage area 621 based on the metadata ID (metadata identifier) ​​of the metadata corresponding to the received data, and writes it to the metadata management unit 622.

[0067] In step S11, the determination unit 61 transmits the path information to the data stored in the cache unit 62 as endpoint information to the application 30 of the user device 1A.

[0068] In step S12, the application 30 of the user device 1A receives instructions from the data user and transmits a data request including path information to the determination unit 61.

[0069] In steps S13 and S14, the determination unit 61 uses the path information of the data request to retrieve the data stored in the primary storage area 621 of the cache unit 62 and transmits it to the application 30 of the user device 1A. The application 30 of the user device 1A presents the retrieved data to the data user.

[0070] Figure 4 shows an example of the process by which user device 1B retrieves data stored in the cache unit 62. Here, we will explain the case in which a different data user of user device 1B uses the data that a data user of user device 1A retrieves from the providing device 5 and stores in the cache unit 62 through the process shown in Figure 3.

[0071] It is assumed that the connectors 20 of the user device 1B and the supply device 5 undergo the same pre-processing as described in Figure 3 for the user device 1A and the supply device 5.

[0072] In step S21, the application 30 of the user device 1B receives instructions from the data user and sends a data acquisition request to the data control device 6, which includes the data ID of the data to be acquired and the consensus ID of the previously acquired consensus information. The application 30 receives instructions from the data user, refers to the catalog management unit 23 and the consensus management unit 24 of the connector 20, and acquires the data ID and the consensus ID.

[0073] In step S22, when the determination unit 61 of the data control device 6 receives a data acquisition request, it checks whether the data ID is stored in the metadata management unit 622 of the cache unit 62.

[0074] In step S23, if the data ID is stored in the metadata management unit 622, the determination unit 61 obtains path information to the data (actual data) stored in the primary storage area 621 from the metadata management unit 622 and transmits the path information as endpoint information to the application 30 of the user device 1B.

[0075] In step S24, the application 30 of the user device 1B sends a data request including path information to the determination unit 61.

[0076] In step S25, the determination unit 61 refers to the data management unit 63 and determines whether the data in the cache unit 62 is available based on at least one of the validity period of the consensus ID (first consensus information) included in the data acquisition request of S21 and the validity period of past consensus IDs (second consensus information) when the data of the data ID stored in the cache unit 62 was acquired from the providing device 5. The determination unit 61 may also determine whether the data is available based on the EDR (access token expiration date) corresponding to the data of the data ID stored in the data management unit 63. The determination of availability will be described later.

[0077] In step S26, if the determination unit 61 determines that it is available in S25, it retrieves the data stored in the primary storage area 621 of the cache unit 62 using the path information specified in the data request.

[0078] In step S27, the determination unit 61 transmits the data acquired from the cache unit 62 to the application 30 on the user device 1B. The application 30 on the user device 1B presents the acquired data to the data user.

[0079] If the determination unit 61 determines in step S25 that the data is unavailable, it stops transferring data from the cache unit 62 and forwards the data acquisition request received in S21 to the connector 20 of the user device 1B. The connector 20 of the user device 1B then transmits the forwarded data acquisition request to the connector 20 of the providing device 5, similar to step S4 in Figure 3. Then, the processing from step S5 onwards in Figure 3 is carried out.

[0080] Figure 4, described above, illustrates the case where user device 1B uses data acquired by user device 1A from provider device 5 and stored in cache unit 62. In this embodiment, data stored in cache unit 62 can be shared among data users. That is, even if the data was acquired by another data user (another user device) from provider device 5, the data user can acquire the data from cache unit 62 as long as they reach an agreement with the data provider and the agreement is valid for a limited time. As a result, user device 1B can acquire data stored in data unit 40 of provider device 5 at high speed from cache unit 62 without having to access data unit 40 of provider device 5.

[0081] Furthermore, although Figure 4 illustrates the case where user device 1B uses data acquired by user device 1A and stored in the cache unit 62, user device 1A may acquire the data it has acquired and stored in the cache unit 62 multiple times during its validity period. This allows user device 1A to quickly acquire data acquired once from the providing device 5 from the cache unit 62 without having to access the data unit 40 of the providing device 5.

[0082] Figure 5 shows an example of a method for determining whether data in the cache unit 62 is available. In the example shown, the determination unit 61 determines that the period during which the validity period of the consensus information for the data in the cache unit 62 overlaps with the validity period of newly agreed-upon consensus information is the period during which the data in the cache unit 62 is available.

[0083] Here, it is assumed that data acquired by user device 1A from providing device 5 is stored in cache unit 62, and user device 1B uses the data in cache unit 62. In this case, the determination unit 61 determines that the period during which the validity period a of the agreement information agreed upon by user device 1A and providing device 5 overlaps with the validity period b of the agreement information agreed upon by user device 1B, which will acquire the data next, is the period during which the data in cache unit 62 can be used.

[0084] In Pattern 1, the end of the validity period b of the new agreement is later than the end of the validity period a of the initial agreement. In this case, the determination unit 61 determines that the data stored in the cache unit 62 is available only for the overlapping period of validity period a and validity period b (the period from the start of validity period b to the end of validity period a).

[0085] In Pattern 2, the validity period b of the new agreement is included in the validity period a of the initial agreement. That is, validity period b is a part of validity period a. In this case, the determination unit 61 determines that the data stored in the cache unit 62 is available only during the period in which validity period a and validity period b overlap (i.e., validity period b).

[0086] In pattern 3, the validity period b of the new agreement is outside the initial validity period a. In other words, there is no overlap between the validity period b and the validity period a. In this case, the determination unit 61 determines that the data stored in the cache unit 62 is unavailable.

[0087] The determination unit 61 may determine whether the data in the cache unit 62 is available based on at least one of the validity period b of the new consensus information (first consensus information) and the validity period a of the initial consensus information (second consensus information). For example, the determination unit 61 may determine that the data stored in the cache unit 62 is available only for the validity period a of the initial consensus information.

[0088] Furthermore, the determination unit 61 may determine that the data stored in the cache unit 62 is available only for the validity period b of the new agreement information. For example, since a new agreement has been reached between the user device 1B and the provider device 5, the determination unit 61 may extend the validity period b of the new agreement and determine that the data in the cache unit 62 is available. However, since some data is updated periodically, there are cases where it is better not to extend the validity period.

[0089] Furthermore, the determination unit 61 may determine whether the data in the cache unit 62 is available based on the expiration date of the access token included in the EDR corresponding to the data of the desired data ID stored in the data management unit 63. The determination unit 61 may, after determining availability using the validity period of the consensus information described above, further determine availability based on the expiration date of the access token. Alternatively, the determination unit 61 may determine availability based on the expiration date of the access token without first determining availability using the validity period of the consensus information.

[0090] Furthermore, if the entire desired data is not stored in the cache unit 62 (i.e., the cache rate is less than 100%), the determination unit 61 may determine that the data in the cache unit 62 is unavailable and control the user device 1 to acquire data from the providing device 5. The determination unit 61 can also determine whether the cache rate is 100% or not by referring to the metadata management unit 622 of the cache unit 62.

[0091] Furthermore, it is desirable that the cache unit 62 retains data only for the duration of the agreement's validity period. This is because, from the perspective of data sovereignty, data should be used based on the will of the data provider.

[0092] The data control device 6 of this embodiment described above includes a cache unit 62 and a determination unit 61 that receives a data acquisition request including first consensus formation information from a user device 1 and determines whether or not the data specified in the data acquisition request is stored in the cache unit 62. If the data is stored in the cache unit 62, the determination unit 61 determines whether or not the data in the cache unit 62 is available for use based on at least one of the validity period of the first consensus formation information and the validity period of the second consensus formation information when the data stored in the cache unit 62 was acquired from the providing device 5. If it determines that the data is available for use, it transmits the data in the cache unit 62 to the user device 1.

[0093] The data control method performed by the data control device 6 of this embodiment receives a data acquisition request including first consensus information from the user device 1, determines whether the data specified in the data acquisition request is stored in the cache unit 62, and if the data is stored in the cache unit 62, determines whether the data in the cache unit 62 is available for use based on at least one of the validity period of the first consensus information and the validity period of the second consensus information when the data stored in the cache unit was acquired from the providing device 5, and transmits the data from the cache unit 62 to the user device 1 if it is determined to be available for use.

[0094] The program of this embodiment causes the computer to function as a determination unit 61 that receives data acquisition requests including first consensus information from the cache unit 62 and the user device 1, and determines whether the data specified in the data acquisition request is stored in the cache unit 62. If the data is stored in the cache unit 62, the determination unit 61 determines whether the data in the cache unit 62 is available for use based on at least one of the validity period of the first consensus information and the validity period of the second consensus information obtained when the data stored in the cache unit was acquired from the providing device 5. If it determines that the data is available for use, it transmits the data from the cache unit 62 to the user device 1.

[0095] In this embodiment, if a data user wishes to obtain data again that has been acquired from the providing device 5, they can do so from the cache unit 62 without having to request it from the providing device 5, as long as it is within the validity period of the agreement. This allows for faster data acquisition.

[0096] In this embodiment, data stored in the cache unit 62 can be shared among data users. This allows other data users, other than the data user who obtained the data from the providing device 5, to obtain the data from the shared cache unit 62. Therefore, other data providers can obtain data from the cache unit 62 at high speed without obtaining an EDR from the providing device 5 and accessing the data unit 40 of the providing device 5.

[0097] In this embodiment, the data control device 6 controls access to data in the cache unit 62 based on the validity period of the consensus information. This allows the access control intended by the data provider to be maintained even when the data from the providing device 5 is held in the cache unit 62 of the data control device 6 on the data user side.

[0098] The data control device 6 described above can use, for example, a general-purpose computer system as shown in Figure 6. The illustrated computer system includes a CPU (Central Processing Unit, processor) 901, memory 902, storage 903 (HDD: Hard Disk Drive, SSD: Solid State Drive), communication device 904, input device 905, and output device 906. The memory 902 and storage 903 are storage devices. In this computer system, the various functions of the transmission device are realized when the CPU 901 executes a predetermined program loaded onto the memory 902.

[0099] Furthermore, the data control device 6 may be implemented on one computer or on multiple computers. The data control device 6 may also be a virtual machine implemented on a computer. The program of the data control device 6 can be stored on a computer-readable recording medium such as an HDD, SSD, USB (Universal Serial Bus) memory, CD (Compact Disc), or DVD (Digital Versatile Disc), or it can be distributed over a network. A computer-readable recording medium is, for example, a non-transitory recording medium.

[0100] This disclosure is not limited to the embodiments described above, and numerous modifications are possible within the scope of its essence.

[0101] 1A, 1B: User device 20: Connector 21: Cache setting unit 22: Access control unit 23: Catalog management unit 24: Agreement management unit 25: Collaboration unit 30: Application 40: Data unit 5: Provisioning device 6: Data control unit 61: Determination unit 62: Cache unit 621: Primary storage area 622: Metadata management unit 63: Data management unit

Claims

1. A data control device comprising: a cache unit; a determination unit that receives a data acquisition request including first consensus information from a user device and determines whether the data specified in the data acquisition request is stored in the cache unit, wherein the determination unit, if the data is stored in the cache unit, determines whether the data in the cache unit is available based on at least one of the validity period of the first consensus information and the validity period of the second consensus information obtained when the data stored in the cache unit was acquired from a providing device, and transmits the data in the cache unit to the user device if it is determined to be available.

2. The data control device according to claim 1, wherein the determination unit transmits path information for accessing the data to the user device when the data is stored in the cache unit, receives a data request including the path information from the user device, and determines whether the data in the cache unit is available.

3. The data control device according to claim 1, wherein if the data is not stored in the cache unit, the user device transmits a data acquisition request to the providing device to obtain access information to the data from the providing device, and uses the access information to obtain the data from the providing device.

4. The data control device according to claim 3, wherein the determination unit stores the data acquired from the providing device in the cache unit, generates path information for accessing the data stored in the cache unit, and transmits the path information as endpoint information to the user device.

5. The data control device according to claim 1, wherein the determination unit determines that the period during which the validity period of the first consensus information and the validity period of the second consensus information overlap is the period during which the data in the cache unit is available.

6. The data control device according to claim 1, further comprising a data management unit that stores the validity period of the access token used when the data in the cache unit was acquired from the providing device, wherein the determination unit determines whether the data stored in the cache unit is usable based on the validity period.

7. A data control method performed by a data control device, wherein the data control device includes a cache unit, receives a data acquisition request including first consensus information from a user device, determines whether the data specified in the data acquisition request is stored in the cache unit, determines whether the data in the cache unit is available for use based on at least one of the validity period of the first consensus information and the validity period of the second consensus information obtained when the data stored in the cache unit was acquired from a providing device, and transmits the data in the cache unit to the user device if it is determined to be available for use.

8. A program that causes a computer to function as a determination unit that receives data acquisition requests including first consensus information from a cache unit and a user device, and determines whether the data specified in the data acquisition request is stored in the cache unit, and if the data is stored in the cache unit, the determination unit determines whether the data in the cache unit is available based on at least one of the validity period of the first consensus information and the validity period of the second consensus information when the data stored in the cache unit was acquired from the providing device, and transmits the data in the cache unit to the user device if it is determined to be available.