Distributed storage system, method for distributed storage, and distributed storage program

The distributed storage system using P2P communication allows users to select storage destinations based on peer attributes and preferences, addressing the inability of existing technologies to store data in user-preferred locations, ensuring reliability and alignment with social and security preferences.

JP2025138567AInactive Publication Date: 2025-09-25CASLEY DEEP INNOVATIONS INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024227994
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-11
Filing Date
2024-12-24
Publication Date
2025-09-25
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing data storage technologies do not allow users to select their preferred storage destination, particularly avoiding devices in non-liberal countries or those owned by anti-social forces, despite optimizing for processing speed.

Method used

A distributed storage system using P2P communication that includes a reception unit, determination unit, and registration unit to allow users to select storage destinations based on peer attributes and their preferences, with weight assignments for different attributes to determine optimal storage.

Benefits of technology

Enables users to store data in preferred locations that align with their social and security preferences, ensuring data is stored in reliable and user-desired destinations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025138567000001_ABST
    Figure 2025138567000001_ABST
Patent Text Reader

Abstract

To provide a novel technique of presenting a storage destination of data to be stored in a distributed manner.SOLUTION: A distributed storage system 0 includes a plurality of peers 1 to which attributes are associated, a reception unit, a determination unit, a presentation unit, and a registration unit. The reception unit receives, via a user terminal, data to be stored and the attribute of a desirable storage destination of data. The determination unit determines a storage destination from the plurality of peers on the basis of the attributes of the peers and the received attribute. The presentation unit presents, on the basis of the result of the determination, a peer that is a candidate for the storage destination. The registration unit receives, via the user terminal, a selection of the presented peer, and stores the data in the selected peer.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a distributed storage system, a distributed storage method, and a distributed storage program. [Background technology]

[0002] 2. Description of the Related Art Conventionally, there exists a technology for storing data using a plurality of distributed information processing devices.

[0003] For example, Patent Document 1 discloses a technique for determining an optimal storage location for saving data in order to speed up future processing. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent No. 5850044 Summary of the Invention [Problem to be solved by the invention]

[0005] When data is stored using multiple distributed information processing devices, there is a possibility that the storage destination may be a device located in a non-liberal country or a device owned by anti-social forces. Therefore, there is a need for users to be able to select the storage destination themselves. For example, government agencies in liberal countries do not prefer storing data on devices located in non-liberal countries. Furthermore, companies with strict compliance requirements do not prefer storing data on devices owned by anti-social forces. However, while the technology in Patent Document 1 can store data in the optimal storage destination to speed up processing, it cannot present the user with the storage destination they desire.

[0006] The present invention has been made in consideration of the above-mentioned circumstances, and an object to be achieved is to provide a new technique for presenting a storage destination for data that is distributed and stored. [Means for solving the problem]

[0007] In order to solve the above problems, the present invention provides a distributed storage system for distributing and storing data using P2P communication, comprising: The distributed storage system includes a plurality of peers linked by attributes, a reception unit, a determination unit, a presentation unit, and a registration unit, the receiving unit receives, via a user terminal, the data to be saved and attributes of a destination where the user wishes to save the data; the determination unit determines a storage destination from the plurality of peers based on the attributes of the peers and the received attributes; the presenting unit presents peers that are candidates for storage destinations based on the result of the determination; The registration unit accepts a selection of the presented peers via the user terminal and stores the data in the selected peer.

[0008] The present invention also provides a distributed storage method executed by a distributed storage system that distributes and stores data through P2P communication, comprising: The distributed storage system includes a plurality of peers linked by attributes, a reception unit, a determination unit, a presentation unit, and a registration unit, a step in which the accepting unit accepts, via a user terminal, data to be saved and attributes of a destination in which the user wishes to save the data; the determination unit determining a storage destination from the plurality of peers based on the attributes of the peers and the received attributes; the presenting unit presenting peers that are candidates for storage destinations based on the result of the determination; The registration unit receives a selection of the presented peers via the user terminal, and stores the data in the selected peers.

[0009] The present invention also provides a distributed storage program for distributing and storing data through P2P communication, comprising: The computer functions as a plurality of peers, a reception unit, a determination unit, a presentation unit, and a registration unit, to which attributes are linked; the receiving unit receives, via a user terminal, the data to be saved and attributes of a destination where the user wishes to save the data; the determination unit determines a storage destination from the plurality of peers based on the attributes of the peers and the received attributes; the presenting unit presents peers that are candidates for storage destinations based on the result of the determination; The registration unit accepts a selection of the presented peers via the user terminal and stores the data in the selected peer.

[0010] With this configuration, it is possible to present a desired storage destination to the user, and data can be stored in a storage destination that matches the user's preferences.

[0011] In a preferred embodiment of the present invention, the determination unit determines a storage destination from among the plurality of peers based on attributes of the peer, the received attributes, and user terminal attributes related to the user terminal.

[0012] By adopting such a configuration, it becomes possible to utilize the user terminal attributes relating to the user terminal, and a more appropriate storage destination can be presented.

[0013] In a preferred embodiment of the present invention, a weight is assigned to each attribute item including a plurality of attributes, The determination unit determines a storage destination from the plurality of peers based on the attributes of the peers, the received attributes, the user terminal attributes, and weights associated with the attribute items.

[0014] This configuration makes it possible to associate different weights with each attribute item, and to present a more appropriate storage destination according to the degree of importance of each attribute item.

[0015] In a preferred embodiment of the present invention, the distributed storage system includes a setting unit, The setting unit receives the weight as a numerical value and associates the numerical value with the attribute item.

[0016] By adopting such a configuration, it becomes possible to set weights according to the social situation, etc., and to present a more appropriate storage destination according to the social situation, etc.

[0017] In a preferred embodiment of the present invention, the distributed storage system comprises a plurality of nodes each consisting of a plurality of peers, the determination unit determines a storage destination from the plurality of nodes based on the attributes of the nodes and the received attributes; the presentation unit presents nodes that are candidates for storage destinations based on the result of the determination; The registration unit accepts selection of the presented node via the user terminal and stores the data in the selected node.

[0018] This configuration makes it possible to collectively manage multiple peers linked by a common attribute as a node, thereby reducing the time required to present a storage destination.

[0019] In a preferred embodiment of the present invention, the determination unit determines a destination peer from among the selected nodes based on an attribute of the peer, The registration unit stores the data in the peer based on the result of the determination.

[0020] This configuration allows data to be stored in a more appropriate peer among the selected nodes.

[0021] In a preferred embodiment of the present invention, the determination unit determines the reliability of the data based on attributes of the peer, the received attributes, and user terminal attributes related to the user terminal.

[0022] This configuration prevents malicious data from being stored on peers. [Effects of the Invention]

[0023] According to the present invention, it is possible to provide a new technique for presenting a storage destination for data that is distributed and stored. [Brief explanation of the drawings]

[0024] [Figure 1] FIG. 1 is a block diagram showing the configuration of a distributed storage system according to an embodiment of the present invention. [Figure 2] 3 shows an example of a node configuration in this embodiment. [Figure 3] FIG. 2 is a diagram showing the hardware configuration according to the present embodiment. [Figure 4] 3 shows an example of a data configuration stored in a storage unit in this embodiment. [Figure 5] 3 shows an example of a data configuration stored in a storage unit in this embodiment. [Figure 6] 3 is a flowchart of processing in this embodiment. [Figure 7] 3 shows an example of a data configuration stored in a storage unit in this embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0025] The distributed storage system of the present invention will be described below with reference to the accompanying drawings. The drawings show preferred embodiments. However, the present invention may be embodied in many different forms and is not limited to the embodiments set forth herein.

[0026] For example, although the configuration, operation, etc. of the distributed storage system are described in this embodiment, similar effects can be achieved by the executed methods (steps), devices, computer programs, etc. The program in this embodiment may be provided as a non-transitory computer-readable recording medium, or may be provided so as to be downloadable from an external server, or the program may be started on an external computer to implement its functions on a client terminal (so-called cloud computing).

[0027] In addition, in this embodiment, the term "unit" may include, for example, a combination of hardware resources implemented by a circuit in the broad sense and software information processing that can be specifically realized by these hardware resources. In this embodiment, "information" is represented by, for example, the physical value of a signal value representing voltage or current, the high or low value of a signal value as a binary bit set consisting of 0 or 1, or quantum superposition (so-called quantum bits), and communication and calculation can be performed on a circuit in the broad sense.

[0028] A circuit in the broad sense is a circuit realized by appropriately combining a circuit, circuitry, processor, memory, etc. That is, it includes a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), an LSI (Large Scale Integration), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), etc.

[0029] In this embodiment, the data storage destination (storage) includes a device (apparatus) and a medium (storage medium). A peer refers to a single device or medium that is a storage destination, and is associated with multiple attributes. A first node refers to a collection of multiple peers that share a common attribute (grouped by a common attribute). The number of attributes required to form a first node (to group together as a first node) may be any number, but it must be fewer than the number of attributes associated with the peers. A second node refers to a collection of multiple first nodes that share a common attribute, or a collection of multiple peers that share a common attribute. The number of attributes required to group together as a second node may be any number, but it must be fewer than the number of attributes associated with the first node. For example, if five types of attributes are associated with peers, the first node may be composed of peers that share three types of common attributes, and the second node may be composed of peers that share one type of common attribute. Grouping peers by a smaller number of attributes enables the storage destination to be determined more quickly.

[0030] Furthermore, when M (M=1, 2, . . .) types of attributes are associated with peers, the first node may be configured with peers having M-1 types of common attributes, the second node may be configured with peers having M-2 types of common attributes, . . . and the (M-1)th node may be configured with peers having one type of attribute. By configuring nodes in this way, with the number of common attributes reduced by one, the user's desired storage destination can be determined efficiently. Since multiple attributes are associated with peers, one peer may constitute multiple Mth nodes (M=1, 2, . . .). Furthermore, in this embodiment, data may be stored directly in a peer without going through a peer.

[0031] <System Overview> Fig. 1 is a block diagram showing the configuration of a distributed storage system according to this embodiment. As shown in Fig. 1, the distributed storage system 0 includes multiple peers 1 (1a to 1f), multiple first nodes 2 (2a to 2f), and multiple second nodes 3 (3a, 3b). The multiple peers 1 are configured to be able to communicate with each other via a network via P2P.

[0032] In this embodiment, the network is an IP (Internet Protocol) network, but there is no restriction on the type of communication protocol, and there is also no restriction on the type and scale of the network.

[0033] In this embodiment, there are multiple user terminals. The user terminals in this embodiment include a terminal that a user uses to save data and a terminal that is a destination for saving the data. For example, when there are user terminals U1 to U100 and a user tries to save data using user terminal U1, the candidate destinations for saving the data are user terminals U2 to U100.

[0034] In this embodiment, the user terminal may be used as both a terminal for saving data and a terminal for saving data. Also, the user terminal may be used as either a terminal for saving data or a terminal for saving data.

[0035] Peer 1 (a terminal used by a user to save data (user terminal), a terminal where data is saved, etc.) can be a general-purpose server computer, personal computer (PC), smartphone, tablet terminal, wearable terminal, IoT (Internet of Things) device, etc. It is also possible to configure a distributed storage system 0 by implementing the functional components described below on multiple computers.

[0036] The first node 2 is composed of multiple peers with common attributes. For example, as shown in Figure 1, the first node 2a is composed of four peers 1a, the first node 2b is composed of five peers 1b, and the first node 2c is composed of five peers 1c. For example, if the devices owned by a woman who has nationality of country A (liberal country) and belongs to AA University, a woman who has nationality of country A (liberal country) and belongs to AAA University, a man who has nationality of country B (liberal country) and belongs to BB University, and a man who has nationality of country C (liberal country) and belongs to CC University are each designated as 1a, the first node 2a can be configured with the attributes of being a liberal country and a university.

[0037] Furthermore, the peer 1 may constitute a plurality of different first nodes 2. As shown in Fig. 2, two peers 1a constituting the first node 2a and two peers 1b constituting the first node 2b may constitute a first node 2g. For example, it is conceivable that the first node 2g is constituted by the attributes of country A and female.

[0038] The second node 3 is composed of multiple first nodes with a common attribute, or multiple peers with a common attribute. For example, as shown in Figure 1, the second node 3a is composed of three first nodes 2a, 2b, and 2c. For example, if the first nodes 2a, 2b, and 2c are composed of devices owned by a person who has the nationality of a liberal country and belongs to a university, a person who has the nationality of a liberal country and belongs to a high school, and a person who has the nationality of a liberal country and belongs to a research institute, respectively, the second node 3a can be configured with the attribute of a liberal country.

[0039] Furthermore, peers 1 constituting different second nodes 3 may constitute the first node 2. For example, as shown in Figure 2, one peer 1b constituting the second node 3a and one peer 1e constituting the second node 3b may constitute the first node 2j. Furthermore, the first node 2 may constitute a plurality of different second nodes 3. For example, first nodes 2c, 2d, and 2f may constitute the second node 3c.

[0040] <Hardware configuration> Fig. 3 is a hardware configuration diagram. As shown in Fig. 3, the terminal used by the user to save data has a control unit 91, a storage unit 92, a communication unit 93, an input unit 94, and an output unit 95, which are used to perform the functions of each unit and each process. Peer 1 also includes a terminal such as that shown in Fig. 3.

[0041] The control unit 91 has a processor such as a CPU (Central Processing Unit) that can execute an instruction set, and controls the overall operation and processing of the distributed storage device (peer) by executing the distributed storage program of the present invention, the OS (Operating System), and other applications.

[0042] The memory unit 92 is a volatile memory such as a RAM (Random Access Memory) that can store an instruction set, or a non-volatile recording medium such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) that can record an OS and distributed storage programs, etc., and further stores data, etc. that the control unit 91 uses when executing processing based on a program.

[0043] The communication unit 93 controls communication with the network and inputs and outputs information.

[0044] The input unit 94 is an input device capable of input processing, such as a keyboard or a touch panel, and inputs operation requests from the user / provider to the control unit 91.

[0045] The output unit 95 is a display or the like, and displays the results of processing by the control unit 91, etc.

[0046] <Functional components> As shown in FIG. 3, the terminal used by the user to save data includes an acquisition unit 11, a reception unit 12, a determination unit 13, a presentation unit 14, a registration unit 15, and a setting unit 16.

[0047] <Data structure> 4 shows an example of the data configuration stored in the storage unit in this embodiment. The storage unit stores account attribute item weight information, account attribute numerical information, file attribute item weight information, file attribute numerical information, meta attribute item weight information, meta attribute numerical information, peer information, attribute feature information, etc.

[0048] A peer (terminal) that is a candidate for storage destination is associated with an account attribute. The account attribute is an attribute of a user who owns (possesses) the peer that is a candidate for storage destination and / or an attribute of the peer that is a candidate for storage destination (e.g., storage performance, energy efficiency, etc.). The attribute of a user who owns a terminal that is a candidate for storage destination can be information that the user inputs when registering account information (e.g., the user's nationality, country of residence, gender, age, organization, etc.).

[0049] The account attribute item weight information is information for calculating values ​​including the reliability of a peer (terminal) that is a candidate for storage destination and the ease of storage, and is information in which weights are associated with account attribute items as shown in Fig. 4(a). When a user registers account information (ACC), the information acquired by the acquisition unit 11 becomes attributes associated with a peer, and the items of that information (attribute) are account attribute items. The account attribute items include the user's nationality N, country of immigration (residence) I, gender S, age A, organization O, storage performance (network performance) P, etc., and are attribute items associated with a peer.

[0050] The acquisition unit 11 acquires information on account attribute items as attributes based on the registration of user account information. Storage performance (network performance) P is the size of the resource (storage capacity) provided, and the acquisition unit 11 acquires storage performance (network performance) P from device information and application setting information. The acquisition unit 11 acquires storage performance from data size and I / O, and network performance from latency, etc. The acquisition unit 11 also acquires the energy efficiency of the PC from the CPU type, etc.

[0051] In addition, administrators can set weights for each account attribute. Because weights can be freely set, it is possible to change the account attribute items that are emphasized, and adjust the account attribute items that are emphasized according to social conditions, etc.

[0052] The account attribute numerical information is information for calculating a value including the reliability of a peer (terminal) that is a candidate for storage destination and the ease of storage. As shown in FIG. 4(b), the account attribute information is information in which attributes associated with a peer and the numerical values ​​of those attributes are associated with account attribute items. An account attribute item includes multiple attributes. For example, if the account attribute item is nationality, it includes countries that can be considered as nationalities, such as Country A, Country B, etc. The determination unit 13 calculates the ACC value based on the attributes associated with the peer and tables such as those shown in FIGS. 4(a) and (b).

[0053] Furthermore, as shown in Figure 4(b), the same or different numerical values ​​are associated with each attribute. These numerical values ​​can be thought of as representing the reliability of that attribute. In addition, administrators can set the numerical values ​​of the attributes associated with peers. Since the numerical values ​​of attributes can be set freely, different numerical values ​​can be set for each attribute.

[0054] When a user saves data, the user who wishes to save the data may input desired storage account attributes of the destination where the user wishes to save the data. Specifically, the user inputs attributes corresponding to account attributes associated with the peer to specify the desired storage destination attributes. For example, if the user wishes to save data on a device owned by a person residing in Japan, the user inputs "Japan" as the desired storage account attributes. The desired storage account attributes may also include information about the data to be saved.

[0055] File attribute (also called desired save account attribute) item weight information is information used to calculate a numerical value for determining the save destination of the user's desired data, and is information in which weights are linked to file attribute items, as shown in Figure 4(c). File attribute items are information (attributes) items that the user can optionally input when saving data (files (FIL)).

[0056] The information that a user voluntarily inputs when saving data (desired save account attributes) is the attribute of the destination where the user wishes to save data (for example, attributes linked to peers related to the country to which the user who owns the device that is a candidate for the destination belongs (resides or moves to) or the organization to which the user belongs) and / or information about the data (file) itself (for example, file type, etc.). File attribute items include the nationality n of the user who owns the device (peer) that is a candidate for the destination, the country i of the user who owns the device, the file type f of the file to be saved, the gender s of the user who owns the device, the age a of the user who owns the device, the organization o to which the user who owns the device belongs (uses), tags t, etc., and are items of attributes of the destination where the user wishes to save data or items of attributes related to the data to be saved by the user.

[0057] In addition, administrators can set weights for each file attribute item. Because weights can be freely set, it is possible to change which file attribute items are emphasized, and to adjust which file attribute items are emphasized according to social conditions, etc. The weights for each file attribute item may be the same as or different from the weights for each account attribute.

[0058] As shown in Figure 4(d), file attribute numerical information is information used to calculate a numerical value for determining the destination where the user wants to save data. The numerical value of the file attribute information is information that links the attributes of the destination where the user wants to save data (for example, the attributes of the user who owns the destination device (peer), attributes related to the destination device (peer), etc.) and the numerical value of that attribute to the file attribute item. A file attribute item includes multiple attributes. For example, if the file attribute item is the country of origin, a peer (terminal) owned by a user residing in country A, country B, etc. may belong to (be located in) that country. The numerical value of the file attribute may be the same as or different from the numerical value of the account attribute.

[0059] Furthermore, as shown in FIG. 4(d), the same or different numerical values ​​are associated with each attribute. These numerical values ​​may represent the reliability of the attribute, etc. Furthermore, an administrator or the like can set the numerical values ​​of the attributes. Since the numerical values ​​of the attributes can be freely set, different numerical values ​​can be set for each attribute. The determination unit 13 calculates the FIL value based on the information (attributes, etc.) received from the user who wishes to save data and the tables shown in FIGS. 4(c) and (d).

[0060] Meta attributes are attributes that are identified from information about the device of the user who wishes to save data. For example, when a user saves data, the country is identified from GPS information of the device used to save the data, and this is used as a meta attribute.

[0061] The meta attribute item weight information is information for calculating the reliability of a user who wishes to store data, and is information in which weights are associated with meta attribute items, as shown in FIG. 4(e). The meta attribute items are items of meta (MET) information (attributes) related to a user terminal (the terminal of a user who wishes to store data). The meta attribute items include information on the country where the terminal is located, identified from the IP address ip and / or GPS information gp of the user terminal, information on the file format ff of files stored in the terminal, and information on the country of origin of the terminal, identified from the IMEI (International Mobile Equipment Identity) im of the user terminal, and are items of user terminal attributes (also called meta attributes) identified from the meta information related to the user terminal. The meta attributes may also include the storage performance and energy efficiency of the PC.

[0062] Alternatively, specific IP addresses, GPS information, and IMEIs may be stored in the storage unit as a blacklist or whitelist. This makes it possible to prevent the storage of data from devices associated with specific IP addresses, etc. Alternatively, specific numerical values ​​may be stored in the storage unit as blacklists, and the determination unit 13 may compare the numerical values ​​associated with countries identified from IP addresses to prevent the storage of data from users in countries with those numerical values. Furthermore, a specific threshold may be stored in the storage unit, and the determination unit 13 may compare the numerical values ​​associated with countries identified from IP addresses to prevent the storage of data from users in countries with numerical values ​​below that threshold.

[0063] In addition, administrators can set weights for each meta attribute. Because weights can be freely set, it is possible to change which meta attribute items are emphasized, and adjust which meta attribute items are emphasized according to social conditions, etc.

[0064] Furthermore, the meta attribute items may include AI adjustments (AI). This value may represent the reliability of the user device calculated by AI (Artificial Intelligence). This value may be calculated using meta attributes (user device attributes) identified from the user device's IP address, GPS information, etc., and previously collected information, etc.

[0065] The meta attribute numerical information is information for calculating the reliability of a user who wishes to save data, and is information in which meta attributes (user terminal attributes) and the numerical values ​​of those attributes are linked to meta attribute items, as shown in Figure 4(f). A meta attribute item includes multiple attributes. For example, if the meta attribute item is an IP address, it includes countries that may have jurisdiction over the IP address, such as Country A, Country B, etc. By using the IP address and GPS information, the country in which the user terminal is located (meta attribute (user terminal attribute)) can be obtained. The determination unit 13 calculates the MET value based on information (attributes, etc.) identified from information on the terminal of the user who wishes to save data and tables such as those shown in Figures 4(e) and (f).

[0066] Furthermore, as shown in Figure 4(f), the same or different numerical values ​​are associated with each attribute. These numerical values ​​can be thought of as representing the reliability of that attribute. In addition, administrators can set the numerical values ​​of attributes. Since the numerical values ​​of attributes can be set freely, different numerical values ​​can be set for each attribute.

[0067] 5(a), the peer information includes a peer ID and attributes (account attributes) associated with the peer, and is managed by the peer ID. When a user registers account information, the acquisition unit 11 acquires information such as the user's nationality N, country of immigration I, gender S, age A, organization O, and storage performance (network performance) P, and stores the information in the storage unit as peer attributes associated with the peer ID.

[0068] Attribute feature information is information in which attributes and feature attributes are linked to account attribute items, as shown in Figure 5(b). Feature attributes are attributes of the characteristics that an attribute possesses. For example, if an attribute is a country, a feature attribute of that country could be whether it is a liberal state or an illiberal state. Also, if an attribute is an organization, a feature attribute of that organization could be whether it is an anti-social force, whether it is actively working to protect the environment, whether it promotes inhumane acts, etc.

[0069] <Associating attributes with peers> 6 is a flowchart of the process in this embodiment. First, in step S601, the acquisition unit 11 acquires account information registered by a user as attributes of a peer, and stores it in the storage unit as shown in FIG.

[0070] Specifically, the acquisition unit 11 acquires information (account information) entered by a user who provides a terminal (peer) as a data storage destination when registering an account, and stores the account information in the memory unit, linking it to the peer as an attribute of the peer.

[0071] <Data acceptance> In step S602, the receiving unit 12 receives, via the user terminal, data to be saved and attributes of data for which the user wishes to save the data. The receiving unit 12 may receive a plurality of attributes as attributes for which the user wishes to save the data.

[0072] Specifically, the receiving unit 12 receives information about data input by a user who wishes to save data, account attributes to be saved including attributes for which the user wishes to save data (account attributes linked to a peer), and the like. Some users may not want to save the data they save in a peer (terminal) owned by a specific person (user). Also, some users may want to save the data they save in a peer (terminal) owned by a specific person (user). For example, the receiving unit 12 receives attributes that the user wishes to use as a data saving destination via the user terminal, and can present peers linked to the received attributes (account attributes to be saved) as candidates for saving destinations.

[0073] In addition, some users may want to quickly determine a destination for the data they want to save. By specifying (inputting) an attribute that is likely to be associated with a peer (for example, an attribute indicating a large population), it may be possible to quickly determine the destination. In this case, a user who wishes to save data may input, via a user terminal, the attributes of a user who is likely to own the terminal as the attributes of the desired destination.

[0074] The acquisition unit 11 may also acquire meta information (meta attributes (user terminal attributes)) related to the user terminal. The acquisition unit 11 may acquire the IP address ip and / or GPS information gp of the user terminal at the timing when the user saves data, and identify information related to the country from the acquired information. In this way, it is possible to determine, based on the IP address and / or GPS information, what type of user is trying to save data, and in what country the terminal is located when trying to save data.

[0075] <Determining the save destination> In step S603, the determination unit 13 determines a destination from among a plurality of peers based on the attributes of the peers (account attributes linked to the peers) and the attributes (desired destination account attributes) (desired destination to save data) received (in S602). Specifically, the determination unit 13 determines a destination from among a plurality of peers that are candidates for the destination to save data based on the account attributes linked to the peers that are candidates for the destination to save data and the desired destination account attributes (file attributes) that include the attributes of the destination where the user who desires to save data wishes to save the data.

[0076] The determination unit 13 compares the received desired storage account attributes with account attributes linked to peers that are candidate storage destinations, and determines candidate storage destinations from among the candidate peers for data storage. The determination unit 13 refers to attributes linked to peers based on the desired storage account attributes of the storage destination where the user wishes to store the data received by the reception unit 12 from the user, and determines, as a candidate storage destination, a peer that is linked to the attributes (desired storage account attributes) received from the user who wishes to store the data.

[0077] For example, if the receiving unit 12 receives a country of residence "Country A" and an organization "University A" as attributes of the destination where the user wishes to save data (attributes of the user who owns the peer (terminal) of the destination), the determining unit 13 determines that the destination is a peer linked to the country of residence "Country A" and the organization "University A" as attributes of the user who owns the terminal (account attributes linked to the peer). In this way, the user who wishes to save data can determine the destination where the data should be saved based on the attributes of the user who owns the terminal of the destination.

[0078] The determination unit 13 may determine a storage destination from multiple peers based on the attributes of the peers (account attributes associated with the peers), the received attributes (save-desired account attributes), and meta attributes (user terminal attributes) identified from information about the user terminal of the user desiring to store data. For example, consider a case where "currently in conflict with country E" is associated as a characteristic attribute of the attribute: Country A. In this case, if the reception unit 12 receives the country of residence "Country A" as an attribute of the storage destination where the user desires to store data, and the acquisition unit 11 acquires from GPS information as a meta attribute (user terminal attribute) that the terminal of the user desiring to store data is located in "Country E," the determination unit 13 may use the characteristic attribute that countries A and E are in conflict to determine that someone from country E is attempting to store malicious data in a peer located in country A, and determine that country A cannot be a storage destination.

[0079] The determination unit 13 may determine the storage destination based on a numerical value and / or weight associated with the attribute set by an administrator or the like (for example, a preset table, etc.). The determination unit 13 may determine the storage destination from multiple peers based on the peer's attribute (account attribute associated with the peer), the received attribute (save-desired account attribute), and the weight associated with the attribute item. Specifically, the determination unit 13 determines the storage destination by comparing an ACC value calculated based on the peer's attribute (account attribute associated with the peer) and the weight associated with the account attribute item with a FIL value calculated based on the received attribute (save-desired account attribute) and the weight associated with the file attribute item (save-desired account attribute).

[0080] The numerical value associated with the attribute may be a numerical value that is set independently by an administrator or the like, or may be a numerical value that is standardized based on a certain index.

[0081] The weights (contribution rates) associated with attributes can be set independently by an administrator, etc. The administrator, etc. may set weights according to social conditions, etc. For example, if semiconductor prices rise, the administrator, etc. may increase the weight of storage performance, and if international conditions become more prominent, the administrator, etc. may increase the weight of country of residence. Furthermore, the determination unit 13 may use a pre-trained learning model to determine which items are important. Furthermore, the determination unit 13 may use a pre-trained learning model to determine which weights are appropriate.

[0082] For example, the determination unit 13 calculates the ACC value using equation (1) and the FIL value using equation (2). The determination unit 13 determines the storage destination based on the relative relationship (relative value) between the ACC value and the FIL value. Specifically, if the FIL value is within a reasonable range of the ACC value or is equal to or greater than a specific threshold, the determination unit 13 determines the peer with that ACC value to be a good or optimal storage destination. For example, if the FIL value is equal to or greater than 60% of the ACC value but less than the ACC value, the determination unit 13 determines the peer with that ACC value to be a good storage destination. Alternatively, if the FIL value is equal to or greater than the ACC value, the determination unit 13 may determine the peer with that ACC value to be the optimal storage destination. The reasonable range and the specific threshold can be independently set by an administrator or the like.

[0083]

number

number

[0084] The determination unit 13 may determine a storage destination from among multiple peers based on the attributes of the peers (account attributes linked to the peers), the received attributes (account attributes desired to be saved), meta attributes (user terminal attributes), and weights linked to the attribute items. Specifically, the determination unit 13 determines a storage destination by comparing the ACC value, the FIL value, and the MET value calculated based on the weights linked to the meta attribute (user terminal attribute) items.

[0085] The determination unit 13 calculates the MET value using, for example, equation (3), and further calculates the sum of the FIL value and the MET value. The determination unit 13 determines the storage destination based on the relative relationship (relative value) between the ACC value and the sum. Specifically, if the sum is within a reasonable range of the ACC value, the determination unit 13 determines the peer with that ACC value to be a good or optimal storage destination. For example, if the sum is more than 60% of the ACC value but less than the ACC value, the determination unit 13 determines the peer with that ACC value to be a good storage destination. Alternatively, if the sum is equal to or greater than the ACC value, the determination unit 13 may determine the peer with that ACC value to be the optimal storage destination.

[0086]

number

[0087] The determination unit 13 calculates a numerical value (at least one of the ACC value, FIL value, and MET value) based on information (attributes, etc.) received from the user who wishes to save data, information (attributes, etc.) linked to peers that are candidate storage destinations, information (attributes, etc.) related to the terminal of the user who wishes to save data, and tables (numerical values, weights, thresholds, etc.) uniquely set by an administrator, etc., such as those shown in Figures 4(a) to (f), and determines where to save the data.

[0088] The higher the ACC value, the more reliable the storage destination. Administrators can adjust the ACC value by setting the weights of account attribute items and attribute values. This allows for adjustments to increase the ACC value of highly reliable storage destinations in accordance with social conditions, etc. Also, the value may be relative. For example, if the average ACC value of a node consisting of 100 peers is 100, a peer in that node with an ACC value of 20 can be said to be unreliable. On the other hand, if the average ACC value of a node consisting of 100 peers is 10, a peer in that node with an ACC value of 20 can be said to be highly reliable.

[0089] The higher the FIL value, the more reliable the storage destination is desired. The administrator can adjust the FIL value by setting the weight of the file attribute items and the attribute values.

[0090] The higher the MET value, the higher the reliability of the user who wishes to save the data, and the weights and attribute values ​​of the meta attribute items may be set so as to increase the reliability of the data to be saved.

[0091] The higher the MET value, the more reliable the data will be. Administrators can adjust the MET value by setting the weights of meta attribute items and attribute values. This allows for adjustments to increase the MET value of highly reliable user data, depending on social conditions, etc. For example, it is possible to set the attribute values ​​of countries that are likely to store malicious data (such as countries that have previously carried out nation-state cyber attacks) to 0 or less (negative). This will lower the MET value, and the total of the FIL value and MET value will also be low, preventing data from being stored in destinations with high ACC values.

[0092] The determination unit 13 may determine the degree of data concentration at peers that are candidate storage destinations. Because data can be stored in a destination desired by the user, there is a high possibility that a popular peer (where data is concentrated) will be selected as a storage destination. When a user attempts to obtain data stored in a popular peer, access to the data may be impaired (making it difficult to obtain). Therefore, in order to prevent poor access to the peer, the determination unit 13 may not determine a peer where a lot of data is concentrated (popular) as a storage destination. Specifically, the storage unit stores history information on data previously saved, and the determination unit 13 determines the degree of data concentration based on the history information.

[0093] Furthermore, the determination unit 13 may determine a peer with an ACC value that satisfies formula (4) as a storage destination. If there is no peer with an ACC value that satisfies formula (4), the determination unit 13 determines a peer with the highest ACC value as a storage destination. If there is no peer with an ACC value that satisfies formula (4), the determination unit 13 may determine that there is no storage destination. The administrator or the like may set the values ​​of δ1 and / or δ2 as appropriate. For example, the administrator or the like may set them as appropriate depending on social conditions, etc.

[0094]

number

[0095] The reliability of the destination peer and the ease of saving data vary depending on the attributes of the user who owns the destination peer. The higher the ACC value, the more reliable the device (peer) is as a destination. Furthermore, a value or weight that makes saving data easier may be set by linking it to the account attributes.

[0096] For example, economically wealthy countries are more likely to spend money on security and are therefore more trustworthy. Furthermore, attributes with a larger population mean a larger number of people owning terminals, making it easier to store data in a peer associated with that attribute. Therefore, the determination unit 13 can determine a storage destination based on user attributes (account attributes) while taking into consideration the reliability of the storage destination and the ease of storage.

[0097] It is possible to associate a numerical value or weight with a meta attribute so that the higher the MET value, the higher the trustworthiness of the user who wishes to store data (the safety of the stored data). Data stored by untrustworthy users may contain viruses, etc., and storing data in the same storage location as data stored by untrustworthy users carries the risk of virus infection. Therefore, a peer where only highly trustworthy users store data is considered to be a highly trustworthy storage location.

[0098] In addition, the range of values ​​associated with attributes may be normalized to 0 to 1. The range of values ​​associated with account attributes, desired-to-save account attributes (file attributes), and meta attributes may be normalized to 0 to 1. Also, the range of values ​​associated with only one of account attributes, desired-to-save account attributes, and meta attributes may be normalized. The normalization index and range of values ​​are not limited.

[0099] Furthermore, the numerical values ​​of the same attribute corresponding to the account attribute, the desired-to-save account attribute, and the meta attribute may be the same or different.

[0100] 7 shows an example of the data structure stored in the storage unit in this embodiment. As shown in FIGS. 7(a) to 7(c), the storage unit may store normalized values. The determination unit 13 may calculate the ACC value, the FIL value, and the MET value based on the normalized values ​​stored in the storage unit.

[0101] Also, as shown in Figure 7(d), the memory unit may store normalization rules for normalizing numerical values, and the judgment unit 13 may calculate numerical values ​​based on statistical data such as GDP and population stored in the memory unit and the normalization rules stored in the memory unit.

[0102] Specifically, upper and lower limits for the values ​​associated with an attribute are set, and an index (such as money or population) is determined. Then, using the index, a certain attribute in the item is used as the standard (upper or lower limit value), and values ​​for other attributes are determined by proportional calculations based on the index.

[0103] For example, developed countries are more likely to be democratic and therefore more likely to be good storage destinations. Therefore, it is possible to standardize using money as an indicator to determine whether a country is developed.

[0104] For example, we can use each country's GDP (Gross Domestic Product) as an index to normalize figures related to nationality, country of residence, etc. The number one GDP country in the world is set to 1, and proportional calculations are made using the GDP of other countries to determine the figures for other countries. The United States (27,966,553 million dollars), which has the world's number one GDP in a given year, could be set to 1, with China (18,560,013 million dollars) at 0.664, Germany (4,700,875 million dollars) at 0.168, and Japan (4,286,187 million dollars) at 0.153.

[0105] Additionally, for example, the figures for each organization (e.g., company, university, etc.) can be standardized using the budget of the organization as an index. The figure for the organization with the largest budget is set to 1, and the budgets of the other organizations are used to perform proportional calculations to determine the figures for the other organizations.

[0106] For example, it is possible to use the storage rate and free storage capacity to calculate the numerical value of storage performance. The average free storage price in the country where the user who owns the terminal resides is used to calculate the average free storage price in that country, and a proportional calculation is performed using the free storage prices of terminals (peers) that are candidate storage destinations, to determine the numerical value of the terminal's storage performance.

[0107] Also, for example, the energy efficiency of a standard PC is set to 1, and a proportional calculation is performed using the energy efficiency of the terminal to determine the numerical value of the energy efficiency of the terminal. By storing the energy efficiency according to the type of CPU in the storage unit, the acquisition unit 11 can acquire the type of CPU of the terminal (peer) that is a candidate for the storage destination and calculate the numerical value of the energy efficiency.

[0108] In addition, since there is a high possibility that attributes corresponding to users with a large population are linked to peers, it is conceivable to set the numerical value of attributes corresponding to users with a large population high in order to quickly determine the storage destination. Therefore, it is conceivable to normalize using population as an index.

[0109] For example, the total population of the country where the user who owns the terminal (peer) lives is set to 1, and the values ​​related to gender are normalized. If the total population of Japan in a certain year is 126,925,843, with a male population of 62,110,764 and a female population of 64,815,079, the value for men is set to 0.489 and the value for women to 0.511.

[0110] Furthermore, for example, statistical data for the user's country of residence is used to normalize the numerical value related to the age of a user who owns a terminal (peer). Using the population by age in the user's country of residence, for example, the most populous age is set to 1, and proportional calculations are performed to normalize the numerical values ​​for the other ages. If the population of Japan is divided into five-year age groups, the 45-49 age group is the most populous at 9.56 million, so the numerical value is set to 1, the 70-74 age group is 8.86 million, so the numerical value is set to 0.927, the 20-24 age group is 5.89 million, so the numerical value is set to 0.616, and the 25-29 age group is 6.07 million, so the numerical value is set to 0.635.

[0111] Therefore, for example, the ACC values ​​for a device belonging to a 47-year-old male residing in Japan are 0.153 (country of residence: "Japan"), 0.489 (gender: "male"), and 1 (age: "45-49") added.

[0112] Furthermore, any number of attributes may be associated with a peer (storage destination), and the determination unit 13 can calculate the ACC value using equation (5). The ACC value is defined as ACC(x), and l is the number of attributes. Furthermore, p^k(x) is an account attribute, for example, p^1(x) is nationality, p^2(x) is country of residence, etc. Furthermore, α_k is a weight (contribution rate) corresponding to the account attribute.

[0113]

number

[0114] Furthermore, if there is a correlation between attributes (account attributes) related to peers that are candidates for storage destinations, an ACC value that reflects that correlation may be defined, as in formula (6). For example, since a user with Japanese nationality is likely to co-reside in Japan, in formula (6), there is a correlation between the nationality of p^1(x) and the country of residence of p^2(x).

[0115]

number

[0116] Furthermore, the FIL value and the MET value may be calculated in the same manner as in the formula (5) and the formula (6).

[0117] <Recommendation of storage destinations> In step S604, the presenting unit 14 presents peers that are candidates for storage destinations based on the result of the determination. The presenting unit 14 may present multiple peers. Furthermore, if the user specifies multiple attributes as attributes of the destination where the user wishes to store data, there may be only one matching peer or no matching peers. If there is only one matching peer, the presenting unit 14 presents one of them, and if there is no peer, the presenting unit 14 may present this information. Furthermore, for data determined to be malicious, the presenting unit 14 may present information that the data cannot be stored in a peer with the desired attribute.

[0118] <Data registration> In step S605, the registration unit 15 accepts the selection of the presented (recommended) peer via the user terminal and stores the data in the selected peer. By selecting the presented peer, the user can select a storage destination according to his / her preference, and can store the data in the desired storage destination.

[0119] <Determining the first node to save to> The receiving unit 12 receives characteristic attributes of the destination where the user wishes to store the data. For example, the receiving unit 12 receives the nationality "liberal nation" and the organization "university" as characteristic attributes.

[0120] The determination unit 13 determines a storage destination from multiple first nodes based on the attributes of the first node (account attributes linked to the node) and the received attributes (attributes of the account desired to be saved). If the reception unit 12 receives the nationality "liberal nation" and the affiliated organization "university" as characteristic attributes, the determination unit 13 determines the first node linked to the liberal nation and the university as the storage destination. Because the first node is composed of multiple peers linked to common attributes, many attributes are not linked. Therefore, determining the first node as the storage destination can be done in a shorter time than determining a peer. When it is desired to find a storage destination in a short time, it is preferable for the user to search for the first node as the storage destination. When the storage destination is the first node, for example, a specific group (university, etc.) in a liberal nation can be searched for as the storage destination.

[0121] The determination unit 13 may determine a destination peer from among the selected first nodes based on the attributes of the peer. For example, the determination unit 13 may determine a peer with the highest ACC value among the selected first nodes as the destination peer.

[0122] The presentation unit 14 presents first nodes that are candidates for storage destinations based on the result of the determination. The presentation unit 14 may present a plurality of first nodes.

[0123] The registration unit 15 accepts the selection of the first node recommended via the user terminal and stores the data in the peer that constitutes the selected first node. By selecting the first node recommended, the user can select a storage destination that suits their own preferences and store the data.

[0124] <Determining the second node to save to> The receiving unit 12 receives a characteristic attribute of the destination where the user wishes to store the data. For example, the receiving unit 12 receives the nationality of "liberal nation" as a characteristic attribute.

[0125] The determination unit 13 determines a storage destination from multiple second nodes based on the attributes of the second node (account attributes linked to the node) and the received attributes (desired storage account attributes). If the reception unit 12 receives the nationality "liberal nation" as a characteristic attribute, the determination unit 13 determines the second node linked to the liberal nation as the storage destination. Because the second node is composed of multiple first nodes linked with common attributes, many attributes are not linked. Therefore, the determination unit 13 can determine the second node as the storage destination in a shorter time than when determining the first node or a peer. If a user wants to find a storage destination in a shorter time, it is preferable for the user to search for the second node as the storage destination. For example, if any organization belonging to a liberal nation is acceptable as the storage destination, the user may consider searching for the second node as the storage destination.

[0126] The determination unit 13 may determine a destination peer from among the selected second nodes based on the attributes of the peer. For example, the determination unit 13 may determine a peer with the highest ACC value among the selected second nodes as the destination peer.

[0127] The presentation unit 14 presents second nodes that are candidates for storage destinations based on the determination result. The presentation unit 14 may present a plurality of second nodes.

[0128] The registration unit 15 accepts the selection of the presented (recommended) second node via the user terminal and stores the data in the peer that constitutes the selected second node. By selecting the presented second node, the user can select a storage destination that suits their own preferences and store the data.

[0129] <Setting weights and values> The setting unit 16 accepts weights as numerical values ​​and links the numerical values ​​to attribute items (account attribute items, file attribute items, meta attribute items, etc.). The setting unit 16 also accepts numerical values ​​of attributes and links the numerical values ​​to attributes (for example, nationality "Country A", immigration country "Country B", gender "female", age "40s", affiliated organization "University C", etc.). Specifically, the setting unit 16 accepts the weights of attribute items and the numerical values ​​of attributes via a terminal owned by an administrator or the like.

[0130] <Storage without suggesting (recommending) a storage location> The reception unit 12 may receive a selection of whether or not to present (recommend) a storage destination via the user terminal. When the reception unit 12 receives a selection of whether or not to present (recommend) a storage destination via the user terminal, the process of presenting candidates for storage destination in step S604 is not performed.

[0131] If there is no process for presenting candidate storage destinations, the registration unit 15 stores the data in the storage destination based on the result of the determination by the determination unit 13. For example, the registration unit 15 may randomly select a storage destination from among the candidate peers and store the data therein. Alternatively, the registration unit 15 may determine a storage destination from among multiple peers based on attributes, and store the data in the peer with the highest ACC value among the determined multiple peers. Alternatively, the registration unit 15 may determine a storage destination from among multiple peers based on attributes, and store the data in the peer with the lowest data concentration among the determined multiple peers.

[0132] As described above, the configuration of the present invention can provide a new technique for presenting a storage destination for data that is distributed and stored. [Explanation of symbols]

[0133] 0 Distributed Storage System 1(1a~1f) Pier 11 Acquisition Department 12 Reception 13 Judgment section 14 Presentation part 15 Registration Department 16 Setting section 2(2a~2j) 1st node 3(3a, 3b) Second node

Claims

1. A distributed storage system that stores data in a distributed manner through P2P communication, the distributed storage system includes a plurality of peers, a reception unit, a determination unit, a presentation unit, and a registration unit; The peer is associated with an account attribute including attributes of a user who owns the peer and attributes related to the peer; the receiving unit receives, via a user terminal, data to be saved and desired account attributes of a save destination where the user who wishes to save the data wishes to save the data; the determination unit compares the desired storage account attribute with the account attribute associated with the peer, and determines candidates for storage destinations from the plurality of peers; the presenting unit presents peers that are candidates for storage destinations based on the result of the determination; the registration unit accepts selection of the presented peers via the user terminal and stores the data in the selected peers. Distributed storage system.

2. the determination unit compares the account attribute, the desired storage account attribute, and a meta attribute specified from information related to the user terminal of the user who desires to store the data, and determines a storage destination from among the plurality of peers; The distributed storage system according to claim 1 .

3. Attribute items that contain multiple attributes are assigned weights, the determination unit determines a storage destination from the plurality of peers based on the account attribute, the desired storage account attribute, the meta attribute, and a weight associated with the attribute item. The distributed storage system according to claim 2 .

4. The distributed storage system includes a setting unit, The setting unit receives the weight as a numerical value and associates the numerical value with the attribute item. The distributed storage system according to claim 3 .

5. The distributed storage system includes a plurality of nodes each consisting of a plurality of peers, the determination unit determines a storage destination from the plurality of nodes based on an account attribute associated with the node and the storage desired account attribute; the presentation unit presents nodes that are candidates for storage destinations based on the result of the determination; the registration unit accepts selection of the presented node via the user terminal and stores the data in the selected node.

5. The distributed storage system according to claim 1.

6. the determination unit determines a destination peer from among the selected nodes based on an account attribute associated with the peer; the registration unit stores the data in the peer based on the result of the determination. The distributed storage system according to claim 5 .

7. the determination unit determines the reliability of the user who desires to save the data based on the meta attribute.

5. The distributed storage system according to claim 2.

8. A distributed storage method executed by a distributed storage system that distributes and stores data through P2P communication, comprising: the distributed storage system includes a plurality of peers, a reception unit, a determination unit, a presentation unit, and a registration unit; The peer is associated with an account attribute including attributes of a user who owns the peer and attributes related to the peer; the receiving unit receiving, via a user terminal, data to be saved and desired save account attributes of a save destination where the user who wishes to save the data wishes to save the data; the determination unit comparing the desired storage account attribute with the account attribute associated with the peer, and determining a storage destination candidate from the plurality of peers; the presenting unit presenting peers that are candidates for storage destinations based on the result of the determination; the registration unit receiving a selection of the presented peers via the user terminal and storing the data in the selected peers; Distributed storage method.

9. A distributed storage program for distributing and storing data through P2P communication, A computer is configured to function as a plurality of peers, a reception unit, a determination unit, a presentation unit, and a registration unit; The peer is associated with an account attribute including attributes of a user who owns the peer and attributes related to the peer; the receiving unit receives, via a user terminal, data to be saved and desired account attributes of a save destination where the user who wishes to save the data wishes to save the data; the determination unit compares the desired storage account attribute with the account attribute associated with the peer, and determines candidates for storage destinations from the plurality of peers; the presenting unit presents peers that are candidates for storage destinations based on the result of the determination; the registration unit accepts selection of the presented peers via the user terminal and stores the data in the selected peers. Distributed storage program.

Citation Information

Patent Citations

  • Distributed storage system

    JP2009157437A

  • Communication control device, communication control method, and computer program

    JP2018156606A

  • Encryption key management for international data residency

    JP2022013554A

  • Retrieval processing system for index record

    JP1983050044A