A computer program product comprising computer program code stored in a non-transitory computer-readable medium readable by a computer, said computer program product used for processing data and information in a network comprising nodes, a communication structure of routers/switches and communication links provide communicative interconnections between the nodes, said computer program code comprising computer instructions to cause one or more computer processors to perform the following operations:
- receiving, in each of a number of collecting nodes connected to the communication structure;
- data from multiple data sources;
- processing, in each of said number of collecting nodes, the received data to generate a number of meta data blocks reflecting information about the content of the received data, the information relating to at least one object of interest represented by the content;
- dividing, in each of said number of collecting nodes, the received data into data chunks of a respective predefined size;
- encrypting, in each of said number of collecting nodes, each meta data block with a private key of the collecting node to generate encrypted meta data blocks;
- encrypting, in each of said number of collecting nodes, each data chunk with a public key of the network to generate encrypted data chunks;
- and
- sending out, from each of said number of collecting nodes, the encrypted data chunks and the encrypted meta data blocks over the communication structure, each encrypted data chunk being sent out with a link to the encrypted meta data block generated therefrom;
- receiving, in each of a number of fusion nodes connected to the communication structure, the encrypted data chunks and the encrypted meta data blocks via the communication structure;
- decrypting, in each of a number of fusion nodes, the received encrypted meta data blocks to generate respective decrypted meta data blocks;
- processing, in each of a number of fusion nodes, the decrypted meta data blocks to check for instances where the information reflected by at least two decrypted meta data blocks fulfills a fusion criterion with respect to an object of interest;
- and fusing the information reflected by said at least two meta data blocks to generate a new meta data block with information relating to the object of interest represented by the content of the at least two encrypted data chunks based on which the new meta data block was generated;
- encrypting, in each of a number of fusion nodes, the new meta data block to generate an encrypted new meta data block;
- sending out, from each of said number of fusion nodes, the encrypted new meta data block over the communication structure;
- receiving, in each of a number of data storage nodes connected to the communication structure, the encrypted data chunks and the encrypted meta data blocks from the communication structure;
- storing, in each of said number of data storage nodes, in a database, copies of the encrypted meta data blocks and at least a part of the encrypted data chunks, the copies of the encrypted meta data blocks being stored in response to instructions from the information processor of a fusion node that is associated with the data storage node, said instructions being such that an information structure is created wherein:
- each object of interest is represented by one block chain of encrypted meta data blocks in which all the encrypted meta data blocks relate to the same object of interest;
- a respective copy of an encrypted meta data block that relates to two or more objects of interest is included in each block chain of encrypted meta data blocks relating to said two or more objects of interest;
- and
- a first received encrypted meta data block being related to a particular combination of objects of interests represented by two or more previously stored block chains of encrypted meta data blocks constitutes a joint between said two or more previously stored block chains of encrypted meta data blocks;
- sending out, from each of said number of data storage nodes, a description of the information structure over the communication structure;
- receiving, in a user interface arranged in communicative connection with the information processor of at least one of said fusion nodes, a search query;
- forwarding the search query from the user interface to the information processor;
- receiving the search query in the information processor, and in response thereto
- retrieving information from a database in at least one of said data storage nodes;
- forwarding the retrieved information to the user interface;
- receiving, in the user interface, the retrieved information;
- and
- presenting the retrieved information;
- encrypting, in each of a number of fusion nodes, any new meta data block with a private key of the fusion node to generate an encrypted new meta data block;
- sending, from each of said number of fusion nodes, out the encrypted new meta data blocks over the communication structure;
- receiving, in each of a number of fusion nodes, encrypted new meta data blocks from at least one other fusion node via the communication structure;
- processing, in each of a number of fusion nodes, the received encrypted meta data and the received encrypted new meta data blocks such the database of a data storage node or an information structure storage node that is associated with the fusion node is instructed to store a copy of an encrypted meta data block or an encrypted new meta data block only when there exists no earlier copy of the encrypted meta data block or the encrypted new meta data block in said database;
- performing, in each of a number of fusion nodes, a validity check of the received encrypted meta data blocks and the received encrypted new meta data blocks in connection with instructing the information structure storage nodes to store a copy of an encrypted meta data block or an encrypted new meta data block;
- and
- when the validity check is passed,
- instructing the fusion node to store a copy of an encrypted meta data block or encrypted new meta data;
- and
- when the validity check fails,
- instructing an originating fusion node from which the encrypted meta data block was sent out to correct the database of the data storage node associated with the originating fusion node.